(57)【要約】複数の積層されたメモリデバイスダイおよびスルーシリコンビアによって互いに接続された論理ダイを含む可能性があるメモリシステム、システムおよび方法が開示される。このような一つの論理ダイは書き込みデータに対応するエラー検査コードを生成するエラーコードジェネレータを含む。エラー検査コードは、メモリデバイスダイに格納され、その後、メモリデバイスからその後読み出されたデータから生成されたエラー検査コードと比較される。コードが一致しない場合には、エラー信号を生成することができる。論理ダイはデータが読み出されたアドレスを記録するコントローラを含んでもよい。コントローラもしくはメモリアクセスデバイスは、記録されたアドレスにおいて、メモリデバイスダイへのアクセスを再度方向づけてもよい。コントローラは、スルーシリコンビアにおける欠陥を識別するために、結果としてエラー信号を生成したアドレスもしくはデータを調査することもできる。
2011527064.tif 000002
【特許請求の範囲】
【請求項１】
複数の導体を介して互いに接続された複数の積層メモリデバイスダイであって、前記メモリデバイスの各々は複数のメモリセルを含む、メモリデバイスダイと、
複数の導体を介して前記複数のメモリデバイスダイに結合された論理ダイであって、前記論理ダイは前記複数のメモリデバイスダイへとデータを書き込み、ならびに、前記複数のメモリデバイスダイからデータを読み出すように動作可能であり、前記論理ダイはエラー検査システムを含む、論理ダイと、
を含むメモリデバイスシステムにおいて、
前記エラー検査システムは、
前記メモリデバイスダイのうちの少なくとも一つへと書き込まれたデータを受信するように結合されたエラーコードジェネレータであって、前記エラーコードジェネレータは、前記メモリデバイスダイの少なくとも一つにおけるアドレスへ書き込まれるべきデータに対応するエラー検査コードを生成、ならびに格納するように動作可能であり、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスから読み出されたデータを受信し、そこに対応するエラー検査コードを生成するようにさらに動作可能である、エラーコードジェネレータと、
前記メモリデバイスダイのうちの少なくとも一つにおける読み出しアドレスへと書き込まれたデータに対応する前記格納されたエラー検査コード、および、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データに対応する前記生成されたエラー検査コードを受信するように結合されたエラーコンパレータであって、前記エラーコンパレータは、前記読み出しアドレスから読み出された前記データに対応する格納されたエラー検査コードが前記受信されたデータに対応して生成された前記エラーコードと一致しない場合にエラーを指示するように動作可能である、エラーコンパレータと、
を含む、
ことを特徴とするメモリデバイスシステム。
【請求項２】
前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データを訂正するために、ならびに前記読み出しアドレスへと前記訂正された読み出しデータを再書き込みさせるために、前記エラー指示に応じてさらに動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項３】
前記エラー検査システムは、前記訂正された読み出しデータを前記読み出しアドレスに対してまず書き込ませ、その後、前記読み出しアドレスにおいて格納された前記データを読み出させることによって、前記エラー指示がハードエラーに対応したものかどうかを判定するように動作可能である、内蔵プロセッサもしくはステートマシンを含み、また、前記エラー検査システムは、前記訂正された読み出しデータから生成された格納されたエラー検査コードを、前記読み出しアドレスにその後格納された前記データから生成されたエラー検査コードと比較するように動作可能であり、前記内蔵プロセッサもしくはステートマシンは、前記比較の結果としてのエラー指示の受信に応じてハードエラーを指示するようにさらに動作可能である、
ことを特徴とする請求項２に記載のメモリデバイスシステム。
【請求項４】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって、互いに結合されかつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記論理ダイがアドレスビットを適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、データが読み出され、エラーが指示される原因となった前記複数のアドレスを調査するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項５】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記論理ダイが書き込みデータのビットを適用する欠陥スルーシリコンビア、または、前記ＤＲＡＭダイが読み出しデータのビットを適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、読み出されてエラーが指示される原因となった前記データを調査するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項６】
前記メモリデバイスダイは、各々が前記複数のメモリデバイスダイの対応する複数のアドレス群を含む、複数のボールトへと分割される、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項７】
前記論理ダイは、
複数の書き込みコマンド、複数の読み出しコマンド、複数のアドレスおよび書き込みデータがそこを通して結合される複数のダウンストリームパスと、
読み出しデータがそこを通して結合される複数のアップストリームパスと、
前記メモリデバイスダイにおける前記複数のボールトのうち任意のボールトへと前記複数のダウンストリームパスの各々を結合し、前記複数のアップストリームパスの各々へと前記メモリデバイスダイにおける前記複数のボールトのうち任意のボールトを結合するように動作可能であるアクセス回路と、
をさらに含む、
ことを特徴とする請求項６に記載のメモリデバイスシステム。
【請求項８】
前記論理ダイは前記エラー検査システムへと結合された内蔵プロセッサもしくはハードウェアステートマシンをさらに含み、前記内蔵プロセッサもしくはハードウェアステートマシンは、前記データが読み出され、前記エラー指示の原因となった前記アドレスに対する複数のメモリ要求を、前記エラー指示に応じて異なるアドレスに対して転送するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項９】
プロセッサと、
複数の導体を介して互いに対して接続された複数の積層メモリデバイスダイであって、前記メモリデバイスの各々は複数のメモリセルを含む、メモリデバイスダイと、
前記プロセッサへと結合され、かつ、複数の導体を介して前記複数のメモリデバイスダイへと結合された論理ダイであって、前記論理ダイは前記複数のメモリデバイスダイへとデータを書き込み、ならびに、前記複数のメモリデバイスダイからデータを読み出すように動作可能であり、前記論理ダイはエラー検査システムを含む、論理ダイと、
を含むシステムにおいて、
前記エラー検査システムは、
前記メモリデバイスダイのうちの少なくとも一つへと書き込まれたデータを受信するために結合されたエラーコードジェネレータであって、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスへと書き込まれるべきデータに対応するエラー検査コードを生成し格納するように動作可能であり、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスから読み出されたデータを受信し、そこに対応するエラー検査コードを生成するようにさらに動作可能である、エラーコードジェネレータと、
前記メモリデバイスダイのうちの少なくとも一つにおける読み出しアドレスへと書き込まれたデータに対応する前記格納されたエラー検査コード、および、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データに対応する前記生成されたエラー検査コードを受信するために結合されたエラーコンパレータであって、前記エラーコンパレータは、格納されたエラー検査が前記生成されたエラー検査コードと一致しない場合にエラーを指示するように動作可能である、エラーコンパレータと、
前記論理回路ダイへと結合されたメモリアクセスデバイスであって、前記メモリアクセスデバイスは前記複数の論理回路ダイから前記エラー指示を受信し、前記メモリデバイスダイのうちの少なくとも一つへ複数のメモリ要求を適用するように動作可能であり、前記メモリアクセスデバイスは前記論理回路ダイからの前記エラー指示の受信に応じて、前記エラー検査コードが生成される原因となった、読み出された前記メモリセルに対応する前記アドレスを記録するようにさらに動作可能であり、前記メモリアクセスデバイスは、前記記録された複数のアドレス以外の複数のアドレスにおいて前記少なくとも一つのメモリデバイスに対して複数のメモリ要求をその後発行するようにさらに動作可能である、メモリアクセスデバイスと、
を含む、
ことを特徴とするシステム。
【請求項１０】
前記エラー検査システムは、訂正された読み出しデータを前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスへと書き込ませる書き込みコマンドをまず生成することによって、前記エラー指示がハードエラーに応じて生成されたかどうかを判定し、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスに書き込まれた前記訂正された読み出しデータを読み出させる読み出しコマンドをその後生成するように動作可能である内蔵プロセッサもしくはステートマシンをさらに含み、
前記エラーコンパレータは、前記読み出された訂正された読み出しデータから生成された前記エラー検査コードと、前記訂正された読み出しデータから生成された前記格納されたエラー検査コードとを比較するように動作可能であり、前記内蔵プロセッサもしくはステートマシンは、前記比較の結果としての前記エラーコンパレータからの前記エラー指示の受信に応じて、ハードエラーを指示する信号を生成し出力するようにさらに動作可能である、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記複数のメモリデバイスダイから前記論理ダイが複数の信号を受信する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、前記メモリデバイスダイから受信された複数の信号を調査するように動作可能である、
ことを特徴とする請求項９に記載のメモリデバイスシステム。
【請求項１２】
前記エラーコードジェネレータは、前記内蔵プロセッサもしくはハードウェアステートマシンが欠陥スルーシリコンビアを指示するエラーパターンを検出するのに応じて、前記論理ダイへのメモリ要求送信をサスペンドするために前記プロセッサへと要求を提供するように動作可能であり、
前記プロセッサは、前記論理ダイから前記要求を受信するのに応じて、前記論理ダイへの複数のメモリ要求の送信をサスペンドするように動作可能である、
ことを特徴とする請求項１１に記載のメモリデバイスシステム。
【請求項１３】
前記内蔵プロセッサもしくはハードウェアステートマシンは、欠陥スルーシリコンビアを指示する前記エラーパターンを調査し、前記欠陥スルーシリコンビアが、前記論理ダイが前記複数のメモリデバイスダイへと複数のアドレス信号を適用するスルーシリコンビアであるかどうか、または、前記欠陥スルーシリコンビアが、複数のデータ信号がそこを介して、前記論理ダイと前記複数のメモリデバイスダイとの間に結合されるスルーシリコンビアであるかどうかを判定するようにさらに動作可能である、
ことを特徴とする請求項１１に記載のメモリデバイスシステム。
【請求項１４】
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記欠陥スルーシリコンビアが、前記論理ダイが複数のアドレス信号を前記複数のメモリデバイスダイへと適用するスルーシリコンビアであることを決定するのに応じて、複数のアドレス信号が前記欠陥スルーシリコンビアを介して結合されることを必要としないアドレスへと、前記欠陥スルーシリコンビアを介して結合される複数のアドレス信号を含む複数のメモリ要求を方向づけるようにさらに動作可能である、
ことを特徴とする請求項１３に記載のメモリデバイスシステム。
【請求項１５】
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記欠陥スルーシリコンビアが、複数のデータ信号が前記論理ダイと前記複数のメモリデバイスダイとの間に結合されるスルーシリコンビアであることを決定するのに応じて、前記欠陥スルーシリコンビアを介して結合される前記データビットをマスキングするようにさらに動作可能である、
ことを特徴とする請求項１３に記載のメモリデバイスシステム。
【請求項１６】
前記メモリデバイスダイの各々は、其々、複数のダイナミックランダムアクセスメモリデバイスダイを含む、
ことを特徴とする請求項９に記載のシステム。
【請求項１７】
前記メモリアクセスデバイスは、複数のエラー指示の各々を生じる原因となった、読み出された前記メモリセルに対応する前記複数のアドレスを、前記エラーが生じた時間の指示とともに記録するように動作可能である、
ことを特徴とする請求項９に記載のシステム。
【請求項１８】
互いに接続され、かつ、複数の論理ダイへと接続された複数の積層メモリデバイスダイに対して、データ書き込みおよびデータ読み出しを行なう方法であって、前記方法は、
前記複数の論理ダイへと書き込みデータを結合することによって、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスへとデータを書き込むステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスへと書き込まれた前記データに対応するエラー検査コードを生成するステップと、
前記生成されたエラー検査コードを格納するステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスから読み出されたデータをその後に読み出すステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスからその後に読み出された前記データに対応するエラー検査コードを生成するステップと、
前記生成されたエラー検査コードと、前記格納されたエラー検査コードとを比較するステップと、
前記格納されたエラー検査コードが前記生成されたエラー検査コードと一致しない場合には、前記その後に読み出されたデータが読み出された前記アドレスを識別するステップと、
前記識別されたアドレス以外の前記少なくとも一つのメモリデバイスダイにおける複数のアドレスへとその後データを書き込み、ならびにそこからデータを読み出すステップと、
を含む、
ことを特徴とする方法。
【請求項１９】
前記識別されたアドレスに対する複数のメモリ要求を、異なるアドレスに対して転送するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記その後に読み出されたデータが読み出された前記アドレスを識別する前記動作は、
前記データがその後読み出された前記アドレスへと前記訂正されたデータを書き込むステップと、
前記訂正されたデータに対応するエラー検査コードを生成するステップと、
前記訂正されたデータに対応する前記生成されたエラー検査コードを格納するステップと、
前記データがその後読み出された前記アドレスにおいて前記訂正されたデータをその後読み出すステップと、
前記その後読み出された訂正されたデータに対応するエラー検査コードを生成するステップと、
前記その後読み出された訂正されたデータに対応する前記生成されたエラー検査コードと、前記訂正されたデータに対応する前記格納されたエラー検査コードとを比較するステップと、
前記訂正されたデータに対応する前記格納されたエラー検査コードが、前記その後に読み出された訂正されたデータに対応する前記生成されたエラー検査コードと一致しない場合には、前記その後に読み出された訂正されたデータが読み出された前記アドレスを識別するステップと、
を含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２１】
前記その後に読み出されたデータが読み出された前記アドレスを識別する前記動作は、
前記その後に読み出されたデータに対応する前記エラー検査コードと一致しない前記格納されたエラー検査コードに応じて、前記その後に読み出されたデータが読み出された前記アドレスにおいて前記少なくとも一つのメモリデバイスダイにおける複数のテストを実施するステップを含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２２】
前記複数のメモリデバイスダイは、前記複数のメモリデバイスダイの各々へと、および／もしくは前記複数のメモリデバイスダイの各々から複数の信号が結合される、複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記方法は、前記複数のメモリデバイスダイへと前記論理ダイが複数のアドレス信号を適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、前記識別された複数のアドレスを調査するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２３】
複数のアドレス信号が前記欠陥スルーシリコンビアを介して結合されることを必要としないアドレスへと前記複数のメモリデバイスダイに対する複数のアドレス信号を前記論理ダイが適用する、前記欠陥スルーシリコンビアへと適用される複数のアドレス信号を含む複数のメモリ要求を方向づけるステップをさらに含む、
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記複数のメモリデバイスダイは、前記複数のメモリデバイスダイの各々へと、および／もしくは前記複数のメモリデバイスダイの各々から複数の信号が結合される複数のスルーシリコンビアによって互いに、ならびに前記論理ダイへと結合され、前記方法は、前記論理ダイおよび前記複数のメモリデバイスダイの間に複数のデータ信号が結合される、欠陥スルーシリコンビアを指示するエラーパターンを検出するために、識別された複数のアドレスから読み出されたデータを調査するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２５】
前記欠陥スルーシリコンビアを介して結合される前記データビットをマスキングするステップをさらに含む、
ことを特徴とする請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリデバイスに関し、より詳細には、一つ以上の実施形態において、余剰メモリセルで欠陥メモリセルを置換することによるメモリデバイスにおける欠陥メモリセルの修復に関する。
【背景技術】
【０００２】
あらゆるタイプのメモリデバイスが発達するにつれて、あらゆる点においてその性能を改善する上での進歩が続いてきた。例えば、メモリデバイスの記憶容量は、幾何学的比率において増大し続けてきた。メモリデバイスを含む電子システムのより高速の動作速度と幾何学的に連動したこの増大した容量は、メモリデバイスの高い帯域幅をより重要なものにしてきた。ダイナミックランダムアクセスメモリ（“ＤＲＡＭ”）デバイスなどのメモリデバイスがより高帯域幅を必要とする一用途は、コンピュータシステムにおけるシステムメモリとして利用する場合である。プロセッサの動作速度が増大するにつれて、プロセッサはそれに応じてより高い速度でデータを読み出しおよび書き込みすることが可能である。しかしながら、従来のＤＲＡＭデバイスは、しばしば、このような高速でデータを読み出しおよび書き込みするための帯域幅は有していないため、それによって従来のコンピュータシステムの性能を遅延させる。この問題は、マルチコアプロセッサおよびマルチプロセッサコンピュータシステムの傾向によって悪化する。ハイエンドサーバとして動作するコンピュータシステムは、システムメモリデバイスの限られたデータ帯域幅のために、各４クロック周期のうちの３周期の間使用されていないことが現在推定される。実際には、システムメモリとして動作するＤＲＡＭデバイスの限られた帯域幅は、さもなければ動作可能であろう性能の１０％の低さへと低減する可能性がある。
【０００３】
メモリデバイスの帯域幅を増加させるための種々の試みがなされてきた。例えば、より広い内部データバスがより高い帯域幅を有するアレイとデータを伝送してやり取りするために使用されてきた。しかしながら、そのようにすることは、通常、メモリデバイスインターフェイスにおいて書き込みデータをシリアル化し、読み出しデータを非シリアル化することを必要とする。別のアプローチは、メモリデバイスの寸法を単に拡大する、もしくは逆に、そのフィーチャサイズを縮小することであったが、様々な理由によって、より高いデータ帯域幅に対する要求に拡大縮小などの幾何学的増大で対処し続けることは不可能である。同一パッケージ内で幾つかの集積回路メモリデバイスを積層するための提案もまたなされてきたが、そのようにすることによって、克服しなければならない他の多くの問題点を生みだす恐れがある。
【０００４】
より高いメモリ帯域幅を達成するためにメモリ容量を増加させるにつれて生じる可能性のある問題の一つは、メモリセルのうちの少なくとも幾つかが欠陥を有する可能性が高くなることである。本技術分野でよく知られているように、メモリデバイスは通常、製造中もしくは使用後のいずれかにおいて、少なくとも若干の欠陥メモリセルを有する。これらの欠陥メモリデバイスは、従来は、欠陥メモリセルに対して余剰メモリセルを置換することによって修復される。このような修復は、一つ以上の欠陥メモリセルもしくは関連回路を含む行に対して、メモリセルの余剰行を置換することによって、または、一つ以上の欠陥メモリセルもしくは関連回路を含む列に対して、メモリセルの余剰列を置換することによって、通常達成される。しかしながら、メモリ容量が大幅に増加することによって、欠陥メモリセルに対して余剰メモリセルを置換することによってメモリデバイスを修復することはより困難になる可能性がある。
【０００５】
したがって、欠陥メモリセルを含むメモリデバイスを修復するための必要性など、メモリデバイスのデータ帯域幅を大幅に増大することによって引き起こされる問題点および制限を最小限化するための方法および装置に対する必要性が存在する。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態に従うメモリデバイスを含むコンピュータシステムのブロック図である。
【図２】本発明の一実施形態に従うメモリデバイスのブロック図である。
【図３】本発明の一実施形態に従うメモリデバイスのより詳細なブロック図である。
【図４】図３のメモリデバイスにおいて使用される可能性のある欠陥メモリセル修復システムの一実施形態のブロック図である。
【図５】本発明の一実施形態に従うメモリセルを各々含む行もしくは列に対して、余剰行もしくは列を置換することによってメモリセルを修復するために、プロセッサもしくは他のデバイスによって実行されるプロセスを示すフローチャートである。
【図６】互いにおよび論理ダイに対して積層されたメモリダイを接続する欠陥スルーシリコンビアから結果として生じる可能性のあるメモリデバイス機能不良を修復するために、プロセッサもしくは他のデバイスによって実行されるプロセスを示すフローチャートである。
【発明を実施するための最良の形態】
【０００７】
（図１には示されていない）ダウンストリームレーンおよび分離されたアップストリームレーンに分割された比較的狭い高速バス１４を介してプロセッサ１２に接続された、本発明の一実施形態に従う大容量、高帯域幅メモリデバイス１０を含むコンピュータシステムが図１に示される。メモリデバイス１０は、４個のＤＲＡＭダイ２０、２２、２４、２６を含み、これらは互いに全く同一であり、互いの上部の上に積層される。メモリデバイス１０は４個のＤＲＡＭダイ２０、２２、２４、２６を含むが、メモリデバイスの他の実施形態はより多くのもしくはより少ない数のＤＲＡＭダイを使用する。ＤＲＡＭダイ２０、２２、２４、２６は、論理ダイ３０の上部の上に積層され、論理ダイ３０はプロセッサ１２とのインターフェイスとして機能する。論理ダイ３０は、ＤＲＡＭダイ２０、２２、２４、２６で実施されなければならない多数の機能を限定するなどの、メモリデバイス１０における種々の機能を実施することができる。例えば、論理ダイ３０は、ＤＲＡＭダイ２０、２２２４、２６におけるメモリセルの電源管理およびリフレッシュなどのメモリ管理機能を実施する可能性がある。幾つかの実施形態においては、論理ダイ３０はテストおよび／もしくは修復機能を実施し、エラー検査および訂正（“ＥＣＣ”）機能を実施する可能性がある。
【０００８】
ＤＲＡＭダイ２０、２２、２４、２６は、比較的広いバス３４によって、互いにおよび論理ダイ３０に対して接続される。バス３４は、スルーシリコンビア（“ＴＳＶ”）で実装される可能性があり、スルーシリコンビアは、ＤＲＡＭダイ上の同一位置においてＤＲＡＭダイ２０、２２、２４、２６を介して少なくとも部分的に伸長し、ダイ２０、２２、２４、２６上に形成される各導体に接続する多数の導体を含む。一実施形態においては、ＤＲＡＭダイ２０、２２、２４、２６の各々は１６個の自立したパーティションへと分割され、その各々は２個もしくは４個の独立したメモリバンクを含む可能性がある。このような場合には、互いの上部上に積層された各ダイ２０、２２、２４、２６のパーティションは、読み出しおよび書き込み動作のために独立してアクセスされてもよい。１６個の積層されたパーティションの各組は、“ボールト”と称される可能性がある。したがって、メモリデバイス１０は１６個のボールトを含む可能性がある。
【０００９】
図２に示されるように、一実施形態においては、バス３４は１６個の３６ビット双方向性サブバス３８ａ−ｐへと分割され、１６個の３６ビットサブバスの各々は、各ボールトにおける４個のパーティションへと結合される。これらのサブバスの各々は、論理ダイ３０とＤＲＡＭダイ２０、２２、２４、２６の間の３２ビットのデータと４個のＥＣＣビットに結合する。しかしながら、積層されたＤＲＡＭダイ２０、２２、２４、２６の数、各ＤＲＡＭダイにおけるパーティションの数、各パーティションにおけるバンクの数およびサブバス３８ａ−ｐの各々におけるビット数は所望のように変更することができる。論理ダイに対してプロセッサ１２を接続する比較的狭い高速バス１４は、４個の１６ビットダウンストリームレーン４０ａ−ｄおよび４個の分離された１６ビットアップストリームレーン４２ａ−ｄへと分割される。４個のダウンストリームレーン４０ａ−ｄは、図１に示されるように単一のプロセッサ１２に接続されてもよく、マルチコアプロセッサ、（図示されていない）マルチプロセッサ、もしくはメモリコントローラなどの他の幾つかのメモリアクセスデバイスに接続されてもよい。４個のダウンストリームレーン４０ａ−ｄは互いに独立して動作し、パケットは異なる時間にレーン４０ａ−ｄを介して、同一のボールトもしくは異なるボールトに対して結合される。
【００１０】
以下により詳細に説明されるように、論理ダイ３０によって実施される機能の一つは、ＤＲＡＭダイ２０、２２、２４、２６から結合された読み出しデータビットを、バス１４のアップストリームレーン４２ａ−ｄのうちの一つの１６個のパラレルビットの各々を介して結合される１６個のシリアルデータビットのシリアルストリームへとシリアル化することである。同様に、論理ダイ３０は、２５６個のパラレルデータビットを得るために、バス１４の１６ビットダウンストリームレーン４０ａ−ｄのうちの一つを介して結合される１６個のシリアルデータビットを非シリアル化する機能を実施してもよい。論理ダイ３０は、その後、８ビットのシリアルストリームにおいて、３２ビットサブバス３８ａ−ｐのうちの一つを介してこれらの２５６ビットを結合する。しかしながら、他の実施形態は、異なる幅を有する異なる数のレーン４０、４２または異なる幅を有する異なる数のサブバス３８ａ−ｐを使用してもよく、異なる構造を有するデータビットを結合してもよい。当業者によって理解されるように、複数ＤＲＡＭダイの積層は、結果として非常に大きな容量を有するメモリデバイスを生じる。さらには、ＤＲＡＭダイを接続する非常に広いバスの使用によって、データを非常に高い帯域幅を有するＤＲＡＭダイに対して、ならびにＤＲＡＭダイから結合することが可能になる。
【００１１】
本発明の一実施形態に従う論理ダイ３０は、プロセッサ１２およびＤＲＡＭダイ２０、２２、２４、２６に接続され、図３に示される。図３に示されるように、４個のダウンストリームレーン４０ａ−ｄの各々は、各々のリンクインターフェイス５０ａ−ｄへと接続される。各リンクインターフェイス５０ａ−ｄは、１６ビットのレーン４０ａ−ｄの各々における１６データビットの各シリアルストリームを２５６パラレルビットへと変換するデシリアライザ５４を含む。４個のリンクインターフェイス５０ａ−ｄが存在する限り、リンクインターフェイスは１０２４個の出力パラレルビットをともに出力することができる。
【００１２】
リンクインターフェイス５０ａ−ｄの各々は、その２５６パラレルビットを各々のダウンストリームターゲット６０ａ−ｄへと適用し、コマンドおよび受信されたパケットのアドレス部分をデコードし、書き込み動作に対するメモリ要求が生じた場合に書き込みデータをバッファする。ダウンストリームターゲット６０ａ−ｄは、各々のコマンド、アドレス、場合によっては書き込みデータをスイッチ６２に対して出力する。スイッチ６２は、１６個のマルチプレクサ６４を含み、その各々は、コマンド、アドレスおよびあらゆる書き込みデータを、ダウンストリームターゲット６０ａ−ｄのいずれかから、ＤＲＡＭダイ２０、２２、２４、２６の各々のボールトに対して方向づける。したがって、ダウンストリームターゲット６０ａ−ｄの各々は、ＤＲＡＭダイ２０、２２、２４、２６における１６個のボールトのうちのいずれにもアクセスすることができる。マルチプレクサ６４は、各々のボールトがメモリ要求のターゲットであるかどうかを判定するために、受信されたメモリ要求におけるアドレスを使用する。マルチプレクサ６４の各々は、メモリ要求を１６個のボールトコントローラ７０ａ−ｐのうちの各一つへと適用する。
【００１３】
各ボールトコントローラ７０ａ−ｐは各々のメモリコントローラ８０を含み、メモリコントローラ８０の各々は書き込みバッファ８２、読み出しバッファ８４およびコマンドパイプライン８６を含む。スイッチ６２から受信されたメモリ要求におけるコマンドおよびアドレスはコマンドパイプライン８６へとロードされ、続いて受信されたコマンドおよび対応するアドレスを出力する。メモリ要求におけるあらゆる書き込みデータは書き込みバッファ８２に格納される。読み出しバッファ８４は、以下により詳細に説明されるように、各々のボールトからの読み出しデータを格納するために使用される。書き込みバッファ８２からの書き込みデータならびにコマンドパイプライン８６からのコマンドおよびアドレスの両方は、メモリインターフェイス８８に適用される。メモリインターフェイス８８は、ＥＣＣおよび欠陥メモリセル修復システム１００を含む。以下により詳細に説明されるように、ＥＣＣおよび修復システム１００は、ＥＣＣ技術を使用してＤＲＡＭダイ２０、２２、２４、２６から読み出されたデータを検査、訂正し、内蔵プロセッサもしくはハードウェアステートマシン１４８などのコントローラ、プロセッサ１２、または他のメモリアクセスデバイスが、一つ以上の欠陥メモリセルを各々含む行および列に対して、余剰の行および列で置換するのに役立つ。しかしながら、他の実施形態においては、論理ダイ３０に内蔵された（図示されていない）プロセッサが、一つ以上の欠陥メモリセルを各々含む行および列に対して、余剰の行および列で置換するために使用されてもよい。メモリインターフェイス８８は、コマンド／アドレスバス９２を介して、コマンドパイプライン８６からＤＲＡＭダイ２０、２２、２４、２６へとコマンドおよびアドレスを結合し、３６ビットデータバス９４を介して、書き込みバッファ８２から３２ビットの書き込みデータを、ならびに、ＥＣＣおよび修復システム１００から４ビットのＥＣＣをＤＲＡＭダイ２０、２２、２４、２６へと結合する。
【００１４】
２５６パラレルビットとしてデータは書き込みバッファ８２へとロードされるが、それらは各組が１２８パラレルビットである２つの組でバッファ８２から出力される。これらの１２８ビットは、その後、ＥＣＣおよび修復システム１００によってさらにシリアル化され、４組の３２ビットデータとなり、データバス９４を介して結合される。図３に示される実施形態においては、書き込みデータは５００ＭＨｚクロックと同期して書き込みバッファ８２へと結合され、データは、毎秒１６ギガバイト（“ＧＢ”）で書き込みバッファに格納される。書き込みデータは、２ＧＨｚクロックを使用して、書き込みバッファ８２からＤＲＡＭダイ２０、２２、２４、２６へと結合され、データは８ＧＢ／ｓで書き込みバッファ８２から出力される。したがって、メモリ要求のうちの半分以上が同一のボールトに対する書き込み動作である限り、書き込みバッファ８２は、書き込みバッファ８２に対してデータが結合されるのと少なくとも同じ速度で、ＤＲＡＭダイ２０、２２、２４、２６へと書き込みデータを結合することができる。
【００１５】
メモリ要求が読み出し動作に対するものである場合には、要求に対するコマンドおよびアドレスは、上述されたような書き込み要求と同様の方法でＤＲＡＭダイ２０、２２、２４、２６へと結合される。読み出し要求に応じて、３２ビットの読み出しデータおよび４個のＥＣＣビットは、３６ビットデータバス９４を介してＤＲＡＭダイ２０、２２、２４、２６から出力される。ＥＣＣビットは、ＥＣＣおよび修復システム１００へと伝送され、ＥＣＣおよび修復システム１００は、読み出しバッファ８４に対して読み出しデータを伝送する前に、読み出しデータを検査、訂正するためにＥＣＣビットを使用する。ＥＣＣおよび修復システム１００は、３２ビットの読み出しデータを、２組の１２８ビット読み出しデータへと非シリアル化する。２組の１２８ビット読み出しデータが読み出しバッファ８４に格納された後、読み出しバッファはスイッチ６２に２５６ビットを伝送する。スイッチは、各々のアップストリームマスタ１１０ａ−ｄへと結合された４個の出力マルチプレクサ１０４を含む。各マルチプレクサ１０４はボールトコントローラ７０ａ−ｐのうちのいずれか一つから、各々のアップストリームマスタ１１０ａ−ｄに対して２５６ビットのパラレルデータを結合することができる。アップストリームマスタ１１０ａ−ｄは、２５６ビットの読み出しデータをパケットデータへとフォーマットし、パケットを各々のアップストリームリンクインターフェイス１１４ａ−ｄへと結合する。各リンクインターフェイス１１４ａ−ｄは、入力の２５６ビットを、１６ビットアップストリームリンク４２ａ−ｄの各一つの各ビットにおける１６ビットのシリアルストリームへと変換する、各々のシリアライザ１２０を含む。
【００１６】
図３に示されるように、論理ダイ３０は、ブロック修復システム１３０を含む。ブロック修復システムの機能は、ＤＲＡＭダイ２０、２２、２４、２６のボールトのうちの一つにおける行および／もしくは列のブロックを実質的に置換するために提供される。個々の行および列は、以下に説明されるように余剰の行および列によってそれらを置換することによって修復することができるが、ＤＲＡＭダイ２０、２２、２４、２６のうちの一つは、欠陥メモリセルを含む多数の行もしくは列を有する可能性がある。これらの行もしくは列をブロックとして修復することを可能にすることによって、余剰の行および列は、余剰メモリセルを含むより多くの分離された行および／もしくは列のために確保することができる。ブロック修復システム１３０は、通常、製造中もしくは製造後のテストの間、行および列の群を修復するためにプログラムされる。このようなプログラミングの間、システム１３０からの制御バス１３４は、ボールトコントローラ７０ａ−ｐのうちの一つへと接続される。各々のメモリアクセスの間、スイッチ６２におけるマルチプレクサ６４のうちの一つは、ブロック修復コンパレータ１３８に対するアクセスのためにアドレスを結合し、ブロック修復コンパレータ１３８は、修復されるブロックにおけるアドレスのためにコンパレータ１３８へとプログラムされたアドレスと、受信されたアドレスとを比較する。一致した場合には、メモリアクセスが書き込み動作に対するものである場合には、書き込みデータは、不良ブロックを含むボールトに対して、ボールトコントローラ７０ａ−ｐからブロック修復コントローラ１４０へと結合され、スタティックランダムアクセスメモリ（“ＳＲＡＭ”）デバイス１４２に格納される。メモリアクセスが読み出し動作に対するものである場合には、読み出しデータは、不良ブロックを含むボールトに対して、ブロック修復コントローラ１４０を介してＳＲＡＭデバイス１４２からボールトコントローラ７０ａ−ｐへと結合される。この修復動作は内蔵プロセッサもしくはハードウェアステートマシン１４８などのコントローラ、またはスイッチ６２を介してブロック修復システム１３０に結合された他の適切なデバイスによって制御される。
【００１７】
ＥＣＣおよび欠陥メモリセル修復システム１００の一実施形態は図４に示され、これは、図３に示された書き込みバッファ８２および読み出しバッファ８４とともに示される。ＥＣＣおよび欠陥メモリセル修復システム１００は、コマンドパイプライン８６（図３）から受信されたパケットのコマンドおよびアドレス部分を受信する一入力を有するマルチプレクサ１５０を含む。通常動作においては、マルチプレクサ１５０は、コマンドパイプライン１５４に対してコマンドおよびアドレスを結合し、コマンドパイプライン１５４は基本的にファストイン、ファストアウト（“ＦＩＦＯ”）バッファである。コマンドおよびアドレスは、その後、一組のドライバ１５８を介してＤＲＡＭダイ２０、２２、２４、２６に出力される。しかしながら、他の実施形態においては、コマンドパイプライン１５４は、バンクコンフリクトを避けるために、異常のあるコマンドおよびアドレスを最配列でき、それによってメモリバスの効率を改善する。
【００１８】
書き込みバッファ８２は、マージ回路１６０に受信された書き込みデータを適用する。マージ回路の機能は、１２８ビット以下のデータの書き込みの場合には、ＤＲＡＭダイ２０、２２、２４、２６のうちの一つから読み出された隣接ビットと、書き込みバッファ８２から出力された書き込みデータを結合することである。より詳細には、ＥＣＣは１２８ビットのデータに基づいて生成される。３２ビットのデータのみがアドレスに対して書き込まれた場合には、その後、隣接する９６ビットが読み出される。マージ回路１６０は、これらの隣接する９６ビットを書き込まれた３２ビットと結合し、ＥＣＣジェネレータ１６４へと結果として生じる１２８ビットを適用して１６ビットのＥＣＣコードを生成する。１６ビットのＥＣＣコードは、シリアライザ１６８によって４群へと分割され、データバス９２（図３）の３６ビットのうちの４個を介して、ＤＲＡＭダイ２０、２２、２４、２６へと適用される。シリアライザ１６８から出力された３６ビットのうちの残存する３２個は、ＥＣＣジェネレータ１６４から出力された３２個の読み出しデータビットである。
【００１９】
ＤＲＡＭダイ２０、２２、２４、２６からの読み出しデータおよび対応するＥＣＣビットはデシリアライザ１７０へと適用され、データバス９２を介して結合された４個の連続する３６ビットの群（３２ビットの読み出しデータおよび４ビットのＥＣＣ）を、１２８ビットの読み出しデータおよび１６ビットのＥＣＣへと結合する。これらの１４４ビットはＥＣＣチェッカおよびコレクタ１７４もしくは他の幾つかのタイプのエラーコンパレータへと適用される。ＥＣＣチェッカおよびコレクタ１７４は、１２８データビットから１６ビットのＥＣＣを生成し、生成された１６ビットをデシリアライザ１７０から受信された１６ビットのＥＣＣと比較する。一致した場合には、読み出しデータは有効であると考えられＥＣＣチェッカおよびコレクタ１７４から出力されて読み出しバッファ８４に格納される。生成された１６ビットがデシリアライザ１７０から受信された１６ビットのＥＣＣと一致しない場合には、読み出しデータはエラーであると考えられる。このような場合には、ＥＣＣチェッカおよびコレクタ１７４は、データを訂正することができる（すなわち、１６ビットのＥＥＣの場合には唯一つのビットがエラーである）場合には、読み出しデータを訂正して、読み出しバッファ８４へと訂正された読み出しデータを伝送する。ＥＣＣチェッカおよびコレクタ１７４は、“フラグＥＣＣエラー”信号をも出力し、ステートマシン１８０を再発行し、それによって、訂正された読み出しデータをＤＲＡＭダイ２０、２２、２４、２６へと再書き込みし、その後再読み込みする。再読み出しされたデータが現時点で正確である場合には、その後修復は必要ではないと考えられる。再読み出しされたデータがいまだ不正確である場合には、そのエラーは“ハードエラー”であると考えられ、余剰行もしくは列で置換することによって修復される。このような場合には、再発行ステートマシンは、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２（図３）に対して“ハードエラー”フラグを発行する。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、アドレスが使用不可能である事実を記録し、将来のメモリアクセスをメモリセルの余剰行もしくは列に対して転送する。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２のたどる手順は図５に関連して説明される。
【００２０】
再発行ステートマシン１８０は、まず、訂正された読み出しデータを、マルチプレクサ１５０をスイッチングすることによって再書き込みし、再発行ステートマシン１８０から出力された訂正された読み出しデータの読み出しコマンドおよびアドレスはコマンドパイプライン１５４へと適用される。読み出しコマンドが連続して実行されるとき、ＥＣＣチェッカおよびコレクタ１７４は、訂正された読み出しデータおよびアドレスを、マージ回路１６０を介してＥＣＣジェネレータ１６４へと適用する。ＥＣＣジェネレータ１６４は、訂正された読み出しデータに対して１６ビットのＥＣＣを生成し、読み出しデータおよびＥＣＣの両方をシリアライザ１６８へと適用する。シリアライザ１６８は、その後、ＤＲＡＭダイ２０、２２、２４、２６へと訂正された読み出しデータおよびＥＣＣビットを出力する。訂正された読み出しデータがＤＲＡＭダイ２０、２２、２４、２６へと書き込まれた後、ＥＣＣチェッカおよびコレクタは、同一アドレスに対して読み出しコマンドを発行し、マルチプレクサ１５０にコマンドパイプライン１５４に対して読み出しコマンドおよびアドレスを結合させる。読み出しコマンドに応じて受信された読み出しデータおよびＥＣＣは、前述したエラーが“ハードエラー”か“ソフトエラー”かを判定するために、上述されたように処理される。
【００２１】
上述されたように、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、結果として“ハードエラー”を生じるメモリセルを各々含む行もしくは列に対して余剰行もしくは列で置換するようにプログラムされる。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２または（論理ダイ３０に内蔵されたメモリコントローラもしくはプロセッサなどの）他のメモリアクセスデバイスによって実施されるプロセスの一実施形態は、図５に示される。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２が、再発行ステートマシン１８０から“ハードエラー”フラグを受信したとき、ステップ２００において、プロセスが入力される。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、まずフェッチし、ステップ２０４において、エラーカウントバッファ２０２に保持されたエラーカウントをその後インクリメントする。エラーカウントは、同一アドレスにおいてＤＲＡＭダイ２０、２２、２４、２６において検出されたエラーの回数のうちで内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２によって保持されたカウントである。図５の実施形態においては、ハードエラーフラグが同一アドレスにおいて特定回数受信されるまでは、エラーはハードエラーであると考えられる。エラーカウントがこの特定数を超えたかどうかの判定はステップ２０６においてなされる。特定数を超えていない場合には、プロセスはステップ２１０へと進行し、プロセッサはＤＲＡＭダイ２０、２２、２４、２６へと書き込まれるべき訂正された読み出しデータを待って、その後、図４に関連して上述されたように再読み出しされる。再読み出しされたデータがエラーであるかどうかの判定がステップ２１６においてなされる。もしそうである場合には、プロセスはステップ２１８を介して枝分かれしてステップ２００へと戻る。
【００２２】
ステップ２１６において再読み出しされたデータがエラーではないと判定された場合には、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、ステップ２００において実行されるメモリタイミングストレステストを生じる。このストレステストは例えば、減速された速度においてメモリセルをリフレッシュさせる。データがそのアドレスにおいて読み出された後、検査はステップ２２４において再度なされ、読み出しデータがエラーであるかどうかを判定する。もしそうである場合には、プロセスは上述されたようにステップ２２６を介して枝分かれしてステップ２００へと戻る。一方、読み出しデータがエラーではない判定がステップ２２４においてなされた場合には、ステップ２３４において、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２によって保持されるスクラビングリスト２３０へと現在のアドレスが追加される。スクラビングリスト２３０は、エラーが報告されたメモリアドレスのリストである。この理由のため、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、その位置に格納されたデータの自身のＥＣＣ検査を実施してもよい。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、その後、ターゲットアドレスストレスルーティン２３８に従って、ステップ２３６において、ＤＲＡＭダイ２０、２２、２４、２６へとテストデータのパターンを書き込む。ＤＲＡＭダイ２０、２２、２４、２６がストレスルーティン２３８に従って検査された後、プロセスは再度ステップ２４０において検査して、読み出しデータがエラーであるかどうかを判定する。もしそうである場合には、プロセスはステップ２４４を介して枝分かれしてステップ２００へと戻る。そうでない場合には、プロセスはステップ２４８で終了する。
【００２３】
ステップ２０６へ戻ると、エラーカウントが特定数を超えていないと判定された場合には、対応するアドレスがステップ２５０においてエラーバッファから除去される。なぜならそのアドレスはもはやメモリアクセスのためには使用されないからである。バンクはその後、ステップ２５４において“ビジー”に設定され、各々欠陥メモリセルに対応するアドレスのために、その行もしくは列に対して新規の行もしくは列が置換される。その後、使用されていないブロックの内容はステップ２５８において読み出され、余剰行もしくは列のアドレスは、ステップ２６０においてアドレス比較リストへと置換されたアドレスを追加することによってアクティベートされる。アドレス比較リストは、内蔵プロセッサもしくはハードウェアステートマシン１４８または余剰アドレスを置換することによって修復されたアドレスのプロセッサ１２によって保持されるリストである。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、アクセスが置換されたアドレスに対して再度向けられるべきかどうかを判定するために、比較リストと各メモリアクセスに対するアドレスを比較する。ステップ２６４において、ステップ２５８においてブロックから読み出されたデータは、続いて使用されるメモリセルの余剰ブロックへと書き込まれる。ステップ２５４において“ビジー”に設定されたバンクは、その後、ステップ２６６においてクリアされ、プロセスはステップ２６８を介して終了する。
【００２４】
ＥＣＣおよび欠陥メモリセル修復システム１００によって検出されたエラーは、二つの理由のうちのいずれかによって生じる。第一に、エラーは個々のＤＲＡＭダイ２０、２２、２４、２６における欠陥の結果として生じる可能性がある。これらのエラーは図５に関連して説明されたように訂正され修復される。しかしながら、エラーはＤＲＡＭダイ２０、２２、２４、２６の互いに対するＴＳＶ接続における欠陥の結果としても生じる可能性がある。図６に関連して説明される本発明の別の実施形態においては、データエラーは個々のＤＲＡＭダイ２０、２２、２４、２６に由来するものとして、または、ＤＲＡＭダイ２０、２２、２４、２６の互いに対する、ならびに論理ダイ３０に対する一つ以上のＴＳＶ接続におけるものとしてのいずれかとして診断することができる。これらのＴＳＶ欠陥は、ＤＲＡＭダイ２０、２２、２４、２６に対するアドレスのＴＳＶ結合か、または、ＤＲＡＭダイ２０、２２、２４、２６とやり取りするデータのＴＳＶ結合かのいずれかに存在する可能性がある。欠陥がＤＲＡＭダイ２０、２２、２４、２６へのＴＳＶ結合アドレスにある場合には、エラーデータが全ＤＲＡＭダイから読み出された共通のアドレスビットを有するアドレスでエラーが検出される。欠陥ＴＳＶに適用される特定のアドレスビットは、データがエラーであると読み出されたアドレスを検査することによって決定することができる。同様に、欠陥がＤＲＡＭダイ２０、２２、２４、２６へのＴＳＶ結合データにある場合には、ＤＲＡＭダイ２０、２２、２４、２６の全てから読み出されたデータにおける対応するデータビットは、データが読み出されるアドレスに関わらずエラーである。
【００２５】
エラーがＴＳＶエラーであるかどうかを判定するために、内蔵プロセッサもしくはハードウェアステートマシン１４８（図３）、プロセッサ１２もしくは他のメモリアクセスデバイスによって実施されるプロセスの一実施形態は、図６に示される。プロセスは単一ビットエラーを検出するのに応じてステップ３００において入力される。内蔵プロセッサもしくはハードウェアステートマシン１４８、プロセッサ１２もしくは他のメモリアクセスデバイスによって保持されたＴＳＶエラーカウントバッファに格納されたＴＳＶエラーカウントは、ステップ３０４において、フェッチされその後インクリメントされる。ＴＳＶエラーカウントバッファは同一アドレスにおけるＤＲＡＭダイ２０、２２、２４、２６で検出されたエラー回数を記録する。ＴＳＶエラーカウントバッファは、ステップ３０４における各エラーに対応する記録３０６にタイムスタンプをも記録する。以下に説明されるように、タイムスタンプによって、エラー原因のより良い診断が可能になる。プロセスは、その後、ステップ３１０において、カウントが時間的もしくは空間的閾値を超えたかどうかを判定するために検査する。時間的閾値は、特定の期間内に特定のアドレスにおいて生じる可能性があるエラー数に対応する数である。閾値を超えていない場合には、プロセスはステップ３１４において終了する。空間的閾値は、特定のアドレスもしくは特定の範囲のアドレスにおいて生じる可能性のあるエラー数に対応する数である。これらの閾値の両方とも超えていない場合には、プロセスはステップ３１４において終了する。
【００２６】
時間的閾値もしくは空間的閾値を超えたという判定がステップ３１０においてなされた場合には、プロセスはステップ３２０へと枝分かれし、アドレスおよびデータ情報がＴＳＶエラーカウントバッファからフェッチされる。プロセスは、その後、ステップ３２４において格納されたデータを調査し、データがエラーであると読み出されたアドレスが共通のアドレスビットを有するかどうかを捜索する。プロセスは、ステップ３２４において格納されたデータを調査して、エラーのある共通のデータビットを有するエラーのある読み出しデータを捜索する。これらの状況のいずれも、ステップ３２４において存在しないことが分かった場合には、ステップ３００においてプロセスを入力する原因となったエラーは、ＴＳＶエラーではなく、ＤＲＡＭデバイスダイ２０、２２、２４、２６のうちの個々の一つにおけるエラーであると考えられる。もしそうである場合には、プロセスは再度ステップ３１４において終了し、その場合、図５に示されたＤＲＡＭデバイスダイ２０、２２、２４、２６においてエラーを検出し訂正するプロセスを実施することができる。
【００２７】
ステップ３２４において、エラーのある共通データビットを有する共通アドレスもしくは読み出しデータからエラーが検出された場合には、ステップ３００においてプロセスを入力する原因となったエラーはＴＳＶエラーであると考えられる。このような場合には、プロセスはステップ３３０へと枝分かれし、ＤＲＡＭダイ２０、２２、２４、２６におけるアドレスもしくは書き込みデータを獲得するために、または、論理ダイ３０における読み出しデータを獲得するために使用されるクロックのタイミングにおける変化に対して、欠陥アドレスもしくはデータがいかに敏感かを判定するためのテストが実施される。このテストは幾つかの目的のうちの各々のために、ＤＲＡＭダイ２０、２２、２４、２６に送信されるクロック信号のタイミングをインクリメントするように変化させることによって実施される。例えば、論理ダイ３０は、アドレスを獲得するためにＤＲＡＭダイが使用する、ＤＲＡＭダイ２０、２２、２４、２６に対するアドレス獲得クロックもしくはストローブ信号を送信してもよい。同様に、論理ダイ３０は、ＤＲＡＭダイが書き込みデータを獲得するために使用する、ＤＲＡＭダイ２０、２２、２４、２６に対するデータ獲得クロックもしくはストローブ信号を送信してもよい。論理ダイ３０は、ＤＲＡＭダイ２０、２２、２４、２６に対して、ＤＲＡＭダイが論理ダイ３０にいつ読み出しデータを送信するかを決定する、データクロックもしくはストローブ信号を送信してもよい。いかなる場合においても、概してアドレスもしくはデータの各項目に対してテストは実施されてもよいし、または、アドレスもしくはデータに対してビット毎にテストは実施されてもよい。これらのクロックもしくはストローブ信号のうちの一つのタイミングを変化させることによってエラーを訂正することができる場合には、エラーは修復されたと考えられ、プロセスはステップ３１４を介して終了する。
【００２８】
これらのクロックもしくはストローブ信号のうちの一つのタイミングを変化させることによってエラーを訂正することができない場合には、プロセスはステップ３３４へと枝分かれし、論理ダイ３０は、プロセッサ１２もしくは他のメモリアクセスデバイスからのメモリ要求をサスペンド（一時停止）させる。プロセッサ１２もしくは他のメモリアクセスデバイスによって送信されたメモリ要求が満足されていないため、ステップ３３０において実施されたタイミングテストを繰り返すことができるまでメモリデバイスは使用不可能であると考えられるため、このようなことが生じる。メモリ要求の送信をサスペンドするためにプロセッサ１２もしくは他のメモリアクセスデバイスへと信号を伝送するために種々の手段を使用することができる。例えば、論理ダイ３０は、プロセッサ１２もしくは他のメモリアクセスデバイスに対して“ストップ”パケットを形成することができる。
【００２９】
さらなるメモリ要求がサスペンドされた後、プロセスはステップ３３６において、エラーがまだ存在するかどうか、もしそうである場合には、プロセスをステップ３００において入力したエラーは、繰り返しテストの結果であったかどうかを確認するために検査する。もしそうである場合には、プロセスはステップ３４０へと枝分かれし、内蔵プロセッサもしくはハードウェアステートマシン１４８はＴＳＶのうちの一つを恒久的欠陥として記録する。内蔵プロセッサもしくはハードウェアステートマシン１４８、プロセッサ１２もしくは他のメモリアクセスデバイスは、その後、欠陥アドレス、および異なるアドレスに対するアドレスを再マッピングするか、または、書き込みおよび読み出しデータに対する欠陥データビットの使用を中止する。しかしながら、ステップ３３６においてエラーはもはや存在しないことが分かった場合には、プロセスはステップ３４４へと枝分かれし、その欠陥が繰り返されたかを確認するために以前失敗したＴＳＶの識別が記録され、プロセスはその後ステップ３３０へと枝分かれし、ＴＳＶはおそらくはテストに合格し、したがって、ステップ３４０を介して終了する。
【００３０】
本明細書で開示されたような欠陥メモリセルの直接修復は幾つかの利点を有する。それによって、メモリデバイスの故障間隔を減少させることで、メモリデバイスをより信頼性が高く、手頃で実用的なものにする。検出されたハードエラーを修復することによって、スクラビングすることによりソフトエラーを訂正することができるため、メモリデバイスがめったに故障しなくなる。このことは、ミッションクリティカル（必要不可欠）な企業向けサーバで使用されるメモリデバイスに対して特に有益である。さらには、エラーがＤＲＡＭデバイスダイ２０、２２、２４、２６のうちの一つ、もしくはＤＲＡＭデバイスダイ２０、２２、２４、２６を互いにおよび論理ダイ３０へと接続するスルーシリコンビアに存在するかどうかに関する判定をすることができる。
【００３１】
前述したことから、本明細書においては例示の目的のために本発明の具体的実施形態が記述されてきたが、本発明の趣旨および範囲を逸脱することなく種々の改変がなされてもよいことを理解されたい。例えば、本発明の実施形態は、積層ＤＲＡＭダイの文脈において説明されたが、積層されたダイは、フラッシュメモリデバイスダイなどの他のタイプのメモリデバイスであってもよいことを理解されたい。したがって、本発明は、添付の請求項以外によって限定されることはない。
【図１】
2011527064.tif 000003
【図２】
2011527064.tif 000004
【図３】
2011527064.tif 000005
【図４】
2011527064.tif 000006
【図５】
2011527064.tif 000007
【図６】
2011527064.tif 000008
【手続補正書】
【提出日】平成23年2月28日(2011.2.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の導体を介して互いに接続された複数の積層メモリデバイスダイであって、前記メモリデバイスの各々は複数のメモリセルを含む、メモリデバイスダイと、
複数の導体を介して前記複数のメモリデバイスダイに結合された論理ダイであって、前記論理ダイは前記複数のメモリデバイスダイへとデータを書き込み、ならびに、前記複数のメモリデバイスダイからデータを読み出すように動作可能であり、前記論理ダイはエラー検査システムを含む、論理ダイと、
を含むメモリデバイスシステムにおいて、
前記エラー検査システムは、
前記メモリデバイスダイのうちの少なくとも一つへと書き込まれたデータを受信するように結合されたエラーコードジェネレータであって、前記エラーコードジェネレータは、前記メモリデバイスダイの少なくとも一つにおけるアドレスへ書き込まれるべきデータに対応するエラー検査コードを生成、ならびに格納するように動作可能であり、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスから読み出されたデータを受信し、そこに対応するエラー検査コードを生成するようにさらに動作可能である、エラーコードジェネレータと、
前記メモリデバイスダイのうちの少なくとも一つにおける読み出しアドレスへと書き込まれたデータに対応する前記格納されたエラー検査コード、および、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データに対応する前記生成されたエラー検査コードを受信するように結合されたエラーコンパレータであって、前記エラーコンパレータは、前記読み出しアドレスから読み出された前記データに対応する格納されたエラー検査コードが前記受信されたデータに対応して生成された前記エラーコードと一致しない場合にエラーを指示するように動作可能である、エラーコンパレータと、
を含む、
ことを特徴とするメモリデバイスシステム。
【請求項２】
前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データを訂正するために、ならびに前記読み出しアドレスへと前記訂正された読み出しデータを再書き込みさせるために、前記エラー指示に応じてさらに動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項３】
前記エラー検査システムは、前記訂正された読み出しデータを前記読み出しアドレスに対してまず書き込ませ、その後、前記読み出しアドレスにおいて格納された前記データを読み出させることによって、前記エラー指示がハードエラーに対応したものかどうかを判定するように動作可能である、内蔵プロセッサもしくはハードウェアステートマシンを含み、また、前記エラー検査システムは、前記訂正された読み出しデータから生成された格納されたエラー検査コードを、前記読み出しアドレスにその後格納された前記データから生成されたエラー検査コードと比較するように動作可能であり、前記内蔵プロセッサもしくはハードウェアステートマシンは、前記比較の結果としてのエラー指示の受信に応じてハードエラーを指示するようにさらに動作可能である、
ことを特徴とする請求項２に記載のメモリデバイスシステム。
【請求項４】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって、互いに結合されかつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記論理ダイがアドレスビットを適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、データが読み出され、エラーが指示される原因となった前記複数のアドレスを調査するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項５】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記論理ダイが書き込みデータのビットを適用する欠陥スルーシリコンビア、または、前記ＤＲＡＭダイが読み出しデータのビットを適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、読み出されてエラーが指示される原因となった前記データを調査するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項６】
前記メモリデバイスダイは、各々が前記複数のメモリデバイスダイの対応する複数のアドレス群を含む、複数のボールトへと分割される、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項７】
前記論理ダイは、
複数の書き込みコマンド、複数の読み出しコマンド、複数のアドレスおよび書き込みデータがそこを通して結合される複数のダウンストリームパスと、
読み出しデータがそこを通して結合される複数のアップストリームパスと、
前記メモリデバイスダイにおける前記複数のボールトのうち任意のボールトへと前記複数のダウンストリームパスの各々を結合し、前記複数のアップストリームパスの各々へと前記メモリデバイスダイにおける前記複数のボールトのうち任意のボールトを結合するように動作可能であるアクセス回路と、
をさらに含む、
ことを特徴とする請求項６に記載のメモリデバイスシステム。
【請求項８】
前記論理ダイは前記エラー検査システムへと結合された内蔵プロセッサもしくはハードウェアステートマシンをさらに含み、前記内蔵プロセッサもしくはハードウェアステートマシンは、前記データが読み出され、前記エラー指示の原因となった前記アドレスに対する複数のメモリ要求を、前記エラー指示に応じて異なるアドレスに対して転送するように動作可能である、
ことを特徴とする請求項１に記載のメモリデバイスシステム。
【請求項９】
プロセッサと、
複数の導体を介して互いに対して接続された複数の積層メモリデバイスダイであって、前記メモリデバイスの各々は複数のメモリセルを含む、メモリデバイスダイと、
前記プロセッサへと結合され、かつ、複数の導体を介して前記複数のメモリデバイスダイへと結合された論理ダイであって、前記論理ダイは前記複数のメモリデバイスダイへとデータを書き込み、ならびに、前記複数のメモリデバイスダイからデータを読み出すように動作可能であり、前記論理ダイはエラー検査システムを含む、論理ダイと、
を含むシステムにおいて、
前記エラー検査システムは、
前記メモリデバイスダイのうちの少なくとも一つへと書き込まれたデータを受信するために結合されたエラーコードジェネレータであって、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスへと書き込まれるべきデータに対応するエラー検査コードを生成し格納するように動作可能であり、前記エラーコードジェネレータは、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスから読み出されたデータを受信し、そこに対応するエラー検査コードを生成するようにさらに動作可能である、エラーコードジェネレータと、
前記メモリデバイスダイのうちの少なくとも一つにおける読み出しアドレスへと書き込まれたデータに対応する前記格納されたエラー検査コード、および、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスから読み出された前記データに対応する前記生成されたエラー検査コードを受信するために結合されたエラーコンパレータであって、前記エラーコンパレータは、格納されたエラー検査コードが前記生成されたエラー検査コードと一致しない場合にエラーを指示するように動作可能である、エラーコンパレータと、
前記論理回路ダイへと結合されたメモリアクセスデバイスであって、前記メモリアクセスデバイスは前記複数の論理回路ダイから前記エラー指示を受信し、前記メモリデバイスダイのうちの少なくとも一つへ複数のメモリ要求を適用するように動作可能であり、前記メモリアクセスデバイスは前記論理回路ダイからの前記エラー指示の受信に応じて、前記エラー検査コードが生成される原因となった、読み出された前記メモリセルに対応する前記アドレスを記録するようにさらに動作可能であり、前記メモリアクセスデバイスは、前記記録された複数のアドレス以外の複数のアドレスにおいて前記少なくとも一つのメモリデバイスに対して複数のメモリ要求をその後発行するようにさらに動作可能である、メモリアクセスデバイスと、
を含む、
ことを特徴とするシステム。
【請求項１０】
前記エラー検査システムは、訂正された読み出しデータを前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスへと書き込ませる書き込みコマンドをまず生成することによって、前記エラー指示がハードエラーに応じて生成されたかどうかを判定し、前記メモリデバイスダイのうちの少なくとも一つにおける前記読み出しアドレスに書き込まれた前記訂正された読み出しデータを読み出させる読み出しコマンドをその後生成するように動作可能である内蔵プロセッサもしくはハードウェアステートマシンをさらに含み、
前記エラーコンパレータは、前記読み出された訂正された読み出しデータから生成された前記エラー検査コードと、前記訂正された読み出しデータから生成された前記格納されたエラー検査コードとを比較するように動作可能であり、前記内蔵プロセッサもしくはハードウェアステートマシンは、前記比較の結果としての前記エラーコンパレータからの前記エラー指示の受信に応じて、ハードエラーを指示する信号を生成し出力するようにさらに動作可能である、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記複数のメモリデバイスダイは、複数の信号が前記複数のメモリデバイスダイの各々へとおよび／もしくは前記複数のメモリデバイスの各々からそこを通して結合される複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記複数のメモリデバイスダイから前記論理ダイが複数の信号を受信する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、前記メモリデバイスダイから受信された複数の信号を調査するように動作可能である、
ことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記エラーコードジェネレータは、前記内蔵プロセッサもしくはハードウェアステートマシンが欠陥スルーシリコンビアを指示するエラーパターンを検出するのに応じて、前記論理ダイへのメモリ要求送信をサスペンドするために前記プロセッサへと要求を提供するように動作可能であり、
前記プロセッサは、前記論理ダイから前記要求を受信するのに応じて、前記論理ダイへの複数のメモリ要求の送信をサスペンドするように動作可能である、
ことを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記内蔵プロセッサもしくはハードウェアステートマシンは、欠陥スルーシリコンビアを指示する前記エラーパターンを調査し、前記欠陥スルーシリコンビアが、前記論理ダイが前記複数のメモリデバイスダイへと複数のアドレス信号を適用するスルーシリコンビアであるかどうか、または、前記欠陥スルーシリコンビアが、複数のデータ信号がそこを介して、前記論理ダイと前記複数のメモリデバイスダイとの間に結合されるスルーシリコンビアであるかどうかを判定するようにさらに動作可能である、
ことを特徴とする請求項１１に記載のシステム。
【請求項１４】
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記欠陥スルーシリコンビアが、前記論理ダイが複数のアドレス信号を前記複数のメモリデバイスダイへと適用するスルーシリコンビアであることを決定するのに応じて、複数のアドレス信号が前記欠陥スルーシリコンビアを介して結合されることを必要としないアドレスへと、前記欠陥スルーシリコンビアを介して結合される複数のアドレス信号を含む複数のメモリ要求を方向づけるようにさらに動作可能である、
ことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記内蔵プロセッサもしくはハードウェアステートマシンは、前記欠陥スルーシリコンビアが、複数のデータ信号が前記論理ダイと前記複数のメモリデバイスダイとの間に結合されるスルーシリコンビアであることを決定するのに応じて、前記欠陥スルーシリコンビアを介して結合される前記データビットをマスキングするようにさらに動作可能である、
ことを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記メモリデバイスダイの各々は、其々、複数のダイナミックランダムアクセスメモリデバイスダイを含む、
ことを特徴とする請求項９に記載のシステム。
【請求項１７】
前記メモリアクセスデバイスは、複数のエラー指示の各々を生じる原因となった、読み出された前記メモリセルに対応する前記複数のアドレスを、前記エラーが生じた時間の指示とともに記録するように動作可能である、
ことを特徴とする請求項９に記載のシステム。
【請求項１８】
互いに接続され、かつ、複数の論理ダイへと接続された複数の積層メモリデバイスダイに対して、データ書き込みおよびデータ読み出しを行なう方法であって、前記方法は、
前記複数の論理ダイへと書き込みデータを結合することによって、前記メモリデバイスダイのうちの少なくとも一つにおけるアドレスへとデータを書き込むステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスへと書き込まれた前記データに対応するエラー検査コードを生成するステップと、
前記生成されたエラー検査コードを格納するステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスから読み出されたデータをその後に読み出すステップと、
前記メモリデバイスダイのうちの前記少なくとも一つにおける前記アドレスからその後に読み出された前記データに対応するエラー検査コードを生成するステップと、
前記生成されたエラー検査コードと、前記格納されたエラー検査コードとを比較するステップと、
前記格納されたエラー検査コードが前記生成されたエラー検査コードと一致しない場合には、前記その後に読み出されたデータが読み出された前記アドレスを識別するステップと、
前記識別されたアドレス以外の前記少なくとも一つのメモリデバイスダイにおける複数のアドレスへとその後データを書き込み、ならびにそこからデータを読み出すステップと、
を含む、
ことを特徴とする方法。
【請求項１９】
前記識別されたアドレスに対する複数のメモリ要求を、異なるアドレスに対して転送するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記その後に読み出されたデータが読み出された前記アドレスを識別する前記動作は、
前記データがその後読み出された前記アドレスへと前記訂正されたデータを書き込むステップと、
前記訂正されたデータに対応するエラー検査コードを生成するステップと、
前記訂正されたデータに対応する前記生成されたエラー検査コードを格納するステップと、
前記データがその後読み出された前記アドレスにおいて前記訂正されたデータをその後読み出すステップと、
前記その後読み出された訂正されたデータに対応するエラー検査コードを生成するステップと、
前記その後読み出された訂正されたデータに対応する前記生成されたエラー検査コードと、前記訂正されたデータに対応する前記格納されたエラー検査コードとを比較するステップと、
前記訂正されたデータに対応する前記格納されたエラー検査コードが、前記その後に読み出された訂正されたデータに対応する前記生成されたエラー検査コードと一致しない場合には、前記その後に読み出された訂正されたデータが読み出された前記アドレスを識別するステップと、
を含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２１】
前記その後に読み出されたデータが読み出された前記アドレスを識別する前記動作は、
前記その後に読み出されたデータに対応する前記エラー検査コードと一致しない前記格納されたエラー検査コードに応じて、前記その後に読み出されたデータが読み出された前記アドレスにおいて前記少なくとも一つのメモリデバイスダイにおける複数のテストを実施するステップを含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２２】
前記複数のメモリデバイスダイは、前記複数のメモリデバイスダイの各々へと、および／もしくは前記複数のメモリデバイスダイの各々から複数の信号が結合される、複数のスルーシリコンビアによって互いに結合され、かつ、前記論理ダイへと結合され、
前記方法は、前記複数のメモリデバイスダイへと前記論理ダイが複数のアドレス信号を適用する欠陥スルーシリコンビアを指示するエラーパターンを検出するために、前記識別された複数のアドレスを調査するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２３】
複数のアドレス信号が前記欠陥スルーシリコンビアを介して結合されることを必要としないアドレスへと前記複数のメモリデバイスダイに対する複数のアドレス信号を前記論理ダイが適用する、前記欠陥スルーシリコンビアへと適用される複数のアドレス信号を含む複数のメモリ要求を方向づけるステップをさらに含む、
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記複数のメモリデバイスダイは、前記複数のメモリデバイスダイの各々へと、および／もしくは前記複数のメモリデバイスダイの各々から複数の信号が結合される複数のスルーシリコンビアによって互いに、ならびに前記論理ダイへと結合され、前記方法は、前記論理ダイおよび前記複数のメモリデバイスダイの間に複数のデータ信号が結合される、欠陥スルーシリコンビアを指示するエラーパターンを検出するために、識別された複数のアドレスから読み出されたデータを調査するステップをさらに含む、
ことを特徴とする請求項１８に記載の方法。
【請求項２５】
前記欠陥スルーシリコンビアを介して結合される前記データビットをマスキングするステップをさらに含む、
ことを特徴とする請求項２２に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
ＤＲＡＭダイ２０、２２、２４、２６からの読み出しデータおよび対応するＥＣＣビットはデシリアライザ１７０へと適用され、データバス９２を介して結合された４個の連続する３６ビットの群（３２ビットの読み出しデータおよび４ビットのＥＣＣ）を、１２８ビットの読み出しデータおよび１６ビットのＥＣＣへと結合する。これらの１４４ビットはＥＣＣチェッカおよびコレクタ１７４もしくは他の幾つかのタイプのエラーコンパレータへと適用される。ＥＣＣチェッカおよびコレクタ１７４は、１２８データビットから１６ビットのＥＣＣを生成し、生成された１６ビットをデシリアライザ１７０から受信された１６ビットのＥＣＣと比較する。一致した場合には、読み出しデータは有効であると考えられＥＣＣチェッカおよびコレクタ１７４から出力されて読み出しバッファ８４に格納される。生成された１６ビットがデシリアライザ１７０から受信された１６ビットのＥＣＣと一致しない場合には、読み出しデータはエラーであると考えられる。このような場合には、ＥＣＣチェッカおよびコレクタ１７４は、データを訂正することができる（すなわち、１６ビットのＥＣＣの場合には唯一つのビットがエラーである）場合には、読み出しデータを訂正して、読み出しバッファ８４へと訂正された読み出しデータを伝送する。ＥＣＣチェッカおよびコレクタ１７４は、“フラグＥＣＣエラー”信号をも出力し、ステートマシン１８０を再発行し、それによって、訂正された読み出しデータをＤＲＡＭダイ２０、２２、２４、２６へと再書き込みし、その後再読み込みする。再読み出しされたデータが現時点で正確である場合には、その後修復は必要ではないと考えられる。再読み出しされたデータがいまだ不正確である場合には、そのエラーは“ハードエラー”であると考えられ、余剰行もしくは列で置換することによって修復される。このような場合には、再発行ステートマシンは、内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２（図３）に対して“ハードエラー”フラグを発行する。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２は、アドレスが使用不可能である事実を記録し、将来のメモリアクセスをメモリセルの余剰行もしくは列に対して転送する。内蔵プロセッサもしくはハードウェアステートマシン１４８またはプロセッサ１２のたどる手順は図５に関連して説明される。
【国際調査報告】
2011527064.tif 000009
2011527064.tif 000010