(57)【要約】  集積回路メモリまたはバッファ装置などの集積回路、方法およびシステムが、実施形態の中でも特に、制御情報、書き込みデータおよび読み出しデータトランザクションにそれぞれ対応する、ＣＲＣ符号などの複数のエラー符号を生成する。複数の別個に生成されたＣＲＣ符号は、循環バッファなどのそれぞれの記憶回路にログまたは記憶される。次に、各トランザクションに対応する、記憶された複数のＣＲＣ符号を用いて、エラーが特定のトランザクション中に発生したかどうか、ひいては、特定のトランザクションの再試行が行われるかどうかを判定する。集積回路には、集積回路によって生成されたＣＲＣ符号を、コントローラ装置によって提供されたＣＲＣ符号と比較する比較回路が含まれる。読み出しデータに対応するＣＲＣ符号は、読み出しトランザクション中に用いられていないデータマスク信号線を用いて、コントローラ装置に転送される。次に、集積回路によって生成されたＣＲＣ符号を、コントローラ装置によって生成されたＣＲＣ符号と比較して、エラーが発生したかどうかを判定してもよい。コントローラ装置は、制御情報、書き込みデータおよび読み出しデータに対応する複数のＣＲＣ符号を生成および記憶する。次に、コントローラ装置は、コントローラ装置によって生成されたＣＲＣ符号を、集積回路において生成および記憶されたＣＲＣ符号と比較して、エラーが、特定のトランザクション中に発生したかどうかを判定する。
2009537899.tif 000002
【特許請求の範囲】
【請求項１】
記憶アレイに記憶される書き込みデータを表す第１の符号を記憶する第１の記憶回路と、
前記記憶アレイから得られた読み出しデータを表す第２の符号を記憶する第２の記憶回路と、
前記記憶アレイにアクセスするために用いられる制御情報を表す第３の符号を記憶する第３の記憶回路と、
を含む集積回路装置。
【請求項２】
前記集積回路装置が、コントローラ装置から前記記憶アレイを含む集積回路メモリ装置に書き込みデータを転送し、かつ前記集積回路メモリ装置から前記コントローラ装置に読み出しデータを転送するバッファ装置である、請求項１に記載の集積回路装置。
【請求項３】
前記集積回路が、前記書き込みデータを記憶する前記記憶アレイを含む集積回路メモリ装置である、請求項１に記載の集積回路装置。
【請求項４】
前記制御情報が、前記記憶アレイの行にアクセスするためのアドレス情報、およびメモリコマンドを含む、請求項１に記載の集積回路装置。
【請求項５】
前記書き込みデータに応じて前記第１の符号を提供する第１の符号化回路と、
前記読み出しデータに応じて前記第２の符号を提供する第２の符号化回路と、
前記制御情報に応じて前記第３の符号を提供する第３の符号化回路と、
をさらに含む、請求項１に記載の集積回路装置。
【請求項６】
前記第３の符号に応じて第１の圧縮符号を提供する圧縮回路と、
前記第１の圧縮符号を、受信された符号と比較して、エラーが発生したかどうかを判定する比較回路と、
をさらに含む、請求項１に記載の集積回路装置。
【請求項７】
前記第１、第２および第３の記憶回路が、書き込みデータを表す第１の複数の符号、読み出しデータを表す第２の複数の符号、および制御情報を表す第３の複数の符号を記憶する第１、第２および第３の循環バッファを含む、請求項１に記載の集積回路装置。
【請求項８】
前記第１、第２および第３の符号が、巡回冗長検査符号である、請求項１に記載の集積回路装置。
【請求項９】
集積回路装置の動作のための方法であって、
記憶アレイに記憶される書き込みデータを表す第１の符号を生成することと、
前記第１の符号を記憶することと、
前記記憶アレイから得られた読み出しデータを表す第２の符号を生成することと、
前記第２の符号を記憶することと、
前記記憶アレイにアクセスするために用いられる制御情報を表す第３の符号を生成することと、
前記第３の符号を記憶することと、
を含む方法。
【請求項１０】
コントローラ装置から第４の符号を受信することと、
前記第４の符号を前記第３の符号と比較して、エラー信号を生成することと、
前記エラー信号に応じてメモリトランザクションを再試行することと、
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記第４の符号が、マスク情報を転送するために用いられる信号線から受信される、請求項１０に記載の方法。
【請求項１２】
前記制御情報が、前記記憶アレイの行にアクセスするためのアドレスを含む、請求項１０に記載の方法。
【請求項１３】
前記第１の符号を第４の符号と比較して、誤った書き込みデータの発生を示すエラー信号を生成するコントローラ装置に、前記第１の符号を転送することと、
前記第２の符号を第５の符号と比較して、誤った読み出しデータの発生を示すエラー信号を生成するコントローラ装置に、前記第２の符号を転送することと、
前記第３の符号を第６の符号と比較して、誤った制御情報の発生を示すエラー信号を生成するコントローラ装置に、前記第３の符号を転送することと、
をさらに含む、請求項９に記載の方法。
【請求項１４】
誤った書き込みデータの発生を示す前記エラー信号に応じて、前記書き込みデータの転送を再試行することと、
誤った読み出しデータの発生を示す前記エラー信号に応じて、前記読み出しデータの転送を再試行することと、
誤った制御情報の発生を示す前記エラー信号に応じて、制御情報の転送を再試行することと、
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記集積回路装置が、コントローラ装置から、前記記憶アレイを含む集積回路メモリ装置に書き込みデータを転送し、かつ前記集積回路メモリ装置から前記コントローラ装置に読み出しデータを転送するバッファ装置である、請求項９に記載の方法。
【請求項１６】
前記第１、第２および第３の符号が、巡回冗長検査符号である、請求項９に記載の方法。
【請求項１７】
集積回路メモリ装置の動作のための方法であって、
エラーが、前記集積回路メモリ装置のアクセスにおいて発生したことを示す符号を生成することと、
前記集積回路メモリ装置のアクセスにおいて発生したエラーのタイプを判定することと、
前記エラータイプに応じて、前記集積回路メモリ装置のアクセスを再試行することと、
を含む方法。
【請求項１８】
前記集積回路メモリ装置の前記アクセスが、前記集積回路メモリ装置に制御情報を提供することを含み、前記制御情報が、前記集積回路メモリ装置の記憶アレイへのアドレスを含む、請求項１７に記載の方法。
【請求項１９】
前記集積回路メモリ装置の前記アクセスが、前記集積回路メモリ装置の記憶アレイに記憶される書き込みデータを提供することを含む、請求項１７に記載の方法。
【請求項２０】
前記集積回路メモリ装置の前記アクセスが、前記集積回路メモリ装置の記憶アレイから読み出しデータを提供することを含む、請求項１７に記載の方法。
【請求項２１】
前記符号を生成することが、前記符号を圧縮することを含む、請求項１７に記載の方法。
【請求項２２】
前記判定が、記憶アレイを有する前記集積回路メモリ装置に配置された第１の記憶回路から、制御情報を表す符号を読み出すことと、前記集積回路メモリ装置に配置された第２の記憶回路から、書き込みデータを表す符号を読み出すことと、前記集積回路メモリ装置に配置された第３の記憶回路から、読み出しデータを表す符号を読み出すことと、を含む、請求項１７に記載の方法。
【請求項２３】
エラーのタイプが、前記集積回路メモリ装置に転送される前記制御情報におけるエラー、前記集積回路メモリ装置の記憶アレイに記憶される前記書き込みデータにおけるエラー、および前記集積回路メモリ装置の前記記憶アレイから得られた前記読み出しデータにおけるエラーの１つから選択される、請求項１７に記載の方法。
【請求項２４】
コントローラと、集積回路とを含むシステムであって、
前記コントローラが、
記憶アレイに記憶される書き込みデータを表す第１の符号を記憶する第１の記憶回路と、
前記記憶アレイから得られた読み出しデータを表す第２の符号を記憶する第２の記憶回路と、
前記記憶アレイにアクセスするために用いられる制御情報を表す第３の符号を記憶する第３の記憶回路と、
を含み、
前記集積回路が、
記憶アレイに記憶される書き込みデータを表す第４の符号を記憶する第４の記憶回路と、
前記記憶アレイから得られた読み出しデータを表す第５の符号を記憶する第５の記憶回路と、
前記記憶アレイにアクセスするために用いられる制御情報を表す第６の符号を記憶する第６の記憶回路と、
を含むシステム。
【請求項２５】
前記コントローラ装置が、前記第３の符号を前記第６の符号と比較してメモリコマンドをいつ再試行するかを判定する比較回路を含む、請求項２４に記載のシステム。
【請求項２６】
前記比較回路が、前記第１の符号を前記第４の符号と比較して、前記コントローラ装置から前記集積回路に前記書き込みデータをいつ再転送するかを判定する、請求項２５に記載のシステム。
【請求項２７】
前記比較回路が、前記第２の符号を前記第５の符号と比較して、前記集積回路から前記コントローラ装置に前記読み出しデータをいつ再転送するかを判定する、請求項２５に記載のシステム。
【請求項２８】
前記コントローラ装置および前記集積回路が、シリアル相互接続部によって結合され、前記第３、第４および第５の符号が、シリアル相互接続部において前記コントローラ装置に転送される、請求項２４に記載のシステム。
【請求項２９】
前記第１、第２、第３、第４および第５の符号が、巡回冗長検査符号である、請求項２４に記載のシステム。
【請求項３０】
機器を表す情報を含む機械可読媒体であって、前記表された機器が、
記憶アレイに記憶される書き込みデータを表す第１の符号を記憶する第１の記憶回路と、
前記記憶アレイから得られた読み出しデータを表す第２の符号を記憶する第２の記憶回路と、
前記記憶アレイにアクセスするために用いられる制御情報を表す第３の符号を記憶する第３の記憶回路と、
を含む機械可読媒体。
【請求項３１】
書き込みデータ、読み出しデータおよび制御情報を転送するインタフェースと、
前記書き込みデータ、読み出しデータおよび制御情報を、書き込みデータ、読み出しデータおよび制御情報を表すエラー符号に符号化するための手段を含み、
前記符号化のための手段が前記エラー符号に応じて、前記書き込みデータ、読み出しデータおよび制御情報のいずれか１つを転送する際にエラーが発生したかどうかを判定すること
を含む集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、一般に、集積回路装置および／またはかかる装置の高速シグナリングに関する。
【背景技術】
【０００２】
関連技術の説明
チップ通信において、集積回路間で情報を転送する際に、エラーが発生する可能性がある。例えば、ノイズ、クロストークおよび／または符号間干渉が、信号を変更し、情報の誤った受信に帰着する可能性がある。集積回路は、誤って受信および／または送信された情報を検出するためのエラー検出回路および／またはソフトウェアを有してもよい。例えば、集積回路は、誤った情報が受信されたときに検出するために、チェックサムおよび／またはパリティチェック方式を有してもよい。さらに、集積回路は、情報におけるエラーを検出するだけでなく情報におけるエラーを訂正するエラー検査および訂正（「ＥＣＣ」）方式（ＥＣＣはまた、エラー訂正符号として知られている）を有してもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、集積回路間で大量の情報が転送される場合には、複雑なエラー検出および訂正方式は、大きすぎる帯域幅を要求して、システム性能を低下させる待ち時間を持ち込む可能性がある。さらに、アプリケーションによっては、１つの相互接続における情報（例えば、制御またはアドレス）のエラーは、他の情報が誤って転送または受信されることに帰着する可能性があり、したがって、エラーの根本的原因が何だったのかを判定するのが困難なことがあり得る。
【０００４】
実施形態は、添付の図面の図において、限定ではなく例として示され、同様の参照数字は、同様の要素を指す。
【発明を実施するための最良の形態】
【０００５】
詳細な説明
集積回路（「ＩＣ」）メモリもしくはバッファ装置などの集積回路、方法および／またはシステムは、一般に、実施形態の中でも特に、制御情報、書き込みデータおよび読み出しデータトランザクションに対応する、巡回冗長検査（「ＣＲＣ」）符号などの複数のエラー符号を生成する。制御情報、書き込みデータおよび読み出しデータに対応する複数の別個に生成されたＣＲＣ符号は、循環バッファなどのそれぞれの記憶回路にログおよび記憶される。各トランザクションに対応する、記憶された複数のＣＲＣ符号を用いて、エラーが特定のトランザクション中に発生したかどうか、ひいては、特定のトランザクションの再試行もしくは複数の再試行を行うかどうかを判定してもよい。集積回路には、集積回路によって生成されたＣＲＣ符号を、コントローラ装置によって提供されたＣＲＣ符号と比較する比較回路が含まれる。制御情報に対応するＣＲＣ符号は、読み出しトランザクション中に用いられていないデータマスク信号線を用いて、コントローラ装置に転送される。次に、集積回路によって生成されたＣＲＣ符号を、コントローラ装置によって生成されたＣＲＣ符号と比較して、エラーが制御情報に発生したかどうかを判定してもよい。コントローラ装置は、制御情報、書き込みデータおよび読み出しデータに対応する複数のＣＲＣ符号を生成および記憶する。次に、コントローラ装置は、コントローラ装置によって生成されたＣＲＣ符号を、集積回路において生成および記憶されたＣＲＣ符号と比較し、エラーが特定のトランザクション中に発生したかどうかを判定する。
【０００６】
集積回路には、書き込みデータを表す第１の符号を符号化する第１の符号化回路、読み出しデータを表す第２の符号を符号化する第２の符号化回路、および制御情報を表す第３の符号を符号化する第３の符号化回路が含まれる。制御情報には、記憶アレイにアクセスするためのアドレス情報および／またはメモリコマンドが含まれる。第１、第２および第３の圧縮回路が、第１、第２および第３の符号を圧縮して、圧縮された第１、第２および第３の符号を提供する。別の実施形態では、単一の圧縮回路が、第１、第２および第３の符号を圧縮して、単一の圧縮符号を提供する。第１および第２の圧縮符号は、転送された書き込みおよび読み出しデータにおけるエラーを検出するためにコントローラ装置に出力される。比較回路が、制御情報を表す第３の圧縮符号を、コントローラ装置からの圧縮符号と比較し、制御情報を転送する際にエラーが発生したかどうかを判定する。
【０００７】
集積回路を動作させる方法実施形態において、記憶アレイに記憶される書き込みデータを表す第１の符号が、生成および記憶される。記憶アレイから得られた読み出しデータを表す第２の符号が、生成および記憶される。記憶アレイにアクセスするために用いられる制御情報を表す第３の符号が、生成および記憶される。コントローラ装置からの第４の符号が、第３の符号と比較されて、エラー信号を生成する。メモリトランザクションを再試行することを示す信号が、エラー信号に応じて生成される。
【０００８】
集積回路を動作させる方法実施形態において、第１の符号が、コントローラ装置に転送され、このコントローラ装置が、第１の符号を、コントローラ装置によって生成された符号と比較して、誤った書き込みデータの発生を表すエラー信号を生成する。第２の符号が、コントローラ装置に転送され、このコントローラ装置が、第２の符号を、コントローラ装置によって生成された符号と比較して、誤った読み出しデータの発生を表すエラー信号を生成する。第３の符号が、コントローラ装置に転送され、このコントローラ装置が、第３の符号を、コントローラ装置によって生成された符号と比較して、誤った制御情報の発生を表すエラー信号を生成する。次に、読み出しデータ、書き込みデータおよび／または制御情報の再試行を、対応するエラー信号に応じて開始してもよい。
【０００９】
システム実施形態において、コントローラ装置には、第１、第２および第３の符号を記憶する第１、第２および第３の回路が含まれるが、これらの符号は、記憶アレイに記憶される書き込みデータ、記憶アレイから得られた読み出しデータ、および記憶アレイにアクセスするために用いられる制御情報を表す。集積回路には、第４、第５および第６の符号を記憶する第４、第５および第６の回路が含まれるが、これらの符号は、記憶アレイに記憶される書き込みデータ、記憶アレイから得られた読み出しデータ、および記憶アレイにアクセスするために用いられる制御情報を表す。コントローラ装置には、１）第３の符号を第６の符号と比較して、メモリコマンドをいつ再試行するか、または制御情報をいつ再転送するかを判定し、２）第１の符号を第４の符号と比較して、コントローラ装置からの書き込みデータをＩＣメモリ装置にいつ再転送するかを判定し、３）第２の符号を第５の符号と比較して、ＩＣメモリ装置からの読み出しデータをコントローラ装置にいつ再転送するかを判定する比較回路が含まれる。
【００１０】
図１は、コントローラ装置または他のマスタ装置などのＩＣ１１０を含むシステム１００を示すが、このＩＣ１１０は、相互接続部１６０によって、ＩＣメモリ装置またはバッファ装置などのＩＣ１５０に結合される。ＩＣ１１０および１５０には、ＩＣ１１０および１５０間で情報を転送するために利用可能な帯域幅の量が制限されている場合に階層タイプのエラーを検出するためのエラー検出（「ＥＤ」）回路１８０および１９０がそれぞれ含まれる。例えば、異なるタイプのメモリトランザクションまたは動作におけるエラーは、ＩＣ１１０および１５０に記憶された対応するエラー符号を用いることによって検出可能である。メモリトランザクションには、アドレス情報および／またはメモリコマンドなど、ＩＣメモリ装置における記憶アレイにアクセスするための制御情報を提供することを含んでもよい。また、メモリトランザクションには、ＩＣメモリ装置の記憶アレイに記憶される書き込みデータを提供することを含んでもよい。メモリトランザクションにはまた、メモリコントローラによって、ＩＣメモリ装置の記憶アレイからの読み出しデータにアクセスすることを含んでもよい。ＥＤ回路１８０および１９０は、エラーが、制御情報、書き込みデータおよび／または読み出しデータにおいて、単独にまたは組み合わされて発生したかどうかを検出することができる。
【００１１】
ＥＤ回路１９０には、信号線または経路１６１−１６４を含む相互接続部１６０に結合された受信機１４０、１４１および１４２が含まれる。受信機１４０は、制御情報を搬送する信号線１６１に結合され、受信機１４１は、書き込み動作中にマスク情報を搬送する信号線１６２か、またはエラー情報もしくはＣＲＣ符号を提供する場合に利用可能な帯域幅を有する他の信号線に結合される。一実施形態において、信号線１６２は、信号線１６３など、書き込みおよび／または読み出しデータを転送する他の信号線と共に含まれる。受信機１４２は、記憶アレイに記憶される書き込みデータまたは記憶アレイに記憶された読み出しデータなどのデータ情報を搬送する信号線１６３に結合される。送信機１４３は、信号線１６３に結合され、他方で送信機１４４は、信号線１６４に結合される。信号線１６４は、ＥＤ回路１９０からＩＣ１１０にＣＲＣ符号を提供する、ＳＭＢｕｓバスなどのシリアルデータバスに含まれてもよい。代替実施形態において、信号線１６４は、エラー情報を提供する場合に利用可能な帯域幅を有する信号線である。別の実施形態において、信号線１６４は、読み出しおよび／または書き込みデータを転送するなどの典型的なメモリ動作中に用いられる利用可能な帯域幅を有する信号線である。
【００１２】
制御情報は、制御情報をエラー符号に符号化する符号化回路１５１に、受信機１４０によって提供される。次に、符号化回路１５１は、符号化された制御情報を循環バッファ１５８および圧縮（圧縮機）回路１５２に出力する。圧縮回路１５２は、符号化された制御情報または制御情報用のＣＲＣ符号を圧縮する。比較回路１５３は、受信機１４１を介したＩＣ１１０からのエラー符号を、圧縮回路１５２からの圧縮され符号化された制御情報と比較して、エラーが、制御情報にいつ発生したかを判定する。ＩＣ１１０からの受信符号が、圧縮回路１５２からの符号と一致しないかまたは等しくない場合には、比較回路１５３は、エラーが制御情報に発生したことを示すエラー信号を生成する。比較回路１５３からのエラー信号によって、ＩＣ１５０は、ＩＣ１１０への再試行信号を生成するようにされ、次に、ＩＣ１１０が、信号線１６１において、制御情報の送信を再試行または反復する。
【００１３】
別の実施形態では、ＩＣバッファ装置においてエラー信号が提供されるが、このＩＣバッファ装置は、例えば、制御情報をＩＣバッファ装置（へ、またはそこから）再送信することによってエラーが訂正されるまで、後続のどんな読み出しデータおよび／または書き込みデータ（ＩＣバッファ装置への、またはそこからの）も拒否および／または無視する。着信書き込みおよび／または読み出しデータを無視または拒否することは、誤った制御情報の受信ゆえに起こり得るいかなるデータ汚染も回避するために行われる。誤った制御情報の受信ゆえにデータが汚染されるか誤っている場合には、将来のトランザクションが不正確に解釈される可能性がある。
【００１４】
図３に示し下記で説明するように、受信機１４０からの制御情報を、列復号化回路３０２および／または行復号器３０３などのＩＣメモリコアに提供して、ＩＣメモリ装置３００における記憶アレイにアクセスしてもよい。別の実施形態において、図４に示し下記で説明するように、制御情報は、ＩＣバッファ装置４００における要求およびアドレス回路４４０に提供される。
【００１５】
同様に、受信機１４２からの書き込みデータは、書き込みデータを符号化してエラー符号またはＣＲＣ符号を得る符号化回路１５４に提供される。次に、符号化された書き込みデータは、循環バッファ１５６に記憶し、圧縮回路１５９によって圧縮してもよい。ＩＣ１１０による要求に応じて、周期的にまたは試験／保守動作中に、圧縮回路１５９は、符号化および圧縮された書き込みデータエラー符号を送信機１４４に提供し、この送信機１４４が、書き込みデータを表す符号を、信号線１６４を介してＩＣ１１０に送信する。次に、下記で説明するように、ＩＣ１１０は、ＩＣ１５０からの書き込みデータを表す符号を、ＩＣ１５０に送信された書き込みデータを表す、内部で生成および記憶された符号と比較して、書き込みデータの転送の際にエラーがいつ発生したかを判定してもよい。書き込みデータの再試行または再転送は、書き込みデータの転送においてエラーが発生したとの判定に応じてか、または比較回路１２８から出力された書き込みエラー信号に応じて、線１６３上でコントローラ１１０が行ってもよい。
【００１６】
図３に示し下記で説明するように、受信機１４２からの書き込みデータを、センス増幅器３０６などのメモリコアに提供し、書き込みデータをＩＣメモリ装置３００に記憶してもよい。別の実施形態において、図４に示し下記で説明するように、書き込みデータは、ＩＣバッファ装置４００におけるインタフェース４２０ａ−ｂに提供される。
【００１７】
読み出しデータを、送信機１４３、および読み出しデータを符号化する符号化回路１５５に提供し、エラー符号またはＣＲＣ符号を得る。次に、符号化された読み出しデータは、循環バッファ１５７に記憶され、圧縮回路１５９によって圧縮される。ＩＣ１１０による要求に応じて、周期的にまたは試験／保守動作中に、圧縮回路１５９は、符号化および圧縮された読み出しデータを送信機１４４に提供し、この送信機１４４が、読み出しデータを表す符号を、信号線１６４を介してＩＣ１１０に送信する。次に、下記で説明するように、ＩＣ１１０は、ＩＣ１５０からの、読み出しデータを表す符号を、ＩＣ１５０に送信された読み出しデータを表す内部で生成および記憶された符号と比較して、読み出しデータを転送する際において、または比較回路１２８から出力された読み出しエラー信号出力に応じて、エラーがいつ発生したかを判定してもよい。
【００１８】
別の実施形態において、制御情報、読み出しデータおよび書き込みデータは、循環バッファ１５６−１５８から得られ、かつ単独に圧縮および転送されるのではなく、組み合わされた圧縮符号を提供するように同時に圧縮され、この符号が送信機１４４から出力される。次に、ＥＤ回路１９０からのこの組み合わされた圧縮符号は、圧縮回路１２７からの同時に組み合わされ圧縮符号と比較回路１２８によって比較され、ＥＤ回路１８０においてエラー信号を生成してもよい。
【００１９】
送信機１４３に提供される読み出しデータは、図３に示し下記で説明するように、センス増幅器３０６などのメモリコアから提供して、ＩＣメモリ装置３００の記憶アレイに記憶された読み出しデータを得てもよい。別の実施形態において、図４に示し下記で説明するように、読み出しデータは、ＩＣバッファ装置４００におけるインタフェース４２０ａ−ｂから（マルチプレクサ４３０ａ−ｂを介して）提供される。
【００２０】
循環バッファ１５８、圧縮回路１５９および送信機１４４を用いるＥＤ回路１９０は、同様に、記憶された符号化制御情報を、受信機１４０を介してＩＣ１１０に提供してもよい。
【００２１】
ＩＣ１１０には、相互接続部１６０に結合された送信機１３０、１３１および１３２が含まれる。特に、制御情報は、信号線１６１および符号化回路１２０に結合された送信機１３０に提供される。制御情報または制御トランザクションはまた、トランザクション制御回路１２９に入力される。次に、符号化された制御情報は、符号化回路１２０から、圧縮回路１２１および循環バッファ１２６に出力される。次に、圧縮回路１２１は、制御情報またはＣＲＣ符号を表す符号を、信号線１６２上で符号を送信する送信機１３１に提供する。書き込みデータは、送信機１３２、トランザクション制御回路１２９および符号化回路１２２に提供される。次に、符号化回路１２２は、循環バッファ１２４に記憶される書き込みデータを表す符号を出力する。同様に、信号線１６３に結合された受信機１３３から受信された読み出しデータは、符号化回路１２３に提供され、この符号化回路１２３が、受信機１３３から受信された読み出しデータを表す符号を出力する。次に、符号は、循環バッファ１２５に入力される。
【００２２】
トランザクション制御回路１２９は、最近のトランザクションを記憶し、圧縮回路１２７への循環バッファ１２４、１２５および１２６の出力を制御する。トランザクション制御回路１２９はまた、比較回路１２８への圧縮回路１２７の出力を制御するが、この比較回路１２８は、ＩＣ１１０において生成された制御情報、書き込みデータおよび読み出しデータを表す符合を、受信機１３４を介してＩＣ１５０から受信された制御情報、書き込みデータおよび読み出しデータを表す符号と比較する。下記で説明するように、ＩＣ１１０は、制御情報、書き込みデータおよび／または読み出しデータなどの情報を再送信する際に、トランザクション制御回路１２９ならびに循環バッファ１２４−１２６および１５６−１５８に記憶されたトランザクションにアクセスするが、これによって、エラー信号は比較回路１２８から出力される。比較回路１２８による比較後にエラー信号が出力されない（または、代わりに経路信号が出力される）場合には、記憶されたトランザクションは、クリアまたは消去してもよい。
【００２３】
ＩＣ１１０は、ＩＣ１５０からの（受信機１３４を介した）書き込みデータを表す符号を、書き込みデータを表す、内部で生成および記憶された符号（循環バッファ１２４に記憶された）と比較して、書き込みデータを転送した際にエラーが発生した場合には比較回路１２８からエラー信号を出力してもよい。ＩＣ１１０はまた、ＩＣ１５０からの（受信機１３４を介した）読み出しデータを表す符号を、（循環バッファ１２５に記憶された）読み出しデータを表す、内部で生成および記憶された符号と比較して、読み出しデータを転送した際にエラーが発生した場合には比較回路１２８からエラー信号を出力してもよい。ＩＣ１１０はまた、ＩＣ１５０からの（受信機１３４を介した）制御情報を表す符号を、（循環バッファ１２６に記憶された）制御情報を表す、内部で生成および記憶された符号と比較して、制御情報を転送した際にエラーが発生した場合には比較回路１２８からエラー信号を出力してもよい。比較回路１２８は、圧縮回路１２７からの符号が、受信機１３４から受信された符号と一致しないかまたは等しくない場合に、エラー信号を出力する。
【００２４】
制御情報は、制御情報用のエラー信号が比較回路１２８から出力された場合には、送信機１３０から再試行または再送信してもよい。特に、集積回路１１０は、トランザクション制御回路１２９にアクセスして、どの記憶されたトランザクションを再試行すべきかを判定する。集積回路１１０はまた、循環バッファ１２４−１２６および１５６−１５７にアクセスして、どの特定のトランザクションが失敗したかまたは誤っているかを判定する。書き込みデータ用のエラー信号が比較回路１２８から出力された場合には、書き込みデータを送信機１３２から再試行または再送信してもよい。読み出しデータ用のエラー信号が比較回路１２８から出力された場合には、読み出しデータを、ＩＣ１５０における送信機１４３から再試行または再送信してもよい。一実施形態において、ＩＣ１１０は、制御情報を送信機１３０に提供して、誤っていると判定された読み出しデータを再試行または再転送するようにする。
【００２５】
単独または組み合わされた循環バッファ１２４−１２６および１５６−１５８は、２進情報を連続して書き込み、読み出す記憶回路である。循環バッファは、そこに書き込まれるかまたはそこから読み出される次の２進情報のために、記憶回路における現在の位置を識別するポインタを用いてもよい。
【００２６】
単独または組み合わされた符号化回路１２０、１２２−１２３、１５１および１５４−１５５は、２進情報の第１のセットを、２進情報の第２のセットまたは符号に符号化する回路である。符号化回路は、制御情報、読み出しデータおよび／または書き込みデータなどの２進情報を、エラーの検出を可能にするＥＣＣに符号化してもよい。例えば、記憶アレイから読み出されたかまたは記憶アレイに記憶される６４ビットワードは、６４ビットワードを付加されるかまたは共に転送される６ビットＥＣＣに符号化してもよい。ＥＣＣは、４ビット、６ビット、１６ビットまたは３２ビット多項式などの多項式である。他の実施形態では、Ｎビット多項式が用いられる。結果としての多項式は、巡回冗長検査符号（「ＣＲＣ符号」か、４ビット多項式用の「ＣＲＣ−４」か、または６ビット多項式用の「ＣＲＣ−６」など）として公知である。ＣＲＣ−Ｎｓは、International Telecommunication Union-Telecommunication Standardization Sector（「ＩＴＵ−ＴＳ」）によって定義してもよく、用いられる。ＣＲＣ−１６は、全てのシングルおよびダブルビットエラーの検出が可能であり、かなりの数の起こり得るエラーの検出を保証することができる。１つまたは複数の符号化回路１２０、１２２−１２３、１５１および１５４−１５５は、複数のＸＯＲゲートを含んで、ＣＲＣ符号を出力してもよい。
【００２７】
単独または組み合わされた送信機１３０−１３２および１４３−１４４には、それぞれの信号を相互接続部１６０に出力する出力ドライバ回路を含んでもよい。出力ドライバ回路は、プルアップ、プルダウンおよび／またはプッシュプルタイプの出力ドライバ回路であってもよい。
【００２８】
複数の圧縮回路が、圧縮回路１５９および／または１２７の代わりに用いられてもよい。単一の符号化回路が、複数の符号化回路の代わりに用いられてもよい。
【００２９】
図２Ａ−Ｂは、ＩＣ１１０および／または１５０などの集積回路を動作させるための方法２００の実施形態を示す。実施形態において、図２Ａ−Ｂに示す論理ブロックは、ハードウェア、ソフトウェアまたはそれらの組み合わせによって実行される。実施形態において、図２Ａ−Ｂに示す論理ブロックは、動作またはステップを示す。実施形態において、単独または組み合わせて図１に示す回路は、図２Ａ−Ｂに示す論理ブロックを実行する。様々な実施形態において、図示されてない他の論理ブロックを含んでもよい。同様に、様々な実施形態において、図示された論理ブロックは除外してもよい。また、方法２００は、順次論理ブロックで記載されているが、方法２００における論理ブロックのステップは、非常に迅速にまたはほとんど瞬時に完了される。
【００３０】
方法２００は、エラーがメモリトランザクションで発生したかどうかの判定がなされる論理ブロック２０１および２０２で始まる。メモリトランザクションは、読み出しデータの転送であってもよい。受信機１３４を介したＩＣ１５０からの読み出しデータを表す符号は、循環バッファ１２５および圧縮回路１２７を介した読み出しデータを表す符号と、（比較回路１２８を用いて）比較してもよい。あるいは、制御情報、読み出しデータおよび書き込みデータを表す単一の組み合わされた圧縮符号は、メモリ装置および／またはバッファ装置から提供され、かつ制御情報、読み出しデータおよび書き込みデータを表す、内部で生成され組み合わされた別の圧縮符号と比較されて、エラーがメモリトランザクションにおいて発生したかどうかを判定してもよい。エラーが検出されるかどうかの判定は、図５に示すコントローラ装置５０１などのコントローラ装置および／または図６に示すバッファ装置６００におけるハードウェアによって実行してもよい。読み出しデータおよび／または圧縮され組み合わされた符号においてエラーが検出されない場合には、前のトランザクションを記憶するバッファはクリアされ、メモリ動作は、論理ブロック２１１で示すように継続する。トランザクション制御回路１２９には、クリアまたは消去が可能なトランザクションキューまたは記憶回路が含まれる。他の場合には、読み出しデータおよび／または圧縮された組み合わせ符号においてエラーが検出された場合には、メモリトランザクションが停止される論理ブロック２０３に、制御が移る。メモリトランザクションの休止または停止は、ファームウェアを実行する埋め込みプロセッサなどのコントローラ装置によってか、またはエラー信号に応じて中断される別個のプロセッサによって実行してもよい。次に、論理ブロック２０４−２０５によって示すように、循環バッファ１２４、１２５および１２６における符号が、受信機１３４を介したＩＣ１５０からの符号と比較されて、エラーが、書き込みデータ（つまり論理ブロック２０１において読み出され、続いて誤っていると判定された）、読み出しデータ、またはアドレス情報などの制御情報の転送において発生したかどうかを判定するようにする。論理ブロック２０６によって示すように、エラーが、アドレス情報または書き込み／読み出しデータの転送において発生したかどうかの判定がなされる。エラーがアドレスで発生した場合には、アドレス情報の転送が失敗した後の全てのメモリトランザクションは、論理ブロック２０８によって示すように、再発行または再試行される。他の場合には、論理ブロック２０７に示すように、エラーが、書き込みデータまたは読み出しデータの転送において発生したかどうかの判定がなされる。論理ブロック２０７によって判定されるように、エラーが、読み出しデータの転送において発生した場合には、論理ブロック２０９によって示すように、読み出しデータが再試行または再送信される。論理ブロック２０７によって判定されるように、エラーが、書き込みデータの転送において発生した場合には、論理ブロック２１０によって示すように、書き込みデータが再試行または再送信される。論理ブロック２１２に示すように、他のエラーが検査される。他のエラーが検出された場合には、制御は、論理ブロック２０２に移る。他の場合には、制御は、最近のトランザクション情報を記憶するトランザクションバッファをクリアすることを示す論理ブロック２１３へ移る。メモリトランザクションは、論理ブロック２１４に示すように再開され、方法２００は終了する。
【００３１】
図３は、ＥＤ回路１９０をインタフェース３１０に含んだ集積回路メモリ装置３００を示す。集積回路メモリ装置３００は、列復号化回路３０２および行復号化回路３０３を有するメモリコア３０１にＮ記憶アレイ（メモリバンク）３０４を含む。各メモリバンク３０４には、記憶アレイまたは複数の記憶セルを含んでもよい。
【００３２】
集積回路メモリ装置３００は、メモリトランザクションにおいて、メモリ動作コマンドおよびアドレス情報などの制御情報をＥＤ回路１９０から受信する。制御情報には、特定の信号線において特定のビットウィンドウでアサートされた１つまたは複数の信号を表す要求パケットを含んでもよい。
【００３３】
行復号化回路３０３および列復号化回路３０２は、行復号化回路３０３および列復号化回路３０２を経由して受信された制御信号に応じて、記憶アレイ３０４に記憶されたデータにアクセスするために用いられる。行復号化回路３０３および列復号化回路３０２は、ＥＤ回路１９０においてＩＣメモリ装置３００によって受信されたコマンドおよびアドレスに応じて、制御信号を生成してもよい。例えば、行３０５などの複数の記憶セルに記憶されたデータは、行コマンドに応じて、センス増幅器３０６を用いて検出される。行３０５は、行復号化回路３０３に提供された行アドレスによって識別される。センス増幅器３０６において検出されたデータのサブセットが、列復号化回路３０２に提供された列コマンドに応じて選択される。データのサブセットは、列復号化回路３０２に提供された列アドレスによって識別される。
【００３４】
図４は、インタフェース４１０にＥＤ回路１９０を有するＩＣバッファ装置４００を示す。上記のように、ＥＤ回路１９０は、ＩＣバッファ装置４００用の異なるタイプのメモリトランザクションに対応するＣＲＣ符号を受信および／または出力する。下記で詳細に説明するように、ＩＣバッファ装置４００は、メモリモジュールに配置するか、ＩＣメモリ装置もしくはダイと共に共通パッケージに収容するか、またはマザーボード、例えばパーソナルコンピュータもしくはサーバにおけるメインメモリに位置してもよい。ＩＣバッファ装置４００はまた、例えば、コンピュータグラフィックカード、ビデオゲーム機またはプリンタで見出されるメモリサブシステムなどの埋め込みメモリサブシステムにおいて用いてもよい。
【００３５】
図４は、相互接続部１６０から制御情報、書き込みデータおよびＣＲＣ符号を受信するインタフェース４１０を示す。ＩＣバッファ装置４００に結合されたＩＣメモリ装置用に意図された制御情報、書き込みデータおよびＣＲＣ符号の多重組み合わせは、インタフェース４１０を介して受信してもよく、このインタフェース４１０は、例えば、制御情報を抽出してもよい。例えば、メモリコマンドおよびアドレス情報は、復号化し、相互接続部１６０において多重情報から分離し、インタフェース４１０から要求およびアドレス回路４４０に提供してもよい。書き込みデータは、インタフェース４１０経由でインタフェース４２０ａ−ｂに提供してもよく、ＩＣメモリ装置からの読み出しデータは、１つまたは複数のインタフェース４２０ａ−ｂにおいて受信し、マルチプレクサ４３０ａ−ｂを介してインタフェース４１０に提供してもよい。
【００３６】
インタフェース４１０および特にＥＤ回路１９０は、コントローラ装置または他のＩＣバッファ装置からＣＲＣ符号を受信する。要求およびアドレス回路４４０と共にインタフェース４１０は、別のＩＣ用に意図された１つまたは複数のＣＲＣ符号を、インタフェース４１０に結合された一相互接続部から、インタフェース４１０に結合された別の相互接続部に（または同じ相互接続部で）ルーティングまたは転送してもよい。インタフェース４１０におけるＥＤ回路１９０によって生成されたＣＲＣ符号は、インタフェース４１０に結合された１つまたは複数の相互接続部経由でアクセスされてもよい。
【００３７】
クロック信号および他の情報は、相互接続部１６０においてか、またはシリアルバスなどの他の相互接続部によって受信してもよい。インタフェース４１０は、送信回路もしくは送信機および受信回路もしくは受信機（またはトランシーバと呼ばれる組み合わせ）を含み、相互接続部１６０において信号を出力および受信してもよい。同様に、インタフェース４２０ａおよび４２０ｂは、相互接続部４２１および４２２をそれぞれ介して、ＩＣメモリ装置へおよびそこから、制御情報、書き込みデータおよび読み出しデータを受信および送信してもよい。インタフェース４２０ａ−ｂには、相互接続部４２１および４２２において信号を出力および受信する送信機および受信機を含んでもよい。単独または組み合わされた、インタフェース４１０および４２０ａ−ｂの送信機および受信機は、相互接続部４２１および４２２における特定の信号線の専用か、またはこれらの信号線に共有されてもよい。
【００３８】
インタフェース４２０ａ−ｂにおける送信機および受信機は、ＤＤＲ３信号など、第１のタイプの標準シグナリング特性（またはプロトコル）を有する信号を送信および受信してもよい。他方で、インタフェース４１０には、ＤＤＲ２信号など、第２のタイプの標準シグナリング特性を有する信号を送信および受信する送信機および受信機が含まれる。
【００３９】
インタフェース４２０ａ−ｂには、単方向相互接続部において制御情報を転送する送信機を含んでもよい。他方で、書き込みおよび読み出しデータ用の送信機および受信機は、双方向相互接続部において書き込みおよび読み出しデータを転送する。
【００４０】
マルチプレクサ４３０ａおよび４３０ｂは、適切なソース（すなわち、相互接続部のサブセットである内部データキャッシュをターゲットとする）からのデータを適切な目的地にルーティングするだけでなく、インタフェース４１０とインタフェース４２０ａおよび４２０ｂとの間で帯域幅集中動作を実行してもよい。帯域幅集中には、複数の相互接続部における各相互接続部の（より小さな）帯域幅を組み合わせて、相互接続部のより小さなグループにおいて利用される（より高い）全体的な帯域幅と一致するようにすることを含んでもよい。帯域幅集中は、典型的には、複数の相互接続部と相互接続部のより小さなグループとの間で、スループットの多重化および逆多重化を利用する。ＩＣバッファ装置４００は、インタフェース４２０ａおよび４２０ｂの組み合わされた帯域幅を利用して、インタフェース４１０の帯域幅と一致させてもよい。
【００４１】
キャッシュ４６０は、ＩＣバッファ装置４００組み込んでもよい。キャッシュ４６０は、最も頻繁に参照される書き込みおよび／または読み出しデータならびに関連するタグアドレスの記憶に、ＩＣメモリ装置のアクセス待ち時間特性よりも低いアクセス待ち時間特性を提供することによって、メモリアクセス時間を改善することができる。一実施形態において、キャッシュ４６０は、図１に示すような、ＥＤ回路１９０の循環バッファ１５６−１５８の代わりに用いてもよい。
【００４２】
計算回路４６５には、プロセッサまたはコントローラユニット、圧縮／復元エンジンなどを含んで、ＩＣバッファ装置４００の性能および／または機能性をさらに向上させてもよい。一実施形態において、計算回路４６５は、図１に示す、ＥＤ回路１９０の１つまたは複数の圧縮回路１５２および１５９の代わりに２進情報を圧縮するために用いられる。
【００４３】
クロック回路４７０は、外部クロック（図示せず）に対して位相または遅延調整内部クロック信号用の１つまたは複数のクロック整合回路が含まれる。クロック整合回路は、既存のクロック発生器からの外部クロック、または内部クロックを提供する内部クロック発生器を利用して、所定の一時的な関係を有する内部同期クロック信号を発生してもよい。クロック回路４７０には、位相ロックループ回路または遅延ロックループ回路を含んでもよい。クロック整合回路は、ＣＲＣ符号だけでなく転送または受信される制御情報、読み出しデータおよび／または書き込みデータと一時的な関係を有する内部クロック信号を提供してもよい。
【００４４】
（インタフェース４１０と同様に）インタフェース４２０ａ−ｂにおける送信機は、符号化されたクロック情報を含む差動信号を送信してもよく、受信機は、符号化されたクロック情報を含む差動信号を受信してもよい。例えば、クロック回路４７０は、受信機によって受信されたデータで符号化されたクロック情報を抽出する。さらに、クロック情報は、送信機によって送信されるデータで符号化される。例えば、クロック情報は、最小数の信号遷移が、所与数のデータビットにおいて発生することを保証することによって、データ信号上に符号化してもよい。
【００４５】
シリアルインタフェース４７４は、コントローラまたは他の構成回路からシリアル情報を受信するインタフェースである。シリアル情報には、ＩＣバッファ装置４００またはメモリモジュール用の初期化信号を含んでもよい。シリアルインタフェース４７４は、ＥＤ回路１９０における圧縮回路１５９から出力されるＣＲＣ符号を得るために、ＩＣ１１０（またはコントローラ装置）が用いてもよい。
【００４６】
図５は、ＥＤ回路１８０を複数のメモリモジュール５２０ａ−ｎに結合したコントローラ装置５０１を含むメモリシステム５００を示す。複数のメモリモジュール５２０ａ−ｎには、それぞれのＥＤ回路１９０ａ−ｎを有する複数のそれぞれのＩＣバッファ装置５２５ａ−ｎと、相互接続部５３０ａ−ｎとの間で信号を転送するコネクタ５２２ａ−ｎが含まれる。それに応じて、ＩＣバッファ装置５２５ａ−ｎは、相互接続部４２１および４２２を用いて、複数のＩＣメモリ装置５２１ａ−ｈとＩＣバッファ装置５２５ａ−ｎとの間で信号を転送する。一実施形態において、複数のＥＤ回路１９０ａ−ｎにおける少なくとも１つのＥＤ回路が、図１に示すＥＤ回路１９０に対応する。
【００４７】
コントローラ装置５０１ならびにメモリモジュール５２０ａ、５２０ｂおよび５２０ｎは、相互接続部５３０ａ、５３０ｂおよび５３０ｎによって結合される。相互接続部５３０ａは、図１および４に示す相互接続部１６０に対応する。相互接続部５３０ａ、５３０ｂおよび５３０ｎには、コントローラ装置５０１からＩＣバッファ装置５２５ａへ、およびＩＣバッファ装置５２５ａからＩＣバッファ装置５２５ｂへなど、単方向差動信号を用いて制御情報および書き込みデータを転送するそれぞれのポイントツーポイントリンクを含んでもよい。同様に、相互接続部５３０ｂおよび５３０ａにもまた、受信した制御情報に応じて、ＩＣバッファ装置５２５ｂからＩＣバッファ装置５２５ａへ、およびＩＣバッファ装置５２５ａからコントローラ装置５０１へ、単方向差動信号を用いて読み出しデータを転送するそれぞれのポイントツーポイントリンクを含んでもよい。
【００４８】
一実施形態において、ポイントツーポイントリンクは、１つまたは複数の信号線を示すが、各信号線は、単に２つのトランシーバ接続点を有し、各トランシーバ接続点は、送信機、受信機またはトランシーバ回路に結合される。例えば、ポイントツーポイントリンクには、一端部またはその近くに結合された送信機、およびもう一方の端部またはその近くに結合された受信機を含んでもよい。
【００４９】
１つまたは複数の相互接続部５３０ａ、５３０ｂおよび５３０ｎには、異なるタイプのバスまたはポイントツーポイントリンクアーキテクチャを含んでもよい。相互接続部はまた、異なるタイプのシグナリングおよびクロッキングタイプアーキテクチャを有してもよい。異なるリンクアーキテクチャを有する実施形態には、同時双方向リンク、時間多重双方向リンク、および複数の単方向リンクが含まれる。これらのリンクまたはバスアーキテクチャのいずれかにおいて、電圧または電流モードシグナリングを用いてもよい。
【００５０】
メモリモジュール５２０ａ−ｎにおける１つまたは複数のメモリモジュールは、標準ＤＩＭＭフォームファクタを有するデュアルインラインメモリモジュール（「ＤＩＭＭ」）であってもよい。メモリモジュールは、「システムインパッケージ」（「ＳＩＰ」）として、単一の一体型パッケージに含まれてもよい。一タイプのＳＩＰ実施形態において、メモリモジュールには、互いの上に積み重ねられ、かつ導電性相互接続部を介して結合された一連の集積回路ダイ（すなわち、メモリ装置およびバッファ装置）を含んでもよい。メモリモジュールが、プリント回路基板にしっかりと装着されるように、はんだボールまたはリード線をコネクタインタフェースとして用いてもよい。コネクタインタフェースはまた、メモリモジュールがシステムの残りから着脱可能なように、例えば、雄および雌部分を含む、物理的に分離可能なタイプのものであってもよい。別のＳＩＰ実施形態には、共通基板平面に２次元構成で配置され、かつ単一のパッケージハウジング内に位置する多数のメモリ装置およびバッファ装置を含んでもよい。
【００５１】
クロック源５１０は、１つまたは複数のクロック信号を、相互接続部５３３でコントローラ装置５０１およびメモリモジュール５２０ａ−ｎに提供してもよい。相互接続部５３３における１つまたは複数の信号線は、ＩＣバッファ装置５２５ａ−ｎのクロック回路４７０に結合されてもよい。クロック源５１０は、クロック信号を提供するクロック発生器であってもよい。クロック源５１０は、コントローラ装置５０１に含まれてもよい。クロック源５１０からのクロック信号を用いて、コントローラ５０１と、単独または組み合わされたメモリモジュール５２０ａ−ｎとの間で転送されるＣＲＣ符号だけでなく、制御情報、読み出しデータおよび書き込みデータ間の一時的な関係を提供してもよい。
【００５２】
相互接続部５３１は、コントローラ装置５０１をメモリモジュール５２０ａ−ｎに結合する。相互接続部５３１は、ＩＣバッファ装置５２５ａ−ｎのシリアルインタフェース４７４に結合されたシリアルバスであってもよい。
【００５３】
図１で示す実施形態に戻ると、ＩＣ１１０および１５０は、相互接続部１６０に結合するための、ピンおよび／またはボールなどの複数の導電性コンタクトを含むパッケージに収容されてもよい。複数のコンタクト、はんだボールまたはピンは、インタフェースと基板との間に電気接続を提供するインタフェースに含まれてもよい。一実施形態において、インタフェースは、コネクタまたは基板から着脱可能であってもよい。一実施形態において、ＩＣ１１０、１５０および関連する相互接続部は、ＩＣ１１０および１５０の両方を収容する１つの集積モノリシック回路および／またはパッケージにあってもよい。
【００５４】
図６は、複数の集積回路メモリ装置（またはダイ）３００ａ−ｄと、エラー検出回路１８０／１９０を有するバッファ装置（またはダイ）４００と、を有する装置６００を示すブロック図である。１つまたは複数の集積回路メモリ装置３００ａ−ｄは、図３に示す集積回路メモリ装置３００に対応してもよく、バッファ装置４００は、図４に示す集積回路バッファ装置４００に対応してもよい。バッファ装置４００は、循環バッファ１５６−１５８を含むエラー検出回路１９０を含んで、制御情報、書き込みデータおよび／または読み出しデータを、相互接続部１６０を通じてコントローラ装置１１０から、またはそこへ転送する際にエラーが発生したかどうかを判定する。同様に、バッファ装置４００はまた、エラー検出回路１８０を含んでもよいが、このエラー検出回路１８０は、バッファ装置４００と、エラー検出回路１９０を含んでもよい１つまたは複数のメモリ装置３００ａ−ｄとの間における、制御情報、書き込みデータおよび／または読み出しデータの転送においてエラーを検出する際に用いられる。
【００５５】
ここで、データ（読み出しおよび／または書き込み）は、相互接続部６０６において、複数の集積回路メモリ装置３００ａ−ｄとバッファ装置４００との間で転送してもよい（読み出し／書き込みデータ）。相互接続部６０６は、装置６００の内部に位置する相互接続部であり、複数の集積回路メモリ装置３００ａ−ｄとバッファ装置４００との間で双方向データ信号を提供するためのバスであってもよい。双方向データ信号の例には、集積回路メモリ装置３００ａ−ｄの１つまたは複数からバッファ装置４００に移動する信号、およびまたバッファ装置４００から集積回路メモリ装置３００ａ−ｄの１つまたは複数に移動する信号が含まれる。相互接続部６０５は、装置６００の内部の相互接続部であり、バッファ装置４００から複数の集積回路メモリ装置３００ａ−ｄに単方向制御／アドレス／クロック信号を提供するためのバスであってもよい。単方向バスの例において、信号は、一方向だけに、すなわち、この場合には、バッファ装置４００から集積回路メモリ装置３００ａ−ｄの１つまたは複数だけに移動する。相互接続部６０５には、個別の制御信号線、例えば、行アドレスストローブ線、列アドレスストローブ線等、およびアドレス信号線を含んでもよい。相互接続部６０５には、バッファ装置４００から集積回路メモリ装置３００ａ−ｄにクロック信号を転送するフライバイクロック線を含んでもよい。相互接続部６０５は、１つまたは複数の集積回路メモリ装置３００ａ−ｄからバッファ装置４００にクロック信号を転送してもよい。
【００５６】
相互接続部１６０は、装置６００および特にバッファ装置４００に結合してもよい。相互接続部１６０は、バッファ装置４００とコントローラ装置１１０との間で、単方向制御／アドレス／クロック信号、および双方向または単方向データ信号を転送する。また、代替実施形態において、他の相互接続部および外部接続トポロジを、装置６００用に用いてもよい。例えば、バッファ装置６００は、単一分岐制御バス、スプリット分岐制御バスまたはセグメント分岐バスに結合してもよい。
【００５７】
一実施形態において、バッファ装置４００は、シリアル・プレゼンス・ディテクト装置（「ＳＰＤ」）６０２と通信して、装置６００および／またはメモリモジュール５２０ａ−ｎに関するパラメータおよび構成情報を記憶および検索する。一実施形態において、ＳＰＤ６０２は、不揮発性記憶装置である。相互接続部６０４は、ＳＰＤ６０２をバッファ装置４００に結合する。一実施形態において、相互接続部６０４は、ＳＰＤ６０２とバッファ装置４００との間で双方向信号を提供するための内部信号経路である。
【００５８】
ＳＰＤ６０２は、ＥＥＰＲＯＭ装置であってもよい。しかしながら、限定するわけではないが、特定の論理レベル（ハイまたはロー）に結び付けられたプルアップもしくはプルダウン抵抗ネットワークなどの手動のジャンパまたはスイッチ設定を含む他のタイプのＳＰＤ６０２が可能であり、これらは、メモリモジュールが追加されたかまたはシステムから取り除かれた場合に状態を変更することができる。
【００５９】
一実施形態において、装置６００は、２つの別個の電源を有する。電源Ｖ１は、１つまたは複数のメモリ装置（メモリ装置３００ａ−ｄ）に電力を供給する。電源Ｖ２は、１つまたは複数のバッファ（バッファ装置４００）に電力を供給する。一実施形態において、バッファ装置４００は、メモリ装置３００ａ−ｄに電力を供給するための内部電力調整回路を有する。
【００６０】
図４に戻ると、記憶アレイ３０４には、記憶セルの２次元アレイが含まれる。記憶アレイの記憶セルは、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）セル、スタティックランダムアクセスメモリ（「ＳＲＡＭ」）セル、ＦＬＡＳＨセル、強誘電体ＲＡＭ（「ＦＲＡＭ」）セル、磁気抵抗もしくは磁気ＲＡＭ（「ＭＲＡＭ」）セル、または他の等しいタイプのメモリ記憶セルであってもよい。ＩＣメモリ装置３００は、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ」）ＩＣメモリ装置または後世代のＩＣメモリ装置（例えば、「ＤＤＲ２」もしくは「ＤＤＲ３」）であってもよい。代替実施形態において、ＩＣメモリ装置３００は、ＸＤＲＴＭ  ＤＲＡＭ  ＩＣメモリ装置またはダイレクトラムバス（Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ）（登録商標）ＤＲＡＭ（「ＤＲＤＲＡＭ」）メモリ装置である。
【００６１】
図１に示す実施形態において、ＩＣ１１０はマスタ装置であるが、これは、他のインタフェースまたは機能性、例えばチップセットのノースブリッジチップを含む集積回路装置であってもよい。マスタ装置は、マイクロプロセッサ、グラフィックプロセッサユニット（「ＧＰＵ」）、またはビジュアルプロセッサユニット（「ＶＰＵ」）に統合されてもよい。マスタ装置は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）として実現してもよい。ＩＣ１１０および１５０は、パーソナルコンピュータ、グラフィックカード、セットトップボックス、ケーブルモデム、携帯電話、ゲーム機、デジタルテレビセット（例えば、高精細度テレビ（「ＨＤＴＶ」））、ファックス機、ケーブルモデム、デジタル多用途ディスク（「ＤＶＤ」）プレーヤもしくはネットワークルータなどの様々なシステムまたはサブシステムに含まれてもよい。
【００６２】
本明細書で説明する信号は、導電体によって装置／回路間および装置／回路内で送信または受信してもよく、限定するわけではないが、電気信号の電圧または電流レベルの変調を含む多くのシグナリング技術を用いて発生してもよい。信号は、データだけでなく、任意のタイプの制御およびタイミング情報（例えば、コマンド、アドレス値、クロック信号および構成情報）を表してもよい。また、図示の単一の信号は、一実施形態において、それぞれの信号線における複数の信号を表してもよい。
【００６３】
実施形態において、本明細書で説明する相互接続部には、複数のワイヤおよび／または金属トレース／信号線など、複数の導電性要素または信号経路が含まれる。複数の信号経路が、図に示す単一の信号経路の代わりに用いられてもよく、単一の信号経路が、図に示す複数の信号経路の代わりに用いられてもよい。相互接続部には、バスおよび／またはポイントツーポイント接続部を含んでもよい。相互接続部には、制御およびデータ信号線を含んでもよい。代替実施形態において、相互接続部には、データ信号線だけかまたは制御信号線路だけが含まれる。さらに他の実施形態において、相互接続部は、単方向（一方向に移動する信号）、双方向（２つの方向に移動する信号）、または単方向信号線および双方向信号線の両方の組み合わせである。
【００６４】
本明細書に開示する様々な回路が、それらの挙動、レジスタ転送、論理コンポーネント、トランジスタ、レイアウトジオメトリおよび／または他の特性の点で、様々なコンピュータ可読媒体において具体化されるデータおよび／または命令として、コンピュータ支援設計ツールを用いて記述され、表現（または表示）可能であることに留意されたい。かかる回路表現が実現可能なファイルおよび他のオブジェクトのフォーマットには、限定するわけではないが、Ｃ、ベリログ（Ｖｅｒｉｌｏｇ）およびＨＬＤＬなどの動作言語をサポートするフォーマット、ＲＴＬのようなレジスタレベル記述言語をサポートするフォーマット、ＧＤＳＩＩ、ＧＤＳＩＩＩ、ＧＤＳＩＶ、ＣＩＦ、ＭＥＢＥＳなどのジオメトリ記述言語をサポートするフォーマット、および任意の他の適切なフォーマットおよび言語が含まれる。かかるフォーマットされたデータおよび／または命令を具体化できるコンピュータ可読媒体には、限定するわけではないが、様々な形態における不揮発性記憶媒体（例えば、光、磁気または半導体記憶媒体）と、無線、光もしくは配線式シグナリング媒体またはこれらの任意の組み合わせを通して、かかるフォーマットされたデータおよび／または命令を転送するために用いることができる搬送波と、が含まれる。搬送波による、かかるフォーマットされたデータおよび／または命令の転送例には、限定するわけではないが、１つまたは複数のデータ転送プロトコル（例えば、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰ等）を介し、インターネットおよび／または他のコンピュータネットワークを通じた転送（アップロード、ダウンロード、電子メール等）が含まれる。１つまたは複数のコンピュータ可読媒体を介してコンピュータシステム内で受信される場合には、上記の回路のかかるデータおよび／または命令ベースの表現は、限定するわけではないが、ネットリスト生成プログラム、プレイスアンドルートプログラムなどを含む１つまたは複数の他のコンピュータプログラムの実行と連携して、コンピュータシステム内の処理エンティティ（例えば、１つまたは複数のプロセッサ）によって処理されて、かかる回路の物理的発現の表現または画像を生成してもよい。その後、かかる表現または画像は、例えば、装置製造プロセスにおいて回路の様々な構成要素を形成するために用いられる１つまたは複数のマスクの生成を可能にすることによって、装置製造において用いることが可能である。
【００６５】
前述の好ましい実施形態は、例示および説明のために提供された。それは、包括的であるようにも、実施形態を開示の形態に正確に限定するようにも意図されていない。修正および変更が、当業者には明らかになろう。実施形態は、本発明の原理およびその実際的な適用を最もよく説明し、それによって、当業者が、様々な実施形態に対して、かつ考えられる特定の用途に適した様々な修正に関して本発明を理解できるように、選択および説明された。本発明の範囲が、特許請求の範囲およびその均等物によって定義されるように意図されている。
【図面の簡単な説明】
【００６６】
図面の簡単な説明
【図１】実施形態に従って、エラー検出回路を有するシステム１００を示す。
【図２Ａ−Ｂ】実施形態に従って、異なるタイプのエラーを検出する方法２００を示すフローチャートである。
【図３】実施形態に従って、エラー検出回路を有する集積回路メモリ装置３００を示す。
【図４】実施形態に従って、エラー検出回路を有する集積回路バッファ装置４００を示す。
【図５】実施形態に従って、エラーを検出するメモリシステム５００を示す。
【図６】実施形態に従って、複数の集積回路メモリ装置と、エラー検出回路を有するバッファ装置とを含む装置６００を示す。
【図１】
2009537899.tif 000003
【図２Ａ】
2009537899.tif 000004
【図２Ｂ】
2009537899.tif 000005
【図３】
2009537899.tif 000006
【図４】
2009537899.tif 000007
【図５】
2009537899.tif 000008
【図６】
2009537899.tif 000009
【手続補正書】
【提出日】平成21年1月20日(2009.1.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
書き込みデータに対応するエラー管理情報を生成する装置常駐エラー管理回路と、
読み出しデータに対応するエラー管理情報を生成する装置常駐エラー管理回路と、
書き込みトランザクションにおける潜在エラーを表す情報、および読み出しトランザクションにおける潜在エラーを表す情報を、分析のために遠隔コントローラに出力する送信回路と、
を含むメモリ装置。
【請求項２】
前記書き込みデータに対応するエラー管理情報を生成する装置常駐エラー管理回路および前記読み出しデータに対応するエラー管理情報を生成する装置常駐エラー管理回路が、
実質的に共通の回路と、
各書き込みトランザクションまたは読み出しトランザクション用に巡回冗長検査符号（ＣＲＣ）を生成し、かつ前記ＣＲＣの少なくとも１つを装置常駐バッファに記憶する回路と、
を含む、請求項１に記載の装置。
【請求項３】
前記書き込みデータに対応するエラー管理情報を生成する装置常駐エラー管理回路が、各書き込みトランザクション用のエラー管理符号を生成するエラー符号生成回路を含み、
前記読み出しデータに対応するエラー管理情報を生成する装置常駐エラー管理回路が、各読み出しトランザクション用のエラー管理符号を生成するエラー符号生成回路を含み、
前記送信回路が、複数のトランザクションを表す複数のエラー管理符号を一緒に圧縮して圧縮情報を生成する圧縮回路を含み、
前記装置に関わる書き込みおよび読み出しトランザクションにおける実質的に全てのエラー検出が、前記トランザクションが書き込みまたは読み出しトランザクションかどうかにかかわらず、トランザクションの遠隔コントローラ側で行われるように、前記装置が、前記圧縮情報を分析のために前記遠隔コントローラに送信するように構成される、請求項１に記載の装置。
【請求項４】
前記メモリ装置が集積回路メモリ装置である、請求項１に記載の装置。
【請求項５】
前記書き込みデータに対応するエラー管理情報および前記読み出しデータに対応するエラー管理情報を記憶する少なくとも１つの装置常駐循環バッファをさらに含む、請求項１に記載の装置。
【請求項６】
前記送信回路が、
前記書き込みデータに対応するエラー管理情報および前記読み出しデータに対応するエラー管理情報を記憶するバッファと、
ハードウェア、ファームウェアまたはソフトウェアの少なくとも１つとして実現された同期論理であって、新しいトランザクション用のエラー管理情報を記憶するバッファ記憶位置を、少なくとも、エラーなしに実行されたトランザクションに対応するバッファ記憶位置用に再利用する同期論理と、
を含む、請求項１に記載の装置。
【請求項７】
前記書き込みデータに対応するエラー管理情報および前記読み出しデータに対応するエラー管理情報が、少なくとも１つのエラー検出符号を含む、請求項６に記載の装置。
【請求項８】
前記送信回路が、
複数のエラー符号を記憶するバッファと、
ハードウェア、ファームウェアまたはソフトウェアの少なくとも１つとして実現された同期論理であって、前記複数のエラー符号に基づいて、書き込みトランザクションにおける潜在エラーを表す情報、および読み出しトランザクションにおける潜在エラーを表す情報を、所定のイベントが発生したとき前記遠隔コントローラに選択的に出力する同期論理と、
を含む、請求項１に記載の装置。
【請求項９】
前記所定のイベントが、前記遠隔コントローラによって開始された読み出しトランザクションであり、前記装置が、少なくとも１つの制御ビット線をさらに含み、前記同期論理が、前記読み出しトランザクションを受信すると、前記複数のエラー符号を表す情報を、前記少なくとも１つの制御ビット線を介して出力する、請求項８に記載の装置。
【請求項１０】
前記少なくとも１つの制御ビット線が、少なくとも１つのデータマスクビット線を含み、前記同期論理が、前記読み出しトランザクション中に、前記複数のエラー符号を表す圧縮情報を、前記少なくとも１つのデータマスクビット線を介して出力する、請求項９に記載の装置。
【請求項１１】
前記所定のイベントが、前記遠隔コントローラからの所定のコマンドの受信を含む、請求項８に記載の装置。
【請求項１２】
前記装置が、少なくとも１つのシリアル制御線をさらに含み、前記同期論理が、書き込みトランザクションにおける潜在エラーを表すエラー検出情報、および読み出しトランザクションにおける潜在エラーを表す情報を、前記少なくとも１つのシリアル制御線を介して前記遠隔コントローラに出力する、請求項８に記載の装置。
【請求項１３】
読み出しデータまたは書き込みデータの少なくとも１つに対応するエラー管理情報を生成する装置常駐エラー管理回路と、
読み出しデータまたは書き込みデータの前記少なくとも１つに関連するメモリアドレスに対応するエラー管理情報を生成する装置常駐エラー管理回路と、
潜在アドレスエラー、および読み出しデータまたは書き込みデータの前記少なくとも１つにおける潜在エラーを表す情報を、分析のためにコントローラに出力する送信回路と、
を含むメモリ装置。
【請求項１４】
前記読み出しデータまたは書き込みデータの少なくとも１つに対応するエラー管理情報を生成する装置常駐エラー管理回路、および前記メモリアドレスに対応するエラー管理情報を生成する装置常駐エラー管理回路が、
実質的に共通の回路と、
各書き込みトランザクションまたは読み出しトランザクション用の巡回冗長検査符号（ＣＲＣ）を生成する回路と、
を含む、請求項１３に記載の装置。
【請求項１５】
前記書き込みデータまたは読み出しデータの少なくとも１つに対応するエラー管理情報を生成する装置常駐エラー管理回路が、各書き込みトランザクション用の、および各読み出しトランザクション用のエラー管理情報を生成するエラー符号生成回路を含み、
前記送信回路が、アドレス情報およびトランザクション情報に対して複数のエラー管理情報を一緒に圧縮する圧縮回路を含み、
前記装置に関わる書き込みおよび読み出しトランザクションにおける実質的に全てのエラー検出が、前記トランザクションが書き込みまたは読み出しトランザクションかどうかにかかわらず、トランザクションのコントローラ側で行われるように、前記装置が、前記圧縮情報を分析のために前記コントローラに送信するように構成される、請求項１３に記載の装置。
【請求項１６】
前記メモリ装置が集積回路メモリ装置である、請求項１３に記載の装置。
【国際調査報告】
2009537899.tif 000010
2009537899.tif 000011
2009537899.tif 000012