JP2012523045A - ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法 - Google Patents

ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法 Download PDF

Info

Publication number
JP2012523045A
JP2012523045A JP2012503651A JP2012503651A JP2012523045A JP 2012523045 A JP2012523045 A JP 2012523045A JP 2012503651 A JP2012503651 A JP 2012503651A JP 2012503651 A JP2012503651 A JP 2012503651A JP 2012523045 A JP2012523045 A JP 2012523045A
Authority
JP
Japan
Prior art keywords
sensitive
physical storage
storage block
write
write command
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
JP2012503651A
Other languages
English (en)
Other versions
JP5536191B2 (ja
Inventor
パッドン、マイケル・ダブリュ.
ブラウン、クライグ・エム.
ホークス、フィリップ・マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2012523045A publication Critical patent/JP2012523045A/ja
Application granted granted Critical
Publication of JP5536191B2 publication Critical patent/JP5536191B2/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/16Protection against loss of memory contents
    • 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/79Protecting 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 semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法が開示される。当該方法において、センシティブデータが、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドが受信される。センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される。書き込みコマンドは、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、少なくとも1つのアドレスを、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって実行される。
【選択図】図2

Description

本発明は、一般に、ウェアレベリング(wear leveling)を有する記憶デバイスにおける不要な回復からセンシティブデータを保護することに関係する。
フラッシュメモリを使用する固体素子記憶デバイスは、パフォーマンス、頑強性、および電力消費の利点により普及している。フラッシュメモリは、ハードディスクドライブ置換えアプリケーションを含む特定のデータ記憶アプリケーションに固有の書き込みオペレーションおよび消去オペレーションを繰り返した結果として磨耗の影響を受けやすい。読み出しオペレーションは、著しい磨耗を引き起こさない。
フラッシュメモリを有する記憶デバイスは、数百または数千のアドレス指定可能な記憶位置を有する物理記憶ブロック内にしばしば整理される。ディスクドライブ置換えアプリケーションにおける典型的な作業負荷は、際立って非対称であり得る。つまり、いくつかのアドレスは、他のアドレスよりも非常に頻繁に書き込まれる。「ウェアレベリング(wear leveling)」の技術は、一般に、任意の特定の記憶ブロックが、他の記憶ブロックよりも著しく前にその消去サイクルの最大数に達するのを防ぐために適用される。したがって、記憶デバイスの寿命をあまりにも早く制限してしまう。全体の物理記憶ブロックは、「フラッシュ(flash)」オペレーションにおいて消去される。したがって、物理記憶ブロックにおけるデータを上書きするために、全体のブロックは、新しいデータが記憶位置に書き込まれる前に、フラッシュ・オペレーションにより最初に消去されなければならない。
ウェアレベリングは、特定の論理アドレスを表わすために、異なる回数で、異なる基底の物理記憶ブロックを使用することができる。したがって、初期の物理記憶ブロックの特定の記憶位置における初期の値を上書きするためのオペレーションは、新しい値が、異なる利用可能な物理記憶ブロックの記憶位置に書き込まれるという結果になり得る。アドレスポインタは、新しい値により新しい記憶位置をこれから示すが、任意の残りの有効なデータを、利用可能な物理ブロックにおける記憶位置に移動し、初期の物理記憶ブロックをフラッシュ消去するクリーンアップ・オペレーションを引き起こすために、十分な記憶位置が「上書き」されるまで、初期の値は、初期の物理記憶ブロックの記憶位置に残り得る。一方、アタッカーは、クリーンアップ・オペレーションの前に初期の値を回復し得る。
しかもなお悪いことに、物理記憶ブロック・アプローチが失敗した場合、ウェアレベリング・アルゴリズムにより使用不能と捕えられる。サイドラインの物理記憶位置は、決して消去されることはない。したがって、記憶デバイスの寿命の間そのコンテンツを保持し得る。
したがって、ウェアレベリングを有する記憶デバイスにおける回復からセンシティブデータを保護する技術に関するニーズがある。
発明の態様は、ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法に属することができる。当該方法において、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドが受信される。センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される。書き込みコマンドは、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、少なくとも1つのアドレスを、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって実行される。
本発明のより詳細な態様において、記憶デバイスは、フラッシュメモリ固体素子デバイスであり得る。センシティブ書き込み信号は、記憶デバイスのハードウェア・インターフェース上の電気信号を備え得る。代替的に、書き込みコマンドは、センシティブ書き込み信号を備えることができ、またはセンシティブ書き込み信号は、SCSI書き込み(10)コマンドのerase-by-passビットを備え得る。さらに、書き込みコマンドによって書き込まれているデータにおける別個のパターンは、センシティブ書き込み信号を備え得る。センシティブ書き込み信号は、初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含み得る。高いデータセンシティビティレベルは、初期の物理記憶ブロックを消去するために複数の消去パターンの書き込みおよびブロック消去オペレーションを引き起こし得る。
本発明の他のより詳細な態様において、書き込みコマンドを実行することは、書き込みコマンドの実行を完了するために、書き込みコマンドと関連されるアドレスと関連されない位置における初期の物理記憶ブロックに記憶されたデータを、初期の物理記憶ブロックを消去する前に、利用可能な物理記憶ブロックへ転送することをさらに含み得る。また、初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備え得る。
本発明の他の態様は、ウェアレベリングおよびセンシティブデータ保護を有する装置に属することができる。当該装置は、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するための手段を含み得る。センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連され得る。当該装置は、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置へ書き込むための手段、少なくとも1つのアドレスを、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置へ向けるための手段、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去するための手段を含む書き込みコマンドを実行するための手段をさらに含み得る。
本発明の他の態様は、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドをコンピュータに受信させるためのコードであって、センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、コード、および利用可能な物理記憶ブロック内の少なくとも1つの記憶位置へ書き込むこと、少なくとも1つのアドレスを、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置へ向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって書き込みコマンドをコンピュータに実行させるためのコードを備えるコンピュータ可読媒体を備えるコンピュータ・プログラム・プロダクトに属することができる。
本発明の他の態様は、データを記憶するためにプロセッサに結合されたプロセッサおよびメモリを備えるウェアレベリングおよびセンシティブデータ保護を有する装置に属することができる。当該プロセッサは、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するように構成され、ここにおいて、センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、および利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、少なくとも1つのアドレスを、利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって書き込みコマンドを実行するように構成される。
図1は、本発明にしたがって、ウェアレベリングおよびセンシティブデータ保護を有する記憶デバイスの概略的ブロック図である。 図2は、本発明にしたがって、ウェアレベリングを有する記憶デバイスにおけるセンシティブデータを保護するための方法のフロー図である。 図3は、センシティブデータと関連される書き込みオペレーションの前に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。 図4は、センシティブデータと関連される書き込みオペレーションの間に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。 図5は、センシティブデータと関連される書き込みオペレーションの後に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。 図6は、センシティブ書き込み信号を備える別個のパターンを含む書き込みデータの概略的ブロック図である。 図7は、ディスクドライブ置換えアプリケーションにおいて、ウェアレベリングを有する記憶デバイスを使用するコンピュータのブロック図である。
発明の詳細な説明
「典型的な(exemplary)」という用語は、本明細書において、「事例、例、または例示として役に立つ(serving as an example, instance, or illustration)」ことを意味するために使用される。本明細書において、「典型的な(exemplary)」として説明される任意の実施形態は、必ずしも他の態様に対して好ましいまたは有利であるものとして解釈されない。
図1−5を参照して、本発明の態様は、ウェアレベリングを有する記憶デバイス100におけるセンシティブデータを保護するための方法200に属することができる。当該方法において、センシティブデータIV2が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドCMDが受信される(ステップ210)。センシティブデータは、初期の物理記憶ブロックB1内の記憶位置SL2を示す少なくとも1つのアドレスA2とさらに関連される。書き込みコマンドは、利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1へ書き込むこと(ステップ230)、少なくとも1つのアドレスA1を、利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1へ向けること(ステップ240)、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックB1を消去すること(ステップ250)によって実行される(ステップ220)。
記憶デバイス100は、B1ないしBNを指定された複数の物理記憶ブロック110を有するフラッシュメモリ固体素子デバイスであり得る。初期の物理記憶ブロックB1は、複数の記憶位置SL1−SL4を有し得る。ここにおいて、各々は、対応するアドレスA1−A4と関連される。説明の目的のために、4個のアドレスおよび記憶位置のみが図示されている。実際の物理記憶ブロックは、数百または数千のアドレス指定可能な記憶位置を有し得る。さらに、各アドレスA1−A4は、値V1−V4と関連される。書き込みオペレーションの文脈において、記憶位置は、書き込みオペレーションの前に、初期の値IVを記憶し、書き込みオペレーションの後に、新しい値NVを記憶することができる。利用可能な記憶位置は、AVによって示される。図3は、書き込みオペレーションの前のアドレスポインタを図示する。アドレスA2に関するポインタは、初期の物理記憶ブロックB1の第2の記憶位置SL2を示す。図4は、ステップ240の後の、書き込みオペレーションの間のアドレスポインタを図示する。アドレスA2に関するポインタは、第2の物理記憶ブロックB2の第1の記憶位置SL1を示す。実際の書き込みオペレーションは、いくつかのアドレスに書き込むことができ、この場合、アドレスポインタの対応する数が、新しい値を有する記憶位置に向けられ得ることに注目せよ。書き込みオペレーションにおいて、この時点で第1の物理記憶ブロックB1を消去するフラッシュは、アドレスA1、A3、およびA4について記憶される有効なデータを消去し得る。したがって、書き込みコマンドCMDを実行することは、書き込みコマンドの実行を完了するために、書き込みコマンドCMDと関連されるアドレスA2と関連されない位置SL1、SL3、およびSL4における初期の物理記憶ブロックB1に記憶されるデータIV1、IV3、およびIV4を、初期の物理記憶ブロックB1を消去する前に、利用可能な物理記憶ブロックB2へ転送することをさらに含み得る。
ホスト125のオペレーティング・システムは、論理アドレスのみを見ることができる。オペレーション・システムは、記憶ブロックBNの記憶位置SLと論理アドレスとの間の記憶デバイスの内部のマッピングを知らない。したがって、記憶デバイスに内部のオペレーションであるウェアレベリングは、特定の論理アドレスが、絶え間なく書き込まれている場合、1つの物理ブロックがあまりにも早く磨耗されないことを保証するために記憶位置に論理アドレスを動的にマップする。
センシティブ書き込み信号は、ホスト125を備える記憶デバイスのハードウェア・インターフェース120上で電気信号を備え得る。代替的に、書き込みコマンドは、センシティブ書き込み信号を備え得る。このセンシティブ書き込みコマンドは、センシティブデータの保護を達成するために標準化されたものであり得る。さらに、センシティブ書き込み信号は、フラッシュメモリ記憶デバイスに適用される既存のSCSI書き込み(10)コマンドの、erase-by-passビットであり得る。他の代替は、既存のコマンドの現在の要約されたビットを使用するためである。
図6を参照して、書き込みコマンドによって書き込まれているデータにおける別個のパターン610は、センシティブ書き込み信号を備え得る。この場合、センシティブ書き込み信号は、暗黙(implicit)であり得る。別個のパターンは、データフィールド600の末端部の始まりにおけるあるビット数またはバイト数についてすべてゼロのパターンであり得る。さらに、別個のパターンは、統計的に起こりそうもないデータパターンであり得る。この別個のパターンの実施形態は、既存のハードウェアおよびプログラム・インターフェース上での本発明の実装を可能にし得る。
センシティブ書き込み信号は、初期の物理記憶ブロックB1を消去するための消去技術を示すためのデータセンシティブレベルを含み得る。高いデータセンシティブレベルは、初期の物理記憶ブロックを消去するためのブロック消去オペレーションおよび複数の消去パターン書き込みを引き起こし得る。低いデータセンシティビティは、単に1つのブロック消去オペレーションを引き起こし得る。
特定の別個のパターンは、データセンシティビティレベルを符号化することができる。実装は、記憶デバイス100上の内部リストから、予め定義された別個のパターンを追加または削除するためのメカニズムを提供することができる。そのような別個のパターンの各々は、消去されることとなる記憶ブロック110の扱いの変動レベルを選択するセンシティビティレベルと関連され得る。そのような場合、示されるように、記憶デバイスは、書き込みデータにおいて特定のパターンを認識し、強化された消去メカニズムを、影響を受けた物理記憶ブロックに適用する。このメカニズムの利点は、基底のフラッシュメモリ記憶メカニズムを知らないプログラムさえ安全にデータを消去することができることである。
センシティブ書き込み信号は、書き込みコマンドと関連される書き込みオペレーションが、センシティブであることを表す。典型的に、書き込みコマンドとマークされたコマンドは、デバイスに以前に書き込まれたセンシティブデータを消去するように意図される。ある事例は、以前に記憶された暗号化されたキー上でゼロと書き込むという要求になり得る。これは、オペレーションにおいてウェアレベリングで有効ではない場合がある。新しく書き込まれるデータは、センシティブであり得るか、またはセンシティブではないかもしれない。例えば、暗黙のセンシティブ書き込み信号の場合、書き込みコマンドによって書き込まれているデータは、センシティブである必要がない。
本発明の他の態様は、ウェアレベリングおよびセンシティブデータ保護を有する装置100に属し得る。当該装置は、センシティブデータNV2が書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドCMDを受信するための手段130を含み得る。センシティブデータは、初期の物理記憶ブロックB1内の記憶位置SL2を示す少なくとも1つのアドレスA2とさらに関連されることができる。当該装置は、利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1に書き込むための手段130、少なくとも1つのアドレスA2を、利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1に示すための手段130、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックB1を消去するための手段130を含む書き込みコマンドを実行するための手段130をさらに含み得る。
本発明の他の態様は、センシティブデータNV2が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドCMDをコンピュータまたはプロセッサ150に受信させるためのコードであって、センシティブデータは、初期の物理記憶ブロックB1内の記憶位置SL2を示す少なくとも1つのアドレスA2とさらに関連される、コード、および利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1に書き込むこと、少なくとも1つのアドレスA1を、利用可能な物理記憶位置B2内の少なくとも1つの記憶位置SL1に示すこと、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックB1を消去することによって書き込みコマンドをコンピュータに実行させるためのコードを備えるコンピュータ可読媒体140を備えるコンピュータ・プログラム・プロダクトに属することができる。
本発明の他の態様は、プロセッサ150、およびデータを記憶するためのプロセッサに結合されたメモリ140を備える、ウェアレベリングおよびセンシティブデータ保護を有する装置内に属することができる。当該プロセッサは、センシティブデータNV2が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドCMDを受信するように構成され、ここにおいて、センシティブデータは、初期の物理記憶ブロックB1内の記憶位置SL2を示す少なくとも1つのアドレスA2とさらに関連される、および利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1へ書き込むこと、少なくとも1つのアドレスA1を、利用可能な物理記憶ブロックB2内の少なくとも1つの記憶位置SL1に示すこと、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックB1を消去することによって書き込みコマンドを実行するように構成される。
図7を参照して、ユーザデバイス700は、ディスクドライブ置換えアプリケーションにおいて記憶デバイス100を使用することができる。同様に、ユーザデバイスは、固定のまたは取外し可能なフラッシュメモリを使用するモバイル電話、PDA、または同様のデバイスであり得る。ユーザデバイスは、プロセッサ715、常駐の記憶媒体720、ディスプレイ730、およびキーボードのような入力デバイス740を有するコンピュータ710を含むことができる。ユーザデバイスは、ハードウェア・インターフェース120によって記憶デバイス100へ接続されることができる。
当業者は、本明細書において開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電気的ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装されることができることをさらに認識するだろう。ハードウェアおよびソフトウェアのこの互換性を明白に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能性の観点から一般に上で説明されている。そのような機能性がハードウェアまたはソフトウェアとして実装されるかどうかは、全体のシステム上で課される特定のアプリケーションおよび設計の制約に依存する。当業者は、各々の特定のアプリケーションについて様々な方法で、説明された機能性を実装することができるが、そのような実装決定は、本発明の範囲から逸脱していると解釈されるべきではない。
本明細書において開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用目的プロセッサ、デジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス(PLD)、離散ゲートまたはトランジスタ論理、離散ハードウェア・コンポーネント、またはこれらのものの任意の組み合わせであって、本明細書に記載の機能を実行するように設計されたものによって実装または実行されることができる。汎用目的プロセッサは、マイクロプロセッサであってもよいが、その代わりに、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピュータ計算デバイスの組み合わせ(例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと結合した1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装されることもできる。
本明細書において開示される実施形態と関係して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはその2つの組み合わせにおいて直接具体化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバルディスク、CD-ROM、または当該技術分野において既知の記録媒体の任意の他の形式に存在してもよい。典型的な記録媒体は、プロセッサが記録媒体から情報を読み出す、または記録媒体に情報を書き込むことができるように、プロセッサに結合されていてもよい。その代わりに、記録媒体は、プロセッサと一体化されていてもよい。プロセッサおよび記録媒体は、ASICに存在してもよい。ASICは、ユーザ端末に存在してもよい。代替的に、プロセッサおよび記録媒体は、ユーザ端末内の離散コンポーネントとして存在してもよい。
1つまたは複数の典型的な実施形態において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのものの任意の組み合わせにおいて実装されることができる。コンピュータ・プログラム・プロダクトとしてソフトウェアにおいて実装される場合、当該機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、または送信されることができる。コンピュータ可読媒体は、ある場所から他の場所へのコンピュータ・プログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体の両方を含む。記録媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であってもよい。事例として、かつ非制限的例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは、任意の他の媒体であって、命令またはデータ構成の形式において所望のプログラムコードを伝達または記憶するために使用可能で、かつコンピュータによってアクセス可能な媒体を具備することができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、もしソフトウェアがウェブサイト、サーバ、または他の遠くの情報源から、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、デジタル加入者線(DSL)またはワイヤレス技術(例えば、赤外線、無線およびマイクロ波など)を使用して送信されるのであれば、そうした同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、DSLまたはワイヤレス技術(例えば、赤外線、無線およびマイクロ波など)もまた、送信媒体の定義に含まれる。本明細書において使用されるように、ディスク(disk and disc)は、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含む。ここで、diskは、通常、データを磁気的に再生するものをいい、discは、レーザを用いてデータを光学的に再生するものをいう。上記のものの組み合わせはまた、コンピュータ可読媒体の範囲内に含まれるべきである。
開示された実施形態の以前の説明は、当該技術分野の技術者の誰もが本発明を作るまたは使用することができるように提供される。これらの実施形態に対する様々な修正は、当該技術分野の技術者に直ちに明確となり、本明細書において定義された一般原則は、本発明の要旨または範囲から逸脱することなく他の実施形態に適用されることができる。したがって、本発明は、本明細書において示される実施形態に制限されるよう意図されないが、本明細書において開示された原則および新規の特徴と一致する最も広い範囲を与えられる。

Claims (34)

  1. ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法であって、
    センシティブデータが、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう前記書き込みコマンドを受信すること、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、および
    利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、
    前記少なくとも1つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも1つの記憶位置に向けること、および
    前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
    によって前記書き込みコマンドを実行すること
    を備える方法。
  2. 前記記憶デバイスは、フラッシュメモリ固体素子デバイスである、請求項1に記載のセンシティブデータを保護するための方法。
  3. 前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項1に記載のセンシティブデータを保護するための方法。
  4. 前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項1に記載のセンシティブデータを保護するための方法。
  5. 前記センシティブ書き込み信号は、SCSI書き込み(10)コマンドのerase-by-passビットを備える、請求項1に記載のセンシティブデータを保護するための方法。
  6. 前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項1に記載のセンシティブデータを保護するための方法。
  7. 前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項1に記載のセンシティブデータを保護するための方法。
  8. 高いデータセンシティビティレベルは、前記初期の物理記憶ブロックを消去するためのブロック消去オペレーションおよび複数の消去パターンの書き込みを引き起こす、請求項7に記載のセンシティビティデータを保護するための方法。
  9. 前記書き込みコマンドを実行することは、前記書き込みコマンドの実行を完了するために、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、前記初期の物理記憶ブロックを消去する前に、利用可能な物理記憶ブロックへ転送することをさらに含む、請求項1に記載のセンシティブデータを保護するための方法。
  10. 前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項1に記載のセンシティブデータを保護するための方法。
  11. ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
    センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するための手段であって、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、手段、および
    利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むための手段、
    前記少なくとも1つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも1つの記憶位置に向けるための手段、および
    前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去するための手段
    を含む前記書き込みコマンドを実行するための手段
    を備える装置。
  12. 前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項11に記載の装置。
  13. 前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項11に記載の装置。
  14. 前記センシティブ書き込み信号は、SCSI書き込み(10)コマンドのerase-by-passビットを備える、請求項11に記載の装置。
  15. 前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項11に記載の装置。
  16. 前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項11に記載の装置。
  17. 高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、請求項16に記載の装置。
  18. 前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、請求項11に記載の装置。
  19. 前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項11に記載の装置。
  20. コンピュータ可読媒体を備えるコンピュータ・プログラム・プロダクトであって、
    センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドをコンピュータに受信させるためのコードであって、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、コード、
    利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、
    前記少なくとも1つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも1つの記憶位置に向けること、および
    前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
    によって前記書き込みコマンドをコンピュータに実行させるためのコード
    を備える、コンピュータ・プログラム・プロダクト。
  21. 前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項20に記載のコンピュータ・プログラム・プロダクト。
  22. 前記センシティブ書き込み信号は、SCSI書き込み(10)コマンドのerase-by-passビットを備える、請求項20に記載のコンピュータ・プログラム・プロダクト。
  23. 前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項20に記載のコンピュータ・プログラム・プロダクト。
  24. 前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項23に記載のコンピュータ・プログラム・プロダクト。
  25. 前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項20に記載のコンピュータ・プログラム・プロダクト。
  26. ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
    センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信し、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも1つのアドレスとさらに関連される、および
    利用可能な物理記憶ブロック内の少なくとも1つの記憶位置に書き込むこと、
    前記少なくとも1つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも1つの記憶位置に向けること、および
    前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
    によって前記書き込みコマンドを実行する
    ように構成されるプロセッサ、および
    データを記憶するために前記プロセッサに結合されたメモリ
    を備える、装置。
  27. 前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項26に記載の装置。
  28. 前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項26に記載の装置。
  29. 前記センシティブ書き込み信号は、SCSI書き込み(10)コマンドのerase-by-passビットを備える、請求項26に記載の装置。
  30. 前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項26に記載の装置。
  31. 前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項26に記載の装置。
  32. 高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、請求項31に記載の装置。
  33. 前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、請求項26に記載の装置。
  34. 前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項26に記載の装置。
JP2012503651A 2009-03-31 2010-03-31 ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法 Active JP5536191B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/415,865 US8433843B2 (en) 2009-03-31 2009-03-31 Method for protecting sensitive data on a storage device having wear leveling
US12/415,865 2009-03-31
PCT/US2010/029354 WO2010117850A1 (en) 2009-03-31 2010-03-31 Method for protecting sensitive data on a storage device having wear leveling

Publications (2)

Publication Number Publication Date
JP2012523045A true JP2012523045A (ja) 2012-09-27
JP5536191B2 JP5536191B2 (ja) 2014-07-02

Family

ID=42332233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012503651A Active JP5536191B2 (ja) 2009-03-31 2010-03-31 ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法

Country Status (7)

Country Link
US (1) US8433843B2 (ja)
EP (1) EP2414981B1 (ja)
JP (1) JP5536191B2 (ja)
KR (1) KR101365134B1 (ja)
CN (1) CN102365644B (ja)
TW (1) TW201044406A (ja)
WO (1) WO2010117850A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436594B2 (en) * 2011-05-27 2016-09-06 Seagate Technology Llc Write operation with immediate local destruction of old content in non-volatile memory
WO2012149728A1 (zh) * 2011-09-06 2012-11-08 华为技术有限公司 一种数据删除方法及装置
US10120991B1 (en) * 2013-10-29 2018-11-06 Marc W. Tobias Systems and methods for initiating immediate data erasure on a device
JP2015204073A (ja) * 2014-04-16 2015-11-16 キヤノン株式会社 情報処理装置、情報処理端末、情報処理方法およびプログラム
KR102393323B1 (ko) 2015-08-24 2022-05-03 삼성전자주식회사 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
KR102456104B1 (ko) 2015-08-24 2022-10-19 삼성전자주식회사 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법
KR102333746B1 (ko) 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327296A (ja) * 2004-05-14 2005-11-24 Toshiba Corp メモリカード内の隠されたメモリを消去する方法及び装置
JP2006504195A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける摩耗一様化
JP2009237688A (ja) * 2008-03-26 2009-10-15 Brother Ind Ltd 利用許諾依頼方法、利用許諾依頼サーバ、および利用許諾依頼プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US20030005323A1 (en) * 2001-06-29 2003-01-02 Hanley David C. Management of sensitive data
US7661140B2 (en) * 2002-03-20 2010-02-09 Research In Motion Limited System and method of secure garbage collection on a mobile device
US8006047B2 (en) * 2007-06-27 2011-08-23 Hitachi Global Storage Technologies Netherlands B.V. Storage device with write barrier sensitive write commands and write barrier insensitive commands

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006504195A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける摩耗一様化
JP2005327296A (ja) * 2004-05-14 2005-11-24 Toshiba Corp メモリカード内の隠されたメモリを消去する方法及び装置
JP2009237688A (ja) * 2008-03-26 2009-10-15 Brother Ind Ltd 利用許諾依頼方法、利用許諾依頼サーバ、および利用許諾依頼プログラム

Also Published As

Publication number Publication date
CN102365644A (zh) 2012-02-29
WO2010117850A1 (en) 2010-10-14
CN102365644B (zh) 2015-03-11
EP2414981B1 (en) 2018-12-26
JP5536191B2 (ja) 2014-07-02
US20100250835A1 (en) 2010-09-30
KR101365134B1 (ko) 2014-02-25
KR20120022848A (ko) 2012-03-12
US8433843B2 (en) 2013-04-30
EP2414981A1 (en) 2012-02-08
TW201044406A (en) 2010-12-16

Similar Documents

Publication Publication Date Title
JP5536191B2 (ja) ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法
TWI475385B (zh) 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置
US8041991B2 (en) System and method for recovering solid state drive data
US9043549B2 (en) Memory storage apparatus, memory controller, and method for transmitting and identifying data stream
US8234462B2 (en) Security erase of a delete file and of sectors not currently assigned to a file
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI516936B (zh) 運作模式切換方法、記憶體控制器與記憶體儲存裝置
US8612708B2 (en) Hardware data protection device
KR20120121736A (ko) 데이터 라이트 방법 및 저장 장치
CN112764669B (zh) 一种硬件加速器
TWI785876B (zh) 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置
KR20100101517A (ko) 데이터 파일 삭제 명령에 응답하는 시스템 및 방법
CN107229580B (zh) 顺序流检测方法与装置
TWI521345B (zh) 回應讀取方法及資料傳輸系統
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
JPWO2005041050A1 (ja) 記録媒体、データ処理装置及びデータ処理方法
TW201621668A (zh) 資料儲存裝置及其資料寫入方法
US11307786B2 (en) Data storage devices and data processing methods
JP5491201B2 (ja) 半導体記録装置及び半導体記録システム
KR101039397B1 (ko) Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체
KR20170110808A (ko) 데이터 저장 장치를 포함하는 데이터 처리 시스템

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130821

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

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: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140423

R150 Certificate of patent or registration of utility model

Ref document number: 5536191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250