JP2019507918A - 参照値を使ってメモリデバイスの有効なアクションを確保する - Google Patents

参照値を使ってメモリデバイスの有効なアクションを確保する Download PDF

Info

Publication number
JP2019507918A
JP2019507918A JP2018532622A JP2018532622A JP2019507918A JP 2019507918 A JP2019507918 A JP 2019507918A JP 2018532622 A JP2018532622 A JP 2018532622A JP 2018532622 A JP2018532622 A JP 2018532622A JP 2019507918 A JP2019507918 A JP 2019507918A
Authority
JP
Japan
Prior art keywords
memory
value
reference value
partition
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018532622A
Other languages
English (en)
Other versions
JP6791967B2 (ja
JP2019507918A5 (ja
Inventor
イィー.ミュッリュ キンモ
イィー.ミュッリュ キンモ
ヒュボネン ヤニ
ヒュボネン ヤニ
Original Assignee
メモリー テクノロジーズ リミティド ライアビリティ カンパニー
メモリー テクノロジーズ リミティド ライアビリティ カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メモリー テクノロジーズ リミティド ライアビリティ カンパニー, メモリー テクノロジーズ リミティド ライアビリティ カンパニー filed Critical メモリー テクノロジーズ リミティド ライアビリティ カンパニー
Publication of JP2019507918A publication Critical patent/JP2019507918A/ja
Publication of JP2019507918A5 publication Critical patent/JP2019507918A5/ja
Application granted granted Critical
Publication of JP6791967B2 publication Critical patent/JP6791967B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本開示は、格納する値が参照値と比較して有効であるメモリデバイスの素子に関連付けられるアクション(ホストデバイスによる読み取り又は書き込みなど)を確保する技術について説明する。 この参照値は実際のメモリの特性に関連付けられる。 この値を格納する素子はメタデータを格納するために構成されたメモリの領域に格納できる。 値はメモリデバイスが製造された後に再度プログラムされるので、間違って又は不正確にメモリの特性が反映されるように素子に格納された値がホストデバイスによって変更されることが可能である。 反対に、参照値はメモリの別の領域に格納され、その参照値は真の値である。

Description

関連出願の相互参照
本出願は、2015年12月21日出願の米国仮特許出願第62/270,493号の優先権から、2016年12月19日出願の米国実用新案特許出願第15/383,631号の優先権を主張する。特許出願番号15/383,631および62/270,493は参照により本明細書に組み込む。
マネージドNAND型記憶域モジュールのようなメモリデバイス(たとえば記憶域モジュール)はモバイル電話デバイス(たとえばスマートフォン)、タブレットデバイス、全世界測位システム(GPS)デバイス、電子書籍デバイス、メディアプレーヤーデバイスなどを含むさまざまなタイプの「ホスト」デバイスと関連して使用される。メモリデバイスの例にはセキュア デジタル(SD)カード、埋め込み型MultiMediaCard(eMMC)、ユニバーサルフラッシュストレージ(UFS)、ソリッドステートドライブ(SSD)モジュールなどがある。 メモリデバイスは、オペレーティング システム コード、アプリケーション、ユーザーデータ(たとえば写真データ、ビデオ データ)を含むメモリデバイスに結合されたホストデバイスが使用するデータを格納する。 また、メモリデバイスはホストデバイスが使用する、又はメモリデバイス自体が使用する、メタデータ、構成データを含むその他のタイプのデータを格納する。
ホストデバイスの機能が増えるにつれて、またユーザーがさらにユーザーデータ(たとえばダウンロード済みのアプリ、イメージ、メッセージ)を作成するにつれて、メモリデバイスはさらに多くのデータを格納するタスクが課せられる。 よって、ストレージ容量の正確な反映とメモリデバイスのその他の特性がホストデバイスのユーザーのほかにメモリデバイス自体(たとえば最適化されたパフォーマンス)にも重要性を加えた。 例えば、ユーザーは16ギガバイト(たとえば16GB SDHCカード)を格納するメモリデバイスの代わりに、64ギガバイトを格納するメモリデバイス(たとえばユーザーの携帯電話用64GB SDXCカード)を欲するかもしれない。
最近、偽造者たちはメモリデバイスに格納する情報を変更しているので、その情報にアクセスしてメモリデバイスから読み出されるとき、メモリ容量は正確に反映されていない。また、メモリデバイスに格納されたその他の情報はメモリデバイスの実際の特性に一致しないことがあり、メモリデバイスは最適な方法で操作されないことがある。例えば、16GB メモリデバイスのパーティション情報は、ホストに対して64GBメモリデバイスとして誤って表示されるように変更されることがある。 そのため、このパーティション情報は間違った又は不正確な変更された情報になることがある。 つまり、メモリデバイスは実際は、高密度カード(たとえば64GB SDXCカード)に見えるように偽造者たちよって変更された低密度カード(たとえば16GB SDHCカード)かもしれない。別の例として、パーティションの実際のデータエリアの始めは適切なブロック境界内でないことがある。
時には、顧客は、メモリデバイスが実際は少量のデータ(たとえば16GB)しか格納できないのに、大量のデータ(たとえば64GB)を格納できるように見えるメモリデバイスの購入価格を支払うことがある。 顧客は結局、不正確で虚偽の情報を基にしたメモリデバイスのパフォーマンスに失望することになる。 例えば、顧客は、このメモリデバイスは実際のメモリデバイスの密度を超えるアドレスにデータを書き込むことができないことに気づくかもしれない。 又は、顧客は、このメモリデバイスは実際のメモリデバイスの密度を超えるアドレスにデータを書き込むときに破損することに気づくかもしれない。
メモリデバイスが値を格納する素子に関連付けられたアクションが参照値の使用を通して有効であるように構成されている環境の例を示す。 素子によって格納された価はメモリの少なくとも1つの部分に関連する特性(たとえば容量)を表示できる。 参照値がメモリのひとつの領域に格納され、アクションに関連付けられた値が、メモリデバイスが製造された後に再度プログラムされる影響を受けやすいメモリの別の領域に格納されているメモリデバイスの例のさらに詳細を示す。 値を格納する素子に関連付けられたアクションの発生をモニターし、(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は、本開示が実装される例の環境100を示す。 例えば、例の環境100では、メモリデバイス102は値を格納する素子に関連付けられたアクションが参照値と比較して有効であるように構成されている。 このアクションはホスト104によって、又はこのホストに従って実装できる。 例えば、このアクションはホストデバイス104による書き込み又は読み取りに関連付けできる。
ホストデバイス104はスマートフォンデバイス、ウェアラブルデバイス(たとえば腕時計、メガネ、心拍数モニタリングデバイスなど)、ラップトップコンピュータ、タブレットデバイス、画像キャプチャデバイス(たとえばカメラ、ビデオ録画デバイスなど)、ネットブックバイス、ゲーム機デバイス、パーソナルコンピューティング装置(たとえばデスクトップコンピューター)、サーバーデバイス、セットトップボックスデバイス、ホームデバイス(たとえばアプライアンス装置、サーモスタット装置、 ガレージドア装置など)、又はホストデバイスに接続又は結合されているメモリデバイスによってストレージを必要とするその他電子装置から成る。 ある例では、ホストデバイス104はディスプレイ(たとえばタッチディスプレイ)、ディスプレイをプロセッサに接続するバス、およびグラフィックスの表示とテキストをディスプレイ上で処理するグラフィックスサブシステムのすべて若しくはその一方を含むことがある。 ホストデバイス104は、ダイナミックランダムアクセスメモリ(DRAM)のようなホストシステムメモリ、センサ(たとえば加速度計、ジャイロスコープ、GPSなど)、入力/出力コンポーネント(I/O)(たとえばスピーカー、マイク、キーボード)、及びコミュニケーションズインタフェース(たとえばセルラー、USB、Wi-Fi、Bluetooth、又はその他有線又は無線インターフェイス)のうちの1つ又は複数を含むことがある。
さまざまな実装では、メモリデバイス102はプリント基板上にマウントされるように設計されたたとえば、ボールグリッドアレー(BGA)パッケージのパッケージ内に含まれることがある。 例えば、メモリデバイス102は埋め込み型MultiMediaCard(eMMC)又はユニバーサルフラッシュストレージ(UFS)モジュールである。 代わりに、メモリデバイス102はホストデバイス104上のスロット内、ソリッドステート装置(SSD)モジュールのようなセミリムーバブルデバイス内、又はPC/サーバーカード/モジュール(例えばPCIe(Peripheral Component Interconnect Express)カード)内に適合するリムーバブルカード(SDカード)内に含まれることができる。 さらに、メモリデバイス102はひとつの内蔵デバイスであったり、又は連結されたデバイスのコレクションとして実装できる。
メモリデバイス102はコントローラー106(たとえばメモリコントローラー)を含む。 コントローラー106は読み取りと書き込みの両方又はその一方の要求、メモリデバイス102(たとえばしばしば大容量記憶装置、不揮発性メモリ、大容量記憶装置と呼ばれる)のメモリ(たとえば記憶領域)間のデータ、及びホストデバイス104に従って、通信するように設定される。 さまざまな実装において、コントローラー106は、コントローラー106の操作を制御するには制御回路、操作情報を格納しメモリデバイス102内に一時的な格納場所を提供するために又はその一方のためのランダムアクセスメモリ(RAM)、内部クロック信号を生成するクロック生成回路、ホストデバイス104からデータやコマンドの両方又はその一方を受信するレシーバ回路(たとえばホストコントローラー、又はその他ホストデバイスの処理装置)、データやステータス情報の両方又はその一方をホストデバイス104に送信する送信器回路(たとえばホストコントローラー)のすべて又はその一つを含むことができる。 さらに、コントローラー106は少なくとも一つのバスを通してメモリデバイス102のメモリに接続できる。これによって、コントローラー106はメモリからデータを読み取ったりメモリにデータを書き込んだりなど、メモリでの通信が可能になる。 さまざまな例において、ストレージはそれぞれ1ビット(SLC:シングルレベルセル)又は複数ビット(MLC:マルチレベルセル)のデータを格納できるメモリ回路やメモリーセル(たとえばNAND型セル)を持つNAND型フラッシュメモリのような不揮発性メモリで実装できる。 もう一つの不揮発性メモリは本開示から逸脱しない範囲で使用できる。 例えば、不揮発性メモリには相変化メモリ(PCM)、磁気抵抗ランダムアクセスメモリ(MRAM)、抵抗変化型メモリ(RRAM)、強誘電体メモリ(FRAM)などを含むことができる。
メモリデバイス102のメモリはホストデバイス104に表示されるアドレススペースから成る。 表示されるアドレススペースは物理アドレス空間(たとえばホストはNAND型フラッシュのような不揮発性メモリの物理アドレスにアクセスできる)として考慮されるか、又は論理アドレス空間(たとえばマネージドNAND型メモリデバイスのフラッシュ管理機能は論理から物理へのマッピング変換テーブルを使って、ホストから受信したアドレスを不揮発性メモリの物理アドレスに変換する)として考慮される。例えば、アドレススペースにはメモリの一つ又は複数の部分を含むことができる。 例によっては、メモリ部分にはMBRプライマリパーティション、GUIDパーティションテーブル(GPT)パーティション、物理パーティション(たとえばeMMC標準で定義されている汎用のパーティション)、又は論理ユニット(UFS標準で定義の通り)を含むことができる。 上述の通り、メモリデバイス102のメモリ(たとえばストレージ)は領域に分けることができ、その領域は次の通りである。(i) メモリの個々の部分内にある特定領域(たとえばMBRプライマリパーティション、GPTパーティション、物理パーティション、又はLUの一部)、 (ii) メモリのパーティション(たとえば領域はMBRプライマリパーティション、GPTパーティション、物理パーティション、又はLUから成る)、又は (iii) レジスタ、記述子、属性、フラグの一つ又は複数。例えば、以下の該当する図1で説明のように、第一領域及び第二領域はメモリの単一部分の一部でも良い(たとえばマスターブートレコードの第一領域とMBRプライマリパーティションを含む第二領域を含むシングル物理パーティションしか付いていないSDカード)。 又は、第一領域および第二領域はそれぞれメモリの別の部分から成る(たとえばメタデータは第一部分に、ユーザーデータは第二部分に格納される)。
その結果、図1は、メタデータ110を格納するために使用されるメモリの第一領域108を示す。 メタデータ110は、ホストデバイス104がどのようにデータをメモリデバイス102に並べ替えたかに関係するデータを含む。 従って、メタデータ110はメモリデバイス102のコントローラー106で、内部で使用(たとえば評価)できる(たとえばホストデバイス104によって開始される読み取り又は書き込みに従って)。 さまざまな実装において、メタデータ110はマスターブートレコード(MBR)、GUIDパーティションテーブル(GPT)、又はボリュームブートレコード(VBR)のようなメモリデバイス102のパーティション分割情報を含むことができる。 MBRは、MBRプライマリパーティションがメモリデバイス102のメモリ上にどのように並べられる(たとえば配置)かについての情報を含む。MBRは、ホストデバイス104にインストールされたオペレーティングシステムのローダーとして機能に実行可能なコードも含むことができる。 GPTはグローバル一意識別子(GUID)を使用するパーティションテーブルのレイアウト用標準から成る。 VBRはメモリデバイスの別の部分に格納された(たとえば本書に記載の図1に関する第二メモリ領域)ブートストラッププログラム(たとえばオペレーティングシステム)のコードを含む。
第一メモリ領域108に格納されたメタデータ110は一つ又は複数の素子112を含むことができ、そこでは個々の素子112がメモリデバイス102の特性114を示す値を格納するように設計されている。 特性114はメモリの一部分又はメモリの一領域に関連付けられる。 個々の素子112は特定アドレスを指定でき、読み取り又は書き込みの要求に関連付けてホストデバイス104によって識別できる。 ある例では、個々の素子112は既知のアドレスを介してホストデバイス104によってアクセス可能で、かつメモリデバイスにある部分の第一アドレス又はメモリの領域、メモリデバイスにある部分の最後のアドレス又はメモリの領域、又はメモリデバイスにある部分のサイズ(又は長さ)又はメモリの領域を示すフィールド(たとえば4バイトフィールド)から成る。 前述の通り、素子112に格納されている特性を示す値114は再プログラムが可能なので、素子112はメモリデバイス102の特性や容量(たとえばメモリ容量)の両方又はその一方を間違って又は不正確に反映したいと願う偽造者による変更の影響を受けやすい。 例えば、特性114の間違った又は不正確な値の反映は、書き込み要求又は読み取る要求などのホストデバイスによるアクションに関連付けられる。
第二メモリ領域116は例えば、ユーザーデータ118に格納できる。 上述の通り、第二メモリ領域116はダウンロードしたアプリ、イメージ(たとえば絵、写真、ビデオなど)、音楽、センサーデータなどを含むユーザーデータ118を格納するメモリの一部分又は複数の部分(たとえばプライマリパーティション、物理パーティション、LUなど)から成る、又は一部になることができる。さまざまな実装では、第二メモリ領域116は例えば、オペレーティングシステムに関連付けられるホストデータも格納できる。ある例(たとえばSDカード)では、第二メモリ領域116はパーティションブートセクタ、ファイルアロケーションテーブル(FAT)、ルートディレクトリのすべて又はその一方のようなファイルシステムのアーキテクチャを格納できる。 図1の点線で示す通り、および本書でさらに記載の通り、特性114を示す値は第二メモリ領域116の特性に相当する。
第三メモリ領域120は設定122を維持し、そこで個々の設定122がメモリデバイス102の実際の特性124に関連付けられる参照値を格納する。 上述した通り、個々の設定122に格納された参照値は、第三メモリ領域120は製造段階にメモリデバイス102の製造元によってプログラムされたので、正しくかつ正確(たとえば真実又は最適)な値である。 さまざまな実装では、第三メモリ領域120の設定122はその中に格納された参照値がホストデバイス104によって後に再度プログラムされないように、保護されている。 よって、第三メモリ領域120は、メモリデバイス102が製造・展開された後にホストデバイス104によって変更されないように値を格納する設定を含むことができる。 代替実装では、メモリ第三領域120の設定122はその中に格納されている参照値がホストデバイス104によって後に再度プログラムできるように保護されているが、そのホストデバイス104が認証された場合のみである(たとえばホストデバイスが設定122に格納された参照値を変更するために認証される)。 しかし、別の代替実装では、この参照値はメモリデバイスの制御下で再度プログラムできる(たとえばホストデバイスとの相互のハンドシェイクに関連付けて)。
その結果、第三メモリ領域120はハードウェアレジスタのセット、記述子、属性、又はフラグ(たとえばSDカード内のCSDレジスタ)から成り、メモリデバイス102の容量についての実際の情報を格納する。 参照値で表される実際の特性124はメモリデバイスの総容量、メモリ領域の容量(たとえば第二メモリ領域116)、第一メモリ領域108及び第二メモリ領域116を合わせた容量、メモリの個々の領域の容量(たとえばプライマリーパーティション、物理パーティションなど)、メモリの個々の部分又は個々の領域の開始アドレス、メモリの個々の領域の開始アドレスと個々の領域の両方又はその一方の位置合わせ(たとえば評価の高いアドレス境界)、メモリ部分のアロケーションユニットのサイズ、メモリデバイスの最大待ち時間と規定待ち時間の両方又はその一方、メモリデバイスの最新消費値などの一つ又は複数に関連付けられる。本書に記述の技術は、実際の特性124で表される本情報がひずまず、メモリデバイスが実際の操作境界外である偽情報を伝えないようにする(たとえばメモリデバイスが正しくないものを正しいと偽って再プログラムされた情報を伝達しないようにする)。この技術はメモリデバイス102がさらに最適化された操作(たとえば高いパフォーマンス、長いライフタイムなど)を実行するようにする。
従って、本書に記載の技術は第一メモリ領域108の素子112と第三メモリ領域120の設定122の間にリンクを作る(たとえば現在、素子に格納されている相対値と設定に格納されている参照値の間のリンク)。 126で参照された通り、メモリデバイス102のコントローラー106は同じ特性114を示す相対値を格納する素子112と関連付けられるアクションが有効でるように、又は素子に残る値が有効であるように、第三メモリ領域120の設定122に格納されているので、実際の特性124に関連付けられる参照値を評価(たとえばアクセス、読み取りなど)できる。 メモリデバイス102のコントローラー106は設定122に格納された参照値から派生された参照値を派生できる。又は代わりに派生参照値を派生できる。 128で参照された通り、アクションは読み取り又は書き取り要求などホストデバイス104によって開始できる。 このアクションは第一メモリ領域108の素子112から読み取られた値、又は書き込まれた値が間違った又は不正確な値の場合は、130で参照された通り、無効になる。 例えば、 SDカードの実際のメモリ容量が16GBのときに、SDカードのプライマリパーティションの容量が64GB(近く)を示す値を読み取る又は書き込む場合は有効になる。 その結果として、本書に記載される技術は正しい又は正確な価値が132で参照された通り、素子112から読み取られる、又は素子112に書き込まれるように、参照値又は派生した参照値を評価する。 この場合、アックションは有効として考慮できる。
さまざまな実装によって、素子112から読み取られた値又は素子112に書き込まれた値は正しいために及びアクションが有効であるために、必ずしも参照値又は派生した参照値に一致する必要はない。 例えば、ホストデバイス104は設定122(たとえば参照値又は派生した参照値が16GBの容量又はそれに近い容量を示すとき、ホストデバイス104は12GBのプライマリパーティション容量を示す値をプログラムする)に格納された対応する容量よりも少ない素子112に容量(たとえばプライマリパーティション容量、物理パーティション容量など)値を書き込むことで有効なアクションを実行できる。 ただし、ホストデバイス104は設定122(たとえば参照値が16GBの(近い)容量を示すとき、ホストデバイス104は64GBの(近い)プライマリパーティション容量を示す値をプログラムする)に格納された対応する容量以上の素子112にプライマリパーティション容量を書き込むことで有効なアクションを実行する。
さまざまな実装において、設定122に格納された情報と素子112に格納された情報の間ではフォーマットが異なるため、コントローラー106は異なるフォーマット間で変換を実装できる。 例えば、コントローラー106は評価に従って、第一フォーマットから第二フォーマットに参照値又は派生参照値を変換できる。ある例において、SDカードのメモリ容量(バイト)は以下の式で算出される。
(C_SIZE+1) * 512 * 1024
素子112に格納されているMBR情報が開始アドレスとプライマリパーティションのサイズを含む場合、そのサイズは512バイトのセクターの数値として示すことができる。よって、適切な比較のため、以下の変換を行い、以下の場合そのアクセスは有効である。

(C_SIZE+1) * 512 * 1024 (MBRオフセットの4バイトの値 + 1BEh + 0Ch) * セクターサイズ(例 512B)
少なくとも一つの実装において、プライマリパーティションのファイルシステム領域(FAT)は第一メモリ領域108の一部になり、そのファイルシステム領域はプライマリパーティションの実際のデータ領域の実際の特性に関係する素子112を含むことができる。実際のデータ領域は第二メモリ領域116から成る、又はその一部である。
図2は、参照値が一つのメモリ領域(たとえば第三メモリ領域120)に格納される一方で、ホストデバイス104に表示(たとえばアクセス可能など)される値を格納する素子112は再度プログラムが可能(たとえば第三メモリ領域108)な異なるメモリ領域に格納されるメモリデバイス102のさらに詳細を示す。代替実装において、第三メモリ領域120はメモリデバイス102のフラッシュメモリ(たとえばNAND)、コントローラー106の埋め込み不揮発性メモリ(たとえばMRAM、フラッシュなど)、コントローラー106のROM、コントローラー106に埋め込まれた又は接続されたRAM(たとえばSRAM又はDRAM)、又はこれらの組み合わせ(たとえばフラッシュメモリに永久に格納されるが、RAMにキャッシュされるなど)に配置される。
図2で示す通り、第一メモリ領域108及び第二メモリ領域116は一つ又は複数のメモリ部分 202(1)…202(N)(Nは整数)に関連付けることができる。 上述の通り、メモリ部分202(1)…202(N)はプライマリパーティション、物理パーティション、又は論理ユニット(LU)で構成できる。 さまざまな例では、メモリパーティション202(1)…202(N)はブロックに分割でき、それはさらにページに分割できる。 その結果、メモリデバイス102のメモリは複数のアドレス可能メモリロケーションを含むことができる。アドレス可能メモリロケーションはメモリブロック、メモリページ、セクター、メモリのバイトなど少なくともメモリパーティションの部分202(1)…202(N)から成り、かつ特定できる。 アドレスは論理アドレス又は物理アドレスになることがある。
図2は、図1の設定122に格納された参照値で表される実際の特性124の例を示す。 上述の通り、参照値の整合性が正しくかつ正確に操作パラメータとメモリデバイスの境界の両方又は一方を反映しするように保護するには、設定122はメモリデバイスの製造元が最初に参照値をプログラムした後に、再度プログラム(たとえば変更)できないように1回のみプログラム可能な設定にもなり得る。代わりに、設定122のプログラミングはその中に格納される参照値の変更が適切な状況だけで起きるように、認証に関連付けることができる。さらに、設定122のプログラミングはメモリデバイスの制御下で実装できるが、ホストデバイスの制御下ではできない(たとえばメモリデバイスとホストデバイスの間のハンドシェイクに関連付けて、メモリデバイスによって動的容量の調整を開始・制御する) ある場合において、設定122はメモリデバイスの既知の操作境界外である参照値を変更できないように構成できる。例えば、メモリ容量の参照値代表を格納する設定が追加メモリの予約を割り当てるために参照値を減らすことができるが、この設定は参照値を増やすことはできない。ここで、メモリ容量の削減はメモリデバイスの操作境界内であるが、メモリ容量を増やすと参照値が操作境界を超える可能性があるので、(偽造アクションを防ぐため)増やすことはできない。
ある例では、実際の特性はメモリデバイス102のメモリの総容量204を表すことができる。ある実装では、総容量204は第一メモリ領域108と第二メモリ領域116の組み合わせを反映できる。場合によっては、総容量204はメモリデバイスの実効密度を表す(たとえば64GB SDカードは62GBの実効密度、16GB SDカードは15GBの実効密度など)。メモリデバイスの実効密度はメモリ予約の作成・管理(たとえば失敗したブロックに応えて呼び出される代替ブロック)、メモリコントローラのファームウェアの記憶域、レジスタスペースの記憶域などのため、全体的なメモリの総量より少なくて良い。実装によっては、総容量204は動的に構成可能な設定で、そこで参照値はホストデバイス104とメモリデバイス102の間のハンドシェイクに応えて変更できる。よって、総容量204は以前予約済のメモリブロックが失敗したこと又はエラーに応えて呼び出されたら、新しいメモリブロックの予約を割り当てるために減らすことができる。eMMCでは、コントローラー106はホストデバイスがメモリブロックによって提供された密度を動的に減らすことができるようにする「動的容量」機能を実装するために構成できる(たとえばメモリデバイスは第二メモリ領域からメモリのブロックを解放する)。
別の例では、実際の特性はメモリの個々の部分206の容量(たとえばプライマリパーティション、物理パーティション)又はメモリの個々の領域(たとえば一つ又は複数の部分、部分の一部)を表すことができる。従って、各メモリ部分は一つ又は複数の個々の設定及び対応する値を格納する一つ又は複数の個々の素子に関連付けることができる。
しかし別の例では、実際の特性は個々の部分の開始アドレス又はメモリの個々の領域208を表すことができる。
もう一つの例では、実際の特性はメモリ210の個々の部分と個々の領域の両方又はその一方の開始アドレスの位置合わせを表すことができる。 メモリページサイズとメモリブロックサイズの両方又はその一方を配列することはメモリデバイスのパフォーマンスを改善し、メモリデバイスの寿命を延ばす。
さらにもう一つの例では、実際の特性はメモリの個々の部分212のアロケーション ユニットのサイズを表すことができる。ホストファイルシステムが使用したクラスターのサイズをアロケーションユニットとメモリデバイスで位置合わせすると、メモリデバイスのパフォーマンスが改善される。
本書の図3〜5に記載される例のプロセスは、論理的な流れのグラフで示され、ハードウェア、ソフトウェア、又はその組み合わせで実装できる操作の順序を表す。 操作は実行可能な指示を表し、一つ又は複数のプロセッサによって実行されたときに表示された操作を実行する。 実行可能な指示はルーチン、プログラム、オブジェクト、コンポーネント、モジュール、データ構造、及び特定の機能を実行するものなどを含む。 図3〜5に描写されている操作の順序は制限として解釈されるものではなく、操作に記載される任意の数は任意の順序に合わせて平行してプロセスを実施したり、一方のみを実施したりできる。 実効可能な指示は、コンピュータ読み取り可能指示、データ構造、プログラムモジュール、又はその他データなど情報を記憶するための任意の方法又は技術で実装される揮発性及び不揮発性、リムーバブル及び非リムーバブルメディアを含む非一過性のコンピュータ記憶域メディアで格納できる。 コンピュータ記憶域メディアはランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、 電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ又はその他メモリ技術、磁気記憶装置、又はホストデバイス又はメモリデバイスによってアクセスする情報を記憶するために使用するその他非送信媒体を含む(ただし、これらに限定されない)。
図3は、値を格納する素子に関連付けられるアクションの発生をモニタし、そのアクションが有効であるようにする例のプロセス300を示す。本例のプロセス300は図1と2の両方又はその一方のコンテキストで、メモリデバイス102(たとえばメモリデバイス102のコントローラー106)によって実装できる。
302では、メモリデバイス、メモリデバイスのメモリ、又はメモリデバイスの操作に関連する特性を示す値を個々に格納する素子に関連付けられるアクションの発生をモニタする。 上述の通り、そのアクションはホストデバイスからの読み取る要求であったり、ホストデバイスからの書き込み要求であったりする。さまざまな実装において、値を格納する素子はメタデータ110(たとえばパーティション分割メタデータ、メモリデバイスのシステム構造に関連するデータ)を格納するために使用するメモリの領域に格納される(たとえば図1と2の第一メモリ領域108)。 素子はホストデバイスに表示される既知のアドレスに関連付けできる。 その結果として、現在その素子に格納されている値はホストデバイスによって変更が可能になるので(たとえば偽造者によって制御される)、間違って又は不正確にメモリデバイスの実際の特性を反映する。
304では、メモリデバイスは、その素子に関連付けられたアクションが実際の特性に関連付けられた参照値と比較して、有効かどうかを確定する。 さまざまな実装において、その参照値は、その素子が位置しているメモリ領域から離れているメモリ領域(たとえば図1と2の第三メモリ領域120)に位置している設定に格納される。 このメモリ領域に位置する設定はレジスタ、記述子、属性、フラグなどから成る。このメモリ領域では、参照値は読み取られることができるが、参照値は、 (i) メモリデバイスが製造された後は再プログラムができない(たとえばその設定は1回のみプログラム可能)、(ii) ホストデバイスの制御ではなく、メモリデバイスの制御のみで再プログラム又は変更ができる(たとえばメモリデバイスによって開始・制御された動的容量調整)、又は (iii) 参照値が変更されればホストデバイスの認証が必要になる。 従って、参照値はメモリデバイスの実際の特性を正しくかつ正確に反映する真の値である。
さまざまな例では、値を格納する要素に関連付けられるアクションは、その値がその要素に書き込まれる(たとえばホストデバイスによって)場合、その値が最終的にその値に書き込まれる(たとえばメモリ コントローラーによって)場合、又はその素子に格納され続ける値が参照値と比較して有効な場合(たとえば参照値よりも少ない)、有効である。 さまざまな例では、値を格納する要素に関連付けられたアクションは、その要素から読み取られるその値が参照値と比較して有効である場合、又はある有効値が参照値を基にしてホストデバイスに配信される場合、有効である。
306では、メモリデバイスは、その素子に関連付けられるアクションが無効だと確定された場合、是正措置を実装する。 例えば、その是正措置は (i) 素子から読み取られた素子に現在格納されている値、又は (ii) 更新された値が無効な値であれば、素子に書き込まれたホストデバイスから受信した更新された値(たとえばこの更新された値は参照値によって表された容量を超える容量を表す)を妨げることがある。そうしなければ(素子に関連付けられるアクションが有効であると確定される場合)、メモリデバイスはアクションを完成する。 例えば、メモリデバイスが読み取る要求に応えて素子に格納されている現在の値を戻す、又はメモリデバイスは書き込み要求に応えて素子に更新した値を書き込む(たとえば書き込まれた更新された値は素子に格納された現在の値を置き換える)。
図4は、値を格納している素子に関連する書き込みアクションが有効であることを確認するために、参照値又は派生した参照値を評価するプロセスの例400を示す。 例のプロセス400は図1と2の両方又はその一方のコンテキストで、メモリデバイス102(たとえばメモリデバイス102のコントローラー106)によって実装できる。
402では、メモリデバイスは現在の素子値を格納する素子に更新した素子値を書き込む要求の発生を確定する。 例えば、この要求はメモリデバイスの容量を示す新しい値を第一メモリ領域108のメタデータ110に書き込もうとするホストデバイスで開始される場合もある。
404では、メモリデバイスは参照値を評価する。 上述の通り、参照値は現在の素子値が格納されている素子に対応する設定に格納されているので、この参照値は現在の素子値に関係する。 設定は素子が格納されている場所とは別のメモリ領域に位置する。 その結果、メモリデバイスはこの別の領域にある参照値にアクセスできる。 参照値はメモリデバイスの総容量、メモリの個々の部分の容量、メモリ部分の開始アドレス又は領域などを反映できる。
406における実装によっては、メモリデバイスは派生した参照値を確定できる。 例えば、物理パーティション内にあるプライマリパーティションの容量を確定するには、メモリデバイスは物理パーティションの容量(たとえば参照値に示されている)から物理パーティション内(たとえば第一メモリ領域108のサイズ)にあるメタデータ110を格納するために使用したメモリ容量を差し引く。 よって、派生した参照値はメモリデバイスにあるメモリ部分(たとえば物理パーティション)の容量のサイズから第一メモリ領域のサイズを差し引くことで派生(たとえば算出)できる。
もう一つの例では、物理パーティション内にある複数のプライマリパーティション(たとえば2つ以上)から特定のプライマリパーティションの容量を確定するには、メモリデバイスは (i) 物理パーティション内にあるメタデータ110を格納するために使用したメモリ量(たとえば第一メモリ領域108のサイズ)と (ii) 物理パーティション内にあるもう一つのプライマリパーティションのサイズの両方を物理パーティションの容量(たとえば参照値で示される)から差し引く。 よって、特定のプライマリパーティションの派生した参照値は物理パーティションの容量のサイズから第一メモリ領域のサイズと物理パーティション内にあるその他のプライマリパーティションのサイズの両方を差し引いて派生(たとえば算出)できる。
さまざまな実装において、前述の2つの段落のどちらかに記載された物理パーティションはメモリデバイスのメモリから成る複数の物理パーティションの一つであるかもしれない。 派生した参照値を派生した後、プロセスを408に移動する。
もう一つの方法として、406に関連付けられた操作は、参照値が比較前に派生される必要が場合はスキップできる(たとえば406の矢印で示したように)(たとえば設定に格納された参照値がメモリデバイスのメモリ部分の容量から第一メモリ領域のサイズをすでに差し引いた結果である場合)。
確定408では、メモリデバイスは要求から更新した素子値が参照値又は派生した参照値を超えるかどうかを確定する(たとえばホストデバイスがメモリデバイスの操作境界外である値を書き込もうとすることを示す、又はホストデバイスがメモリデバイスの操作が最適でない値を書き込もうとすることを示す)。 例えば、その確定は比較に基づいて行うことができる。
確定408における答えが「ノー」であれば、そのプロセスは410に移動し、メモリデバイスはホストからの書き込み要求の受信に応えて、更新した素子値が素子に書き込みできるようにする(たとえばアクションが有効であり、書き込まれる更新した素子値が有効の両方又はその一方)。
最初の例では、確定408における回答が「イエス」であれば、そのプロセスは412に移動し、メモリデバイスは更新した素子値が素子に書き込まれないようにする(たとえばそのアクションは、例えば、ホストデバイスがプライマリパーティションの実際の容量16 GB未満の代わりにプライマリパーティションのメタデータ64 GB未満の偽造値に書き込もうとするので、無効である)。 414におけるある場合では、メモリデバイスは書き込み要求に関連付けられてホストデバイスから受信した更新した素子値を書き込む代わりに、参照値又は派生した参照値を任意に素子に書き込むことができる。場合によっては有効値は素子内に前から存在することがあるので、この有効値はまったく更新する必要がない。
二つ目の例では、確定408における回答が「イエス」であれば、プロセスは416に移動し、アクションが無効であると確定されたり、更新した素子値が無効であると確定されたりの両方又はその一方であったとしても、メモリデバイスは更新した素子値が素子に書き込まれるようにする。 しかし、418では、メモリデバイスは内部で素子にフラグ設定することがあるので、是正措置はフラグ設定された素子に格納された現在の値の読み取りに関連付けられる(たとえばホストデバイスによって書き込まれた更新した素子値を基にして偽造地である現在の値)。 例えば、フラグ設定された素子から読み取りの試行が発生したとき、メモリデバイスはフラグ設定された素子に現在格納された偽造値(たとえばメ無効値)を提供しないが、むしろ、メモリデバイスはメモリデバイスの整合性を保護する是正措置を実施する(たとえばメモリデバイスは読み取り段階に対応する参照値又は派生した参照値にアクセス・提供する)。
図5は、値を格納している素子に関連付けられた読み取りアクションが有効であることを確認するために、参照値又は派生した参照値を評価する例のプロセス500を示す。 例のプロセス500は図1と2の両方又はその一方のコンテキストで、メモリデバイス102(たとえばメモリデバイス102のコントローラー106)によって実装できる。
502では、メモリデバイスは現在素子に格納された(現在の)素子値を読み取る要求の発生を確定する。 例えば、その要求は第一メモリ領域108のメタデータ110から情報(たとえばメモリデバイスのプライマリパーティションの容量)を読み取ろうとするホストデバイスによって開始されることができる。
504では、メモリデバイスは参照値を評価する。 上述の通り、参照値は現在の素子値が格納されている素子に対応する設定に格納されているので、この参照値は現在の素子値に関係する。 設定は素子が格納されている場所とは別のメモリ領域に位置する。 その結果、メモリデバイスはこの別の領域にある参照値にアクセスできる。 参照値はメモリデバイスの総容量、メモリの個々の部分の容量、メモリ部分の開始アドレス又は領域などを反映できる。
506における実装によっては、メモリデバイスは派生した参照値を確定できる。 例えば、物理パーティション内にあるプライマリパーティションの容量を確定するには、メモリデバイスは物理パーティションの容量(たとえば参照値に示されている)から物理パーティション内(たとえば第一メモリ領域108のサイズ)にあるメタデータ110を格納するために使用したメモリの量を差し引く。 よって、派生した参照値はメモリデバイスにあるメモリ部分(たとえば物理パーティション)の容量のサイズから第一メモリ領域のサイズを差し引くことで派生(たとえば算出)できる。
もう一つの例では、物理パーティション内にある複数のプライマリパーティション(たとえば2つ以上)から特定のプライマリパーティションの容量を確定するには、メモリデバイスは (i) 物理パーティション内にあるメタデータ110を格納するために使用したメモリ容量(たとえば第一メモリ領域108のサイズ)と (ii) 物理パーティション内にあるもう一つのプライマリパーティションのサイズの両方を物理パーティションの容量(たとえば参照値で示される)から差し引く。 よって、特定のプライマリパーティションの派生した参照値は物理パーティションの容量のサイズから第一メモリ領域のサイズと物理パーティション内にあるその他のプライマリパーティションのサイズの両方を差し引いて派生(たとえば算出)できる。
さまざまな実装において、前述の2つの段落のどちらかに記載された物理パーティションはメモリデバイスのメモリから成る複数の物理パーティションの一つであるかもしれない。 派生された参照値を派生した後、プロセスを508に移動する。
もう一つの方法として、506に関連付けられた操作は、参照値が比較前に派生される必要が場合はスキップできる(たとえば506の矢印で示したように)(たとえば設定に格納された参照値がメモリデバイスのメモリ部分の容量から第一メモリ領域のサイズをすでに差し引いた結果である場合)。
確定508では、メモリデバイスは、現在の素子値が参照値又は派生した参照値を超える素子にすでに格納されているかを確定する(たとえばホストデバイスがメモリデバイスの操作境界外である値を読み込もうとすることを示す)。 例えば、その確定は比較に基づいて行うことができる。
確定508における答えが「ノー」であれば、そのプロセスは510に移動し、メモリデバイスはホストから読み取る要求の受信に応えて、現在の素子値がホストに提供できるようにする(たとえばアクションが有効であり、現在の素子値が有効の両方又はその一方など)。
確定508における回答が「イエス」ならば、メモリデバイスは現在の素子値がホストデバイスに読み出されないようにする512のプロセスに移動する(たとえばそのアクションと現在の素子値の両方又はその一方は、たとえばホストデバイスがプライマリパーティションの16 GB未満の実際の容量の代わりにプライマリパーティションの64 GB未満の容量のメタデータから偽造値を読まないようにするので、無効である)。
514では、メモリデバイスは現在の素子値の代わりにホストデバイスに参照値又は派生した参照値を提供する。
図6は、(i) ホストデバイスによる書き込みアクションが有効である、又は (ii) 素子にすでに格納された現在の値が有効であるように、ホストデバイス104とメモリデバイス102の間で実装された相互作用の例を示す。 図6の相互作用例は図1と2の両方又はその一方のコンテキストで実装できる。
図6は、第一メモリ領域108(図1)を示す。 第一メモリ領域108は、値を格納する第一素子602、値を格納する第二素子604、及び値を格納する第三素子606を含む。 一方、図6は3つの異なる素子を示し、メタデータ110にはメモリデバイスの特性を示す値を格納するいくつもの素子を含むことができる。
相互作用608では、ホストデバイス104は更新した素子値を素子604に書き込むことを要求し、メモリデバイス102は更新した素子値を素子604に書き込む要求を受信する。
確定610では、メモリデバイス102は素子604に関連付けられたアクションの検証が有効であるかを確定する。 例えば、メモリデバイス102は素子604に関連付けられた検証が有効か無効かを示す第三メモリ領域120にある設定(たとえばレジスタ、属性)にアクセスできる。 検証が有効か無効かを示す設定は、素子604に関連付けられたアクションが有効か無効かを確定するために使用される参照値を格納する設定から分離できる。
確定610への回答が「ノー」(たとえば検証が無効化された場合)である場合は、612では、メモリデバイス102は書き込み要求と更新した素子値の両方又は一方を検証せずにホストデバイス104から受信する更新した素子値を素子604に書き込み、相互作用614では、メモリデバイス102はホストデバイス104に正常な更新確認を戻す。
確定610への回答が「イエス」(たとえば検証が有効化された場合など)の場合は、確定616では、メモリデバイス102は更新した素子価値がホストデバイス104から受信したかと、素子604に書き込まれたものが有効かを確定する。 例えば、メモリデバイス102は図4の例のプロセス400の408に関連付けて比較を実装できる。
確定616への回答が「イエス」の場合、618では、メモリデバイス102はホストデバイス104から受信した更新した素子値が有効だと確定されると、アクションが有効なので素子604に書き込み、相互作用620では、メモリデバイス102はホストデバイス104に正常な更新確認を戻す。
確定616への回答が「ノー」の場合は、確定622では、メモリデバイス102が書き込み/更新の自動修正(たとえば無効なアクションや無効な更新した素子値を修正する)を有効にするかを確定する。例えば、メモリデバイス102は素子604に関連付けられた無効アクションの自動修正を有効にするか無効にするかを示す第三メモリ領域120の別の設定(たとえばレジスタ、属性など)にアクセスできる。 自動修正が有効か無効かを示す設定は、素子604に関連付けられるアクションが有効か無効かを確定するために使用される参照値を格納する設定からも分離できる。
確定622への回答が「ノー」の場合は、相互作用624では、メモリデバイス102はホストデバイス104に正常な更新確認を戻し、素子604に格納されている現在値は書き込みアクションが無効であると確定されたため、更新されない。
確定622への回答が「イエス」の場合、626では、メモリデバイス102は有効更新値(たとえば上述のように参照値又は派生した参照値)を確定する。 それから、628では、メモリデバイス102はホストデバイス104から受信した更新した素子値の代わりに素子604に有効な更新値を書き込み、相互作用630では、メモリデバイス102は正常な更新確認をホストデバイス104に返す。
図7は、本書に記載される技術が実装される例のメモリデバイス(たとえばSD カード)を示す。 図7は、マスターブートレコード(MBR)パーティション分割とファイルアロケーションテーブル(FAT)ファイルシステムを実装するシングル物理パーティション702(たとえば「シングル初期物理パーティション」)を示す。 この例では、シングル初期物理パーティションには例えば、F7FF FFFFhを通して0000 0000hを経由するホストデバイスやホストデバイスのユーザーの両方又はその一方に表示される62GB未満のメモリ領域(たとえばSDカードに関連付けられて「ユーザーデータ領域」とも呼ばれる)を含む。 シングル物理パーティション702は上述のメモリの一部から成る。
図7は、レジスタのメモリ領域704(たとえばCSD、CID、SCR、SDステータス、C_Size、AU_Sizeなど)及び、予約ブロック、ファームウェア(FW)、デジタル著作権管理(DRM)のメモリ領域706も示す。メモリ領域704は図1に関連して上述したように、第三メモリ領域120に関連付けられることがある。 図7の例で示されるSDカードは64GB SDカードから成り、62GB未満のシングル物理パーティション702はメモリ領域704とメモリ領域706が64GBから減算された後に、ホストデバイスに表示されるSDカードの総容量である。
図7は、さらに、シングル物理パーティション702をより詳細に示す。例えば、シングル物理パーティション702はパーティションメタデータ領域708と、アドレスXXXXから始まるMBRプライマリパーティション710を含む。パーティションメタデータ領域708は図1に関連して上述したように、第一メモリ領域108に関連付けられることがある。 さらに、MBRプライマリパーティション710は図1に関連して上述したように、第二メモリ領域116に関連付けられることがあるので、MBRプライマリパーティション710は接続されたホストデバイスのファイルシステム層で表示される。
さまざまな例では、ホストデバイスは(図7のYYYYで表現されるように)MBRプライマリパーティション710の容量を表す値(たとえばサイズ)を格納するパーティションメタデータ領域708にある素子に関連付けられる読み取り又は書き込みアクションを実装する。 そのアクションはパーティションメタデータ領域708にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない(たとえば偽の値を書き込もうとする)。 上述のように、メモリ領域704にあるレジスタ設定は (i) 初期物理パーティション702の容量又は (ii) MBRプライマリパーティション710の容量を示すことができる参照値(たとえば真の値)を格納する。 メモリデバイスは上述の技術を使って、パーティションメタデータ領域708の素子がメモリ領域704の登録設定に格納されている参照値と比較して読み取る値や書き込む値が有効であるようにする。 例えば、メモリデバイスは参照値がMBRプライマリパーティション710の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。 もう一つの例では、メモリデバイスは派生した参照値が(図7のYYYYで表す通り)MBRプライマリパーティション710の真の容量を示すように、パーティションメタデータ領域708のサイズをシングル物理パーティションの容量(たとえば参照値で示される)から減算することで派生した参照値を派生できる。場合によっては、メモリデバイスはMBRプライマリパーティション710の真の容量を派生するパーティション領域から潜在的なサイズ(たとえばオーバーヘッドの位置合わせ)をさらに減算しなければならないかもしれない。また、物理パーティションのサイズを示す参照値に書き込まれる値を比較するには十分適切であると考慮されるかもしれない。
図7は、パーティションメタデータ領域708とMBRプライマリパーティション710の詳細を提供する。 例えば、パーティションメタデータ領域708は開始アドレス(たとえば「XXXX」)とMBRプライマリパーティション710のサイズ(たとえば「YYYY」)を表す情報を保存するマスターブートレコード712(たとえば上述したように一つ又は複数の「素子」)を含むことがある。 もう一つの例では、MBRプライマリパーティション710はパーティションのブートセクタ714、第一ファイルアロケーションテーブル(FAT)716、第二FAT 718、ルートディレクトリ720、接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできるプライマリパーティション722の実際のデータエリアを含むことがある。
図8は、本書に記載される技術が実装される例のメモリデバイスを示す。 図8は、GUIDパーティションテーブル(GPT)パーティション分割やFATファイルシステムを実装するシングル物理パーティション802(たとえば「シングル初期物理パーティション」)を示す。 図7と同様に、この例では、シングル物理パーティション802はホストデバイスとホストデバイスのユーザーの両方又はその一方に表示される62GB未満のメモリ領域(たとえばNANDメモリ)を含むことができる。 シングル物理パーティション802は上述のメモリの一部から成る。
図8は、レジスタのメモリ領域804や、予約ブロック、ファームウェア(FW)などのメモリ領域806も示す。メモリ領域804は図1に関連して上述されるように、第三メモリ領域120に関連付けられる。
図8は、さらに、シングル物理パーティション802をより詳細に示す。 例えば、シングル物理パーティション802は第一パーティションメタデータ領域808、第二パーティションメタデータ領域810(バックアップ用)、及びアドレスXXで始まり、アドレスYYで終わるGUIDパーティション812(たとえばXXとYYは論理ブロックアドレス(LBA)である場合)を含む。 第一パーティションメタデータ領域808と第二パーティションメタデータ領域810は図1に関連して上述した通りに、第一メモリ領域108と個々に関連付けられる。 さらに、GUIDパーティション812は図1に関連して上述したように、第二メモリ領域116に関連付けられることがあるので、GUIDパーティション812は接続されたホストデバイスのファイルシステム層で表示される。
さまざまな例では、ホストデバイスはGUIDパーティション812(図8の開始アドレスXXと最後のアドレスYYを基にして)の容量を表す値(たとえばサイズ)を格納するパーティションメタデータ領域808にある素子に関連付けれる読み取り又は書き込みアクションを実装する。 そのアクションはパーティションメタデータ領域808にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない(たとえば偽の値を書き込もうとする)。上述のように、メモリ領域804にあるレジスタ設定は (i) 初期物理パーティション802の容量又は (ii) GUIDパーティション812の容量を示すことができる参照値(たとえば真の値)を格納する。メモリデバイスは上述の技術を使って、パーティションメタデータ領域808の素子がメモリ領域804のレジスタ設定に格納された参照値と比較して読み取る値や書き込む値が有効であるようにする。例えば、メモリデバイスは参照値がGUIDパーティション812の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。もう一つの例では、メモリデバイスは派生した参照値がGUIDパーティション812の真の容量を示すように、パーティションメタデータ領域808のサイズとパーティションメタデータ領域810のサイズをシングル物理パーティション802の容量(たとえば参照値として示される)から減算することで派生された参照値を派生できる。場合によっては、メモリデバイスはGUIDパーティション812の真の容量を派生するパーティション領域から潜在的なサイズ(たとえばオーバーヘッドの位置合わせ)をさらに減算しなければならないかもしれない。
図8は、第一パーティションメタデータ領域808、第二パーティションメタデータ領域810、及びGUIDパーティション812の詳細をさらに提供する。 例えば、第一パーティションメタデータ領域808は保護マスターブーツレコード(MBR)814、プライマリGUIDパーティションテーブルヘッダー816、及びGUIDパーティション812の開始アドレス(たとえば「XX」)と最後のアドレス(たとえば「YY」)を表す情報を格納するプライマリGUIDパーティションエントリ818(たとえば上述したように一つ又は複数の「素子」)を含むことがある。 もう一つの例では、GUIDパーティション812は (i) パーティションのブートセクタ、アロケーションテーブル、ルートディレクトリエントリなどを含むファイルシステム領域820、及び (ii) 接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできるプライマリGUIDパーティション812の実際のデータエリア822を含むことがある。 もう一つの例では、第二パーティションメタデータ領域810はバックアップGUIDパーティションテーブルヘッダー824とバックアップGUIDパーティションエントリ826を含むことがある。
図9は、本書に記載される技術が実装される例のメモリデバイス(たとえばeMMC)を示す。 図9は、MBRパーティション分割とFATファイルシステムを個々に実装できる複数の物理パーティションと複数のプライマリ パーティションを示す。
例えば、図9のeMMCメモリデバイスは、物理的に再生保護されたメモリブロック(RPMB)パーティション902、第一物理ブートパーティション904、第二物理ブートパーティション906、および初期物理パーティション908を含む。 この例では、初期物理パーティション908はホストデバイスやホストデバイスのユーザー両方又はその一方に表示される60GB未満のメモリ領域(たとえばeMMCに関連付けられた「ユーザーデータ領域」とも呼ばれる)を含む。
図9は、レジスタのメモリ領910(たとえばCSD、CID、EXT_CSD、SEC_Count)や、予約ブロック、ファームウェア(FW)などのメモリ領域912も示す。メモリ領域910は図1に関連して上述されるように、第三メモリ領域120に関連付けられる。
この例では、初期物理パーティション908はたくさんの物理汎用パーティション(GPP)に分割できる。例えば、スペースは第一物理GPP 914、第二物理GPP 916、第三物理GPP 918、及び第四物理GPP 920に割り当てられるので、 初期物理パーティション908、第一物理GPP 914、第二物理GPP 916、第三物理GPP 918、及び第四物理GPP 920のうちの残りのスペースであるユーザデータエリアを構成する第五物理パーティションを作る。物理GPPのサイズは構成可能なので、ある物理GPPと次のもの(たとえば第一物理GPP 914のサイズは2GB、第二物理GPP 916のサイズは4 GB、第三物理GPP 918は8 GBなどとなる)とは異なる場合がある。この目的で、初期ユーザーデータエリア60GBのeMMCは図9で参照のように、物理GPPが構成された後にユーザーデータエリアは40GB未満に削減される。
議論を単純化するために、図9は、第一物理GPP 914をより詳細に示す。 例えば、第一物理GPP 914はパーティションメタデータ領域922、XXX1のアドレスで始まる第一MBRプライマリパーティション924、XXX2のアドレスで始まる第二MBRプライマリパーティション926を含む。 パーティションメタデータ領域922は図1に関連して上述したように、第一メモリ領域108に関連付けられることがある。 さらに、第一MBRプライマリパーティション924及び第二MBRプライマリパーティション926は図1に関連して上述したように、第二メモリ領域116に関連付けられることがあるので、各第一MBRプライマリパーティション924及び第二MBRプライマリパーティション926は接続されたホストデバイスのファイルシステム層で表示される。
さまざまな例では、ホストデバイスはMBRプライマリパーティション924(図9のYYY1で表わされるように)の容量を示す値(たとえばサイズ)を格納するパーティションメタデータ領域922にある素子に関連付けられる読み取り又は書き込みアクションを実装することがある。そのアクションはパーティションメタデータ領域922にある素子をターゲットにする偽造によって実装されたアクションであるかもしれない(たとえば偽の値を書き込もうとする)。上述のように、メモリ領域910にあるレジスタ設定は (i) 第一物理GPP 914の容量又は (ii) 第一MBRプライマリパーティション924の容量を示すことができる参照値(たとえば真の値)を格納する。メモリデバイスは上述の技術を使って、パーティションメタデータ領域922の素子がメモリ領域910のレジスタ設定に格納された参照値と比較して読み取る値や書き込む値が有効であるようにする。 例えば、メモリデバイスは参照値が第一MBRプライマリパーティション924の容量を示すのであれば、読み取られる又は書き込まれる値を直接その参照値と比較できる。 もう一つの例では、メモリデバイスは第一物GPP 914の容量(たとえば参照値で示すように)からパーティションメタデータ領域922のサイズを減算し、その他のプライマリパーティションのサイズ(たとえば図9のYYY2で示すように第二MBRプライマリパーティション926)を減算して派生した参照値を派生できるので、この派生した参照値は(図9のYYY1で表わされるように)第一MBRプライマリパーティション924の真の容量を示す。 場合によっては、メモリデバイスは第一MBRプライマリパーティション924の真の容量を派生するパーティション領域から潜在的なサイズ(たとえばオーバーヘッドの位置合わせ)をさらに減算しなければならないかもしれない。
図9は、パーティションメタデータ領域922とMBRプライマリパーティション924及び926の詳細を提供する。 例えば、パーティションメタデータ領域922はMBRプライマリパーティション924及び926の開始アドレス(たとえば「XXX1」及び「XXX2」)とサイズ(たとえば「YYY1」及び「YYY2」)を表す情報を格納するマスターブートレコード(たとえば、上述したように一つ又は複数の「素子」)を含むことがある。 もう一つの例では、各MBRプライマリパーティション924及び926はプライマリパーティションのブートセクタ、第一ファイルアロケーションテーブル(FAT)、第二FAT 、ルートディレクトリ、及び接続されたホストデバイスのファイルシステム層を通してアプリケーションにアクセスできる実際のデータエリアを含むことがある。
さらに別の実装に従って、メモリデバイスは素子値(又はホストデバイスが書き込もうとする更新した素子値)と参照値又は派生した参照値だけでなく、別の素子値(又は値)と比較できる。これにより、素子値は別の方法で収束値を格納するメモリデバイスの同じ特性に関連付けられる、又は定義されることを確実にする。例として、プライマリパーティションのサイズはシリンダ・ヘッド・セクタ(CHS)メソッド、又は倫理ブロックアドレス(LBA)メソッドの2つの方法で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。
ある機能が特定の実施形態に関連する説明が表示されるが、当該技術に熟練した者は本実施形態ではさまざまな機能が混ぜ合わさって説明されていることを認識するだろう。さらに、実施形態に関連して説明される面はスタンドアローンしても良い。

Claims (20)

  1. メモリデバイスにおいて、
    メモリ部分に
    の少なくとも1つの物理パーティション
    メモリの一部に関連する少なくとも一つの特性を示す一つ又は複数
    の素子値を格納する一つ又は複数の素子を含むメタデータを格納する第一
    メモリ領域と、
    メモリ部分に少なくとも部分的にデータを格納する第二メモリ領域
    と、一つの素子又は複数の素子に関連付けられる
    アクションがメモリの少なくとも1つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成されるコントローラーを備える少なくとも1つの物理パーティションから成るメモリ。
  2. メモリ部分がプライマリパーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つを有する請求項1に記載のメモリデバイス。
  3. メモリの個々の領域はプライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータエリア、又は論理ユニットの部分の少なくとも一つを有する請求項1に記載のメモリデバイス。
  4. 請求項1に記載のメモリデバイスにおいて、メモリの少なくとも1つの物理パーティションに関連する実際の特性は
    メモリデバイスの総容量、
    第一メモリ領域と第二メモリ領域のメモリを合わせた容量、
    メモリ部分の容量、
    第二メモリ領域の容量、
    メモリ部分又は領域の開始アドレス、
    メモリ部分又は領域の開始アドレスの位置合わせ、又は
    メモリ部分のアロケーションユニットのサイズの一つに関連する。
  5. 請求項1に記載のメモリデバイスにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
    メモリの少なくとも1つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、
    かつ、コントローラーは
    更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    更新した素子値が参照値を超えることを確定し、
    かつ、更新した素子値が素子に書き込まないように構成される。
  6. コントローラーは更新した素子値を書き込む要求の受信に応えて、更新したた素子値の代わりに参照値を素子に書き込むように構成されている請求項5に記載のメモリデバイス。
  7. 請求項1に記載のメモリデバイスにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    アクションは素子から現在の素子値を読み取るホストデバイスからの要求で成り、
    メモリの少なくとも1つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、
    かつ、コントローラーは
    現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    素子に格納されている現在の素子値が参照値を超えることを確定し、
    現在の素子値がホストデバイスに読み出されないようにし、かつ
    現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
    要求の受信に応えて、現在の素子値の代わりに参照値をホストデバイスに提供する
    ことから構成される。
  8. コントローラーはレジスタ、記述子、属性、又はフラグの少なくとも一つからなる第三メモリ領域を介して参照値にアクセスするように構成されており、
    第メモリ領域は (i) ホストデバイスの第一製造元又はメモリデバイスの第二製造者によって1回のみプログラム可能である、又は (ii) 参照値が第三領域で再度プログラムされる前にホストデバイスの認証を必要とする、請求項1に記載のメモリデバイス。
  9. セキュアデジタル(SD)カード、埋め込み型MultiMediaCard(eMMC)メモリデバイス、ユニバーサルフラッシュストレージ(UFS)カード、PCIe(Peripheral Component Interconnect Express)カード又はソリッドステートドライブ(SSD)の一つから成る請求項1に記載のメモリデバイス。
  10. メタデータはマスターブートレコード(MBR)、グローバル一意識別子(GUID)パーティションテーブル(GPT)、又はボリュームブートレコード(VBR)の一つに関連付けられる請求項1に記載のメモリデバイス。
  11. メソッドは
    一つの素子又は複数の素子に関連付けられるアクションがメモリの少なくとも1つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成され、
    メモリは、メモリの1部分に関連する少なくとも一つの特性を示す一つ又は複数の素子を格納する一つ又は複数の素子を含むメタデータを加工能する第一領域と、メモリ部分の少なくとも一部のデータを格納する第二領域から成る。
  12. メモリ部分がプライマリパーティション、プライマリパーティションの実際のデータエリア、又は論理ユニットの少なくとも一つを有する請求項11に記載のメソッド。
  13. メモリの個々の領域はプライマリパーティション、プライマリパーティションの部分、物理パーティションの部分、プライマリパーティションのファイルシステムメタデータエリア、又は論理ユニットの部分の少なくとも一つを有する請求項11に記載のメソッド。
  14. 請求項11に記載のメソッドにおいて、メモリの少なくとも1つの物理パーティションに関連する実際の特性は
    メモリデバイスの総容量、
    第一メモリ領域と第二メモリ領域のメモリを合わせた容量、
    メモリ部分の容量、
    第二メモリ領域の容量、
    メモリ部分又は領域の開始アドレス、
    メモリ部分又は領域の開始アドレスの位置合わせ、又は
    メモリ部分のアロケーションユニットのサイズの一つに関連する。
  15. 請求項11に記載のメソッドにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
    メモリの少なくとも1つの物理パーティションに関連する実際の特性はメモリデバイスの容量に関連付けられ、
    メソッドはさらに、
    更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    更新した素子値が参照値を超えることを確定し、
    かつ、更新した素子値が素子に書き込まないように構成される。
  16. 請求項11に記載のメソッドにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    現在の素子値が素子に読み取るホストデバイスからの要求から成り、メモリの少なくとも1つの物理パーティションに関係する実際の特性がメモリデバイスの容量に県連付けられ、かつ、
    メソッドはさらに、
    現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    素子にすでに格納されている現在の素子値が参照値を超えることを確定し 、
    現在の素子値がホストデバイスに読み出されないようにし、かつ
    現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
    要求の受信に応えて、現在の素子値の代わりに参照値をホストデバイスに提供する
    ことから構成される。
  17. システムにおいて、
    メモリは
    メモリの一部に関連する少なくとも一つの特性を示す一つ又は複数の素子
    値を格納する一つ又は複数の素子を含むメタデータを格納する第一メモリ領域と、
    メモリ部分に少なくとも部分的にデータを格納する第二メモリ領域と、
    一つの素子又は複数の素子に関連付けられるアクションがメモリの少なくとも1つの物理パーティションに関連する実際の特性に関連付けられる参照値と比較して有効であるように構成されるコントローラーを備えるメモリ。
  18. 請求項17に記載のシステムにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    アクションは素子にすでに格納されている現在の素子値を置き換える、更新した素子値を素子に書き込むホストデバイスからの要求から成り、
    物理パーティションに関連する実際の特性は物理パーティションの容量から成り、
    かつ、コントローラーは
    更新した素子値を素子に書き込むホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    派生した参照値を派生する物理パーティションの容量から第一メモリ領域
    のサイズを減算し、
    更新した素子値が派生した参照値を超えることを確定し、
    かつ、更新した素子値が素子に書き込まないように構成される。
  19. コントローラーは更新した素子値を書き込む要求の受信に応えて、更新したた素子値の代わりに派生した参照値を素子に書き込むように構成されている請求項18に記載のシステム。
  20. 請求項17に記載のシステムにおいて、
    一つ又は複数の素子値は素子にすでに格納されている現在の素子値から成り、
    アクションは素子から現在の素子値を読み取るホストデバイスからの要求で成り、
    物理パーティションに関連する実際の特性は物理パーティションの容量から成り、
    かつ、コントローラーは
    現在の素子値を素子から読み取るホストデバイスからの要求についてモニ
    ターし、
    参照値を評価し、
    派生した参照値を派生する物理パーティションの容量から第一メモリ領域
    のサイズを減算し、
    素子にすでに格納されている現在の素子値が派生した参照値を超えること
    を確定し、
    現在の素子値がホストデバイスに読み出されないようにし、かつ
    現在の素子値を読み取る要求が有効であるように現在の素子値を読み取る
    要求の受信に応えて、現在の素子値の代わりに派生した参照値をホストデバイスに
    提供することから構成される。
JP2018532622A 2015-12-21 2016-12-20 参照値を使ってメモリデバイスの有効なアクションを確保する Active JP6791967B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562270493P 2015-12-21 2015-12-21
US62/270,493 2015-12-21
US15/383,631 2016-12-19
US15/383,631 US10140055B2 (en) 2015-12-21 2016-12-19 Ensuring that memory device actions are valid using reference values
PCT/US2016/067720 WO2017112649A1 (en) 2015-12-21 2016-12-20 Ensuring that memory device actions are valid using reference values

Publications (3)

Publication Number Publication Date
JP2019507918A true JP2019507918A (ja) 2019-03-22
JP2019507918A5 JP2019507918A5 (ja) 2020-02-06
JP6791967B2 JP6791967B2 (ja) 2020-11-25

Family

ID=59064296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018532622A Active JP6791967B2 (ja) 2015-12-21 2016-12-20 参照値を使ってメモリデバイスの有効なアクションを確保する

Country Status (6)

Country Link
US (1) US10140055B2 (ja)
EP (1) EP3387537A1 (ja)
JP (1) JP6791967B2 (ja)
KR (1) KR20180096660A (ja)
CN (1) CN108701080B (ja)
WO (1) WO2017112649A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019507909A (ja) * 2016-09-20 2019-03-22 エルジー・ケム・リミテッド 接着力および紫外線遮断機能に優れた光学フィルム、およびこれを含む偏光板

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101886176B1 (ko) * 2016-10-25 2018-08-08 시큐리티플랫폼 주식회사 소유자만 기록 가능한 부트영역을 포함하는 저장장치
CN107247674B (zh) * 2017-06-16 2020-07-31 深圳市万普拉斯科技有限公司 内存块类型处理方法、装置、电子设备及可读存储介质
US10909033B1 (en) * 2019-08-15 2021-02-02 Nvidia Corporation Techniques for efficiently partitioning memory
JP7362349B2 (ja) * 2019-08-23 2023-10-17 キヤノン株式会社 制御装置
TWI761983B (zh) * 2020-07-16 2022-04-21 慧榮科技股份有限公司 主機效能加速模式的資料讀取方法及裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331233A (ja) * 2005-05-27 2006-12-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20070271609A1 (en) * 2006-05-18 2007-11-22 Phison Electronics Corp. Security system of flash memory and method thereof
US20140281173A1 (en) * 2013-03-15 2014-09-18 Hyung Jin Im Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
KR101404083B1 (ko) 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
US7461223B2 (en) * 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
KR100869945B1 (ko) * 2006-11-03 2008-11-24 삼성전자주식회사 Drm 권한 개선 방법과 drm 권한 개선 컨텐츠 및 이를이용하는 휴대 단말기
US8412909B2 (en) 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
US9582222B2 (en) * 2009-04-30 2017-02-28 Western Digital Technologies, Inc. Pre-cache similarity-based delta compression for use in a data storage system
US9176883B2 (en) * 2009-04-30 2015-11-03 HGST Netherlands B.V. Storage of data reference blocks and deltas in different storage devices
TWI420305B (zh) * 2010-10-08 2013-12-21 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
CN102148668B (zh) * 2011-01-04 2013-12-04 华为技术有限公司 处理方法与设备
US8605502B1 (en) * 2012-05-22 2013-12-10 Sandisk Technologies Inc. Systems and methods of updating read voltages
KR20150027065A (ko) * 2012-05-30 2015-03-11 톰슨 라이센싱 디지털 미디어의 대규모 업데이트를 위한 방법 및 장치
CN103778149A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 文件系统及其对文件进行存储管理的方法
JP5976608B2 (ja) * 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
CN110457236B (zh) * 2014-03-28 2020-06-30 三星电子株式会社 存储系统以及对存储系统执行和验证写保护的方法
CN104658610B (zh) * 2015-01-14 2017-10-27 广东省电子信息产业集团有限公司 一种动态调整的闪存错误检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331233A (ja) * 2005-05-27 2006-12-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20070271609A1 (en) * 2006-05-18 2007-11-22 Phison Electronics Corp. Security system of flash memory and method thereof
US20140281173A1 (en) * 2013-03-15 2014-09-18 Hyung Jin Im Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019507909A (ja) * 2016-09-20 2019-03-22 エルジー・ケム・リミテッド 接着力および紫外線遮断機能に優れた光学フィルム、およびこれを含む偏光板
US10996386B2 (en) 2016-09-20 2021-05-04 Lg Chem, Ltd. Optical film with high adhesiveness and excellent property of blocking UV light, and polarizing plate comprising the same

Also Published As

Publication number Publication date
CN108701080B (zh) 2023-07-14
KR20180096660A (ko) 2018-08-29
WO2017112649A1 (en) 2017-06-29
CN108701080A (zh) 2018-10-23
JP6791967B2 (ja) 2020-11-25
EP3387537A1 (en) 2018-10-17
US10140055B2 (en) 2018-11-27
US20170177274A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
JP6791967B2 (ja) 参照値を使ってメモリデバイスの有効なアクションを確保する
CN107168885B (zh) 存储系统、信息处理系统及非易失性存储器的控制方法
JP5749237B2 (ja) 不揮発性メモリの正常性情報を取得して使用するためのシステム及び方法
US9678760B2 (en) Memory card and storage system having authentication program and method for operating thereof
KR101451482B1 (ko) 데이터 이용가능성의 마운트타임 조정
US10565103B2 (en) Method for creating multi-namespace and method for accessing data therein
CN111459844B (zh) 数据储存装置及用于存取逻辑至物理地址映射表的方法
US8707007B2 (en) Memory storage device, memory controller thereof, and method for automatically creating fill-file thereof
US9715445B2 (en) File differentiation based on data block identification
US10235284B2 (en) Memory system
WO2016173470A1 (zh) 一种基于嵌入式多媒体卡eMMC的存储方法及系统
US11662932B2 (en) Tiered storage system with defragmentation based on weighted flash fragmentation factor
US20210208808A1 (en) Host Supported Partitions in Storage Device
CN111198651B (zh) 进行存储空间管理的方法以及数据存储装置及其控制器
JP6318073B2 (ja) 電子機器
US10719461B2 (en) Solid state device with distributed bit buckets
US10642494B2 (en) Method, electronic device and computer program product for data processing
US11288204B2 (en) Logical and physical address field size reduction by alignment-constrained writing technique
US20120254538A1 (en) Storage apparatus and computer program product
KR20220079212A (ko) 가비지 컬렉션을 수행하기 위한 전자 장치 및 방법
KR20210063814A (ko) 메모리 시스템의 리드 동작 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201105

R150 Certificate of patent or registration of utility model

Ref document number: 6791967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250