(57)【要約】      （修正有）【課題】シリアルデバイスを構成するためのシステム、方法、回路、デバイス及びコンピュータ可読媒体を提供する。【解決手段】デバイスが、シリアルバスからの第１及び第２の要求を受け取るための入力部と、入力部に結合され、第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定するように構成されたデコーダと、デコーダに結合されたコントローラとを備える。コントローラは、第１の要求が構成モード要求であるとの判定に応答して、シリアルバスから取得した構成データを構成ブロックにプログラムし、構成データに従ってデバイスの挙動を変化させ、第２の要求が構成モード要求ではないとの判定に応答して、第２の要求に従ってデバイスに対する１又は複数の動作を実行する。【選択図】図３
2016143422.tif 000002
【特許請求の範囲】
【請求項１】
シリアルバスからの第１及び第２の要求を受け取るための入力部と、
前記入力部に結合され、前記第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定するように構成されたデコーダと、
前記デコーダに結合されたコントローラと、
を備えたデバイスであって、
前記コントローラは、
前記第１の要求が構成モード要求であるとの判定に応答して、前記シリアルバスから取得した構成データを構成ブロックにプログラムし、前記構成データに従ってデバイスの動作を変更し、及び、
前記第２の要求が構成モード要求ではないとの判定に応答して、前記第２の要求に従って前記デバイスに対する１又は複数の動作を実行するように構成される、デバイス。
【請求項２】
前記構成ブロックを含むメモリアレイをさらに備え、前記要求が構成要求でない場合、前記コントローラは、前記要求に従って前記メモリアレイに対する１つ又は複数のメモリ動作を実行する、請求項１に記載のデバイス。
【請求項３】
前記構成ブロックは、前記デバイスを構成するための第１の構成データを記憶するベース構成レジスタと、前記メモリアレイの１又は複数のメモリゾーンに対応する１又は複数の追加レジスタとをさらに含み、前記１又は複数の追加レジスタは、対応する前記１又は複数のメモリゾーンの書き込み保護スキームを規定する第２の構成データを記憶する、請求項２に記載のデバイス。
【請求項４】
供給電圧と、前記コントローラとに結合されたセンサをさらに備え、前記センサは、前記構成ブロック内の構成データに基づいて、前記デバイスの低電圧状態を感知するように構成される、請求項２に記載のデバイス。
【請求項５】
前記コントローラに結合された書き込み保護制御モジュールをさらに備え、前記書き込み保護制御部は、前記構成ブロック内の前記構成データに従って、前記メモリアレイに対する書き込み保護をアサートするように構成される、請求項２に記載のデバイス。
【請求項６】
前記構成ブロックは、前記シリアルバスを介して別のデバイスにデバイス状態をレポートするように構成される、請求項１に記載のデバイス。
【請求項７】
前記デバイス状態は、前記メモリアレイに対するメモリアクセス動作、誤り訂正動作、及び単調なカウンタを用いた全期間誤り訂正イベントのカウントのうちの少なくとも１つの状態を示す、請求項６に記載のデバイス。
【請求項８】
前記シリアルバスは、インター・インテグレイテッド・サーキット（Ｉ２Ｃ）バスプロトコルに準拠する、請求項１に記載のデバイス。
【請求項９】
デバイスの構成方法であって、
前記デバイスにより、シリアルバスからの第１及び第２の要求を受け取るステップと、
デコーダ回路により、前記第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定するステップと、
前記第１の要求が構成モード要求であるとの判定に応答して、前記デバイスのコントローラにより、前記シリアルバスから取得した構成データを構成ブロックにプログラムし、前記デバイスのコントローラにより、前記構成データに従って前記デバイスの動作を変更するステップと、
前記第２の要求が構成モード要求でないとの判定に応答して、前記デバイスのコントローラにより、前記第２の要求に従って１又は複数の動作を実行するステップと、
を含む方法。
【請求項１０】
前記デバイスのコントローラにより、前記要求に従って前記デバイスのメモリアレイに対する１又は複数のメモリ動作を実行するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記メモリアレイの前記構成ブロックのベースレジスタに、前記デバイスを構成するための第１の構成データを記憶し、前記メモリアレイの１又は複数のメモリゾーンに対応する前記デバイスの１又は複数の追加レジスタに、前記１又は複数のメモリゾーンの書き込み保護スキームを規定する第２の構成データを記憶するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記デバイスのセンサにより、前記デバイスの低電圧状態を判定するステップと、
前記デバイスのコントローラにより、前記構成ブロックにおける構成データを用いて前記デバイスに対する低電圧ロックアウトを実行するステップと、をさらに含む請求項１０に記載の方法。
【請求項１３】
前記構成ブロックは、前記シリアルバスを介して別のデバイスにデバイス状態をレポートするように構成される、請求項９に記載の方法。
【請求項１４】
前記デバイス状態は、メモリアクセス動作、誤り訂正動作、及び全期間誤り訂正イベントのカウントのうちの少なくとも１つの状態を示す、請求項１３に記載の方法。
【請求項１５】
前記デバイスの書き込み保護制御モジュールにより、前記構成ブロック内の構成データに従って、前記メモリアレイに対する書き込み保護をアサートするステップをさらに含む、請求項１０に記載の方法。
【請求項１６】
前記シリアルバスは、インター・インテグレイテッド・サーキット（Ｉ２Ｃ）バスプロトコルに準拠する、請求項９に記載の方法。
【請求項１７】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、デバイスの１又は複数のプロセッサによって実行された時に、前記デバイスの１又は複数のプロセッサに、
前記デバイスにより、シリアルバスからの第１及び第２の要求を受け取ることと、
デコーダ回路により、前記第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定することと、
前記第１の要求が構成モード要求であるとの判定に応答して、前記デバイスのコントローラにより、前記シリアルバスから取得した構成データを構成ブロックにプログラムし、前記デバイスのコントローラにより、前記構成データに従って前記デバイスの動作を変更することと、
前記第２の要求が構成モード要求でないとの判定に応答して、前記デバイスのコントローラにより、前記第２の要求に従って１又は複数の動作を実行することと、
を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記動作は、前記デバイスのコントローラにより、前記要求に従って前記デバイスのメモリアレイに対する１又は複数のメモリ動作を実行することをさらに含む、請求項１７に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記動作は、前記メモリアレイの前記構成ブロックのベースレジスタに、前記デバイスを構成するための第１の構成データを記憶し、前記メモリアレイの１又は複数のメモリゾーンに対応する前記デバイスの１又は複数の追加レジスタに、前記１又は複数のメモリゾーンの書き込み保護スキームを規定する第２の構成データを記憶することをさらに含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記デバイスのセンサにより、前記デバイスの低電圧状態を判定することと、
前記デバイスの１又は複数のプロセッサにより、前記構成ブロックにおける構成データを用いて前記デバイスに対する低電圧ロックアウトを実行することと、をさらに含む請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記構成ブロックは、前記シリアルバスを介して別のデバイスにデバイス状態をレポートするように構成される、請求項１７に記載の非一時的コンピュータ可読記憶媒体。
【請求項２２】
前記デバイス状態は、メモリアクセス動作又は誤り訂正動作の状態を示す、請求項２１に記載の非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記デバイスの書き込み保護制御モジュールにより、前記構成ブロック内の構成データに従って、前記メモリアレイに対する書き込み保護をアサートすることをさらに含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にシリアルデバイスを構成することに関する。
【背景技術】
【０００２】
インター・インテグレイテッド・サーキット（Ｉ２Ｃ）バスは、しばしば低速周辺機器（例えば、シリアルメモリデバイス）をコンピュータマザーボード及び埋め込みシステムに取り付けるために使用される、マルチマスター、マルチスレーブ、シングルエンドシリアルコンピュータバスである。Ｉ２Ｃプロトコルは、周辺装置の内部動作(internal behavior)を変える機構を提供せず、このため異なるアプリケーションに合わせて異なるバージョンのシリアルデバイスが製造される。
【発明の概要】
【課題を解決するための手段】
【０００３】
シリアルデバイスを構成するためのシステム、方法、回路、デバイス及びコンピュータ可読媒体を開示する。
【０００４】
いくつかの実装では、デバイスが、シリアルバスからの第１及び第２の要求を受け取るための入力部と、入力部に結合され、第１及び第２の要求のいずれかが構成モード（コンフィギュレーションモード）要求であるかどうかを判定するように構成されたデコーダと、デコーダに結合されたコントローラとを備え、コントローラは、第１の要求が構成モード要求であるとの判定に応答して、シリアルバスから取得した構成データを構成ブロックにプログラムし、構成データに従ってデバイスの動作(behavior)を変更し、第２の要求が構成モード要求ではないとの判定に応答して、第２の要求に従ってデバイスに対する１又は複数の動作を実行するように構成される。
【０００５】
いくつかの実装では、方法が、デバイスにより、シリアルバスからの第１及び第２の要求を受け取るステップと、デコーダ回路により、第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定するステップと、第１の要求が構成モード要求であるとの判定に応答して、デバイスのコントローラにより、シリアルバスから取得した構成データを構成ブロックにプログラムし、デバイスのコントローラにより、構成データに従ってデバイスの動作を変更するステップと、第２の要求が構成モード要求でないとの判定に応答して、デバイスのコントローラにより、第２の要求に従って１又は複数の動作を実行するステップと、を含む。
【０００６】
いくつかの実装では、非一時的コンピュータ可読記憶媒体が命令を記憶し、この命令は、デバイスの１又は複数のプロセッサによって実行された時に、デバイスの１又は複数のプロセッサに、デバイスにより、シリアルバスからの第１及び第２の要求を受け取ることと、デコーダ回路により、第１及び第２の要求のいずれかが構成モード要求であるかどうかを判定することと、第１の要求が構成モード要求であるとの判定に応答して、デバイスのコントローラにより、シリアルバスから取得した構成データを構成ブロックにプログラムし、デバイスのコントローラにより、構成データに従ってデバイスの動作を変更することと、第２の要求が構成モード要求でないとの判定に応答して、デバイスのコントローラにより、第２の要求に従って１又は複数の動作を実行することとを含む動作を実行させる。
【図面の簡単な説明】
【０００７】
【図１】構成モードを有するシリアルメモリデバイスの概念ブロック図である。
【図２Ａ】シリアルメモリデバイスに書き込むための書き込み送信シーケンスの例を示す図である。
【図２Ｂ】シリアルメモリデバイスに書き込むための書き込み送信シーケンスの例を示す図である。
【図２Ｃ】シリアルメモリデバイスを読み取るための読み取り送信シーケンスの例を示す図である。
【図２Ｄ】シリアルメモリデバイスを読み取るための読み取り送信シーケンスの例を示す図である。
【図３】シリアルメモリデバイスを構成する処理例のフロー図である。
【発明を実施するための形態】
【０００８】
以下の説明は、シリアルデバイスの内部動作を変化させる構成モードを含むシリアルデバイスの例である。この例におけるシリアルデバイスは、マスターデバイスがＩ２Ｃプロトコルを用いてシリアルバスを介してアクセスする電気的消去可能プログラム可能リードオンリメモリ（ＥＥＰＲＯＭ）デバイスである。開示する実装は、シリアルデバイスの内部動作を変化させる要望が存在するあらゆるシリアルデバイス又はシリアルプロトコルに適合することができる。
【０００９】
シリアルデバイスのアーキテクチャ例
図１は、構成モードを有するシリアルメモリデバイス１００の概念的ブロック図である。いくつかの実装では、シリアルメモリデバイス１００が、メモリアレイ１０１、開始／終了検出器１０２、書き込み保護制御モジュール１０３、パワーオンリセット（ＰＯＲ）生成器１０４、メモリシステム制御モジュール（ＭＳＣＭ）１０５、高電圧生成回路１０６、入力／出力制御モジュール１０７、アドレスレジスタ及びカウンタ１０８、ハードウェアアドレス比較器１０９、及びセンサ１１３を含むことができる。
【００１０】
メモリアレイ１０１は、ＥＥＰＲＯＭのビットで構成される。メモリアレイ１０１に対しては、カラムデコーダ１１４及びローデコーダ１１５を用いてデータの書き込み及び読み取りが行われる。ＥＥＰＲＯＭは、電力の除去後にデータが保持されることを意味する不揮発性記憶デバイスである。メモリアレイ１０１は、以下で詳細に説明するように複数のメモリゾーンに分割することができる。
【００１１】
開始／終了検出器１０２は、データライン（ＳＤＡ）及びクロックライン（ＳＣＬ）の状態をモニタして開始信号及び終了信号を探す。ＳＤＡ及びＳＣＬは、シリアルバスを含む。Ｉ２Ｃプロトコルでは、開始及び終了が、ＳＣＬがｈｉｇｈである時のＳＤＡラインの変化として定められる。
【００１２】
書き込み保護制御部１０３は、書き込み保護入力（ＷＰピン）の状態をモニタし、この状態をＭＳＣＭ１０５に伝える。ＭＳＣＭ１０５は、ＷＰ入力を用いて、メモリアレイ１０１に対する所与の書き込み動作を許可すべきか、それとも停止すべきかを決定する。
【００１３】
ＰＯＲ生成器１０４は、シリアルメモリデバイス１００が誤った状態にパワーアップするのを防ぐ回路である。ＰＯＲ生成器１０４は、シリアルメモリデバイス１００内の様々な回路を安全なデフォルト状態に設定するために使用される。ＰＯＲ生成器１０４は、供給電圧ＶCCの状態をモニタする。ＰＯＲ生成器１０４は、シリアルメモリデバイス１００の他の回路が正確に機能するのに安全なＶCCレベルにおいて、シリアルメモリデバイス１００のリセット及びリセット解除を行うように設計される。
【００１４】
ＭＳＣＭ１０５は、状態機械（図示せず）を用いてシリアルメモリデバイス１００の機能を制御する。ＭＳＣＭ１０５は、シリアルメモリデバイス１００内の他の回路から入力を受け取って、様々なイベントに対してシリアルメモリデバイス１００がいかに反応すべきか、それとも反応すべきでないかを決定する。
【００１５】
高電圧生成回路１０６は、メモリアレイ１０１の周囲の復号回路（ローデコーダ、カラムデコーダ）によって利用されるＶCCレベル入力を（単複の）さらに高いレベルに増加させる。書き込み及び消去メモリアレイ１０１は、ＶCCによって供給される電圧よりも高い電圧を必要とする。
【００１６】
入力／出力制御モジュール１０７は、ＳＤＡラインからシリアルメモリデバイス１００に流入する電流ビット、及びシリアルメモリデバイス１００がＳＤＡライン上でシフトアウトする電流ビットを受け取る。発信データは、データレジスタ１１０からＳＤＡラインにシフトされる。受信データは、ＳＤＡラインからラッチインされ、データレジスタ１１０に送られる。
【００１７】
アドレスレジスタ及びカウンタ１０８は、現在アクセスされているメモリアドレスを維持して後続のメモリアクセス動作のための次のポインタアドレス（Ｎ＋１）を示すレジスタを含む。
【００１８】
ハードウェアアドレス比較器１０９は、ハードウェアアドレスピン（Ａ0、Ａ1及びＡ2）の状態をモニタする。これらの状態はＭＳＣＭ１０５に送られ、ＭＳＣＭ１０５は、これらの値をデバイス１００の初期アクセス中にＳＤＡバス上でラッチインされた値と比較して、シリアルバス上のプロトコルがデバイス１００のためのものであるかどうかを判定する。
【００１９】
マスターデバイス（図示せず）は、Ｉ２Ｃプロトコルに従って、メモリアレイ１０１に対する書き込み又は読み取りを行うためのメモリアクセスコマンド（読み取り要求又は書き込み要求）をシリアルメモリデバイス１００に送信することができる。書き込み要求の場合、マスターデバイスは、ＳＴＡＲＴ信号の後に、シリアルバス上でメモリデバイス１００のアドレスと方向ビットクリア（書き込み）とを送信し、その後に２バイトのメモリアドレスを送信する。その後、マスターデバイスは、メモリアレイ１０１に書き込むべき２バイトのメモリアドレスから開始するデータバイトをシリアルメモリデバイス１００に送信した後にＳＴＯＰ信号を送信する。複数のバイトを書き込む場合、これらのバイトは、同じｎバイトページ（例えば、３２バイトページ）内に存在する。シリアルメモリデバイス１００は、これらのバイトをメモリアレイ１０１に保存している間、マスターデバイス又は他のマスターデバイスからのさらなるＩ２Ｃ要求に応答しない。
【００２０】
読み取り要求の場合、マスターデバイスは、ＳＴＡＲＴ信号の後、メモリデバイス１００のアドレスと方向ビットクリア（書き込み）とを書き込み、その後に２バイトのメモリデータアドレスを書き込む。次に、マスターデバイスは、ＳＴＡＲＴ信号の繰り返しと共に、メモリデバイス１００のアドレスと方向ビットセット（読み取り）とを送信する。次に、シリアルメモリデバイス１００は、特定のメモリアドレスから開始するデータバイトで応答する。マスターデバイスは、最後のバイトを除く各バイトを読み取った後にＡＣＫを発行し、その後にＳＴＯＰ信号を発行する。シリアルメモリデバイス１００は、各データバイトが転送された後にアドレスを増分する。マルチバイト読み取りでは、１つの組み合わせメッセージを用いてメモリアレイ１０１の内容全体を読み出すことができる。
【００２１】
構成モード
いくつかの実装では、シリアルメモリデバイス１００が、外部の高電圧（例えば、１０Ｖ＋）を必要とせずに書き込み要求によってデバイスの特定の動作を変更させることができる構成モードをシリアルメモリデバイス１００上に実装するように構成される。構成モードで変更させることができるデバイスの動作のいくつかの例としては、以下に限定されるわけではないが、メモリアレイの保護、現在の構成のロック(lock current configuration)、ハードウェアアドレスピンの無効化、構成モードの無効化、低電圧ロックアウト（ＵＶＬＯ）制御、及びデバイス状態のレポートが挙げられる。いくつかの実装では、図２Ａ及び図２Ｂを参照して説明するような選択されたシリアルプロトコル（例えば、Ｉ２Ｃ）を用いて書き込み要求中にプログラムできる、メモリアレイ１０１の一部に存在する構成ブロック１１２によって構成モードが実装される。いくつかの実装では、構成ブロック１１２が、デバイスが実行すべきアプリケーションに依存する１又は複数の構成レジスタ(configuration register)を含むことができる。いくつかの実装では、１又は複数の構成レジスタが、ｎビット（例えば、１６ビット）の不揮発性読み取り／書き込みレジスタである。
【００２２】
メモリアレイ保護機能は、レガシー保護モード又は強化保護モードに合わせて設定することができる。レガシー保護モードでは、メモリアレイ全体を書き込み保護することができる。強化保護モードでは、メモリアレイがメモリゾーンに分割され、各メモリゾーンは、そのメモリゾーンの書き込み保護（ＷＰ）ピンアサーションに応答するように設定することも、又はそのメモリゾーンに対して恒久的に読み取り専用に（ＷＰピンアサーションに応答しないように）設定することもできる、対応するレジスタを有する。現在の構成ロック機能は、構成ブロックへの新たな書き込みを無効にするように設定することができる。ハードウェアアドレスピンの無効化機能は、シリアルメモリデバイス１００がシリアルバス上の全ての考えられるハードウェアアドレス位置に応答するように設定することができる。構成モードの無効化機能は、シリアルメモリデバイス１００を構成モードにするバス上の書き込み要求に対する応答を無効にすることにより、シリアルメモリデバイス１００上の構成モードを恒久的に無効にするように設定することができる。
【００２３】
ＵＶＬＯ制御機能は、供給電圧によって満たされない場合に設定方法に応じて様々なデバイス機能（例えば、メモリアレイ１０１に対する読み取り又は書き込み要求のロックアウト）を関与又は解除させる供給電圧検出閾値を構成ブロック１１２内の１又は複数のレジスタに読み込むことによって実装することができる。いくつかの実装では、電圧源ＶCCとＭＳＣＭ１０５との間にセンサ１１３（例えば、電圧比較器）が結合される。供給電圧ＶCCが供給電圧検出閾値（例えば、構成ブロック１１２に記憶され、ＭＳＣＭ１０５によってセンサ１１３に提供されるユーザプログラム可能な値）未満に低下した場合、シリアルメモリデバイス１００はＵＶＬＯ制御モードに入る。いくつかの実装では、センサ１１３をＰＯＲ生成器１０４に含めることができる。閾値の感度レベル（例えば、プログラム可能なレベル数）は、様々なアプリケーションニーズを満たすように設計によって異なることができる。
【００２４】
デバイス状態レポート機能は、構成ブロック１１２の１又は複数のレジスタを用いて様々なデバイス状態をレポートすることができる。デバイス状態のいくつかの例としては、以下に限定されるわけではないが、シリアルメモリデバイス１００がビジー（例えば、読み取り又は書き込みビジー）の時、対応準備ができている時、又は別様に対応できない時にレポートすることが挙げられる。いくつかの実装では、例えば最後に行った読み取り又は書き込み動作がシリアルメモリデバイス１００の誤り訂正機構を呼び出したか、それともシリアルメモリデバイス１００の全期間にわたる誤り訂正イベントの数を追跡する単調なカウンタの状態を読み取ったかをレポートするなどの、誤り訂正エンジン状態をレポートすることができる。これらの機能を実装するために必要なレジスタ（例えば、構成ブロック１１２内の８ビットレジスタ）の数は、実装する機能の数に依存する。例えば、ＵＶＬＯ制御機能は、単一の専用８ビットレジスタを用いて実装することができる。また、図２Ａ及び図２Ｂを参照して以下で説明するように、適切なゾーン保護レジスタの数は、メモリアレイ１０１のサイズ又はメモリゾーンのサイズによって決まる。
【００２５】
構成モードにおける読み取り／書き込み送信シーケンス(transmission sequence)例
図２Ａ及び図２Ｂに、シリアルメモリデバイス１００に構成モードを実装するシリアルバスプロトコルの書き込み送信シーケンス例を示す。図示の例では、シリアルバスプロトコルがＩ２Ｃである。この動作例は、アプリケーションに応じて他のシリアルバスプロトコルにも適合することができる。
【００２６】
いくつかの実装では、構成ブロック１１２内のレジスタへのアクセスが、メモリアレイ１０１へのアクセスに使用されるアドレスバイトとは異なるデバイスアドレスバイトを用いて行われる。あらゆるデバイスアドレスの１６進値を使用することができるが、シリアルバス上の他のデバイスアドレスと衝突しない値を選択することが望ましい。ファームウェア内のデバイスアドレスの４つの最上位ビット（ＭＳＢ）は、柔軟性を最大にするように変更することができる。シリアルメモリデバイス（例えば、ＥＥＰＲＯＭデバイス）では、衝突の可能性を低減するために、他のシリアルメモリデバイスが他の目的で使用しているという理由でデバイスアドレス６ｈをデフォルトとすることができる。ファームウェアを変更すると、アプリケーション内でシステム衝突が起きた場合にこれを避ける必要がある時に、例えばメーカーがシリアルメモリデバイスを変更できるようになる。
【００２７】
マスターデバイスによってシリアルバス上でデバイスアドレスバイトが送信された後、次のプロトコル例は、フォーマット＜デバイスアドレス＋レジスタアドレス＋レジスタデータ（読み取り／書き込み）＞、又はフォーマット＜デバイスアドレス＋レジスタデータ（読み取り／書き込み）＞のいずれかに従うことができる。他方のフォーマットに優先する一方のフォーマットの選択は、アプリケーションによって使用される構成ブロック１１２内の構成レジスタの数に依存することができる。構成ブロック１１２内で使用されるレジスタが１つ又は２つしか存在しない実装例では、＜デバイスアドレス＋レジスタデータ（読み取り／書き込み）＞フォーマットを使用することができ、この場合、全てのバストランザクションにおいて構成レジスタの内容全体を用いて読み取り又は書き込みを行うことができる。構成レジスタの数が多い（例えば、２つよりも多い）場合には、＜デバイスアドレス＋レジスタアドレス＋レジスタデータ（読み取り／書き込み）＞を用いて、バストランザクションのサイズを最小化して所望のレジスタ内容への素早いアクセスを可能にすることができる。
【００２８】
図２Ａ〜図２Ｄを参照すると、いくつかの実装では、上述した２つのプロトコルフォーマット例の一方を用いて構成ブロック１１２内の１又は複数のレジスタに１又は複数の書き込み要求をプログラムするｎバイト（例えば、４バイト）の送信シーケンスで構成ブロック１１２にアクセスすることができる。構成ブロック１１２内の１又は複数のレジスタの読み取りは、最初に「ダミー」書き込みシーケンスを含むアドレスレジスタにアドレスポインタを設定することによって行うことができる。図２Ａには、プロトコルフォーマット例＜デバイスアドレス＋レジスタデータ（書き込み）＞を用いた書き込み送信シーケンスを示しており、図２Ｂには、プロトコルフォーマット例＜デバイスアドレス＋レジスタアドレス＋レジスタデータ（書き込み）＞を用いた書き込み送信シーケンスを示しており、図２Ｃには、プロトコルフォーマット例＜デバイスアドレス＋レジスタデータ（読み取り）＞を用いた読み取り送信シーケンスを示しており、図２Ｄには、プロトコルフォーマット例＜デバイスアドレス＋レジスタアドレス＋レジスタデータ（読み取り）＞を用いた読み取り送信シーケンスを示している。
【００２９】
書き込み送信シーケンスは、マスターデバイスによって生成されたシリアルバス上のＳＴＡＲＴ信号後の、マスターデバイスによってＳＤＡライン上にシフトされたデバイスアドレスバイトから開始する。デバイスアドレスバイトは、ビット＜０１１０＞（６ｈ）から開始した後に、図１に示すシリアルメモリデバイス１００のＡ2、Ａ1、Ａ0ピンの状態値に一致する３つのハードウェアアドレスビット＜Ａ2Ａ1Ａ0＞が続く。最下位ビット（ＬＳＢ）は、読み取り又は書き込み要求を示す方向ビットである。送信シーケンス内の各ビットは、ＳＤＡライン上でＳＣＬパルス毎に１ビットずつシリアルに送信される。ハードウェアアドレスピンの一部が存在しないデバイスでは、ハードウェアアドレスビットが送信シーケンス内で論理「０」になる。論理「０」は、構成ブロック１１２に対する読み取り及び書き込みの両方のための方向に使用される。読み取りの場合、論理「０」を「ダミー」書き込み送信シーケンスの一部として用いてアドレスレジスタ１０８内にアドレスポインタを設定することができる。
【００３０】
書き込み送信シーケンス内の次のｎ個のバイトは、実装するプロトコルフォーマットによって決まる。処理すべき構成レジスタの数が多い場合には、図２Ｂ及び図２Ｄを参照しながら説明するプロトコル例を実装することが望ましいと考えられる。この場合、デバイスアドレスバイトが送信された後の送信シーケンス内の次のｎ個のバイトは、ｎ個の構成レジスタアドレスバイトである。最後に、最終バイトは、（単複の）読み出されるデータワードバイト又は書き込まれる（単複の）データワードバイトである。この（単複の）データワードバイトは構成データを含み、例えば表Ｉに示すように定めることができる。
【００３１】
処理すべき構成レジスタの数が少ない（例えば、構成レジスタが３未満の）場合には、図２Ａ及び図２Ｃを参照しながら説明するプロトコル例を実装することが望ましいと考えられる。この場合、デバイスアドレスバイトが送信された後の送信シーケンス内の次のｎ個のバイトは、（単複の）読み出されるデータワードバイト又は（単複の）書き込まれるデータワードバイトである。読み取りの場合、レジスタを連続的に読み取ることができ、レジスタの状態は、各読み取りイベント毎に更新される。
【００３２】
以下の表Ｉに構成データの例を示す。
2016143422.tif 000003
【００３３】
この構成例では、アドレス０００４ｈから開始するデータは、メモリアレイ１０１が論理的に分割された１６Ｋｂのメモリゾーンに対応する。メモリゾーンは、１から始まるカウントで列挙することができる。例えば、６４Ｋｂデバイスは４つのメモリゾーンを有し、表Ｉの内容全体を実装した場合、これらのメモリゾーンの動作は、アドレス０００４ｈ、０００５ｈ、０００６ｈ及び０００７ｈの値に依存する。以下の表ＩＩに、各実装密度でのメモリゾーンの数を示す。
表ＩＩ−（６４Ｋｂ／ゾーンに基づく）各実装密度でのメモリゾーンの数の例
2016143422.tif 000004
【００３４】
表Ｉの構成例では、ゾーン保護レジスタが、００ｈ、Ｆ０ｈ、０Ｆｈ及びＦＦｈという４つの可能な値を有する。ゾーン保護レジスタは、対応するメモリゾーンの動作を変更するようにプログラムすることができる。１又は複数のゾーン保護レジスタは、ＷＰピンの対応するゾーンへの影響を制御すること、又は対応するメモリゾーンが読み取り専用に設定されているか否かをレポートすることに専念することができる。ゾーン保護レジスタの量が減少するように、１又は複数のゾーン保護レジスタは、ＷＰ入力値及び読み取り専用制御値の両方を同じバイトでレポートすることができる。いくつかの実装では、ゾーン保護レジスタの上位ニブルが、対応するメモリゾーンのハードウェア保護動作を制御することができる。ゾーン保護レジスタの下位ニブルは、対応するメモリゾーンを読み取り専用に設定しておくかどうかを制御することができる。以下の表ＩＩＩは、ＷＰ入力の影響及び読み取り専用状態が同じバイトに含まれる実装における各ゾーン保護レジスタの動作を定めるものである。
表ＩＩＩ−ゾーン保護レジスタ構成の例
2016143422.tif 000005
【００３５】
構成モードの処理例
図３は、シリアルバスを構成する処理の例３００のフロー図である。いくつかの実装では、処理３００が、シリアルバスから要求を受け取る（３０２）ことによって開始することができる。シリアルデバイスは、例えばシリアルメモリデバイスとすることができ、バスは、Ｉ２Ｃバスとすることができる。この要求は、シリアルバス上でマスターデバイスから送信されたｎバイト（例えば、４バイト）の送信シーケンスを含むことができる。構成ブロックは、メモリアレイに実装され、１又は複数の構成読み取り／書き込みレジスタを含むことができる。
【００３６】
処理３００は、この要求が構成ブロックの読み取り又は書き込みの要求であると判定すること（３０４）によって続行することができる。例えば、マスターデバイスによって送信される送信シーケンスは、シリアルデバイスが構成ブロックに対する読み取り又は書き込みを識別するために使用できるビットの組を含むデバイスアドレスバイトを含むことができる。
【００３７】
処理３００は、構成ブロックに構成データをプログラムすること（３０６）によって続行することができる。例えば、構成ブロックには、デバイスアドレスバイトの後に構成レジスタの２バイトのメモリアドレスバイトが存在することができる。メモリアドレスバイトの後には、構成データを含むデータバイトが存在することができる。
【００３８】
処理３００は、構成データに従ってデバイスの動作を変更させること（３０８）によって続行することができる。例えば、コントローラ（状態機械）が構成ブロックから構成データを読み取り、構成データに従ってシリアルデバイスの動作を変更させる動作を行うことができる。構成モードで変更させることができるデバイスの動作のいくつかの例としては、以下に限定されるわけではないが、メモリアレイの保護、現在の構成のロック、ハードウェアアドレスピンの無効化、構成モードの無効化、低電圧ロックアウト（ＵＶＬＯ）制御、及びデバイス状態のレポート（例えば、進行中の書き込み又は誤り訂正）が挙げられる。
【００３９】
本文書は多くの特定の実装の詳細を含むが、これらの詳細は、特許請求できる対象の範囲を限定するものとして解釈すべきではなく、むしろ特定の実施形態に固有の特徴の説明として解釈すべきである。本明細書において別個の実施形態の文脈で説明したいくつかの特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で説明した様々な特徴を、複数の実施形態で別個に又はいずれかの好適な下位の組み合わせで実装することもできる。さらに、上記ではいくつかの組み合わせで機能するものとして特徴を説明し、最初はこのように特許請求していることもあるが、場合によっては、特許請求する組み合わせから生じる１又は複数の特徴をこれらの組み合わせから削除することもでき、特許請求する組み合わせの対象を下位の組み合わせ又は下位の組み合わせの変形例とすることもできる。
【図１】
2016143422.tif 000006
【図２Ａ】
2016143422.tif 000007
【図２Ｂ】
2016143422.tif 000008
【図２Ｃ】
2016143422.tif 000009
【図２Ｄ】
2016143422.tif 000010
【図３】
2016143422.tif 000011