(57)【要約】  本開示は、格納する値が参照値と比較して有効であるメモリデバイスの素子に関連付けられるアクション（ホストデバイスによる読み取り又は書き込みなど）を確保する技術について説明する。  この参照値は実際のメモリの特性に関連付けられる。  この値を格納する素子はメタデータを格納するために構成されたメモリの領域に格納できる。  値はメモリデバイスが製造された後に再度プログラムされるので、間違って又は不正確にメモリの特性が反映されるように素子に格納された値がホストデバイスによって変更されることが可能である。 反対に、参照値はメモリの別の領域に格納され、その参照値は真の値である。
2019507918.tif 000002
【特許請求の範囲】
【請求項１】
メモリデバイスにおいて、
メモリ部分に
の少なくとも１つの物理パーティション
メモリの一部に関連する少なくとも一つの特性を示す一つ又は複数
の素子値を格納する一つ又は複数の素子を含むメタデータを格納する第一
メモリ領域と、
メモリ部分に少なくとも部分的にデータを格納する第二メモリ領域
と、一つの素子又は複数の素子に関連付けられる
アクションがメモリの少なくとも１つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成されるコントローラーを備える少なくとも１つの物理パーティションから成るメモリ。
【請求項２】
メモリ部分がプライマリパーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つを有する請求項1に記載のメモリデバイス。
【請求項３】
メモリの個々の領域はプライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータエリア、又は論理ユニットの部分の少なくとも一つを有する請求項１に記載のメモリデバイス。
【請求項４】
請求項１に記載のメモリデバイスにおいて、メモリの少なくとも１つの物理パーティションに関連する実際の特性は
メモリデバイスの総容量、
第一メモリ領域と第二メモリ領域のメモリを合わせた容量、
メモリ部分の容量、
第二メモリ領域の容量、
メモリ部分又は領域の開始アドレス、
メモリ部分又は領域の開始アドレスの位置合わせ、又は
メモリ部分のアロケーションユニットのサイズの一つに関連する。
【請求項５】
請求項1に記載のメモリデバイスにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
メモリの少なくとも１つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、
かつ、コントローラーは
更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
更新した素子値が参照値を超えることを確定し、
かつ、更新した素子値が素子に書き込まないように構成される。
【請求項６】
コントローラーは更新した素子値を書き込む要求の受信に応えて、更新したた素子値の代わりに参照値を素子に書き込むように構成されている請求項5に記載のメモリデバイス。
【請求項７】
請求項1に記載のメモリデバイスにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
アクションは素子から現在の素子値を読み取るホストデバイスからの要求で成り、
メモリの少なくとも１つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、 
かつ、コントローラーは
現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
素子に格納されている現在の素子値が参照値を超えることを確定し、
現在の素子値がホストデバイスに読み出されないようにし、かつ
現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
要求の受信に応えて、現在の素子値の代わりに参照値をホストデバイスに提供する
ことから構成される。
【請求項８】
コントローラーはレジスタ、記述子、属性、又はフラグの少なくとも一つからなる第三メモリ領域を介して参照値にアクセスするように構成されており、
第メモリ領域は (i) ホストデバイスの第一製造元又はメモリデバイスの第二製造者によって1回のみプログラム可能である、又は (ii) 参照値が第三領域で再度プログラムされる前にホストデバイスの認証を必要とする、請求項１に記載のメモリデバイス。
【請求項９】
セキュアデジタル（SD）カード、埋め込み型MultiMediaCard（eMMC）メモリデバイス、ユニバーサルフラッシュストレージ（UFS）カード、PCIe（Peripheral Component Interconnect Express）カード又はソリッドステートドライブ（SSD）の一つから成る請求項1に記載のメモリデバイス。
【請求項１０】
メタデータはマスターブートレコード（MBR）、グローバル一意識別子（GUID）パーティションテーブル（GPT）、又はボリュームブートレコード（VBR）の一つに関連付けられる請求項1に記載のメモリデバイス。
【請求項１１】
メソッドは
一つの素子又は複数の素子に関連付けられるアクションがメモリの少なくとも１つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成され、
メモリは、メモリの１部分に関連する少なくとも一つの特性を示す一つ又は複数の素子を格納する一つ又は複数の素子を含むメタデータを加工能する第一領域と、メモリ部分の少なくとも一部のデータを格納する第二領域から成る。
【請求項１２】
メモリ部分がプライマリパーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つを有する請求項１１に記載のメソッド。
【請求項１３】
メモリの個々の領域はプライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータエリア、又は論理ユニットの部分の少なくとも一つを有する請求項11に記載のメソッド。
【請求項１４】
請求項11に記載のメソッドにおいて、メモリの少なくとも１つの物理パーティションに関連する実際の特性は
メモリデバイスの総容量、
第一メモリ領域と第二メモリ領域のメモリを合わせた容量、
メモリ部分の容量、
第二メモリ領域の容量、
メモリ部分又は領域の開始アドレス、
メモリ部分又は領域の開始アドレスの位置合わせ、又は
メモリ部分のアロケーションユニットのサイズの一つに関連する。
【請求項１５】
請求項11に記載のメソッドにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
メモリの少なくとも１つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、
メソッドはさらに、
更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
更新した素子値が参照値を超えることを確定し、
かつ、更新した素子値が素子に書き込まないように構成される。
【請求項１６】
請求項11に記載のメソッドにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
現在の素子値が素子に読み取るホストデバイスからの要求から成り、メモリの少なくとも１つの物理パーティションに関係する実際の特性がメモリデバイスの容量に県連付けられ、かつ、
メソッドはさらに、
現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
素子にすでに格納されている現在の素子値が参照値を超えることを確定し      、
現在の素子値がホストデバイスに読み出されないようにし、かつ
現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
要求の受信に応えて、現在の素子値の代わりに参照値をホストデバイスに提供する
ことから構成される。
【請求項１７】
システムにおいて、
メモリは
メモリの一部に関連する少なくとも一つの特性を示す一つ又は複数の素子
値を格納する一つ又は複数の素子を含むメタデータを格納する第一メモリ領域と、
メモリ部分に少なくとも部分的にデータを格納する第二メモリ領域と、
一つの素子又は複数の素子に関連付けられるアクションがメモリの少なくとも１つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成されるコントローラーを備えるメモリ。
【請求項１８】
請求項１７に記載のシステムにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
物理パーティションに関連する実際の特性は物理パーティションの容量から成り、
かつ、コントローラーは
更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
派生した参照値を派生する物理パーティションの容量から第一メモリ領域
のサイズを減算し、
更新した素子値が派生した参照値を超えることを確定し、
かつ、更新した素子値が素子に書き込まないように構成される。
【請求項１９】
コントローラーは更新した素子値を書き込む要求の受信に応えて、更新したた素子値の代わりに派生した参照値を素子に書き込むように構成されている請求項18に記載のシステム。
【請求項２０】
請求項１７に記載のシステムにおいて、
一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
アクションは素子から現在の素子値を読み取るホストデバイスからの要求で成り、
物理パーティションに関連する実際の特性は物理パーティションの容量から成り、
かつ、コントローラーは
現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
ターし、
参照値を評価し、
派生した参照値を派生する物理パーティションの容量から第一メモリ領域
のサイズを減算し、
素子にすでに格納されている現在の素子値が派生した参照値を超えること
を確定し、
現在の素子値がホストデバイスに読み出されないようにし、かつ
現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
要求の受信に応えて、現在の素子値の代わりに派生した参照値をホストデバイスに
提供することから構成される。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１５年１２月２１日出願の米国仮特許出願第６２／２７０,４９３号の優先権から、２０１６年１２月１９日出願の米国実用新案特許出願第１５／３８３,６３１号の優先権を主張する。特許出願番号１５／３８３,６３１および６２／２７０,４９３は参照により本明細書に組み込む。
【背景技術】
【０００２】
マネージドNAND型記憶域モジュールのようなメモリデバイス（たとえば記憶域モジュール）はモバイル電話デバイス（たとえばスマートフォン）、タブレットデバイス、全世界測位システム（GPS）デバイス、電子書籍デバイス、メディアプレーヤーデバイスなどを含むさまざまなタイプの「ホスト」デバイスと関連して使用される。メモリデバイスの例にはセキュア デジタル（ＳＤ）カード、埋め込み型MultiMediaCard（eMMC）、ユニバーサルフラッシュストレージ（UFS）、ソリッドステートドライブ（SSD）モジュールなどがある。  メモリデバイスは、オペレーティング システム コード、アプリケーション、ユーザーデータ（たとえば写真データ、ビデオ データ）を含むメモリデバイスに結合されたホストデバイスが使用するデータを格納する。  また、メモリデバイスはホストデバイスが使用する、又はメモリデバイス自体が使用する、メタデータ、構成データを含むその他のタイプのデータを格納する。
【０００３】
ホストデバイスの機能が増えるにつれて、またユーザーがさらにユーザーデータ（たとえばダウンロード済みのアプリ、イメージ、メッセージ）を作成するにつれて、メモリデバイスはさらに多くのデータを格納するタスクが課せられる。  よって、ストレージ容量の正確な反映とメモリデバイスのその他の特性がホストデバイスのユーザーのほかにメモリデバイス自体（たとえば最適化されたパフォーマンス）にも重要性を加えた。  例えば、ユーザーは１６ギガバイト（たとえば１６GB SDHCカード）を格納するメモリデバイスの代わりに、６４ギガバイトを格納するメモリデバイス（たとえばユーザーの携帯電話用６４GB SDXCカード）を欲するかもしれない。
【０００４】
最近、偽造者たちはメモリデバイスに格納する情報を変更しているので、その情報にアクセスしてメモリデバイスから読み出されるとき、メモリ容量は正確に反映されていない。また、メモリデバイスに格納されたその他の情報はメモリデバイスの実際の特性に一致しないことがあり、メモリデバイスは最適な方法で操作されないことがある。例えば、１６GB メモリデバイスのパーティション情報は、ホストに対して６４GBメモリデバイスとして誤って表示されるように変更されることがある。  そのため、このパーティション情報は間違った又は不正確な変更された情報になることがある。  つまり、メモリデバイスは実際は、高密度カード（たとえば６４GB SDXCカード）に見えるように偽造者たちよって変更された低密度カード（たとえば１６GB SDHCカード）かもしれない。別の例として、パーティションの実際のデータエリアの始めは適切なブロック境界内でないことがある。
【０００５】
時には、顧客は、メモリデバイスが実際は少量のデータ（たとえば１６GB）しか格納できないのに、大量のデータ（たとえば６４GB）を格納できるように見えるメモリデバイスの購入価格を支払うことがある。  顧客は結局、不正確で虚偽の情報を基にしたメモリデバイスのパフォーマンスに失望することになる。   例えば、顧客は、このメモリデバイスは実際のメモリデバイスの密度を超えるアドレスにデータを書き込むことができないことに気づくかもしれない。  又は、顧客は、このメモリデバイスは実際のメモリデバイスの密度を超えるアドレスにデータを書き込むときに破損することに気づくかもしれない。
【図面の簡単な説明】
【０００６】
【図１】メモリデバイスが値を格納する素子に関連付けられたアクションが参照値の使用を通して有効であるように構成されている環境の例を示す。  素子によって格納された価はメモリの少なくとも１つの部分に関連する特性（たとえば容量）を表示できる。
【図２】参照値がメモリのひとつの領域に格納され、アクションに関連付けられた値が、メモリデバイスが製造された後に再度プログラムされる影響を受けやすいメモリの別の領域に格納されているメモリデバイスの例のさらに詳細を示す。
【図３】値を格納する素子に関連付けられたアクションの発生をモニターし、(i) アクションが有効である、又は (ii) 素子に格納された値が有効であるようにするプロセスの例を示す。  この例のプロセスはメモリデバイスで実装できる。
【図４】値を格納する素子に関連付けられた書き込みアクションが有効であるように、又は素子に格納された値が有効であるように、参照値又は派生した参照値を評価するプロセスの例を示す。  この例のプロセスはメモリデバイスで実装できる。
【図５】値を格納する素子に関連付けられた読み取りアクションが有効であるように、又は素子に格納された値が有効であるように、参照値又は派生した参照値を評価するプロセスの例を示す。  この例のプロセスはメモリデバイスで実装できる。
【図６】(i) ホストデバイスによる書き込みアクションが有効であるように、又は (ii) 素子にすでに格納された現在の値が有効であるように、ホストデバイスとメモリデバイスの間で実装された例の相互作用を示す。
【図７】本書に記載される技術が実装される例のメモリデバイス（たとえばSD カード）を示す。  マスターブートレコード（MBR）パーティション分割とファイルアロケーションテーブル（FAT）ファイルシステムを実装するシングル物理パーティションを示す。
【図８】本書に記載される技術が実装される例のメモリデバイスを示す。GUID パーティション テーブル（GPT）とFATファイルシステムを実装する一つの物理パーティションを示す。
【図９】本書に記載される技術が実装される例のメモリデバイス（たとえばeMMC）を示す。  MBRパーティション分割とFATファイルシステムを個々に実装できる複数の物理パーティションと複数のプライマリ パーティションを示す。
【０００７】
図は説明目的のためだけに本発明の実施形態と例の両方又はいずれかを示す。  本技術の分野における知識を有する者は、本書の代替実装と構造・方法の代替例の一方もしくはその両方が本書に記載される原理から逸脱せずに採用できることに以下の説明から容易に気づくだろう。
【発明を実施するための形態】
【０００８】
以下の説明は、本技術の分野における通常の知識を有する者はさまざまな実装を実行し、使用できることを示す。  具体的なデバイス、技術、応用の説明は例として提供する。  本書に記載される例に対するさまざまな変更は本技術の分野における通常の知識を有する者には容易に明らかで、本書で定義されている一般的な原理はさまざまな実装範囲から逸脱せずに その他の例に適用できる。  よって、さまざまな実装は本書に記載される例に限られるものではなく、請求と一致した範囲に調和されるものである。
【０００９】
本開示は、値を格納するメモリデバイスの素子に関連付けられたアクション（たとえばホストデバイスによる読み取り又は書き込み）が参照値（たとえば有効な結果の中での結果）と比較して有効であるようにする技術について説明する。  参照値はメモリデバイスの実際の特性に関連付けられる（たとえばメモリ容量のサイズ又は量、プライマリパーティション容量のサイズ又は量）。  少なくともひとつの実装では、値を格納する素子はメタデータ（たとえばパーティション分割メタデータ、メモリデバイスのシステム構造に関連するデータなど）の格納に使用されるメモリの領域に格納される。  この領域はホストデバイスに表示される素子を含むので、素子はメモリデバイスが製造された後に読み取りや再プログラムが可能になる。  その結果として、素子に格納された値はホストデバイスによって変更が可能になるので（たとえば偽造者によって制御される）、メモリデバイスの実際の特性を間違って又は不正確に反映する。
【００１０】
反対に、参照値は読み取られる設定を含むメモリの領域（たとえばレジスタ、記述子、属性、フラグなどに関連付けられる）に格納されるが、 (i) メモリデバイスが製造された後は再プログラムができない（たとえばその設定は1回のみプログラム可能）、(ii) ホストデバイスの制御ではなく、メモリデバイスの制御のみで再プログラム又は変更ができる（たとえばメモリデバイスによって開始・制御された動的容量調整）、又は (iii) そこに格納されている参照値が変更されればホストデバイスの認証が必要になる。  参照値を含むメモリデバイスのこの領域は、ホストデバイスに表示される又は表示されない。  さまざまな例では、参照値は製造段階で、メモリデバイスの製造者によってのみプログラムできるので、参照値はメモリデバイスが製造された後にホストデバイスによって変更できない。  従って、参照値はメモリデバイスの実際の特性を正しくかつ正確に反映する真の値である。
【００１１】
さまざまな例では、値を格納する要素に関連付けられる「書き込み」アクションはその値がその要素に書き込まれる（たとえばホストデバイスによって）場合、その値が最終的にその値に書き込まれる（たとえばメモリ コントローラーによって）場合、又はその素子に格納され続ける値が参照値と比較して有効な場合、有効である。  さまざまな例では、値を格納する要素に関連付けられる「読み取り」アクションはその要素から読み取られるその値が参照値と比較して有効である場合、又はある有効値が参照値を基にしてホストデバイスに配信される場合、有効である。
【００１２】
ある実装では、参照値はメモリデバイスのメモリ容量に関連付けることができる。  例えば、参照値を格納する特定のC_SIZEレジスタを含むことができる1セットのCSDレジスタから成るセキュアデジタル（SD）カードはSDカードの実際のメモリ容量（たとえばSDカードの一つの物理パーティション内にあるマスターブートレコード（MBR）プライマリパーティションのサイズ）を反映する、又は派生するために使用可能である。  従って、SD カードはC_SIZE レジスタに格納される参照値を使用でき、C_SIZE レジスタ以外のSD カードの領域（たとえば本書で説明する「素子」はパーティション メタデータの領域に位置する）にホストデバイスによって書き込まれた容量値が有効であるようにする（たとえばC_SIZE レジスタに格納された書き込み値と参照値との比較による）。  SD カードは、派生した参照値を派生（たとえば計算）し、C_SIZE レジスタ以外のSDカードの領域からホストデバイスで読み取った容量値が有効であるようにするC_SIZE レジスタに格納される参照値も使用できる。  例えば、派生した参照値は、C_SIZEレジスタ（たとえばSDカードの一つの物理パーティションのサイズ）の参照値からパーティションメタデータ領域のサイズを差し引いたものでも良い  メモリ容量についての場合は、書き込み値又は読み取り値のほかに、それに関連付けられたアクションは参照値又は派生した参照値以下又は同等の場合は有効であるが、それが参照値又は派生した参照値を超えた場合は有効でない。
【００１３】
その結果として、本書で説明した技術は (i) メモリデバイスの制御のみで再プログラム又は変更される、又は再プログラムされるために認証が必要であるメモリのひとつの領域に格納される参照値と (ii) 再プログラムが可能なメモリの別の領域に現在格納されている相対値（たとえば認証なし）との間にリンクを確立する。  本技術は相対値に関連するアクション（たとえばホストデバイスによる読み取り又は書き込み）が有効であるように確立されたリンクを使用する。
【００１４】
図1は、本開示が実装される例の環境１００を示す。  例えば、例の環境１００では、メモリデバイス１０２は値を格納する素子に関連付けられたアクションが参照値と比較して有効であるように構成されている。  このアクションはホスト１０４によって、又はこのホストに従って実装できる。  例えば、このアクションはホストデバイス１０４による書き込み又は読み取りに関連付けできる。
【００１５】
ホストデバイス１０４はスマートフォンデバイス、ウェアラブルデバイス（たとえば腕時計、メガネ、心拍数モニタリングデバイスなど）、ラップトップコンピュータ、タブレットデバイス、画像キャプチャデバイス（たとえばカメラ、ビデオ録画デバイスなど）、ネットブックバイス、ゲーム機デバイス、パーソナルコンピューティング装置（たとえばデスクトップコンピューター）、サーバーデバイス、セットトップボックスデバイス、ホームデバイス（たとえばアプライアンス装置、サーモスタット装置、 ガレージドア装置など）、又はホストデバイスに接続又は結合されているメモリデバイスによってストレージを必要とするその他電子装置から成る。  ある例では、ホストデバイス１０４はディスプレイ（たとえばタッチディスプレイ）、ディスプレイをプロセッサに接続するバス、およびグラフィックスの表示とテキストをディスプレイ上で処理するグラフィックスサブシステムのすべて若しくはその一方を含むことがある。  ホストデバイス１０４は、ダイナミックランダムアクセスメモリ（DRAM）のようなホストシステムメモリ、センサ（たとえば加速度計、ジャイロスコープ、GPSなど）、入力/出力コンポーネント（I/O）（たとえばスピーカー、マイク、キーボード）、及びコミュニケーションズインタフェース（たとえばセルラー、USB、Wi-Fi、Bluetooth、又はその他有線又は無線インターフェイス）のうちの１つ又は複数を含むことがある。
【００１６】
さまざまな実装では、メモリデバイス１０２はプリント基板上にマウントされるように設計されたたとえば、ボールグリッドアレー（BGA）パッケージのパッケージ内に含まれることがある。  例えば、メモリデバイス１０２は埋め込み型MultiMediaCard（eMMC）又はユニバーサルフラッシュストレージ（UFS）モジュールである。  代わりに、メモリデバイス１０２はホストデバイス１０４上のスロット内、ソリッドステート装置（SSD）モジュールのようなセミリムーバブルデバイス内、又はPC/サーバーカード/モジュール（例えばPCIe（Peripheral Component Interconnect Express）カード）内に適合するリムーバブルカード（SDカード）内に含まれることができる。  さらに、メモリデバイス１０２はひとつの内蔵デバイスであったり、又は連結されたデバイスのコレクションとして実装できる。
【００１７】
メモリデバイス１０２はコントローラー１０６（たとえばメモリコントローラー）を含む。  コントローラー１０６は読み取りと書き込みの両方又はその一方の要求、メモリデバイス１０２（たとえばしばしば大容量記憶装置、不揮発性メモリ、大容量記憶装置と呼ばれる）のメモリ（たとえば記憶領域）間のデータ、及びホストデバイス１０４に従って、通信するように設定される。  さまざまな実装において、コントローラー１０６は、コントローラー１０６の操作を制御するには制御回路、操作情報を格納しメモリデバイス１０２内に一時的な格納場所を提供するために又はその一方のためのランダムアクセスメモリ（RAM）、内部クロック信号を生成するクロック生成回路、ホストデバイス１０４からデータやコマンドの両方又はその一方を受信するレシーバ回路（たとえばホストコントローラー、又はその他ホストデバイスの処理装置）、データやステータス情報の両方又はその一方をホストデバイス１０４に送信する送信器回路（たとえばホストコントローラー）のすべて又はその一つを含むことができる。  さらに、コントローラー１０６は少なくとも一つのバスを通してメモリデバイス１０２のメモリに接続できる。これによって、コントローラー１０６はメモリからデータを読み取ったりメモリにデータを書き込んだりなど、メモリでの通信が可能になる。  さまざまな例において、ストレージはそれぞれ１ビット（SLC：シングルレベルセル）又は複数ビット（MLC：マルチレベルセル）のデータを格納できるメモリ回路やメモリーセル（たとえばNAND型セル）を持つNAND型フラッシュメモリのような不揮発性メモリで実装できる。  もう一つの不揮発性メモリは本開示から逸脱しない範囲で使用できる。  例えば、不揮発性メモリには相変化メモリ（PCM）、磁気抵抗ランダムアクセスメモリ（MRAM）、抵抗変化型メモリ（RRAM）、強誘電体メモリ（FRAM）などを含むことができる。
【００１８】
メモリデバイス１０２のメモリはホストデバイス104に表示されるアドレススペースから成る。  表示されるアドレススペースは物理アドレス空間（たとえばホストはNAND型フラッシュのような不揮発性メモリの物理アドレスにアクセスできる）として考慮されるか、又は論理アドレス空間（たとえばマネージドNAND型メモリデバイスのフラッシュ管理機能は論理から物理へのマッピング変換テーブルを使って、ホストから受信したアドレスを不揮発性メモリの物理アドレスに変換する）として考慮される。例えば、アドレススペースにはメモリの一つ又は複数の部分を含むことができる。  例によっては、メモリ部分にはMBRプライマリパーティション、GUIDパーティションテーブル(GPT）パーティション、物理パーティション（たとえばeMMC標準で定義されている汎用のパーティション）、又は論理ユニット（UFS標準で定義の通り）を含むことができる。  上述の通り、メモリデバイス１０２のメモリ（たとえばストレージ）は領域に分けることができ、その領域は次の通りである。(i) メモリの個々の部分内にある特定領域（たとえばMBRプライマリパーティション、GPTパーティション、物理パーティション、又はLUの一部）、 (ii) メモリのパーティション（たとえば領域はMBRプライマリパーティション、GPTパーティション、物理パーティション、又はLUから成る）、又は (iii) レジスタ、記述子、属性、フラグの一つ又は複数。例えば、以下の該当する図１で説明のように、第一領域及び第二領域はメモリの単一部分の一部でも良い（たとえばマスターブートレコードの第一領域とMBRプライマリパーティションを含む第二領域を含むシングル物理パーティションしか付いていないSDカード）。  又は、第一領域および第二領域はそれぞれメモリの別の部分から成る（たとえばメタデータは第一部分に、ユーザーデータは第二部分に格納される）。
【００１９】
その結果、図1は、メタデータ１１０を格納するために使用されるメモリの第一領域１０８を示す。  メタデータ１１０は、ホストデバイス１０４がどのようにデータをメモリデバイス１０２に並べ替えたかに関係するデータを含む。  従って、メタデータ１１０はメモリデバイス１０２のコントローラー１０６で、内部で使用（たとえば評価）できる（たとえばホストデバイス１０４によって開始される読み取り又は書き込みに従って）。  さまざまな実装において、メタデータ１１０はマスターブートレコード（MBR）、GUIDパーティションテーブル（GPT）、又はボリュームブートレコード（VBR）のようなメモリデバイス１０２のパーティション分割情報を含むことができる。  MBRは、MBRプライマリパーティションがメモリデバイス１０２のメモリ上にどのように並べられる（たとえば配置）かについての情報を含む。MBRは、ホストデバイス１０４にインストールされたオペレーティングシステムのローダーとして機能に実行可能なコードも含むことができる。  GPTはグローバル一意識別子（GUID）を使用するパーティションテーブルのレイアウト用標準から成る。  VBRはメモリデバイスの別の部分に格納された（たとえば本書に記載の図１に関する第二メモリ領域）ブートストラッププログラム（たとえばオペレーティングシステム）のコードを含む。
【００２０】
第一メモリ領域１０８に格納されたメタデータ１１０は一つ又は複数の素子１１２を含むことができ、そこでは個々の素子１１２がメモリデバイス１０２の特性１１４を示す値を格納するように設計されている。  特性１１４はメモリの一部分又はメモリの一領域に関連付けられる。  個々の素子１１２は特定アドレスを指定でき、読み取り又は書き込みの要求に関連付けてホストデバイス１０４によって識別できる。   ある例では、個々の素子１１２は既知のアドレスを介してホストデバイス１０４によってアクセス可能で、かつメモリデバイスにある部分の第一アドレス又はメモリの領域、メモリデバイスにある部分の最後のアドレス又はメモリの領域、又はメモリデバイスにある部分のサイズ（又は長さ）又はメモリの領域を示すフィールド（たとえば４バイトフィールド）から成る。  前述の通り、素子１１２に格納されている特性を示す値１１４は再プログラムが可能なので、素子１１２はメモリデバイス１０２の特性や容量（たとえばメモリ容量）の両方又はその一方を間違って又は不正確に反映したいと願う偽造者による変更の影響を受けやすい。  例えば、特性１１４の間違った又は不正確な値の反映は、書き込み要求又は読み取る要求などのホストデバイスによるアクションに関連付けられる。
【００２１】
第二メモリ領域１１６は例えば、ユーザーデータ１１８に格納できる。  上述の通り、第二メモリ領域１１６はダウンロードしたアプリ、イメージ（たとえば絵、写真、ビデオなど）、音楽、センサーデータなどを含むユーザーデータ１１８を格納するメモリの一部分又は複数の部分（たとえばプライマリパーティション、物理パーティション、LUなど）から成る、又は一部になることができる。さまざまな実装では、第二メモリ領域１１６は例えば、オペレーティングシステムに関連付けられるホストデータも格納できる。ある例（たとえばSDカード）では、第二メモリ領域１１６はパーティションブートセクタ、ファイルアロケーションテーブル（FAT）、ルートディレクトリのすべて又はその一方のようなファイルシステムのアーキテクチャを格納できる。  図１の点線で示す通り、および本書でさらに記載の通り、特性１１４を示す値は第二メモリ領域１１６の特性に相当する。
【００２２】
第三メモリ領域１２０は設定１２２を維持し、そこで個々の設定１２２がメモリデバイス１０２の実際の特性１２４に関連付けられる参照値を格納する。  上述した通り、個々の設定１２２に格納された参照値は、第三メモリ領域１２０は製造段階にメモリデバイス１０２の製造元によってプログラムされたので、正しくかつ正確（たとえば真実又は最適）な値である。  さまざまな実装では、第三メモリ領域１２０の設定１２２はその中に格納された参照値がホストデバイス１０４によって後に再度プログラムされないように、保護されている。  よって、第三メモリ領域１２０は、メモリデバイス１０２が製造・展開された後にホストデバイス１０４によって変更されないように値を格納する設定を含むことができる。  代替実装では、メモリ第三領域１２０の設定１２２はその中に格納されている参照値がホストデバイス１０４によって後に再度プログラムできるように保護されているが、そのホストデバイス１０４が認証された場合のみである（たとえばホストデバイスが設定１２２に格納された参照値を変更するために認証される）。  しかし、別の代替実装では、この参照値はメモリデバイスの制御下で再度プログラムできる（たとえばホストデバイスとの相互のハンドシェイクに関連付けて）。
【００２３】
その結果、第三メモリ領域１２０はハードウェアレジスタのセット、記述子、属性、又はフラグ（たとえばSDカード内のCSDレジスタ）から成り、メモリデバイス１０２の容量についての実際の情報を格納する。  参照値で表される実際の特性１２４はメモリデバイスの総容量、メモリ領域の容量（たとえば第二メモリ領域１１６）、第一メモリ領域１０８及び第二メモリ領域１１６を合わせた容量、メモリの個々の領域の容量（たとえばプライマリーパーティション、物理パーティションなど）、メモリの個々の部分又は個々の領域の開始アドレス、メモリの個々の領域の開始アドレスと個々の領域の両方又はその一方の位置合わせ（たとえば評価の高いアドレス境界）、メモリ部分のアロケーションユニットのサイズ、メモリデバイスの最大待ち時間と規定待ち時間の両方又はその一方、メモリデバイスの最新消費値などの一つ又は複数に関連付けられる。本書に記述の技術は、実際の特性１２４で表される本情報がひずまず、メモリデバイスが実際の操作境界外である偽情報を伝えないようにする（たとえばメモリデバイスが正しくないものを正しいと偽って再プログラムされた情報を伝達しないようにする）。この技術はメモリデバイス１０２がさらに最適化された操作（たとえば高いパフォーマンス、長いライフタイムなど）を実行するようにする。
【００２４】
従って、本書に記載の技術は第一メモリ領域１０８の素子１１２と第三メモリ領域１２０の設定１２２の間にリンクを作る（たとえば現在、素子に格納されている相対値と設定に格納されている参照値の間のリンク）。  １２６で参照された通り、メモリデバイス１０２のコントローラー１０６は同じ特性１１４を示す相対値を格納する素子１１２と関連付けられるアクションが有効でるように、又は素子に残る値が有効であるように、第三メモリ領域１２０の設定１２２に格納されているので、実際の特性１２４に関連付けられる参照値を評価（たとえばアクセス、読み取りなど）できる。  メモリデバイス１０２のコントローラー１０６は設定１２２に格納された参照値から派生された参照値を派生できる。又は代わりに派生参照値を派生できる。  １２８で参照された通り、アクションは読み取り又は書き取り要求などホストデバイス１０４によって開始できる。  このアクションは第一メモリ領域１０８の素子１１２から読み取られた値、又は書き込まれた値が間違った又は不正確な値の場合は、１３０で参照された通り、無効になる。  例えば、 SDカードの実際のメモリ容量が１６GBのときに、SDカードのプライマリパーティションの容量が６４GB（近く）を示す値を読み取る又は書き込む場合は有効になる。  その結果として、本書に記載される技術は正しい又は正確な価値が１３２で参照された通り、素子１１２から読み取られる、又は素子１１２に書き込まれるように、参照値又は派生した参照値を評価する。  この場合、アックションは有効として考慮できる。
【００２５】
さまざまな実装によって、素子１１２から読み取られた値又は素子１１２に書き込まれた値は正しいために及びアクションが有効であるために、必ずしも参照値又は派生した参照値に一致する必要はない。  例えば、ホストデバイス１０４は設定１２２（たとえば参照値又は派生した参照値が１６GBの容量又はそれに近い容量を示すとき、ホストデバイス１０４は１２GBのプライマリパーティション容量を示す値をプログラムする）に格納された対応する容量よりも少ない素子１１２に容量(たとえばプライマリパーティション容量、物理パーティション容量など)値を書き込むことで有効なアクションを実行できる。  ただし、ホストデバイス１０４は設定１２２（たとえば参照値が１６GBの（近い）容量を示すとき、ホストデバイス１０４は６４GBの（近い）プライマリパーティション容量を示す値をプログラムする）に格納された対応する容量以上の素子１１２にプライマリパーティション容量を書き込むことで有効なアクションを実行する。
【００２６】
さまざまな実装において、設定１２２に格納された情報と素子１１２に格納された情報の間ではフォーマットが異なるため、コントローラー１０６は異なるフォーマット間で変換を実装できる。  例えば、コントローラー１０６は評価に従って、第一フォーマットから第二フォーマットに参照値又は派生参照値を変換できる。ある例において、SDカードのメモリ容量（バイト）は以下の式で算出される。
(C_SIZE+1) * 512 * 1024
素子112に格納されているMBR情報が開始アドレスとプライマリパーティションのサイズを含む場合、そのサイズは５１２バイトのセクターの数値として示すことができる。よって、適切な比較のため、以下の変換を行い、以下の場合そのアクセスは有効である。
(C_SIZE+1) * 512 * 1024 ＞ （MBRオフセットの４バイトの値 + 1BEh + 0Ch） * セクターサイズ（例 512B）
【００２７】
少なくとも一つの実装において、プライマリパーティションのファイルシステム領域（FAT）は第一メモリ領域１０８の一部になり、そのファイルシステム領域はプライマリパーティションの実際のデータ領域の実際の特性に関係する素子１１２を含むことができる。実際のデータ領域は第二メモリ領域１１６から成る、又はその一部である。
【００２８】
図２は、参照値が一つのメモリ領域（たとえば第三メモリ領域１２０）に格納される一方で、ホストデバイス１０４に表示（たとえばアクセス可能など）される値を格納する素子１１２は再度プログラムが可能（たとえば第三メモリ領域１０８）な異なるメモリ領域に格納されるメモリデバイス１０２のさらに詳細を示す。代替実装において、第三メモリ領域１２０はメモリデバイス１０２のフラッシュメモリ（たとえばNAND）、コントローラー１０６の埋め込み不揮発性メモリ（たとえばMRAM、フラッシュなど）、コントローラー１０６のROM、コントローラー１０６に埋め込まれた又は接続されたRAM（たとえばSRAM又はDRAM）、又はこれらの組み合わせ（たとえばフラッシュメモリに永久に格納されるが、RAMにキャッシュされるなど）に配置される。
【００２９】
図２で示す通り、第一メモリ領域１０８及び第二メモリ領域１１６は一つ又は複数のメモリ部分 ２０２(１)…２０２（N）（Nは整数）に関連付けることができる。  上述の通り、メモリ部分２０２(１)…２０２（N）はプライマリパーティション、物理パーティション、又は論理ユニット（LU）で構成できる。  さまざまな例では、メモリパーティション２０２(１)…２０２（N）はブロックに分割でき、それはさらにページに分割できる。  その結果、メモリデバイス１０２のメモリは複数のアドレス可能メモリロケーションを含むことができる。アドレス可能メモリロケーションはメモリブロック、メモリページ、セクター、メモリのバイトなど少なくともメモリパーティションの部分２０２(１)…２０２（N）から成り、かつ特定できる。  アドレスは論理アドレス又は物理アドレスになることがある。
【００３０】
図２は、図１の設定１２２に格納された参照値で表される実際の特性１２４の例を示す。  上述の通り、参照値の整合性が正しくかつ正確に操作パラメータとメモリデバイスの境界の両方又は一方を反映しするように保護するには、設定122はメモリデバイスの製造元が最初に参照値をプログラムした後に、再度プログラム（たとえば変更）できないように1回のみプログラム可能な設定にもなり得る。代わりに、設定１２２のプログラミングはその中に格納される参照値の変更が適切な状況だけで起きるように、認証に関連付けることができる。さらに、設定１２２のプログラミングはメモリデバイスの制御下で実装できるが、ホストデバイスの制御下ではできない（たとえばメモリデバイスとホストデバイスの間のハンドシェイクに関連付けて、メモリデバイスによって動的容量の調整を開始・制御する）  ある場合において、設定１２２はメモリデバイスの既知の操作境界外である参照値を変更できないように構成できる。例えば、メモリ容量の参照値代表を格納する設定が追加メモリの予約を割り当てるために参照値を減らすことができるが、この設定は参照値を増やすことはできない。ここで、メモリ容量の削減はメモリデバイスの操作境界内であるが、メモリ容量を増やすと参照値が操作境界を超える可能性があるので、（偽造アクションを防ぐため）増やすことはできない。
【００３１】
ある例では、実際の特性はメモリデバイス１０２のメモリの総容量２０４を表すことができる。ある実装では、総容量２０４は第一メモリ領域１０８と第二メモリ領域１１６の組み合わせを反映できる。場合によっては、総容量２０４はメモリデバイスの実効密度を表す（たとえば６４GB SDカードは６２GBの実効密度、１６GB SDカードは１５GBの実効密度など）。メモリデバイスの実効密度はメモリ予約の作成・管理（たとえば失敗したブロックに応えて呼び出される代替ブロック）、メモリコントローラのファームウェアの記憶域、レジスタスペースの記憶域などのため、全体的なメモリの総量より少なくて良い。実装によっては、総容量２０４は動的に構成可能な設定で、そこで参照値はホストデバイス１０４とメモリデバイス１０２の間のハンドシェイクに応えて変更できる。よって、総容量２０４は以前予約済のメモリブロックが失敗したこと又はエラーに応えて呼び出されたら、新しいメモリブロックの予約を割り当てるために減らすことができる。eMMCでは、コントローラー１０６はホストデバイスがメモリブロックによって提供された密度を動的に減らすことができるようにする「動的容量」機能を実装するために構成できる（たとえばメモリデバイスは第二メモリ領域からメモリのブロックを解放する）。
【００３２】
別の例では、実際の特性はメモリの個々の部分２０６の容量（たとえばプライマリパーティション、物理パーティション）又はメモリの個々の領域（たとえば一つ又は複数の部分、部分の一部）を表すことができる。従って、各メモリ部分は一つ又は複数の個々の設定及び対応する値を格納する一つ又は複数の個々の素子に関連付けることができる。
【００３３】
しかし別の例では、実際の特性は個々の部分の開始アドレス又はメモリの個々の領域２０８を表すことができる。
【００３４】
もう一つの例では、実際の特性はメモリ２１０の個々の部分と個々の領域の両方又はその一方の開始アドレスの位置合わせを表すことができる。  メモリページサイズとメモリブロックサイズの両方又はその一方を配列することはメモリデバイスのパフォーマンスを改善し、メモリデバイスの寿命を延ばす。
【００３５】
さらにもう一つの例では、実際の特性はメモリの個々の部分２１２のアロケーション ユニットのサイズを表すことができる。ホストファイルシステムが使用したクラスターのサイズをアロケーションユニットとメモリデバイスで位置合わせすると、メモリデバイスのパフォーマンスが改善される。
【００３６】
本書の図３〜５に記載される例のプロセスは、論理的な流れのグラフで示され、ハードウェア、ソフトウェア、又はその組み合わせで実装できる操作の順序を表す。  操作は実行可能な指示を表し、一つ又は複数のプロセッサによって実行されたときに表示された操作を実行する。  実行可能な指示はルーチン、プログラム、オブジェクト、コンポーネント、モジュール、データ構造、及び特定の機能を実行するものなどを含む。  図3〜5に描写されている操作の順序は制限として解釈されるものではなく、操作に記載される任意の数は任意の順序に合わせて平行してプロセスを実施したり、一方のみを実施したりできる。  実効可能な指示は、コンピュータ読み取り可能指示、データ構造、プログラムモジュール、又はその他データなど情報を記憶するための任意の方法又は技術で実装される揮発性及び不揮発性、リムーバブル及び非リムーバブルメディアを含む非一過性のコンピュータ記憶域メディアで格納できる。  コンピュータ記憶域メディアはランダムアクセスメモリ（RAM）、読み取り専用メモリ（ROM）、 電気的消去可能プログラマブルROM（EEPROM）、フラッシュメモリ又はその他メモリ技術、磁気記憶装置、又はホストデバイス又はメモリデバイスによってアクセスする情報を記憶するために使用するその他非送信媒体を含む（ただし、これらに限定されない）。
【００３７】
図3は、値を格納する素子に関連付けられるアクションの発生をモニタし、そのアクションが有効であるようにする例のプロセス300を示す。本例のプロセス３００は図１と２の両方又はその一方のコンテキストで、メモリデバイス１０２（たとえばメモリデバイス１０２のコントローラー１０６）によって実装できる。
【００３８】
３０２では、メモリデバイス、メモリデバイスのメモリ、又はメモリデバイスの操作に関連する特性を示す値を個々に格納する素子に関連付けられるアクションの発生をモニタする。  上述の通り、そのアクションはホストデバイスからの読み取る要求であったり、ホストデバイスからの書き込み要求であったりする。さまざまな実装において、値を格納する素子はメタデータ１１０（たとえばパーティション分割メタデータ、メモリデバイスのシステム構造に関連するデータ）を格納するために使用するメモリの領域に格納される（たとえば図１と２の第一メモリ領域１０８）。  素子はホストデバイスに表示される既知のアドレスに関連付けできる。  その結果として、現在その素子に格納されている値はホストデバイスによって変更が可能になるので（たとえば偽造者によって制御される）、間違って又は不正確にメモリデバイスの実際の特性を反映する。
【００３９】
３０４では、メモリデバイスは、その素子に関連付けられたアクションが実際の特性に関連付けられた参照値と比較して、有効かどうかを確定する。  さまざまな実装において、その参照値は、その素子が位置しているメモリ領域から離れているメモリ領域（たとえば図１と２の第三メモリ領域１２０）に位置している設定に格納される。  このメモリ領域に位置する設定はレジスタ、記述子、属性、フラグなどから成る。このメモリ領域では、参照値は読み取られることができるが、参照値は、 (i) メモリデバイスが製造された後は再プログラムができない（たとえばその設定は1回のみプログラム可能）、(ii) ホストデバイスの制御ではなく、メモリデバイスの制御のみで再プログラム又は変更ができる（たとえばメモリデバイスによって開始・制御された動的容量調整）、又は (iii) 参照値が変更されればホストデバイスの認証が必要になる。  従って、参照値はメモリデバイスの実際の特性を正しくかつ正確に反映する真の値である。
【００４０】
さまざまな例では、値を格納する要素に関連付けられるアクションは、その値がその要素に書き込まれる（たとえばホストデバイスによって）場合、その値が最終的にその値に書き込まれる（たとえばメモリ コントローラーによって）場合、又はその素子に格納され続ける値が参照値と比較して有効な場合（たとえば参照値よりも少ない）、有効である。  さまざまな例では、値を格納する要素に関連付けられたアクションは、その要素から読み取られるその値が参照値と比較して有効である場合、又はある有効値が参照値を基にしてホストデバイスに配信される場合、有効である。
【００４１】
３０６では、メモリデバイスは、その素子に関連付けられるアクションが無効だと確定された場合、是正措置を実装する。  例えば、その是正措置は (i) 素子から読み取られた素子に現在格納されている値、又は (ii) 更新された値が無効な値であれば、素子に書き込まれたホストデバイスから受信した更新された値（たとえばこの更新された値は参照値によって表された容量を超える容量を表す）を妨げることがある。そうしなければ（素子に関連付けられるアクションが有効であると確定される場合）、メモリデバイスはアクションを完成する。  例えば、メモリデバイスが読み取る要求に応えて素子に格納されている現在の値を戻す、又はメモリデバイスは書き込み要求に応えて素子に更新した値を書き込む（たとえば書き込まれた更新された値は素子に格納された現在の値を置き換える）。
【００４２】
図４は、値を格納している素子に関連する書き込みアクションが有効であることを確認するために、参照値又は派生した参照値を評価するプロセスの例４００を示す。  例のプロセス４００は図１と２の両方又はその一方のコンテキストで、メモリデバイス１０２（たとえばメモリデバイス１０２のコントローラー１０６）によって実装できる。
【００４３】
４０２では、メモリデバイスは現在の素子値を格納する素子に更新した素子値を書き込む要求の発生を確定する。  例えば、この要求はメモリデバイスの容量を示す新しい値を第一メモリ領域１０８のメタデータ１１０に書き込もうとするホストデバイスで開始される場合もある。
【００４４】
４０４では、メモリデバイスは参照値を評価する。  上述の通り、参照値は現在の素子値が格納されている素子に対応する設定に格納されているので、この参照値は現在の素子値に関係する。  設定は素子が格納されている場所とは別のメモリ領域に位置する。  その結果、メモリデバイスはこの別の領域にある参照値にアクセスできる。  参照値はメモリデバイスの総容量、メモリの個々の部分の容量、メモリ部分の開始アドレス又は領域などを反映できる。
【００４５】
４０６における実装によっては、メモリデバイスは派生した参照値を確定できる。  例えば、物理パーティション内にあるプライマリパーティションの容量を確定するには、メモリデバイスは物理パーティションの容量（たとえば参照値に示されている）から物理パーティション内（たとえば第一メモリ領域１０８のサイズ）にあるメタデータ１１０を格納するために使用したメモリ容量を差し引く。  よって、派生した参照値はメモリデバイスにあるメモリ部分（たとえば物理パーティション）の容量のサイズから第一メモリ領域のサイズを差し引くことで派生（たとえば算出）できる。
【００４６】
もう一つの例では、物理パーティション内にある複数のプライマリパーティション（たとえば２つ以上）から特定のプライマリパーティションの容量を確定するには、メモリデバイスは (i) 物理パーティション内にあるメタデータ１１０を格納するために使用したメモリ量（たとえば第一メモリ領域１０８のサイズ）と (ii) 物理パーティション内にあるもう一つのプライマリパーティションのサイズの両方を物理パーティションの容量（たとえば参照値で示される）から差し引く。  よって、特定のプライマリパーティションの派生した参照値は物理パーティションの容量のサイズから第一メモリ領域のサイズと物理パーティション内にあるその他のプライマリパーティションのサイズの両方を差し引いて派生（たとえば算出）できる。
【００４７】
さまざまな実装において、前述の２つの段落のどちらかに記載された物理パーティションはメモリデバイスのメモリから成る複数の物理パーティションの一つであるかもしれない。  派生した参照値を派生した後、プロセスを４０８に移動する。
【００４８】
もう一つの方法として、４０６に関連付けられた操作は、参照値が比較前に派生される必要が場合はスキップできる（たとえば４０６の矢印で示したように）（たとえば設定に格納された参照値がメモリデバイスのメモリ部分の容量から第一メモリ領域のサイズをすでに差し引いた結果である場合）。
【００４９】
確定４０８では、メモリデバイスは要求から更新した素子値が参照値又は派生した参照値を超えるかどうかを確定する（たとえばホストデバイスがメモリデバイスの操作境界外である値を書き込もうとすることを示す、又はホストデバイスがメモリデバイスの操作が最適でない値を書き込もうとすることを示す）。  例えば、その確定は比較に基づいて行うことができる。
【００５０】
確定４０８における答えが「ノー」であれば、そのプロセスは４１０に移動し、メモリデバイスはホストからの書き込み要求の受信に応えて、更新した素子値が素子に書き込みできるようにする（たとえばアクションが有効であり、書き込まれる更新した素子値が有効の両方又はその一方）。
【００５１】
最初の例では、確定４０８における回答が「イエス」であれば、そのプロセスは４１２に移動し、メモリデバイスは更新した素子値が素子に書き込まれないようにする（たとえばそのアクションは、例えば、ホストデバイスがプライマリパーティションの実際の容量１６ GB未満の代わりにプライマリパーティションのメタデータ６４ GB未満の偽造値に書き込もうとするので、無効である）。  ４１４におけるある場合では、メモリデバイスは書き込み要求に関連付けられてホストデバイスから受信した更新した素子値を書き込む代わりに、参照値又は派生した参照値を任意に素子に書き込むことができる。場合によっては有効値は素子内に前から存在することがあるので、この有効値はまったく更新する必要がない。
【００５２】
二つ目の例では、確定４０８における回答が「イエス」であれば、プロセスは４１６に移動し、アクションが無効であると確定されたり、更新した素子値が無効であると確定されたりの両方又はその一方であったとしても、メモリデバイスは更新した素子値が素子に書き込まれるようにする。  しかし、４１８では、メモリデバイスは内部で素子にフラグ設定することがあるので、是正措置はフラグ設定された素子に格納された現在の値の読み取りに関連付けられる（たとえばホストデバイスによって書き込まれた更新した素子値を基にして偽造地である現在の値）。  例えば、フラグ設定された素子から読み取りの試行が発生したとき、メモリデバイスはフラグ設定された素子に現在格納された偽造値（たとえばメ無効値）を提供しないが、むしろ、メモリデバイスはメモリデバイスの整合性を保護する是正措置を実施する（たとえばメモリデバイスは読み取り段階に対応する参照値又は派生した参照値にアクセス・提供する）。
【００５３】
図５は、値を格納している素子に関連付けられた読み取りアクションが有効であることを確認するために、参照値又は派生した参照値を評価する例のプロセス５００を示す。  例のプロセス５００は図１と２の両方又はその一方のコンテキストで、メモリデバイス１０２（たとえばメモリデバイス１０２のコントローラー１０６）によって実装できる。
【００５４】
５０２では、メモリデバイスは現在素子に格納された（現在の）素子値を読み取る要求の発生を確定する。  例えば、その要求は第一メモリ領域１０８のメタデータ１１０から情報（たとえばメモリデバイスのプライマリパーティションの容量）を読み取ろうとするホストデバイスによって開始されることができる。
【００５５】
５０４では、メモリデバイスは参照値を評価する。  上述の通り、参照値は現在の素子値が格納されている素子に対応する設定に格納されているので、この参照値は現在の素子値に関係する。  設定は素子が格納されている場所とは別のメモリ領域に位置する。  その結果、メモリデバイスはこの別の領域にある参照値にアクセスできる。  参照値はメモリデバイスの総容量、メモリの個々の部分の容量、メモリ部分の開始アドレス又は領域などを反映できる。
【００５６】
５０６における実装によっては、メモリデバイスは派生した参照値を確定できる。  例えば、物理パーティション内にあるプライマリパーティションの容量を確定するには、メモリデバイスは物理パーティションの容量（たとえば参照値に示されている）から物理パーティション内（たとえば第一メモリ領域１０８のサイズ）にあるメタデータ１１０を格納するために使用したメモリの量を差し引く。  よって、派生した参照値はメモリデバイスにあるメモリ部分（たとえば物理パーティション）の容量のサイズから第一メモリ領域のサイズを差し引くことで派生（たとえば算出）できる。
【００５７】
もう一つの例では、物理パーティション内にある複数のプライマリパーティション（たとえば２つ以上）から特定のプライマリパーティションの容量を確定するには、メモリデバイスは (i) 物理パーティション内にあるメタデータ１１０を格納するために使用したメモリ容量（たとえば第一メモリ領域１０８のサイズ）と (ii) 物理パーティション内にあるもう一つのプライマリパーティションのサイズの両方を物理パーティションの容量（たとえば参照値で示される）から差し引く。  よって、特定のプライマリパーティションの派生した参照値は物理パーティションの容量のサイズから第一メモリ領域のサイズと物理パーティション内にあるその他のプライマリパーティションのサイズの両方を差し引いて派生（たとえば算出）できる。
【００５８】
さまざまな実装において、前述の２つの段落のどちらかに記載された物理パーティションはメモリデバイスのメモリから成る複数の物理パーティションの一つであるかもしれない。  派生された参照値を派生した後、プロセスを508に移動する。
【００５９】
もう一つの方法として、５０６に関連付けられた操作は、参照値が比較前に派生される必要が場合はスキップできる（たとえば５０６の矢印で示したように）（たとえば設定に格納された参照値がメモリデバイスのメモリ部分の容量から第一メモリ領域のサイズをすでに差し引いた結果である場合）。
【００６０】
確定５０８では、メモリデバイスは、現在の素子値が参照値又は派生した参照値を超える素子にすでに格納されているかを確定する（たとえばホストデバイスがメモリデバイスの操作境界外である値を読み込もうとすることを示す）。  例えば、その確定は比較に基づいて行うことができる。
【００６１】
確定５０８における答えが「ノー」であれば、そのプロセスは５１０に移動し、メモリデバイスはホストから読み取る要求の受信に応えて、現在の素子値がホストに提供できるようにする（たとえばアクションが有効であり、現在の素子値が有効の両方又はその一方など）。
【００６２】
確定５０８における回答が「イエス」ならば、メモリデバイスは現在の素子値がホストデバイスに読み出されないようにする５１２のプロセスに移動する（たとえばそのアクションと現在の素子値の両方又はその一方は、たとえばホストデバイスがプライマリパーティションの１６ GB未満の実際の容量の代わりにプライマリパーティションの６４ GB未満の容量のメタデータから偽造値を読まないようにするので、無効である）。
【００６３】
５１４では、メモリデバイスは現在の素子値の代わりにホストデバイスに参照値又は派生した参照値を提供する。
【００６４】
図６は、(i) ホストデバイスによる書き込みアクションが有効である、又は (ii) 素子にすでに格納された現在の値が有効であるように、ホストデバイス１０４とメモリデバイス１０２の間で実装された相互作用の例を示す。  図６の相互作用例は図１と２の両方又はその一方のコンテキストで実装できる。
【００６５】
図６は、第一メモリ領域１０８（図１）を示す。  第一メモリ領域１０８は、値を格納する第一素子６０２、値を格納する第二素子６０４、及び値を格納する第三素子６０６を含む。  一方、図６は３つの異なる素子を示し、メタデータ１１０にはメモリデバイスの特性を示す値を格納するいくつもの素子を含むことができる。
【００６６】
相互作用６０８では、ホストデバイス１０４は更新した素子値を素子６０４に書き込むことを要求し、メモリデバイス１０２は更新した素子値を素子６０４に書き込む要求を受信する。
【００６７】
確定６１０では、メモリデバイス１０２は素子６０４に関連付けられたアクションの検証が有効であるかを確定する。  例えば、メモリデバイス１０２は素子６０４に関連付けられた検証が有効か無効かを示す第三メモリ領域１２０にある設定（たとえばレジスタ、属性）にアクセスできる。  検証が有効か無効かを示す設定は、素子６０４に関連付けられたアクションが有効か無効かを確定するために使用される参照値を格納する設定から分離できる。
【００６８】
確定６１０への回答が「ノー」（たとえば検証が無効化された場合）である場合は、６１２では、メモリデバイス１０２は書き込み要求と更新した素子値の両方又は一方を検証せずにホストデバイス１０４から受信する更新した素子値を素子６０４に書き込み、相互作用６１４では、メモリデバイス１０２はホストデバイス１０４に正常な更新確認を戻す。
【００６９】
確定６１０への回答が「イエス」（たとえば検証が有効化された場合など）の場合は、確定６１６では、メモリデバイス１０２は更新した素子価値がホストデバイス１０４から受信したかと、素子６０４に書き込まれたものが有効かを確定する。  例えば、メモリデバイス１０２は図４の例のプロセス４００の４０８に関連付けて比較を実装できる。
【００７０】
確定６１６への回答が「イエス」の場合、６１８では、メモリデバイス１０２はホストデバイス１０４から受信した更新した素子値が有効だと確定されると、アクションが有効なので素子６０４に書き込み、相互作用６２０では、メモリデバイス１０２はホストデバイス１０４に正常な更新確認を戻す。
【００７１】
確定６１６への回答が「ノー」の場合は、確定６２２では、メモリデバイス１０２が書き込み/更新の自動修正（たとえば無効なアクションや無効な更新した素子値を修正する）を有効にするかを確定する。例えば、メモリデバイス１０２は素子６０４に関連付けられた無効アクションの自動修正を有効にするか無効にするかを示す第三メモリ領域１２０の別の設定（たとえばレジスタ、属性など）にアクセスできる。  自動修正が有効か無効かを示す設定は、素子６０４に関連付けられるアクションが有効か無効かを確定するために使用される参照値を格納する設定からも分離できる。
【００７２】
確定６２２への回答が「ノー」の場合は、相互作用６２４では、メモリデバイス１０２はホストデバイス１０４に正常な更新確認を戻し、素子６０４に格納されている現在値は書き込みアクションが無効であると確定されたため、更新されない。
【００７３】
確定６２２への回答が「イエス」の場合、６２６では、メモリデバイス１０２は有効更新値（たとえば上述のように参照値又は派生した参照値）を確定する。  それから、６２８では、メモリデバイス１０２はホストデバイス１０４から受信した更新した素子値の代わりに素子６０４に有効な更新値を書き込み、相互作用６３０では、メモリデバイス１０２は正常な更新確認をホストデバイス１０４に返す。
【００７４】
図７は、本書に記載される技術が実装される例のメモリデバイス（たとえばSD カード）を示す。  図７は、マスターブートレコード（MBR）パーティション分割とファイルアロケーションテーブル（FAT）ファイルシステムを実装するシングル物理パーティション７０２（たとえば「シングル初期物理パーティション」）を示す。  この例では、シングル初期物理パーティションには例えば、F7FF FFFFhを通して0000 0000hを経由するホストデバイスやホストデバイスのユーザーの両方又はその一方に表示される６２GB未満のメモリ領域（たとえばSDカードに関連付けられて「ユーザーデータ領域」とも呼ばれる）を含む。  シングル物理パーティション７０２は上述のメモリの一部から成る。
【００７５】
図７は、レジスタのメモリ領域７０４（たとえばCSD、CID、SCR、SDステータス、C_Size、AU_Sizeなど）及び、予約ブロック、ファームウェア（FW）、デジタル著作権管理（DRM）のメモリ領域７０６も示す。メモリ領域７０４は図１に関連して上述したように、第三メモリ領域１２０に関連付けられることがある。  図７の例で示されるSDカードは６４GB SDカードから成り、６２GB未満のシングル物理パーティション７０２はメモリ領域７０４とメモリ領域７０６が６４GBから減算された後に、ホストデバイスに表示されるSDカードの総容量である。
【００７６】
図７は、さらに、シングル物理パーティション７０２をより詳細に示す。例えば、シングル物理パーティション７０２はパーティションメタデータ領域７０８と、アドレスXXXXから始まるMBRプライマリパーティション７１０を含む。パーティションメタデータ領域７０８は図１に関連して上述したように、第一メモリ領域１０８に関連付けられることがある。  さらに、MBRプライマリパーティション７１０は図１に関連して上述したように、第二メモリ領域１１６に関連付けられることがあるので、MBRプライマリパーティション７１０は接続されたホストデバイスのファイルシステム層で表示される。
【００７７】
さまざまな例では、ホストデバイスは（図７のYYYYで表現されるように）MBRプライマリパーティション７１０の容量を表す値（たとえばサイズ）を格納するパーティションメタデータ領域７０８にある素子に関連付けられる読み取り又は書き込みアクションを実装する。  そのアクションはパーティションメタデータ領域７０８にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない（たとえば偽の値を書き込もうとする）。  上述のように、メモリ領域７０４にあるレジスタ設定は (i) 初期物理パーティション７０２の容量又は (ii) MBRプライマリパーティション７１０の容量を示すことができる参照値（たとえば真の値）を格納する。  メモリデバイスは上述の技術を使って、パーティションメタデータ領域７０８の素子がメモリ領域７０４の登録設定に格納されている参照値と比較して読み取る値や書き込む値が有効であるようにする。  例えば、メモリデバイスは参照値がMBRプライマリパーティション７１０の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。  もう一つの例では、メモリデバイスは派生した参照値が（図７のYYYYで表す通り）MBRプライマリパーティション７１０の真の容量を示すように、パーティションメタデータ領域７０８のサイズをシングル物理パーティションの容量（たとえば参照値で示される）から減算することで派生した参照値を派生できる。場合によっては、メモリデバイスはMBRプライマリパーティション７１０の真の容量を派生するパーティション領域から潜在的なサイズ（たとえばオーバーヘッドの位置合わせ）をさらに減算しなければならないかもしれない。また、物理パーティションのサイズを示す参照値に書き込まれる値を比較するには十分適切であると考慮されるかもしれない。
【００７８】
図７は、パーティションメタデータ領域７０８とMBRプライマリパーティション７１０の詳細を提供する。  例えば、パーティションメタデータ領域７０８は開始アドレス（たとえば「XXXX」）とMBRプライマリパーティション７１０のサイズ（たとえば「YYYY」）を表す情報を保存するマスターブートレコード７１２（たとえば上述したように一つ又は複数の「素子」）を含むことがある。    もう一つの例では、MBRプライマリパーティション７１０はパーティションのブートセクタ７１４、第一ファイルアロケーションテーブル（FAT）７１６、第二FAT ７１８、ルートディレクトリ７２０、接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできるプライマリパーティション７２２の実際のデータエリアを含むことがある。
【００７９】
図８は、本書に記載される技術が実装される例のメモリデバイスを示す。  図８は、GUIDパーティションテーブル（GPT）パーティション分割やFATファイルシステムを実装するシングル物理パーティション８０２（たとえば「シングル初期物理パーティション」）を示す。  図７と同様に、この例では、シングル物理パーティション８０２はホストデバイスとホストデバイスのユーザーの両方又はその一方に表示される６２GB未満のメモリ領域（たとえばNANDメモリ）を含むことができる。  シングル物理パーティション８０２は上述のメモリの一部から成る。
【００８０】
図８は、レジスタのメモリ領域８０４や、予約ブロック、ファームウェア（FW）などのメモリ領域８０６も示す。メモリ領域８０４は図１に関連して上述されるように、第三メモリ領域１２０に関連付けられる。
【００８１】
図８は、さらに、シングル物理パーティション８０２をより詳細に示す。  例えば、シングル物理パーティション８０２は第一パーティションメタデータ領域８０８、第二パーティションメタデータ領域８１０（バックアップ用）、及びアドレスXXで始まり、アドレスYYで終わるGUIDパーティション８１２（たとえばXXとYYは論理ブロックアドレス（LBA）である場合）を含む。  第一パーティションメタデータ領域８０８と第二パーティションメタデータ領域８１０は図１に関連して上述した通りに、第一メモリ領域１０８と個々に関連付けられる。  さらに、GUIDパーティション８１２は図１に関連して上述したように、第二メモリ領域１１６に関連付けられることがあるので、GUIDパーティション８１２は接続されたホストデバイスのファイルシステム層で表示される。
【００８２】
さまざまな例では、ホストデバイスはGUIDパーティション８１２（図８の開始アドレスXXと最後のアドレスYYを基にして）の容量を表す値（たとえばサイズ）を格納するパーティションメタデータ領域８０８にある素子に関連付けれる読み取り又は書き込みアクションを実装する。  そのアクションはパーティションメタデータ領域８０８にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない（たとえば偽の値を書き込もうとする）。上述のように、メモリ領域８０４にあるレジスタ設定は (i) 初期物理パーティション８０２の容量又は (ii) GUIDパーティション８１２の容量を示すことができる参照値（たとえば真の値）を格納する。メモリデバイスは上述の技術を使って、パーティションメタデータ領域８０８の素子がメモリ領域８０４のレジスタ設定に格納された参照値と比較して読み取る値や書き込む値が有効であるようにする。例えば、メモリデバイスは参照値がGUIDパーティション８１２の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。もう一つの例では、メモリデバイスは派生した参照値がGUIDパーティション８１２の真の容量を示すように、パーティションメタデータ領域８０８のサイズとパーティションメタデータ領域８１０のサイズをシングル物理パーティション８０２の容量（たとえば参照値として示される）から減算することで派生された参照値を派生できる。場合によっては、メモリデバイスはGUIDパーティション８１２の真の容量を派生するパーティション領域から潜在的なサイズ（たとえばオーバーヘッドの位置合わせ）をさらに減算しなければならないかもしれない。
【００８３】
図８は、第一パーティションメタデータ領域８０８、第二パーティションメタデータ領域８１０、及びGUIDパーティション８１２の詳細をさらに提供する。  例えば、第一パーティションメタデータ領域８０８は保護マスターブーツレコード（MBR）８１４、プライマリGUIDパーティションテーブルヘッダー８１６、及びGUIDパーティション８１２の開始アドレス（たとえば「XX」）と最後のアドレス（たとえば「YY」）を表す情報を格納するプライマリGUIDパーティションエントリ８１８（たとえば上述したように一つ又は複数の「素子」）を含むことがある。    もう一つの例では、GUIDパーティション８１２は (i) パーティションのブートセクタ、アロケーションテーブル、ルートディレクトリエントリなどを含むファイルシステム領域８２０、及び (ii) 接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできるプライマリGUIDパーティション８１２の実際のデータエリア８２２を含むことがある。  もう一つの例では、第二パーティションメタデータ領域８１０はバックアップGUIDパーティションテーブルヘッダー８２４とバックアップGUIDパーティションエントリ８２６を含むことがある。
【００８４】
図９は、本書に記載される技術が実装される例のメモリデバイス（たとえばeMMC）を示す。  図９は、MBRパーティション分割とFATファイルシステムを個々に実装できる複数の物理パーティションと複数のプライマリ パーティションを示す。
【００８５】
例えば、図９のeMMCメモリデバイスは、物理的に再生保護されたメモリブロック（RPMB）パーティション９０２、第一物理ブートパーティション９０４、第二物理ブートパーティション９０６、および初期物理パーティション９０８を含む。  この例では、初期物理パーティション９０８はホストデバイスやホストデバイスのユーザー両方又はその一方に表示される６０GB未満のメモリ領域（たとえばeMMCに関連付けられた「ユーザーデータ領域」とも呼ばれる）を含む。
【００８６】
図９は、レジスタのメモリ領９１０（たとえばCSD、CID、EXT_CSD、SEC_Count）や、予約ブロック、ファームウェア（FW）などのメモリ領域９１２も示す。メモリ領域９１０は図1に関連して上述されるように、第三メモリ領域１２０に関連付けられる。
【００８７】
この例では、初期物理パーティション９０８はたくさんの物理汎用パーティション（GPP）に分割できる。例えば、スペースは第一物理GPP ９１４、第二物理GPP ９１６、第三物理GPP ９１８、及び第四物理GPP ９２０に割り当てられるので、 初期物理パーティション９０８、第一物理GPP ９１４、第二物理GPP ９１６、第三物理GPP ９１８、及び第四物理GPP ９２０のうちの残りのスペースであるユーザデータエリアを構成する第五物理パーティションを作る。物理GPPのサイズは構成可能なので、ある物理GPPと次のもの（たとえば第一物理GPP ９１４のサイズは２GB、第二物理GPP ９１６のサイズは４ GB、第三物理GPP ９１８は８ GBなどとなる）とは異なる場合がある。この目的で、初期ユーザーデータエリア６０GBのeMMCは図９で参照のように、物理GPPが構成された後にユーザーデータエリアは４０GB未満に削減される。
【００８８】
議論を単純化するために、図９は、第一物理GPP ９１４をより詳細に示す。  例えば、第一物理GPP ９１４はパーティションメタデータ領域９２２、XXX1のアドレスで始まる第一MBRプライマリパーティション９２４、XXX2のアドレスで始まる第二MBRプライマリパーティション９２６を含む。  パーティションメタデータ領域９２２は図１に関連して上述したように、第一メモリ領域１０８に関連付けられることがある。  さらに、第一MBRプライマリパーティション９２４及び第二MBRプライマリパーティション９２６は図１に関連して上述したように、第二メモリ領域１１６に関連付けられることがあるので、各第一MBRプライマリパーティション９２４及び第二MBRプライマリパーティション９２６は接続されたホストデバイスのファイルシステム層で表示される。
【００８９】
さまざまな例では、ホストデバイスはMBRプライマリパーティション９２４（図９のYYY1で表わされるように）の容量を示す値（たとえばサイズ）を格納するパーティションメタデータ領域９２２にある素子に関連付けられる読み取り又は書き込みアクションを実装することがある。そのアクションはパーティションメタデータ領域９２２にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない（たとえば偽の値を書き込もうとする）。上述のように、メモリ領域９１０にあるレジスタ設定は (i) 第一物理GPP ９１４の容量又は (ii) 第一MBRプライマリパーティション９２４の容量を示すことができる参照値（たとえば真の値）を格納する。メモリデバイスは上述の技術を使って、パーティションメタデータ領域９２２の素子がメモリ領域９１０のレジスタ設定に格納された参照値と比較して読み取る値や書き込む値が有効であるようにする。  例えば、メモリデバイスは参照値が第一MBRプライマリパーティション９２４の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。  もう一つの例では、メモリデバイスは第一物GPP ９１４の容量（たとえば参照値で示すように）からパーティションメタデータ領域９２２のサイズを減算し、その他のプライマリパーティションのサイズ（たとえば図９のYYY2で示すように第二MBRプライマリパーティション９２６）を減算して派生した参照値を派生できるので、この派生した参照値は(図９のYYY1で表わされるように）第一MBRプライマリパーティション９２４の真の容量を示す。  場合によっては、メモリデバイスは第一MBRプライマリパーティション９２４の真の容量を派生するパーティション領域から潜在的なサイズ（たとえばオーバーヘッドの位置合わせ）をさらに減算しなければならないかもしれない。
【００９０】
図９は、パーティションメタデータ領域９２２とMBRプライマリパーティション９２４及び９２６の詳細を提供する。  例えば、パーティションメタデータ領域９２２はMBRプライマリパーティション９２４及び９２６の開始アドレス（たとえば「XXX1」及び「XXX2」）とサイズ（たとえば「YYY1」及び「YYY2」）を表す情報を格納するマスターブートレコード（たとえば、上述したように一つ又は複数の「素子」）を含むことがある。    もう一つの例では、各MBRプライマリパーティション９２４及び９２６はプライマリパーティションのブートセクタ、第一ファイルアロケーションテーブル（FAT）、第二FAT 、ルートディレクトリ、及び接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできる実際のデータエリアを含むことがある。
【００９１】
さらに別の実装に従って、メモリデバイスは素子値（又はホストデバイスが書き込もうとする更新した素子値）と参照値又は派生した参照値だけでなく、別の素子値（又は値）と比較できる。これにより、素子値は別の方法で収束値を格納するメモリデバイスの同じ特性に関連付けられる、又は定義されることを確実にする。例として、プライマリパーティションのサイズはシリンダ・ヘッド・セクタ（CHS）メソッド、又は倫理ブロックアドレス（LBA）メソッドの２つの方法でMBRに表されることがある。この場合、メモリデバイスは（第三領域の参照に加えて）二次参照としてメソッドのひとつ（一つ又は複数の素子）を考慮し、メモリデバイスはこの応用例に記載のメソッドに従って収束された素子（たとえばさまざまなメソッド）に格納される、又は素子で示される値を保持できる。
【００９２】
場合によっては、参照値は本書で記載のように、単一の値（たとえば0Fh、16d、0000 1111b）、1セットの値（たとえば02h、0Ah、0Fh）、ある範囲の値（たとえば02h - 0Ah）、又はこれらの組み合わせでよい。  有効であるアクションの意味は本書で記載のように、参照値と比較してアクションと同等（たとえば値への読み取り/書き込み値が参照値と等しい）、異なる、小さい、大きい、範囲内、範囲外、1セットの値の一つ又は複数、1セットの値から、複数、又はこれらアクションの組み合わせの一つであることがある。
【００９３】
場合によっては、派生した参照値は例えば、一つ又は複数の参照値の関数、一つ又は複数の更新した素子値の関数、又は一つ又は複数の現在の素子値の関数の結果であることがある。例えば、派生した値はメモリの容量を減算した参照値（たとえばメモリ領域のサイズ）、第二値を加算した参照値、又は参照値でマスクされた更新素子値を含むことがある。ただし、これらに限定されない。
【００９４】
場合によっては、アクションは素子から現在の素子値を読み取るホストデバイスからの要求で構成される。  さらに、操作は、現在の素子値を読み取る要求が有効であることを確認する現在の素子値を読み取る要求を受信することに応えて、ホストデバイスへの現在の素子値の読み出し、及び現在の素子値の代わりに参照値のホストデバイスへの提供を（メモリ）コントローラーによって妨げることを含む。
例の請求項
【００９５】
メモリの一部に関連する少なくとも一つの特性を示す一つ又は複数の素子値を格納する一つ又は複数の素子を含むメタデータを格納する第一メモリ領域、メモリ部分に少なくとも部分的にデータを格納している第二メモリ領域、及び一つの素子又は複数の素子に関連付けられたアクションがメモリ部分に関連付けられた実際の特性に関連する参照値と比較して有効であることを確実にするために構成されたコントローラーから成るメモリから成るメモリデバイスである例A。
【００９６】
メモリ部分がプライマリパーティション、物理パーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つから成る例Aのメモリデバイスである例B。
【００９７】
メモリの個々の領域がプリライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータ領域、又は論理ユニットの部分の少なくとも一つから成る例Aのメモリデバイスである例C。
【００９８】
メモリ部分に関連する実際の特性がメモリデバイスの総容量、第一メモリ領域と第二メモリ領域を合わせた容量、メモリ部分の容量、第二メモリ領域の容量、メモリ部分又は領域の開始アドレス、メモリ部分又は領域の開始アドレスの位置合わせ、又はメモリ部分のアロケーションユニットのサイズの一つと関連付けられる例Aから例Cのうちの一つのメモリデバイスである例D。
【００９９】
素子値は素子にすでに格納されている現在の素子値から成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、メモリ部分に関連する実際の特性はメモリデバイスの容量に関連付けられ、及びコントローラーは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、更新された素子値が参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから構成される例Aから例Dの一つのメモリデバイスである例E。
【０１００】
コントローラーはさらに、更新された素子値を書き込む要求の受け取りに応えて、更新された素子値の代わりに参照値を素子に書き込むように構成されている例Eのメモリデバイスである例F。
【０１０１】
素子値は素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量に関連し、及びコントローラーは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズを派生された参照値を派生する物理パーティションの容量から減算し、更新された素子値が派生された参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから構成される例Aから例Dの一つのメモリデバイスである例G。
【０１０２】
コントローラーはさらに、更新された素子値を書き込む要求の受け取りに応えて、更新された素子値の代わりに派生された参照値を素子に書き込むように構成されている例Gのメモリデバイスである例H。
【０１０３】
派生された参照値は物理パーティション内にあるシングルプライマリパーティションの容量を表し、物理パーティションはメモリデバイスのメモリを成す一つ又は複数の物理パーティションの一つである例Gまたは例Hのメモリデバイスである例I。
【０１０４】
素子値はプライマリパーティションに関連している現在の素子値、素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量に関連し、及びコントローラーは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズとその他のプライマリパーティションのサイズの両方をプライマリパーティションに関連する派生された参照値を派生する物理パーティションの容量から減算し、更新された素子値が派生された参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから構成される例Aから例Dの一つのメモリデバイスである例J。
【０１０５】
素子値は素子にすでに格納されている現在の素子値から成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、メモリ部分に関連する実際の特性はメモリデバイスの容量に関連付けられ、コントローラーは現在の素子値を素子から読み取るホストデバイスからの要求についてモニターし、素子にすでに格納されている現在の素子値が参照値を超えていることを確定し、現在の素子値をホストデバイスに読み出すことを防止し、参照値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに参照値をホストデバイスに提供することから構成される例Aから例Dの一つのメモリデバイスである例K。
【０１０６】
素子値は素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量に関連し、及びコントローラーは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズを派生された参照値を派生する物理パーティションの容量から減算し、素子にすでに格納されている現在の素子値が派生された参照値を超えることを確定し、現在の素子値をホストデバイスに読み取ることを防止し、現在の素子値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに派生された素子値をホストデバイスに提供することから構成される例Aから例Dの一つのメモリデバイスである例L。
【０１０７】
派生された参照値は物理パーティション内にあるシングルプライマリパーティションの容量を表し、物理パーティションはメモリデバイスのメモリを成す一つ又は複数の物理パーティションの一つである例Lのメモリデバイスである例M。
【０１０８】
素子値はプライマリパーティションに関連している現在の素子値、素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量から成り、及びコントローラーは現在の素子値を素子から読み取るホストデバイスからの要求についてモニターし、素子値を評価し、第一メモリ領域のサイズとその他のプライマリパーティションのサイズの両方をプライマリパーティションに関連する派生された参照値を参照する物理パーティションの容量から減算し、素子にすでに格納されている現在の素子値が派生した参照値を超えていることを確定し、現在の素子値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに派生された参照値をホストデバイスに提供することから構成される例Aから例Dの一つのメモリデバイスである例N。
【０１０９】
コントローラーはレジスタ、記述子、属性、又はフラグの少なくとも一つからなる第三メモリ領域を介して参照値にアクセスするように構成されている例Aから例Nの一つのメモリデバイスである例O。
【０１１０】
メモリ部分に関連する実際の特性は第一メモリ領域と第二メモリ領域を合わせた容量に関連し、参照値は容量を削減するためにホストデバイスとメモリデバイスの間のハンドシェイクを基にして動的に構成された例Aのメモリデバイスである例P。
【０１１１】
セキュアデジタル（SD）カード、埋め込み型MultiMediaCard（eMMC）メモリデバイス、ユニバーサルフラッシュストレージ（UFS）カード、PCIe（Peripheral Component Interconnect Express）カード又はソリッドステートドライブ（SSD）の一つから成る例Aから例Pの一つのメモリデバイスである例Q。
【０１１２】
メタデータはマスターブートレコード（MBR）、グローバル一意識別子（GUID）パーティションテーブル（GPT）、又はボリュームブートレコード（VBR）の一つに関連する例Aから例Qのひとつのメモリデバイスである例R。
【０１１３】
参照値はホストデバイスの製造元によって1回のみプログラム可能な設定に格納される例Aから例Rの一つのメモリデバイスである例S。
【０１１４】
参照値は参照値が再度プログラムされる前にホストデバイスが認証されることを必要とする設定に格納される例Aから例Rの一つである例T。
【０１１５】
メモリは、メモリ部分及びデータの少なくても一部をメモリ部分に格納する第二領域に関連する少なくとも一つの特性を示す一つ又は複数の素子値を格納する一つ又は複数の素子値を含むメタデータを格納する第一領域から成る、一つ又は複数の素子に関連するアクションがメモリ部分に関連する実際の特性に関連付けられる参照値と比較して有効であることをメモリデバイスのコントローラーによって確実にすることから成るメソッドである例U。
【０１１６】
メモリ部分がプライマリパーティション、物理パーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つから成る例Uのメソッドである例V。
【０１１７】
メモリの個々の領域がプリライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータ領域、又は論理ユニットの部分の少なくとも一つから成る例Uのメソッドである例W。
【０１１８】
メモリ部分に関連する実際の特性がメモリデバイスの総容量、第一メモリ領域と第二メモリ領域を合わせた容量、メモリ部分の容量、第二メモリ領域の容量、メモリ部分又は領域の開始アドレス、メモリ部分又は領域の開始アドレスの位置合わせ、又はメモリ部分のアロケーションユニットのサイズの一つと関連する例Uから例Wのうちの一つのメソッドである例X。
【０１１９】
素子値は素子にすでに格納されている現在の素子値から成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、メモリ部分に関連する実際の特性はメモリデバイスの容量に関連し、及びメソッドは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、更新された素子値が参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから成る例Uから例Xの一つのメソッドである例Y。
【０１２０】
更新された素子値を書き込む要求を受信することに応えて、更新された素子値の代わりに参照値を素子に書き込むことから成る例Yのメソッドである例Z。
【０１２１】
素子値は素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量に関連し、及びメソッドはさらに、更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズを派生された参照値を派生する物理パーティションの容量から減算し、更新された素子値が派生された参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから成る例Uから例Xの一つのメソッドである例AA。
【０１２２】
更新された素子値を書き込む要求の受け取りに応えて、更新された素子値の代わりに派生された参照値を素子に書き込むことから成る例AAのメソッドである例BB。
【０１２３】
派生された参照値は物理パーティション内にあるシングルプライマリパーティションの容量を表し、物理パーティションはメモリデバイスのメモリを成す一つ又は複数の物理パーティションの一つである例AAまたは例BBのメソッドである例CC。
【０１２４】
素子値は素子にすでに格納されている現在の素子値とプライマリパーティションに関連付けられる現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子にすでに格納されている現在の素子値を置き換えるために更新された素子値を素子に書き込むホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量に関連し、及びメソッドは更新された素子値を素子に書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズとその他のプライマリパーティションのサイズの両方をプライマリパーティションに関連する派生された参照値を派生する物理パーティションの容量から減算し、更新された素子値が派生された参照値を超えることを確定し、更新された素子値を素子に書き込むことを防止することから成る例Uから例Xの一つのメソッドである例DD。
【０１２５】
素子値は素子にすでに格納されている現在の素子値から成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、メモリ部分に関連する実際の特性はメモリデバイスの容量に関連し、並びにメソッドは現在の素子値を素子から読み取るホストデバイスからの要求についてモニターし、参照値を評価し、素子にすでに格納されている現在の素子値が参照値を超えることを確定し、現在の素子値をホストデバイスに読み出すことを防止し、現在の素子値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに参照値をホストデバイスに提供することから成る例Uから例Xの一つのメソッドである例EE。
【０１２６】
素子値は素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量から成り、並びにメソッドは現在の素子値を素子から読み取る書き込むホストデバイスからの要求についてモニターし、参照値を評価し、第一メモリ領域のサイズを派生された参照値を派生する物理パーティションの容量から減算し、素子にすでに格納されている現在の素子値が派生された参照値を超えることを確定し、現在の素子値をホストデバイスに読み取ることを防止し、現在の素子値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに派生された素子値をホストデバイスに提供することから成る例Uから例Xの一つのメソッドである例FF。
【０１２７】
派生された参照値は物理パーティション内にあるシングルプライマリパーティションの容量を表し、物理パーティションはメモリデバイスのメモリを成す一つ又は複数の物理パーティションである例FFのメソッドである例GG。
【０１２８】
素子値はプライマリパーティションに関連する現在の素子値、素子にすでに格納されている現在の素子値から成り、メモリ部分は物理パーティションから成り、アクションは素子から現在の素子値を読み取るホストデバイスからの要求から成り、物理パーティションに関連する実際の特性は物理パーティションの容量から成り、並びにメソッドは現在の素子値を素子から読み取るホストデバイスからの要求についてモニターし、素子値を評価し、第一メモリ領域のサイズとその他のプライマリパーティションのサイズの両方をプライマリパーティションに関連する派生された参照値を派生する物理パーティションの容量から減算し、素子にすでに格納されている現在の素子値が派生した参照値を超えることを確定し、現在の素子値を読み取る要求が有効であることを確実にする現在の素子値を読み取る要求を受信することに応えて、現在の素子値の代わりに派生された参照値をホストデバイスに提供することから成る例Uから例Xの一つのメソッドである例HH。
【０１２９】
第三メモリ領域を介して参照値にアクセスし、レジスタ、記述子、属性、又はフラグの少なくとも一つから成る第三メモリ領域から成る例Uから例HHの一つのメソッドである例II。
【０１３０】
メモリ部分に関連する実際の特性は第一メモリ領域と第二メモリ領域を合わせた容量に関連し、参照値は容量を削減するためにホストデバイスとメモリデバイスの間のハンドシェイクを基にして動的に構成された例Uのメソッドである例JJ。
【０１３１】
メモリデバイスはセキュアデジタル（SD）カード、埋め込み型MultiMediaCard（eMMC）メモリデバイス、ユニバーサルフラッシュストレージ（UFS）カード、PCIe（Peripheral Component Interconnect Express）カード又はソリッドステートドライブ（SSD）の一つから成る例Uから例JJの一つのメソッドである例KK。
【０１３２】
メタデータはマスターブートレコード（MBR）、グローバル一意識別子（GUID）パーティションテーブル（GPT）、又はボリュームブートレコード（VBR）の一つに関連付けられる例Uから例KKのひとつのメソッドである例LL。
【０１３３】
参照値はホストデバイスの製造元によって1回のみプログラム可能な設定に格納される例Uから例LLの一つのメソッドである例MM。
【０１３４】
参照値は参照値が再度プログラムされる前にホストデバイスが認証されることを必要とする設定に格納される例Uから例LLの一つのメソッドである例NN。
【０１３５】
命令を格納する一つ又は複数のコンピュータ読み取り可能記憶域メディアは実行されると、例Uから例NNの一つのメソッドを実行する例OO。
【０１３６】
ある機能が特定の実施形態に関連する説明が表示されるが、当該技術に熟練した者は本実施形態ではさまざまな機能が混ぜ合わさって説明されていることを認識するだろう。さらに、実施形態に関連して説明される面はスタンドアローンしても良い。
【図１】
2019507918.tif 000003
【図２】
2019507918.tif 000004
【図３】
2019507918.tif 000005
【図４】
2019507918.tif 000006
【図５】
2019507918.tif 000007
【図６】
2019507918.tif 000008
【図７】
2019507918.tif 000009
【図８】
2019507918.tif 000010
【図９】
2019507918.tif 000011
【国際調査報告】
2019507918.tif 000012
2019507918.tif 000013