JP5996129B2 - 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム - Google Patents

不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム Download PDF

Info

Publication number
JP5996129B2
JP5996129B2 JP2015554069A JP2015554069A JP5996129B2 JP 5996129 B2 JP5996129 B2 JP 5996129B2 JP 2015554069 A JP2015554069 A JP 2015554069A JP 2015554069 A JP2015554069 A JP 2015554069A JP 5996129 B2 JP5996129 B2 JP 5996129B2
Authority
JP
Japan
Prior art keywords
memory
memory area
file
semiconductor mass
interface
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.)
Active
Application number
JP2015554069A
Other languages
English (en)
Other versions
JP2016504695A (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 JP2016504695A publication Critical patent/JP2016504695A/ja
Application granted granted Critical
Publication of JP5996129B2 publication Critical patent/JP5996129B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Description

本発明は、複数の物理的メモリユニット及び制御器を有する不揮発性半導体マスメモリを安全に消去するための方法に関する。本発明は、さらに、コンピュータシステム及びコンピュータプログラム製品に関する。
コンピュータシステムは、一般に、データを記憶するための1つ又は複数のマスメモリを有する。そのようなマスメモリを交換する場合に、例えば、一般にプライベートなデータ又は秘密のデータを含むメモリについて、問題が発生する。これらのデータは、データの誤用を防止するためにそのメモリが交換される前に消去されることを意図している。この場合、オペレーティングシステムを使用する簡単な消去は、マスメモリの物理的メモリアドレスに対するファイル名の割り当てがファイルシステムレベルでのみ消去されるので、一般にデータを決定的に消去するのに十分ではない。物理的レベルにおいて、データは、マスメモリ内に実質的に残っている。簡単なソフトウェアプログラムは、通常、これらの消去されたことになっているデータを回復するのに十分である。
これらのデータを消去するための期待できる方法は、マスメモリを物理的に破壊することを必要とし、例えば、マスメモリは、消磁されるか、又は別の方法において機械的に破壊される。例えば、そのような方法は、政府サービス(governments services)又は諜報業務(intelligence services)の役に立つ。
しかしながら、交換されたマスメモリは、一般に、更に使用され、例えば販売され、その場合に、安全に、そして決定的に、コンピュータシステムを用いてマスメモリを消すことが必要である。磁気ハードディスクドライブの場合は、所定のビットパターンによってメモリ領域に一般に繰り返して上書きする、この目的のための消去アルゴリズムが存在し、その結果、オリジナルデータを回復することは実質的に不可能である。
しかしながら、そのような方法は、不揮発性半導体マスメモリでは、これらのマスメモリが技術に起因するデータの構成及び未使用記憶域の点からみて磁気ハードディスクメモリと基本的に異なって動作するので、使用されることができない。磁気ハードディスクメモリと対照的に、半導体マスメモリ内の物理的メモリ領域における特定のメモリアドレスに直接アクセスすることは一般に不可能である。
“Michael Wei”らによる(2011年の)出版物“Reliably Erasing Data From Flash-Based Solid State Drives”は、例えば、磁気ハードディスクドライブのための既存の消去方法はソリッドステートドライブのような半導体マスメモリにおいて効果的に使用されることができない、ということを開示する。半導体マスメモリの制御器のための特定のアルゴリズムのみが、正しく実施された場合に、半導体マスメモリの安全な消去を約束する。しかしながら、これは、それぞれの制御器のファームウェアにおける調停を前提とする。さらに、ファームウェアは、半導体マスメモリの製造業者に応じて異なる。
本発明が基づいている1つの目的は、半導体マスメモリを安全に消去するための簡単な方法を記述することである。本発明の更なる目的は、方法を実行することに適しているコンピュータシステム、及びコンピュータプログラム製品を記述することである。
本発明の第1の態様は、不揮発性半導体マスメモリを安全に消去するための方法を開示する。前記半導体マスメモリは、前記半導体マスメモリのインタフェースを通してアドレス指定されることができる第1のメモリ領域又は前記インタフェースを通してアドレス指定されることができない第2のメモリ領域のいずれかに割り当てられる複数の物理的メモリユニットを有する。前記半導体マスメモリは、さらに、前記第1のメモリ領域及び前記第2のメモリ領域に対する前記メモリユニットの割り当てを、前記第1のメモリ領域に割り当てられたメモリユニットに上書きする命令を前記インタフェースを通して受け取ると、ウェアレベリングをもたらすためのアルゴリズムに従って変更するように設定される制御器を有する。当該方法は、下記の、・消去のために全体のアドレス可能な前記第1のメモリ領域を標示するステップと、・前記インタフェースを通して前記制御器に解放命令、特にTRIM命令を発行するステップと、・前記解放命令が受け取られた後で、前記制御器により書き込まれるために前記第1のメモリ領域に割り当てられた前記物理的メモリユニットを解放するステップと、・所定の第1のビットパターンを有するデータブロックを全体の前記第1のメモリ領域に書き込むために前記インタフェースを通して前記制御器に少なくとも1つの第1の書き込み命令を発行するステップと、・以前に書き込まれた前記データブロックの少なくとも1つの所定部分に前記第1のビットパターンと異なる第2のビットパターンによって上書きするために前記インタフェースを通して前記制御器に少なくとも1つの第2の書き込み命令を発行するステップであって、前記第2のメモリ領域に割り当てられた前記物理的メモリユニットが前記ウェアレベリングをもたらすためのアルゴリズムに従って書き込まれる、ステップとを有する。
本発明の第1の態様による方法は、不揮発性半導体マスメモリの全体の物理的メモリ領域が消去されるとともに、所定のビットパターンによって上書きされることを提供する。この場合、半導体マスメモリのインタフェースを通してアドレス指定されることができる第1のメモリ領域及びインタフェースを通してアドレス指定されることができない第2のメモリ領域の両方が、消去されて上書きされる。したがって、消去されたデータを回復することは実質的に不可能である。方法は、さらに、半導体マスメモリの製造業者とは無関係に使用されることができ、半導体マスメモリの制御器のファームウェアにおける知識又は調停を全く前提としない。
本発明の1つの有利な改良点によれば、前記標示するステップにおいて、前記半導体マスメモリは所定のファイルシステムによってフォーマットされる。さらに、前記第1の書き込み命令を発行するステップ及び前記第2の書き込み命令を発行するステップにおいて、前記ファイルシステムのブロック又はクラスタのサイズの整数倍に対応するファイルサイズを有するファイルが書き込まれる。これは、ファイルを書き込む場合に、半導体マスメモリの全ての物理的メモリユニットに完全に書き込むことを可能にする。
別の有利な改良点によれば、前記ファイルシステムは、メタファイルを有していないファイルシステム、特にFAT16又はFAT32である。メタデータを含むファイルシステム、例えばNTFSは、マスメモリの特別なメモリ領域にメタデータを作成するとともに、そのメタデータは、管理情報を記憶する。例えば、記憶媒体の構成の詳細、及び、アクセス権又はデータが物理的に格納される位置に関する情報のような記憶されたデータに関する追加の情報が記憶される。これらのメタデータは、一般に、ユーザにはアクセス不可能で、かつ容易に消去されること及び上書きされることができない。それらは、同様に、消去されたプライベートなデータ又は秘密のデータを回復することに関するセキュリティリスクになる。メタファイルを有していないファイルシステムの使用は、全体のメモリ領域が消去されることができる、ということを保証する。
本発明の別の有利な改良点によれば、前記ファイルは、コンテナを利用しないファイルを含む。コンテナを利用しないファイルは、一般に、符号化に対応する方法で変化しない2進形、例えばアスキー(ASCII)で記憶された内容物を有する。例えばオペレーティングシステムを使用してコンテナを利用しないファイルを作成する場合に、その内容及び大きさは、したがって、正確に規定されることができる。一方、コンテナファイルは、例えば、ファイルタイプ又はファイルフォーマットに関して異なるかもしれない複数のファイル又はファイルブロックを含む。さらに、コンテナファイルは、一般に、例えばそれらのファイルフォーマットに従ってコンテナファイルの内部構造、例えばコンテナファイルの中のファイルの配置を指定する、自動的に生成されたいわゆる“ヘッダファイル”、すなわちヘッダデータを有する。したがって、コンテナファイルのサイズ及び内容は、正確に規定できない。
本発明の別の有利な改良点によれば、前記第1のビットパターンは、16進値“0xFF”を含む。これは、論理“1”を半導体マスメモリのメモリ領域に書き込むことを可能にする。論理“1”によって満たされたメモリ領域を使用して、半導体マスメモリの消去されたファイル又はデータを復元することは、実質的に不可能である。
本発明の第2の態様は、不揮発性半導体マスメモリを有するコンピュータシステムであって、前記半導体マスメモリが、制御器と、前記制御器を通して前記半導体マスメモリの第1のメモリ領域にアクセスするためのインタフェースとを有するコンピュータシステムを開示する。前記インタフェースは、オペレーティングシステム又はBIOS(basic input output system:基本入出力システム)から命令を受け取るとともに、前記制御器に命令を送るように設定される。当該コンピュータシステムは、さらに、本発明の第1の態様による方法を実行するように設定される。
本発明の第3の態様は、実行可能プログラムコードを含むコンピュータプログラムであって、前記プログラムコードがデータ処理機器、特にプロセッサにより実行される場合に、本発明の第1の態様による方法が実行される、コンピュータプログラムを開示する。
本発明の第2の態様によるコンピュータシステム、及び本発明の第3の態様によるコンピュータプログラムは、上記で言及された利点を実質的に有する。
更に有利な改良点は、代表的な実施例の下記の詳細な説明、及び依存する特許請求項において開示される。
本発明の代表的な実施例は、添付された図面を参照して下記で説明される。
不揮発性半導体マスメモリを有するコンピュータシステムの概略の説明図を示す図である。 半導体マスメモリを安全に消去するための方法のフローチャートを示す図である。 半導体マスメモリのメモリ領域の第1の概略の説明図を示す図である。 半導体マスメモリのメモリ領域の第2の概略の説明図を示す図である。
図1は、マザーボードHPを有するコンピュータシステムCSを示す。マザーボードHPは、データ処理機器DVV、例えばプロセッサを有している。マザーボードHPは、データ接続部DV、例えばバス配線を通して、不揮発性半導体マスメモリHMS、例えばいわゆるソリッドステートドライブに接続されている。半導体マスメモリHMSは、データ接続部DVを通してマザーボードHP上のマスメモリ制御器に接続されているインタフェースSSを有している。半導体マスメモリHMSは、さらに、制御器CNTを通してインタフェースSSに接続されているメモリSPを有している。例えば、メモリSPは、1つ又は複数の半導体メモリモジュール、例えばフラッシュEEPROMを含む。
図1は、コンピュータシステムCSのうちの本発明を説明することに関連した構成要素のみを示す。更なる構成要素、例えばマザーボードHP又は半導体マスメモリHMSのための電源は、より明確にするために省略された。
全ての既知の接続標準、例えば、IDE−ATA(integrated disk electronics-advanced technology attachment)、SATA(serial advanced technology attachment)、SAS(serial attached small computer system interface)、又はFC(fiber channel)が、マザーボードHPと半導体マスメモリHMSとの間のデータ接続部DVとして実行できる。
半導体マスメモリHMSのメモリSPは、NANDメモリアーキテクチャに基づいている。しかしながら、メモリSPは、同様に、NORメモリアーキテクチャに基づいていることができる。
NAND半導体マスメモリは、NANDゲートと類似した方法で接続されているメモリセル、特にトランジスタの連続した配列を有する。メモリSPは、同じく“ページ”又はさもなければブロックとも言われるとともに、非常に多数の個別のメモリセルを結合する物理的メモリユニットで構成される。物理的メモリユニットは、通常、4096バイト又は4キロバイト(KB)のサイズを有している。これらの物理的メモリユニットは、制御器CNTにより個別に読み取られることができる。しかしながら、特にフラッシュメモリでは、例えば、64個又は128個の個別の物理的メモリユニットを含むいわゆる“消去可能なブロック”を形成するために、書き込み動作又は消去動作の間、物理的メモリユニットは一般に結合される。データを書き込む場合に、データは、常に、消去可能なブロックの使用されていない物理的メモリユニットに書き込まれる。もし、例えばデータに上書きすることにより、消去可能なブロックにおいて既に書き込まれた物理的メモリユニットが変更されるならば、変更された物理的メモリユニットの内容は、消去可能なブロックの次の使用されていない物理的メモリユニットに書き込まれる。最初に書き込まれた物理的メモリユニットは、消去されないが、しかし、むしろ“最新ではない”とだけ標示される。消去可能なブロックの全ての物理的メモリユニットが“最新ではない”と標示されている場合のみ、全体の消去可能なブロックが、上書きのために消去されるか、又は解放される。
メモリSPは、さらに、インタフェースSSを通してアドレス指定されることができる第1のメモリ領域、及びインタフェースSSを通してアドレス指定されることができない第2のメモリ領域に細分化される。例えば、第1のメモリ領域は、128GBのサイズを有している。第1のメモリ領域は、同じく可視メモリ領域(visible memory area)と言われ、第2のメモリ領域は、不可視メモリ領域(invisible memory area)と言われる。インタフェースSSは、第1のメモリ領域の物理的メモリユニットが制御器CNTにより割り当てられるファイルシステムの論理的メモリ領域又は論理的メモリユニットをアドレス指定するために使用される。標準化されたプロトコルを使用して、インタフェースSSを通してメモリSPの第2のメモリ領域の物理的メモリユニットに直接アクセスすることは、不可能である。例えば、第2のメモリ領域は、消去のために解放されたメモリユニットを含む。
半導体マスメモリHMSの制御器CNTは、第1のメモリ領域及び第2のメモリ領域に対する物理的メモリユニットの割り当てを、第1のメモリ領域に割り当てられた物理的メモリユニットに書き込むか、又は上書きする命令をインタフェースを通して受け取ると、メモリユニットのウェアレベリングをもたらすためのアルゴリズムに従って変更するように設定される。この場合、静的なウェアレベリングと動的なウェアレベリングとの間で区別が行われる。
もしその意図が消去可能なブロックに書き込むことであるならば、制御器CNTは、常に、まだ書き込まれていない第1のメモリ領域の消去可能なブロック又は第2のメモリ領域の消去可能なブロック、及び動的なウェアレベリングの間に最も低い頻度で書き込まれた又は使用された第1のメモリ領域の消去可能なブロック又は第2のメモリ領域の消去可能なブロックに書き込む。書き込み動作の数、ひいては消去可能なブロックの使用が、制御器CNTにより一般に記憶される。この場合、もし第2のメモリ領域の消去可能なブロックが書き込まれるならば、この消去可能なブロックは、第1のメモリ領域の未使用の消去可能なブロックの代わりに第1のメモリ領域に割り当てられる。
静的なウェアレベリングの間に、書き込まれなかった消去可能なブロックの使用だけでなく、少なくとも部分的に既に書き込まれた消去可能なブロックの使用も、ウェアレベリングに関して考慮に入れられる。もしその意図が消去可能なブロックに書き込むことであるならば、最も低い頻度で使用された消去可能なブロックが選択される。もしこの消去可能なブロックが少なくとも部分的に書き込まれたならば、書き込まれた消去可能なブロックにおけるデータは、別の消去可能なブロックの物理的メモリユニットにコピーされ、その結果、あまり書き込まれなかった消去可能なブロックは、書き込み動作のために解放される。したがって、半導体マスメモリHMSの制御器CNTは、半導体マスメモリHMSの全ての物理的メモリユニット又は消去可能なブロックの均一の使用が保証される、ということを約束する。
ウェアレベリングのために、例えば、半導体マスメモリHMSの全体のメモリ領域、特に第2のメモリ領域を、例えば磁気ハードディスクドライブにおいて使用される従来の方法を使用してオペレーティングシステム又はBIOSを通して意図的に消去するか、及び/又は上書きすることは、可能ではない。
コンピュータシステムCSは、半導体マスメモリHMSを安全に消去する方法を実行するように設定される。その方法は、図2、図3、及び図4を使用して下記で説明される。
図2は、図1によるコンピュータシステムCSによって実行されることができる方法Vのためのフローチャートを示す。例えば、データ処理機器DVVは、方法Vを実行するプログラムコードを遂行する。
図3及び図4は、図1による半導体マスメモリHMSのメモリSPを概略的に示す。上記で説明されたように、メモリSPは、可視メモリ領域とも言われる第1のメモリ領域SB1、及び不可視メモリ領域とも言われる第2のメモリ領域SB2を有している。
図1から図4を使用して説明される代表的な実施例において、命令は、コンピュータシステムCSのオペレーティングシステムを用いて、インタフェースSSを通して制御器に対して発行される。その代りに、それらの命令は、同様に、BIOS又はアプリケーションプログラムを用いて発行されることができる。
方法Vの最初のステップSC1において、消去のために全体のアドレス指定可能な第1のメモリ領域(SB1)が標示される。例えば、第1のメモリ領域SB1は、メタファイルを有していないファイルシステムによってフォーマットされる。ファイルシステムが構築される方法に関して、異なる仕様が使用されることができる。例えば、そのような仕様は、マイクロソフト(登録商標)DOSベースのオペレーティングシステム、及びウィンドウズ(登録商標)ベースのオペレーティングシステムのためのFAT16又はFAT32である。例示された代表的な実施例では、4KBのクラスタサイズを有するファイルシステムFAT32が使用される。他のクラスタサイズ、例えば2KB又は16KBが、同様に考えられる。1つの物理的メモリユニットは、したがって4KBのサイズを有するクラスタに割り当てられる。半導体マスメモリHMSに記憶されるファイルは、たとえそれらの実際のサイズがクラスタサイズの倍数に対応しないとしても、常にクラスタの整数倍を占有する。
フォーマットする間に、論理的メモリ領域は、オペレーティングシステムレベルで消去される。この場合、半導体マスメモリHMSの制御器CNTは、インタフェースSSを通して消去に対しての情報を受け取り、論理的メモリ領域に割り当てられた物理的メモリユニットを、“無効”又は“最新ではない”として記録する。しかしながら、論理的メモリ領域に割り当てられた第1のメモリ領域SB1の物理的メモリユニットは、最初は安全に消去されない。例えば、これは、ウェアレベリング、特に静的ウェアレベリングに従って他の消去可能なブロックにコピーされる“無効”と標示された物理的メモリユニットのデータに、たとえこれらのデータがもはや必要とされないとしてもなる。
次のステップSC2において、解放命令、特にATA−TRIM命令が、したがってインタフェースSSを通して制御器CNTに対して発行される。この場合、オペレーティングシステムは、論理的メモリ領域における別の方法で消去された若しくは解放された物理的メモリユニットはもはや使用されないか、及び/又は、これらの物理的メモリユニットのデータはもはや使用されていないということを、インタフェースSSを通して制御器に対して通知する。もし消去可能なブロックの全ての物理的メモリユニットがもはや使用されないならば、消去可能なブロックは、制御器CNTにより、書き込む及び/又は消去されるために、解放されることができる。全体の論理的メモリ領域がステップSC1においてフォーマットされたという事実の結果、制御器CNTは、ステップSC2において、“最新ではない”第1のメモリ領域SB1の全ての物理的メモリユニットが解放されるか、及び/又は消去されることができる、ということを通知される。例えば、これは、これらのデータがウェアレベリングのために使用されていない消去可能なブロックにもはやコピーされないことをもたらす。
次のステップSC3において、全体の第1のメモリ領域SB1に所定の第1のビットパターンを有するデータブロックを書き込むために、少なくとも1つの第1の書き込み命令が、インタフェースSSを通して制御器に対して発行される。データブロックは、例えばオペレーティングシステムの呼び出しを用いて直接作成されたとともに、一連の16進値0xFFを含むコンテナを利用しないファイルD1からDN(図3を参照)、例えばテキストファイルが提供するデータである。16進値0xFFは、2進コード11111111、すなわち全てのビットがセットされた1バイトに対応する。代表的実施例において、例えば、ファイルD1からファイルDNは、それぞれファイルシステムの消去可能なブロックのサイズ、すなわち256KBを有している。ファイルD1からDNに書き込む場合に、制御器は、ウェアレベリングに従って最も低い頻度で使用された消去可能なブロックを選択し、それらの物理的メモリユニットに書き込む。もしまだ消去されていなかった解放された消去可能なブロックの物理的メモリユニットがステップSC2においてここで選択されるならば、それらは書き込まれる前に消去される。この場合、ステップSC3において書き込まれた消去可能なブロックは、第1のメモリ領域SB1に割り当てられる。
ステップSC3において、インタフェースSSを通してアドレス指定されることができる全体の第1のメモリ領域SB1に論理“1”が書き込まれるように、一定数のファイルが書き込まれる。クラスタ又は消去可能なブロックのサイズの倍数と異なるサイズを有するファイルは、全て書き込まれた第1のメモリ領域SB1の物理的メモリユニットになるとは限らない。
次のステップSC4において、以前に書き込まれた前記データブロックの少なくとも1つの所定部分に第1のビットパターンと異なる第2のビットパターンによって上書きするために、少なくとも1つの第2の書き込み命令が、そのときインタフェースSSを通して制御器に対して発行される。この場合、ステップSC3において以前に書き込まれたファイルの一部分が変更されたファイルによって上書きされる。
以前に書き込まれたファイルの一部分は、第1のビットパターンと比較すると変更されている第2のビットパターンを有するファイルによって上書きされる。この場合、小さな変更、例えばファイルの複数の16進値0xFFのうちの1つの16進値0xFE又は2進コード11111110への変更だけで十分である。例えば、これは、ファイルのうちの1ビットが変更されなければならないことを意味する。ファイルに上書きする場合に、第1のメモリ領域SB1において上書きされるべきファイルの消去可能なブロックの物理的メモリユニットは、上記で説明されたウェアレベリングに従ってここでは上書きされない。その代りに、第2のメモリ領域SB2の消去可能なブロックの物理的メモリユニットに、このメモリ領域が使用されていない消去可能なブロック又は上書きのために解放された消去可能なブロックだけを有しているので、新しいファイルが書き込まれる。変更されたファイルが提供するデータを含む物理的メモリユニット又は消去可能なブロックは、第1のメモリ領域SB1に割り当てられる。第1のビットパターンを含む第1のメモリ領域SB1のオリジナルの物理的メモリユニット又は消去可能なブロックは、制御器CNTにより第2のメモリ領域SB2にそのとき割り当てられる。
少なくとも1つの第2の書き込み命令を、インタフェースSSを通して制御器CNTに発行することの実践は、図3及び図4の参照によって、ファイルD1に上書きすることの実例を用いて示される。この場合、所定の第1のビットパターンを有するファイルD1からDNは、図3によれば、全体のメモリ領域SB1に既に書き込まれている。この場合、ファイルD1からDNは、それぞれ消去可能なブロックのサイズ、例えば16KBを有している。もし制御器CNTがここで、ファイルD1の基礎を形成する消去可能なブロックの物理的メモリユニットが同じサイズの変更されたファイルD1のデータによって上書きされることを意図していることを示す命令を受け取るならば、新しいファイルD1の内容は、第2のメモリ領域SB2に以前に割り当てられた消去可能なブロックの物理的メモリユニットに書き込まれる。この場合、オリジナルのファイルD1の消去可能なブロックは、第2のメモリ領域SB2に割り当てられ、新しいファイルD1の消去可能なブロックが、今度は第1のメモリ領域SB1に割り当てられる(図4を参照)。図4によれば、ファイルD2及びD3は、同様の方法において、変更されたファイルD2及びD3によって上書きされた。
その代りに、それらのファイルは、さらに、異なるサイズを有しているかもしれない。その前提条件は、ファイルのサイズが、ファイルシステムのクラスタ及び消去可能なブロックのサイズの倍数に対応する、ということである。ステップSC4に従って、ファイルを変更されたファイルによって上書きする場合に、たとえファイルそのものの変更が物理的メモリユニットのデータにのみ関係するとしても、変更されたファイルの全てのデータは、概して、ウェアレベリングに従って第2のメモリ領域SB2に書き込まれる。
例えば、ウェアレベリングアルゴリズムに基づいて、既に書き込まれたとともに、2つの消去可能なブロックのサイズを有するファイルを、既に書き込まれたファイルと比較すると1ビットだけ変更された同じサイズの変更されたファイルによって上書きする場合に、変更されたファイルは、上書きされたファイルのオリジナルの消去可能なブロックの代わりに第1のメモリ領域SB1にその場合に割り当てられる、第2のメモリ領域SB2の2つの消去可能なブロックに完全に書き込まれるであろう。
方法Vでは、全体の第2の不可視メモリ領域SB2が書き込まれるように、少なくとも一定数のファイルが変更されるか、又は上書きされる。
半導体マスメモリHMSの製造業者にもよるが、不可視の第2のメモリ領域SB2は、第1のメモリ領域SB1のサイズの約6〜15%であり得る。したがって、例えば、第1のメモリ領域SB1の15%より多い領域が上書きされた後は、全体の第2のメモリ領域SB2は役に立たないデータだけを受け取る、ということが保証されている。その代りに、非常により多くのファイルが、同様に、変更されるか、又は上書きされることができる。第2のビットパターンを有するファイルは、さらに、今変更されたビットパターン、例えば第1のビットパターンを再び有するファイルによって、再度上書きされ得る。その安全は、半導体マスメモリの全ての物理的メモリユニットが決定的に消去されるか、又は上書きされるという事実の効力によって増大する。
半導体マスメモリの消去されたデータが回復されることができないように安全を更に増大させるために、方法Vは、さらに、繰り返して、例えば2回又は3回連続して実行されることができる。
したがって、半導体マスメモリHMSの全体の物理的メモリ領域は今や書き込まれ、その中に以前に保存されたデータを妥当な量の努力によって復元することはもはや可能ではない。したがって、製造業者とは無関係に不揮発性半導体マスメモリを消去することが容易に可能になる。説明されたように、これは、オペレーティングシステムを使用して、又は、さもなければBIOSを使用して実行され得る。したがって、半導体マスメモリHMSの製造業者依存のファームウェアに介入するか、又は半導体マスメモリHMSの制御器CNTに直接アクセスする必要はない。
技術に起因して、半導体マスメモリの欠陥のあるメモリユニット又はメモリセルは、それらが概してトランジスタの欠陥のあるフローティングゲートのためにあらゆる正当な情報をもはや含まないので、安全な消去に関して考慮されてはいけない。
別の実施例において、方法Vは、5番目のステップSC5を追加として有しても良く、それは図2において点線を用いて例示され、ステップSC5によれば、ATA−TRIM命令が再度実行される。同様に図2において点線を用いて例示される6番目のステップSC6において、半導体マスメモリHMSは、さらに、所定のファイルシステムによってフォーマットされることができる。例えば、これは、同様に、メタ情報を含むファイルシステム、例えばNTFSであり得る。半導体マスメモリHMSは、したがって、更なる使用に対応できるように準備される。半導体マスメモリHMSは、好ましくは、方法Vの実行の前に使用された同じファイルシステムによってフォーマットされる。
CNT 制御器
CS コンピュータシステム
D1〜DN ファイル
D1〜D3 ファイル
DV データ接続部
DVV データ処理機器
HMS 半導体マスメモリ
HP マザーボード
SB1 メモリ領域
SB2 メモリ領域
SC1〜SC6 ステップ
SP メモリ
SS インタフェース
V 方法

Claims (7)

  1. 不揮発性半導体マスメモリを安全に消去するための方法であって、前記半導体マスメモリが、前記半導体マスメモリのインタフェースを通してアドレス指定されることができる第1のメモリ領域又は前記インタフェースを通してアドレス指定されることができない第2のメモリ領域のいずれかに割り当てられる複数の物理的メモリユニットと、前記第1のメモリ領域及び前記第2のメモリ領域に対する前記メモリユニットの割り当てを、前記第1のメモリ領域に割り当てられたメモリユニットに上書きする命令を前記インタフェースを通して受け取ると、ウェアレベリングをもたらすためのアルゴリズムに従って変更するように設定される制御器とを有し、当該方法が、
    ・消去のために全体のアドレス指定可能な前記第1のメモリ領域を標示するステップと、
    ・前記インタフェースを通して前記制御器に解放命令、特にTRIM命令を発行するステップと、
    ・前記解放命令が受け取られた後で、前記制御器により書き込まれるために前記第1のメモリ領域に割り当てられた前記物理的メモリユニットを解放するステップと、
    ・所定の第1のビットパターンを有するデータブロックを全体の前記第1のメモリ領域に書き込むために前記インタフェースを通して前記制御器に少なくとも1つの第1の書き込み命令を発行するステップと、
    ・以前に書き込まれた前記データブロックの少なくとも1つの所定部分に前記第1のビットパターンと異なる第2のビットパターンによって上書きするために前記インタフェースを通して前記制御器に少なくとも1つの第2の書き込み命令を発行するステップであって、前記第2のメモリ領域に割り当てられた前記物理的メモリユニットが前記ウェアレベリングをもたらすためのアルゴリズムに従って書き込まれる、ステップとを有する、方法。
  2. 前記標示するステップにおいて、前記半導体マスメモリが所定のファイルシステムによってフォーマットされ、前記第1の書き込み命令を発行するステップ及び前記第2の書き込み命令を発行するステップにおいて、前記ファイルシステムのブロック及び/又はクラスタのサイズの整数倍に対応するファイルサイズを有するファイルが書き込まれる、請求項1に記載の方法。
  3. 前記ファイルシステムが、メタファイルを有していないファイルシステム、特にFAT16又はFAT32である、請求項2に記載の方法。
  4. 前記ファイルが、コンテナを利用しないファイルを含む、請求項2に記載の方法。
  5. 前記第1のビットパターンが、16進値“0xFF”を含む、請求項1に記載の方法。
  6. 不揮発性半導体マスメモリを有するコンピュータシステムであって、前記半導体マスメモリが、制御器と、前記制御器を通して前記半導体マスメモリの第1のメモリ領域にアクセスするためのインタフェースとを有し、
    ・前記インタフェースが、オペレーティングシステム又はBIOSから命令を受け取るとともに、前記制御器に命令を送るように設定され、
    ・当該コンピュータシステムが、請求項1に記載の方法を実行するように設定される、コンピュータシステム。
  7. 実行可能プログラムコードを含むコンピュータプログラムであって、前記プログラムコードがデータ処理機器、特にプロセッサにより実行される場合に、請求項1に記載の方法が実行される、コンピュータプログラム。


JP2015554069A 2013-01-28 2013-11-26 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム Active JP5996129B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102013100820.8A DE102013100820B4 (de) 2013-01-28 2013-01-28 Verfahren zum sicheren Löschen eines nichtflüchtigen Halbleiter-Massenspeichers, Computersystem sowie Computerprogrammprodukt
DE102013100820.8 2013-01-28
PCT/EP2013/074776 WO2014114388A1 (de) 2013-01-28 2013-11-26 Verfahren zum sicheren löschen eines nichtflüchtigen halbleiter-massenspeichers, computersystem sowie computerprogrammprodukt

Publications (2)

Publication Number Publication Date
JP2016504695A JP2016504695A (ja) 2016-02-12
JP5996129B2 true JP5996129B2 (ja) 2016-09-21

Family

ID=49765459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015554069A Active JP5996129B2 (ja) 2013-01-28 2013-11-26 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US9671964B2 (ja)
EP (1) EP2948894B1 (ja)
JP (1) JP5996129B2 (ja)
DE (1) DE102013100820B4 (ja)
WO (1) WO2014114388A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015204073A (ja) * 2014-04-16 2015-11-16 キヤノン株式会社 情報処理装置、情報処理端末、情報処理方法およびプログラム
DE102014208609A1 (de) * 2014-05-08 2015-11-26 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
KR102609177B1 (ko) 2016-07-04 2023-12-06 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법 및 불휘발성 메모리 장치의 동작 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171204B2 (en) * 2000-01-06 2012-05-01 Super Talent Electronics, Inc. Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels
US8296467B2 (en) * 2000-01-06 2012-10-23 Super Talent Electronics Inc. Single-chip flash device with boot code transfer capability
US20050257017A1 (en) 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP5538970B2 (ja) 2010-03-25 2014-07-02 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
TWI445384B (zh) * 2010-04-26 2014-07-11 Htc Corp 通訊控制方法、通訊裝置及電腦程式產品
DE112010005870B4 (de) * 2010-11-08 2019-10-10 Hyperstone Gmbh Verfahren zur Freigabe nicht länger benötigter Speicherbereiche auf nichtflüchtigen Speichermedien
JP5405513B2 (ja) 2011-03-22 2014-02-05 株式会社東芝 メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
KR20120132820A (ko) * 2011-05-30 2012-12-10 삼성전자주식회사 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법
US9111621B2 (en) * 2012-06-20 2015-08-18 Pfg Ip Llc Solid state drive memory device comprising secure erase function

Also Published As

Publication number Publication date
WO2014114388A1 (de) 2014-07-31
US9671964B2 (en) 2017-06-06
DE102013100820B4 (de) 2018-05-30
JP2016504695A (ja) 2016-02-12
US20150331620A1 (en) 2015-11-19
DE102013100820A1 (de) 2014-07-31
EP2948894B1 (de) 2019-09-18
EP2948894A1 (de) 2015-12-02

Similar Documents

Publication Publication Date Title
US10007468B2 (en) Method and apparatus for erasing data in data section in flash memory
EP2631916B1 (en) Data deletion method and apparatus
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US8275927B2 (en) Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method
US20170336992A1 (en) Method, device, and program for managing a flash memory for mass storage
JP2006079543A (ja) メモリ管理装置
US8954692B2 (en) File protecting method and system, and memory controller and memory storage apparatus thereof
JP2015172959A (ja) フラッシュメモリのアクセス方法
KR101502718B1 (ko) 웨어 레벨링을 사용한 메모리 디바이스의 암호화
WO2015145932A1 (ja) 不揮発性メモリ装置
JP5996129B2 (ja) 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム
JP2013235531A5 (ja)
TWI519951B (zh) 資料儲存裝置以及快閃記憶體控制方法
KR20100121389A (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치
US20140281581A1 (en) Storage Device
US20090024810A1 (en) Memory area management method
DE102005051265A1 (de) Verfahren und System zum Zugreifen auf audiovisuelle Daten in einem Computer
US10956080B2 (en) Erasure of data from a memory of a data storage apparatus by identifying available free space in the memory and iteratively writing a sequence of files decreasing size to the memory using a file-based protocol
US9116794B2 (en) Storage device data protection system
JP2009043238A (ja) 記憶領域管理方法および情報処理装置
TWI669610B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US20080059691A1 (en) Memory management module
TW202236094A (zh) 跳躍式資料清除方法與資料儲存系統

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160823

R150 Certificate of patent or registration of utility model

Ref document number: 5996129

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

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