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