(57)【要約】様々な例は、メモリシステム、ホストデバイスメモリ、及びプロセッサを含むホストデバイスに関する。プロセッサは、メモリシステムから、第１のＬ２Ｐポインタ及び第１のデジタル署名を含む第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信するようにプログラムされる。プロセッサは、第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて暗号化動作を実行して、暗号化動作に少なくとも部分的に基づいて第１のデジタル署名を検証する。プロセッサは、ホストデバイスメモリにおいて第１のＬ２Ｐポインタをキャッシュする。
2021530152.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムと、
ホストデバイスメモリと、
ホストデバイスプロセッサと、
を含む、システムであって、
前記ホストデバイスプロセッサは動作を行うようにプログラムされ、
前記動作は、
前記メモリシステムから第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、
第１の論理アドレス、及び前記第１の論理アドレスに対応する前記メモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、
第１のデジタル署名と、
を含む、前記受信することと、
前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、
前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、
前記プロセッサによって、前記ホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、
を含む、前記システム。
【請求項２】
前記ホストデバイスプロセッサは、さらに、動作を行うようにプログラムされ、
前記動作は、
第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、
第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、
第２のデジタル署名と、
を含む、前記受信することと、
前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、
前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを判定することと、
を含む、請求項１に記載のシステム。
【請求項３】
前記ホストデバイスプロセッサは、さらに、動作を行うようにプログラムされ、
前記動作は、
前記第２の暗号化動作を実行する前に、前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、
前記第２のＬ２Ｐポインタ及び前記第２のデジタル署名を前記ホストデバイスメモリから読み取ることと、
前記第２のデジタル署名が検証されていないと判定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、
を含む、請求項２に記載のシステム。
【請求項４】
前記第１のＬ２Ｐポインタメッセージはさらに第１のカウンタ値を含み、
前記第１の暗号化動作を実行することは、また、前記第１のカウンタ値に少なくとも部分的に基づいている、請求項１〜３のいずれかに記載のシステム。
【請求項５】
前記プロセッサは、さらに、前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することを含む動作を行うようにプログラムされ、
前記暗号化キーを実行することは、また、前記トランザクション暗号化キーに少なくとも部分的に基づいている、請求項４に記載のシステム。
【請求項６】
前記プロセッサは、さらに、前記第１のカウンタ値が前記メモリシステムからの前のＬ２Ｐポインタメッセージで使用されていないことを判定することを含む動作を行うようにプログラムされる、請求項４に記載のシステム。
【請求項７】
前記第１のＬ２Ｐポインタメッセージはさらに複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み、前記複数のＬ２Ｐポインタは前記第１のＬ２Ｐポインタを含み、
前記第１の暗号化動作を実行することはまた前記複数のＬ２Ｐポインタに少なくとも部分的に基づいている、請求項１に記載のシステム。
【請求項８】
前記メモリシステムは、
メモリアレイと、
コントローラと、を備え、前記コントローラは動作を行うようにプログラムされ、
前記動作は、
第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて第３の暗号化動作を実行して、前記第１のデジタル署名を生成することと、
前記ホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることを決定することと、
前記ホストデバイスメモリに記憶するために、前記第１のＬ２Ｐポインタメッセージを前記プロセッサに送信することと、
を含む、請求項１に記載のシステム。
【請求項９】
前記メモリシステムはさらにモノトニックカウンタを含み、
前記コントローラはさらに前記第１のカウンタ値を前記モノトニックカウンタから読み出すことを含む動作を行うようにプログラムされ、
前記第３の暗号化動作はまた前記第１のカウンタ値に少なくとも部分的に基づいている、請求項８に記載のシステム。
【請求項１０】
前記コントローラは、さらに、前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することを含む動作を行うようにプログラムされ、
前記第３の暗号化動作はまた前記トランザクション暗号化キーに少なくとも部分的に基づいている、請求項９に記載のシステム。
【請求項１１】
メモリシステムを管理する方法であって、
プロセッサによって、メモリシステムにおいて発信された第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、
第１の論理アドレス、及び前記第１の論理アドレスに対応する前記メモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、
第１のデジタル署名と、
を含む、前記受信することと、
前記プロセッサによって、前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、
前記プロセッサによって、前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、
前記プロセッサによって、前記プロセッサに関連付けられるホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、
を含む、前記方法。
【請求項１２】
前記プロセッサによって、第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、
第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、
第２のデジタル署名と、
を含む、前記受信することと、
前記プロセッサによって、前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、
前記プロセッサによって、前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを判定することと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、
前記第２のデジタル署名が検証されていないと判定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１のＬ２Ｐポインタメッセージはさらに第１のカウンタ値を含み、
前記第１の暗号化動作を実行することは、また、前記第１のカウンタ値に少なくとも部分的に基づいている、請求項１１〜１３のいずれかに記載の方法。
【請求項１５】
前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することをさらに含み、
前記暗号化キーを実行することは、また、前記トランザクション暗号化キーに少なくとも部分的に基づいている、請求項１４に記載の方法。
【請求項１６】
前記プロセッサによって、前記第１のカウンタ値が前記メモリシステムからの前のＬ２Ｐポインタメッセージで使用されていないことを判定することをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記第１のＬ２Ｐポインタメッセージはさらに複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み、前記複数のＬ２Ｐポインタは前記第１のＬ２Ｐポインタを含み、
前記第１の暗号化動作を実行することはまた前記複数のＬ２Ｐポインタに少なくとも部分的に基づいている、請求項１１に記載の方法。
【請求項１８】
プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含む、有形コンピュータ可読媒体であって、
前記動作は、
第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、
第１の論理アドレス、及び前記第１の論理アドレスに対応するメモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、
第１のデジタル署名と、
を含む、前記受信することと、
前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、
前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、
前記プロセッサに関連付けられるホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、
を含む、前記媒体。
【請求項１９】
前記コンピュータ可読媒体は、さらに、前記プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含み、
前記動作は、
第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、
第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、
第２のデジタル署名と、
を含む、前記受信することと、
前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、
前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを判定することと、
を含む、請求項１８に記載の媒体。
【請求項２０】
前記コンピュータ可読媒体は、さらに、前記プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含み、
前記動作は、
前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、
前記第２のデジタル署名が検証されていないと判定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、
を含む、請求項１９に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本願は、全体が参照により本明細書に組み込まれる、２０１８年６月２９日に出願された米国特許出願第１６／０２３，４８５号に対する優先権の利益を主張するものである。
【背景技術】
【０００２】
メモリシステムは、一般的に、コンピュータまたは他の電子デバイスに内蔵の半導体、集積回路として提供される。揮発性メモリ及び不揮発性メモリを含む多くの異なるタイプのメモリが存在する。
【０００３】
揮発性メモリはそのデータを維持するために電力を必要とし、とりわけ、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）を含む。
【０００４】
不揮発性メモリは電力が供給されていないときに記憶されたデータを保持でき、とりわけ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ）、磁気抵抗型ランダムアクセスメモリ（ＭＲＡＭ）等の抵抗可変メモリ、または３Ｄ  ＸＰｏｉｎｔ（商標）メモリを含む。
【０００５】
フラッシュメモリは、広範囲な電気的用途のために不揮発性メモリとして利用される。フラッシュメモリシステムは、一般的に、高い記憶密度、高い信頼性、及び低消費電力を可能にする１トランジスタ、フローティングゲート、または電荷トラップメモリセルの１つ以上のグループを含む。
【０００６】
フラッシュメモリアレイアーキテクチャの２つの一般的なタイプはＮＡＮＤアーキテクチャ及びＮＯＲアーキテクチャを含み、それらは、それぞれの基本メモリセル構成が配置される論理形式にちなんで名付けられている。メモリアレイのメモリセルは、一般的に、マトリックスに配置される。実施例では、アレイの行内の各フローティングゲートメモリセルのゲートは、アクセスライン（例えば、ワードライン）に結合される。ＮＯＲアーキテクチャでは、アレイのカラムにある各メモリセルのドレインがデータライン（ビットライン等）に結合される。ＮＡＮＤアーキテクチャでは、アレイのストリングにおける各メモリセルのドレインは、ソースラインとビットラインとの間で、ソースからドレインに直列に連結される。
【０００７】
ＮＯＲ及びＮＡＮＤアーキテクチャの半導体メモリアレイの両方は、ゲートに結合されるワードラインを選択することによって特定のメモリセルをアクティブにするデコーダを介してアクセスされる。ＮＯＲアーキテクチャの半導体メモリアレイでは、いったんアクティブ化されると、選択されたメモリセルがデータ値をビットラインにセットし、特定のセルがプログラムされる状態に応じて異なる電流を流させる。ＮＡＮＤアーキテクチャの半導体メモリアレイでは、高バイアス電圧がドレイン側選択ゲート（ＳＧＤ）ラインに印加される。各グループの選択されていないメモリセルのゲートに結合されるワードラインは、指定されたパス電圧（Ｖｐａｓｓ等）で駆動し、各グループの選択されていないメモリセルをパストランジスタとして動作させる（例えば、記憶されたデータ値によって制限されない方式で電流を通過させる）。次に、電流は、各グループの選択されたメモリセルだけによって制限され、直列に結合されたグループのそれぞれを経由してソースラインからビットラインに流れ、選択されたメモリセルの電流のエンコードされたデータ値をビットラインにセットする。
【０００８】
ＮＯＲまたはＮＡＮＤアーキテクチャの半導体メモリアレイの各フラッシュメモリセルは、個々にまたはまとめて１つまたはいくつかのプログラムされた状態にプログラムできる。例えば、シングルレベルセル（ＳＬＣ）は、２つのプログラムされた状態（例えば、１または０）の１つを表すことができ、１ビットのデータを表す。しかしながら、フラッシュメモリセルはまた３つ以上のプログラム状態の１つを表すことができ、各セルは複数の２進数（例えば、複数のビット）を表すことができるため、メモリセルの数を増やすことなく高密度メモリを製造することが可能である。係るセルは、マルチステートメモリセル、マルチデジットセル、またはマルチレベルセル（ＭＬＣ）と称され得る。特定の実施例では、ＭＬＣはセルごとに２ビットのデータ（例えば、４つのプログラムされた状態の１つ）を記憶できるメモリセルを指し得、トリプルレベルセル（ＴＬＣ）はセルあたり３ビットのデータ（例えば、８つのプログラムされた状態の１つ）を記憶できるメモリセルを指し得、クアッドレベルセル（ＱＬＣ）はセルあたり４ビットのデータを記憶できる。ＭＬＣは、本明細書では、より広い文脈で使用され、セルごとに２ビットを超えるデータを記憶できる（すなわち、３つ以上のプログラムされた状態を表すことができる）任意のメモリセルを指し得る。
【０００９】
いくつかのメモリアレイは、半導体基板の表面に配置された２次元（２Ｄ）構造である。一定領域のメモリ容量を増やし、コストを減少させるために、個々のメモリセルのサイズを小さくしている。しかしながら、個々のメモリセルのサイズの縮小、ひいては、２Ｄメモリアレイのメモリ密度には技術的制限がある。これに応えて、３Ｄ  ＮＡＮＤアーキテクチャの半導体メモリシステム等の３次元（３Ｄ）メモリ構造が開発され、メモリ密度がさらに向上し、メモリコストが安くなっている。
【００１０】
係る３Ｄ  ＮＡＮＤデバイスには、多くの場合、ソースに近接する１つ以上のソース側選択ゲート（ＳＧＳ）と、ビットラインに近接する１つ以上のドレイン側選択ゲート（ＳＧＤ）との間に、直列に結合される（例えば、ドレインからソースに結合される）記憶セルのストリングを含む。実施例では、ＳＧＳまたはＳＧＤは、１つ以上の電界効果トランジスタ（ＦＥＴ）構造デバイスまたは金属酸化物半導体（ＭＯＳ）構造デバイス等を含み得る。いくつかの実施例では、ストリングは、各々のワードラインを含む複数の垂直にスペースがある層を通って垂直に延在する。半導体構造（例えば、ポリシリコン構造）は、貯蔵セルのストリングに隣接して延在して、ストリングの記憶セルのためのチャネルを形成し得る。垂直ストリングの実施例では、ポリシリコン構造は、垂直に延在するピラーの形態であり得る。いくつかの実施例では、ストリングは「折り畳まれ」、ひいては、Ｕ字形ピラーに対して配置され得る。他の実施例では、複数の垂直構造を相互に積み重ねて、記憶セルのストリングの積み重ねられたアレイを形成し得る。
【００１１】
メモリアレイまたはデバイスを一緒に組み合わせて、ソリッドステートドライブ（ＳＳＤ）、ユニバーサルフラッシュストレージ（ＵＦＳ（商標））デバイス、マルチメディアカード（ＭＭＣ）ソリッドステートストレージデバイス、組み込みＭＭＣデバイス（ｅＭＭＣ（商標））等のメモリシステムのストレージボリュームを形成できる。ＳＳＤは、とりわけ、コンピュータのメインストレージデバイスとして使用でき、例えば、パフォーマンス、サイズ、重量、耐久性、動作温度範囲、及び消費電力に関して、可動部品を伴う従来のハードドライブよりも優れている。例えば、ＳＳＤは、磁気ディスクドライブ（例えば、電気機械等）に関連付けられるシーク時間、遅延、または他の遅延を減らすことができる。ＳＳＤは、フラッシュメモリセル等の不揮発性メモリセルを使用して、内蔵バッテリの供給要件を不要にし、したがって、ドライブをより多用途で使用しコンパクトにすることが可能になる。
【００１２】
ＳＳＤは、いくつかのダイまたは論理ユニット（論理ユニットの数またはＬＵＮ等）を含むいくつかのメモリシステムを含み得、メモリシステムまたは外部システムとのインターフェースを動作するために必要な論理機能を行う１つ以上のプロセッサまたは他のコントローラを含み得る。係るＳＳＤは、いくつかのメモリアレイ及びその上の周辺回路を含む、１つ以上のフラッシュメモリダイを含み得る。フラッシュメモリアレイは、いくつかの物理ページに編成されたメモリセルのいくつかのブロックを含み得る。多くの実施例では、また、ＳＳＤはＤＲＡＭまたはＳＲＡＭ（または他の形式のメモリダイまたは他のメモリ構造）を含む。ＳＳＤは、メモリシステムとホストとの間でデータ（例えば、エラーデータ及びアドレスデータ等のユーザデータ及び関連付けられるインテグリティデータ等）を転送するための読み取り動作もしくは書き込み動作またはメモリシステムからデータを消去する消去動作等のメモリ動作と関連して、ホストからコマンドを受信できる。
【００１３】
必ずしも一定の縮尺で描かれているわけではない図面では、類似数字は異なる図の類似コンポーネントを示し得る。異なる文字の接尾辞を有する類似数字は、類似コンポーネントの異なる事例を表し得る。図面は、概して、限定ではなく例として、本書で説明される様々な実施形態を示す。
【図面の簡単な説明】
【００１４】
【図１】通信インターフェースを通じて通信するように構成されるメモリシステムを含むホストデバイスを含む環境の例を示す。
【図２】論理対物理（Ｌ２Ｐ）ポインタメッセージを生成するためにメモリシステムによって実行され得るプロセスフローの一例を示すフローチャートである。
【図３】Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフローの一例を示すフローチャートである。
【図４】Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフローの別の例を示すフローチャートである。
【図５】Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフロー５００のさらに別の例を示すフローチャートである。
【図６】本明細書で説明されるような、安全なＬ２Ｐポインタキャッシングで読み取り／書き込み要求を処理するためにメモリシステム及びホストデバイスによって実行され得るプロセスフローの一例を示すフローチャートである。
【図７】ホストにおいて１つ以上のＬ２Ｐポインタのセットをキャッシュするために、メモリシステム及びホストデバイスによって実行され得るプロセスフローの一例を示すフローチャートである。
【図８】ホストデバイスにおいてキャッシュされたＬ２Ｐポインタで読み取り要求を処理するためにメモリシステム及びホストデバイスによって実行され得るプロセスフローの一例を示すフローチャートである。
【図９】１つ以上の装置の一部としてメモリシステムを伴うホストの例を示す。
【図１０】１つ以上の実施形態を実装し得るマシンの例を示すブロック図である。
【発明を実施するための形態】
【００１５】
本開示の態様は、安全な論理対物理（Ｌ２Ｐ）キャッシングを伴うメモリシステムに関する。メモリシステムは、Ｌ２Ｐポインタのセットを維持するように構成できる。Ｌ２Ｐポインタは、メモリシステムのメモリアレイにおける物理アドレスを、例えば、ホストデバイスにおいて使用される論理アドレスに関連付ける。Ｌ２Ｐポインタは、Ｌ２Ｐテーブル等の共通データ構造のメモリシステムに記憶できる。ホストデバイスによって行われる読み取り要求及び書き込み要求は、読み取られるまたは書き込まれるデータユニットに関連付けられる論理アドレスを含み得る。メモリシステムは、論理アドレスを使用して、Ｌ２Ｐポインタを生成する及び／または論理アドレスをメモリアレイにおける１つ以上の物理アドレスに関連付ける事前に生成したＬ２Ｐポインタにアクセスする。
【００１６】
永続性を維持するために、メモリシステムのメモリアレイにＬ２Ｐポインタを記憶できる。メモリシステムの使用中、Ｌ２Ｐポインタをメモリアレイから直接読み取ることができる。メモリシステムコントローラがＲＡＭを含む場合、使用中にＬ２Ｐポインタの一部または全てをメモリシステムコントローラのＲＡＭに記憶し、遅延を減少できる。例えば、メモリシステムコントローラのＲＡＭにおいてＬ２Ｐポインタにアクセスするための読み取り動作は、メモリアレイにおいてＬ２Ｐポインタにアクセスするための読み取り動作よりも高速であり得る。しかしながら、いくつかの適用について、デバイスコントローラのＲＡＭは、小さすぎて、メモリアレイの完全なＬ２Ｐテーブルをロードできない。さらに、いくつかのメモリシステムコントローラはＲＡＭを含まない。
【００１７】
したがって、いくつかの実施例では、メモリシステムは、ホストデバイスにおけるＬ２Ｐポインタを含むそのＬ２Ｐテーブルの一部または全てをキャッシュするように構成される。Ｌ２Ｐポインタは、ホストデバイスのＲＡＭに記憶され得る。論理アドレスにおいて読み取り要求を行うとき、ホストデバイスは、その論理アドレスに対応するＬ２Ｐポインタのコピーをキャッシュしたかどうかを決定する。ホストデバイスにＬ２Ｐポインタのキャッシュコピーを有する場合、ホストデバイスはＬ２Ｐポインタを使用して、論理アドレスに対応するメモリシステムにおいて物理アドレスを解決する。ホストデバイスは、物理アドレスを使用して、メモリシステムに読み取り要求を行うことができる。メモリシステムは物理アドレスに記憶されたデータを返す。時々、Ｌ２Ｐポインタホストキャッシングは、周辺機器相互接続エクスプレス（ＰＣＩｅ）インターフェースを通じて、不揮発性メモリホストコントローラインターフェース仕様（ＮＶＭＨＣＩ）を使用して実装されるホストメモリバッファ（ＨＭＢ）プロトコル等のプロトコルを使用して行われるが、他のプロトコル及び他のインターフェースが想到される。
【００１８】
ホストデバイスにおいてＬ２Ｐポインタをキャッシュすると、特定の利点をもたらし得る。例えば、それにより、データをより高速に読み出すことを可能にし得る。ホストデバイスは、メモリシステムがメモリアレイから同じＬ２Ｐポインタを読み取ることが可能であろう速さよりも速く、ホストデバイスメモリにキャッシュされたＬ２Ｐポインタを読み取ることが可能であり得る。また、ホストデバイスにおいてＬ２Ｐポインタをキャッシュすると、メモリシステムにおけるＲＡＭの必要性が減り得る。例えば、ホストデバイスからの読み取り要求がアクセスする物理アドレスを既に含むとき、メモリシステムコントローラのＲＡＭにおけるキャッシュＬ２Ｐポインタをキャッシュする要望が減り得る。
【００１９】
他方では、ホストデバイスでＬ２Ｐポインタをキャッシュすると、メモリシステムの物理アドレス構造が公開される可能性がある。例えば、悪意のあるアクターが中間者攻撃を試みて、メモリシステムからホストデバイスに送信されたＬ２Ｐポインタを妨害し得る。悪意のあるアクターは、妨害されたＬ２Ｐポインタを修正し得る、またはスプーフィングされたＬ２Ｐポインタを提供し得る。別のタイプの攻撃では、悪意のあるアクターがメモリシステムをスプーフィングし、ホストデバイスにスプーフィングされたＬ２Ｐポインタを提供する。ホストデバイスは、スプーフィングされたＬ２Ｐポインタをキャッシュして、次にそれを使用する。これにより、メモリシステムが破損しているように見えさせる可能性がある。いくつかの実施例では、スプーフィングされたＬ２Ｐポインタを使用すると、メモリシステムにおいて破損が生じる可能性がある。
【００２０】
本明細書で説明される様々な実施例では、デジタル署名と一緒に、メモリシステムからホストデバイスにＬ２Ｐポインタを送信することによって、これらの課題及び／または他の課題に対処していることが説明される。メモリシステムは、ホストデバイスに送信される１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタ及び暗号化キーを使用して、デジタル署名を生成できる。１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタ及びデジタル署名は、Ｌ２Ｐポインタメッセージでホストデバイスに提供される。
【００２１】
ホストデバイスは、また、暗号化キーのコピーを有する。ホストデバイスは、暗号化キーのコピーを使用して、暗号化キー及びＬ２Ｐポインタメッセージに含まれる１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタを使用して、ホスト側のデジタル署名を生成する。ホストデバイス及びメモリシステムは同じ暗号化キーを有するため、Ｌ２Ｐポインタメッセージからのデジタル署名及びホスト側のデジタル署名は一致する必要がある。デジタル署名が一致する場合、ホストデバイスはＲＡＭにおいて１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタをキャッシュする。デジタル署名が一致しない場合、ホストデバイスはＲＡＭにおいて１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタをキャッシュすることを拒否する。
【００２２】
いくつかの実施例では、ホストデバイスは、Ｌ２Ｐポインタメッセージを受信すると、そのホストデバイスメモリにＬ２Ｐポインタメッセージのコンテンツの一部または全てを記憶するように構成される。次に、Ｌ２ＰポインタメッセージのコンテンツをＲＡＭに記憶した後、Ｌ２Ｐポインタメッセージのデジタル署名を検証できる。このように、Ｌ２Ｐポインタメッセージのコンテンツを修正する機会は制限される。ホスト側のデジタル署名がＬ２Ｐポインタメッセージのデジタル署名に一致しない場合、受信したＬ２Ｐポインタはホストデバイスメモリから除去される。
【００２３】
いくつかの実施例では、デジタル署名はカウンタ値を使用して生成される。メモリシステムはモノトニックカウンタを実装できる。モノトニックカウンタは、特定のイベントの発生時にインクリメントするように構成される。例えば、Ｌ２Ｐポインタメッセージのデジタル署名が生成されるたびに、モノトニックカウンタはインクリメントできる。いくつかの実施例では、モノトニックカウンタは、例えば、メモリシステムの電源投入時等の他のイベントの発生時にインクリメントする。
【００２４】
メモリシステムは、モノトニックカウンタから得られた値を使用して、Ｌ２Ｐポインタメッセージのデジタル署名を生成できる。例えば、メモリシステムは、暗号化キー及びモノトニックカウンタから得られた現在のカウンタ値を使用して、トランザクション暗号化キーを生成できる。メモリシステムは、トランザクション暗号化キーを使用してデジタル署名を生成し、Ｌ２Ｐポインタメッセージとともにカウンタ値のクリアコピーを提供する。ホストデバイス側において、本明細書に説明されるように、ホストデバイスはカウンタ値のクリアコピーを使用してトランザクション暗号化キーを生成し、トランザクション暗号化キーを使用してＬ２Ｐポインタメッセージから得られたデジタル署名を検証する。
【００２５】
デジタル署名が決定されるたびにモノトニックカウンタがインクリメントされるため、このようにカウンタ値を使用すると、異なる時間に、前のＬ２Ｐポインタメッセージを妨害して及び再送信することを試みる攻撃者を無効にできる。例えば、ホストデバイスが前のＬ２Ｐポインタメッセージと同じモノトニックカウンタ値を有するＬ２Ｐポインタメッセージを受信する場合、そのメッセージがメモリシステムによって正しく生成されなかったことが分かる。さらに、攻撃者がＬ２Ｐポインタメッセージのクリアカウンタ値を更新することを試みる場合、デジタル署名は更新されたクリアカウンタ値に一致せず、Ｌ２Ｐポインタメッセージはホストデバイスによって拒否される。
【００２６】
図１は、通信インターフェースを通じて通信するように構成されるメモリシステム１１０を含むホストデバイス１０５を含む環境１００の例を示す。ホストデバイス１０５またはメモリシステム１１０は、製品の処理、通信、または制御をサポートするために、モノのインターネット（ＩｏＴ）デバイス（例えば、冷蔵庫または他の機器、センサ、モータまたはアクチュエータ、移動通信デバイス、自動車、ドローン等）等の様々な製品に含まれ得る。
【００２７】
メモリシステム１１０はメモリコントローラ１１５及びメモリアレイ１２０を含み、メモリアレイ１２０は、例えば、各々のダイ上に形成されるいくつかの個々のメモリシステム（いくつかの実施例では、２次元または３次元（３Ｄ）ＮＡＮＤダイのスタックに配置されるメモリシステム）を含む。３Ｄアーキテクチャの半導体メモリ技術では、垂直構造が積み重ねられ、層の数、物理ページが増加し、それに応じて、所与のフットプリント内のメモリシステム（例えば、ストレージデバイス）の密度が増加する。実施例では、メモリシステム１１０は、ホストデバイス１０５のディスクリートメモリまたはストレージデバイスコンポーネントであり得る。他の実施例では、メモリシステム１１０は、集積回路（例えば、システムオンチップ（ＳＯＣ）等）の一部であり得、ホストデバイス１０５の他の１つ以上のコンポーネントによって積み重ねられることができる、またはそうでなければ、それらに含まれ得る。
【００２８】
図１の例示的な環境１００では、ホストデバイス１０５はプロセッサ１６０及びホストデバイスメモリ１６２を含む。ホストデバイスメモリ１６２は、ＤＲＡＭ、ＳＤＲＡＭ、または任意の他の適切な揮発性メモリコンポーネントまたは不揮発性メモリコンポーネント等のランダムアクセスメモリを含み得る。１つ以上の通信インターフェースを使用して、メモリシステム１１０と、ホストデバイス１０５の他の１つ以上のコンポーネントとの間でデータを転送できる。その通信インターフェースとして、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）インターフェース、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、ユニバーサルフラッシュストレージ（ＵＦＳ）インターフェース、ｅＭＭＣ（商標）インターフェース、または他の１つ以上のコネクタもしくはインターフェース等が挙げられる。ホストデバイス１０５は、ホストシステム、電子デバイス、プロセッサ、メモリカードリーダー、またはメモリシステム１１０の外部にある他の１つ以上の電子デバイスを含み得る。いくつかの実施例では、ホストデバイス１０５は、図１０のマシン１０００を参照して説明されるコンポーネントの一部または全てを有するマシンであり得る。また、ホストデバイス１０５の追加例は、図９を参照して説明される。
【００２９】
メモリコントローラ１１５は、ホストデバイス１０５から命令を受信でき、メモリアレイ１２０と通信し、例えば、メモリアレイ１２０の１つ以上のプレーン、サブブロック、ブロック、またはページに、（例えば、書き込みまたは消去するために）、あるいはそれらから、（例えば、読み取るために）データを転送する。メモリコントローラ１１５は、とりわけ、１つ以上のコンポーネントまたは集積回路を含む回路網またはファームウェアを含み得る。例えば、メモリコントローラ１１５は、メモリアレイ１２０の全体にわたってアクセスを制御し、ホストデバイス１０５とメモリシステム１１０との間に転位層を提供するように構成される１つ以上のメモリ制御ユニット、回路、またはコンポーネントを含み得る。メモリコントローラ１１５は、メモリアレイ１２０にまたはメモリアレイ１２０からデータを転送するための１つ以上の入力／出力（Ｉ／Ｏ）回路、ライン、またはインターフェースを含み得る。メモリコントローラ１１５はメモリマネージャ１２５及びアレイコントローラ１３５を含み得る。命令１４４は、本明細書で説明される安全なＬ２Ｐキャッシングを実施するために、メモリコントローラ１１５において実行され得る。
【００３０】
メモリマネージャ１２５は、とりわけ、様々なメモリ管理機能に関連付けられるいくつかのコンポーネントまたは集積回路等の回路網またはファームウェアを含み得る。本説明の目的のために、例示的なメモリ動作及び管理機能は、ＮＡＮＤメモリの文脈で説明される。当業者は、不揮発性メモリの他の形態が類似のメモリ動作または管理機能を有し得ることを認識する。係るＮＡＮＤ管理機能は、ウェアレベリング（例えば、ガベージコレクションまたはリクラメーション）、エラー検出またはエラー訂正、ブロックリタイアメント、または他の１つ以上のメモリ管理機能を含む。メモリマネージャ１２５は、ホストコマンド（例えば、ホストから受信されたコマンド）をデバイスコマンド（例えば、メモリアレイの動作に関連付けられるコマンド等）にパースもしくはフォーマットできる、または（例えば、様々なメモリ管理機能を達成するために）アレイコントローラ１３５もしくはメモリシステム１１０の他の１つ以上のコンポーネントためのデバイスコマンドを生成できる。
【００３１】
メモリマネージャ１２５は、メモリシステム１１０の１つ以上のコンポーネントに関連付けられる様々な情報（例えば、メモリコントローラ１１５に結合されるメモリアレイまたは１つ以上のメモリセルに関連付けられる様々な情報）を維持するように構成される管理テーブル１３０のセットを含み得る。例えば、管理テーブル１３０は、メモリコントローラ１１５に結合されるメモリセルの１つ以上のブロックについてのブロックエージ、ブロック消去カウント、エラー履歴、または１つ以上のエラーカウント（例えば、書き込み動作エラーカウント、読み取りビットエラーカウント、読み取り動作エラーカウント、消去エラーカウント等）に関する情報を含み得る。特定の実施例では、１つ以上のエラーカウントの検出されたエラーの数が閾値を上回る場合、ビットエラーは修正不可能なビットエラーと称され得る。管理テーブル１３０は、とりわけ、修正可能または修正不可能なビットエラーのカウントを維持できる。
【００３２】
本明細書で説明されるように、管理テーブル１３０は、また、論理アドレスをメモリアレイ１２０の物理アドレスに関連付けるＬ２Ｐポインタを含む１つ以上のＬ２Ｐテーブルを含み得る。管理テーブル１３０はマネージャ１２５で示される。例えば、管理テーブル１３０はメモリコントローラ１１５のＲＡＭに記憶され得る。いくつかの実施例では、管理テーブル１３０の一部または全てはメモリアレイ１２０に記憶される。例えば、マネージャ１２５は、管理テーブル１３０をメモリアレイ１２０から読み取り得る、及び／またはメモリコントローラ１１５のＲＡＭにおいて管理テーブル１３０の一部または全てをキャッシュし得る。
【００３３】
アレイコントローラ１３５は、とりわけ、メモリコントローラ１１５に結合されるメモリシステム１１０の１つ以上のメモリセルへのデータの書き込み、そのメモリセルからのデータの読み取り、またはそのメモリセルの消去に関連付けられるメモリ動作を制御するように構成される回路網またはコンポーネントを含み得る。メモリ動作は、例えば、ホストデバイス１０５から受信されたホストコマンド、または（例えば、ウェアレベリング、エラー検出またはエラー訂正等に関連して）メモリマネージャ１２５によって内部に生成されたホストコマンドに基づき得る。
【００３４】
アレイコントローラ１３５はエラー訂正コード（ＥＣＣ）コンポーネント１４０を含み得、ＥＣＣコンポーネント１４０は、とりわけ、メモリコントローラ１１５に結合されるメモリシステム１１０の１つ以上のメモリセルへのデータの書き込みまたはそのメモリセルからのデータの読み取りに関連付けられるエラーを検出または訂正するように構成されるＥＣＣエンジンまたは他の回路網を含み得る。メモリコントローラ１１５は、データの様々な動作または記憶に関連付けられるエラー発生（例えば、ビットエラー、動作エラー等）をアクティブに検出し、エラー発生から回復するように構成でき、これは、ホストデバイス１０５とメモリシステム１１０との間で転送されるデータのインテグリティを維持しながら行われ、または（例えば、冗長ＲＡＩＤストレージ等を使用して）記憶されたデータのインテグリティを維持しながら行われ、今後発生し得るエラーを防止するために機能しなくなるメモリリソース（例えば、メモリセル、メモリアレイ、ページ、ブロック等）を除去できる（例えば、使わなくする）。
【００３５】
図１の例示的な環境１００では、メモリコントローラ１１５は、また、暗号化エンジン１４２を含む。暗号化エンジン１４２は、例えば、本明細書で説明されるように、データにおいて暗号化動作を実行するように構成できる。暗号化エンジン１４２は、１つ以上のキーレジスタ及び１つ以上の数学エンジンを含み得る。キーレジスタは、暗号化動作を実行するために使用される暗号化キーを記憶できる。キーレジスタは暗号化エンジン１４２のコンポーネントとして説明されているが、いくつかの実施例では、キーレジスタは他の場所（例えば、メモリアレイ１２１の安全な場所）に位置付けられ得る。数学エンジンは、例えば、キーレジスタに記憶された１つ以上の暗号化キーを利用して、暗号化動作を行うように構成できる。
【００３６】
暗号化エンジン１４２は、本明細書で説明されるように、デジタル署名を生成するために１つ以上の暗号化動作を実行するように構成できる。暗号化エンジン１４２は、例えば、ＳＨＡアルゴリズム（例えば、ＳＨＡ２５６）、ＭＤ５アルゴリズム等の暗号化ハッシュ関数の任意の適切な暗号化アルゴリズムを使用してデジタル署名を生成するように構成できる。暗号化ハッシュ関数は、入力値を、通常は短縮されたハッシュ値にマッピングする。ハッシュ関数は、２つの異なる入力値が同じハッシュ値にマッピングされる可能性が低くなるように選択できる。暗号化エンジン１４２は、デジタル署名されているものに関連する入力値に対してハッシュ関数を実行することによってデジタル署名を生成するように構成できる。例えば、暗号化エンジン１４２は、実行される符号付きコマンド、メモリシステムカウンタ値、及び暗号化キーを連結して、入力値を生じさせることができる。次に、暗号化エンジン１４２は、入力値に対してハッシュ関数を実行して、デジタル署名を生成できる。
【００３７】
いくつかの実施例では、暗号化エンジン１４２は、ホストデバイス１０５とメモリシステム１１０Ａとの間の通信インターフェースと連動して動作するように構成される。例えば、暗号化エンジン１４２は、例えば、ＰＣＩｅまたは他の適切なインターフェースに従って、メモリシステム１１０Ａとホストデバイス１０５との間の通信に関連するデジタル署名を暗号化及び／または生成するために使用される暗号化キーをストーリー化するためのキーレジスタまたは他の適切な記憶場所を含み得る。また、いくつかの実施例では、暗号化エンジン１４２は、サーバールートキーを記憶するキーレジスタを含む。メモリシステムのサーバールートキーは、ここで説明されるように、署名されたコマンドを検証するために使用される暗号化キーである。
【００３８】
メモリアレイ１２０は、例えば、１つ以上のデバイス、１つ以上のプレーン、１つ以上のサブブロック、１つ以上のブロック、１つ以上のページ等に配置されるいくつかのメモリセルを含み得る。一例として、４８ＧＢのＴＬＣ  ＮＡＮＤメモリシステムは、ページあたり１８，５９２バイト（Ｂ）（１６，３８４＋２２０８バイト）のデータ、ブロックあたり１５３６ページ、プレーンあたり５４８ブロック、及びデバイスあたり４つ以上のプレーンを含み得る。別の実施例として、３２ＧＢのＭＬＣメモリシステム（セルあたりの２ビットのデータを記憶している（すなわち、４つのプログラム可能状態））は、ページあたり１８，５９２バイト（Ｂ）（１６，３８４＋２２０８バイト）のデータ、ブロックあたり１０２４ページ、プレーンあたり５４８ブロック、デバイスあたり４プレーンを含み得るが、対応するＴＬＣメモリシステムと比較して、必要な書き込み時間は半分になり、プログラム／消去（Ｐ／Ｅ）サイクルは２倍になる。他の実施例は他の数または配置を含み得る。いくつかの実施例では、メモリシステムまたはその一部は、ＳＬＣモードで、または所望のＭＬＣモード（ＴＬＣ、ＱＬＣ等）で選択的に動作し得る。
【００３９】
アレイ１２０は、物理アドレス位置１５０Ａ、１５０Ｂ、１５０Ｎを含む。物理アドレス位置は、物理アドレスに一意に関連付けられるメモリアレイ１２０における場所である。動作時、データは、一般的に、ページのメモリシステム１１０に書き込まれまたはメモリシステム１１０から読み取られ、ブロックで消去される。例えば、物理アドレス位置１５０Ａ、１５０Ｂ、１５０Ｎは、ページに対応し得る。しかしながら、１つ以上のメモリ動作（例えば、読み取り、書き込み、消去等）は、必要に応じて、より大きなまたはより小さなメモリセルのグループで行われることができる。したがって、いくつかの実施例では、物理アドレス位置１５０Ａ、１５０Ｂ、１５０Ｎは、１ページよりも多いまたは少ないページを含む。メモリシステム１１０のデータ転送サイズは一般的にページと称される一方、ホストのデータ転送サイズは一般的にセクタと称される。
【００４０】
データのページはユーザデータのバイト数（例えば、データのセクタ数を含むデータペイロード）及びそれに対応するメタデータを含み得るが、ページのサイズは、多くの場合、ユーザデータを記憶するために使用されるバイト数だけを指す。例として、４ＫＢのページサイズを有するデータのページは、４ＫＢのユーザデータ（例えば、５１２Ｂのセクタサイズを想定した８セクタ）と、インテグリティデータ（例えば、エラー検出データまたはエラー訂正コードデータ）、アドレスデータ（例えば、論理アドレスデータ等）等のユーザデータに対応するメタデータ、またはユーザデータに関連付けられる他のメタデータのバイト数（例えば、３２Ｂ、５４Ｂ、２２４Ｂ等）とを含み得る。メタデータ等を記憶するための記憶ユニットまたはサブユニットは、オーバープロビジョニングされた記憶ユニットまたはサブユニットと称され得る。
【００４１】
異なるタイプのメモリセルまたはメモリアレイ１２０は異なるページサイズを提供できる、またはそれに関連付けられる異なる量のメタデータを必要とし得る。例えば、異なるメモリシステムタイプは異なるビットエラー率をもたらし得、これにより、データページのインテグリティを確実にするために必要な異なるメタデータの量をもたらし得る（例えば、ビットエラー率がより高いメモリシステムは、ビットエラー率がより低いメモリシステムよりも多いバイトのエラー訂正コードデータを必要とし得る）。例として、マルチレベルセル（ＭＬＣ）ＮＡＮＤフラッシュデバイスは、対応するシングルレベルセル（ＳＬＣ）ＮＡＮＤフラッシュデバイスよりも高いビットエラー率をもたらし得る。したがって、ＭＬＣデバイスは、対応するＳＬＣデバイスよりも多くのエラーデータのメタデータバイトを必要とし得る。
【００４２】
いくつかの実施例では、メモリコントローラ１１５は、また、モノトニックカウンタ１４６を含む。モノトニックカウンタ１４６は、カウンタ値をインクリメントするためのソフトウェアまたはハードウェアを含む。モノトニックカウンタ１４６は、カウンタ値が常に特定の方向に移動するように構成される。本明細書で説明されるように、モノトニックカウンタ１４６はデジタル署名がＬ２Ｐポインタメッセージ１７２に生成されるときにインクリメントするように構成される。いくつかの実施例では、例えば、メモリシステム１１０とホストデバイス１０５との間の他の通信のためにデジタル署名が生成されるとき、メモリシステム１１０が電源オフまたは起動するとき等、モノトニックカウンタは、メモリシステム１１０における他のイベントの発生時にインクリメントするように構成される。
【００４３】
図１の環境１００は、また、Ｌ２Ｐポインタ１６８及びデジタル署名１７４を含むＬ２Ｐポインタメッセージ１７２を示す。例示的なＬ２Ｐポインタメッセージ１７２は単一のＬ２Ｐポインタ１６８を含むが、いくつかのＬ２ＰポインタメッセージはＬ２Ｐポインタ１６８に加えて複数のＬ２Ｐポインタを含む。例えば、Ｌ２Ｐポインタメッセージ１７２は、アレイ１２０に記憶された完全なＬ２ＰポインタテーブルにおけるＬ２Ｐポインタの一部または全てを含むＬ２Ｐポインタテーブルを含み得る。随意に、Ｌ２Ｐポインタメッセージ１７２は、また、カウンタ値１７０を含む。
【００４４】
メモリシステム１１０は、少なくとも部分的に、Ｌ２Ｐポインタ１６８、Ｌ２Ｐポインタメッセージ１７２に含まれ得る任意の他のＬ２Ｐポインタ、及び暗号化キーを使用してデジタル署名１７４を生成する。例えば、メモリシステム１１０は、暗号化キーを使用して、Ｌ２Ｐポインタ１６８（及び他のＬ２Ｐポインタ）のハッシュを生成し得る。デジタル署名１７４は、ハッシュの結果の一部または全てを含み得る。例えば、ＳＨＡ２５６等のＳＨＡアルゴリズム、ＭＤ５アルゴリズム等の任意の適切なハッシュアルゴリズムを使用し得る。
【００４５】
暗号化キーは、メモリシステム及びホストデバイスに認識されている共有シークレットである。暗号化キーは、任意の適切な方式で、メモリシステム１１０とホストデバイス１０５との間で安全に通信できる。いくつかの実施例では、ディフィーヘルマンまたは他の適切なキー交換等の暗号化キー転送アルゴリズムを使用する。他の実施例では、暗号化キーは、製造プロセスにおいてまたは製造プロセス中に、メモリシステム１１０及び／またはホストデバイス１０５に書き込まれる。いくつかの実施例では、メモリシステム１１０及びホストデバイスは、ＰＣＩｅ等の通信プロトコルの一部として、メモリシステム１１０とホストデバイス１０５との間で既に共有されている暗号化キーを使用する。
【００４６】
いくつかの実施例では、メモリシステム１１０は、メモリシステム１１０が公開キー及び秘密キーを含む非対称暗号キー配置を利用する。秘密キーは秘密が保たれ、例えば、暗号化エンジン１４２のキーレジスタに記憶され得る。また、メモリシステム１１０は共有される公開キーを有し、公開キーは、認証機関、メモリシステム１１０またはホスト１０５の製造業者、または他の適切な関係者によって検証され得る。非対称暗号キー配置を使用する実施例では、メモリシステム１１０は、Ｌ２Ｐポインタ１６８（または複数のＬ２Ｐポインタ１６８）をその秘密キーで暗号化することによってデジタル署名を生成する。ホストデバイス１０５は、公開キーを使用してデジタル署名１７４を復号化することによって、デジタル署名１７４を検証する。復号化の結果がＬ２ＰポインタメッセージのＬ２Ｐポインタ１６８（または複数のＬ２Ｐポインタ１６８）に一致する場合、デジタル署名を検証する。
【００４７】
Ｌ２Ｐポインタメッセージ１７２は、ホストデバイス１０５に提供される。本明細書で説明されるように、ホストデバイス１０５におけるプロセッサ１６０はデジタル署名１７４を検証する。デジタル署名１７４が検証される場合、プロセッサ１６０は、ホストデバイス１０５のＲＡＭ１６２においてＬ２Ｐポインタ１６８をキャッシュする。
【００４８】
いくつかの実施例では、ホストデバイス１０５は、Ｌ２Ｐポインタメッセージ１７２の全体をＲＡＭ１６２に記憶する。デジタル署名１７４を検証するために、ホストデバイス１０５のプロセッサ１６０は、Ｌ２Ｐポインタメッセージ１７２をＲＡＭ１６２から読み取り、デジタル署名１７４を検証する。デジタル署名１７４が検証されなかった場合、Ｌ２Ｐポインタメッセージ１７２はＲＡＭ１６２から除去される。デジタル署名１７４が検証される場合、Ｌ２Ｐポインタ１６８は、ＲＡＭ１６２に（例えば、ＲＡＭ１６２におけるＬ２Ｐキャッシュ場所で）記憶されたままである。
【００４９】
図２は、Ｌ２Ｐポインタメッセージを生成するために、メモリシステム１１０等のメモリシステムによって実行され得るプロセスフロー２００の一例を示すフローチャートである。図２は、単一のＬ２Ｐポインタを含むＬ２Ｐポインタメッセージに関して説明されている。しかしながら、いくつかの実施例では、Ｌ２Ｐポインタメッセージは複数のＬ２Ｐポインタを含む。例えば、本明細書で説明されるように、Ｌ２Ｐポインタメッセージは、複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み得る。
【００５０】
動作２０２において、メモリシステムは、Ｌ２Ｐポインタにアクセスし及び／またはＬ２Ｐポインタを生成する。（Ｌ２Ｐポインタメッセージが複数のＬ２Ｐポインタを含む実施例では、メモリシステムは複数のＬ２Ｐポインタにアクセス及び／または複数のＬ２Ｐポインタを生成する）。メモリシステムが特定の論理アドレスに対応するメモリアレイの記憶ユニットを選択すると、メモリシステムはＬ２Ｐポインタを生成する。メモリシステムは、選択された論理アドレスに関連付けられる物理アドレスに論理アドレスを関連付けるためのＬ２Ｐポインタを生成する。代替として、メモリシステムは、例えば、メモリアレイ及び／またはメモリコントローラのＲＡＭに記憶された事前に生成したＬ２Ｐポインタにアクセスできる。
【００５１】
選択的な動作２０４において、メモリシステムは、暗号化キーからトランザクション暗号化キーを生成し、モノトニックカウンタから現在のカウンタ値を生成する。これは、任意の適切な方式で実行し得る。いくつかの実施例では、メモリシステムは、トランザクション暗号化キーにおける結果を使用して、カウンタ値及び暗号化キーを連結する。別の実施例では、メモリシステムは、暗号化キー及びカウンタ値を使用して、ハッシュ動作等の暗号化動作を実行する。結果は、トランザクション暗号化キーとして使用される。
【００５２】
動作２０６において、メモリシステムは、動作２０２からの単一のＬ２Ｐポインタまたは複数のＬ２Ｐポインタを使用してデジタル署名を生成する。これは、Ｌ２Ｐポインタ及びキーを使用して、ハッシュ動作等の暗号化動作を実行することを含む。動作２０４においてトランザクション暗号化キーがカウンタ値から生成される場合、デジタル署名はトランザクション暗号化キーを使用して生成される。トランザクション暗号化キーが生成されない場合、デジタル署名は暗号化キーを使用して生成される。いくつかの実施例では、デジタル署名はキー付きハッシュメッセージ認証コード（ＨＭＡＣ）である。
【００５３】
動作２０８において、メモリシステム１１０はＬ２Ｐポインタメッセージを生成する。Ｌ２Ｐポインタメッセージは、ホスト１０５においてキャッシュされるＬ２Ｐポインタと、動作２０６において生成されたデジタル署名とを含む。カウンタ値を使用する実施例では、Ｌ２Ｐポインタメッセージはカウンタ値も含む。
【００５４】
図３は、Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフロー３００の一例を示すフローチャートである。図３は、単一のＬ２Ｐポインタを含むＬ２Ｐポインタメッセージに関して説明されている。しかしながら、いくつかの実施例では、Ｌ２Ｐポインタメッセージは複数のＬ２Ｐポインタを含む。例えば、本明細書で説明されるように、Ｌ２Ｐポインタメッセージは、複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み得る。
【００５５】
動作３０２において、ホストデバイスはＬ２Ｐポインタメッセージを受信する。動作３０４において、ホストデバイスはホスト側のデジタル署名を生成する。ホストデバイスは、暗号化キー及びＬ２Ｐポインタメッセージに含まれるＬ２Ｐポインタを使用して、ホスト側のデジタル署名を生成できる。ホスト側のデジタル署名を生成するために、ホストデバイスは暗号化キー及びＬ２Ｐポインタを使用して暗号化動作を実行する。複数のＬ２ＰポインタがＬ２Ｐポインタメッセージに含まれる場合、ホスト側のデジタル署名は、Ｌ２ＰポインタメッセージのＬ２Ｐポインタのそれぞれを使用して生成され得る。
【００５６】
動作３０６において、ホストデバイスは、ホスト側のデジタル署名がＬ２Ｐポインタメッセージからのデジタル署名と同等であるかどうかを決定する。ホスト側のデジタル署名がデジタル署名と同じ暗号化キー及び同じＬ２Ｐポインタデータを使用して生成されるため、Ｌ２Ｐポインタメッセージがメモリシステムによって正しく及び確実に生成された場合は、ホスト側のデジタル署名はＬ２Ｐポインタメッセージからのデジタル署名に一致する必要がある。
【００５７】
ホスト側のデジタル署名がＬ２Ｐポインタメッセージからのデジタル署名に一致する場合、動作３１０において、ホストデバイスはＬ２Ｐポインタをキャッシュする。一方、ホスト側のデジタル署名がＬ２Ｐポインタメッセージからのデジタル署名に一致しない場合、動作３０８において、ホストデバイスはキャッシュすることなく、Ｌ２Ｐポインタ１６８（または複数のＬ２Ｐポインタ１６８）を破棄する。例えば、ホスト側のデジタル署名がＬ２Ｐポインタメッセージからのデジタル署名に一致しない場合は、Ｌ２Ｐポインタメッセージがメモリシステムによって生成されなかった、メモリシステムによって正しく生成されなかった、及び／または修正されたことを示し得る。
【００５８】
図４は、Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフロー４００の別の例を示すフローチャートである。図４は、単一のＬ２Ｐポインタを含むＬ２Ｐポインタメッセージに関して説明されている。しかしながら、いくつかの実施例では、Ｌ２Ｐポインタメッセージは複数のＬ２Ｐポインタを含む。例えば、本明細書で説明されるように、Ｌ２Ｐポインタメッセージは、複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み得る。
【００５９】
動作４０２において、ホストデバイスはＬ２Ｐポインタメッセージを受信する。動作４０４において、ホストデバイスは、Ｌ２Ｐポインタメッセージに含まれるＬ２Ｐポインタを、図１のホストデバイスメモリ１６２等のＲＡＭに書き込む。デジタル署名を検証する前にＬ２Ｐポインタ及びデジタル署名をホストデバイスメモリに書き込むことによって、ホストデバイスは、デジタル署名の検証前または検証中にＬ２Ｐポインタまたはデジタル署名が破損するリスクを最小にできる。
【００６０】
動作４０６において、ホストデバイスはＬ２Ｐポインタをホストデバイスメモリから読み取る。動作４０８において、ホストデバイスは、ホストデバイスメモリから読み取られたＬ２Ｐポインタを使用してホスト側署名を生成する。また、ホストデバイスは暗号化キーを使用する。
【００６１】
動作４１０において、ホストデバイスは、ホスト側のデジタル署名がＬ２Ｐポインタメッセージからのデジタル署名と同等であるかどうかを決定する。デジタル署名が同等でない場合、動作４１２において、ホストデバイスはＬ２ＰポインタメッセージからＬ２Ｐポインタを破棄する。これは、ホストデバイスのＲＡＭからＬ２Ｐポインタを削除することを含み得る。デジタル署名が同等である場合、動作４１４において、ホストデバイスはＬ２Ｐポインタをキャッシュする。いくつかの実施例では、動作４０４において、Ｌ２Ｐポインタを事前にキャッシュする。これが事実である場合、Ｌ２Ｐポインタをキャッシュすることは、Ｌ２Ｐポインタが動作４０４において記憶されたホストデバイスメモリの場所にＬ２Ｐポインタを残すことを含む。他の実施例では、Ｌ２Ｐポインタをキャッシュすることは、Ｌ２Ｐポインタが動作４０４において記憶されたホストデバイスメモリの場所からキャッシュ場所に、Ｌ２Ｐポインタを移動することを含む。
【００６２】
図５は、Ｌ２Ｐポインタメッセージを検証するためにホストデバイスによって実行され得るプロセスフロー５００のさらに別の例を示すフローチャートである。図５の実施例では、Ｌ２Ｐポインタメッセージは、メモリシステムにおけるモノトニックカウンタからのカウンタ値を含む。図５の実施例では、Ｌ２Ｐポインタメッセージは、メモリシステムにおけるモノトニックカウンタからのカウンタ値を含む。図５は、単一のＬ２Ｐポインタを含むＬ２Ｐポインタメッセージに関して説明されている。しかしながら、いくつかの実施例では、Ｌ２Ｐポインタメッセージは複数のＬ２Ｐポインタを含む。例えば、本明細書で説明されるように、Ｌ２Ｐポインタメッセージは、複数のＬ２Ｐポインタを含むＬ２Ｐポインタテーブルを含み得る。
【００６３】
動作５０２において、ホストデバイスはＬ２Ｐポインタメッセージを受信する。動作５０４において、ホストデバイスは、暗号化キー及びカウンタ値からトランザクション暗号化キーを生成する。本明細書で説明されるように、トランザクション暗号化キーは、暗号化キー及びカウンタ値を連結すること、暗号化キー及びカウンタ値を使用して暗号化動作を行うこと等によって生成できる。動作５０６において、ホストデバイスは、トランザクション暗号化キー及びＬ２ＰポインタメッセージからのＬ２Ｐポインタを使用してホスト側デジタル署名を生成する。例えば、ホストデバイスは、トランザクション暗号化キー及びＬ２Ｐポインタを使用して暗号化動作を実行し得る。
【００６４】
動作５０８において、ホストデバイスは、ホスト側のデジタル署名が、Ｌ２Ｐポインタメッセージとともに受信されたデジタル署名と同等であるかどうかを決定する。そうでない場合、動作５１２において、Ｌ２ＰポインタメッセージからのＬ２Ｐポインタは破棄される。ホスト側のデジタル署名がＬ２Ｐポインタメッセージとともに受信されたデジタル署名と同等である場合、動作５１４において、ホストデバイスはＬ２Ｐポインタをキャッシュする。
【００６５】
随意に、動作５１４においてＬ２Ｐポインタをキャッシュする前に、動作５１０において、ホストデバイスはＬ２Ｐポインタメッセージに含まれるカウンタ値が前に受信されたかどうかを決定する。例えば、ホストデバイスによって処理された前のＬ２Ｐポインタメッセージにカウンタ値が含まれる場合、それは、メモリシステムにおけるモノトニックカウンタからの現在のカウンタ値でＬ２Ｐポインタメッセージが生成されなかったことを示し得る。（前のＬ２Ｐポインタメッセージが生成された後に、モノトニックカウンタはインクリメントするであろう。）ホストデバイスは、メモリシステムから受信された前のＬ２Ｐポインタメッセージからのカウンタ値の記録を保持し得る。現在のＬ２Ｐポインタメッセージのカウンタ値が新しいものでない場合、動作５１２において、ホストデバイスはＬ２Ｐポインタメッセージに含まれるＬ２Ｐポインタを破棄する。カウンタ値が新しい場合、動作５１４において、ホストデバイスはＬ２Ｐポインタをキャッシュする。図５に具体的に示されていないが、いくつかの実施例では、プロセスフロー５００は、デジタル署名を検証する前に、Ｌ２Ｐポインタメッセージの全てまたは一部をホストデバイスのＲＡＭに記憶することを含み得る。
【００６６】
図６は、本明細書で説明されるように、安全なＬ２Ｐポインタキャッシングで読み取り／書き込み要求を処理するためにメモリシステム及びホストデバイスによって実行され得るプロセスフロー６００の一例を示すフローチャートである。プロセスフロー６００は、２つのカラム６０１、６０３を含む。カラム６０１は、ホストデバイス１０５等のホストによって実行される動作を含む。カラム６０３は、メモリシステム１１０等のメモリシステムによって実行される動作を含む。
【００６７】
動作６０２において、ホストは読み取り／書き込み要求６０５をメモリシステムに送信する。読み取り／書き込み要求６０５は、読み取り要求または書き込み要求であり得る。読み取り／書き込み要求６０５が読み取り要求であるとき、それは論理アドレスを含む。論理アドレスは、データを記憶するメモリシステムにおけるデータユニットの物理アドレスに関連付けられる。読み取り／書き込み要求６０５が書き込み要求であるとき、それは、メモリシステムの１つの記憶ユニットまたは複数の記憶ユニットに書き込まれる論理アドレス及びデータを含む。
【００６８】
動作６０４において、メモリシステムは読み取り／書き込み要求６０５を受信する。動作６０６において、メモリシステムは読み取り／書き込み要求６０５を処理する。例えば、読み取り／書き込み要求６０５が読み取り要求である場合、メモリシステムは、読み取り／書き込み要求６０５に含まれる論理アドレスを物理アドレスに関連付けるＬ２Ｐポインタにアクセスする。メモリシステムは、物理アドレスに対応する記憶ユニットを読み取り、読み取ったデータをホストデバイスに返す。読み取り／書き込み要求６０５が書き込み要求である場合、メモリシステムは、書き込み要求に含まれるデータを記憶するための１つの記憶ユニットまたは複数の記憶ユニットを選択する。また、メモリシステムは、書き込み要求からの論理アドレスを選択された記憶ユニットの物理アドレスに関連付けるＬ２Ｐポインタを作成する。
【００６９】
動作６０８において、メモリシステムは、デジタル署名と、動作６０６においてアクセス及び／または生成されたＬ２Ｐポインタとを含むＬ２Ｐポインタメッセージを生成する。例えば、メモリシステムは、例えば、図２に関して本明細書で説明されるように、Ｌ２Ｐポインタメッセージを生成できる。
【００７０】
動作６１０において、メモリシステムは、Ｌ２Ｐメッセージ６０７をホストデバイスに送信する。随意に、メモリシステムは、また、読み取り／書き込み要求６０５の実行から生じるデータ６０９を送信する。データ６０９は、例えば、読み取り要求に応答してメモリアレイから読み取られたデータと、書き込み要求が完了したことの確認等を含み得る。
【００７１】
ホストデバイスはＬ２Ｐメッセージ６０７を受信し、動作６１２において、Ｌ２Ｐメッセージ６０７に含まれるデジタル署名を検証する。ホストデバイスは、例えば、図３〜図５に関して本明細書で説明されるように、Ｌ２Ｐメッセージ６０７に含まれるデジタル署名を検証できる。Ｌ２Ｐメッセージが検証される場合、ホストデバイスは、動作６１４において、Ｌ２Ｐポインタメッセージ６０７に含まれるＬ２Ｐポインタをキャッシュする。
【００７２】
図６は、メモリシステムが読み取り／書き込み要求に応答してＬ２Ｐポインタメッセージを提供する例を示す。いくつかの実施例では、ホストは１つ以上のＬ２Ｐポインタのセットを要求する。図７は、ホストにおいて１つ以上のＬ２Ｐポインタのセットをキャッシュするために、メモリシステム及びホストデバイスによって実行され得るプロセスフロー７００の一例を示すフローチャートである。プロセスフロー７００は、２つのカラム７０１、７０３を含む。カラム７０１は、ホストデバイス１０５等のホストによって実行される動作を含む。カラム７０３は、メモリシステム１１０等のメモリシステムによって実行される動作を含む。
【００７３】
動作７０２において、ホストは、メモリシステムに、Ｌ２Ｐポインタのセットに対する要求７０５を送信する。要求７０５は、例えば、論理アドレスのセットを含み得る。要求されたＬ２Ｐポインタのセットは、単一のＬ２Ｐポインタ及び／またはＬ２Ｐポインタのセットを含み得る。
【００７４】
メモリシステムは、動作７０４で要求７０５を受信する。動作７０６において、メモリシステムは、Ｌ２Ｐポインタメッセージ７０７を生成する。例えば、メモリシステムは、図２に関して本明細書で説明されるように、Ｌ２Ｐポインタメッセージを生成できる。動作７０８において、メモリシステムは、Ｌ２Ｐポインタメッセージ７０７をホストデバイスに送信する。
【００７５】
ホストデバイスはＬ２Ｐポインタメッセージ７０７を受信し、動作７１０において、Ｌ２Ｐポインタメッセージ７０７を検証する。ホストデバイスは、例えば、図３〜図５に関して本明細書で説明されるように、Ｌ２Ｐポインタメッセージ７０７に含まれるデジタル署名を検証できる。Ｌ２Ｐポインタメッセージ７０７に含まれるデジタル署名が検証される場合、ホストデバイスは、動作７１２において、Ｌ２Ｐポインタメッセージ７０７に含まれる１つのＬ２Ｐポインタまたは複数のＬ２Ｐポインタをキャッシュする。
【００７６】
図８は、ホストデバイスにおいてキャッシュされたＬ２Ｐポインタで読み取り要求を処理するためにメモリシステム及びホストデバイスによって実行され得るプロセスフロー８００の一例を示すフローチャートである。プロセスフロー８００は、２つのカラム８０１、８０３を含む。カラム８０１は、ホストデバイス１０５等のホストによって実行される動作を含む。カラム８０３は、メモリシステム１１０等のメモリシステムによって実行される動作を含む。
【００７７】
動作８０２において、ホストは、論理アドレスを示す読み取り要求を生成する。読み取り要求は、ホストのオペレーティングシステムによって生成され得る及び／またはホストで実行しているアプリケーションから受信され得る。動作８０４において、ホストは、ホストにおいてキャッシュされた１つ以上のＬ２Ｐポインタを検索して、キャッシュされたＬ２Ｐポインタのいずれかが読み取り要求からの論理アドレスを示しているかどうかを決定する。キャッシュされたＬ２Ｐポインタのいずれも論理アドレスを示さない場合、ホスト及びメモリシステムは、動作８０６において、キャッシュされていない読み取り要求ルーチンを実行する。キャッシュされていない要求ルーチンの例が、図６に関して本明細書で説明されている。
【００７８】
論理アドレスを示すＬ２Ｐポインタが動作８０４において識別される場合、ホストは、動作８０８において、キャッシュされたＬ２Ｐポインタにアクセスする。動作８１０において、ホストは、メモリシステムに、Ｌ２Ｐポインタによって示される物理アドレスを含む読み取り要求８０５を送信する。
【００７９】
動作８１２において、メモリシステムは読み取り要求８０５を受信する。動作８１４において、メモリシステムは、読み取り要求８０５に含まれる物理アドレスに対応する記憶ユニットからデータを読み取る。動作８１６において、メモリシステムはデータ８０７をホストデバイスに返す。動作８１８において、ホストデバイスはデータを読み取り及び処理する。
【００８０】
図９は、１つ以上の装置９３０〜９５０の一部としてメモリシステム９２０（例えば、本明細書で説明されるメモリシステムのいずれか）を伴う例示的なホストデバイス９１０（例えば、ホスト１０５）を示す。装置は、ホストデバイス９１０等のホストデバイスを含み得るいずれかのデバイスを含む。ホストデバイス９１０は、命令（シーケンシャル命令またはその他の命令）を実行することが可能であるいずれかのデバイスであり得る。例示的な装置は、車両９３０（例えば、インフォテインメントシステム、制御システム等の一部として）、ドローン９５０（例えば、制御システムの一部として）、家具または器具９４０（例えば、センサシステム、エンターテインメント、またはインフォテインメントシステムの一部として）等を含む。他の実施例では、示されていないが、装置は、航空用デバイス、海洋用デバイス、モノのインターネット（ＩＯＴ）、及び他のデバイスを含み得る。
【００８１】
図１０は、本明細書で説明される技術（例えば、方法論）の任意の１つ以上が行われ得る例示的なマシン１０００のブロック図を示す。代替の実施形態では、マシン１０００はスタンドアロンデバイスとして動作し得る、または他のマシンに接続（例えば、ネットワーク化）され得る。ネットワーク配備では、マシン１０００は、サーバークライアントネットワーク環境で、サーバーマシン、クライアントマシン、またはその両方の能力で動作し得る。実施例では、マシン１０００は、ピアツーピア（Ｐ２Ｐ）（または他の分散型）ネットワーク環境でピアマシンとして機能し得る。マシン１０００は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、ウェブアプライアンス、ＩｏＴデバイス、自動車システム、またはそのマシンによって行われるアクションを指定する命令（シーケンシャル命令またはその他の命令）を実行することが可能であるいずれかのマシンであり得る。さらに単一のマシンしか示していないが、用語「マシン」は、また、クラウドコンピューティング、サービス型ソフトウェア（ＳａａＳ）、他のコンピュータクラスタ構成等の本明細書で説明される方法論の任意の１つ以上の方法論を行うために命令のセット（または複数のセット）を個々にまたは共同で行うマシンのいずれかの集合体を含むと解釈されるものとする。
【００８２】
本明細書で説明される実施例は、論理、コンポーネント、デバイス、パッケージ、もしくは機構を含み得る、またはそれらによって動作し得る。回路網は、ハードウェア（例えば、単純回路、ゲート、論理等）を含む有形エンティティに実装された回路の集合（例えば、セット）である。回路網の構成要素は、時間の経過及び基礎となるハードウェアの変動性に柔軟に対応し得る。回路網は、単独でまたは組み合わせて、動作するときに特定のタスクを行い得る構成要素を含む。実施例では、回路網のハードウェアは、特定の動作（例えば、ハードワイヤード）を実行するように不変に設計され得る。実施例では、回路網のハードウェアは、特定の動作の命令をエンコードするために、物理的に修正された（例えば、不変質量粒子の磁気的に、電気的に移動可能な配置等に修正された）コンピュータ可読媒体を含む、可変的に接続された物理的コンポーネント（例えば、実行ユニット、トランジスタ、単純回路等）を含み得る。物理的コンポーネントを接続する際に、ハードウェア構成要素の基礎となる電気的特性は、例えば、絶縁体から導体に、またはその逆に変化する。この命令は、関係するハードウェア（例えば、実行ユニットまたはロード機構等）は、可変接続を介してハードウェアの回路網の構成要素を作成し、動作するとき特定のタスクの一部を実行することを可能する。したがって、コンピュータ可読媒体は、デバイスが動作しているときに、回路網の他のコンポーネントに通信可能に結合される。実施例では、物理的コンポーネントのいずれかが、複数の回路網の複数の構成要素で使用され得る。例えば、動作中、実行ユニットは、ある時点で第１の回路網の第１の回路で使用され、別の時点で第１の回路網の第２の回路によって再利用され得る、または第２の回路網の第３の回路によって再利用され得る。
【００８３】
マシン（例えば、コンピュータシステム）１０００（例えば、ホストデバイス１０５、メモリシステム１１０等）は、ハードウェアプロセッサ１００２（例えば、中央処理装置（ＣＰＵ）、グラフィックス処理装置（ＧＰＵ）、ハードウェアプロセッサコア、またはメモリコントローラ１１５等のそれらのいずれかの組み合わせ）、メインメモリ１００４及びスタティックメモリ１００６を含み得、これらの一部または全ては、インターリンク（例えば、バス）１００８を介して相互に通信し得る。マシン１０００は、さらに、ディスプレイユニット１０１０、英数字入力デバイス１０１２（例えば、キーボード）、及びユーザインターフェース（ＵＩ）ナビゲーションデバイス１０１４（例えば、マウス）を含み得る。実施例では、ディスプレイユニット１０１０、入力デバイス１０１２、及びＵＩナビゲーションデバイス１０１４は、タッチスクリーンディスプレイであり得る。加えて、マシン１０００は、ストレージデバイス（例えば、ドライブユニット）１０１６、信号生成デバイス１０１８（例えば、スピーカ）、ネットワークインターフェースデバイス１０２０、及びグローバルポジショニングシステム（ＧＰＳ）センサ、コンパス、加速度計、または他のセンサ等の１つ以上のセンサ１０１７を含み得る。マシン１０００は、１つ以上の周辺デバイス（例えば、プリンタ、カードリーダー等）と通信または制御するためのシリアル接続（例えば、ユニバーサルシリアルバス（ＵＳＢ）接続、パラレル接続、または他の有線または無線（例えば、赤外線（ＩＲ）、近距離無線通信（ＮＦＣ）等））接続等の出力コントローラ１０２８を含み得る。
【００８４】
ストレージデバイス１０１６は、本明細書で説明される技術または機能の任意の１つ以上を組み入れるまたはそれによって利用されるデータ構造または命令１０２４（例えば、ソフトウェア）の１つ以上のセットが記憶される、マシン可読媒体１０２２を含み得る。また、命令１０２４は、マシン１０００によるその命令の実行中に、メインメモリ１００４内に、スタティックメモリ１００６内に、またはハードウェアプロセッサ１００２内に、完全にまたは少なくとも部分的に存在し得る。実施例では、ハードウェアプロセッサ１００２、メインメモリ１００４、スタティックメモリ１００６、またはストレージデバイス１０１６の１つまたはいずれかの組み合わせは、マシン可読媒体１０２２を構成し得る。
【００８５】
マシン可読媒体１０２２は単一の媒体として示されているが、用語「マシン可読媒体」は、１つ以上の命令１０２４を記憶するように構成される単一の媒体または複数の媒体（例えば、集中型もしくは分散型のデータベース、または関連付けられるキャッシュ及びサーバー）を含み得る。
【００８６】
用語「マシン可読媒体」はいずれかの媒体を含み得、いずれかの媒体は、マシン１０００によって実行される命令を記憶、エンコード、または運ぶことが可能であり、マシン１０００に、本開示の任意の１つ以上の技術を行わせる、または係る命令によって使用される、もしくは係る命令と関連付けられるデータ構造を記憶、エンコード、または運ぶことが可能である。非限定的なマシン可読媒体の例は、ソリッドステートメモリ、ならびに光媒体及び磁気媒体を含み得る。実施例では、大容量マシン可読媒体は不変容量（例えば、静止容量）を有する複数の粒子を伴うマシン可読媒体を含む。したがって、大容量マシン可読媒体は一時的な伝播信号ではない。大容量マシン可読媒体の具体例は、半導体メモリシステム（例えば、電気的プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電子的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ））及びフラッシュメモリシステム等の不揮発性メモリと、内蔵のハードディスク及びリムーバブルディスク等の磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスク及びＤＶＤ−ＲＯＭディスクとを含み得る。
【００８７】
命令１０２４（例えば、ソフトウェア、プログラム、オペレーティングシステム（ＯＳ）等）または他のデータは、ストレージデバイス１０２１に記憶され、プロセッサ１００２による使用のためにメインメモリ１００４によってアクセスできる。メインメモリ１００４（例えば、ＤＲＡＭ）は、一般的に、高速であるが揮発性であり、ひいては、「オフ」状態にある期間を含む長期記憶に適しているストレージデバイス１０２１（例えば、ＳＳＤ）とは異なるタイプのストレージである。ユーザまたはマシン１０００によって使用される命令１０２４またはデータは、一般的に、プロセッサ１００２による使用のためにメインメモリ１００４にロードされる。メインメモリ１００４が一杯になると、メインメモリ１００４を補うために、ストレージデバイス１０２１からの仮想空間を割り当てできるが、ストレージデバイス１０２１は、一般的に、メインメモリ１００４よりも遅く、書き込み速度は、一般的に、読み取り速度の少なくとも２倍遅いため、仮想メモリの使用は、（メインメモリ１００４（例えば、ＤＲＡＭ）と対照的に）ストレージデバイスの遅延によって、ユーザ体験を大幅に減らす可能性がある。さらに、仮想メモリのためのストレージデバイス１０２１の使用は、ストレージデバイス１０２１の使用可能な寿命を大幅に減らす可能性がある。
【００８８】
仮想メモリと対照的に、仮想メモリ圧縮（例えば、Ｌｉｎｕｘ（登録商標）カーネル特徴「ＺＲＡＭ」）は、ストレージデバイス１０２１へのページングを回避するために、メモリの一部を圧縮ブロックストレージとして使用する。係るデータをストレージデバイス１０２１に書き込むことが必要になるまで、ページングは圧縮されたブロックで行われる。仮想メモリ圧縮は、ストレージデバイス１０２１の摩耗を減らしながら、メモリ１００４の使用可能なサイズを増加させる。
【００８９】
モバイル電子デバイスまたはモバイルストレージ用に最適化されたストレージデバイスは、従来、ＭＭＣソリッドステートストレージデバイス（例：ｍｉｃｒｏ  Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ（ｍｉｃｒｏＳＤ（商標））カード等）を含む。ＭＭＣデバイスは、ホストデバイスを伴ういくつかのパラレルインターフェース（例えば、８ビットパラレルインターフェース等）を含み、多くの場合、ホストデバイスから取り外し可能で分離しているコンポーネントである。対照的に、ｅＭＭＣ（商標）デバイスは回路基板に取り付けられ、ホストデバイスのコンポーネントと見なされ、シリアルＡＴＡ（商標）（シリアルＡＴ（アドバンストテクノロジー）アタッチメント、またはＳＡＴＡ）ベースのＳＳＤデバイスに匹敵する読み取り速度がある。しかしながら、仮想デバイスまたは拡張現実デバイスを完全に可能にする、速いネットワーク速度を利用すること等のモバイルデバイスのパフォーマンスに対する需要は増え続けている。この需要に応えて、ストレージデバイスはパラレル通信インターフェースからシリアル通信インターフェースに移行している。コントローラ及びファームウェアを含むユニバーサルフラッシュストレージ（ＵＦＳ）デバイスは、専用の読み取り／書き込みパスを伴う低電圧差動信号（ＬＶＤＳ）シリアルインターフェースを使用してホストデバイスと通信し、読み取り／書き込み速度をさらに向上させる。
【００９０】
命令１０２４は、さらに、いくつかの転送プロトコル（例えば、フレームリレー、インターネットプロトコル（ＩＰ）、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）等）のいずれかの１つを利用するネットワークインターフェースデバイス１０２０を介して伝送媒体を使用して通信ネットワーク１０２６を通じて伝送または受信され得る。通信ネットワークの例は、とりわけ、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パケットデータネットワーク（例えば、インターネット）、携帯電話網（例えば、セルラーネットワーク）、従来型電話サービス（ＰＯＴＳ）ネットワーク、及び無線データネットワーク（例えば、Ｗｉ−Ｆｉ（登録商標）として知られる電気電子技術者協会（ＩＥＥＥ）８０２．１１ファミリの規格、ＷｉＭａｘ（登録商標）として知られるＩＥＥＥ８０２．１６ファミリの規格）、ＩＥＥＥ８０２．１５．４ファミリの規格、ピアツーピア（Ｐ２Ｐ）ネットワークを含み得る。実施例では、ネットワークインターフェースデバイス１０２０は、通信ネットワーク１０２６に接続するために、１つ以上の物理的なジャック（例えば、Ｅｔｈｅｒｎｅｔジャック、同軸ジャック、または電話ジャック）または１つ以上のアンテナを含み得る。実施例では、ネットワークインターフェースデバイス１０２０は、シングル入力マルチ出力（ＳＩＭＯ）技術、マルチ入力マルチ出力（ＭＩＭＯ）技術、またはマルチ入力シングル出力（ＭＩＳＯ）技術のうちの少なくとも１つを使用して無線通信するための複数のアンテナを含み得る。用語「伝送媒体」は、マシン１０００による実行のための命令を記憶、エンコード、または運ぶことが可能であるいずれかの無形媒体を含み、係るソフトウェアの通信を容易にするためにデジタル通信信号もしくはアナログ通信信号または他の無形媒体を含むと解釈されたい。
【００９１】
上記の詳細な説明は、詳細な説明の一部を形成する添付の図面に対する参照を含む。図面は、例示として、本発明を実践できる特定の実施形態を示す。これらの実施形態は、また、本明細書では「実施例」と称される。係る実施例は、示された要素または説明された要素に加えた要素を含み得る。しかしながら、本発明者の数人は、また、示されたまたは説明されたその要素だけが提供される実施例を想到している。さらに、本発明者の数人は、また、特定の実施例（またはその１つ以上の態様）に関して、または本明細書に示されたまたは説明された他の実施例（またはその１つ以上の態様）に関してのいずれかについて、示されたまたは説明されたその要素（またはその１つ以上の態様）のいずれかの組み合わせまたは順列を使用する実施例を想到している。
【００９２】
本書では、用語「ａ」または「ａｎ」は、特許文書で一般的であるように、「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」または「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」の任意の他の例または使用法とは関係なく、「１つ」または「１つ以上」を含むために使用される。本書では、用語「または（ｏｒ）」は非排他的を指すために使用され、または別段の指示がない限り、「ＡまたはＢ（Ａ  ｏｒ  Ｂ）」は「ＡであるがＢではない（Ａ  ｂｕｔ  ｎｏｔ  Ｂ）」、「ＢであるがＡではない（Ｂ  ｂｕｔ  ｎｏｔ  Ａ）」、及び「Ａ及びＢ（Ａ  ａｎｄ  Ｂ）」を含み得るように使用される。添付の「特許請求の範囲」では、用語「含む（ｉｎｃｌｕｄｉｎｇ）」及び「〜において（ｉｎ  ｗｈｉｃｈ）」は、各々の用語「含む（ｃｏｍｐｒｉｓｉｎｇ）」及び「そこで（ｗｈｅｒｅｉｎ）」の分かりやすい英語の均等物として使用される。また、以下の「特許請求の範囲」では、用語「含む（ｉｎｃｌｕｄｉｎｇ）」及び「備える（ｃｏｍｐｒｉｓｉｎｇ）」は制約がない。つまり、請求項の係る用語の後に示される要素に加えた要素を含むシステム、デバイス、物品、またはプロセスは、さらに、その請求項の範囲内に含まれると見なされる。さらに、以下の「特許請求の範囲」では、用語「第１の」、「第２の」、及び「第３の」等は、単にラベルとして使用されており、その対象に対する数的な要件を課すことを意図していない。
【００９３】
様々な実施例では、本明細書で説明されるコンポーネント、コントローラ、プロセッサ、ユニット、エンジン、またはテーブルは、とりわけ、物理デバイスに記憶された物理回路またはファームウェアを含み得る。本明細書で使用される「プロセッサ」は、限定的ではないが、マイクロプロセッサ、マイクロコントローラ、グラフィックプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、またはプロセッサもしくはマルチコアデバイスのグループを含む任意の他のタイプのプロセッサまたは処理回路等の任意のタイプの計算回路を意味する。
【００９４】
本書で使用される用語「水平」は、任意の時点における基板の実際の向きに関係なく、ウェーハまたはダイの下にあるもの等、基板の従来の平面または表面に平行な平面として定義される。用語「垂直」は、上記に定義した水平に直角な方向を指す。「上に（ｏｎ）」、「上方に（ｏｖｅｒ）」、及び「下に（ｕｎｄｅｒ）」等の前置詞は、基板の向きに関係なく、基板の上面または露出面にある従来の平面または表面に関して定義される一方、（反対の明示的な指示がない場合）「上に」は、「上」にある別の構造に対するある構造の直接接触を示唆することを意図している。用語「上方に（ｏｖｅｒ）」及び「下に（ｕｎｄｅｒ）」は、構造（または層、特徴等）の相対的配置を識別することを明示的に意図しており、限定的ではないが、そのように特に識別されない限り、識別された構造間の直接接触を明示的に含む。同様に、用語「上方に（ｏｖｅｒ）」及び「下に（ｕｎｄｅｒ）」は水平配向に限定されない。この理由として、構造が水平配向ではなく参照される構造に対して垂直方向に延在しても、係る構造はある時点で説明中の構造の最外部である場合、参照された構造の「上方に（ｏｖｅｒ）」にあり得るためである。
【００９５】
用語「ウェーハ」及び「基板」は、本明細書では、概して、集積回路が形成される任意の構造と、集積回路の製造の様々な段階の期間の係る構造とを指すために使用される。したがって、以下の詳細な説明は、限定的な意味において解釈されず、様々な実施形態の範囲は、添付の「特許請求の範囲」だけによって、「特許請求の範囲」によって権利が与えられる均等物の全範囲と一緒に定義される。
【００９６】
本開示に従った及び本明細書で説明される様々な実施形態は、メモリセルの垂直構造（例えば、メモリセルのＮＡＮＤストリング）を利用するメモリを含む。本明細書で使用されるように、方向に関する形容詞は、メモリセルが形成される基板の表面に対するものとして解釈される（すなわち、垂直構造は基板表面から離れて延在すると解釈され、垂直構造の底端は基板表面に最も近い端と解釈され、垂直構造の上端は基板表面から最も遠い端と解釈される）。
【００９７】
本明細書で使用されるように、水平、垂直、垂線、平行、直角等の方向に関する形容詞は、相対配向を指し得、特に明記しない限り、特定の幾何学的特性への厳密な順守を要求することを意図しない。例えば、本明細書で使用される「垂直構造」は、基板の表面に厳密に垂直である必要はないが、代わりに、基板の表面に略垂直であり得、基板の表面に対して鋭角（例えば、６０〜１２０度等）を形成し得る。
【００９８】
本明細書で説明されるいくつかの実施形態では、異なるドーピング構成を、ソース側選択ゲート（ＳＧＳ）、制御ゲート（ＣＧ）、及びドレイン側選択ゲート（ＳＧＤ）に適用し得、これらのそれぞれは、この実施例では、ポリシリコンで形成される、または少なくともポリシリコンを含み、その結果、これらの層（例えば、ポリシリコン等）は、エッチング液に露出されたときに異なるエッチ速度をもたらし得る。例えば、３Ｄ半導体デバイスでモノリシックピラーを形成するプロセスでは、ＳＧＳ及びＣＧが凹部を形成し得る一方、ＳＧＤは凹部が少ないままであり得る、または凹部が存在すらしないままであり得る。したがって、これらのドーピング構成は、エッチング液（例えば、テトラメチルアンモニウムヒドロキシド（ＴＭＣＨ））を使用することによって、３Ｄ半導体デバイスの別個の層（例えば、ＳＧＳ、ＣＧ、及びＳＧＤ）への選択的エッチングを可能にし得る。
【００９９】
本明細書で使用されるメモリセルの動作は、メモリセルからの読み取り、メモリセルへの書き込み、またはメモリセルの消去を含む。メモリセルを意図された状態にセットする動作は、本明細書では「プログラミング」と称され、メモリセルへの書き込みまたはメモリセルからの消去（例えば、メモリセルは消去状態にプログラムされ得る）の両方を含み得る。
【０１００】
本開示の１つ以上の実施形態に従って、メモリシステムの内部または外部に位置するメモリコントローラ（例えば、プロセッサ、コントローラ、ファームウェア等）は、摩耗サイクルの量、または摩耗状態を決定すること（例えば、選択すること、設定すること、調整すること、算出すること、変更すること、クリアすること、通信すること、適応すること、導出すること、定義すること、利用すること、修正すること、適用すること等）が可能である（例えば、摩耗サイクルを記録すること、摩耗サイクルが発生したときにメモリシステムの動作をカウントすること、カウントを開始したメモリシステムの動作を追跡すること、摩耗状態に対応するメモリシステムの特徴を評価すること等が可能である）。
【０１０１】
本開示の１つ以上の実施形態に従って、メモリアクセスデバイスは、各メモリ動作でメモリシステムに摩耗サイクル情報を提供するように構成され得る。メモリシステム制御回路（例えば、制御論理）は、摩耗サイクル情報に対応するメモリシステム性能の変化を補償するようにプログラムされ得る。メモリシステムは、摩耗サイクル情報を受信し、摩耗サイクル情報に応答して、１つ以上の動作パラメータ（例えば、値、特性）を決定し得る。
【０１０２】
要素が別の要素の「上にある」、別の要素に「接続している」、または別の要素と「結合している」と称されるとき、その要素は、他の要素の上に直接あり得る、直接接続され得る、もしくは直接結合され得るか、または介在要素が存在し得ることが理解される。対照的に、要素が別の要素の「上に直接ある」、別の要素に「直接接続している」、または別の要素と「直接結合している」と称されるとき、介在要素または層は存在しない。２つの要素がそれらを結ぶ線で図面に示されている場合、別段の指示がない限り、２つの要素は結合できる、または直接結合できるのいずれかである。
【０１０３】
本明細書で説明される方法の例は、少なくとも部分的に、マシンまたはコンピュータに実装できる。いくつかの例は、上記の例に説明した方法を行うために電子デバイスを構成するように動作可能な命令でエンコードされたコンピュータ可読媒体またはマシン可読媒体を含み得る。係る方法の実施態様は、マイクロコード、アセンブリ言語コード、高水準言語コード等のコードを含み得る。係るコードは、様々な方法を行うためのコンピュータ可読命令を含み得る。コードは、コンピュータプログラム製品の一部を形成し得る。さらに、コードは、実行中または他の時間等に、１つ以上の揮発性または不揮発性の有形コンピュータ可読媒体に有形で記憶できる。これらの有形コンピュータ可読媒体の例は、限定的ではないが、ハードディスク、リムーバブル磁気ディスク、リムーバブル光ディスク（例えば、コンパクトディスク及びデジタルビデオディスク）、磁気カセット、メモリカードまたはメモリスティック、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、ソリッドステートドライブ（ＳＳＤ）、ユニバーサルフラッシュストレージ（ＵＦＳ）デバイス、組み込みＭＭＣ（ｅＭＭＣ）デバイス等を含み得る。
【実施例】
【０１０４】
実施例１は、メモリシステムと、ホストデバイスメモリと、ホストデバイスプロセッサとを含むシステムであり、前記ホストデバイスプロセッサは動作を行うようにプログラムされ、前記動作は、前記メモリシステムから第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、第１の論理アドレス、及び前記第１の論理アドレスに対応する前記メモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、第１のデジタル署名と、を含む、前記受信することと、前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、前記プロセッサによって、前記ホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、を含む。
【０１０５】
実施例２では、実施例１の主題が随意に含むものに関して、前記ホストデバイスプロセッサは、さらに、動作を行うようにプログラムされ、前記動作は、第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、第２のデジタル署名と、を含む、前記受信することと、前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを決定することと、を含む。
【０１０６】
実施例３では、実施例２の主題が随意に含むものに関して、前記ホストデバイスプロセッサは、さらに、動作を行うようにプログラムされ、前記動作は、前記第２の暗号化動作を実行する前に、前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、前記第２のＬ２Ｐポインタ及び前記第２のデジタル署名を前記ホストデバイスメモリから読み取ることと、前記第２のデジタル署名が検証されていないと決定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、を含む。
【０１０７】
実施例４では、実施例１〜３の任意の１つ以上の主題が随意に含むものに関して、Ｐポインタメッセージはさらに第１のカウンタ値を含み、前記第１の暗号化動作を実行することは、また、前記第１のカウンタ値に少なくとも部分的に基づいている。
【０１０８】
実施例５では、実施例４の主題が随意に含むものに関して、前記プロセッサは、さらに、前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することを含む動作を行うようにプログラムされ、前記暗号化キーを実行することは、また、前記トランザクション暗号化キーに少なくとも部分的に基づいている。
【０１０９】
実施例６では、実施例４〜５の任意の１つ以上の主題は、随意に、前記メモリシステムからのＰポインタメッセージを含む。
【０１１０】
実施例７では、実施例１〜６の任意の１つ以上の主題は、随意に、Ｐポインタを含む。
【０１１１】
実施例８では、実施例１〜７の任意の１つ以上の主題が随意に含むものに関して、前記メモリシステムは、メモリアレイと、コントローラと、を備え、前記コントローラは動作を行うようにプログラムされ、前記動作は、第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて第３の暗号化動作を実行して、前記第１のデジタル署名を生成することと、前記ホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることを決定することと、前記ホストデバイスメモリに記憶するために、前記第１のＬ２Ｐポインタメッセージを前記プロセッサに送信することと、を含む。
【０１１２】
実施例９では、実施例８の主題が随意に含むものに関して、前記メモリシステムはさらにモノトニックカウンタを含み、前記コントローラはさらに前記第１のカウンタ値を前記モノトニックカウンタから読み出すことを含む動作を行うようにプログラムされ、前記第３の暗号化動作はまた前記第１のカウンタ値に少なくとも部分的に基づいている。
【０１１３】
実施例１０では、実施例９の主題が随意に含むものに関して、前記コントローラは、さらに、前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することを含む動作を行うようにプログラムされ、前記第３の暗号化動作はまた前記トランザクション暗号化キーに少なくとも部分的に基づいている。
【０１１４】
実施例１１は、メモリシステムを管理する方法であり、前記方法は、プロセッサによって、メモリシステムにおいて発信された第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、第１の論理アドレス、及び前記第１の論理アドレスに対応する前記メモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、第１のデジタル署名と、を含む、前記受信することと、前記プロセッサによって、前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、前記プロセッサによって、前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、前記プロセッサによって、前記プロセッサに関連付けられるホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、を含む。
【０１１５】
実施例１２では、実施例１１の主題は、随意に、前記プロセッサによって、第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、第２のデジタル署名と、を含む、前記受信することと、前記プロセッサによって、前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、前記プロセッサによって、前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを決定することと、を含む。
【０１１６】
実施例１３では、実施例１２の主題が随意に含むものに関して、前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、前記第２のデジタル署名が検証されていないと決定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、を含む。
【０１１７】
実施例１４では、実施例１１〜１３の任意の１つ以上の主題が随意に含むものに関して、Ｐポインタメッセージはさらに第１のカウンタ値を含み、前記第１の暗号化動作を実行することは、また、前記第１のカウンタ値に少なくとも部分的に基づいている。
【０１１８】
実施例１５では、実施例１４の主題は、随意に、前記暗号化キー及び前記第１のカウンタ値に少なくとも部分的に基づいて、トランザクション暗号化キーを生成することを含み、前記暗号化キーを実行することは、また、前記トランザクション暗号化キーに少なくとも部分的に基づいている。
【０１１９】
実施例１６では、実施例１４〜１５の任意の１つ以上の主題は、随意に、メモリシステムからのＰポインタメッセージを含む。
【０１２０】
実施例１７では、実施例１１〜１６の任意の１つ以上の主題は、随意に、Ｐポインタを含む。
【０１２１】
実施例１８は、プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含む、有形コンピュータ可読媒体であり、前記動作は、第１の論理対物理（Ｌ２Ｐ）ポインタメッセージを受信することであって、前記第１のＬ２Ｐポインタメッセージは、第１の論理アドレス、及び前記第１の論理アドレスに対応するメモリシステムにおける第１の物理アドレスを示す、第１のＬ２Ｐポインタと、第１のデジタル署名と、を含む、前記受信することと、前記第１のＬ２Ｐポインタ及び暗号化キーに少なくとも部分的に基づいて、第１の暗号化動作を実行することと、前記第１の暗号化動作に少なくとも部分的に基づいて、前記第１のデジタル署名を検証することと、前記プロセッサに関連付けられるホストデバイスメモリにおいて前記第１のＬ２Ｐポインタをキャッシュすることと、を含む。
【０１２２】
実施例１９では、実施例１８の主題が随意に含むものに関して、前記コンピュータ可読媒体は、さらに、前記プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含み、前記動作は、第２のＬ２Ｐポインタメッセージを受信することであって、前記第２のＬ２Ｐポインタメッセージは、第２の論理アドレス、及び前記第２の論理アドレスに対応する前記メモリシステムにおける第２の物理アドレスを示す、第２のＬ２Ｐポインタと、第２のデジタル署名と、を含む、前記受信することと、前記第２のＬ２Ｐポインタ及び前記暗号化キーに少なくとも部分的に基づいて、第２の暗号化動作を実行することと、前記第２の暗号化動作に少なくとも部分的に基づいて、前記第２のデジタル署名が検証されていないことを決定することと、を含む。
【０１２３】
実施例２０では、実施例１９の主題が随意に含むものに関して、前記コンピュータ可読媒体は、さらに、前記プロセッサによって実行されるとき、前記プロセッサに動作を行わせる命令を含み、前記動作は、前記プロセッサによって、前記ホストデバイスメモリにおいて前記第２のＬ２Ｐポインタをキャッシュすることと、前記第２のデジタル署名が検証されていないと決定した後、前記第２のＬ２Ｐポインタを前記ホストデバイスメモリから除去することと、を含む。
【０１２４】
上記の説明は、例示を意図したものであり、限定的なものではない。例えば、上述の実施例（またはその１つ以上の態様）は、相互に組み合わされて使用され得る。上記の説明を検討する際に当業者によって等、他の実施形態を使用できる。これは、「特許請求の範囲」の範囲または意味を解釈または限定するために使用されないとの理解のもとに提案されている。また、上記の「発明を実施するための形態」では、様々な特性が本開示を効率化するために一緒にグループ化され得る。これは、請求されていない開示された特徴がいずれかの請求項に対して不可欠であることを意図すると解釈されるべきではない。むしろ、本発明の主題は、特定の開示されている実施形態の全ての特性に満たないものに存在し得る。したがって、次の「特許請求の範囲」は「発明を実施するための形態」に組み込まれ、各請求項は別個の実施形態として自立しており、係る実施形態は、様々な組み合わせまたは順列で相互に組み合わせることができると想到される。本発明の範囲は、添付の「特許請求の範囲」に関して、係る「特許請求の範囲」によって権利が与えられる均等物の全範囲と一緒に決定されるべきである。
【図１】
2021530152.tif 000003
【図２】
2021530152.tif 000004
【図３】
2021530152.tif 000005
【図４】
2021530152.tif 000006
【図５】
2021530152.tif 000007
【図６】
2021530152.tif 000008
【図７】
2021530152.tif 000009
【図８】
2021530152.tif 000010
【図９】
2021530152.tif 000011
【図１０】
2021530152.tif 000012
【国際調査報告】
2021530152.tif 000013
2021530152.tif 000014