(57)【特許請求の範囲】
【請求項１】
メモリコントローラを有するメモリシステムであって、
第１のメモリ階層を定義する複数の揮発性メモリ素子の第１のセットであって、第１のメモリモジュール上に配置され、当該第１のメモリモジュールは前記メモリコントローラに結合される、第１のセットと、
第２のメモリ階層を定義する１以上の不揮発性メモリ素子の第２のセットであって、第２のメモリモジュール上に配置され、当該第２のメモリモジュールは前記第１のメモリモジュールに結合される、第２のセットと
を備え、
前記第１のメモリ階層は、前記メモリコントローラからメモリトランザクションを受け取り、
データが、前記第１のメモリ階層から前記第２のメモリ階層へ、選択的に書き込まれ、
前記第２のメモリモジュールは、当該第２のメモリモジュール上に存在しない下流にあるメモリ素子のセットと結合する集積回路バッファ素子であって、特定のメモリロケーションへの書き込み回数をカウントし、書き込み回数が閾値を超えている場合に、書込み位置をリマップする集積回路バッファ素子を含む、
メモリシステム。
【請求項２】
前記第１のメモリ階層は、前記第２のメモリ階層において記憶するためにデータをキャッシュし、
前記メモリコントローラから受信した前記トランザクションは、キャッシュされた前記データに対するランダムアクセス書き込みトランザクションを含み、
前記トランザクションは、前記第１のメモリ階層から前記第２のメモリ階層へ選択的に送信され、前記第１のメモリ階層にキャッシュされた前記データの、ブロックをベースとした周期的な書き込みトランザクションを含み、前記キャッシュされたデータを前記１以上の不揮発性メモリ素子に記憶させる、請求項１記載のメモリシステム。
【請求項３】
前記第１のメモリ階層は、ポイントツーポイントデータリンクで前記メモリコントローラに結合されており、第２のメモリ階層は、ポイントツーポイントデータリンクで前記第１のメモリ階層に接続される、請求項２記載のメモリシステム。
【請求項４】
前記ポイントツーポイントデータリンクのそれぞれは、シリアルリンクである、請求項３記載のメモリシステム。
【請求項５】
前記第１のメモリ階層は、複数のＤＲＡＭを含んでおり、当該ＤＲＡＭは、書き込み動作に関連するビットが前記複数のＤＲＡＭに同時に書き込まれるように編成されている、請求項２記載のメモリシステム。
【請求項６】
前記第１のメモリモジュールは、ＦＢＤＩＭＭである、請求項２記載のメモリシステム。
【請求項７】
前記１以上の不揮発性メモリ素子は、フラッシュメモリ素子を含む、請求項１記載のメモリシステム。
【請求項８】
前記第１のメモリモジュール及び前記第２のメモリモジュールにシステムクロック信号を配布するクロックソースをさらに含む、請求項１記載のメモリシステム。
【請求項９】
メモリコントローラ及び少なくとも１つの不揮発性メモリ素子の下流セットを有するメモリシステムにおいて使用されるメモリモジュールであって、
前記メモリモジュール上に配置されて、第１のメモリ階層の少なくとも一部を構成する揮発性メモリ素子の第１のセットと、
前記メモリモジュールから前記下流セットに書き込みコマンドを選択的に開始して、前記不揮発性メモリ素子の第１のセットに亘って記憶されたデータ幅を示すデータを、データブロックとして前記下流セットの一部を構成する不揮発性メモリ素子の少なくとも１つに書き込む集積回路バッファであって、特定のメモリロケーションへの書き込み回数をカウントし、書き込み回数が閾値を超えている場合に、書込み位置をリマップする集積回路バッファ素子を含み、
前記メモリモジュールが、前記メモリコントローラ及び前記メモリ素子の前記下流セットに接続するようになされており、
前記メモリモジュールは、前記メモリコントローラから複数のメモリトランザクションを受け取り、前記複数のメモリ動作を示す書き込みデータを蓄積し、前記メモリモジュールから前記下流セットに、蓄積された前記書き込みデータを含むデータブロックを選択的に転送するためのものである、メモリモジュール。
【請求項１０】
前記揮発性メモリ素子の第１のセットはＤＲＡＭ素子を含んでおり、当該ＤＲＡＭ素子は、共通のアドレス範囲を示す並列セットを編成しており、
前記メモリモジュールは、同様のアドレスにおける、前記ＤＲＡＭ素子の並列セットに、書き込みデータを蓄積し、
前記メモリモジュールは、前記並列セットから、前記下流セットにおいて記憶されるデータ値のブロックに、前記書き込みデータをリマッピングすることにより、前記書き込みデータを、前記揮発性メモリ素子の第１のセットから前記下流セットに選択的に転送する、請求項９記載のメモリモジュール。
【請求項１１】
前記第２のメモリモジュールはＦＢＤＩＭＭである、請求項６記載のメモリシステム。
【請求項１２】
前記第１のメモリモジュール及び前記第２のメモリモジュールの少なくとも一方は、バッファされている、請求項１記載のメモリシステム。
【請求項１３】
前記第１のメモリモジュール及び前記第２のメモリモジュールは、それぞれバッファされており、
前記メモリコントローラと前記第１のメモリモジュールとの間のデータ通信は、前記メモリコントローラと前記第１のメモリモジュールのバッファとの間でなされ、
前記第１のメモリモジュールと前記第２のメモリモジュールとの間のデータ通信は、前記第１のメモリモジュールの前記バッファと前記第２のメモリモジュールのバッファとの間でなされる、請求項１記載のメモリシステム。
【請求項１４】
前記第１のメモリモジュール及び前記第２のメモリモジュールのそれぞれのバッファは、当該対応するメモリモジュールにあるメモリデバイスへデータを転送する、少なくとも１つのトランザクションキューを含む、請求項１３記載のメモリシステム。
【請求項１５】
前記集積回路バッファ素子は、マッピング回路をさらに含み、
前記マッピング回路は、前記１以上の不揮発性メモリ素子における欠陥又は劣化の少なくとも１つに応答して、前記第１のメモリモジュール及び前記第２のメモリモジュールの少なくとも１つにおいてデータが記憶される位置をリマップする、請求項１記載のメモリシステム。
【請求項１６】
前記集積回路バッファ素子は、前記少なくとも１つの不揮発性メモリ素子における欠陥を検出する欠陥回路をさらに含み、
前記マッピング回路は、前記欠陥回路に結合されており、当該欠陥回路によって検出された欠陥に応答する位置をリマップする、請求項１５記載のメモリシステム。
【請求項１７】
前記集積回路バッファ素子は、前記少なくとも１つの不揮発性メモリ素子における劣化を検出する耐久性回路をさらに含み、
前記マッピング回路は、前記耐久性回路に結合されており、当該耐久性回路によって検出された劣化に応答する位置をリマップする、請求項１５記載のメモリシステム。
【請求項１８】
前記マッピング回路は、前記メモリコントローラと共に配置される、請求項１５記載のメモリシステム。
【請求項１９】
前記マッピング回路は、前記第１のメモリモジュール上に位置する、請求項１５記載のメモリシステム。
【請求項２０】
前記マッピング回路は、前記第２のメモリモジュール上に位置する、請求項１５記載のメモリシステム。
【請求項２１】
前記第１のメモリモジュール及び前記第２のメモリモジュールの少なくとも１つは、システムクロックに基づくローカルクロック信号を生成する位相ロック回路を含む、請求項１記載のメモリシステム。
【請求項２２】
前記メモリモジュールはＦＢＤＩＭＭである、請求項１０記載のメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本明細書における開示は、一般的には集積回路素子および／またはこのような素子の高速信号伝送に関する。
【背景技術】
【０００２】
関連技術の背景
各種メモリ技術およびそのような各種メモリ技術を実施するメモリシステムの性能、耐久性、密度、コスト、および消費電力には著しい違いがある。特定のメモリ技術が比較的短い待ち時間または読み出しアクセス時間を有し得るのに対して、同じメモリ技術は、用途によっては適さないことがあり得る比較的長い書き込み時間を有し得る。特定のメモリ技術は、特定のメモリロケーションへの比較的少数の書き込み動作に制限され得る。限られた書き込み動作量を超えた後では、情報を確実にメモリロケーションに記憶し、メモリロケーションから検索することができない可能性がある。あるメモリ技術は、他のメモリ技術のおよそ４〜１０倍の密度であり得、または他のメモリ技術よりもはるかに小さな表面面積／容積を占有し得る。あるメモリ技術は、他のメモリ技術のおよそ半分のコストである。異なるメモリ技術でのメモリアクセス動作中、異なる電力消費率に繋がる様々な電圧または電流が使用され得る。したがって、あるメモリ技術は、他よりも大きな電力を消費する。
【発明の概要】
【課題を解決するための手段】
【０００３】
実施形態は、限定ではなく例として示される。添付図面中の図では、同様の参照番号は同様の要素を指す。
【図面の簡単な説明】
【０００４】
図面の簡単な説明
【図１】メモリモジュールの配置および素子の種類に基づいて論理階層および物理階層に編成された階層メモリシステムを示す。
【図２Ａ】階層回路を有する集積回路バッファ素子を示す。
【図２Ｂ】図２Ａと同様の集積回路バッファ素子を示す。
【図３Ａ】異なる階層のモジュール間での相対データマッピングを示す。
【図３Ｂ】異なる階層のモジュール間での相対アドレスマッピングを示す。
【図４】階層回路を有するコントローラを示す。
【図５Ａ】メモリモジュール階層を有するメモリシステムの動作方法を示すフローチャートである。
【図５Ｂ】メモリモジュール階層を有するメモリシステムの動作方法を示すフローチャートである。
【図５Ｃ】メモリモジュール階層を有するメモリシステムの動作方法を示すフローチャートである。
【図５Ｄ】メモリモジュール階層を有するメモリシステムの動作方法を示すフローチャートである。
【発明を実施するための形態】
【０００５】
詳細な説明
メモリシステムは、他の実施形態もあるがこの実施形態では、コントローラと、異なる種類の集積回路メモリ素子を有するメモリモジュール階層とを含む。階層（メモリモジュールの）は、特定の種類の集積回路メモリ素子を有する１つまたは複数のメモリモジュールを含む。メモリモジュール階層は、単一の種類の集積回路メモリ素子を有するメモリモジュールを有するシステムと比較して、全体的なシステム性能を増大させることができる。第１の階層内の第１の種類の集積回路メモリ素子を使用することにより、全体的なシステム読み出し待ち時間を低減させ、書き込みデータの耐久性を増大させることができ、その一方で、より少ないコストおよびより低い消費電力を有する第２の種類の集積回路メモリを使用することにより、全体的なコストおよび消費電力は低減する。例えば、第１の階層は、コントローラおよび第２の階層の読み出し／書き込みキャッシュとして機能することができるように、少なくとも１つの揮発性メモリ素子が第１の階層に配置され、少なくとも１つの不揮発性メモリ素子が第２の階層に配置される。
【０００６】
実施形態では、階層はデイジーチェーン様式で結合される。第１の信号パスが、コントローラを、揮発性集積回路メモリ素子を有する第１のメモリモジュールに結合する。第２の信号パスが、第１のメモリモジュールを、不揮発性メモリ素子を有する第２のメモリモジュールに結合する。制御情報および揮発性メモリ素子に記憶されるべき書き込みデータは、コントローラによって第１の信号パスで転送される。制御情報および不揮発性メモリ素子への書き込みデータは、コントローラから第１の信号パスで転送され、次いで、第１のメモリモジュールによって第２の信号パスで転送される。同様に、揮発性メモリ素子および不揮発性メモリ素子に記憶された読み出しデータは、コントローラによって第１の信号パスからアクセスされ、そして、第１のメモリモジュールによって第２の信号パスからアクセスされる。制御情報、読み出しデータ、および書き込みデータは、第１のメモリモジュールに配置された集積回路バッファ素子によって第１の信号パスと第２の信号パスとの間で転送することができる。
【０００７】
メモリモジュール階層を有するメモリシステムの動作方法は、他の実施形態もあるがこの実施形態では、第２の階層に記憶された書き込みデータブロックを第１の階層にバッファ／キャッシュすることを含む。次いで、書き込みデータブロックは、制御信号に応答して、第１の階層内にキャッシュされた書き込みデータブロックを第２の階層に転送することにより、第２の階層にリライト（またはリフレッシュ／再記憶）することができる。コントローラが第１の階層に記憶されたデータ（読み出しデータまたは書き込みデータ）にアクセスしている間、第２の階層からの読み出しデータをブロックで第１の階層に転送することができる。書き込みデータは、階層内の異なるメモリロケーションにリマッピングして分散させ、書き込み耐久性を最低限に抑えることができる。書き込みデータブロックが第１の階層から転送され、第２の階層に記憶されている間、第２の階層に記憶されるべき書き込みデータを第１の階層に記憶し、コントローラによって読み出すことができる。欠陥メモリロケーションが検出された場合、第２の階層に記憶されるべき書き込みデータを第１の階層内でリマッピングし記憶するか、または第１の階層内の異なるメモリロケーションにリマッピングし記憶することができる。
【０００８】
図１は、メモリコントローラ１１０と、第１のメモリモジュール１１８の形態のメモリ素子の第１のセットと、第２のメモリモジュール１２０の形態のメモリ素子の第２のセットとを利用する完全バッファ型メモリシステム１００の一実施形態を示す。ポイントツーポイントシリアルリンク１４０ａ、１４０ｂ、および１５０ａ、１５０ｂの形態の上流信号パスおよび下流信号パスのそれぞれは、コントローラをメモリモジュールにデイジーチェーン構成で結合する。クロックソース１３０は、システムクロック信号をコントローラおよびメモリモジュールに配布する。
【０００９】
一実施形態では、メモリコントローラ１１０は、完全バッファ型デュアルインラインメモリモジュール（ＦＢＤＩＭＭ）信号伝送プロトコルに従って、シリアル化された制御信号、アドレス信号および書き込みデータ信号を送信し、シリアル化された読み出しデータ信号を受信するという点で、ＦＢＤＩＭＭとの併用に利用されるものと同様であり得る。一般に、これは、多重化された制御信号、アドレス信号、および書き込みデータ信号をコントローラから第１のメモリモジュールに下流シリアルリンク１４０ａに沿って駆動するシリアルリンク送信器の形態の送信回路を含む。コントローラ上の受信器回路は、上流シリアルリンク１５０ａとインタフェースして、シリアル化された読み出しデータを第１のモジュール１１８から受信する。コントローラは階層回路１８０を利用して、より完全に以下に開示するように、階層アクティビティを管理することができる。
【００１０】
引き続き図１を参照すると、第１のメモリモジュール１１８は、集積回路（ＩＣ）の形態のバッファ素子１２５と、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ＩＣの形態の複数の揮発性メモリ素子１０３ａ〜１０３ｈとを含む。バッファＩＣは、コントローラ１１０および第２のメモリモジュール１２０と通信するための上流ポートおよび下流ポートの各ペアを含む。一実施形態では、バッファＩＣは、コントローラ階層回路１８０を補うか、またはコントローラ階層回路１８０と置換され得る階層回路１９０を含む。バッファＩＣは、制御／アドレスバスおよびデータバス（明確にするために、単一のバスとして示される）のそれぞれを介してＤＲＡＭ素子と通信する。ＤＲＡＭ素子は、ＸＤＲ（ｎ）型またはＤＤＲ（ｎ）型であってよく、一般に、非常に高速な読み書き時間および高密度を特徴とし得る。
【００１１】
図１をさらに参照すると、第２のメモリモジュール１２０は第１のメモリモジュール１１８と同様であり、バッファＩＣ１２６および複数のメモリ素子１０４ａ〜１０４ｈを有する。しかし、第２のモジュールのメモリ素子は、フラッシュメモリ等の不揮発性の種類のものである。フラッシュ素子は、低コスト、低電力、高密度を特徴とし、ＤＲＡＭと同様の速度でデータを読み出すことが可能である。しかし、フラッシュ素子への書き込み動作には、通常、完了までに数ミリ秒かかることが多い消去時間が含まれる。さらに、フラッシュ素子は、同じ記憶ブロックへのデータ書き込みの点で限られた耐久性を有する。これに対処するために、バッファＩＣは、より完全に以下に説明するように、不揮発性素子への書き込み動作を最適化する回路を含む。
【００１２】
一実施形態では、第１および第２のモジュール１１８および１２０は、上流シリアルリンク１４０および下流シリアルリンク１５０を介して、ポイントツーポイントデイジーチェーン様式で各バッファＩＣを介して相互接続される。このようにして、コントローラ１１０および第２のモジュール１２０が関わる任意のトランザクションでは、データは必然的に、第１のモジュール１１８を通って流れる。不揮発性素子セットよりも揮発性メモリ素子セットをコントローラの近くに位置決めすることにより、第１レベル階層および第２レベル階層のそれぞれを１０１および１０２において定義することができる。
【００１３】
上述した階層構造は、多くの方法で拡張可能である。例えば、１つまたは複数の揮発性メモリモジュールを第１レベル階層に編成し、第２レベルメモリ階層を確立する１つまたは複数の不揮発性モジュールの上流（コントローラのより近く）に位置決めすることができる。
【００１４】
各モジュールの位置および素子の種類によって定義される階層に従ってのシステムの動作をサポートするために、揮発性メモリモジュールおよび不揮発性メモリモジュールのバッファＩＣ１２５および１２６は、より完全に以下に説明するように、トランザクションを調整するに当たってメモリコントローラ１１０を支援するロジックを含む。
【００１５】
図２Ａは、一実施形態におけるＨＲＣＨ回路１９０を有するＩＣバッファ素子２００ａを示す。ＩＣバッファ素子２００ａは、図１に示されるＩＣバッファ素子１２６に対応し、１つまたは複数の不揮発性メモリモジュール１２０によって利用される。代替の実施形態では、ＨＲＣＨ回路１９０のうちの１つまたは複数の回路は、コントローラ１１０内に配置されてもよく、またはコントローラ１１０とＩＣバッファ素子１２６との間に分散してもよい。ＩＣバッファ素子２００ａは、メモリモジュール上に配置してもよく、ＩＣメモリ素子もしくはダイと共に共通のパッケージ内に収容されてもよく、またはパーソナルコンピュータもしくはサーバのマザーボード、例えば、メインメモリに配置されてもよい。ＩＣバッファ素子２００ａは、埋め込みメモリサブシステム、例えば、コンピュータグラフィックスカード、ビデオゲームコンソール、またはプリンタ等で見出される埋め込みメモリサブシステム内で使用されてもよい。
【００１６】
引き続き図２Ａを参照すると、制御情報、書き込みデータ、および読み出しデータを信号パス２０１から受信し、制御情報、書き込みデータ、および読み出しデータを、不揮発性集積回路メモリ素子（第２レベル階層に関連する）または揮発性集積回路メモリ素子（第１レベル階層に関連する）への信号パス２０２に出力するインタフェース２１０が示される。一実施形態では、信号パス２０１は、図１に示される信号パス１４０ａ、１４０ｂに対応し、その一方で、信号パス２０２は信号パス１５０ａ、１５０ｂに対応する。一実施形態では、ＩＣバッファ素子２００ａに結合された集積回路メモリ素子を対象とした制御情報、書き込みデータ、および読み出しデータの多重化された組み合わせが、インタフェース２１０を介して受信され、インタフェース２１０は、例えば、制御情報を抽出することができる。例えば、メモリコマンドおよびアドレス情報を復号化し、信号パス２１０上の多重化情報から分離し、インタフェース２１０から要求・アドレス回路２４０に提供することができる。書き込みデータは、インタフェース２１０によってインタフェース２２０ａ、２２０ｂに提供することができ、集積回路メモリ素子からの読み出しデータを１つまたは複数のインタフェース２２０ａ、２２０ｂにおいて受信し、マルチプレクサ２３０ａ、２３０ｂを介してインタフェース２１０に提供することができる。
【００１７】
インタフェース２２０ａ、２２０ｂは別個のインタフェースとして示されるが、組み合わせられてもよい。インタフェース２２０ａ、２２０ｂは、不揮発性メモリ素子に送信中であるか、または不揮発性メモリから受信中のデータを記憶するために使用されるトランザクションキュー２２１ａ、２２１ｂを含む。バッファ２００ａが不揮発性メモリ素子に適用された場合、トランザクションキューは、トランザクションを記憶し、データを単一または制限された数のメモリ素子に宛てる。このデータ編成では、すべての素子ではなく少数のみのメモリ素子に書き込むことによってトランザクションが行われるため、トランザクションによって実行される書き込み動作の数が低減する。メモリ素子に送信中およびメモリ素子から送信中のデータは、インタフェース２１０内のトランザクションキュー２２３ａに転送されてから、上流シリアルインタフェースおよび下流シリアルインタフェースに送信される。同様に、信号パス２０１からシリアルに受信されたトランザクションは、トランザクションキュー２２３ａに記憶され、次いで、インタフェース２２０ａ、２２０ｂ内のトランザクションキュー２２１ａ、２２１ｂに転送されてから、メモリ素子に送信される。この編成では、上流リンクおよび下流リンクに接続されたシリアルインタフェース２１０上の単一のトランザクションが、信号パス１２１および１２２に接続された不揮発性メモリ素子のうちの１つのみまたは２つのみにマッピングされる。
【００１８】
一実施形態では、クロック信号および他の情報が、信号パス２０１上で、またはシリアルバス等の他のパスによって受信される。一実施形態では、インタフェース２１０は、信号を信号パス２０２に出力し、信号パス２０１上で受信するために、送信回路または送信器と、受信器回路または受信器（またはまとめて送受信器と呼ばれる）を含む。同様に、インタフェース２２０ａおよび２２０ｂは、それぞれ信号パス１２１および１２２を介して制御情報、読み出しデータ、および書き込みデータを集積回路メモリ素子に送信し、集積回路メモリ素子から受信する。一実施形態では、インタフェース２２０ａ、２２０ｂは、信号パス１２１および１２２に信号を出力し、信号パス１２１および１２２に信号を受信する送信器および受信器を含む。実施形態では、インタフェース２１０、２２０ａ、および２２０ｂ内の送信器および受信器は、単独または組み合わせで、信号パス１２１および１２２内の特定の信号線専用であるか、または共用される。
【００１９】
一実施形態では、インタフェース２２０ａ、２２０ｂ内の送信器および受信器は、同期ＮＡＮＤ型（Synch Nand）フラッシュまたはＮＯＲ型フラッシュ書き込み／読み出し／消去／制御信号等の標準揮発性メモリ素子信号伝送特性（またはプロトコル）を有する信号を送受信する。
【００２０】
一実施形態では、インタフェース２２０ａ、２２０ｂは、制御情報を単方向信号パスで転送する送信器を含む一方で、書き込みデータおよび読出しデータを双方向信号パスで転送する、書き込みデータおよび読み出しデータ用の送信器および受信器を含む。一実施形態では、インタフェース２２０ａ、２２０ｂ、および２１０内の送信器は、単独または組み合わせで、信号パス１２１、１２２、および４０１上に各信号を出力する出力ドライバ回路である。出力ドライバ回路は、プルアップ型、プルダウン型、および／またはプッシュプル型の出力ドライバ回路であってよい。
【００２１】
一実施形態によれば、マルチプレクサ２３０ａおよび２３０ｂは、インタフェース２１０とインタフェース２２０ａおよび２２０ｂとの間で帯域幅集約動作を実行すると共に、データを適切な発信元（すなわち、信号パスのターゲットサブセット、内部データキャッシュ−キャッシュ回路２９２）から適切な宛先にルーティングする。一実施形態では、帯域幅集約は、複数の信号パス実施形態内の各信号パスの（より小さな）帯域幅を結合して、より小さな信号パスグループで利用される（より高い）全体帯域幅に合わせることを含む。帯域幅集約は、通常、複数の信号パスとより小さな信号パスグループとの間でスループットの多重化および多重分離を利用する。一実施形態では、ＩＣバッファ素子２００ａは、インタフェース２１０の帯域幅と合ったインタフェース２２０ａおよび２２０ｂの結合帯域幅を利用する。
【００２２】
図２Ａをさらに参照すると、一実施形態では、ＨＲＣＨ回路１９０は、制御回路２９０、マッピング回路２９１、キャッシュ（または記憶）回路２９２、耐久性回路２９３（１つまたは複数の記憶された書き込み閾値２９３ａを含む）、および欠陥回路２９４（１つまたは複数の記憶された欠陥メモリアドレスを含む）を単独または組み合わせで含む。ＩＣバッファ２００ａ内に示された回路は、図４に示すように結合され得る。ＨＲＣＨ回路１９０の１つまたは複数の回路構成要素も、各種実施形態では、ＨＲＣＨ回路１９０内ではなく、コントローラ１１０内、特にＨＲＣＨ回路１８０内に配置され得る。
【００２３】
制御回路２９０は、ＨＲＣＨ回路１９０内の回路への制御信号の提供およびそのような回路からの制御信号の受信を担当する。一実施形態では、制御回路２９０は、インタフェース２１０から信号パス２０１を介して制御信号および／または値を受信することができる。制御情報は、コントローラ１１０、プログラマブル回路（ＳＰＤ素子等）、および／または別のメモリモジュールからのコマンドの形態で提供され得る。一実施形態では、制御回路２９０は、プロセッサ、コントローラユニット、および／または制御ロジックである。制御回路２９０は、図４に示される信号パス４０５と同様に、信号パスによってＨＲＣＨ内の他の回路に結合される。読み出しデータ、書き込みデータ、およびアドレス、ならびに制御信号は、信号パスを使用して回路間で転送され得る。一実施形態では、制御回路２９０は、ＩＣバッファ素子２００ａも操作し、圧縮／圧縮解除エンジンを含み得る。
【００２４】
マッピング回路２９１は、書き込み／読み出しデータに関連するアドレスまたはメモリロケーションのリマッピングまたは再割り当てを担当する。マッピング回路２９１は、制御回路２９０（および／または耐久性回路２９３および欠陥回路２９４）からの制御信号に応答して、アドレスおよびデータを図３Ａおよび図３Ｂに示されるようにリマッピングする。一実施形態では、マッピング回路２９１は、アドレス変換回路を含み得る。マッピング回路２９１は、キャッシュ回路２９２内の関連する読み出し／書き込みデータと共に記憶されたアドレスをリマッピングし得る。マッピング回路２９１は、データをインタフェース２１０からインタフェース２２０内の適切なトランザクションキューに宛て、インタフェース２１０から受信したアドレスを選択された適切な素子およびメモリアドレスに変換し、変換されたものはインタフェース２２０ａ、２２０ｂに送信される。一般に、必要とされる書き込み動作の数を低減するために、揮発性メモリシステム内で、インタフェース２１０からの単一のトランザクションは１つまたは少数のメモリ素子に宛てられ、インタフェース２１０上の連続したアドレスが、単一のメモリ素子内の連続したロケーションに宛てられる。
【００２５】
キャッシュ回路２９２は、コントローラまたは別のメモリモジュールからの読み出し／書き込みデータを記憶するために使用される。一実施形態では、読み出し／書き込みデータは、システム１００内のメモリロケーションへの関連するアドレスと共に記憶される。読み出し／書き込みデータは、６４Ｋバイト、１２８Ｋバイト、２５６Ｋバイト、および／または５１２Ｋバイトのブロック等の連続したワードまたはバイトのグループで記憶し集めることができる。この場合、これらブロックをグループとして転送し記憶することができる。例えば、２５６Ｋバイトの書き込みデータブロック（信号パス１４０ａおよび１４０ｂを介してコントローラ１１０から受信した）をバッファ素子１２５ｂのキャッシュ回路２９２に記憶し、信号パス１４０ｃを介して、書き込みデータが記憶されている（または一実施形態では、前回の書き込み後に再記憶された）メモリモジュール１２０ｃに転送することができる。別の実施形態では、特定のメモリモジュールに関連付けられた集積回路メモリ素子が、キャッシュ回路２９２に代えて、データブロックの記憶に使用される。
【００２６】
耐久性回路２９３は、システム１００内の特定のメモリロケーション（または複数のメモリロケーション）において行われた書き込み動作の数に基づいて、書き込み／読み取りデータをリマッピングすべきか否かを決定することを担当する。一実施形態では、耐久性回路２９３は、書き込み閾値を記憶し、または特定のメモリロケーションへのさらなる書き込みまたは記憶の確実性がなくなる危険性が生じる以前に、特定のメモリロケーションへの書き込み回数を制限する１つまたは複数のレジスタ等の記憶回路を含む。一実施形態では、耐久性回路２９３は、特定のメモリロケーションへの書き込み回数をカウントするカウンタと、カウント値を記憶されている書き込み閾値と比較する比較回路とも含む。次いで、比較回路は、比較に応答して、特定のメモリロケーションに書き込むべきではないことを示す制御信号を制御回路２９０に出力し得る。次いで、マッピング回路２９１は、新しいアドレスを、１つまたは複数のメモリモジュールに記憶されるべき書き込み／読み出しデータに割り当てることができる。耐久性回路２９３は、特定のメモリロケーションに他のメモリロケーションほどはまだ書き込まれていないことを示す制御信号も生成し得、したがって、マッピング回路２９１は、不揮発性集積回路メモリ素子に記憶された書き込み／読み出しデータの分散を可能にする。
【００２７】
欠陥回路２９４は、１つまたは複数のメモリロケーションが欠陥を有するか否か、または情報を正確に記憶し出力していないかどうか決定することを担当する。一実施形態では、欠陥回路２９４は、制御回路２９０からの制御信号に応答して、別のメモリモジュール内の１つまたは複数のメモリロケーションに書き込まれる複数のテスト値２９４ａを記憶する。次いで、比較回路により、他のメモリモジュールに記憶されたテスト値が再びＩＣバッファ素子２００ａに読み出され、記憶された複数のテスト値２９４ａと比較される。比較回路は、比較に応答して、メモリロケーションが欠陥を有することを示す信号を出力する。次いで、書き込み／読み出しデータのさらなるリマッピングが、識別された欠陥メモリロケーションを含まないように、制御信号をマッピング回路２９１に出力することができる。一実施形態では、欠陥回路２９４は、制御回路２９０および／またはマッピング回路２９１によってアクセスされ得る欠陥メモリロケーションのアドレスを記憶する。一実施形態では、複数のテスト値２９４ａは、コントローラ１１０によって提供される疑似乱数生成器により、テストパターンとして生成されるか、または別のメモリモジュールの内容を読み取ることによって得られる。
【００２８】
代替の実施形態では、欠陥回路２９４は、メモリロケーションからの電流／電圧を感知し、電流／電圧を表す記憶されている値と比較して、メモリロケーションが欠陥を有するか否かを決定する感知回路を含む。
【００２９】
各種実施形態では、ＨＲＣＨ回路１９０を含むＩＣバッファ素子２００ａは、異なる動作モードで動作する。第１の動作モードでは、ＩＣバッファ素子２００ａは、別のメモリモジュールおよび／またはコントローラによってアクセスされるべき読み出し／書き込みデータを記憶する。第２の動作モードでは、ＩＣバッファ素子２００ａは、別のメモリモジュール内のアドレスを読み出し／書き込みデータに割り当て、データおよびアドレスを別のメモリモジュールに転送し、次いで、別のメモリモジュールは読み出し／書き込みデータを記憶する。
【００３０】
クロック回路２７０は、外部クロックを基準にして内部クロック信号の位相または遅延を調整するための１つまたは複数のクロックアラインメント回路を含む。クロックアラインメント回路は、クロックソース１３０等の既存のクロック発生器からの外部クロックを利用してもよく、または内部クロックを提供し、所定の時間関係を有する内部同期クロック信号を生成する内部クロック発生器を利用してもよい。一実施形態では、クロック回路２７０は、位相ロックループ回路または遅延ロックループ回路を含む。一実施形態では、クロックアラインメント回路は、転送または受信された制御情報、読み取りデータ、および／または書き込みデータに対して時間関係を有する内部クロック信号を提供する。
【００３１】
実施形態では、インタフェース２２０ａ、２２０ｂ（ならびにインタフェース２１０）内の送信器は、符号化クロック情報を含む差分信号を送信し、受信器は、符号化クロック情報を含む差分信号を受信する。一実施形態では、クロック回路２７０は、受信器によって受信されたデータに符号化されたクロック情報を抽出する。さらに、クロック情報は、送信器によって送信されるデータにも符号化される。例えば、クロック情報は、所与のデータビット数中に発生する信号遷移数が最小になることを保証することにより、データ信号に符号化してもよい。
【００３２】
シリアルインタフェース２７４は、シリアル情報をコントローラ１１０、別のＩＣバッファ素子、または実施形態での他の構成回路から受信し／に送信するインタフェースである。シリアル情報は、ＩＣバッファ素子２００ａまたはメモリモジュールの初期化値／信号を含むことができる。一実施形態では、シリアルインタフェース２７４は、コントローラ１１０によって使用されて、１つまたは複数の書き込み閾値２９３ａおよび／またはテスト値２９４ａ等の値をＨＲＣＨ回路１９０に記憶し、かつ／またはＨＲＣＨ回路１９０内の値を読み出す。
【００３３】
図２Ｂは、図２Ａに示されるバッファＩＣ２００ａと同様であるが、揮発性メモリモジュール１１８（図１）と併用されるバッファＩＣ２００ｂを示す。２つのバッファＩＣ内の回路の大半は同様であり、簡潔にするために、再び説明しない。しかし、耐久性回路２９３ａおよび欠陥回路２９４ａ（図２Ａ）の省略等の回路に対する特定の変更が利用され得る。さらに、トランザクションキューおよびマッピング回路は、不揮発性モジュールバッファＩＣ２００ａによって利用されるデータマッピングと異なるようにデータマッピングを処理する。
【００３４】
マッピング回路２９１は、一般に、データをインタフェース２２０に宛てると共に、インタフェース２２０からデータをすべての素子に並列に宛てるように構成され、同様のアドレスが、素子のうちのすべてまたは大半に同時に送信され、多くのデイス（deice）が単一のトランザクションによって選択される。
【００３５】
インタフェース２２０ａ、２２０ｂは別個のインタフェースとして示されるが、組み合わせてもよい。インタフェース２２０ａ、２２０ｂは、揮発性メモリ素子に送信中または揮発性メモリ素子から受信中のデータの記憶に使用されるトランザクションキュー２２２ａ、２２２ｂを含む。バッファ２００ｂがＤＲＡＭのような揮発性メモリ素子に適用される場合、トランザクションキューは、多くの素子に宛てられ、多くの素子に分散してトランザクションを記憶する。この場合、素子の結合帯域幅は並列にアクセスされて、トランザクションの帯域幅が最大化される。メモリ素子に送信中のデータおよびメモリ素子から送信中のデータは、インタフェース２１０内のトランザクションキュー２２３ｂに転送されてから、上流シリアルインタフェースおよび下流シリアルインタフェースに送信される。同様に、信号パス２０１からシリアルに受信されたトランザクションは、トランザクションキュー２２３ｂに記憶され、次いで、２２２ａ、２２２ｂにおけるトランザクションキューに転送されてから、メモリ素子に送信される。この編成では、インタフェース２１０内の上流リンクまたは下流リンク上の単一のトランザクションは、メモリから読み出されるとき、または書き込まれるときに、複数のメモリ素子にアクセスする。
【００３６】
上述したように、フラッシュメモリ素子およびＤＲＡＭメモリ素子は、多くの異なる特性を有する。さらなる違いには、データ書き込み動作が素子内でどのように実行されるかが含まれる。
【００３７】
図３Ａは、ＤＲＡＭベースのＦＢＤＩＭＭモジュール３１８とフラッシュベースのＦＢＤＩＭＭモジュール３２０との間の相対データマッピングの一例を示す。ＤＲＡＭベースのＦＢＤＩＭＭメモリモジュール内では、モジュール上のＤＲＡＭ素子３０３ａ〜３０３ｈがデータバス幅を定義する。そして、この幅は、各クロックエッジにおいてすべてのＤＲＡＭに同時に書き込むことが可能なビット数を示す。同時書き込みのそれぞれは、図３Ａの揮発性素子３０３ａ〜３０３ｈ内の影付きエリアによって象徴的に示されるように、各ＤＲＡＭ内の同じアドレスにおいて実行される。したがって、各クロックサイクル中に、データの部分が各ＤＲＡＭに書き込まれる。バッファＩＣ３２５は、シリアル化解除回路（図示せず）を提供して、上流シリアルリンク３４０ａまたは下流シリアルリンク３５０ｂから受信されたシリアルストリームを並列データストリームに変換し、並列データパス３２８ａ〜３２８ｈに沿って個々のＤＲＡＭ素子に送信する。
【００３８】
並列同時書き込み方式は、ＤＲＡＭベースのメモリモジュールではうまく機能する一方で、種々の理由により、フラッシュベースのモジュール用のこのような方法は非現実的である。フラッシュ素子は、多くの場合、ブロックと呼ばれるメモリ単位で消去および再プログラムを行う。さらに、データをフラッシュ素子に記憶または書き込むには、ブロックを空にするか、または消去しなければならない。その結果、大半の場合、消去動作が書き込み動作の前に行われる。さらに、上述したように、フラッシュ素子は、通常、制限された書き込み耐久性を有する。
【００３９】
図３Ａをさらに参照すると、フラッシュベースのＦＢＤＩＭＭモジュール３２０は、最小数の素子を利用して、１つまたは複数の指定ブロック３６０（影付きブロックとして示される）内にデータを記憶するように、下流シリアルリンク３４０ｂから受信したシリアルデータをリマッピングするバッファＩＣ３２６を含む。これにより、書き込み動作がブロック当たりの利用可能ストレージ利用率を最大化し、すべての素子の耐久性に影響する書き込み動作の数を最小化することが保証される。このマッピングは、２つのモジュール間で上流パスに沿って逆方向にも作用することができる。このような状況では、所与のブロックからのデータは、示されるマッピングと同様に、複数のＤＲＡＭにリマッピングされる。
【００４０】
図３Ｂは、第１の階層アドレス空間３６３と第２の階層アドレス空間３６４との間でのアドレスマッピング３６２を示す。一実施形態では、第１のアドレス空間３６３は、階層１０１（揮発性集積回路メモリ素子を有する）内のアドレス空間（またはアドレス指定可能なメモリロケーションの量）に対応し、階層アドレス空間３６４は、階層１０２（不揮発性ＩＣを有する）内のアドレス空間に対応する。階層アドレス空間３６３は、少なくとも、アドレス指定可能なメモリロケーション３６６ａ〜３６６ｎを含み、階層アドレス空間３６４は、少なくとも、アドレス指定可能なメモリロケーション３６８ａ〜３６８ｔを含む。一実施形態では、階層アドレス空間３６４は、階層アドレス空間３６３よりもかなり大きい。本明細書において説明したように、回路および／または実行可能命令は、データを階層アドレス空間３６３または階層アドレス空間３６４にマッピングまたは割り当てる。一実施形態では、関連するデータは、一時には、階層アドレス空間３６３または３６４のうちの一方内のアドレスが割り当てられ、次いで、前に割り当てられていた階層アドレス空間内の異なるメモリロケーションまたは異なる階層アドレス空間内の異なるメモリロケーションにおける異なるアドレスがリマッピングまたは割り当てられた読み出しデータおよび／または書き込みデータであり得る。一実施形態では、図３Ｂに示されたメモリロケーションは、連続したメモリロケーションのブロックまたはグループに対応する。
【００４１】
例えば、メモリロケーション３６４ａに記憶された、または記憶されるべきデータには、メモリロケーション３６３ｂへのアドレスがマッピングまたは割り当てられ、メモリロケーション３６３ｂに記憶される。同様に、メモリロケーション３６３ｎに記憶された、または記憶されるべきデータには、メモリロケーション３６４ｔへのアドレスがマッピングされ、メモリロケーション３６４ｔに記憶される。
【００４２】
メモリロケーション３６４ｅが割り当てられたデータに、メモリロケーション３６４ｓを再割り当てし、階層アドレス空間３６４内のメモリロケーション３６４ｓに記憶してもよい。階層アドレス空間３６４内のデータの再割り当ておよび記憶は、所定数の書き込み動作が特定のメモリロケーションにおいて発生した場合、かつ／または特定のメモリロケーションが欠陥を有するか、または信頼性が低いと判断された場合に行うことができる。
【００４３】
図４は、ＨＲＣＨ回路１８０を有する、図１に示されるコントローラ１１０を示す。ＨＲＣＨ回路１８０は、図２Ａおよび図２Ｂに示されるＨＲＣＨ回路１９０と同様に動作する。コントローラ１１０は、信号パス１４０ａ上で制御情報および読み出し／書き込みデータを転送する、インタフェース３１０と同様のインタフェース４０１も含む。コントローラ１１０は、制御データおよび読み出し／書き込みデータの同期および転送に使用される、クロック回路３７０と同様のクロック回路４０３も含む。シリアルインタフェース４０２は、ＩＣバッファ素子１２５ａ、１２５ｂ、１２６ａ、および１２６ｂ内のシリアルインタフェース３７４と共に使用されて、コントローラ１１０とＩＣバッファ素子１２５ａ、１２５ｂ、１２６ａ、および１２６ｂとの間にシリアル情報を提供する。
【００４４】
一実施形態では、コントローラ１１０またはＩＣバッファ素子３００の制御回路３９０は、システム１００内の階層の数および種類を示す情報をＳＰＤ素子等の記憶回路から読み出す。次いで、制御回路３９０は、ＳＰＤ素子から読み出された情報に応答して、適切な制御信号を生成することができる。
【００４５】
動作に際して、上述したシステムは、モジュールの位置（例えば、上流か下流か）および素子の種類（例えば、揮発性か不揮発性か）に基づいて階層を確立することができる。上流パスおよび下流パスを含むＦＢＤＩＭＭのようなインフラストラクチャに結合された場合、このような構造は、準拠違反の問題を回避しながら、揮発性メモリおよび不揮発性メモリの恩恵を利用する。
【００４６】
図５Ａ〜図５Ｄは、図１に示されるシステム１００の動作方法５００、５１０、５２０、および５３０を示す。上述したデイジーチェーン接続されたポイントツーポイントリンク構造を利用することにより、後述する方法の多くは、同時に実行される複数の動作を含む。さらに、実施形態では、図５Ａ〜図５Ｄに示される論理ブロックは、単独または組み合わせでのハードウェア（例えば、回路）、ソフトウェア（実行可能な命令）、またはユーザの動作を表す。例えば、他の回路を有する、図１に示されるＨＲＣＨ回路は、単独または組み合わせで、動作を実行することができる。示されていない他の論理ブロックを各種実施形態において含んでもよい。同様に、示されている論理ブロックは、各種実施形態において除外されてもよい。方法５００、５１０、５２０、および５３０について逐次論理ブロックで説明するが、方法の論理ブロックによって表される動作は、非常に素早く完了されるか、または略瞬時に完了され、同時に実行し得る。
【００４７】
図５Ａに示される方法５００は、書き込みデータのバッファリングを含み、５０１において、書き込みデータをメモリコントローラ１１０から１つまたは複数のメモリモジュールの第１の階層１０１に転送することによって開始される。５０２において、書き込みデータは第１の階層内で蓄積もされ、所定数の連続ビット値または書き込みデータブロックに集めることができる。次いで、５０３において、第１の階層内に蓄積された書き込みデータを第１の階層のモジュールから第２の階層１０２の１つまたは複数のメモリモジュールに転送することができる。次いで、５０４において、第１の階層に記憶された書き込みデータを退避させることができる。方法５００では、第１の階層は、第２の階層の書き込みキャッシュとして機能する。第２の階層モジュール内の不揮発性メモリ素子に関連する書き込み待ち時間は約数ミリ秒であり得るため、これは重要である。データが第１の階層から第２の階層に転送されている間に、書き込みデータを第１の階層内にキャッシュすることにより、コントローラは、第２の階層モジュールを待つ必要なく、他の動作を同時に実行することができる。
【００４８】
図５Ｂは、第１の階層１０１が（コントローラ１００に対して）第２の階層１０２の読み出しデータの読み出しキャッシュとして機能する、読み出しデータをキャッシュする方法５１０を示す。方法５１０は、５１１および５１２において、読み出しデータを所定数の連続ビット値または読み出しデータブロックに集め、次いで、読み出しデータを第２の階層から第１の階層に転送することによって開始される。第１の階層は、５１３において、読み出しデータブロックが第２の階層から第１の階層に転送されている間、コントローラと同時に書き込み動作および読み出し動作を同時に実行することができる。本明細書において説明する階層システムによって提供される別の有益な方法は、書き込みデータの併合を含む。場合によっては、いくつかの所望のデータの部分が第２の階層１０２内のモジュールにすでに記憶されている間、別の部分を第１の階層１０１内のモジュールに記憶することができる。第２の階層（不揮発性素子を有する）内のブロックへのいかなる書き込みも、まず、ブロック全体の内容を消去することを含む。したがって、ブロックの元の内容の消失を回避するために、図５Ｃに示される「読み出し−変更−書き込み」の形態の一連のステップを利用することができる。
【００４９】
図５Ｃをさらに参照すると、書き込みデータを併合する方法５２０は、まず、５２１において、所望のデータ「データＡ」をモジュールの第１の階層１０１内の揮発性メモリ素子から読み出すことを含む。データは、揮発性メモリモジュールバッファＩＣ１２５または不揮発性メモリモジュールバッファＩＣ１２６のうちの一方に一時的に記憶することができる。次いで、ステップ５２２に示されるように、不揮発性素子からの所望のデータブロック「ブロックＢ」が、第２の階層１０２内のメモリモジュールから読み出され、データＡを記憶している同じバッファＩＣ内に一時的に記憶される。次いで、ステップ５２３において、データＡおよびブロックＢは、バッファ回路によって一緒に併合される。次いで、５２４において、併合データ「データＡ」および「ブロックＢ」は、単一のデータブロック「ブロックＣ」として再び第２の階層に書き込まれる。
【００５０】
図５Ｄは、５３１において、書き込みデータＡを第１の階層１０１に転送することによって開始される方法５３０を示し、書き込みデータＡは、書き込みデータブロックに記憶またはキャッシュされてから、第２の階層１０２に書き込まれる。５３２において、第１の階層内にキャッシュされた書き込みデータＡのブロックがアクセスされる。次いで、５３３において、キャッシュされた書き込みデータＡのブロックは、第１の階層から第２の階層に転送され、第２の階層に記憶され、その間、第１の階層内のデータＢが、読み出し動作等を通して同時にアクセスされる。図５Ｄは、同時動作を含む方法の一実施形態を示すが、コントローラならびにバッファ素子１１０、１２５、および１２６を相互接続するデイジーチェーン接続された上流ポイントツーポイントリンク１４０ａ〜１４０ｎおよび下流ポイントツーポイントリンク１５０ａ〜１５０ｎにより、同時動作の各種実施形態が可能である。例えば、コントローラ１１０と第１の階層のメモリ素子との間の読み出し動作および／または書き込み動作は、第１レベルのメモリ階層と第２レベルのメモリ階層との間で実行される書き込み動作および／または読み取り動作と同時に実行することができる。
【００５１】
図１に示された実施形態に戻ると、メモリモジュール１２０ａ〜１２０ｄは、信号パス１４０ａ〜１４０ｄに結合するための、ピンおよび／またはボール等の複数の導通接点を有するインタフェース１２３ａ〜１２３ｄを有する基板を含む。一実施形態では、複数の接点、はんだボール、またはピンがインタフェースに含まれ、インタフェースとメモリモジュール基板との間に電気接続を提供する。一実施形態では、インタフェースは、コネクタまたはプリント回路基板等の基板から着脱可能であり得る。一実施形態では、コントローラ１１０、集積回路メモリ素子１０３ａ〜１０３ｐおよび１０４ａ〜１０４ｐ、ならびにＩＣバッファ素子１２５ａ、１２５ｂ、１２６ａ、および１２６ｂは、集積モノリシック回路に別個に収容され、かつ／または複数のパッケージ内で結合される（例えば、単一のパッケージ内のメモリ素子およびバッファ素子）。パッケージは、１つまたは複数の基板上に配置することができる。
【００５２】
一実施形態では、１つまたは複数の信号パス１４０ａ〜１４０ｄは、１つまたは複数の信号線を示すポイントツーポイントリンクであり、各信号線は、２つのみの送受信器接続ポイントを有し、各送受信器接続ポイントは、送信器回路、受信器回路、または送受信器回路に結合される。例えば、ポイントツーポイントリンクは、一端に、またはその近傍に結合された送信器と、他端に、またはその近傍に結合された受信器とを含むことができる。
【００５３】
実施形態では、１つまたは複数の信号パス１４０ａ〜１４０ｄは、異なる種類のバスまたはポイントツーポイントリンク構造を含むことができる。実施形態では、信号パスは、異なる種類の信号伝送およびクロッキング種別構造を有することもできる。異なるリンク構造を有する実施形態は、同時双方向リンク、時間多重化双方向リンク、および複数の単方向リンクを含む。電圧モード信号伝送または電流モード信号伝送は、これらリンク構造またはバス構造の任意のものに利用することができる。一実施形態では、信号パス１４０ａ〜１４０ｄは、ＳＭＢｕｓ等のシリアルデータバスを含む。シリアルデータは、シリアルインタフェース４７４を介してコントローラ１１０を１つまたは複数のＩＣバッファ素子１２５ａ、１２５ｂ、１２６ａ、および１２６ｂに結合することができる。
【００５４】
一実施形態では、１つまたは複数のメモリモジュール１２０ａ〜１２０ｄは、標準ＤＩＭＭフォームファクタを有するデュアルラインメモリモジュール（「ＤＩＭＭ」）である。一実施形態では、メモリモジュールは、「システムインパッケージ」（「ＳＩＰ」）のように、単一の単体パッケージに含むことができる。一種のＳＩＰ実施形態では、メモリモジュールは、互いの上に積み重ねられ、導電性相互接続を介して結合された一続きの集積回路ダイ（すなわち、メモリ素子およびバッファ素子）を含むことができる。はんだボールまたは配線リードは、メモリモジュールをプリント回路ボード基板に固定して取り付けることができるように、コネクタインタフェースとして利用することができる。コネクタインタフェースは、例えば、メモリモジュールがシステムの残りの部分から着脱可能なように、オス型部およびメス型部を含む物理的に分離可能な種類のものであってもよい。別のＳＩＰ実施形態は、二次元構成で共通の基板平面上に配置され、単一のパッケージ筐体内に置かれたいくつかのメモリ素子およびバッファ素子を含むことができる。
【００５５】
図１に示される実施形態では、集積回路メモリ素子１０３ａ〜１０３ｐおよび１０４ａ〜１０４ｐは、異なる種類の集積回路メモリ素子を含む。例えば、集積回路メモリ素子１０３ａ〜１０３ｐは、揮発性集積回路メモリ素子であってもよく、その一方で、集積回路メモリ素子１０４ａ〜１０４ｐは不揮発性集積回路メモリ素子であってもよい。一実施形態では、揮発性集積回路メモリ素子は、電力が素子から除去されると、記憶された情報が失われる複数のメモリセルを含む。これとは対照的に、一実施形態では、不揮発性集積回路メモリ素子は、電力が素子から除去されても情報が保持される複数のメモリセルを含む。
【００５６】
揮発性メモリ素子の種類としては、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）、分子電荷ベース（molecular charge-based）（ZettaCore）ＤＲＡＭ、浮遊ボディ（floating-body）ＤＲＡＭ、およびスタティックランダムアクセスメモリ（「ＳＲＡＭ」）が挙げられるが、これらに限定されない。ＤＲＡＭの特定の種類としては、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ」）または後世代のＳＤＲＡＭ（例えば、「ＤＤＲ２」または「ＤＤＲ３」）、ならびにＸＤＲ（商標）ＤＲＡＭまたはDIRECT RAMBUS（登録商標）ＤＲＡＭ（「ＤＲＤＲＡＭ」）が挙げられる。
【００５７】
不揮発性メモリ素子の種類としては、電気的消去可能プログラム読み取り専用メモリ（「ＥＥＰＲＯＭ」）、フラッシュ（ＮＡＮＤ型フラッシュおよびＮＯＲ型フラッシュを含む）、ＯＮＯ型フラッシュ、磁気抵抗ＲＡＭまたは磁気ＲＡＭ（「ＭＲＡＭ」）、強誘電性ＲＡＭ（「ＦＲＡＭ」）、ホログラフィック媒体、オボニック／位相変化、ナノ結晶、ナノチューブＲＡＭ（Nanotube RAM）（ＮＲＡＭ−Ｎａｎｔｅｒｏ）、ＭＥＭＳ走査プローブシステム、ＭＥＭＳカンチレバースイッチ、ポリマー、分子、ナノ浮遊ゲート、および単電子が挙げられるが、これらに限定されない。
【００５８】
不揮発性メモリ素子のいくつかの種類の一特性は、一度にバイトまたはワードをランダムアクセス様式で読み出し、またはプログラム／書き込むことができるが、一度にブロックを消去しなければならないことである。新しく消去されたブロックから始まり、そのブロック内の任意のバイトをプログラムすることができる。しかし、バイトがプログラムされると、通常、ブロック全体が消去されるまで、再び変更することができない。例えば、ＮＯＲ型フラッシュメモリ素子は、ランダムアクセスでの読み出し動作およびプログラム動作を提供することができるが、通常、ランダムアクセスでの書き換え動作または消去動作を提供することができない。
【００５９】
集積回路メモリ素子は、複数の感知増幅器と共に行・デコーダ回路（row and decoder circuit）によって（ワードおよびビットラインを介して）二次元メモリセルの１つまたは複数のストレージアレイ（またはバンク）を含むことができる。様々な量の電圧または電流を、ストレージアレイ内の１つまたは複数のメモリセルに付与して、論理値（例えば、論理１または論理０）に対応する電圧値を記憶したメモリセルのプログラム（書き込み）、読み出し、および／または消去を行うことができる。
【００６０】
図１に示される実施形態では、コントローラ１１０はマスタ装置であり、他のインタフェースまたは機能、例えば、チップセットのノースブリッジチップを含む集積回路素子であることができる。マスタ装置は、マイクロプロセッサまたはグラフィックスプロセッサユニット（「ＧＰＵ」）またはビジュアルプロセッサユニット（「ＶＰＵ」）上に集積することができる。マスタ装置は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）として実施することができる。システム１００は、サーバ（例えば、ブレードサーバ）、パーソナルコンピュータ、グラフィックスカード、セットトップボックス、ケーブルモデム、携帯電話、ゲームコンソール、デジタルテレビジョンセット（例えば、高精細テレビジョン）（「ＨＤＴＶ」）、ファックス機、ケーブルモデム、デジタル多用途ディスク（「ＤＶＤ」）プレーヤ、またはネットワークルータ等の様々なシステムまたはサブシステムに含むことができる。
【００６１】
図１に示される実施形態では、システム１００は、キーワードの入力に応答して、インターネット上に記憶されたウェブサイト（またはページ）へのハイパーリンク、イメージ、および／または動画を含む検索結果を提供する検索エンジンとして実行または機能する際に使用されるサーバに使用することができる。検索エンジン実施形態では、検索頻度の高い情報（例えば、最近の検索結果）は階層１０１に記憶することができ、その一方で、検索頻度が低い情報（例えば、インデックス）は階層１０２に記憶することができる。
【００６２】
本明細書において説明した信号は、導電体によってコントローラ／メモリモジュール／素子／回路間および内で送信または受信し、制限なしで、電気信号の電圧レベルまたは電流レベルを変調することを含む任意の数の信号伝送技法を使用して生成することができる。信号は、任意の種類の制御情報およびタイミング情報（例えば、コマンド、アドレス値、クロック信号、および構成情報）ならびにデータを表すことができる。一実施形態では、制御情報、アドレス情報、またはデータ情報は、特定の信号線上で特定のビットウィンドウにおいてアサートされる１つまたは複数の信号を表す要求パケット内に含まれる。一実施形態では、要求パケットは、コントローラから１つまたは複数のメモリモジュールに提供されると共に、メモリモジュール間で提供される。
【００６３】
実施形態では、信号パスは、相互接続、導電要素、接点、ピン、半導体基板内の領域、配線、金属トレース／信号線、または光電導体等の信号を単独でまたは組み合わせて転送する媒体である。一実施形態では、図に示された単一の信号パスを複数の信号パスで置き換えてもよく、図に示された複数の信号パスを単一の信号パスで置き換えてもよい。実施形態では、信号パスは、バスおよび／またはポイントツーポイント接続を含むことができる。一実施形態では、信号パスは、制御信号線およびデータ信号線を含む。代替の実施形態では、信号パスは、データ信号線のみまたは制御信号線のみを含む。さらに他の実施形態では、信号パスは、単方向（一方向に移動する信号）または双方向（２方向に移動する信号）または単方向信号線および双方向信号線の両方の組み合わせである。
【００６４】
本明細書において開示された各種回路は、コンピュータ支援設計ツールを使用して記述され、挙動、レジスタ転送、論理構成要素、トランジスタ、レイアウトジオメトリ、および／または他の特性に関して各種コンピュータ可読媒体に具現されるデータおよび／または命令として表現（または表す）ことができることに留意されたい。このような回路表現を実装することができるファイルおよび他のオブジェクトのフォーマットとしては、Ｃ、Verilog、およびＨＬＤＬ等の挙動言語（behavioral language）をサポートするフォーマット、ＲＴＬのようなレジスタレベル記述言語をサポートするフォーマット、ＧＤＳＩＩ、ＧＤＳＩＩＩ、ＧＤＳＩＶ、ＣＩＦ、ＭＥＢＥＳ等のジオメトリ記述言語をサポートするフォーマット、および任意の他の適したフォーマットおよび言語が挙げられるが、これらに限定されない。このようなフォーマットされたデータおよび／または命令を具現することができるコンピュータ可読媒体としては、各種形態（例えば、光学記憶媒体、磁気記憶媒体、または半導体記憶媒体）の不揮発性記憶媒体、ならびに無線、光、有線の信号伝送媒体またはこれらの任意の組み合わせを通してのこのようなフォーマットデータおよび／または命令の転送に使用することができる搬送波が挙げられるが、これらに限定されない。搬送波によるこのようなフォーマットデータおよび／または命令の転送の例としては、１つまたは複数のデータ転送プロトコル（例えば、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰ等）を介してのインターネットおよび／または他のコンピュータネットワークを経由しての転送（アップロード、ダウンロード、電子メールなど）が挙げられるが、これに限定されない。１つまたは複数のコンピュータ可読媒体を介してコンピュータシステム内で受信された場合、このようなデータおよび／または上述した回路の命令ベースの表現は、ネットリスト生成プログラム、プレースアンドルート（place and route）プログラム等を限定なしで含む１つまたは複数の他のコンピュータプログラムの実行と併せて、コンピュータシステム内の処理エンティティ（例えば、１つまたは複数のプロセッサ）によって処理して、このような回路の物理的な現れの表現またはイメージを生成することができる。その後、このような表現またはイメージは、例えば、素子組み立てプロセス内で回路の各種構成要素の形成に使用される１つまたは複数のマスクの生成を可能にすることにより、素子の組み立てに使用することができる。
【００６５】
本明細書において説明した回路の機能は、部分的にまたは完全に、例えば、システム１００内に記憶され実行可能なコンピュータ／プロセッサ実行可能命令（またはソフトウェア）で置き換えることも可能である。
【００６６】
好ましい実施形態の上記説明は、例示および説明のために提供された。網羅的であることや、実施形態を開示された厳密な形態に限定することは意図されない。変更および変形が当業者には明らかになるであろう。実施形態は、本発明の原理およびその実際の適用を最良に説明し、それにより、当業者が、意図される特定の用途に適した各種変更と共に各種実施形態に関して本発明を理解できるように、選択され説明された。本発明の範囲は以下の特許請求の範囲およびその等価物によって規定されることが意図される。
【図１】
0005401444.tif 000002
【図２Ａ】
0005401444.tif 000003
【図２Ｂ】
0005401444.tif 000004
【図３Ａ】
0005401444.tif 000005
【図３Ｂ】
0005401444.tif 000006
【図４】
0005401444.tif 000007
【図５Ａ】
0005401444.tif 000008
【図５Ｂ】
0005401444.tif 000009
【図５Ｃ】
0005401444.tif 000010
【図５Ｄ】
0005401444.tif 000011