(57)【要約】１つ以上のプロセッサデバイス（１０４）と、一組の積層メモリ層（１２０）および一組の１つ以上の論理層（１２２）を有する積層メモリデバイス（１０２）に連結された他のシステム構成要素と、を備える処理システム（１００）である。一組の論理層は、他のシステム構成要素からメタデータ管理をオフロードするメタデータマネージャ（１３４）を実装する。また、一組の論理層は、一組の積層メモリ層に実装されており、積層メモリデバイスの外部のデバイスに連結可能なメモリセル回路（１２６）に連結されたメモリインターフェース（１３０）を含む。メモリインターフェースは、外部デバイスおよびメタデータマネージャに対するメモリアクセスを実行するように動作する。メタデータマネージャの積層メモリ層との緊密な統合によって、メタデータマネージャは、特定のメモリ集約型のメタデータ管理動作を、外部のデバイスによって実行されるよりも効率的に実行し得る。【選択図】図１
2015528599.tif 000002
【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）パッケージ（１０５）であって、
メモリセル回路（１２６）と、
前記メモリセル回路に電気的に連結された一組の１つ以上の論理層（１２２）であって、メタデータマネージャ（１３４）と、メモリインターフェース（１３０）とを備え、前記メモリインターフェースは、前記メタデータマネージャに連結され、かつ、前記ＩＣパッケージの外部のデバイス（１０４）に連結可能であり、前記メタデータマネージャは、前記ＩＣパッケージに格納されたメタデータであって、前記デバイスのために前記メモリセル回路に格納された動作データと関連付けられるメタデータを管理する、一組の１つ以上の論理層（１２２）と、を備える、
集積回路（ＩＣ）パッケージ（１０５）。
【請求項２】
前記メモリセル回路を実装する一組の積層メモリ層（１２０）をさらに備える、請求項１に記載のＩＣパッケージ。
【請求項３】
前記メタデータマネージャは、前記デバイスからのメモリアクセス要求（３０６）に応じて、少なくとも１つのメタデータ管理動作を実行する、請求項２に記載のＩＣパッケージ。
【請求項４】
前記メタデータは、特定のメモリアドレス範囲と関連付けられたメモリ使用量メトリック（８０４）を備え、
前記少なくとも１つのメタデータ管理動作は、前記特定のメモリアドレス範囲と、前記メモリアクセス要求によって特定されたメモリアドレスとの一致に応じて、前記メモリ使用量メトリックを更新することを含む、請求項３に記載のＩＣパッケージ。
【請求項５】
前記メタデータマネージャは、前記デバイスからのメタデータコマンド（３１０）に応じて、少なくとも１つのメタデータ管理動作を実行する、請求項２に記載のＩＣパッケージ。
【請求項６】
前記メタデータは、前記メモリセル回路に格納されており、
前記メモリインターフェースは、前記メモリセル回路から前記メタデータにアクセスし、前記デバイスからの要求に応じて、前記アクセスされたメタデータを前記デバイスに提供する、請求項２に記載のＩＣパッケージ。
【請求項７】
前記メタデータマネージャは、前記メタデータが格納された前記メモリセル回路のメモリアドレスを前記デバイスに提供し、
前記要求は、前記メモリアドレスを含む、請求項６に記載のＩＣパッケージ。
【請求項８】
前記メタデータは、前記一組の１つ以上の論理層内の少なくとも１つの記憶素子（３０４）に格納されている、請求項２に記載のＩＣパッケージ。
【請求項９】
前記メタデータマネージャは、前記デバイスからの信号伝達から独立した少なくとも１つのメタデータ管理動作を実行する、請求項２に記載のＩＣパッケージ。
【請求項１０】
メモリセル回路（１２６）を有する一組の積層メモリ層（１２０）と、前記一組の積層メモリ層に電気的に連結された一組の１つ以上の論理層（１２２）と、を備える集積回路（ＩＣ）（１０５）を提供することであって、前記一組の１つ以上の論理層は、前記一組の１つ以上の積層メモリ層の前記メモリセル回路に連結されたメタデータマネージャ（１３４）と、前記メタデータマネージャに連結され、前記ＩＣの外部のデバイス（１０４）にも連結されたメモリインターフェース（１３０）とを備える、ことと、
前記メモリインターフェースを動作させて、前記デバイスのためにメモリアクセスを実行することと、を含み、
前記メタデータマネージャは前記ＩＣに格納されたメタデータを管理する、
方法。
【請求項１１】
前記ＩＣは、前記メモリセル回路を実装する一組の積層メモリ層を備える、請求項１０に記載の方法。
【請求項１２】
メタデータを管理することは、前記デバイスからのメモリアクセス要求（３０６）に応じて、少なくとも１つのメタデータ管理動作を実行することを含む、請求項１１に記載の方法。
【請求項１３】
前記少なくとも１つのメタデータ管理動作は、
特定のメモリアドレス範囲と、前記メモリアクセス要求によって特定されたメモリアドレスとの一致に応じて、前記ＩＣに格納されたメモリ使用量メトリック（８０４）を更新することと、
前記メモリアクセス要求によって特定されたメモリアドレスを用いて、前記ＩＣに格納されたメモリログ情報（９０２）を更新することと、
前記メモリアクセス要求によって特定されたメモリアドレスに格納された動作データ（１００４，１１０５）と関連付けられる誤り検出値（１００６，１１０６）を演算すること及び検証することの少なくとも一方を含むことであって、前記誤り検出値は、パリティ値と、チェックサムと、誤り訂正符号と、のうち少なくとも１つを含む、ことと、
のうち少なくとも１つを含む、請求項１２に記載の方法。
【請求項１４】
メタデータを管理することは、前記デバイスからのメタデータコマンド（３１０）に応じて、少なくとも１つのメタデータ管理動作を実行することを含む、請求項１１に記載の方法。
【請求項１５】
前記少なくとも１つのメタデータ管理動作は、
前記ＩＣに格納されたアドレス変換情報（７０４）にアクセスして、前記メタデータコマンドによって特定された仮想アドレスを物理アドレスに変換することと、
前記メタデータマネージャによって実行されるメモリ使用量プロファイリング操作の少なくとも１つのパラメータを構成することと、
前記メタデータマネージャによって実行されるメモリ使用量プロファイリング操作の少なくとも１つのプロファイルメトリック（８０４）を再設定することと、
前記メタデータマネージャによって実行されるメモリロギング操作の少なくとも１つのパラメータ（８０２）を構成することと、
前記デバイスへの出力のために前記ＩＣに格納されたメモリログ情報（９０２）にアクセスすることと、
動作データと関連付けられる少なくとも１つのガベージコレクション属性を変更することと、
のうち少なくとも１つを含む、請求項１４に記載の方法。
【請求項１６】
積層メモリデバイス（１０２）と、プロセッサデバイス（１０４）とを備えるシステムであって、
前記積層メモリデバイスは、
メモリセル回路（１２６）を有する一組の積層メモリ層（１２０）と、
前記一組の積層メモリ層に電気的に連結された一組の１つ以上の論理層（１２２）であって、メタデータマネージャ（１３４）と、メモリインターフェース（１３０）とを有し、前記メタデータマネージャは、前記積層メモリデバイスに格納されたメタデータを管理する、一組の１つ以上の論理層と、を含み、
前記プロセッサデバイスは、前記メモリインターフェースを介して前記積層メモリデバイスに連結されており、前記一組の積層メモリでの記憶のために動作データ（１００４，１１０５）を提供し、かつ、前記積層メモリデバイスにメタデータコマンド（３１０）を発行して、前記動作データと関連付けられるメタデータに対して前記メタデータマネージャによる少なくとも１つのメタデータ管理動作の実行を開始する、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してメモリデバイスに関し、より具体的には、積層メモリデバイスに関する。
【背景技術】
【０００２】
メモリ帯域幅およびメモリ待ち時間は、多くの処理システムにおいて顕著な性能ボトルネックである。これらの性能要因は、積層すなわち三次元（３Ｄ）のメモリを用いることを通じてある程度改善可能であり、３Ｄ積層メモリは、シリコン貫通電極（ＴＳＶ）を用いて複数のメモリの積層を相互接続することを通じて、増大した帯域幅と、低減したデバイス間待ち時間とを提供する。しかしながら、システムメモリおよび他の大型メモリは、典型的に、システムの他の構成要素から分離して実装される。したがって、３Ｄ積層メモリを実装するシステムは、３Ｄ積層メモリを他の構成要素に接続する相互接続の帯域幅に起因して、帯域幅が制限されたままとなる場合があり、さらには、比較的長い相互接続を横断する伝搬遅延、および、かかる信号伝達を行うために必要なハンドシェーキング過程に起因して、待ち時間が制限されたままとなる場合がある。デバイス間帯域幅およびデバイス間待ち時間は、実施されるタスクが３Ｄ積層メモリへの複数のアクセスを必要とする場合に、それぞれのアクセスが３Ｄ積層メモリ間の往復の通信を必要とし、このため、各アクセスに対してデバイス間帯域幅および待ち時間ペナルティが２回科せられることになるので、システムの処理効率および電力消費に特定の影響を及ぼす。
【０００３】
本開示は、添付の図面を参照することでより良く理解することができ、かつ、その多くの特徴および利点が当業者に明白となり得る。
【図面の簡単な説明】
【０００４】
【図１】本開示の少なくとも１つの実施形態による、垂直積層構造のメタデータマネージャを採用した処理システムの分解斜視図を示す図である。
【図２】本開示の少なくとも１つの実施形態による、サイドスプリット構造における図１の処理システムの代替的な実装の断面図を示す図である。
【図３】本開示の少なくとも１つの実施形態による、図１の処理システムをより詳細に示すブロック図である。
【図４】本開示の少なくとも１つの実施形態による、メモリアクセス要求に応じてメタデータ管理動作を実行する例示的な方法を示すフロー図である。
【図５】本開示の少なくとも１つの実施形態による、メタデータコマンドに応じてメタデータ操作を実行する例示的な方法のフロー図である。
【図６】本開示の少なくとも１つの実施形態による、積層メモリデバイスからメタデータを提供する例示的な方法を示すフロー図である。
【図７】本開示の少なくとも１つの実施形態による、仮想アドレスから物理アドレスへのアドレス変換を実行するための例示的なメタデータ管理動作を説明する図である。
【図８】本開示の少なくとも１つの実施形態による、メモリ使用量監視のための例示的なメタデータ管理動作を説明する図である。
【図９】本開示の少なくとも１つの実施形態による、メモリロギングのための例示的なメタデータ管理動作を説明する図である。
【図１０】本開示の少なくとも１つの実施形態による、誤り検出値演算のための例示的なメタデータ管理動作を説明する図である。
【図１１】本開示の少なくとも１つの実施形態による、誤り検出値検証のための例示的なメタデータ管理動作を説明する図である。
【図１２】本開示の少なくとも１つの実施形態による、ガベージコレクションマーク処理のための例示的なメタデータ管理動作を説明する図である。
【図１３】本開示の少なくとも１つの実施形態による、別のガベージコレクションマーク処理のための例示的なメタデータ管理動作を説明する図である。
【図１４】本開示の少なくとも１つの実施形態による、積層メモリおよびメタデータマネージャを実装する集積回路（ＩＣ）デバイスを設計および製造するための方法を示すフロー図である。
【０００５】
異なる図面における同一の参照符号の使用は、類似または全く同じ項目を示す。
【発明を実施するための形態】
【０００６】
図１〜図１４は、積層メモリデバイスのメモリセル回路に格納された動作データのためにメタデータ管理をオフロードするための、統合されたメタデータマネージャを実装する積層メモリデバイスを用いることを通じて、処理システムにおける改善された処理効率および低減された電力消費のための例示的な技術を示す図である。積層メモリデバイスは、一組の積層メモリ層と、一組の１つ以上の論理層と、を含み、１つ以上の論理層が、メタデータマネージャと、メモリインターフェースと、を実装する。メモリインターフェースは、メモリセル回路に連結されており、積層メモリデバイスの外部の１つ以上のデバイスに連結可能である。メモリインターフェースは、メタデータマネージャと、１つ以上の外部デバイスと、の両方からのメモリアクセス要求に応じて、メモリアクセスを実行するように動作する。メタデータマネージャは、格納された動作データと関連して、積層メモリデバイスに格納されたメタデータのための１つ以上のメタデータ管理動作を実行するための論理（ｌｏｇｉｃ）を含む。かかるメタデータ管理動作の例は、アドレス変換操作、データセキュリティまたはデータ整合性動作（例えば、チェックサムまたは誤り訂正符号の演算または検証）、ガベージコレクション操作、メモリ使用量プロファイリング、メモリロギングなどを含むが、これらに限定されない。メタデータマネージャは、メタデータマネージャのメモリ層との緊密な統合によって、外部デバイスと比較してより高い帯域幅と、少ない待ち時間と、電力消費とで、メモリ層に格納されたメタデータにアクセスし得る。さらに、メタデータ管理の積層メモリデバイスへのオフロードは、外部デバイスが、動作データに集中する他のタスクを実行することを容認し、これにより、システムの全体の処理スループットを増大させる。
【０００７】
本明細書では、「動作データ」という用語は、オペレーティングシステム、ハイパーバイザまたはソフトウェアアプリケーションの代わりに、動作の実行においてシステムのデバイスによって用いられるデータを示す。本明細書では、「メタデータ」という用語は、対応する動作データのシステム使用の特性、識別子または表示を表すデータを示す。動作データは、例えば、命令データと、オペランドデータと、を含む。メタデータは、例えば、パリティビット、チェックサム、誤り訂正符号（ＥＣＣ）、アドレス変換情報（例えば、ページテーブルエントリおよび変換索引バッファエントリ）、状態表示器（例えば、ダーティビット、有効ビット、可到達ビット）などのデータ整合性／セキュリティ情報を含む。より具体的には、動作データは、格納するために積層メモリデバイスに提供されるデータであり、メタデータは、格納された動作データにアクセス、特徴付けまたは動作データを修正するために、積層メモリデバイスによって用いられるデータである。
【０００８】
図１は、本開示の少なくとも１つの実施形態による処理システム１００を示す図である。処理システム１００は、ノートブックコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、サーバ、ネットワークルータ、スイッチ、ハブ、コンピューティング対応携帯電話、携帯情報端末などを含む、種々のコンピューティングシステムの何れかを含み得る。図示の例において、処理システム１００は、積層メモリデバイス１０２と、デバイス間相互接続１０６を介して連結された少なくとも１つの外部デバイス１０４と、を含む。また、処理システム１００は、図１に示されない種々の他の構成要素（例えば、１つ以上の表示構成要素、記憶デバイス、入力デバイス（例えば、マウスまたはキーボード）など）を含み得る。処理システム１００が、デバイス間相互接続１０６を介して積層メモリデバイス１０２に連結された複数の外部デバイス１０４を含み得る一方で、本明細書では、説明を簡単にするために、一つの外部デバイス１０４を用いた実装例が記載されている。一実施形態では、外部デバイス１０４は、集積回路（ＩＣ）パッケージ１０３として実装されており、積層メモリデバイス１０２は、外部デバイス１０４を実装するＩＣパッケージ１０３から分離されたＩＣパッケージ１０５として実装されている。別の実施形態では、外部デバイス１０４および積層メモリデバイス１０２は、同一のＩＣパッケージ内にインターポーザを介して接続された別々の組のダイとして実装されている。何れの例においても、外部デバイス１０４は、積層メモリデバイス１０２の「外部」に存在している。
【０００９】
図示の例において、外部デバイス１０４は処理デバイスであるが、外部デバイス１０４は他の種類のデバイスであってもよい。本例では、外部デバイスは、プロセッサコア１０８，１１０などの１つ以上のプロセッサコアと、ノースブリッジ１１２と、周辺構成要素１１４と、を備える。プロセッサコア１０８，１１０は、中央処理装置（ＣＰＵ）コア、グラフィック処理ユニット（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）などの種々のプロセッサコア、または、これらの組み合わせのうち任意のものを含み得る。周辺構成要素１１４は、例えば、統合サウスブリッジ、または、入力／出力コントローラ、１つ以上のレベル３（Ｌ３）キャッシュなどを含み得る。ノースブリッジ１１２は、デバイス間相互接続１０６の導体と接続された物理インターフェース（ＰＨＹ）を有するメモリコントローラインターフェース１１６を含むか、またはメモリコントローラインターフェース１１６と関連付けられている。
【００１０】
デバイス間相互接続１０６は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ‐Ｅｘｐｒｅｓｓ（ＰＣＩ‐Ｅ）アーキテクチャ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔアーキテクチャ、ＱｕｉｃｋＰａｔｈ相互接続（ＱＰＩ）アーキテクチャなどの種々の従来の相互接続またはバスアーキテクチャのうち任意のものに従って実装され得る。代替的に、デバイス間相互接続１０６は、専用のバスアーキテクチャに従って実装され得る。デバイス間相互接続１０６は、外部デバイス１０４のメモリインターフェース１１６の送信／受信回路を、積層メモリデバイス１０２のメモリインターフェース１３０の送信／受信回路と連結する複数の導体を含む。導体は、プリント回路基板（ＰＣＢ）配線もしくはケーブル線などの導電体、光ファイバなどの光導電体、または、これらの組み合わせを含み得る。
【００１１】
積層メモリデバイス１０２は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）やスタティックランダムアクセスメモリ（ＳＲＡＭ）などの揮発性記憶アーキテクチャ、または、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、強誘電体ＲＡＭ（Ｆ‐ＲＡＭ）、磁気抵抗ＲＡＭなどの不揮発性記憶アーキテクチャなどを含むがこれらに限定されない種々のメモリセルアーキテクチャのうち任意のものを実装し得る。説明を簡単にするために、本明細書における積層メモリデバイス１０２の実装例は、ＤＲＡＭアーキテクチャの非制限的コンテクスト（ｎｏｎ−ｌｉｍｉｔｉｎｇ  ｃｏｎｔｅｘｔ）の例で記載されている。
【００１２】
分解斜視図で示されるように、積層メモリデバイス１０２は、一組の積層メモリ層１２０と、１つ以上の論理層１２２の組と、を備える。各メモリ層１２０は、積層メモリデバイス１０２の記憶アーキテクチャに従ってビットセルを実装するメモリセル回路１２６を備え、周辺論理回路１２８は、この記憶アーキテクチャに従ってビットセルのアクセスおよび管理をサポートするための論理および他の回路を実装している。説明すると、ＤＲＡＭは、典型的に、いくつかのランクから構成されており、各ランクは複数のバンクを備えており、各バンクは行と列に並んだビットセルの行列を備えている。したがって、一実施形態では、各メモリ層１２０は、１つのランク（したがって、対応するランクのビットセルのバンク）を実装し得る。別の実施形態では、各ＤＲＡＭランクは、複数のメモリ層１２０にわたって実装され得る。例えば、積層メモリデバイス１０２は、４つのランクを実装し得る。４つのランクの各々は、対応するメモリ層１２０の四分の一部分（ｑｕａｄｒａｎｔ）に実装され得る。何れの実装においても、ＤＲＡＭビットセルのアクセスおよび管理をサポートするために、周辺論理回路１２８は、例えば、ラインドライバ、ビットライン／ワードラインプリチャージング回路、リフレッシュ回路、行デコーダ、列選択論理、行バッファ、センスアンプなどを含み得る。
【００１３】
１つ以上の論理層１２２は、積層メモリデバイス１０２のメモリへのアクセスを促進するための論理を実装している。この論理は、例えば、メモリインターフェース１３０、ビルトインセルフ試験（ＢＩＳＴ）論理１３１などを含む。メモリインターフェース１３０は、例えば、レシーバおよびラインドライバ、メモリ要求バッファ、スケジューリング論理、行／列デコード論理、リフレッシュ論理、データインおよびデータアウトバッファ、クロック発振器などを含み得る。図示された実施形態では、外部デバイス１０４に実装されたメモリコントローラ１１６が示されているが、他の実施形態では、メモリコントローラは、外部デバイス１０４ではなくメモリインターフェース１３０に実装され得る。メモリインターフェース１３０は、デバイス間相互接続１０６の導体に連結可能なＰＨＹを有するバスインターフェース１３２をさらに備えてもよく、これにより、外部デバイス１０４に連結可能である。
【００１４】
メモリ層１２０によって実装された、メモリへのアクセスを促進するための論理を実装することに加えて、１つ以上の論理層１２２は、外部デバイス１０４、または、処理システム１０２の他の外部構成要素の利益のために、積層メモリデバイス１０２に格納された動作データと関連して、積層メモリデバイス１０２に保持されたメタデータに対してメタデータ管理動作を実行するためのメタデータマネージャ１３４を実装している。メタデータマネージャ１３４は、メモリインターフェース１３０に連結されており、積層メモリデバイス１０２に格納された動作データと関連して、積層メモリデバイス１０２に格納されたメタデータに対して１つ以上のメタデータ管理動作を実行するための論理を備えている。メタデータマネージャ１３４は、メタデータを格納するために、１つ以上の論理層１２２に配置された記憶素子（例えば、レジスタ、キャッシュまたは連想メモリ）を含んでもよい。また、メモリセル回路１２６は、メタデータを格納してもよい。さらに、メタデータの一部が論理層１２２の記憶素子に格納される一方で、メタデータの他の部分がメモリセル回路１２６に格納されてもよい。メモリセル回路１２６に格納されたメタデータについて、いくつかのメタデータは、対応する動作データとともに格納されてもよく（例えば、ある特定の例では、チェックサムデータは、対応する動作データの格納に用いられるように、同一の記憶場所に格納され得る）、他の例では、メタデータは、対応する動作データから分離されて格納されてもよい（例えば、ＥＣＣデータは、対応する動作データを格納する記憶場所から分離されたＥＣＣアレイ内に格納され得る）。さらに、一実施形態では、メタデータマネージャ１３４は、パワーダウン事象後においてある特定のメタデータを維持するために、論理層１２２またはメモリ層１２０に、フラッシュメモリなどの不揮発性メモリ（ＮＶＭ）を採用し得る。
【００１５】
図示の例において、メタデータマネージャ１３４およびメモリインターフェース１３０は、同一の論理層１２２上に実装されている。他の実施形態では、メモリインターフェース１３０およびメタデータマネージャ１３４は、異なる論理層上に実装され得る。例えば、メモリインターフェース１３０は、１つの論理層１２２に実装されてもよく、メタデータマネージャ１３４は、別の論理層１２２に実装されてもよい。また、別の実施形態では、メモリインターフェース１３０およびメタデータマネージャ１３４の一方または両方は、複数の論理層にわたって実装されてもよい。説明すると、メモリインターフェース１３０と、メタデータマネージャ１３４の論理回路とは、１つの論理層１２２に実装されてもよく、メタデータマネージャ１３４の特定の記憶素子（例えば、キャッシュまたは連想メモリ）は、別の論理層１２２に実装されてもよい。
【００１６】
図１に示された実装では、積層メモリデバイス１０２は、垂直方向の積層配列で実装されており、これにより、高密度のシリコン貫通電極（ＴＳＶ）１５０または他の垂直相互接続を用いて、論理層１２２とメモリ層１２０との間で電力および信号の伝達が行われる。図１では、ＴＳＶ１５０が一組の中央に集まった列で示されているが、ＴＳＶ１５０は、代替的に、層の平面にわたって分散するように配置され得る。層１２０，１２２のＴＳＶ１５０および構成要素の説明を許容するように、図１が、層１２０，１２２の分解図表現を提供することに留意されたい。実装において、各層が前の層上に載置され、前の層と接触している。一実施形態では、メタデータマネージャ１３４は、ＴＳＶ１５０を介して、メモリ層１２０に実装されたメモリに直接アクセスする（すなわち、メタデータマネージャ１３４は、自身のメモリコントローラを実装している）。別の実施形態では、メモリインターフェース１３０は、ＴＳＶ１５０へのアクセスを制御する。このため、メタデータマネージャ１３４は、メモリインターフェース１３０を介してメモリ層１２０にアクセスする。
【００１７】
積層メモリデバイス１０２は、種々の３Ｄ集積回路組み立て工程のうち任意の工程を用いて組み立てられ得る。一手法では、層１２０，１２２の各々は、能動デバイスと、能動表面に形成された１つ以上の金属ルーティング層と、を有する別個の回路基板（例えば、バルクシリコン）として実装されている（すなわち、各層が別個のダイまたは「チップ」を備えている）。この手法では、ウエハオンウエハ処理を含んでもよく、これにより、ダイの行列を含むウエハが組み立ておよび薄層化され、バルクシリコンを通じてＴＳＶがエッチングされる。次に、複数のウエハが積層され、図示された層構成（例えば、４つのメモリ層１２０のためのメモリ回路ダイを備える４つのウエハの積層と、論理層１２２のための論理ダイと、を備えるウエハ）を達成し、整列され、次に熱圧着を介して接合される。得られた積層ウエハの組は、個々の３Ｄ  ＩＣデバイスを分離するために単体化され、これらは次にパッケージ化される。「ダイオンダイ」処理において、それぞれ対応する層を実装するウエハが最初に単体化され、次に、ダイが別個に積層され、接合されて３Ｄ  ＩＣデバイスが組み立てられる。「ダイオンウエハ」の手法では、１つ以上の層のためのウエハが単体化され、１つ以上の層のためのダイを生成し、次に、これらのダイが整列して別のウエハの対応するダイ領域に接着され、次いで、これが単体化されて個々の３Ｄ  ＩＣデバイスが製造される。層１２０，１２２を別個のウエハ上のダイとして組み立てることの１つの利点は、論理層１２２を組み立てるために、メモリ層１２０を組み立てるために用いられる工程と異なる組み立て工程が用いられ得ることである。したがって、改善された性能と、低減された電力消費とを提供する組み立て工程が、論理層１２２を組み立てるために用いられてもよく（このため、メタデータマネージャ１３４のためのより高速でより低電力のインターフェース論理および回路を提供する）、その一方で、改善されたセル密度と、改善された漏れ制御とを提供する組み立て工程が、メモリ層１２０を組み立てるために用いられてもよい（このため、積層メモリのためのより高密度で、より漏れの少ないビットセルを提供する）。
【００１８】
別の手法では、層１２０，１２２は、モノリシック３Ｄ組み立て工程を用いて組み立てられてもよく、これにより、単一の回路基板が用いられ、かつ、それぞれの層が、イオンカット処理などの層転写処理を用いて前の層上に形成される。また、積層メモリデバイス１０２は、複数技術の組み合わせを用いて組み立てられてもよい。例えば、論理層１２０は、モノリシック３Ｄ技術を用いて組み立てられてもよく、メモリ層は、ダイオンダイまたはウエハオンウエハ技術を用いて組み立てられてもよく、この逆も可能である。次に、得られた論理積層およびメモリ積層は、接着され、積層メモリデバイス１０２のための３Ｄ  ＩＣデバイスを形成し得る。
【００１９】
図２は、本開示の別の実施形態による、積層メモリデバイス１０２の代替的な実装の断面を示す図である。積層メモリデバイス１０２は、１つ以上の論理層１２２がメモリ層１２０と垂直に整列する図１に示すような垂直積層実装を実装するのではなく、代わりに、図２のサイドスプリット配置を実装してもよい。これにより、積層メモリ層１２０がＩＣデバイス２０２として実装され、１つ以上の論理層１２２が別個のＩＣデバイス２０４として実装され、ＩＣデバイス２０２，２０４（つまり、論理層１２２およびメモリ層１２０）がインターポーザ２０６を介して接続されている。インターポーザは、例えば、１つ以上のレベルのシリコンインターポーザ、プリント回路基板（ＰＣＢ）、または、これらの組み合わせを備えてもよい。図２では、単一のＩＣデバイス２０２として実装される積層メモリ層１２０がともに示されているが、積層メモリ層１２０は、代わりに、各ＩＣデバイス２０２が１つ以上のメモリ層１２０を備える複数のＩＣデバイス２０２として実装され得る。同様に、論理層１２２は、単一のＩＣデバイス２０４として、または、複数のＩＣデバイス２０４として実装され得る。１つ以上のＩＣデバイス２０２と、１つ以上のＩＣデバイス２０４と、一体化回路基板２０６とは、積層メモリデバイス１０２を表すＩＣパッケージ２０５としてパッケージ化される。
【００２０】
図３は、処理システム１００をブロック図の形式で示す図であり、図４〜図６は、本開示の少なくとも１つの実施形態による、図３のブロック図の記載に対する処理システム１００の動作の種々の例示的な方法を示す図である。上述したように、処理システム１００は、１つ以上の外部デバイス１０４と、デバイス間相互接続１０６を介して連結された積層メモリデバイス１０２とを含み、これにより、積層メモリデバイス１０２は、メモリセル回路１２６の複数の積層によって表される積層メモリ３００を実装しており、積層メモリデバイス１０２に格納されたメタデータ３０１に対して１つ以上のメタデータ管理動作を実行するためのメタデータマネージャ１３４を実装している。メタデータ３０１は、積層メモリ３００、レジスタファイル、ＣＡＭ、キャッシュ、論理層１２２（図１および図２）の他の記憶素子、不揮発性メモリ３０４、または、これらの組み合わせに格納され得る。メタデータマネージャ１３４は、格納されたメタデータ３０１へのアクセスを有する管理論理３０２を備え、格納されたメタデータ３０１に対してメタデータ管理動作を実行するように構成されている。積層メモリデバイス１０２は、外部デバイス１０４とメタデータマネージャ１３４との両方からのメモリアクセス要求に応じてメモリアクセスを実行するためのメモリインターフェース１３０をさらに含む。
【００２１】
動作中、積層メモリデバイス１０２は、他のシステム構成要素の代わりに動作データを格納するための従来のシステムメモリとして機能する。従来のメモリアクセス動作において、外部デバイス１０４（または他のシステム構成要素）は、メモリインターフェース１１６のＰＨＹを操作することにより、アドレス信号伝達を伝送するためのメモリアクセス要求３０６と、要求されたメモリアクセスが書き込みアクセスである場合、デバイス間相互接続１０６を介した積層メモリデバイス１０２へのデータ信号伝達とを発行する。メモリインターフェース１３０のＰＨＹは、信号伝達を受信し、信号伝達によって表されるメモリアクセス要求をバッファリングし、次に、メモリセル回路１２６にアクセスして要求されたメモリアクセスを満たす。メモリアクセス要求３０６が書き込みアクセスである場合には、メモリインターフェース１３０は、信号伝達されたアドレスによって示されるメモリ３００の場所に信号伝達された動作データを格納する。メモリアクセス要求３０６が読み出し要求である場合には、メモリインターフェース１３０は、信号伝達されたアドレスに対応するメモリ３００の場所から要求された動作データにアクセスし、メモリインターフェース１３０のＰＨＹを操作して、アクセスされた動作データ３０８を代表する信号伝達を、デバイス間相互接続１０６を介して外部デバイス１０４に伝送する。
【００２２】
さらに、積層メモリデバイス１０２は、格納された動作データのためのメタデータを管理するタスクを、処理システム１００の外部デバイス１０２からオフロードするように機能する。一実施形態において、積層メモリデバイス１０２のメタデータマネージャ１３４は、特定の動作データへの外部デバイス１０４からのメモリアクセスに応じて、特定の動作データと関連付けられたメタデータ管理動作を実行する。例えば、読み出しアクセス要求に応じて、管理論理３０２は、格納されたチェックサム（メタデータの一実施形態）または読み出しデータのための他の誤り検出符号にアクセスし、この読み出しデータからのチェックサムを再演算し、メモリインターフェース１３０が外部デバイス１０４に読み出しデータを出力する前に、格納されたチェックサムを再演算されたチェックサムと比較して、格納されたデータの整合性を検証し得る。
【００２３】
また、メタデータマネージャ１３４は、外部デバイス１０４からのメタデータコマンド３１０に応じて、メタデータ管理動作を実行し得る。例えば、管理論理３０２は、ガベージコレクション処理のためのマークアンドスイープ機能をサポートするように構成されてもよく、外部デバイス１０４は、「ＭＡＲＫ（Ｘ）」コマンドの形式でメタデータコマンド３１０を発行することにより、オブジェクトをアドレスＸで到達可能としてマークするように積層メモリデバイス１０２に指示してもよい。これに応じて、管理論理３０２は、特定の値（例えば、「１」）を、アドレスＸに格納された動作データと関連付けられた到達可能ステータスビット（メタデータの一実施形態）に書き込む。メタデータマネージャ１３４は、外部デバイス１０４によって発行されたメタデータコマンド３１０への応答３１２を提供してもよく、これにより、応答３１２は、例えば、メタデータコマンド３１０が受け取られ実行されたことの確認、または、メタデータコマンド３１０によって表されるメタデータ管理動作の実行結果を含み得る。
【００２４】
メタデータマネージャ１３４は、外部デバイス１０４からのメモリアクセス要求、メタデータコマンド、または、他の信号伝達から独立したメタデータ管理動作をさらに実行し得る。特定のメタデータ管理動作は、ソフトウェア不可視、または、外部デバイス１０４から独立して実行されるバックグラウンド動作であってよい。説明すると、管理論理３０２は、動作データおよび対応するＥＣＣ値を定期的に走査（ｓｃａｎ）して、メモリセル回路１２６のソフトエラーまたは不具合によって破損した動作データを識別および訂正するように構成され得る。
【００２５】
図４の方法４００は、図３のブロック図のコンテクストにおいて、外部デバイス１０４によるメモリアクセスに応じてメタデータ管理動作を実行するための積層メモリデバイス１０２の動作例を示す図である。方法４００は、ブロック４０２で開始し、ここでは、外部デバイス１０４が、積層メモリデバイス１０２に対してメモリアクセス要求３０６（図３）を発行する。メモリアクセス要求３０６は、積層メモリデバイス１０２に格納された動作データを読み出すための読み出しアクセス要求、または、動作データを積層メモリデバイス１０２に書き込むための書き込みアクセス要求を含み得る。
【００２６】
ブロック４０４では、積層メモリデバイス１０２のメモリインターフェース１３０は、動作データ（書き込みアクセスのための）をメモリセル回路１２６に格納すること、または、メモリセル回路１２６から動作データ（読み出しアクセスのための）にアクセスし、アクセスされた動作データを外部デバイス１０４に提供することの何れかによって、メモリアクセス要求３０６にアクセスする。同時に、ブロック４０６では、メタデータマネージャ１３４は、メモリアクセス要求３０６に応じて、１つ以上のメタデータ管理動作を実行し、これらの動作は、メモリアクセス要求３０６と関連付けられる。例えば、メタデータマネージャ１３４は、メモリアクセスが、例えば、メモリアクセスによってアクセスされるメモリアドレスまたはメモリアドレス範囲と関連付けられる利用メトリック（メタデータの実施形態）などのメモリ使用量プロファイリング情報を更新または修正することを含み得ることとあわせて、メモリ使用量プロファイリング操作と、ブロック４０６で実行されたメタデータ管理動作と、を実行するように構成され得る。別の例として、メタデータマネージャ１３４は、メモリ追跡または他のメモリロギング動作を実行するように構成されてもよく、ブロック４０６で実行されたメタデータ管理動作は、メモリアクセスによってアクセスされたメモリアドレスをメモリログ（メタデータの実施形態）内にロギングすることを含み得る。また別の例として、メタデータマネージャ１３４は、積層メモリデバイス１０２に格納された動作データに対するデータ整合性、セキュリティ、信頼性の機能性を提供するように構成されてもよく、これによりブロック４０６で実行されたメタデータ管理動作は、例えば、格納された動作データと関連付けられる誤り検出値を演算または検証することを含んでもよく、誤り検出値は、チェックサム、ＥＣＣ値、または、メモリアクセスと関連付けられる動作データのためのパリティビットのうち１つ以上を含み得る。
【００２７】
図５の方法５００は、図３のブロック図のコンテクストにおいて、外部デバイス１０４からのメタデータコマンドに応じてメタデータ管理動作を実行するための積層メモリデバイス１０２の動作例を示す図である。方法５００は、ブロック５０２で開始し、ここでは、外部デバイス１０４が、積層メモリデバイス１０２に対してメタデータコマンド３１０（図３）を発行する。メタデータコマンド３１０は、メタデータマネージャ１３４に対して明白な命令または他のコマンドを表して、１つ以上のメタデータ管理動作を実行する。ブロック５０４では、メタデータマネージャ１３４は、メタデータコマンド３１０に応じて、メタデータコマンド３１０によって表された１つ以上のメタデータ管理動作を実行する。これらのメタデータ管理動作は、例えば、メタデータを生成するための動作と、特定のメタデータを出力するための動作と、特定のメタデータを修正するための動作と、などを含み得る。
【００２８】
説明すると、一実施形態においてメタデータマネージャ１３４は、外部デバイス１０４のためのアドレス変換サポートを提供する。これにより、外部デバイス１０４が、アドレス変換サポートを提供しない場合に必要になり得る動作であって、ページテーブルウォークを実行して、対応する仮想アドレスのための適切な物理アドレスを決定するという動作を行うのを回避し得る。この実装において、外部デバイス１０４は、代わりに、メタデータマネージャ１３４に対してアドレス変換コマンドを発行してもよく、これは、ローカルに格納されたページテーブルまたは他アドレス変換情報（メタデータの一実施形態）をページウォークして、アドレス変換コマンドによって供給された仮想アドレスに対応する物理アドレスを決定し、外部デバイス１０４に返し得る。メタデータマネージャ１３４がメモリ使用量プロファイリングを提供する例において、メタデータコマンドは、例えば、所与のプロファイリング操作のためにプロファイリングメトリックを再設定すること、プロファイルされるメモリアドレスまたはメモリアドレス範囲を設定すること、プロファイリングの種類（例えば、利用カウント、アクセス頻度など）を設定することなどの、所望のプロファイリング操作のためのパラメータを設定するためのコマンドを含み得る。また、メタデータコマンドは、メモリ使用量プロファイリング操作についてのプロファイリングメトリック（メタデータの一実施形態）、または、プロファイリングメトリックを指すメモリアドレスの何れかを外部デバイス１０４に出力するためのコマンドを含み得る。別の説明として、メタデータコマンド３１０は、メタデータマネージャ１３４によって実行されるメモリロギング動作に関連するコマンドを含み得る。このコンテクストにおいて、メタデータコマンド３１０は、例えば、メモリロギング動作の基準を設定するためのコマンド、ロギング動作またはかかる情報の場所を指すメモリアドレスのためのメモリログ情報を出力するためのコマンドなどを含み得る。また、メタデータコマンド３１０は、メタデータ自体を修正するためのコマンドを含み得る。例えば、メタデータマネージャ１３４が、積層メモリ３００（図３）に格納された動作データのためのガベージコレクションをサポートする例において、メタデータコマンド３１０は、積層メモリ３００内のアドレスＸに格納された、対応するオブジェクトの「到達可能」なビットを設定するための、「ＭＡＲＫ（Ｘ）」コマンドなどのガベージコレクション属性を修正するためのコマンドを含み得る。
【００２９】
図６の方法６００は、図３のブロック図のコンテクストにおいて、外部デバイス１０４に対してメタデータを提供するための積層メモリデバイス１０２の動作例を示している。方法６００は、ブロック６０２で開始し、ここでは、外部デバイス１０４が積層メモリデバイス１０２に特定のメタデータのための要求を発行する。これに応じて、ブロック６０４では、メタデータマネージャ１３４が特定のメタデータにアクセスし、アクセスされたメタデータを外部デバイス１０４に提供する。種々の種類のメタデータのうち任意のものが外部デバイス１０４に提供され得る。上述したように、提供されたメタデータは、メモリ使用量／性能メトリック、メモリログ／トレース、アドレス変換情報、データセキュリティ／整合性情報などを含み得る。
【００３０】
一実施形態において、要求は、メタデータが識別子を介して提供されることを指定し、メタデータマネージャ１３４は、この識別子に基づいてメタデータが格納されている場所を判定し、この場所からメタデータにアクセスし、次にアクセスされたメタデータを出力する。別の実施形態において、要求は、メタデータが格納されたメモリアドレスを指定し、メタデータマネージャ１３４は、指定された場所からメタデータにアクセスし出力する。本例において、メタデータマネージャ１３４は、メモリアドレスのためのメタデータコマンド３１０（図３）に応じて、または、メタデータのためのコンテクストを設定するメタデータコマンド３１０に応答する確認として、メタデータのメモリアドレスを外部デバイス１０４に既に供給している場合がある。例えば、メタデータマネージャ１３４に特定のメモリアドレス範囲についてのメモリ使用量プロファイリング操作を設定することを指示するメタデータコマンド３１０（図３）に応じて、メタデータマネージャ１３４は、メモリ使用量プロファイリング操作が設定されたことを確認する応答３１２（図３）を送信してもよく、この応答は、プロファイリング操作のための利用プロファイリングメトリックが格納される始動メモリアドレスを含む。
【００３１】
図７〜図１３は、メタデータマネージャ１３４と積層メモリ３００との間の短い待ち時間、高い帯域幅接続を活用するため、または、そうでない場合にメタデータ管理動作を処理システム１００の他の構成要素からオフロードするために、積層メモリデバイス１０２によって実行されるメタデータ管理動作の例を示す図である。
【００３２】
図７は、外部デバイス１０４の代わりにアドレス変換操作を実行するメタデータマネージャ１３４の実施例を示す図である。ｘ８６アーキテクチャを含む多くのコンピュータアーキテクチャは、仮想アドレスから物理アドレスへのアドレスマッピングを用いて、プロセッサデバイスによって用いられる仮想アドレスを、システムメモリまたはメモリマップ周辺デバイスによって用いられる物理アドレスに変換する。大抵、プロセッサデバイスは、現在の仮想アドレスから物理アドレスへのアドレス変換をバッファリングする変換索引バッファ（ＴＬＢ）をキャッシュする。しかしながら、ＴＬＢミスが起きた場合には、プロセッサデバイスは、従来、メモリ内に格納された１つ以上のページテーブルを横断して適切な仮想アドレスから物理アドレスへのアドレス変換を取得することを要求される。現在のｘ８６アーキテクチャは、最大４つのページテーブルを用い、これにより従来のページテーブルウォークは、プロセッサデバイスによる最大４つのメモリアクセス（ページテーブルレベル毎のページテーブルエントリ毎に１アクセス）を要求し得る。しかしながら、メタデータマネージャ１３４が積層メモリ３００と密に結合しているため、外部デバイス１０４が、従来のページテーブルウォークを実行するために必要とされ得る複数の別個のメモリアクセスの代わりに、１つのメタデータコマンドのみを開始して変換を取得する必要があるように、メタデータマネージャ１３４は、メモリアドレス変換操作をオフロードするために用いられ得る。さらに、本手法の下では、外部デバイス１０４が自らのページテーブルウォーカー論理を実装することは必ずしも必要でない場合がある。よって、積層メモリデバイス１０２のメタデータマネージャ１３４によって、ページテーブルウォーカー論理は、外部デバイス１０４の設計から除外されてもよい。これにより、外部デバイス１０４の実装における面積および費用の節約となる。
【００３３】
図示された例において、外部デバイス１０４は、仮想アドレスＸのためのアドレス変換コマンド７０２（メタデータコマンドの一実施形態）を積層メモリデバイス１０２に発行する。アドレス変換コマンド７０２は、アドレス変換において用いられるページテーブルのためのページディレクトリの場所を識別することができるように、アドレス変換を実行するために用いられる、ｘ８６実装におけるＣＲ３レジスタの値などの他の情報をさらに含み得る。メタデータマネージャ１３４は、ページテーブル（例えば、積層メモリ３００に格納されたページテーブル７０４へのベースポインタ）の管理に関連する状態を維持する。アドレス変換コマンド７０２に応じて、メタデータマネージャ１３４は、この維持された状態と、アドレス変換コマンド７０２とともに提供された情報と、を用いて、１つ以上のレベルのページテーブル７０４の１つ以上のページテーブルエントリ（図７においてＰＴＥ０、ＰＴＥ１、…ＰＴＥＸと識別されたページテーブルエントリ）にアクセスすることにより、ページテーブルウォークを実行して要求されたアドレス変換を取得し、次に、外部デバイス１０４への応答７０６として要求されたアドレス変換情報を提供する。その上、ページテーブル管理論理は、アドレス変換処理を加速するために、事前に実行されたアドレス変換をキャッシュし、または、中間ページテーブルレベルからのエントリをキャッシュする、キャッシュまたは他の記憶素子を実装し、または、キャッシュまたは他の記憶素子へのアクセスを有し得る。この処理が動作中である間、外部デバイス１０４は、アドレス変換情報の受け取りを見込み、他の動作の実行を継続し得る。
【００３４】
メタデータマネージャ１３４に実装されたページテーブル管理論理は、他の変換に関連する動作をサポートし得る。例えば、外部デバイス１０４が積層メモリ３００の対応するページへの書き込みアクセス要求を開始する場合には、ページテーブル管理論理は、ページのコンテンツが最終的にディスクまたは他の不揮発性記憶装置に書き出される必要があると外部デバイス１０４のオペレーティングシステムが決定し得るように、対応するページテーブルエントリをダーティとしてマークし得る。この処理を実装するため、メタデータマネージャ１３４は、外部デバイス１０４によって発行されたメタデータコマンド「ＭＡＲＫＤＩＲＴＹ（Ｘ）」をサポートしてもよく、これに応じて、メタデータマネージャ１３４が、ページテーブル７０４をウォークして、仮想アドレスＸに対応するページテーブルエントリを取得し、次に、ページテーブルエントリのための対応するダーティビットを設定する。アクセスビットをマーキングする、許可をチェック／設定する、ページテーブルエントリを無効化または再設定する、ページテーブルエントリを割り当てまたはインストールするなどの類似のメタデータコマンドがサポートされ得る。
【００３５】
図８は、本開示の一実施形態による、動的メモリ性能／利用プロファイリングのためのサポートを提供するためのメタデータマネージャ１３４の実施例を示す図である。この機能性をサポートするため、メタデータマネージャ１３４のプロファイリング論理は、１つ以上のプロファイリング操作を実装しており、それぞれのプロファイリング操作は、格納されたプロファイル状態８０２と、１つ以上の対応するプロファイルメトリック８０４とによって特定される。プロファイル状態８０２は、対応するプロファイリング操作のパラメータを表す情報を含む。例えば、プロファイル状態８０２は、対象となる１つ以上のメモリアドレス、または、対象となる１つ以上の連続もしくは不連続のメモリアドレス範囲を特定し得る。プロファイル状態８０２のパラメータのいくつかまたは全てが、プロファイリング操作を設定するメタデータコマンドを介して外部デバイス１０４によって供給され得る。プロファイルメトリック８０４は、対応するプロファイル状態のパラメータに従い、メタデータマネージャ１３４によって維持されるメトリックを含む。プロファイルメトリックは、例えば、特定のメモリアドレスまたはメモリアドレス範囲へのいくつかの読み出しまたは書き込み、特定のメモリアドレスまたはメモリアドレス範囲がアクセスされまたはアクセスされない頻度（受け取ったメモリアクセスの合計数または絶対時間／クロック周期に対して測定される）、特定の範囲内でアクセスされる固有の記憶場所の数などを含み得る。このため、プロファイルメトリック８０４は、例えば、積層メモリ１３０内に格納されたカウンタ、または、論理層１２２（図１）において例えばレジスタマップされたカウンタとして実装されるカウンタを用いて実装され得る。
【００３６】
プロファイリング操作のためのプロファイルメトリック８０４は、例えば、プロファイルメトリック８０４が格納された記憶場所への外部デバイス１０４による読み出しアクセスを介して、または、図６に関して上述した態様でのプロファイルメトリック８０４への要求に応じて、外部デバイス１０４に供給され得る。プロファイル操作および対応するプロファイリングメトリックの種々の例が記載されているが、本開示は、これらの例に制限されず、種々のメモリ使用量または性能メトリックのうち任意のもののプロファイリングを含み得る。
【００３７】
格納されたプロファイル状態８０２によって特定されるプロファイリング操作を実装するために、メタデータマネージャ１３４は、メモリインターフェース１３０と、積層メモリ３００との間のアドレスバスＡＤＤＲをスヌープ（ｓｎｏｏｐ）する。このため、アドレスＹに対する外部デバイス１０４からのメモリアクセス要求８０６は、アドレスバス上のアドレスＹに対するアドレス信号伝達の生成をトリガし、メタデータマネージャ１３４によってスヌープされる。メタデータマネージャ１３４は、アドレスＹをプロファイル状態３０２によって特定されたメモリアドレスまたはメモリアドレス範囲と比較し、ヒットした場合には、対応するプロファイルメトリック８０４を更新する。例えば、プロファイリング操作がメモリアドレス範囲への読み出しおよび書き込みアクセスの数をカウントする場合には、アドレスＹがこの範囲にある場合に、メタデータマネージャ１３４は、このアクセスを反映するように利用カウンタを増分する。同様に、プロファイリング操作がメモリアクセス範囲内でアクセスされた固有の場所の数をカウントする場合には、アドレスＹが特定の範囲内にある場合に、メタデータマネージャ１３４は、この範囲内で事前にアクセスされたアドレスのリストを格納するデータ構造にアクセスしてもよく、アドレスＹがこのリストにない場合に、対応する利用カウンタを増分してアドレスＹをリストに追加してもよい。
【００３８】
図９は、本開示の一実施形態による、メモリロギングのためのサポートを提供するためのメタデータマネージャ１３４の実施例を示す図である。この機能性をサポートするために、メタデータマネージャ１３４のトレース論理は、積層メモリ３００へのアクセスに関するメモリトレースまたはログ情報を格納するための、少なくとも１つのアクセスログ９０２を実装する。アクセスログ９０２は、論理層１２２（図１）のうち１つ、または、メモリロギングのために保留される積層メモリ３００の領域に、記憶素子（例えば、キャッシュ）として実装され得る。外部デバイス１０４は、メタデータコマンドを発行してロギング動作を開始し、ロギング動作を終了し、アクセスログ９０２のログ情報にアクセスし得る。図８を参照して記載されたプロファイリング例と同様に、メモリロギングを実装するために、メタデータマネージャ１３４は、メモリインターフェース１３０と積層メモリ３００との間のアドレスバスＡＤＤＲをスヌープする。したがって、外部デバイス１０４によって発行されたメモリアクセス要求９０６は、アドレスバスＡＤＤＲ上の対応するアドレスの信号伝達をトリガし、次いで、メタデータマネージャ１３４によってスヌープされ、アクセスログ９０２内にロギングされる。この手法は、外部デバイス１０４と積層メモリ１０４との間のトラフィックを著しく低減し得る。従来の手法の下では、デバイス間相互接続１０６（図１）上の外部デバイス１０４または他のデバイスは、積層メモリ３００に格納されたログを更新するために、メモリアクセスのためのデバイス間相互接続１０６のアドレスバスを監視し、次に、メモリインターフェース１３０による処理のための別個の書き込みアクセス要求を生成しなければならない。対称的に、上述した技術では、監視およびログ更新が完全に積層メモリデバイス１０２内で発生するため、外部デバイスと積層メモリデバイス１０２との間の追加的なトラフィックを必要としない。
【００３９】
図１０〜図１１は、本開示の一実施形態による、データセキュリティ整合性／信頼性メタデータ管理のためのサポートを提供するためのメタデータマネージャ１３４の使用例を示す図である。パリティビット、チェックサムおよび周期的冗長チェックサム（ＣＲＣ）は、演算の正確性を提供するか、または、格納されたデータへの悪意のある、無許可のもしくは意図的でない変更を検出するかの何れかによって、格納されたデータの整合性を検証するためにしばしば用いられる。チェックサムおよび他の誤り検出メタデータなどの誤り訂正符号（ＥＣＣ）は、動作データ内の誤りの検出を促進し、一方で特定の数の誤りが訂正されることを可能にする。かかる誤り検出／訂正メタデータの管理を促進するために、メタデータマネージャ１３４は、格納された動作データと関連付けられた誤り検出値を生成または有効にする論理を含み得る。図１０の例において、メタデータマネージャ１３４は、積層メモリ３００の記憶場所Ｘに格納されることになる動作データのためのチェックサムを生成するための論理を含む。動作データを記憶場所Ｘに格納するという書き込み要求１００２が外部デバイス１０４によって発行されると、メタデータマネージャ１３４は、書き込み要求と関連付けられる書き込みデータ１００４を受け取り（例えば、メモリインターフェース１３０と積層メモリ３００との間のデータバスをスヌープすることにより）、記憶場所Ｘに存在する修正されていない動作データの残りにアクセスする（記憶場所Ｘが書き込みデータ１００４のサイズよりも大きい場合）。次に、メタデータマネージャ１３４の論理は、記憶場所Ｘに格納されることになる動作データ（書き込みデータ１００４を含む）のためのチェックサム１００６を演算し、記憶場所Ｘと関連付けられた積層メモリ３００に格納するためのチェックサム１００６を提供する。チェックサム１００６は、動作データとともに記憶場所Ｘに、または、積層メモリ３００内の別個のチェックサムアレイ内に格納され得る。
【００４０】
図１１の例において、メタデータマネージャ１３４は、積層メモリ３００の記憶場所Ｘに格納された動作データのためのチェックサムを検証するための論理を含む。読み出しデータ１１０４を記憶場所Ｘから出力するという読み出し要求１１０２が外部デバイス１０４によって発行されると、メタデータマネージャ１３４は、記憶場所１１０４に格納された動作データ１１０５（読み出しデータ１１０４を含む）を受け取り（例えば、メモリインターフェース１３０と積層メモリ３００との間のデータバスをスヌープすることにより）、動作データ１１０５のためのチェックサム１１０６を受け取る。次に、メタデータマネージャ１３４の論理は、動作データ１１０５のためのチェックサムを再演算し、再演算されたチェックサムを、アクセスされたチェックサム１１０６と比較する。一致した場合には、メタデータマネージャ１３４は、チェックサム有効信号１１０８をアサートして、元のチェックサムが有効と思われること、このため動作データ１１０５が改ざんまたは破損しているように思われないということを示す。次に、メモリインターフェース１３０は、チェックサム有効信号１１０８のアサートに応じて、読み出しデータ１１０４を出力し得る。再演算されたチェックサムと、アクセスされたチェックサム１１０６とが一致しなかった場合には、メタデータマネージャ１３４は、例えば、外部デバイス１０４に例外または障害を発行して、動作データ１１０５が破損していることを示し得る。
【００４１】
他の種類の誤り検出または誤り訂正メタデータのために、上述のものと類似の処理が実装され得る。例えば、メタデータマネージャ１３４は、積層メモリ３００内に格納された動作データの誤りを更新、確認および修復するために、ＥＣＣメタデータを処理するための論理を含み得る。ＥＣＣ管理動作は、上述したように、メモリアクセス要求に応じて実行され得る。例えば、ＥＣＣ生成は、書き込みアクセスに応じて実行されてもよく、ＥＣＣ検証（および誤り訂正）は、読み出しアクセスに応じて実行され得る。さらに、ＥＣＣ管理動作は、バックグラウンド内のメタデータマネージャ１３４によって実行され得る。例えば、メタデータマネージャ１３４は、動作データ内の誤りを識別および訂正するために、積層メモリ３００内に格納された動作データおよびＥＣＣ値を周期的または継続的にウォークするように動作し得る。ＥＣＣ管理動作は、特定の実装において、ＥＣＣ状態が典型的にアーキテクチャ的にソフトウェアに不可視であることにおいて、パリティおよびチェックサム管理動作と区別される。したがって、外部デバイス１０４のメモリコントローラは、積層メモリデバイス１０２のメタデータマネージャ１３４によって提供されるＥＣＣ管理に依存しており、そのＥＣＣ管理へのサポートを除去することにより、簡素化され得る。
【００４２】
データセキュリティ整合性／信頼性メタデータ管理動作は、誤り訂正符号コンテクストにおいて説明されたが、他の形式の誤り検出および訂正は、メタデータマネージャ１３４によってサポートされ得る。説明すると、積層メモリ３００は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｃｓ）様の機能性を実装してもよく、これにより、追加的なパリティビット（メタデータの一実施形態）が積層メモリ３００の複数の領域にわたって交互的に、または、積層メモリ３００の別個の領域内に演算および格納される。
【００４３】
図１２〜図１３は、本開示の一実施形態による、ガベージコレクション管理のためのサポートを提供するためのメタデータマネージャ１３４の使用例を示す図である。多くのコンピュータシステムは、アプリケーションまたはオペレーティングシステムによって使用されていない動作データによって占有されている記憶場所を再要求するために、ガベージコレクション処理を実装している。典型的には、ガベージコレクション処理は、マークアンドスイープ手法を実装している。ガベージコレクタは、メモリを操作して、「到達可能」な、すなわち、ライブプログラム状態によって直接的または間接的に参照されるオブジェクトを識別する。到達可能と識別されたオブジェクトは、そのように識別され（「マークアンドスイープ」の「マーク」の部分）、次に、ガベージコレクタは、メモリを操作し、「到達可能」とマークされていないオブジェクトを無効化（「マークアンドスイープ」の「スイープ」の部分）し、無効化されたオブジェクトを格納する記憶場所を開放する。メタデータマネージャ１３４は、積層メモリ３００のためのこのようなガベージコレクション操作を実装するための論理を含み得る。
【００４４】
説明すると、図１２は、メタデータマネージャ１３４がメタデータコマンド１２０２「ＭＡＲＫ（Ｘ）」をサポートする例を示しており、これに応じて、メタデータマネージャ１３４は、記憶場所Ｘの動作データ１２０６と関連付けられる到達可能ステータスビット１２０４を「到達可能」状態に設定する。これとは反対に、メタデータマネージャ１３４は、メタデータコマンド「ＣＬＥＡＲ（Ｘ）をサポートしてもよく、これに応じて、到達可能ステータスビット１２０４をクリアする。従来のシステムにおいて、プロセッサデバイスは、メモリから到達可能状態を読み出し、到達可能状態を到達可能に修正し、到達可能状態をメモリに書き込んで戻す必要があり得る。一方、上述の手法では、外部デバイス１０４と積層メモリ１０２との間に発行される単一のコマンドのみが必要である。
【００４５】
また、メタデータマネージャ１３４は、より洗練されたマーキング処理を実装し得る。説明すると、図１３は、メタデータマネージャ１３４がメタデータコマンド１３０２「ＭＡＲＫＡＬＬ（Ｘ）」をサポートする例を示しており、これに応じて、メタデータマネージャ１３４は、記憶場所Ｘの動作データ１２０６と関連付けられる到達可能ステータスビット１２０４を到達可能状態に設定し、次に、動作データ１２０６（例えば、ポインタ１２０４または他の参照されたアドレスを介して）によって参照される任意の他のオブジェクト（例えば、オブジェクト１３０６）を再帰的に訪れ、このオブジェクトの到達可能ステータスビット（例えば、到達可能ステータスビット１３０４）を設定する。同様に、メタデータマネージャ１３４は、オブジェクトの到達可能ステータスビットと、再帰的に参照される全てのオブジェクトと、をクリアするメタデータコマンド「ＣＬＥＡＲＡＬＬ（Ｘ）」を実装し得る。この手法では、メモリ内のオブジェクトのレイアウトのための既定のフォーマット、具体的には、オブジェクトおよびポインタを含むフィールドのサイズを判定するための方法を利用し得る。その上、この手法では、典型的に、図７を参照して上述した仮想アドレスから物理アドレスへのアドレス変換サポートを必要とし得る。
【００４６】
少なくとも１つの実施形態において、上述の装置および技術は、図１〜図１３の積層メモリデバイス１０２などの１つ以上の集積回路（ＩＣ）デバイス（集積回路パッケージまたはマイクロチップとも称される）を備えるシステム内に実装される。電子設計自動化（ＥＤＡ）およびコンピュータサポート設計（ＣＡＤ）ソフトウェアツールが、これらのＩＣデバイスの設計および組み立てにおいて用いられ得る。これらの設計ツールは、典型的に１つ以上のソフトウェアプログラムとして表される。この１つ以上のソフトウェアプログラムは、回路を組み立てるための製造システムを設計または適合させるための処理のうち少なくとも一部を実行するように、１つ以上のＩＣデバイスの回路を表すコード上で動作するコンピュータシステムを操作するための、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、または、命令とデータとの組み合わせを含み得る。設計ツールまたは組み立てツールを表すソフトウェア命令は、コンピューティングシステムにアクセス可能なコンピュータ可読記憶媒体内に格納される。同様に、ＩＣデバイスの設計または組み立ての１つ以上のフェーズを表すコードは、同一のコンピュータ可読記憶媒体または異なるコンピュータ可読記憶媒体内に格納されてもよいし、同一の又は異なるコンピュータ可読記憶媒体からアクセスされ得る。
【００４７】
コンピュータ可読記憶媒体は、コンピュータシステムに命令および／またはデータを提供するために、使用中にコンピュータシステムによってアクセス可能な、任意の記憶媒体または記憶媒体の組み合わせを含み得る。かかる記憶媒体は、光媒体（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、Ｂｌｕ−Ｒａｙ（登録商標）ディスク）、磁気媒体（例えば、フロッピー（登録商標）ディスク、磁気テープまたは磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）またはキャッシュ）、不揮発性メモリ（例えば、読み出し専用メモリ（ＲＯＭ）またはフラッシュメモリ）、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体など）を含み得るがこれらに限定されない。コンピュータ可読記憶媒体は、コンピューティングシステム（例えば、システムＲＡＭまたはＲＯＭ）に埋め込まれ、コンピューティングシステム（例えば、磁気ハードドライブ）に固定して取り付けられ、コンピューティングシステム（例えば、光ディスクまたはユニバーサルシリアルバス（ＵＳＢ）ベースのフラッシュメモリ）に取り外し可能に取り付けられ、または、有線または無線ネットワーク（例えば、ネットワークアクセス可能記憶装置（ＮＡＳ））を介してコンピュータシステムに連結される。
【００４８】
図１４は、本開示の少なくとも１つの実施形態による、本発明の１つ以上の態様を実装する、ＩＣデバイスの設計および組み立てのための例示的な方法１４００を示すフロー図である。上述したように、以下の処理のそれぞれのために生成されるコードは、対応する設計ツールまたは組み立てツールによるアクセスおよび使用のために、コンピュータ可読記憶媒体に格納され、そうでない場合にはコンピュータ可読記憶媒体に埋め込まれる。
【００４９】
ブロック１４０２では、ＩＣデバイスのための機能仕様が生成される。この機能仕様（マイクロアーキテクチャ仕様（ＭＡＳ）としばしば称される）は、Ｃ、Ｃ＋＋、ＳｙｓｔｅｍＣ、ＳｉｍｕｌｉｎｋまたはＭＡＴＬＡＢを含む種々のプログラミング言語またはモデリング言語のうち任意のものによって表され得る。
【００５０】
ブロック１４０４では、この機能仕様は、ＩＣデバイスのハードウェアを表すハードウェア記述符号（コード）を生成するために用いられる。少なくとも１つの実施形態において、ハードウェア記述符号は、少なくとも１つのハードウェア記述言語（ＨＤＬ）を用いて表されており、ＩＣデバイスの回路の形式的記述および設計のための種々のコンピュータ言語、仕様言語またはモデリング言語のうち任意のものを含む。生成されたＨＤＬ符号は、典型的に、ＩＣデバイスの回路の動作、回路の設計および組織、シミュレーションを通じてＩＣデバイスの正確な動作を検証する試験を表す。ＨＤＬの例は、Ａｎａｌｏｇ  ＨＤＬ（ＡＨＤＬ）、Ｖｅｒｉｌｏｇ  ＨＤＬ、ＳｙｓｔｅｍＶｅｒｉｌｏｇ  ＨＤＬおよびＶＨＤＬを含む。同期型デジタル回路を実装するＩＣデバイスについて、ハードウェア記述子符号は、同期デジタル回路の抽象的表現を提供するためのレジスタ転送レベル（ＲＴＬ）符号を含み得る。他の種類の回路について、ハードウェア記述子符号は、回路の動作の抽象的表現を提供するためのビヘイビアレベル符号を含み得る。ハードウェア記述子符号によって表されるＨＤＬモデルは、典型的に、一巡以上のシミュレーションおよびデバッギングを課される。
【００５１】
ハードウェア記述子符号によって表される設計を検証した後、ブロック１４０６では、ハードウェア記述子符号を合成して、ＩＣデバイスの回路の初期の物理実装を表すまたは定義する符号を生成するための合成ツールが用いられる。一実施形態において、合成ツールは、回路デバイスインスタンス（例えば、ゲート、トランジスタ、レジスタ、キャパシタ、インダクタ、ダイオードなど）およびネット、または、回路デバイスインスタンス間の接続を含む１つ以上のネットリストを生成する。代替的に、ネットリストの全てまたは一部は、合成ツールを用いることなく手動で生成され得る。ハードウェア記述子符号と同様に、ネットリストは、１つ以上のネットリストの最後の組が生成される前に、１つ以上の試験および検証工程を課され得る。
【００５２】
代替的に、ＩＣデバイスの回路の回路図を描くために回路図エディタツールが用いられてもよく、次に、得られた回路図をキャプチャし、回路図の構成要素および接続性を表す１つ以上のネットリスト（コンピュータ可読媒体上に格納される）を生成するために、回路図キャプチャツールが用いられてもよい。次に、キャプチャされた回路図は、試験および検証のための一巡以上のシミュレーションを課され得る。
【００５３】
ブロック１４０８では、１つ以上のＥＤＡツールが、ブロック１４０６で生成されたネットリストを用いて、ＩＣデバイスの回路の物理レイアウトを表す符号（コード）を生成する。この工程は、例えば、ＩＣデバイスの回路のそれぞれの要素の場所を決定または固定するためのネットリストを用いるプレイスメントツールを含み得る。さらに、ルーティングツールは、プレイスメントプロセス（ｐｌａｃｅｍｅｎｔ  ｐｒｏｃｅｓｓ）を利用して、ネットリストに従って回路要素を接続するために必要な配線を追加およびルーティングする。得られる符号は、ＩＣデバイスの三次元モデルを表す。この符号は、例えば、Ｇｒａｐｈｉｃ  Ｄａｔａｂａｓｅ  Ｓｙｓｔｅｍ  ＩＩ（ＧＤＳＩＩ）形式などのデータベースファイル形式で表され得る。この形式のデータは、典型的に、幾何学的図形、テキストラベルおよび階層的構造の回路レイアウトについての他の情報を表す。
【００５４】
ブロック１４１０では、物理レイアウト符号（例えば、ＧＤＳＩＩコード）が製造設備に提供され、製造設備は、物理レイアウト符号を用いてＩＣデバイスを製造し、符号が提供されない場合には、ＩＣデバイスを製造するための製造設備の製造ツールを適用して（例えば、マスクワークを通じて）ＩＣデバイスを製造する。すなわち、物理レイアウト符号は、１つ以上のコンピュータシステム内にプログラムされてもよく、次いで、コンピュータシステムは、製造設備のツールの動作またはそのツール内で実行される製造作業の全体または一部を制御し得る。
【００５５】
概要において上述されたすべての行動または要素が必要とされるわけではないこと、特定の行動またはデバイスの一部が必要とされない場合があること、記載された行動に加えて１つ以上のさらなる行動が実行され得ること、さらなる要素が含まれることに留意されたい。また、行動の掲載順と、行動の実行順とは、必ずしも一致しない。
【００５６】
また、概念は、特定の実施形態を参照して記載されている。しかしながら、当業者は、以下の特許請求の範囲に記載される本開示の範囲を逸脱することなく、種々の修正および変更がなされ得るということを理解するであろう。したがって、明細書および図面は、制限的な意味ではなく例示的なものとみなされるものとし、全ての修正は、本開示の範囲内に含まれることが意図される。
【００５７】
利点、他の長所および問題の解決法が、特定の実施形態に対して上述したように記載されている。しかしながら、利点、長所、問題の解決法、および、これらが発生または明白となることをもたらし得る任意の特性は、何れかまたは全ての特許請求の範囲の重要な、必要なまたは不可欠な特性であるとは解釈されないものとする。
【図１】
2015528599.tif 000003
【図２】
2015528599.tif 000004
【図３】
2015528599.tif 000005
【図４】
2015528599.tif 000006
【図５】
2015528599.tif 000007
【図６】
2015528599.tif 000008
【図７】
2015528599.tif 000009
【図８】
2015528599.tif 000010
【図９】
2015528599.tif 000011
【図１０】
2015528599.tif 000012
【図１１】
2015528599.tif 000013
【図１２】
2015528599.tif 000014
【図１３】
2015528599.tif 000015
【図１４】
2015528599.tif 000016
【手続補正書】
【提出日】平成27年4月28日(2015.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）パッケージ（１０５）であって、
メモリセル回路（１２６）を実装する一組の積層メモリ層（１２０）と、
前記メモリセル回路に電気的に連結された一組の１つ以上の論理層（１２２）であって、メタデータマネージャ（１３４）と、メモリインターフェース（１３０）とを備え、前記メモリインターフェースは、前記メタデータマネージャに連結され、かつ、前記ＩＣパッケージの外部のデバイス（１０４）に連結可能であり、前記メタデータマネージャは、前記ＩＣパッケージに格納されたメタデータであって、前記デバイスのために前記メモリセル回路に格納された動作データと関連付けられるメタデータを管理し、前記デバイスからのメモリアクセス要求（３０６）に応じて、少なくとも１つのメタデータ管理動作を実行する、一組の１つ以上の論理層（１２２）と、を備える、
集積回路（ＩＣ）パッケージ（１０５）。
【請求項２】
前記メタデータは、特定のメモリアドレス範囲と関連付けられたメモリ使用量メトリック（８０４）を備え、
前記少なくとも１つのメタデータ管理動作は、前記特定のメモリアドレス範囲と、前記メモリアクセス要求によって特定されたメモリアドレスとの一致に応じて、前記メモリ使用量メトリックを更新することを含む、請求項１に記載のＩＣパッケージ。
【請求項３】
前記メタデータマネージャは、前記デバイスからのメタデータコマンド（３１０）に応じて、少なくとも１つのメタデータ管理動作を実行する、請求項１に記載のＩＣパッケージ。
【請求項４】
前記メタデータは、前記メモリセル回路に格納されており、
前記メモリインターフェースは、前記メモリセル回路から前記メタデータにアクセスし、前記デバイスからの要求に応じて、前記アクセスされたメタデータを前記デバイスに提供する、請求項１に記載のＩＣパッケージ。
【請求項５】
前記メタデータマネージャは、前記メタデータが格納された前記メモリセル回路のメモリアドレスを前記デバイスに提供し、
前記要求は、前記メモリアドレスを含む、請求項４に記載のＩＣパッケージ。
【請求項６】
前記メタデータは、前記一組の１つ以上の論理層内の少なくとも１つの記憶素子（３０４）に格納されている、請求項１に記載のＩＣパッケージ。
【請求項７】
前記メタデータマネージャは、前記デバイスからの信号伝達から独立した少なくとも１つのメタデータ管理動作を実行する、請求項１に記載のＩＣパッケージ。
【請求項８】
メモリセル回路（１２６）を有する一組の積層メモリ層（１２０）と、前記一組の積層メモリ層に電気的に連結された一組の１つ以上の論理層（１２２）と、を備える集積回路（ＩＣ）（１０５）を提供することであって、前記一組の１つ以上の論理層は、前記一組の１つ以上の積層メモリ層の前記メモリセル回路に連結されたメタデータマネージャ（１３４）と、前記メタデータマネージャに連結され、前記ＩＣの外部のデバイス（１０４）にも連結されたメモリインターフェース（１３０）とを備える、ことと、
前記メモリインターフェースを動作させて、前記デバイスのためにメモリアクセスを実行することと、を含み、
前記メタデータマネージャは前記ＩＣに格納されたメタデータを管理し、前記メタデータを管理することは、前記デバイスからのメモリアクセス要求（３０６）に応じて、少なくとも１つのメタデータ管理動作を実行することを含む、
方法。
【請求項９】
前記少なくとも１つのメタデータ管理動作は、
特定のメモリアドレス範囲と、前記メモリアクセス要求によって特定されたメモリアドレスとの一致に応じて、前記ＩＣに格納されたメモリ使用量メトリック（８０４）を更新することと、
前記メモリアクセス要求によって特定されたメモリアドレスを用いて、前記ＩＣに格納されたメモリログ情報（９０２）を更新することと、
前記メモリアクセス要求によって特定されたメモリアドレスに格納された動作データ（１００４，１１０５）と関連付けられる誤り検出値（１００６，１１０６）を演算すること及び検証することの少なくとも一方を含むことであって、前記誤り検出値は、パリティ値と、チェックサムと、誤り訂正符号と、のうち少なくとも１つを含む、ことと、
のうち少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
メタデータを管理することは、前記デバイスからのメタデータコマンド（３１０）に応じて、少なくとも１つのメタデータ管理動作を実行することを含む、請求項８に記載の方法。
【請求項１１】
前記少なくとも１つのメタデータ管理動作は、
前記ＩＣに格納されたアドレス変換情報（７０４）にアクセスして、前記メタデータコマンドによって特定された仮想アドレスを物理アドレスに変換することと、
前記メタデータマネージャによって実行されるメモリ使用量プロファイリング操作の少なくとも１つのパラメータを構成することと、
前記メタデータマネージャによって実行されるメモリ使用量プロファイリング操作の少なくとも１つのプロファイルメトリック（８０４）を再設定することと、
前記メタデータマネージャによって実行されるメモリロギング操作の少なくとも１つのパラメータ（８０２）を構成することと、
前記デバイスへの出力のために前記ＩＣに格納されたメモリログ情報（９０２）にアクセスすることと、
動作データと関連付けられる少なくとも１つのガベージコレクション属性を変更することと、
のうち少なくとも１つを含む、請求項１０に記載の方法。
【請求項１２】
積層メモリデバイス（１０２）と、プロセッサデバイス（１０４）とを備えるシステムであって、
前記積層メモリデバイスは、
メモリセル回路（１２６）を有する一組の積層メモリ層（１２０）と、
前記一組の積層メモリ層に電気的に連結された一組の１つ以上の論理層（１２２）であって、メタデータマネージャ（１３４）と、メモリインターフェース（１３０）とを有し、前記メタデータマネージャは、前記積層メモリデバイスに格納されたメタデータを管理する、一組の１つ以上の論理層と、を含み、
前記プロセッサデバイスは、前記メモリインターフェースを介して前記積層メモリデバイスに連結されており、前記一組の積層メモリでの記憶のために動作データ（１００４，１１０５）を提供し、かつ、前記積層メモリデバイスにメタデータコマンド（３１０）を発行して、前記動作データと関連付けられるメタデータに対して前記メタデータマネージャによる少なくとも１つのメタデータ管理動作の実行を開始する、
システム。
【国際調査報告】
2015528599.tif 000017
2015528599.tif 000018