(57)【要約】【課題】階層メモリ・アーキテクチャのためのメモリ・デバイスを提供すること。【解決手段】異なるメモリ形式を備えた多数のインターフェースを有する階層メモリ・デバイスは、相変化メモリ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ：ＰＣＭ）を含む。入力ポート及び出力ポートが、デイジー・チェーン階層又はツリー構造において階層メモリ・デバイスを他のメモリと接続する。標準的な非階層メモリ・デバイスは、階層メモリ・デバイスの出力ポートに取り付けることもできる。【選択図】図１
2010287203.tif 000002
【特許請求の範囲】
【請求項１】
相変化メモリ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ：ＰＣＭ）と、
異なるメモリ形式を有する多数のインターフェースと、
デイジー・チェーン階層又は階層ツリー構造において前記階層メモリ・デバイスを接続するための入力ポート及び出力ポートと、
を含み、標準的な非階層メモリ・デバイスは、前記階層メモリ・デバイスの前記出力ポートに取り付けられる、
ことを特徴とする階層メモリ・デバイス。
【請求項２】
前記多数のインターフェースは、ＲＡＭインターフェースと、ＮＡＮＤインターフェースと、ネットワーク・インターフェースと、ストレージ・インターフェースと、周辺インターフェースとを含むことを特徴とする請求項１に記載の階層メモリ・デバイス。
【請求項３】
ＩＯマップされた、メモリ・マップされた、又はメモリ・マップされたＩＯデバイスとして機能するようにさらに構成可能であることを特徴とする請求項１に記載の階層メモリ・デバイス。
【請求項４】
前記階層ツリー構造において上流側ポートと下流側ポートとの間でトラフィックをスイッチングすることを特徴とする請求項１に記載の階層メモリ・デバイス。
【請求項５】
前記デイジー・チェーン階層においてトラフィックを解釈して、前記トラフィックが前記階層メモリ・デバイス用であるか又は下流側／上流側ノード用であるかを判断することを特徴とする請求項１に記載の階層メモリ・デバイス。
【請求項６】
メモリ・サブシステムにおいて用いるための階層メモリ・デバイスであって、
相変化メモリ（ＰＣＭ）と、
ウェア・レベリング、キャッシュ、エラー検出及び訂正、並びに性能及び信頼性を管理するためのデータ操作のアルゴリズムを実行するためのプロセッサ・コアと、
を含み、前記階層メモリ・デバイスは、ＩＯマップされた、メモリ・マップされた、又はメモリ・マップされたＩＯデバイスとして動作するように構成可能であることを特徴とする階層メモリ・デバイス。
【請求項７】
前記階層メモリ・デバイスは、セクタ・ベースのデバイスとして動作することを特徴とする請求項６に記載の階層メモリ・デバイス。
【請求項８】
前記階層メモリ・デバイスは、デイジー・チェーン構成において他の階層メモリ・デバイスと接続されることを特徴とする請求項６に記載の階層メモリ・デバイス。
【請求項９】
前記階層メモリ・デバイスは、ツリー構造において他の階層メモリ・デバイスと接続されることを特徴とする請求項６に記載の階層メモリ・デバイス。
【請求項１０】
バッファ・メモリを有する階層メモリ・デバイスであって、
相変化メモリ（ＰＣＭ）アレイと、
ＲＡＭインターフェースと、
コマンド情報を抽出して、前記コマンドに基づいて前記ＮＡＮＤインターフェースと前記バッファ・メモリとの間のデータ・レートを調整するＮＡＮＤインターフェースと、
通信リンク上で信号通知レート及びデータ・パケット伝送をサポートするためのネットワーク・インターフェースと、
ストレージ・インターフェースと、
周辺インターフェースと、
を含むことを特徴とする階層メモリ・デバイス。
【請求項１１】
前記ＲＡＭインターフェースは、ダブル・データレート・ランダム・アクセス・メモリ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＤＲ  ＲＡＭ）としてホストと前記メモリ・デバイスとの間の通信を提供することを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１２】
前記ＲＡＭインターフェースは、ダブル・データレート３同期ダイナミック・ランダム・アクセス・メモリ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ｔｈｒｅｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＤＲ３  ＳＤＲＡＭ）としてホストと前記メモリ・デバイスとの間の通信を提供することを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１３】
前記ＲＡＭインターフェースは、電力低減インターフェースの低電力ダブル・データレート（Ｌｏｗ  Ｐｏｗｅｒ  Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ（ＬＰＤＤＲ）であることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１４】
前記ＮＡＮＤインターフェースは、セクタ・ベースとして動作することを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１５】
前記ネットワーク・インターフェースは、イーサネット・プロトコルをサポートすることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１６】
前記ネットワーク・インターフェースは、インフィニバンドの２地点間双方向シリアル・リンクをサポートすることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１７】
前記ネットワーク・インターフェースは、８０２．１１通信リンクをサポートすることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１８】
前記ストレージ・インターフェースは、ホスト・バスと大容量ストレージ・デバイスとの間の通信を可能にするシリアルＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ：ＳＡＴＡ）ストレージ・インターフェースであることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項１９】
前記ストレージ・インターフェースは、メモリ・デバイスをディスク・ドライブにリンクする２地点間シリアル・インターフェースであるシリアル・アタッチドＳＣＳＩ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ：ＳＡＳ）であることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項２０】
前記ストレージ・インターフェースは、ファイバ・チャネル・プロトコル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ：ＦＣＰ）をサポートすることを特徴とする請求項１０に記載の階層メモリ・デバイス。
【請求項２１】
相変化メモリ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ：ＰＣＭ）アレイと、ＮＡＮＤインターフェースを含む、異なるメモリ形式に対処するための多数のインターフェースとを有する階層メモリと、
前記階層メモリ・デバイスの出力ポートに接続された第１及び第２のＮＡＮＤデバイスと、
を含むことを特徴とするパッケージ化されたメモリ・デバイス。
【請求項２２】
前記階層メモリと同様に、アドレス・ポートとデータ・ポートとを有するランダム・アクセス・メモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＲＡＭ）をさらに含むことを特徴とする請求項２１に記載のパッケージ化されたメモリ・デバイス。
【請求項２３】
各々が相変化メモリ（ＰＣＭ）アレイと、異なるメモリ形式に対処するための多数のインターフェースと、ＮＡＮＤデバイスにリンクするための出力ポートとを有する第１及び第２の階層メモリ
を含むことを特徴とするパッケージ化されたメモリ・デバイス。
【請求項２４】
各々が相変化メモリ（ＰＣＭ）アレイと、異なるメモリ形式に対処するための多数のインターフェースと、出力ポートとを有する第１及び第２の階層メモリ・デバイスと、
前記第１の階層メモリの前記出力ポートに接続された第１及び第２のＮＡＮＤデバイスと、
前記第２の階層メモリの前記出力ポートに接続された第３及び第４のＮＡＮＤデバイスと、
を含むことを特徴とするパッケージ化されたメモリ・デバイス。
【請求項２５】
前記第１及び第２の階層メモリと同様に、アドレス・ポートとデータ・ポートとを有するランダム・アクセス・メモリ（ＲＡＭ）をさらに含むことを特徴とする請求項２４に記載のパッケージ化されたメモリ・デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
現行のマイクロプロセッサにおいては、ＣＰＵ及び／又はコア論理とシステム・メモリとの間のデータ・トランザクションが、システム性能のボトルネックになる。システム・レベルのバスの本来備わっているキャパシタンスのために、バイナリ・データが伝送されるときに、プロセッサの入力／出力インターフェースにおいて、かなりの電力量が消費される可能性がある。バス待ち時間を考慮に入れるための同時の電力及びタイミングの最適化は、システム性能を向上させるために考慮に入れられる重要な設計制約である。大容量ストレージ・メモリ・デバイスとのインターフェースにおいては、付加的な改善が必要とされる。
【図面の簡単な説明】
【０００２】
【図１】本発明による、階層アーキテクチャにおけるメモリ・ストレージとして用いることができる階層メモリ・デバイスである。
【図２】本発明による種々の階層メモリ構成の略図である。
【図３】本発明による、種々の組み合わせにおけるＮＡＮＤ及びＲＡＭをもって構成される階層メモリを示す。
【図４】次に最終パッケージとしてチップ・スケール・パッケージ（Ｃｈｉｐ  Ｓｃａｌｅ  Ｐａｃｋａｇｅ：ＣＳＰ）又はボール・グリッド・アレイ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙ：ＢＧＡ）のいずれかを作成するためにバンピングすることができる基板上にダイスをマウントすることができるパッケージ化されたデバイスを示す。
【発明を実施するための形態】
【０００３】
本発明とみなされる内容は、明細書の結びの部分において特に示され、明示的に特許請求される。しかしながら、本発明の目的、特徴及び利点と共に、編成と動作方法の両方に関する本発明は、添付の図面と共に読まれるときに、以下の詳細な説明を参照することによって最良に理解することができる。
【０００４】
例示を簡単にし、かつ明確にするために、図面に示された要素は、必ずしも縮尺に合わせて描かれているわけではないことが理解されるであろう。例えば、明確にするために、要素の幾つかの寸法を他の要素に対して誇張することができる。さらに、適切と考えられる場合には、対応する又は類似の要素を示すために、図面の中で参照符号を繰り返し用いている。
【０００５】
以下の詳細な説明において、多数の特定の詳細が、本発明の完全な理解を提供するために示されている。しかしながら、当業者であれば、これらの特定の詳細なしに本発明を実施することができることを理解するであろう。他の場合には、本発明を不明瞭にしないようにするべく、周知の方法、手順、構成部品及び回路は、詳細には説明されていない。
【０００６】
その派生物と共に、これらの「結合された」及び「接続された」という用語は、互いに同義語として意図されるものではないことを理解すべきである。むしろ、特定の実施形態において、「接続された」は、２つ又はそれ以上の要素が互いに直接物理的又は電気的な接触状態にあることを示すのに用いることができる。「結合された」は、２つ又はそれ以上の要素が互いに直接的か又は間接的（それらの間に他の介在要素を有する）のいずれかで、物理的又は電気的な接触状態にあること、及び／又は２つ又はそれ以上の要素が（例えば、因果関係の場合のような）互いに協働するか又は相互作用することを示すのに用いることができる。
【０００７】
図１に示されるアーキテクチャは、本発明による階層構成において他のストレージ・デバイスとの通信を容易にするために多数のインターフェースと、プロセッサ・コア１４８とを含む階層メモリ・デバイス１００を示す。バス１０４が、プロセッサと、取り付けることができるあらゆるＩ／Ｏと、混合メモリ・タイプとの間の通信を可能にする多重処理インターフェースとの接続を提供する。バス１０４を介して提供される高速通信が、直接書き込みをサポートし、高速バスのトランザクションを提供する。バス１０４における信号は、種々の信号通知法を用いることができる。これらの信号通知法の例として提供されるものとしては、バス１０４は、シングルエンドであるか、又はレシーバによる基準レベルを用いて、信号が論理０若しくは論理１であるかどうかを判断する、差動入力バッファを有するガニング・トランシーバ論理（Ｇｕｎｎｉｎｇ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｌｏｇｉｃ：ＧＴＬ＋）信号通知技術を用いる信号を提供することができるが、本発明の範囲は、これらの例に制限されるものではなく、他の信号通知法を用いることができる。
【０００８】
メモリ・デバイス１００は、ＲＡＭインターフェース１３０と、ＮＡＮＤインターフェース１３２と、ネットワーク・インターフェース１３４と、ストレージ・インターフェース１３６と、周辺インターフェース１３８とを含む。ＲＡＭインターフェース１３０は、基本的な読み出し速度のますます大きくなる倍数で選択的に動作するインターフェース回路を用いて、ホスト・コントローラとメモリ・デバイス１００との間の通信を提供する。例えば、ＲＡＭインターフェース１３０は、データのシリアル入力を提供するか、又は代替的に、制御入力に応答する前にクロック信号を待機する同期インターフェース（同期ダイナミック・ランダム・アクセス・メモリ、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＳＤＲＡＭ）を介してより高い帯域幅を提供することができる。
【０００９】
ＲＡＭインターフェース１３０は、ダブル・データレート・ランダム・アクセス・メモリ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＤＤＲ  ＲＡＭ）又は次世代ＤＤＲ２としてデータを受信することもできる。ＤＤＲ２においては、バスは、メモリ・セルの速度の２倍でクロック制御されるため、ＤＤＲ２はＤＤＲのバス速度の２倍で効果的に動作することができる。ＲＡＭインターフェース１３０は、ＤＤＲ２の２倍のデータ・レートでデータを転送し、よって以前のメモリ技術より更に高いバス・レート及び高いピーク・レートを可能にする、ダブル・データレート３同期ダイナミック・ランダム・アクセス・メモリ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ３  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＤＤＲ３  ＳＤＲＡＭ）を提供することもできる。メモリ・デバイス１００は、１．２ボルトで入力／出力（Ｉ／Ｏ）を動作させるＤＤＲ４に適応することもできる。階層メモリ・デバイス１００はまた、低電力ダブル・データレート（Ｌｏｗ  Ｐｏｗｅｒ  Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ：ＬＰＤＤＲ）及びより低い供給電圧を有するＬＰＤＤＲ２のような、電力低減インターフェースもサポートする。
【００１０】
ＮＡＮＤインターフェース１３２は、ＮＡＮＤメモリをホスト・プロセッサに接続するサポートにおける動作を制御し、ＲＡＭインターフェース１３０に比べてより狭い帯域幅、より長い待ち時間を与え、設計の簡単さ及び低減されたピン・カウントを提供する。メモリ・ブロック１４０は、大容量ストレージ用途に用いることができるＮＡＮＤフラッシュのサポートによりデータを受信する。ＮＡＮＤフラッシュのサポートにより動作すると、メモリ・デバイス１００は、３つの基本動作、すなわち、ページの読み出し、ページのプログラム及びブロックの消去を実行する。ＮＡＮＤ構成のサポートにより、メモリ・ブロック１４０は、一組のブロック及びページで構成され、ここで、各々のページは、ユーザ・データを格納するデータ部分と、ＥＣＣ情報のような、ユニット・データに関連したメタデータを格納するスペア部分とを有する。
【００１１】
コマンド及び動作情報を抽出して、ＮＡＮＤインターフェース１３２を制御し、コマンド及びアドレスに基づいてＮＡＮＤインターフェースとバッファ・メモリ１４２との間のデータ入力及び／又は出力を調整する。データは、データ上のエラー訂正を実行するためのエラー検出＆構成１１４においてＮＡＮＤインターフェース１３２からエラー訂正論理に出力することができる。統合された能力により、メモリ・デバイス１００は、マルチコアのＮＡＮＤ管理サブシステム又は自律コンピューティング・サブシステムとして機能することができる。
【００１２】
ネットワーク・インターフェース１３４は、イーサネット、インフィニバンド及び８０２．１１のためのサポートを提供する。イーサネットは、同期需要に対処するための衝突検出キャリア・センス・マルチプル・アクセス（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ：ＣＳＭＡ／ＣＤ）法を用いるローカル・エリア・ネットワーク（ＬＡＮ）インターフェースである。ＣＳＭＡ／ＣＤプロトコルは、接続されたステーションがネットワークを用いる機会を得るように共有チャネルへの適正なアクセスを提供する。全てのパケットが伝送された後に、ＣＳＭＡ／ＣＤプロトコルは、どのステーションが次にイーサネット・チャネルを用いる許可を承認されているかを判断する。イーサネット・プロトコルは、宛先アドレスとソース・アドレスの両方が指定されているフレームを構築するための規則を指定する。
【００１３】
ネットワーク・インターフェース１３４は、例えば、ディスクのような高速周辺装置とホスト・プロセッサを接続する、インフィニバンドと規定される２地点間の双方向シリアル・リンクをサポートする。このインターフェースは、幾つかの信号通知レート及びリンクをサポートすることができる。ネットワーク・インターフェース１３４は、８０２．１１通信リンクをサポートすることもできる。
【００１４】
ストレージ・インターフェース１３６は、産業用途及び組み込み用途をサポートする。ストレージ・インターフェース１３６は、ホスト・バスと大容量ストレージ・デバイスとの間の通信を可能にするシリアルＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ：ＳＡＴＡ）ストレージ・インターフェースをサポートする。ＳＡＴＡインターフェースは、最低４つのワイヤを有するケーブルを駆動して、２地点間接続を生成する。ストレージ・インターフェース１３６によってサポートされる別のインターフェースは、メモリ・デバイス１００をディスク・ドライブにリンクする、２地点間シリアル・インターフェースであるシリアル・アタッチドＳＣＳＩ（Ｓｅｒｉａｌ−Ａｔｔａｃｈｅｄ  ＳＣＳＩ：ＳＡＳ）である。ＳＡＳは、同時にケーブルを用いて、異なるサイズ及びタイプの多数のデバイスをメモリ・デバイス１００に接続することを可能にするように用いることができる。パラレルＳＣＳＩインターフェース（ＰＳＩ、別名ＳＣＳＩ）は、メモリ・デバイス１００によってサポートすることができるＳＣＳＩファミリ内のインターフェース実装の１つである。ファイバ・チャネル・プロトコル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｌ：ＦＣＰ）は、ファイバ・チャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ：ＦＣ）上のＳＣＳＩのインターフェース・プロトコルである。ＦＣドライブは、デュアル・ポートであり、個々のハードディスクが、受信された読み出しコマンド及び書き込みコマンドを実行する順序を内部で最適化することを可能にする技術の、ネイティブ・コマンド・キューイング（Ｎａｔｉｖｅ  Ｃｏｍｍａｎｄ  Ｑｕｅｕｉｎｇ：ＮＣＱ）である。
【００１５】
トランザクションがストレージ・コントローラによって処理される間、付加的な論理及びレジスタが、局所性及び順序付け情報のような種々の用途パターン・パラメータを識別し、記録する。ストレージ・コントローラは、ストレージ・アクセスを識別し、調整するための論理を含む。ホスト・コントローラは、このレジスタ情報を読み出し、トランザクションをストレージ・デバイスに送信するその方法を調整することができる。代替的に、ホスト・コントローラは、レジスタ情報を読み出し、マイクロコードをストレージ・デバイスに送信することができる。
【００１６】
周辺インターフェース１３８は、マザーボードにマウントされた周辺装置をリンクするためのマザーボード・レベルの相互接続と、アドイン・ボードのための拡張カード・インターフェースの両方として、消費者用途、サーバ用途及び産業用途に用いることができる。例として、周辺構成部品相互接続エキスプレス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ：ＰＣＩ  Ｅｘｐｒｅｓｓ又はＰＣＩｅ）は、多数のレーンを単一のデバイスの対に接合して、より高い帯域幅を提供する「チャネルのグループ化」を可能にする。レーンの数は、パワーアップ中に「取り決める」こともできるし、或いは動作中に明示的に規定することもできる。
【００１７】
メモリ動作を制御するために、階層メモリ・デバイス１００は、割り込み構造といった、カウンタ／タイマを組み込むマイクロコントローラ（μＣ）コア１４８を含み、構成可能なＩ／Ｏポートを規定し、他の処理機能の中でも、電力低減モードを選択する。例として、μＣ１４８は、プログラム・メモリの位置のコンテンツへのアクセス要求を調節するセキュリティ特徴を作動させるための動作モードを含むことができる。セキュリティが作動した状態で、同時プログラミング、すなわち、メモリの別の領域から実行される命令を用いたメモリの１つの領域のプログラミングは、所定の安全な状態の下で開始させることができる。
【００１８】
階層メモリ・デバイス１００に特有の構成情報を格納するのに専用のメモリ・アレイ１５０は、製造業者か又はユーザのいずれかによってロードすることができる。μＣコア１４８によって実行されるソフトウェアが、構成データをインターフェース・ブロックに適用して、種々のプロトコルを選択し、ホスト、取り付けられた周辺デバイス及び他のストレージ・デバイスに提供される階層メモリ・デバイス１００のインターフェース構成を制御する。
【００１９】
μＣコア１４８はコマンド・キュー１４４と共に、コマンド・セットを解釈し、メモリ・コマンドを発行する。内部コントローラは、動作タイミングを処理し、例えば、書き込みコマンド、読み出しコマンド及びフラッシュ・コマンドのようなメモリ・コマンドの正しい実行を検証する。これに加えて、このアーキテクチャにおいては、「ステータス読み出し」、「コピー」、「移動」又は「エラー訂正」のような多数のコマンドをサポートすることができる。コントローラは、そのレジスタがステータスについての情報を移送し、メモリ動作中に生じることがある如何なるエラーについても報告するステータス・ブロック１４６を供給する。ステータスレジスタ出力を読み出して、コマンド動作中の進行を監視するか又はメモリ動作の結果を報告することができる。
【００２０】
バッファ・メモリ１４２は、プログラミング・コマンドを発行したときに、メモリ・ブロック１４０内にグループとして転送することができる幾つかのワードを保持し、さらにメモリ・ブロックから読み出される大量のデータをバッファリングする。この方法により１つのページがプログラミングされ、プログラム及び検証プロセスが完了した後に、次のページのためのプログラム及び検証プロセスを実行することができる。読み出しコマンドを実行して、メモリ・セルから、次には転送されるバッファ・メモリに、データを読み出す。ホスト・インターフェースにわたってデータの全てを転送する前に、プログラミングが始まり得ることに留意すべきである。図２に示される階層構造からより明らかであるように、データは、プログラミングが始まるようにターゲットに十分な量の情報が転送されるまで、あるレベルのバッファリングで階層を通って伝播することができる。
【００２１】
メモリ・ブロック１４０は、メモリ・アレイ内でコード空間とデータ空間とを分割する融通性を提供するために多数のバンク・アーキテクチャを有することができる。２つの動作は、一方のバンクがプログラムされるか又は消去される間に、他方のバンクからコードを実行することを可能にする。一方のバンクにおいてプログラムされるか又は消去される間に、他方のバンクにおいては、読み出し動作が可能である。一実施形態において、メモリ・アレイは、相変化ランダム・アクセス・メモリ（Ｐｈａｓｅ−Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＰＲＡＭ又はＰＣＲＡＭ）とも呼ばれる、相変化メモリ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ：ＰＣＭ）アレイ、オボニック統一メモリ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ：ＯＵＭ）、又はカルコゲナイド・ランダム・アクセス・メモリ（Ｃｈａｌｃｏｇｅｎｉｄｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：Ｃ−ＲＡＭ）である。別の実施形態において、メモリ・アレイは、磁気ストレージ要素が、行及び列ラインの交差部に配置され、磁気トンネル接合（Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ：ＭＴＪ）デバイス（図示せず）によって選択される２つの強磁性プレート（図示せず）から形成される、磁気ランダム・アクセス・メモリ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＭＲＡＭ）セルとすることができる。更に別の実施形態においては、メモリ・アレイは、強誘電性ランダム・アクセス・メモリ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＦＲＡＭ）セルとすることができる。
【００２２】
階層メモリ・デバイス１００は、階層メモリ・デバイスに組み込まれるホスト・インターフェース論理を含むことができる。ホスト・インターフェース論理は、以下の機能、すなわち、ホスト・プロセッサとの通信、多数の階層メモリ・ツリーの集約、ウェア・レベリング、不良メモリ・セクタの退去のうちの幾つか又は全てを実行し、性能及び信頼性管理のためのメモリ用途の統計的な追跡を提供し、階層メモリ・ツリーにおいては、連想メモリを使用することができる。
【００２３】
ブロック・ラベルのアドレス＆セクタ変換１１０は、階層内の種々の位置に取り付けられたメモリ・デバイスにアクセスするのに用いることができるバス１０４を通してアドレス情報を受信することによって、階層メモリ・デバイス１００内のアドレス指定を提示する。ＮＡＮＤアドレス情報が階層メモリ・デバイス１００によって受信されるときは、アドレスの再マッピングは、それが階層ツリーを通過する際に生じてもよいし生じなくてもよい。階層メモリ・デバイス１００は、発見プロセスを介して取り付けられるメモリ・デバイスのタイプを知り、内部ルックアップ・テーブルが、「長い」アドレスを「短い」アドレスに関連付ける。長いアドレスは、例えば、‘０’が左のポートを表すことができ、‘１’が右のポートを表すことができるといったターゲット・ポートへの完全なロードマップを含む。短いアドレスは、デバイス間通信に用いることができ、より低いツリーのための有効なポートの順次リストを含むことができる。
【００２４】
ウェア・レベリング１１２は、管理されたメモリ・ブロック全体にわたって消去を拡げ、低サイクル・カウントのブロックを場合によっては移動するようにさせ、低サイクル・ブロック内に高サイクル・データを配置することを可能にする。大多数のブロックはサイクルしないが、高サイクル・カウント・ブロックは、故障する可能性が最も高く、ウェア・レベリングのハードウェア及びマイクロコードは、消去アルゴリズム中に低サイクル・カウント・ブロックと高サイクル・カウント・ブロックのアドレスをスワップする。全てのアドレス・スワッピングがエンドユーザにトランスペアレントであることに留意されたい。
【００２５】
構成可能なエラー訂正コード（Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ：ＥＣＣ）エンジン１１４は、エラー検出及び訂正スキームを提供する。エラー検出及び訂正スキームは、書き込み精度及び繰り返し精度に関連する問題を補償する。エラー訂正コードは、各々のデータ信号が特定の構成規則に準拠し、かつ受信された信号におけるこの構成からの離脱を自動的に検出し、訂正できることを保証する。従って、構成可能なＥＣＣエンジン１１４は、メモリのビット・エラーを監視し、修正し、防止する。
【００２６】
圧縮＆圧縮解除ブロック１１６は、より少ないメモリのビットを占める格納されたデータ・セットへの入力データ・セットの圧縮を提供する。格納されたデータがアクセスされとき、それは圧縮解除され、ホストに戻される。読み出されたデータが書き込まれたデータと同じであることが保証されるように圧縮は損失のないものとなることに留意すべきである。一方、損失のある圧縮は、より高いレベルの圧縮をもたらすが、データ内で変更があり得る。損失のある圧縮は、データ・パターンにおける少ない変更がユーザ経験における大幅な劣化をもたらさないビデオ・データの格納には適切となり得る。
【００２７】
キャッシュ管理ブロック１１８は、階層メモリ・ツリー内で動作して、アクセス・パターンに基づいて情報格納位置の最適化を提供し、例えば、最高性能で、最も堅牢なメモリに「ホットな」データを格納し、低費用で、より低い性能で、堅牢さの少ないメモリに「コールドな」データを格納する。
【００２８】
データ操作ブロック１５２は、より遅い状態を有するメモリ・セクションを予め調整するバックグラウンド時間を使い、その結果、フォアグラウンド動作中にこれらの状態を迅速に遷移できるようにすることが有利である。これは、多くの場合、‘０’の状態を格納するより‘１’の状態を格納するメモリ状態への書き込みの方が長くかかるという事例である。これらの事例では、データを操作する利点は、より遅い状態に遷移するビットがより少ないことである。データが反転するようにデータが操作されるこれらの事例では、付加的なビットが格納されて、性能を最適化するためにデータが反転されたことを示す。同様なシナリオは、同様な技術を用いることができる信頼性の管理（例えば、‘１’より‘０’に対して高いビット・エラー率）と共存する。
【００２９】
メモリ・パーティション化管理ブロック１２０は、ソフトウェアの再使用可能性、システムの信頼性及び設計の融通性を維持しながら、異なるコア及びパーティションにわたってメモリを保護するためにメモリ・パーティション化オプションを提供することができる。パーティション化は、不揮発性媒体を利用する上位ソフトウェア層が使用可能なメモリ空間をセグメント化して、異なるタイプのデータ又はコードを格納することを可能にする。階層メモリ・デバイス１００は、論理アドレス指定可能空間をパーティション化する可能性を与えて、システムのライフサイクル中にデバイスを、異なる用途モデル及び用途モデル自体の変更に適応させる。
【００３０】
図２は、付加的なメモリ・ストレージを有する種々の構成において接続された多数の階層メモリ・デバイス１００を示す。図面は、適正に配置されたデバイス１００がメモリ・デバイスの連続を可能にし、制限されたピン・カウントで、プロセッサ・コントローラへのメモリ深度の取り付けを可能にすることを示す。階層メモリ・デバイス１００は、システムの大容量メモリ・ストレージを開き、主に実用的な物理的制約によって制限されるメモリ容量を有する階層メモリ・アーキテクチャを可能にする。
【００３１】
ショートリンク通信のためのより高い総Ｉ／Ｏ帯域幅を提供するために、チップ間バスは、双方向とすることができ、すなわち、これらのバスは、１つのバスが上方向に信号を提供し、１つのバスが下方向に信号を提供する、個々のバスとすることができる。同時双方向信号通知に加えて、低電圧差動信号（Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌｉｎｇ：ＬＶＤＳ）を、チップ間通信及びユニバーサル・フラッシュ・ストレージ（Ｕｎｉｖｅｒｓａｌ  Ｆｌａｓｈ  Ｓｔｏｒａｇｅ：ＵＦＳ）のためのＬＶＤＳメモリへのリンクのための信号プロトコルとして用いることができる。
【００３２】
階層メモリ・デバイス１００は、プロセッサと、異なるストレージ機構及び異なるインターフェース形式を有することができるメモリ・ストレージ・デバイスとの間に位置する。階層メモリ・デバイス１００は、例えば、ランダム・アクセス読み出しを有するＮＯＲ、ページ・アクセスを提供するＮＡＮＤ、及びＤＤＲを可能にするＲＡＭのような異なるメモリ形式に対応するインターフェースを提供する。階層メモリ１００は、ホスト・コントローラ２０２に取り付けることもできるし、或いは代替的な実施形態においては、たとえストレージ・コントローラ機能がメモリ・デバイス１００に組み込まれていても、直接ホストに取り付けることもできる。
【００３３】
図面は、各々の階層メモリ・デバイス１００がその上流側ポートとＮ個の下流側ポートの１つとの間でトラフィックをスイッチングするツリー階層２０４において接続された階層メモリ・デバイスを示す。この構成は、幾つかの付加的な相互接続部を犠牲にして、最低のツリー層への往復の待ち時間を最小にする。図面はまた、デイジー・チェーン２０６において接続された階層メモリ・デバイス１００も示す。デイジー・チェーン階層においては、各々のノードが、トラフィックを解釈して、そのトラフィックがローカル・ノード用であるか又は下流側／上流側ノード用であるかを判断する。ローカル・ノード用のトラフィックは、下流側／上流側トラフィックが最小待ち時間で階層メモリ・デバイスを通されている間に、適切な動作をとることにより作用する。これに加えて、ハイブリッド構成は、異なる階層の変形を組み合わせることができる。例えば、１６のデバイス深度のデイジー・チェーンが各々の終端ノードに取り付けられた４つの終端ノードを備えた３層のツリーを構築することが有利となり得る。
【００３４】
階層メモリ・サブシステムにおいて、標準的な非階層メモリ・デバイス２０８は、階層メモリ・デバイス１００に取り付けることができる。例えば、マルチレベル・セル（Ｍｕｌｔｉ−Ｌｅｖｅｌ  Ｃｅｌｌ：ＭＬＣ）ＮＡＮＤメモリは、階層ＰＣＭメモリ・ツリーに取り付けることができる。この例では、読み出しをキャッシュし、書き込みを合体／キャッシュすることによってＮＡＮＤメモリ上のストレス状態を減少させる働きもしながら、ＰＣＭを用いて、ＮＡＮＤの極めて大きな密度の接続を容易にすることができる。ＮＡＮＤメモリは、まれに読み出され、比較的にまれに書き込まれるが、ＮＡＮＤメモリへの書き込みは、行われる唯一の書き込みが完全なデータ・ブロックを書き込むことを含むように合体させることができる。揮発性ＲＡＭの代わりに、階層メモリ・デバイス１００においてキャッシュのためにＰＣＭを用いると、電力損失の回復問題が単純化され、データ損失が防止される。ＰＣＭメモリは、ＮＡＮＤ書き込みエラーが多数の書き込み動作によって蓄積されないようにＥＣＣを実行することもできる。
【００３５】
ホスト・インターフェースにかかわらず、階層メモリ・サブシステムが論理的にシステムに現れ得る多数の方法が存在する。これらの方法の中には、ＩＯマップされた、メモリ・マップされた及びメモリ・マップされたＩＯが存在する。ＩＯマップされたデバイスとしては、サブシステムは、セクタ・ベースのデバイスとしてホスト及びホスト・ソフトウェアに現れる。このタイプのデバイスにおいては、セクタからページへのマッピングのような全ての変換及びマッピングは、ホストによって処理される。一般に、情報は、例えば、長さが５１２バイトから８キロバイトまでの間か又はそれ以上とすることができる原子セクタ内に存在する。一般に、ＩＯマップされたデバイスは、どんなハードウェア待ち時間がサブシステム及び関連インターフェースにおいて存在しても、付加的なソフトウェア待ち時間を誘起させるＩＯデバイス・ドライバにより処理される。
【００３６】
メモリ・マップされたデバイスとしては、このサブシステムは、フラットなメモリ・マップとしてホスト及びホスト・ソフトウェアに現れる。一般に、メモリ・マップされたデバイスは、メモリがオペレーティング・システムの待ち時間を排除するときに直接アクセスされる。ＩＯマップされたインターフェースと同様に、このサブシステムは、セクタ・ベースのデバイスとしてホスト及びホスト・ソフトウェアに現れる。さらに、階層メモリ・デバイス１００は、メモリ・マップされたデバイスとして機能することができる。メモリ・マップされたアクセスは、ＩＯデバイス・ドライバ及びコントローラの論理遅延を排除するのを助けることができる。
【００３７】
図３は、本発明による、種々の構成における不揮発性メモリと組み合わされた階層メモリ１００を示す。パッケージ３０２において、階層メモリ１００の出力ポートは、２つのＮＡＮＤメモリ・ダイスを接続して、固体ドライブ（Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｄｒｉｖｅ：ＳＳＤ）設計において特定の有用性を有するメモリの組み合わせを提供する。ＳＳＤデータ・ストレージ・デバイスは、固定メモリを用いて、永続データを格納し、ここで、ＳＳＤの密度は、多数のパッケージ３０２を用いてＮＡＮＤメモリを付加することによって増加させることができる。同じバス上にＲＡＭと階層メモリ１００を組み入れるパッケージ３０４がさらに図示されており、ここでは２つのＮＡＮＤメモリ・ダイスが階層メモリ１００の裏面上の出力ポートに接続されている。
【００３８】
パッケージ３０６は、少なくとも２つの階層メモリ・ダイス、前面に共に結合されたＲＡＭを示し、図示のように、高密度のＮＡＮＤスタックを取り付けることができる幾つかの裏面ＮＡＮＤポートを提供している。代替的には、パッケージ３０８は、２つ又はそれ以上の階層メモリ・ダイス、１つ又はそれ以上のＲＡＭ、及び階層メモリのＮＡＮＤポートに取り付けられる高密度のＮＡＮＤスタックを組み合わせることができることを示す。
【００３９】
図４は、次には最終パッケージとしてチップ・スケール・パッケージ（Ｃｈｉｐ  Ｓｃａｌｅ  Ｐａｃｋａｇｅ：ＣＳＰ）又はボール・グリッド・アレイ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙ：ＢＧＡ）のいずれかを作成するためにバンピングすることができる基板上にダイスをマウントするパッケージ３０２、３０４、３０６及び３０８を示す。ダイスは、基板上に並列に配置することもできるし、或いはダイ・スタッキング技術を用いて、より小さいダイをより大きなものの上にマウントして、両方のワイヤ・ボンディングを可能にすることもできる。相互接続を助けるために、ダイスは、貫通シリコン・ビアと、ダイ間ボンディングとを含むことができる。図面に示される実施形態においては、２つの階層メモリ・デバイス１００は、ＮＡＮＤデバイス４０２のスタックと共に含まれる。ＲＡＭダイスもまた、スタックに含むことができる。所与のサイズのフットプリント内で利用可能なメモリ密度及びメモリ帯域幅をさらに増加させるために、パッケージ・オン・パッケージ（Ｐａｃｋａｇｅ−ｏｎ−Ｐａｃｋａｇｅ：ＰｏＰ）を使用して、ＮＡＮＤスタック・パッケージのような多数のパッケージを階層メモリと垂直に接続することができる。
【００４０】
すでに、本発明の実施形態は、本発明の特徴を用いることにより、階層データ・ストレージを通してメモリ・ストレージの有効性の増加を可能にすることが明らかである。ホスト・インターフェースを階層メモリ・デバイスに提供することによって、これらのデバイスをホスト・システムに接続することができる。階層構造及びストレージ・コントローラ内では、ウェア・レベリング、キャッシュ、エラー検出及び訂正、不良ページ管理、不良ブロック管理、並びに性能及び信頼性を管理し、最適なストレージ容量をメモリ階層に提供するためのデータ操作のような多数のアルゴリズムが存在する。従って、階層メモリ・アーキテクチャは、メモリ・ストレージ・システムに１つ又はそれ以上の階層メモリ・デバイスを組み込むことによって提供される。
【００４１】
本明細書において本発明の特定の特徴が示され、説明されたが、当業者には、ここで、多くの修正、代替、変更及び均等物が想い付くであろう。従って、添付の特許請求の範囲は、本発明の真の精神の中に含まれるこうした全ての修正及び変更をカバーすることが意図されることを理解すべきである。
【符号の説明】
【００４２】
１００：階層メモリ・デバイス
１０４：バス
１３０：ＲＡＭインターフェース
１３２：ＮＡＮＤインターフェース
１３４：ネットワーク・インターフェース
１３６：ストレージ・インターフェース
１３８：周辺インターフェース
【図１】
2010287203.tif 000003
【図２】
2010287203.tif 000004
【図３】
2010287203.tif 000005
【図４】
2010287203.tif 000006
【外国語明細書】
2010287203.tif 000007
2010287203.tif 000008
2010287203.tif 000009
2010287203.tif 000010
2010287203.tif 000011
2010287203.tif 000012
2010287203.tif 000013
2010287203.tif 000014
2010287203.tif 000015
2010287203.tif 000016
2010287203.tif 000017
2010287203.tif 000018
2010287203.tif 000019
2010287203.tif 000020
2010287203.tif 000021
2010287203.tif 000022
2010287203.tif 000023
2010287203.tif 000024
2010287203.tif 000025
2010287203.tif 000026
2010287203.tif 000027
2010287203.tif 000028
2010287203.tif 000029
2010287203.tif 000030
2010287203.tif 000031
2010287203.tif 000032
2010287203.tif 000033
2010287203.tif 000034