(57)【要約】      （修正有）【課題】向上された信頼性を有するＨＢＭの信頼性、アクセシビリティ、並びにサービサビリティのキャッシュ構造を提供する。【解決手段】装置１００は、メモリセルダイ及びロジックダイを含む複数の積層された集積回路ダイを備える。メモリセルダイは、メモリアドレスに基づいて、ランダムアクセス方式でデータを格納する。ロジックダイは、複数の集積回路ダイに連結され、メモリセルダイ内のデータのエラーを改善する信頼性回路を含む。信頼性回路は、ランダムアクセス方式でデータを格納する補助メモリと、エラーに関連付けられたメモリのアドレスを補助メモリの部分にマッピングするアドレステーブルと、を含み、集積回路ダイへのメモリアクセスが発生した場合、メモリアクセスがエラーに関連付けられているか否かを判定し、補助メモリを使用して、メモリアクセスを完了する。【選択図】図１
2020009441.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
複数の積層された集積回路ダイを備え、
前記複数の積層された集積回路ダイは、
メモリアドレスに基づいて、ランダムアクセス方式でデータを格納するように構成されたメモリセルダイと、
ロジックダイと、を含み、
前記ロジックダイは、
前記複数の積層された集積回路ダイに連結され、前記メモリセルダイと少なくとも１つの外部装置との間でメモリアクセスを通信するように構成されたインターフェースと、
前記メモリセルダイ内のデータのエラーを改善するように構成された信頼性回路と、を含み、
前記信頼性回路は、
ランダムアクセス方式でデータを格納するように構成された補助メモリと、
エラーに関連付けられたメモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルを含み、
前記信頼性回路は、前記複数の積層された集積回路ダイへのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスが前記エラーに関連付けられている場合、少なくとも部分的に前記補助メモリを使用して、前記メモリアクセスを完了するように構成されたことを特徴とする装置。
【請求項２】
前記アドレステーブルは、
前記アドレステーブル内のエラーから保護するエラー訂正コードの部分と、
各メモリアドレスのエントリに対し、前記メモリアドレスのエントリがアクティブ状態であるか否かを示すように構成された有効フラグと、を含むことを特徴とする請求項１に記載の装置。
【請求項３】
前記信頼性回路は、
データをメモリアドレスに格納することを指示するライト（ｗｒｉｔｅ）のメモリアクセスを外部装置から受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記データを前記補助メモリの部分に格納し、
前記メモリアドレスがエラーに関連付けられていない場合、前記データを前記メモリアドレスで前記メモリセルダイに格納するように構成されたことを特徴とする請求項１に記載の装置。
【請求項４】
前記信頼性回路は、前記メモリアドレスがメモリアドレスのエントリとして、前記アドレステーブルに格納されているか否かを判定し、有効フラグが前記メモリアドレスのエントリがアクティブ状態であることを示すか否かを判定することにより、前記メモリアドレスがエラーに関連付けられているか否かを判定するように構成されたことを特徴とする請求項３に記載の装置。
【請求項５】
前記信頼性回路は、
データをメモリアドレスからリード（ｒｅａｄ）することを指示するリードのメモリアクセスを外部装置から受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記補助メモリの部分から前記データを回収し、
前記メモリアドレスがエラーに関連付けられていない場合、前記メモリアドレスで前記メモリセルダイから前記データを回収するように構成されたことを特徴とする請求項１に記載の装置。
【請求項６】
前記信頼性回路は、
メモリアドレスをエラーに関連付けることを指示するメッセージを外部装置から受信し、
前記アドレステーブルに前記メモリアドレスを位置させ、
前記メモリアドレスを前記補助メモリの前記部分に関連付けるように構成されたことを特徴とする請求項１に記載の装置。
【請求項７】
前記信頼性回路は、予め定められたメモリアドレスへのライト（ｗｒｉｔｅ）のメモリアクセスを受信することにより、前記メモリアドレスがエラーに関連付けられていることを示すメッセージを外部装置から受信するように構成され、
前記予め定められたメモリアドレスは、前記アドレステーブルに関連付けられていることを特徴とする請求項６に記載の装置。
【請求項８】
前記信頼性回路は、
前記補助メモリの使用レベルを監視し、
予め定められたメモリアドレスに前記使用レベルのインジケーターを格納するように構成され、
前記インターフェースは、
前記予め定められたメモリアドレスへのリード（ｒｅａｄ）のメモリアクセスを受信し、
前記補助メモリの前記使用レベルの前記インジケーターで、前記リード（ｒｅａｄ）のメモリアクセスに応答するように構成されたことを特徴とする請求項１に記載の装置。
【請求項９】
システムであって、
プロセッサと、
高帯域幅メモリスタックの集積回路と、を備え、
前記プロセッサは、
前記プロセッサへのデータの流れを管理するように構成されたメモリコントローラーと、
格納されたデータにエラーが発生したか否かを検出するように構成されたエラー訂正回路と、を含み、
前記高帯域幅メモリスタックの集積回路は、
メモリアドレスに基づいて、データを格納するように構成された高帯域幅メモリセルと、
前記高帯域幅メモリセル内のデータのエラーを改善するように構成された信頼性回路と、を含み、
前記信頼性回路は、
データを格納するように構成された補助メモリと、
前記エラーに関連付けられた前記メモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルと、を含み、
前記信頼性回路は、前記高帯域幅メモリスタックの集積回路へのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスが前記エラーに関連付けられている場合、少なくとも部分的に、前記補助メモリを使用して、前記メモリアクセスを完了するように構成されたことを特徴とするシステム。
【請求項１０】
前記プロセッサは、
格納されたデータにエラーが発生した場合、前記補助メモリが前記エラーを改善するのに十分な自由容量を含んでいるか否かを判定し、
前記補助メモリが前記エラーを改善するのに十分な自由容量を含んでいない場合、前記のエラーに関連付けられている前記メモリアドレスをブラックリストに載せ、
前記補助メモリが前記エラーを改善するのに十分な自由容量を含んでいる場合、前記信頼性回路が前記エラーに関連付けられている前記メモリアドレスを前記補助メモリの部分にマッピングすることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記信頼性回路は、
データをメモリアドレスに格納することを指示するライト（ｗｒｉｔｅ）のメモリアクセスを前記プロセッサから受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記データを前記補助メモリのマッピングされた部分に格納し、
前記メモリアドレスがエラーに関連付けられていない場合、前記データを前記メモリアドレスで前記高帯域幅メモリセルにライト（ｗｒｉｔｅ）するように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記信頼性回路は、
データをメモリアドレスからリード（ｒｅａｄ）することを指示するリード（ｒｅａｄ）のメモリアクセスを、前記プロセッサから受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記データを前記補助メモリのマッピングされた部分から回収し、
前記メモリアドレスがエラーに関連付けられていない場合、前記データを前記メモリアドレスで前記高帯域幅メモリセルから回収するように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１３】
前記プロセッサは、予め定められたメモリアドレスへのライト（ｗｒｉｔｅ）のメモリアクセスを発行するように構成され、
前記予め定められたメモリアドレスは、前記アドレステーブルに関連付けられ、
前記ライト（ｗｒｉｔｅ）のメモリアクセスは、データの一部として、前記エラーに関連付けられている前記メモリアドレスを含み、
前記信頼性回路は、
メモリアドレスがエラーに関連付けられていることを示すメッセージを前記プロセッサから受信し、
前記メモリアドレスを前記アドレステーブルに位置させ、
前記メモリアドレスを前記補助メモリの前記部分に関連させるように構成されたことを特徴とする  請求項９に記載のシステム。
【請求項１４】
前記信頼性回路は、
前記補助メモリの使用レベルを監視し、
予め定められたメモリアドレスで前記使用レベルのインジケーターを格納するように構成され、
前記プロセッサは、
前記予め定められたメモリアドレスへのリード（ｒｅａｄ）のメモリアクセスを発行し、
前記リード（ｒｅａｄ）のメモリアクセスに応答して、前記補助メモリの前記使用レベルの前記インジケーターを受信するように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１５】
前記プロセッサは、それぞれのエラーに関連付けられているメモリアドレスのリストを格納するように構成された不揮発性メモリを含み、
前記エラー訂正回路は、エラーが格納されたデータに対して発生したことを検出した場合、前記エラー訂正回路は、前記エラーに関連付けられている、前記メモリアドレスが前記不揮発性メモリと前記アドレステーブルの両方によって格納することを特徴とする請求項９に記載のシステム。
【請求項１６】
前記不揮発性メモリは、前記システムが初期化されるとき、それぞれのエラーに関連付けられている、前記メモリアドレスの前記リストのそれぞれを前記アドレステーブルに追加するように構成され、
前記信頼性回路は、前記メモリアドレスのそれぞれを前記補助メモリのそれぞれの部分にマッピングするように構成されたことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記信頼性回路は、前記プロセッサをリセットすることなく、前記高帯域幅メモリセル内のデータエラーを改善するように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１８】
装置であって、
ロジックダイを備え、
前記ロジックダイは、
メモリアドレスに基づいて、データを格納するように構成された高帯域幅メモリダイに連結された内部インターフェースと、
前記高帯域幅メモリダイと、少なくとも１つの外部装置との間でメモリアクセスを通信するように構成された外部インターフェースと、
前記高帯域幅メモリダイ内のデータエラーを改善するように構成された信頼性回路と、を含み、
前記信頼性回路は、
データを格納するように構成された補助メモリと、
エラーに関連付けられたメモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルを含み、
前記信頼性回路は、前記高帯域幅メモリダイへのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスがエラーに関連付けられている場合、少なくとも部分的に、前記補助メモリを使用して、前記メモリアクセスを完了するように構成されたことを特徴とする装置。
【請求項１９】
前記信頼性回路は、
データをメモリアドレスに格納することを指示するライト（ｗｒｉｔｅ）のメモリアクセスを前記少なくとも１つの外部装置から受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記補助メモリの部分に前記データを格納し、
前記メモリアドレスがエラーに関連付けられていない場合、前記メモリアドレスで前記高帯域幅メモリダイに前記データをライト（ｗｒｉｔｅ）するように構成されたことを特徴とする請求項１８に記載の装置。
【請求項２０】
前記信頼性回路は、
データをメモリアドレスからリード（ｒｅａｄ）することを指示するリード（ｒｅａｄ）のメモリアクセスを、前記少なくとも１つの外部装置から受信し、
前記メモリアドレスがエラーに関連付けられているか否かを判定し、
前記メモリアドレスがエラーに関連付けられている場合、前記補助メモリのマッピングされた部分から前記データを回収し、
前記メモリアドレスがエラーに関連付けられていない場合、前記メモリアドレスで前記高帯域幅メモリダイから前記データを回収するように構成されたことを特徴とする請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリエラー訂正に関し、より詳しくは、高帯域幅メモリ（ＨＢＭ：ｈｉｇｈ−ｂａｎｄｗｉｄｔｈ  ｍｅｍｏｒｙ）のＲＡＳ（ｒｅｌｉａｂｉｌｉｔｙ，ａｃｃｅｓｓｉｂｉｌｉｔｙ，ａｎｄ  ｓｅｒｖｉｃｅａｂｉｌｉｔｙ：信頼性、アクセシビリティ、及びサービサビリティ）キャッシュ構造に関する。
【背景技術】
【０００２】
ＨＢＭ（Ｈｉｇｈ  Ｂａｎｄｗｉｄｔｈ  Ｍｅｍｏｒｙ）は、積層されたダイナミックランダムアクセスメモリ（ｓｔａｃｋｅｄ  ＤＲＡＭ：ｓｔａｃｋｅｄ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のための高性能ＲＡＭインターフェースである。ＨＢＭは、一般的に、高性能グラフィックスアクセラレータ及びネットワーク装置とともに使用される。ＨＢＭを使用した最初の装置は、ＧＰＵ（ｇｒａｐｈｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）である。
【０００３】
ＨＢＭは、ＤＤＲ４（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ｆｏｕｒｔｈ−ｇｅｎｅｒａｔｉｏｎ  ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）又はＧＤＤＲ５（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ｔｙｐｅ  ｆｉｖｅ  ｓｙｎｃｈｒｏｎｏｕｓ  ｇｒａｐｈｉｃｓ  ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）よりも実質的にもっと小さいフォームファクタで、より少ない電力を使用しながら、より高い帯域幅を達成する。これは、多数（例えば、８個）のＤＲＡＭダイを積層し、メモリコントローラーを有する、選択的な基本的ダイを追加することによって達成される。これらはＴＶＳ（ｔｈｒｏｕｇｈ−ｓｉｌｉｃｏｎ  ｖｉａｓ）及びマイクロバンプによって連結される。
【０００４】
ＨＢＭメモリバスは、ＤＤＲ４又はＧＤＤＲ５のような他のＤＲＡＭメモリに比べて非常に広い。４つのＤＲＡＭダイのＨＢＭスタック（４−Ｈｉ）は、一般的に、ダイ当たり２つの１２８ビットチャネルからなる総計８つのチャンネルを有し、全体で１０２４ビットの幅を有する。したがって、４つの４−Ｈｉ  ＨＢＭスタックを有するグラフィックカード／ＧＰＵは４０９６ビットの幅を有するメモリバスを含む。これに比べて、ＧＤＤＲメモリのバス幅は３２ビットであり、５１２ビットのメモリインターフェースを有するグラフィックスカードについて１６チャンネルである。
【０００５】
ＤＤＲ４又はＧＤＤＲ５より相対的にメモリへのより多くの連結は、ＨＢＭメモリをＧＰＵ（又は他のプロセッサ）に連結するするための新しい方法を必要とする。一部の企業はインターポーザー（ｉｎｔｅｒｐｏｓｅｒ）と呼ばれる特殊製作されたシリコンチップ（ｐｕｒｐｏｓｅ  ｂｕｉｌｔ  ｓｉｌｉｃｏｎ  ｃｈｉｐｓ）を使用して、メモリとＧＰＵとを連結する。このようなインターポーザーは、メモリ及びプロセッサが物理的に近づいてメモリパスを減少させる利点を有する。しかし、半導体装置の製造は、プリント回路基板の製造よりも非常に高価なので、これは最終的な製品のコストに追加される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第８８９８４３７号明細書
【特許文献２】米国特許出願公開第２００６／００８０５７２号明細書
【特許文献３】米国特許出願公開第２０１０／００７０８０９号明細書
【特許文献４】米国特許出願公開第２０１５／０２３５７１６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、向上された信頼性を有するＨＢＭ（ｈｉｇｈ−ｂａｎｄｗｉｄｔｈ  ｍｅｍｏｒｙ）のＲＡＳ（ｒｅｌｉａｂｉｌｉｔｙ，ａｃｃｅｓｓｉｂｉｌｉｔｙ，ａｎｄ  ｓｅｒｖｉｃｅａｂｉｌｉｔｙ：信頼性、アクセシビリティ、及びサービサビリティ）キャッシュ構造を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明の一態様による装置は、複数の積層された集積回路ダイを備え、前記複数の積層された集積回路ダイは、メモリアドレスに基づいて、ランダムアクセス方式でデータを格納するように構成されたメモリセルダイと、ロジックダイと、を含み、前記ロジックダイは、前記複数の積層された集積回路ダイに連結され、前記メモリセルダイと少なくとも１つの外部装置との間でメモリアクセスを通信するように構成されたインターフェースと、前記メモリセルダイ内のデータのエラーを改善するように構成された信頼性回路と、を含み、前記信頼性回路は、ランダムアクセス方式でデータを格納するように構成された補助メモリと、エラーに関連付けられたメモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルと、を含み、前記信頼性回路は、前記複数の積層された集積回路ダイへのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスが前記エラーに関連付けられている場合、少なくとも部分的に前記補助メモリを使用して、前記メモリアクセスを完了するように構成されたことを特徴とする。
【０００９】
上記目的を達成するためになされた本発明の一態様によるシステムは、プロセッサと、高帯域幅メモリスタックの集積回路と、を備え、前記プロセッサは、前記プロセッサへのデータの流れを管理するように構成されたメモリコントローラーと、格納されたデータにエラーが発生したかを検出するように構成されたエラー訂正回路と、を含み、前記高帯域幅メモリスタックの集積回路は、メモリアドレスに基づいて、データを格納するように構成された高帯域幅メモリセルと、前記高帯域幅メモリセル内のデータのエラーを改善するように構成された信頼性回路と、を含み、前記信頼性回路は、データを格納するように構成された補助メモリと、前記エラーに関連付けられたメモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルと、を含み、前記信頼性回路は、前記高帯域幅メモリスタックの集積回路へのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスが前記エラーに関連付けられている場合、前記補助メモリを少なくとも部分的に使用して、前記メモリアクセスを完了するように構成されたことを特徴とする。
【００１０】
上記目的を達成するためになされた本発明の他の態様による装置は、ロジックダイを備え、前記ロジックダイは、メモリアドレスに基づいて、データを格納するように構成された高帯域幅メモリダイに連結された内部インターフェースと、前記高帯域幅メモリダイと、少なくとも１つの外部装置との間でメモリアクセスを通信するように構成された外部インターフェースと、前記高帯域幅メモリダイ内のデータエラーを改善するように構成された信頼性回路と、を含み、前記信頼性回路は、データを格納するように構成された補助メモリと、エラーに関連付けられたメモリアドレスを前記補助メモリの部分にマッピングするように構成されたアドレステーブルを含み、前記信頼性回路は、前記高帯域幅メモリダイへのメモリアクセスが発生した場合、前記メモリアクセスがエラーに関連付けられているか否かを判定し、前記メモリアクセスがエラーに関連付けられている場合、前記補助メモリを少なくとも部分的に使用して、前記メモリアクセスを完了するように構成されたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、向上された信頼性を有するＨＢＭ（ｈｉｇｈ−ｂａｎｄｗｉｄｔｈ  ｍｅｍｏｒｙ）のＲＡＳ（ｒｅｌｉａｂｉｌｉｔｙ，ａｃｃｅｓｓｉｂｉｌｉｔｙ，ａｎｄ  ｓｅｒｖｉｃｅａｂｉｌｉｔｙ：信頼性、アクセシビリティ、及びサービサビリティ）キャッシュ構造が提供される。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態による装置の例示的な実施例を示す斜視図である。
【図２Ａ】本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。
【図２Ｂ】本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。
【図２Ｃ】本発明の一実施形態によるシステムの例示的な他の実施例を示すブロック図である。
【図３】本発明の一実施形態によるデータ構造の一例を示す図である。
【図４Ａ】本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。
【図４Ｂ】本発明の一実施形態によるシステムの例示的な実施例のブロック図である。
【図５】本発明の実施形態の原理に基づいて形成された装置を含む情報処理システムの概念的なブロック図である。
【発明を実施するための形態】
【００１３】
多様な例示的な実施例が、一部の例示的な実施例を示す図面を参照して、より詳細に説明される。しかし、本明細書に記載された内容は、他の多様な形態で具現可能であり、本明細書に記載された例示的な実施例に限定されない。代わりに、このような例示的な実施例は、詳細な説明が完全であり、当業者に本発明の技術的思想を完全に伝達されるように提供される。図面では、層と領域のサイズ及び相対的なサイズは、明確化のために、誇張される。
【００１４】
構成や層が、他の構成や階層に「連結された」と記載される場合、これは直接的に他の構成や階層に連結されるか、または１つ以上の中間の構成や階層が存在し得る。対照的に、構成や階層が他の構成や階層に「直接に連結された」と記載される場合、中間の構成又は階層は存在しない。類似の参照番号は、明細書全体的に類似の構成を示す。本明細書で使用される「及び／又は」は、関連して羅列されたリストの中の１つ又はそれ以上の組み合わせの一部及び全部を含む。
【００１５】
「第１」、「第２」、「第３」などのような用語は、多様な要素、構成、領域、階層、及び／又はセクションを説明するために本明細書で使用されるが、このような要素、構成、領域、階層、及び／又はセクションは、このような用語で限定されない。このような用語は、１つの要素、構成、領域、階層、又はセクションを他の１つの要素、構成、領域、階層、又はセクションから区別するためにだけ使用される。つまり、以下で記載する第１の要素、構成、領域、階層、又はセクションは、本発明の思想と技術範囲から逸脱することなく、第２の要素、構成、領域、階層、又はセクションと呼ばれ得る。
【００１６】
「〜の下」、「〜の上」などのような空間的に相対的な用語は、図面に示された１つの要素や特徴を他の１つの要素や特徴との関連性を容易に説明するために、本明細書で使用される。空間的に相対的な用語は、図面に示された方向に加えて、動作や使用において装置の他の方向（ｏｒｉｅｎｔａｔｉｏｎ）を含む。例えば、図面で、装置が裏返される場合、他の要素や特徴の「下」にと説明された要素は、他の要素や特徴の「上部」を向く。つまり、「下」との例示的な用語は、上及び下の両方の方向を含み得る。装置は他の方向（例えば、９０度回転したり、又は他の方向）を向くことができ、本明細書で使用される空間的に相対的な説明は、それに応じて解釈される。
【００１７】
同様に、「高（ｈｉｇｈ）」、「低（ｌｏｗ）」、「プルアップ」、「プルダウン」、「１」、「０」などのような電気的な用語は、図面で示されるように、他の電圧レベル、他の構成や特徴との相対的な電圧レベル及び電流を示す説明の便宜のために、詳細な説明で使用される。電気的に相対的な用語は、図面に示された電圧又は電流に加えて使用や動作で、装置の他の基準電圧を含む。例えば、図面で、装置又は信号が反転されるか、他の基準電圧、電流又は電荷を使用している場合、「高」又は「プルアップ」と説明される構成は、新しい基準電圧又は電流と比較して、「低」又は「プルダウン」であり得る。つまり、「高」の用語は、相対的に低い又は高い電圧や電流のすべてを含み得る。装置は、他の電気的なフレームの基準に基づくことができ、詳細な説明で使用される電気的に相対的な説明に基づいて解釈される。
【００１８】
詳細な説明で使用される用語は、単に特定の実施例について説明する目的のためのものであり、本発明の限定を意図するものではない。詳細な説明で使用されるように、単数形は、明確に別の方法で定義されていない限り、複数形を含む。「含む」という用語は、詳細な説明に使用される場合、列挙された特徴、ステップ、動作、要素、及び／又は構成の存在を特定するが、１つ又はそれ以上の他の特徴、ステップ、動作、要素、構成、及び／又はそれらのグループの追加若しくは存在を排除しない。
【００１９】
例示的な実施例が理想的な実施例（及び中間構造）の例示的な図面である断面図を参照して、詳細な説明で説明される。このように、例えば、製造技術や許容誤差のような結果としての図面の形状からの変形が予想される。つまり、例示的な実施例は、詳細な説明で図示された特定の形状の領域に限定されず、例えば、製造からもたらされる形状の偏差を含む。例えば、長方形で図示された、注入領域は、一般的に、注入領域から注入されていない領域へのバイナリ変化というよりは、円形又は曲線のフィーチャー及び／又はエッジでの注入濃度の勾配を有する。同様に、注入によって形成された埋め込み領域は、埋め込み領域と注入される表面との間の領域に若干の注入をもたらし得る。したがって、図面に示された領域は、本質的に概略であり、その形状はデバイス領域の実際の形状を説明するものではなく、本発明の技術範囲を制限するものではない。
【００２０】
別の方法で定義されていない限り、本明細書で使用されるすべての用語（技術的及び科学的用語を含む）は、当業者によって一般的に理解される意味を有する。さらに、一般的に使用される辞典に定義された用語のような用語は、関連技術のコンテキストにおける意味と一致する意味を有するものと解釈され、本明細書で定義されていない限り、理想的又は過度に形式的な意味として解釈されない。
【００２１】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００２２】
図１は、本発明の一実施形態による装置の例示的な実施例を示す斜視図である。図１に示す実施例では、多数の集積回路ダイが積層されるか、又は集積されてマルチチップシステムを形成する。多様な実施例で、マルチチップシステムの装置１００は、以下で説明するように、ＲＡＳキャッシュやＲＡＳ回路を含むことができる。
【００２３】
多様な実施例で、ＨＢＭ（Ｈｉｇｈ  Ｂａｎｄｗｉｄｔｈ  Ｍｅｍｏｒｙ）は、高性能な形態のＲＡＭ（ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ  ｆｏｒｍ  ｏｆ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を含むことができる。一部の実施例で、ＨＢＭは、ＴＳＶ（ｔｈｒｏｕｇｈ−ｓｉｌｉｃｏｎ  ｖｉａ）を使用して通信する積層されたＤＲＡＭ（ｓｔａｃｋｅｄ  ｄｙｎａｍｉｃ  ＲＡＭ）メモリを含むことができる。一般的に、ＨＢＭはＴＳＶ（ｔｈｒｏｕｇｈ−ｓｉｌｉｃｏｎ  ｖｉａ）とマイクロバンプとを組み合わせて、複数（例えば、４個、８個など）のダイ（ｄｉｅ）のメモリセルアレイを互いの上部で連結する。一部の実施例で、メモリコントローラーは、積層の最下段に位置した別のダイに含まれ得る。
【００２４】
図１に示す実施例で、装置１００は、１つ又は１つ以上のメモリダイ（例えば、ＤＲＡＭなど）１０４及びロジックダイ１０２を含むことができる。一実施例で、メモリダイ１０４及びロジックダイ１０２は、同一の製造工程を使用して製造されるか、生成され、又はそうでない可能性もある。
【００２５】
図１に示す実施例で、メモリダイ１０４は、複数のメモリセルアレイ１１４を含むことができる。このような実施例で、メモリセルアレイ１１４は、データの多様な部分を格納するように構成され得る。一部の実施例で、データは、ロジックダイ１０２又は外部装置（例えば、以下で説明する外部プロセッサ又はホスト）によってアクセスされ得る。
【００２６】
図１に示す実施例で、ロジックダイ１０２は、１つ又はそれ以上のロジック回路１１２を含むことができる。このような実施例で、ロジック回路１１２は、読み取り（リード）／書き込み（ライト）要請、又はより一般的にメモリセルアレイ１１４内にデータを格納したり、読み取ったりするメモリアクセスを受信するためのインターフェース（内部インターフェース）を含むことができる。多様な実施例で、ロジックダイ１０２は、以下で説明するように、ＲＡＳキャッシュ又はＲＡＳ回路１１３を含むことができる。
【００２７】
多様な実施例で、ロジック回路１１２は、１つ又はそれ以上のビア１２６（又はマイクロバンプなど）を使用して、メモリセルアレイ１１４と通信することができる。このような実施例では、バス又は外部インターフェースを介した通信に対する要求なしに、処理構成要素（例えば、ロジック回路１１２）と格納されたデータ（メモリセルアレイ１１４）との間の高速通信を可能する。
【００２８】
多様な実施例で、装置１００は、ルーティングダイ１０６を含むことができる。ルーティングダイ１０６は、ロジックダイ１０２とメモリダイ１０４との間で信号を動的に伝送するように構成され得る。多様な実施例で、ルーティングダイ１０６は、１つ又はそれ以上のビア１２６によってロジックダイ１０２に連結され得る。ビア１２６（又はそれらの部分）は、入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）端子又はＩ／Ｏインターフェース１２３に接続され得る。このような実施例で、ルーティングダイ１０６は、Ｉ／Ｏインターフェース１２３と意図されたデータを格納するメモリセルアレイ１１４との間で信号を動的にルーティングすることができる。
【００２９】
多様な実施例で、ルーティングは、ルーティング構造体１１６によって達成される。多様な実施例で、ルーティング構造体１１６は、例えば、マルチプレクサ、デマルチプレクサ、クロスバースイッチ、スイッチ、ロータリスイッチ、メモリスイッチ、クロスオーバースイッチなど、多様なルーティング装置を含むことができる。上述した構成は、単に一部の例示的な実施例であり、本発明はこれに限定されない。
【００３０】
一部の実施例で、ルーティング構造体１１６は、ロジック回路１１２のＩ／Ｏインターフェース１２３とメモリセルアレイ１１４の類似したＩ／Ｏインターフェース（１２３ａ又は１２３ｂ）との間の入力／出力信号をルーティングするように構成され得る。図１に示す実施例では、２つの可能なルーティング方式が図示される。例えば、実線は、ロジック回路１１２を第１メモリ（メモリダイ１０４の左下隅に示す）のＩ／Ｏインターフェース１２３ａに連結するのに使用される第１ルーティングを示す。点線は、ロジック回路１１２を第２メモリ（メモリダイ１０４の右側に示す）のＩ／Ｏインターフェース１２３ｂに連結するのに使用される第２ルーティングを示す。しかし、多様な実施例で、メモリセルアレイ１１４は、図１に示すように、分割されず、モノリシック（ｍｏｎｏｌｉｔｈｉｃ）であり得る。上述した内容は、単に一部の例示的な実施例であり、本発明はこれに限定されるものではない。
【００３１】
図２Ａは、本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。多様な実施例で、システム２００は、多数の区分された集積回路、ＭＣＭ、及び／又はシステム・オン・チップ（ＳｏＣ：ｓｙｓｔｅｍ−ｏｎ−ｃｈｉｐ）の一部であり得る。多様な実施例で、システム２００は、例えば、ラップトップ、デスクトップ、ワークステーション、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン、タブレット、その他の適切なコンピュータ、又は仮想マシン若しくはそれらの仮想コンピューティング装置で使用され得る。
【００３２】
一実施例で、システム２００は、ホスト装置２０６を含むことができる。多様な実施例で、このようなホスト装置は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マザーボード（ｍｏｔｈｅｒｂｏａｒｄ）、コンピューティングシステムを含むことができる。多様な実施例で、ホスト装置２０６は、コマンドを実行して、一般的に、データを読み書きするプロセッサ（図示せず）を含むことができる。これの一部として、ホスト装置２０６は、ソフトウェア又はファームウェアからなるドライバ２４２を実行することができる。図２Ａに示す実施例で、ホスト装置２０６のドライバ２４２は、コンピュータに付着された、特定タイプの装置（例えば、プロセッサ２０４又はＨＢＭダイ２０２）を制御したり、駆動したりするコンピュータプログラムを含むことができる。このような実施例で、ドライバ２４２は、ハードウェア装置にソフトウェアインターフェースを提供して、使用されているハードウェアの細かい項目を知らなくても、オペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍｓ）及び他のコンピューティングプログラムがハードウェアの機能にアクセスできるようにする。
【００３３】
図２Ａに示す実施例で、システム２００は、プロセッサ２０４を含むことができる。多様な実施例で、プロセッサ２０４は、多様なタイプのプロセッサ（例えば、グラフィックスプロセッサ（ｇｒａｐｈｉｃ  ｐｒｏｃｅｓｓｏｒ）、中央プロセッサ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｏｒ）、装置専用プロセッサ（ｄｅｖｉｃｅ  ｓｐｅｃｉｆｉｃ  ｐｒｏｃｅｓｓｏｒ）、物理演算プロセッサ（ｐｈｙｓｉｃｓ  ｐｒｏｃｅｓｓｏｒ）など）のいずれか１つを含むことができる。説明の便宜のために、プロセッサ２０４は、グラフィックス処理ユニットＧＰＵ（ｇｒａｐｈｉｃ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）であるとして説明するが、これは単に１つの例示的な実施例であり、本発明はこれに限定されるものではない。多様な実施例で、ＧＰＵであるプロセッサ２０４は、グラフィックスデータを生成したり、または作業を大量に並列演算するために使用される。
【００３４】
多様な実施例で、プロセッサ２０４は、メモリコントローラー２３２を含むことができる。このような実施例で、メモリコントローラー２３２は、プロセッサ２０４からの、そしてプロセッサ２０４へのデータの流れを管理するように構成され得る。特に、図２Ａに示す実施例で、メモリコントローラー２３２は、プロセッサ２０４とＨＢＭダイ２０２との間でのデータの流れを管理するように構成され得る。
【００３５】
図２Ａに示す実施例で、プロセッサ２０４は、ＥＣＣ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｏｒ  ｃｏｒｒｅｃｔｉｏｎ）エンジン（又はエラー訂正回路）２３４を含むことができる。このような実施例で、ＥＣＣエンジン（又はエラー訂正回路）２３４は、ＨＢＭダイ２０２から受信したデータの一部に、エラーが発生したか否かを検出するように構成され得る。多様な実施例で、ＥＣＣエンジン２３４は、メモリコントローラー２３２の一部であるか、またはメモリコントローラー２３２とともに集積され得る。多様な実施例で、ＥＣＣエンジン２３４はシングル又はダブルビットエラー（ｓｉｎｇｌｅ  ｏｒ  ｄｏｕｂｌｅ  ｂｉｔ  ｅｒｒｏｒｓ）を検出するように構成され得る。上述した内容は、単に一部の例示的な実施例であり、本発明はこれに限定されない。
【００３６】
図２Ａに示す実施例で、プロセッサ２０４は、不揮発性メモリ２３６を含むことができる。多様な実施例で、メモリは、以下で説明するように、揮発性であるか、またはプロセッサ２０４の外部に位置し得る。このような実施例で、不揮発性メモリ２３６は、エラーがどのメモリアドレスに関連付けられているかについての情報を格納するように構成される。一部の実施例で、不良又はエラーの起きたメモリアドレスは、回避（ａｖｏｉｄ）され得る。他の実施例で、不良又はエラーの起きたメモリアドレスは、良好な又は動作メモリセルにリマップされ得る。
【００３７】
上述したように、図２Ａに示す実施例で、不揮発性メモリ２３６により、このような不良又はエラーの起きたメモリアドレスは、プロセッサ２０４のパワーサイクリング中、記憶され得る。他の実施例では、揮発性メモリが使用され、不良又はエラーの起きたメモリアドレスは、各パワーサイクルで再検索される。他の実施例で、プロセッサ２０４は、ローカル又は集積された揮発性メモリを含むことができるが、プロセッサ２０４のパワーサイクルが終了した場合、プロセッサ２０４の外部に位置するか、または遠隔に位置する不揮発性メモリ（たとえば、ハードドライブ）にデータを格納することができ、プロセッサ２０４が再起動された場合、データを回収することができる。上述した内容は、単に一部の例示的な実施例であり、本発明はこれに限定されない。
【００３８】
図２Ａに示す実施例で、システム２００は、上述のように、ＨＢＭダイ、又はより正確には、ＨＢＭダイ２０２のスタックを含むことができる。多様な実施例で、ＨＢＭダイ２０２は、上述したように、複数のメモリセルアレイ２１４を含むことができる。多様な実施例で、メモリセルアレイ２１４は、複数の集積回路（ＩＣ：ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）ダイ上に分散され、それぞれのメモリアドレスにデータを格納するように構成され得る。
【００３９】
多様な実施例で、ＨＢＭダイ２０２は、メモリセルアレイのＥＣＣストレージ２１６を含むことができる。このような実施例で、ＥＣＣストレージ２１６は、メモリセルアレイ２１４に格納されたデータ内のエラーの検出を許容するか、または可能にする追加ビットの情報（たとえば、パリティ）を含むことができる。多様な実施例で、ＥＣＣストレージ２１６は、メモリセルアレイ２１４の一部であるか、又は物理的に分離されて、先に説明したのと同様に、複数の集積回路（ＩＣ）ダイ上に分散され得る。このような実施例で、ＥＣＣデータは、エラーを検出するために、ＥＣＣエンジン２３４によって使用される。
【００４０】
多様な実施例で、ＨＢＭダイ２０２は、プロセッサ２０４とホスト装置２０６との間で、それらと通信するように構成されたＨＢＭインターフェース２１８を含むことができる。多様な実施例で、システム２００は、内部ダイ（例えば、プロセッサ２０４とＨＢＭダイ２０２との間）の通信を可能にする１つ又はそれ以上の通信バス（図示せず）を含むことができる。このような実施例で、これは、要請及び応答のようなメモリアクセスの伝送（ｔｒａｎｓｍｉｓｓｉｏｎ  ｏｆ  ｍｅｍｏｒｙ  ａｃｃｅｓｓｅｓ）を含むことができる。
【００４１】
多様な実施例で、ＨＢＭダイ２０２は、ＲＡＳ（ｒｅｌｉａｂｉｌｉｔｙ，ａｃｃｅｓｓｉｂｉｌｉｔｙ，ａｎｄ  ｓｅｒｖｉｃｅａｂｉｌｉｔｙ）キャッシュ又はＲＡＳ回路（又は信頼性回路）２１２を含むことができる。これらの実施例では、ＲＡＳ回路２１２は、高速アクセス方式で少量のデータを格納する従来のキャッシュのように動作するように構成されていない可能性があり、より大きなメモリは、追加のストレージを提供する。代わりに、ＲＡＳキャッシュ又はＲＡＳ回路２１２は、メモリセルアレイ２１４内に発見されたエラーを訂正（又は訂正されたように見えるように）するか、または改善するためのバックアップ又は補助メモリとして動作するように構成され得る。以下で説明するように、従来、メモリセルアレイ２１４内でエラーが検出された場合、広範かつ時間のかかる動作を行うことなく、エラーが訂正されるか、または回復されない可能性がある。ＲＡＳキャッシュ又はＲＡＳ回路２１２を使用すれば、このような回復又は訂正がより迅速かつ効率的に達成され得る。
【００４２】
多様な実施例では、ＲＡＳ回路２１２は、ＲＡＳメモリ又は補助メモリ２２２（若しくは補助ストレージ）を含むことができる。多様な実施例で、補助メモリ２２２は、エラーに関連するか、または破損したメモリセルアレイ２１４の部分に対するデータを格納するように構成され得る。このような構成の動作を、以下で説明する。
【００４３】
多様な実施例で、ＲＡＳ回路２１２は、エラーに関連付けられているメモリアドレス（メモリセルアレイ２１４内の）のリストを格納して、このようなメモリアドレスエラーを補助メモリ２２２の部分にマッピングするように構成されたアドレステーブル２２０を含むことができる。
【００４４】
図２Ｂは、本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。図２Ｂに示すシステム２００は、システムがエラーを検出するのに伴う情報の流れとイベントの相対的なタイミングを示す。上述した内容は、単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００４５】
エラー管理及び検出に関して、従来のＧＰＵのメモリエラー管理は、一般的に以下のように処理される。まず、ＥＣＣエンジン２３４によって復旧不可能なエラー（ｎｏｎ−ｒｅｃｏｖｅｒａｂｌｅ  ｅｒｒｏｒ）が検出される。このようなエラーは、メモリセルアレイ２１４の特定のメモリアドレスに関連付けられ、一般的にダブルビットエラー又は２つのシングルビットエラーを含む。このようなエラーは、ドライバ２４２に通知される。
【００４６】
このような実施例で、ドライバ２４２は、この通知に従ってエラーをアプリケーション（図示せず）やホスト装置２０６の一部に報告する。ドライバ２４２は、メモリエラーをＧＰＵの不揮発性メモリ２３６に記録（ｌｏｇ）する。通常的には、現行のＧＰＵの相互作用が発生するうちに、システムは、このようなエラーの再発を防止したり、または改善（回復）することができなかった。
【００４７】
しかしながら、システムの次の再付着（ｒｅａｔｔａｃｈｍｅｎｔ）、リセット（ｒｅｓｅｔ）、再起動（ｒｅｂｏｏｔ）、又はＧＰＵの相互作用の次のシーケンス若しくはシリーズにおいて、フレームバッファマネージャー（図示しないが、プロセッサ２０４の一部）は、エラーを含むリタイアされたページ（ｒｅｔｉｒｅｄ  ｐａｇｅｓ）をブラックリストに載せることができる。このような実施例で、メモリアドレス又はページは、これ以上ストレージのために使用されない可能性がある。このように、メモリアドレス又はページは恒久的にリタイアされ、メモリの機能的な容量が減少する。
【００４８】
このような従来の処理は、いくつかの問題点を有する。第１に、クライアント（例えば、ホスト装置やそこで駆動されるソフトウェア）が動作を維持しながら、ページをブラックリストに載せることは不可能である。第２に、部分的にＧＰＵの現在のＮＶＭ（不揮発性メモリ）の容量のために、現在のＧＰＵにおいてリタイア可能なページ又はメモリアドレスの個数が制限される。第３に、大きなリタイアグラニュラリティ（ｌａｒｇｅ  ｒｅｔｉｒｅ  ｇｒａｎｕｌａｒｉｔｙ）が存在する。つまり、２ビットエラーは４ＫＢ（ｋｉｌｏｂｙｔｅ）ページのリタイアを引き起こす。また、このような従来の処理は、結果的に、メモリセルアレイ２１４のより多くの部分がブラックリストに載るほど、より多くのメモリ容量の減少を起こす。
【００４９】
図２Ｂに示す実施例で、システム２００は、ＨＢＭモジュール又はＨＢＭダイ２０２上に追加のロジック及びメモリを提供し、エラーをキャッシングして復旧することにより、このような状況を改善する。より詳細には、ＲＡＳ回路２１２は、少なくとも数キロバイトの大きさでＨＢＭのロジックダイに具現され得る。これは単に例示的な実施例であり、本発明はこれに限定されない。このようなＲＡＳ回路２１２は、ホスト装置２０６又はプロセッサ２０４によって受信されたメモリアドレスを格納するインデックス領域（ｉｎｄｅｘ  ｒｅｇｉｏｎ）又はアドレステーブル２２０を含むことができ、ＨＢＭダイ２０２の内部エラー訂正メカニズムによって保護され得る。ＲＡＳ回路２１２は、復旧されたデータ（与えられたサイズであり得る）を格納するように構成されたデータ領域（ｄａｔａ  ｒｅｇｉｏｎ）又は補助メモリ２２２を含むことができる。アドレステーブル２２０と補助メモリ２２２の領域とは、１対１のマッピングを含むことができる。なお、このような領域は、ＨＢＭロジックダイと互換性のある技術（ＤＲＡＭ、ＳＲＡＭ、フラッシュなどのような技術）で具現され得る。
【００５０】
図２Ｂに示す実施例で、エラー検出処理は、与えられたメモリアドレスでエラーが発生したことを検出するＥＣＣエンジン２３４から開始される。矢印２８２で示すように、ＥＣＣエンジン２３４は、上述したように、ドライバ２４２に通知することができる。また、矢印２８４で示すように、ドライバ２４２は、これを不揮発性メモリ２３６に記録することができる。
【００５１】
しかし、メモリアドレス又はページをブラックリストに載せて、プロセッサ２０４が、これ以上、即時使用されなくなるまで待つ代わりに、プロセッサ２０４は、ＨＢＭダイ２０２（またはＨＢＭダイ２０２のロジックダイ）に与えられたメモリアドレスが不良（バッド）であることを知らせることができる（矢印２８６で示す）。ＨＢＭダイ２０２、より詳細には、ＲＡＳ回路２１２は、エラー訂正動作を行うことができる。
【００５２】
図２Ｂに示す実施例で、ＲＡＳ回路２１２は、不良メモリアドレスをアドレステーブル２２０に記録するか、または入力することができる。不良メモリアドレスは、補助メモリ２２２の一部又はメモリアドレスにマッピングすることができる。多様な実施例で、当該メモリアドレスでメモリセルアレイ２１４に含まれるデータは、補助メモリ２２２のマッピングされた部分にコピー（エラーと全体）され得る。しかし、これはデータがエラーを含むので、好ましくない可能性がある。このような実施例で、プロセッサ２０４は、新しいデータ（エラーがないデータ）が再読み込みされる前に、ＨＢＭダイ２０２に格納される（書き込まれる）ことを要求できる。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００５３】
このような実施例で、新しいメモリアクセス（例えば、読み込み又は書き込み）がメモリアドレスに発生した場合、ＲＡＳ回路２１２は、そのメモリアドレスがアドレステーブル２２０に含まれているか（したがって、エラーに関連付けられているか）をチェックする。もしそうでなければ、メモリへのアクセスは正常に処理される。メモリアクセスは、メモリセルアレイ２１４によって遂行される。メモリアドレスがエラーに関連付けられている場合、メモリアクセスは、補助メモリ２２２、特にアドレステーブル２２０によってマップされたメモリアドレスの部分によって遂行される。
【００５４】
このような本発明による実施例は、いくつかの利点を有する。第１に、不良メモリアドレスへのすべてのメモリアクセスは、補助メモリ２２２によって（プロセッサ２０４又はホスト装置２０６に）スムーズに遂行され得る。プロセッサ２０４は、クライアントに結合された途中であっても、これを達成し得る。プロセッサ２０４が結合解除されるか、使用されないか、または再付着の一部であるまで待つ必要がない。第２に、特定のメモリアドレスを補助メモリ２２２に再びマッピングすることにより、ＨＢＭダイ２０２のストレージ容量が減少しない。ブラックリストに載せることなしに、ＨＢＭダイ２０２は、同じ大きさのストレージ容量を有するように見える。第３に、ＲＡＳ回路２１２は、多様なメモリマッピングの単位を提供することができる。従来の方法が、４ＫＢページのブラックリストとリタイアを必要とするのに対し、ＲＡＳ回路２１２は、キャッシュライン、ページ、及びメモリの他のサイズのマッピングを許容することができる。
【００５５】
多様な実施例で、アドレステーブル２２０への新たなメモリアドレスの追加（矢印２８６）は、予め定められた、又は予備のメモリアドレス（ｐｒｅｄｅｆｉｎｅｄ  ｏｒ  ｒｅｓｅｒｖｅｄ  ｍｅｍｏｒｙ  ａｄｄｒｅｓｓ）への書込み（ライト）のメモリアクセスを遂行するプロセッサ２０４（またはホスト装置２０６）を含むことができる。このような実施例で、ＲＡＳ回路２１２は、このようなメモリアドレスへのある書込みが、新たなエントリがアドレステーブル２２０に位置されることを意味するものと知ることができる。このような実施例で、書き込みのメモリアクセスのデータ部分は、不良メモリアドレスを含み得る。他の実施例で、アドレステーブル２２０への新たなメモリアドレスの追加（矢印２８６）は、新しいメッセージタイプやプロトコルの使用を伴い得る。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００５６】
多様な実施例で、プロセッサ２０４又はホスト装置２０６は、他の予め定められた、または予備のメモリアドレスへの読み込み（リード）のメモリアクセスを行うことにより、リマッピングのために利用可能な、または使用される補助メモリ２２２がどれくらい多いのかをチェックすることができる。このため、ＲＡＳ回路（又は信頼性回路）は補助メモリの使用レベルを監視し、予め定められたメモリアドレスに使用レベルのインジケーターを格納するように構成される。このような実施例で、ＲＡＳ回路は補助メモリ２２２の現在のストレージ容量や使用レベルでレジスタ又はメモリアドレスをアップデートすることができ、必要なときごとに、プロセッサ２０４又はホスト装置２０６は、メモリアドレスからリード（ｒｅａｄ）することができる。多様な実施例で、リードは、このような空間が利用可能なことを確認するために、矢印２８６の動作の以前に行われ得る。いくつかの実施例で、補助メモリ２２２がいっぱいになるか、またはすべて使用中の場合は、プロセッサ２０４及びホスト装置２０６は、従来のブラックリスト／リタイア技法を使用することができる。他の実施例で、補助メモリ２２２の自由容量をチェックするのは、新しいメッセージタイプ又はプロトコルの使用を伴い得る。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００５７】
多様な実施例で、システム２００が初期化されるときに（たとえば、ブートアップのとき）、情報がＨＢＭダイ２０２から（ホスト装置２０６又はプロセッサ２０４のいずれか１つによって）リード（ｒｅａｄ）される。一実施例で、ＨＢＭダイ２０２がＲＡＳ回路２１２をサポートするか、または含むかを判定することができる。一実施例で、使用されるリマッピングユニットのレベル（例えば、２５６ビット、５１２ビットなど）が何なのかを判定することができる。他の実施例で、キャッシュ又は補助メモリ２２２のエントリ及び／又はアドレステーブル２２０のエントリがどのようにサポートされているかを判定することができる。多様な実施例で、このような確認は、予め定められた、若しくは予備のアドレスへのリード（ｒｅａｄ）のメモリアクセスによって、又は特定のメッセージやプロトコルによって行われる。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００５８】
同様に、多様な実施例で、システム２００が初期化されるときに（たとえば、ブートアップのとき）、情報又は設定が、ＨＢＭダイ２０２に（ホスト装置２０６又はプロセッサ２０４のいずれか１つによって）記入（格納）され得る。一実施例で、不良（バッド）メモリアドレスの既存のリストが（例えば、不揮発性メモリ２３６から）アドレステーブル２２０に格納される。他の実施例で、リマッピングユニットのレベル（例えば、２５６ビット、５１２ビットなど）が補助メモリ２２２に対して設定される。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００５９】
図２Ｃは、本発明の一実施形態によるシステムの例示的な他の実施例を示すブロック図である。多様な実施例で、システム２０１は、先に説明した実施例の他の変形を示す。
【００６０】
この実施例では、ホスト装置２０６、プロセッサ２０４、及び先に説明した実施例と同じ構成要素を含むことができる。ＨＢＭダイ２０２、特にロジックダイは、独自のＥＣＣエンジン２９４を含むことができる。このような実施例で、ＨＢＭダイ２０２は、ホスト装置２０６及びプロセッサ２０４の支援を借りずに、メモリセルアレイ２１４内のエラーを検出し、補助メモリ２２２に不良メモリアドレスをリマッピングすることができる。多様な実施例で、不揮発性メモリの使用を通じて、リマップされたものが、実質的に永久的に維持され得る。他の実施例で、これがそれほど効率的ではないか、または好ましくないことで有り得るが、リマッピングが再起動後ごとに発生され得る。
【００６１】
このような実施例で、ＥＣＣエンジン２９４は、ＥＣＣエンジン２３４の代わりにエラーを検出することができる。このような実施例で、ホスト装置２０６及びプロセッサ２０４は、このようなエラーを認識しない可能性がある。多様な実施例で、ホスト装置２０６及びプロセッサ２０４は、上述した従来のブラックリスト／リタイア技法を使用し続けることができるが、ＨＢＭダイ２０２の内部改善活動により、ブラックリスト／リタイアが発生しないか、または稀にしか現れない。
【００６２】
多様な実施例で、矢印２９２で示すように、ＨＢＭダイ２０２のＥＣＣエンジン２９４は、不良メモリアドレスをアドレステーブル２２０に追加することができる。不良メモリアドレスは、その後、補助メモリ２２２の部分にマッピングされ、以後のメモリアクセスは、上述したように発生し得る。
【００６３】
図３は、本発明の一実施形態によるデータ構造の一例を示す図である。図３に示す実施例で、データ構造（３００、３０２）は、上述したように、ＲＡＳ回路のアドレステーブル及び補助メモリを表すことができる。
【００６４】
図３に示す実施例で、データ構造３００は、上述したアドレステーブル又はインデックス領域の１つの可能な実施例を表すことができる。このような実施例で、データ構造３００（アドレステーブル又はインデックス領域）は、不良又はエラーの起きたメモリアドレス（またはページのようなメモリ領域）を格納するように構成され得る。多様な実施例で、このような不良メモリアドレスは、ホスト装置又はプロセッサから受信され得る。多様な実施例で、データ構造３００は、ＥＣＣ独自の形態により保護され得る。いくつかの実施例では、図示しないが、データ構造３００（アドレステーブル又はインデックス領域）は、データ構造３００（アドレステーブル又はインデックス領域）内のエラーから保護するエラー訂正コードの部分をさらに含み得る。
【００６５】
図３に示す実施例で、データ構造３００の各行は、メモリアドレスのエントリと見なすことができる。このような実施例で、データ構造３００は、どのメモリアドレスが不良であるかを指定する列３１２を含むことができる。これは、メモリアクセスが発生するときにチェックされて、上述のように、メモリアクセスがＨＢＭメモリセルによって遂行されるか、または補助メモリによって遂行されるかを判定する列３１２であり得る。
【００６６】
図３に示す実施例で、各メモリアドレスのエントリは、有効ビット又は有効フラグ３１４の列を含み得る。このような実施例で、有効フラグ３１４は、それぞれのメモリアドレスのエントリが使用中であるか否かを示す。即ち、メモリアドレスのエントリがアクティブ状態であるか否かを示す。この実施例では、ホスト又はプロセッサがデータ構造３００にエントリを格納するときに、有効フラグ３１４が設定され得る。他の実施例で、データ構造３００は、周期的に（例えば、再起動の一部として）消去され、有効フラグ３１４を含んでいない可能性がある。
【００６７】
多様な実施例では、各メモリアドレスのエントリは、タイプフィールドの列（図示せず）を含むことができる。このような実施例で、エラーの改善がすべてのアドレスの使用を通じて、均一又は同一のサイズ（例えば、ワードや行ベース）で、フィールドが含まれていない可能性がある。しかし、図３に示す実施例で、各アドレスは、１ビット、１ワード、又は多様な個数のビットとともにエラー改善の他のレベル、サイズ、又はタイプと関連付けられる。いくつかの実施例では、フィールドは、修正されたメモリアドレスを通ったビット数を含むことができる。しかし、図３に示す実施例で、１ビットの場合は値１、１ワードの場合は値２などのように予め定められた値が使用され得る。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００６８】
図３に示す実施例で、各メモリアドレスのエントリは、マッピングされたアドレス３１６の列を含むことができる。この実施例で、マッピングされたアドレス３１６は、不良メモリアドレス（列３１２）に関連付けられたデータが実際に格納される補助メモリ内のメモリアドレス又は位置であり得る。このような実施例で、メモリアクセスが不良メモリアドレスに対して発生する場合は、そのアクセスは予備のストレージにリダイレクトされるだけでなく、マッピングされたメモリアドレス３１６に再びアドレス指定される。多様な実施例で、これは固定マッピングであり得る。図３に示す実施例で、マッピングは１対１である。しかし、他の実施例で、マッピングは、関連性を有するように設定したり、または他の方式を使用したりできる。
【００６９】
図３に示す実施例では、データ構造３００は、１（又はＳｅｔ）の有効フラグを含んで、アドレス（＃Ｍ１）にマッピングされたメモリアドレスのエントリ（Ａｄｄｒｅｓｓ＃１）を含むことができる。同様に、メモリアドレスのエントリ（Ａｄｄｒｅｓｓ＃２）は、１（又はＳｅｔ）の有効フラグを含んで、アドレス（＃Ｍ２）にマッピングされ得る。多数の他のメモリアドレスのエントリが存在し得る。最後に、メモリアドレスのエントリ（Ａｄｄｒｅｓｓ  ＃Ｎ）は、０（又はｃｌｅａｒｅｄ）の有効フラグを含んで、アドレス（＃ＭＮ）にマッピングされ得る。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００７０】
図３に示す実施例で、データ構造３０２は、複数のメモリセルを含むことができ、複数のメモリセルのそれぞれは、それぞれのメモリアドレスからデータを格納するように構成され得る。多様な実施例で、データ構造３０２は、ＥＣＣ保護を使用することができる。上述したように、不良メモリアドレスへのライト（ｗｒｉｔｅ）のメモリアクセスが発生した場合、新しいデータは補助メモリ又はデータ構造３０２（例えば、Ｄａｔａ＃１、Ｄａｔａ＃２、Ｄａｔａ＃Ｎ）に格納される。上述したように、データが格納される位置は、メモリアドレスのエントリに基づく。
【００７１】
多様な実施例で、データ構造３０２は、任意の大きさであり得る。この実施例で、データ構造３０２は、１５０ＫＢを含むことができるが、これは単に１つの例示的な実施例であり、本発明はこれに限定されない。多様な実施例では、単位のレベルは可変されるサイズ（例えば、２５６ビット）であり得る。
【００７２】
いくつかの実施例で、ＲＡＳ回路は、他のサイズやエラーパターンを収容するための複数のデータ構造（３０２、３００）を含むことができる。例えば、多様な実施例で、ＲＡＳ回路はシングルビットデータエラー、シングルワードデータエラー、シングル行データエラー、及び／又はシングル列データエラーのエラーパターンを収容し、それらのためのデータ構造を含むことができる。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００７３】
図４Ａは、本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。図４Ａに示す実施例では、ライト（ｗｒｉｔｅ）のメモリアクセスが示される。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００７４】
図４Ａに示す実施例で、システム４００は、上述したように、プロセッサ２０４及びＨＢＭダイ２０２を含むことができる。多様な実施例で、プロセッサ２０４は、メモリコントローラー２３２を含むことができる。ＨＢＭダイ２０２は、上述のように、ＨＢＭアレイ又はメモリセルアレイ２１４（ＥＣＣストレージを含むことができる）、及びＲＡＳ回路２１２を含むことができる。図４Ａに示す実施例で、ＲＡＳ回路２１２は、上述のように、インデックス領域又はアドレステーブル２２０、及びＲＡＳメモリ又は補助メモリ２２２を含むことができる。図４Ａに示す実施例で、システム４００は、コマンドバス４１２及びデータバス４１４をさらに含むことができる。
【００７５】
図４Ａに示す実施例で、メモリコントローラー２３２は、ＨＢＭダイ２０２へのライト（ｗｒｉｔｅ）のメモリアクセスを発行することができる。この実施例で、コマンド自体（およびメモリアドレス）は、コマンドバス４１２によって伝送され、格納されるデータは、データバス４１４によって伝送される。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００７６】
ライト（書き込み）のメモリアクセスが受信された場合、ＲＡＳ回路２１２は、メモリアクセスに関連付けられたメモリアドレスがアドレステーブル２２０に格納されているか（そして有効であるか）否かを判定する。アドレステーブル２２０は、アドレステーブルのヒット（アドレスが格納されている場合）、またはアドレステーブルのミス（アドレスが格納されていない場合）の信号を発生させ得る。これは信号４２４で示される。
【００７７】
図４Ａに示す実施例で、ＲＡＳ回路２１２は、デマルチプレクサ（ＤｅＭＵＸ：ｄｅｍｕｌｔｉｐｌｅｘｅｒ）又はルーティング回路４２０を含むことができる。ルーティング回路４２０は、アドレステーブルのヒット／ミスの信号４２４に基づいて、データをメモリセルアレイ２１４又は補助メモリ２２２のいずれか１つへ伝送するように構成され得る。上述のように、アドレステーブルのヒットが発生した場合、ルーティング回路４２０は、格納されるデータを補助メモリに伝送する（矢印４３４で示される）。同様に、アドレステーブル２２０は、マッピングされたメモリアドレス４３２を生成し、それを補助メモリ２２２に伝送する。逆に、上述のように、アドレステーブルのミスが発生した場合、ルーティング回路４２０は、格納されるデータをメモリセルアレイ２１４に伝送する（矢印４３６で示される）。同様に、図示されていないが、コマンドバス４１２からのメモリアドレスは、データを格納するために、メモリセルアレイ２１４によって使用される。
【００７８】
多様な実施例で、アドレステーブルのヒット／ミスの発生とは無関係に、データはメモリセルに常に格納され得る。このような実施例で、メモリセルアレイ２１４へのメモリアクセスを遂行するロジックは、ＲＡＳ回路２１２の追加を収容するように変更する必要はない。このような実施例で、アドレステーブルのヒットが発生した場合、データはメモリセルアレイ２１４及び補助メモリ２２２の両方に格納されるが、メモリセルアレイ２１４のデータは、以下に示すように、無視される。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００７９】
図４Ｂは、本発明の一実施形態によるシステムの例示的な実施例を示すブロック図である。図４Ｂに示す実施例では、リード（ｒｅａｄ）のメモリアクセスが図示されている。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００８０】
図４Ｂに示す実施例で、システム４０１は、上述のように、プロセッサ２０４及びＨＢＭダイ２０２を含むことができる。多様な実施例で、プロセッサ２０４は、メモリコントローラー２３２を含むことができる。ＨＢＭダイ２０２は、上述のように、ＨＢＭアレイ又はメモリセルアレイ２１４（ＥＣＣストレージを含むことができる）、及びＲＡＳ回路２１２を含むことができる。図４Ｂに示す実施例で、ＲＡＳ回路２１２は、上述のように、インデックス領域又はアドレステーブル２２０、及びＲＡＳ又は補助メモリ２２２を含むことができる。図４Ｂに示す実施例で、システム４０１は、コマンドバス４１２及びデータバス４１４をさらに含むことができる。
【００８１】
図４Ｂに示す実施例で、メモリコントローラー２３２は、ＨＢＭダイ２０２へのリード（ｒｅａｄ）のメモリアクセスを発行することができる。このような実施例で、コマンド自体（およびメモリアドレス）は、コマンドバス４１２によって伝送され、データはデータバス４１４によってリターンされる。これは単に１つの例示的な実施例であり、本発明はこれに限定されない。
【００８２】
リード（ｒｅａｄ）のメモリアクセスが受信された場合、ＲＡＳ回路２１２は、メモリアクセスに関連付けられたメモリアドレスがアドレステーブル２２０に格納されているか（そして有効であるか）否かを判定する。アドレステーブル２２０は、アドレステーブルのヒット（アドレスが格納されている場合）、またはアドレステーブルのミス（アドレスが格納されていない場合）を発生する。これは信号４２４で示される。
【００８３】
図４Ｂに示す実施例で、ＲＡＳ回路２１２は、マルチプレクサ（ＭＵＸ：ｍｕｌｔｉｐｌｅｘｅｒ）、ゲーティング、又はルーティング回路４７０を含むことができる。ルーティング回路４７０は、アドレステーブルのヒット／ミスの信号４２４に基づいて、メモリセルアレイ２１４又は補助メモリ２２２のいずれか１つからのデータをデータバス４１４に伝送するように構成される。上述のように、アドレステーブルのヒットが発生した場合、ルーティング回路４７０は、補助メモリから回収されたデータ（矢印４７４によって図示される）をデータバス４１４に伝送する。同様に、アドレステーブル２２０は、マッピングされたメモリアドレス４３２を生成し、それを補助メモリ２２２に伝送する。逆に、上述のように、アドレステーブルのミスが発生した場合、ルーティング回路４７０は、メモリセルアレイ２１４から回収されたデータ（矢印４７６によって図示される）をデータバス４１４に伝送する。同様に、図示されていないが、コマンドバス４１２からのメモリアドレスは、データを回収するために、メモリセルアレイ２１４によって使用される。
【００８４】
多様な実施例で、上述のように、アドレステーブルのヒット／ミスの発生とは無関係に、データはメモリセルに常にライト（ｗｒｉｔｅ）され得る。このような実施例で、データがメモリセルアレイ２１４のうちの不良又はエラーの起きたメモリアドレスに格納されても、ルーティング回路４７０は、不良又はエラーの起きたデータがデータバス４１４に存在することを防止できる。代わりに、補助メモリ２２２からの有用なデータ（ｇｏｏｄ  ｄａｔａ）が使用される。このような実施例で、データはメモリセルアレイ２１４から常にリード（ｒｅａｄ）され、その後、ルーティング回路４７０によってゲーティングされ得る。
【００８５】
図５は、本発明の実施形態の原理に基づいて形成された半導体装置を含む情報処理システムの概念的なブロック図である。
【００８６】
図５を参照すると、情報処理システム５００は、本発明の実施形態の原理に基づいて構成された１つ又はそれ以上の装置を含むことができる。他の実施例で、情報処理システム５００は、本発明の実施形態の原理に基づく１つ又はそれ以上の技法を使用するか、または実行することができる。
【００８７】
多様な実施例で、情報処理システム５００は、例えば、ラップトップ、デスクトップ、ワークステーション、サーバ、ブレードサーバ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン、タブレット及び他の適切なコンピュータのようなコンピューティング装置、又は仮想マシン若しくはそれらの仮想コンピューティングデバイスを含むことができる。多様な実施例で、情報処理システム５００は、ユーザー（図示せず）によって使用され得る。
【００８８】
本発明による情報処理システム５００は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ロジック又はプロセッサ５１０をさらに含むことができる。一部の実施例で、プロセッサ５１０は、１つ又はそれ以上の機能ユニットブロック（ＦＵＢ）や組み合わせ論理ブロック（ＣＬＢ）５１５を含むことができる。このような実施例で、組み合わせ論理ブロックは、多様なブーリアン方式のロジック動作（例えば、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、ＸＯＲ）、安定化ロジックデバイス（例えば、フリップフロップ、ラッチ）、他のロジックデバイス、又はそれらの組み合わせを含むことができる。このような組み合わせロジックの動作は、単純又は複雑な方式で入力信号を処理して意図された結果を達成するように構成され得る。同期式組み合わせロジックの動作の一部の例示的な実施例を説明したが、本発明はこれに限定されるものではなく、非同期式動作、又はそれらの組み合わせを包含できる。一実施例で、組み合わせロジックの動作は、複数のＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ）トランジスタを含むことができる。多様な実施例で、このようなＣＭＯＳトランジスタは、ロジック動作を遂行するゲートに整列され得るが、ただし、本発明の技術範囲に属する他の技術が使用され得る。
【００８９】
本発明による情報処理システム５００は、揮発性メモリ５２０（例えば、ランダムアクセスメモリＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））をさらに含むことができる。本発明による情報処理システム５００は、不揮発性メモリ５３０（例えば、ハードドライブ、光メモリ、ＮＡＮＤ又はフラッシュメモリ）をさらに含むことができる。一部の実施例で、揮発性メモリ５２０、不揮発性メモリ５３０、又はそれらの組み合わせ若しくは一部は、「記憶媒体（ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）」と称される。多様な実施例で、揮発性メモリ５２０及び／又は不揮発性メモリ５３０は、半永久的な又は実質的に永続的な形態でデータを格納するように構成される。
【００９０】
多様な実施例で、情報処理システム５００は、情報処理システム５００が通信ネットワークの一部となって、この通信ネットワークを通じて通信するように構成された１つ又はそれ以上のネットワークインターフェース５４０を含むことができる。Ｗｉ−Ｆｉ（登録商標）プロトコルの例として、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎを含むことができるが、これに限定されない。セルラープロトコルの例は、ＩＥＥＥ  ８０２．１６ｍ（別名、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ａｄｖａｎｃｅｄ）、ＬＴＥ（登録商標）（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）Ａｄｖａｎｃｅｄ、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）、Ｅｖｏｌｖｅｄ  Ｈｉｇｈ−  Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ（ＨＳＰＡ  ＋）を含むことができるが、これに限定されない。有線プロトコルの例は、ＩＥＥＥ  ８０２．３（別名、Ｅｔｈｅｒｎｅｔ）、ファイバチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）、電力線通信（Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）（例えば、ホームプラグ、ＩＥＥＥ  １９０１）を含むことができるが、これに限定されない。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００９１】
本発明による情報処理システム５００は、ユーザーインターフェースユニット５５０（例えば、ディスプレイアダプタ、ハプティックインターフェース、ヒューマンインターフェース装置）をさらに含むことができる。多様な実施例で、このようなユーザーインターフェースユニット５５０は、ユーザーから入力を受信したり、ユーザーに出力を提供したりするように構成され得る。他の種類の装置がユーザーとの相互作用を提供するために使用されることができ、例えば、ユーザーに提供されるフィードバックは、感覚フィードバック（ｓｅｎｓｏｒｙ  ｆｅｅｄｂａｃｋ）の形態（例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック）であり、ユーザーからの入力は、音、音声、又は触覚入力の形態で受信され得る。
【００９２】
多様な実施例で、情報処理システム５００は、１つ又はそれ以上の他の装置やハードウェア構成（例えば、ディスプレイ又はモニター、キーボード、マウス、カメラ、指紋リーダー、ビデオプロセッサ）（以下、他のハードウェア装置５６０という）を含むことができる。上述した内容は、単にいくつかの例示的な実施例であり、本発明はこれに限定されない。
【００９３】
本発明による情報処理システム５００は、１つ又はそれ以上のシステムバス５０５をさらに含むことができる。このような実施例で、システムバス５０５は、プロセッサ５１０、揮発性メモリ５２０、不揮発性メモリ５３０、ネットワークインターフェース５４０、ユーザーインターフェースユニット５５０、並びに１つ又はそれ以上のハードウェア構成５６０を通信的に連結するように構成され得る。プロセッサ５１０によって処理されたデータ、又は不揮発性メモリ５３０の外部から入力されたデータは、不揮発性メモリ５３０又は揮発性メモリ５２０のいずれか１つに格納され得る。
【００９４】
多様な実施例では、情報処理システム５００は、１つ又はそれ以上のソフトウェア構成（以下、ソフトウェア５７０という）を含むか、または実行することができる。一部の実施例で、ソフトウェア５７０は、オペレーティングシステムＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）及び／又はアプリケーションを含み得る。いくつかの実施例で、ＯＳは、１つ又はそれ以上のサービスをアプリケーションとして提供し、アプリケーションと情報処理システム５００の多様なハードウェア構成（例えば、プロセッサ５１０、ネットワークインターフェース５４０）との間の仲介者（ｉｎｔｅｒｍｅｄｉａｒｙ）として管理し、または動作させることができる。このような実施例で、情報処理システム５００は、ローカルに（例えば、不揮発性メモリ５３０内に）設置され、プロセッサ５１０によって直接実行され、ＯＳと直接相互作用するように構成された１つ又はそれ以上のネイティブ（ｎａｔｉｖｅ）アプリケーションを含むことができる。このような実施例で、ネイティブアプリケーションは、予めコンパイルされたマシン実行可能なコード（ｐｒｅ−ｃｏｍｐｉｌｅｄ  ｍａｃｈｉｎｅ  ｅｘｅｃｕｔａｂｌｅ  ｃｏｄｅ）を含むことができる。一部の実施例で、ネイティブアプリケーションは、ソース又はオブジェクトコードをプロセッサ５１０によって実行される実行可能なコードに変換するように構成されたＶＭ（ｖｉｒｔｕａｌ  ｅｘｅｃｕｔｉｏｎ  ｍａｃｈｉｎｅ）（例えば、ｔｈｅ  Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、ｔｈｅ  Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ）、又はスクリプトインタープリター（ｓｃｒｉｐｔ  ｉｎｔｅｒｐｒｅｔｅｒ）（例えば、ｃｓｈ（Ｃ  ｓｈｅｌｌ）、ＡｐｐｌｅＳｃｒｉｐｔ、ＡｕｔｏＨｏｔｋｅｙ）を含むことができる。
【００９５】
上述の半導体装置は、多様なパッケージング技法を使用してカプセル化され得る。例えば、本発明の技術的思想に基づいて構成された半導体装置は、ＰＯＰ（ｐａｃｋａｇｅ  ｏｎ  ｐａｃｋａｇｅ）技法、ＢＧＡ（ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙ）技法、ＣＳＰ（ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅ）技法、ＰＬＣＣ（ｐｌａｓｔｉｃ  ｌｅａｄｅｄ  ｃｈｉｐ  ｃａｒｒｉｅｒ）技法、ＰＤＩＰ（ｐｌａｓｔｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、ダイ・インワッフルパック技法（ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ  ｔｅｃｈｎｉｑｕｅ）、ダイ・インウェハー形成技法（ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ  ｔｅｃｈｎｉｑｕｅ）、ＣＯＢ（ｃｈｉｐ  ｏｎ  ｂｏａｒｄ）技法、ＣＥＲＤＩＰ（ｃｅｒａｍｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＰＭＱＦＰ（ｐｌａｓｔｉｃ  ｍｅｔｒｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＰＱＦＰ（ｐｌａｓｔｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＳＯＩＣ（ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＳＳＯＰ（ｓｈｒｉｎｋ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＴＳＯＰ（ｔｈｉｎ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＴＱＦＰ（ｔｈｉｎ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＳＩＰ（ｓｙｓｔｅｍ  ｉｎ  ｐａｃｋａｇｅ）技法、ＭＣＰ（ｍｕｌｔｉ−ｃｈｉｐ  ｐａｃｋａｇｅ）技法、ＷＦＰ（ｗａｆｅｒ−ｌｅｖｅｌ  ｆａｂｒｉｃａｔｅｄ  ｐａｃｋａｇｅ）技法、ＷＳＰ（ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  ｓｔａｃｋ  ｐａｃｋａｇｅ）技法、又は当業者によってよく知られている他の技法のいずれか１つを使用してカプセル化され得る。
【００９６】
方法のステップは、コンピュータプログラムを実行して、入力データに対して動作するか、または出力を生成することにより、機能を実行する１つまたはそれ以上のプログラム可能なプロセッサによって遂行される。方法のステップはまた、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のような特定用途向けのロジック回路によって遂行され、装置は、特定用途向けのロジック回路として具現され得る。
【００９７】
多様な実施例で、コンピュータ読み取り可能な記憶媒体は、コマンドを含むことができ、コマンドが実行される場合、装置は、方法のステップの少なくとも一部を遂行することができる。一部の実施例で、コンピュータ読み取り可能な記憶媒体は、磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉｕｍ）、光媒体（ｏｐｔｉｃａｌ  ｍｅｄｉｕｍ）、他の媒体、又はそれらの組み合わせ（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読み取り専用メモリ、フラッシュドライブ）が含まれる。このような実施例で、コンピュータ読み取り可能な記憶媒体は明確かつ非一時的に形象化された製造品であり得る。
【００９８】
本発明の技術的思想が例示的な実施例を参照して説明されたが、当業者は、本発明の思想及び技術範囲から逸脱せずに多様な変形及び変更を行うことができる。したがって、上述した実施例は、単に説明のためのものであり、限定されないことが理解される。本発明の技術範囲は、上述の説明によって制限されたり、または限定されない。したがって、本発明の技術範囲は、実施例の範囲内でこのような変形及び修正のすべてを含むことが理解される。
【符号の説明】
【００９９】
１００    装置
１０２    ロジックダイ
１０４    メモリダイ
１０６    ルーティングダイ
１１２    ロジック回路
１１３、２１２    ＲＡＳ回路
１１４、２１４    メモリセルアレイ
１１６    ルーティング構造体
１２３、１２３ａ、１２３ｂ    Ｉ／Ｏインターフェース
１２６    ビア
２００、２０１、４００、４０１    システム
２０２    ＨＢＭダイ
２０４、５１０    プロセッサ
２０６    ホスト装置
２１６    ＥＣＣストレージ
２１８    ＨＢＭインターフェース
２２０    アドレステーブル
２２２    補助メモリ
２３２    メモリコントローラー
２３４、２９４    ＥＣＣエンジン
２３６    不揮発性メモリ
２４２    ドライバ
４１２    コマンドバス
４１４    データバス
４２０    ルーティング回路
４２４    信号
４３２    マッピングされたメモリアドレス
４７０    ルーティング回路
５００    情報処理システム
５０５    システムバス
５２０    揮発性メモリ
５３０    不揮発性メモリ
５４０    ネットワークインターフェース
５５０    ユーザーインターフェースユニット
５６０    ハードウェア構成
５７０    ソフトウェア構成
【図１】
2020009441.tif 000003
【図２Ａ】
2020009441.tif 000004
【図２Ｂ】
2020009441.tif 000005
【図２Ｃ】
2020009441.tif 000006
【図３】
2020009441.tif 000007
【図４Ａ】
2020009441.tif 000008
【図４Ｂ】
2020009441.tif 000009
【図５】
2020009441.tif 000010