説明

NAND型フラッシュメモリデバイス及びNAND型フラッシュメモリのデータ消去方法

【課題】情報機器等においてファイルシステムでデータ管理されるNAND型フラッシュメモリの記憶データを高速に、かつ、完全に消去し、データの漏洩を防止することができるNAND型フラッシュメモリデバイス、並びにNANDフラッシュメモリのデータ消去方法の提供。
【解決手段】NAND型フラッシュメモリに情報機器のユーザデータを記録するパーティションを設けておくとともに、NAND型フラッシュメモリデバイスのプロセッサが、ホストから発行された、コマンドコードと前記パーティションの消去対象領域の先頭セクタアドレスとセクタ数からなる消去コマンドを解釈して、前記パーティションに記憶されている全データを消去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NAND型フラッシュメモリデバイス及びNAND型フラッシュメモリのデータ消去方法に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータや複写機などの情報機器の記憶装置として、従来から使用されているハードディスクドライブ(HDD)の代わりに、フラッシュメモリ、取り分け、NAND型フラッシュメモリを用いたソリッドステイトドライブ(SSD)が注目されている。
【0003】
ハードディスクドライブをパーソナルコンピュータなどに接続してファイルを管理する際にはファイルシステムが使われる。ハードディスクドライブに記録される情報は、記録したデータを管理するためのメタデータと、ユーザデータ本体の2つの領域に分けて記録されている。ユーザデータの有効/無効はこのメタデータの情報によって判断される。ハードディスクドライブを取り扱うオペレーティングシステム(OS)には、ユーザデータ本体を消去するためのコマンドが用意されていないため、ユーザデータの消去は、このメタデータの情報のデータ有効/無効の部分のみを、有効から無効に書き換えることにより行われる。この状態では、見かけ上はユーザデータが消去されたとしても、ユーザデータ本体はそのまま残っており、ユーザデータ本体は、新しい情報が上書きされた時に初めて消去される。それ故に、ハードディスクドライブを使用している情報機器は、譲渡や破棄の際に、情報機器内に残留しているデータが流出して悪用されトラブルに発展するという問題がある。斯かる事態を防止するために、情報機器を破壊したり、特殊な消去方法を用いてデータを解読不能にするなどの対策を行っている。
【0004】
特に、プリンタ、スキャナ、ファクシミリ、複写機、及びこれらを統合したマルチファンクションプリンタ(MFP)などの情報機器では、印刷後にデータを完全に消去するための特殊な処理を行って情報漏洩を防止している。例えば、ハードディスクドライブ消去用ソフトウェアを用いて、無意味なデータの書き込みを行う方法である。ところが、ハードディスクドライブはデータを記録する際に、ドライブの回転等による振動によって、磁気ヘッドと磁性体面とにずれが生じ、残留磁気が発生することがある。
【0005】
この場合、特殊な読み取り装置を使えば、この残留磁気を読み取って解読ができてしまう。このため、NAS規格の特殊なデータパターン(ランダムデータ2回、“00”パターン1回)の書き込み方法を採用し、判読できないようにしている事例もある。しかし、このような無意味なデータを書き込む方式は、記憶容量が大きければそれだけ多くの時間を要する。特にマルチファンクションプリンタのように、一度に多くのタスクを連続処理しなければならない場合は問題である。そのため、本出願人は、情報漏洩防止の必要がある情報機器に搭載されているハードディスクドライブを、NAND型フラッシュメモリを用いたソリッドステイトドライブ(SSD)に代替して使用することを提案している。
【0006】
(従来技術の問題点)
NAND型フラッシュメモリを用いたソリッドステイトドライブでは、残留磁気という問題がないため、特殊なデータパターンを書き込む必要がない。しかしながら、上記のように、ハードディスクドライブを取り扱うオペレーティングシステムには、NAND型フラッシュメモリのようなブロック単位でデータを消去するための消去コマンド(eraseコマンド)が標準では用意されていない(消去”とは、セルに蓄積している電荷を除去することをいう)。したがって、ハードディスクをソリッドステイトドライブに置き換えた場合、実際にデータを判読できないようにするために、writeコマンドによってブロックデータを書き換えることはできるものの(上記の通り無意味なデータとかALL“0”の書き込み)、データの消去を実行することはできない。NAND型フラッシュメモリにおけるwriteコマンドによるブロックデータの書き換えは、消去コマンドによるブロックデータの消去に比して膨大な時間がかかる。
【0007】
仮にホストから消去コマンドを発行できるようにしても、ファイルシステムの問題がある。すなわち、上記情報機器では、ハードディスクのデータをFAT(ファイルアロケーションテーブル)ファイルシステムやNTFSで管理している。このためハードディスクをソリッドステイトドライブに置き換えた場合でも、NAND型フラッシュメモリにおけるデータの記憶は、パーティションで管理される特定領域においてファイル単位で行われることになる。マルチファンクションプリンタなどの情報機器におけるユーザデータ、例えば、イメージリーダで撮像したプリントデータのように機密性の高いデータも同様である。斯かるファイルデータに対しては、ブロック単位でデータを消去する消去コマンドは発行できず、仮に判読不能にしようとする場合は、上記の通り、多くのブロックに対してデータの書き換えが必要になる。またその度にフラグメンテーションが発生し、デフラグメンテーションの必要が生じる。これはNAND型フラッシュメモリの寿命を短縮することになる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−176606号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記の問題を鑑み、本発明が解決すべき課題は、情報機器等においてファイルシステムでデータ管理されるNAND型フラッシュメモリのデータを、多くの時間を要するデータの書き換えに依るのではなく、高速にかつ完全に消去することにより漏洩防止する、新規なNAND型フラッシュメモリデバイス及びNAND型フラッシュメモリのデータ消去方法の提供にある。
【課題を解決するための手段】
【0010】
上記課題解決のため、本発明は、請求項記載の新規な特徴的構成を採用する。
【発明の効果】
【0011】
以上述べたように、本発明によれば、ホスト1からNAND型フラッシュメモリデバイス2へ、消去対象パーティションの先頭セクタアドレスとセクタ数、若しくは先頭セクタアドレスと終了セクタアドレスを指定する消去コマンドを発行し、デバイスのプロセッサ23は、該コマンドで特定される領域を構成しているブロックデータを、NAND型フラッシュメモリに対して消去コマンドを用いて消去するので、ファイルシステムを採用するマルチファンクションプリンタなどの情報機器における機密性の高い大量のデータを、高速かつ完全に消去し、その漏洩防止することができる。また、ユーザが必要に応じて消去コマンドを発行できるので、NAND型フラッシュメモリの寿命を短縮させることがなく、本システムを搭載した情報機器を譲渡、廃棄する際に、残留データの漏洩を有効に防止することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。
【図2】本発明の実施形態に係るNAND型フラッシュメモリの論理領域構成例である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
【実施例】
【0014】
(システム基本構成)
図1は、本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。図1に示すように、本発明のシステム(請求項のフラッシュメモリデバイスシステムに相当)は、ホスト1と、該ホスト1のメディアアクセス対象であるNAND型フラッシュメモリデバイス2とからなる。NAND型フラッシュメモリデバイス2は、データを格納するNAND型フラッシュメモリ30と、ホスト1からの命令に基づき、NAND型フラッシュメモリ30にデータの書き込みや読み出しを実行する制御部20を有する。
【0015】
制御部20は、ホスト1からコマンドを受け取るデバイスインターフェース21と、NAND型フラッシュメモリ30に対して所定のコマンドプロトコルに従ってコマンドを発行するフラッシュメモリインターフェース22と、プロセッサ23と、デバイスインターフェース21とフラッシュメモリインターフェース22とプロセッサ23とに接続されるバッファ24と、プロセッサ23がアクセス可能なRAM25とを有する。プロセッサ23は、その制御プログラムであるファームウエア231を有する。プロセッサ23は、ホスト1から消去コマンドが発行されると、ファームウエア231によって本発明のデータ消去を実行する。
【0016】
本発明のNAND型フラッシュメモリデバイス2は、例えば、パーソナルコンピュータ、又は、プリンタやスキャナ、複写機などを統合したマルチファンクションプリンタに搭載されているハードディスクドライブ(HDD)の代替として使用され得る。この場合、ホスト1との間のデバイスインターフェース21は、IDEインターフェースやシリアルATAインターフェースで構成される。またNAND型フラッシュメモリデバイス2は、ホスト1に装着して使用されるUSBメモリで構成してもよい。
【0017】
(NAND型フラッシュメモリ30の論理領域)
図2は、本発明の実施形態に係るNAND型フラッシュメモリ30の領域例である。この領域は、ホスト1からアクセスすることのできるNAND型フラッシュメモリデバイス2の領域である。これはアドレス空間であり、NAND型フラッシュメモリ30が複数で構成されていても、ホスト1からは1つのアドレス空間として見ることができる。図示するように、NAND型フラッシュメモリ30には、システムに電源が投入されたとき、ホスト1から最初に読み出されるMBR(マスターブートレコード)が、論理ブロック番号“0”に記憶されている。その他、パーティションが、パーティション番号“0”から“3”まで設定されている。この領域は基本領域である。
【0018】
MBRには、ホスト1がNAND型フラッシュメモリデバイス2にアクセスするために必要なデータが記録されているパーティションテーブル411と、ブートローダ412が記録されている。MBRは、Windows(登録商標)のオペレーティングシステムなどで一般的に使用されているものである。パーティションテーブル411には、設定されているパーティションの数や、各パーティションの開始位置・終了位置(セクタアドレス)、パーティションのID、アクティブパーティションか否かを示す“ブート識別子”、ファイルシステムの種類を示す“システムID”、ディスク先頭からのパーティションまでの距離を表す“オフセット”、パーティション容量を表す″総セクタ数”の情報などが記録される。なおパーティションとは、ホスト1側から見えるNAND型フラッシュメモリデバイス2のアドレス空間を分割したものであり、ハードディスクドライブで用いられるパーティションの概念と同じで、ホスト1から論理ドライブとして認識され得るものである。
【0019】
システムに電源が投入されると、ホスト1側に用意されている不図示のブートストラップが、ホスト1側にMBR(パーティションテーブル411の情報及びブートローダ412)を読み込み、これによりブートローダ412はパーティションテーブル411に書き込まれている情報に基づき、パーティション“1”に格納されているオペレーティングシステム42を、不図示のシステムメモリにロードし、システムを起動する。システムメモリは、ホスト1がアクセス可能なDRAMで構成することができる。
【0020】
ところで、周知の通り、NAND型フラッシュメモリでは、各論理ブロックは物理ブロックと対応付けされており、その関係は、論理ブロック−物理ブロック変換テーブルで管理される。本実施形態例では、1論理ブロックに対し、一つの物理ブロックが対応つけされており、1物理ブロックは64ページで構成され、1ページが4セクタで構成されている。
【0021】
また、パーティション“0”は、論理ブロック番号“1”から“99”で構成されている。図示しないが、パーティション“0”と同様に、パーティション“1”乃至パーティション“3”(拡張領域)もその必要な容量に応じて、複数の論理ブロックで構成される。各パーティションの境界は、必ずしも各ブロック境界に一致する必要はなく、ブロックの途中のページ、あるいはページの途中のセクタで区切ってもよい。最小、セクタ単位で区切ることができる。
【0022】
尚、NAND型フラッシュメモリ30には、管理領域を構成する物理ブロック、予備ブロックを構成する物理ブロックがあるが、これら物理ブロックは論理ブロックと対応付けされないため、ホスト1からは不可視である。したがって、ホスト1から見たアドレス空間には存在しない。またMBR記憶領域41には、上記説明した内容の他、システムを起動するときに必要となる他のデータを記憶することができるが、本発明の説明上、特に必要がないので図2では便宜上割愛している。
【0023】
(パーティションの用途)
上記分割されたパーティションはそれぞれ使用目的が割り当てられており、使用目的に応じたデータが格納されている。パーティション“0”は、オペレーティングシステム(OS)420を格納するための領域である。パーティション“1”は、本システムを搭載している情報機器が各種制御を実行するためのアプリケーションプログラム430を格納している。例えば、マルチファンクションプリンタを例に挙げると、この領域にはマルチファンクションプリンタが使用するアプリケーションプログラムが格納される。パーティション“2”は、データ漏洩防止のために消去が必要なユーザデータ440を格納するための領域であり、例えば、マルチファンクションプリンタにおいて、プリントする際に撮像されたイメージデータ(ファイルデータ)はこの領域に格納される。パーティション“3”は、オペレーティングシステム420のバックアップデータ450などを格納するための領域である。各パーティションの容量は使用目的に応じて割り当てることができ、パーティションの数も情報機器の使用目的に応じて決めることができる。また、オペレーティングシステム420やアプリケーションプログラム430、秘匿性のあるユーザデータ440をどのパーティションに格納するかは、ユーザやシステム提供者が自由に決めることができる。
【0024】
プロセッサ23はNAND型フラッシュメモリ30に対して、消去対象ブロックを指定する消去コマンドを発行し、NAND型フラッシュメモリ30内部では、指定されたブロックのセルに蓄積されていた電荷を除去し、データを消去する。
【0025】
(パーティションの消去方法例1)
本発明の実施形態に係るパーティションのデータ消去方法例1について説明する。ホスト1は、該ホスト1が持つインターフェースとデバイスインターフェース21を介して、NAND型フラッシュメモリデバイス2に対し消去コマンドを発行するが、この場合、まず、MBRのパーティションテーブル411の情報に基づいて、消去対象のパーティション番号に対応する先頭セクタアドレスと終了セクタアドレスを指定した消去コマンドをNANDフラッシュメモリデバイス2に発行する。
【0026】
NANDフラッシュメモリデバイス2が消去コマンドを受けると、コマンドで指定された消去対象のパーティションの先頭セクタアドレスが、その先頭セクタアドレス(論理ブロック)に対応する物理ブロックの先頭セクタであるか判断する。yesであれば、次に、記載されている終了セクタアドレスが、その終了セクタアドレス(論理ブロック番号)に対応する物理ブロックの最終セクタであるか判断する。yesであれば,当該パーティションは、複数の物理ブロックの集合で構成されていることが分かる。この場合プロセッサ23は、段落0021で述べた消去コマンドを、NANDメモリインターフェース22を介してNAND型フラッシュメモリ30に、消去対象となる全物理ブロック分発行することにより,NAND型フラッシュメモリ30内部で、指定された物理ブロックのセルに蓄積されていた電荷の除去が実行され、書き込まれていたデータが完全に消去される。消去対象となる物理ブロック番号が連続している場合は、一の消去コマンドで纏めて消去指定することができる。
【0027】
前述したように、NAND型フラッシュメモリ30の消去はブロック単位で行われる。そのため、パーティションの最初/及び又は最後の境界がブロックの途中に存在する場合は、そのパーティションの境界となっているブロックには消去コマンドを発行することはできない。消去対象となっていないパーティションのデータを消去してしまうからである。この点、パーティションはブロックのセクタ単位で区切ることができるため、当該ブロックのどの範囲が消去範囲でどの範囲が消去範囲でないかは、指定された論理セクタアドレスにより判断することができる。このような場合は、消去対象となるブロック内の消去対象でないデータ(別のパーテションのデータ)を空きブロック(データが何も書き込まれていない更のブロック)に書き換えて、元のブロックを消去するといった2段階の動作を行うことで、ブロック内の指定されたパーティションデータのみを有効に消去することができる。
【0028】
具体的に説明すると、消去対象パーティションが物理ブロックの途中で開始されている場合は、その最初のブロックの、消去してはいけないデータを一旦NANDメモリの外に読み出し、そのデータを空きブロックに書き込む。そして元のブロックのデータを消去コマンドで消去して空きブロックとするとともに、新たにデータを書き込んだ物理ブロック番号と元の論理ブロックを関連付けて、ブロック変換テーブルの内容を書き換える。消去対象パーティションの終了セクタが物理ブロックの途中に存在する場合も上記同様の処理を行う。そして、消去対象パーティションの最初のブロックと最終のブロックの中間に存在するブロックに対して消去コマンドを発行してデータを消去する。
【0029】
例えば、パーティション“2”に記録されている全ユーザデータ44を消去するとする。ホスト1は、ユーザからの消去命令を受けると、NAND型フラッシュメモリデバイス2に対して、消去対象のパーティション番号“2”を指定する消去コマンドを発行する。次に、プロセッサ23は、パーティション番号“2”に対応する先頭セクタアドレス7680256(論理アドレス)と終了セクタアドレス10240255(論理アドレス)を認識し、上述した例にならって、指定されたパーティションに記憶されている全データを完全に消去する。
【0030】
(パーティションの消去方法例2)
他の例として、ホスト1は、MBRのパーティションテーブル411の情報に基づいて、該ホスト1が持つインターフェースとデバイスインターフェース21を介して、消去対象のパーティション番号に対応する先頭セクタアドレスとセクタ数を指定した消去コマンドを、NANDフラッシュメモリデバイス2に発行する。
【0031】
NANDフラッシュメモリデバイス2が消去コマンドを受けると、プロセッサ23は、前記消去コマンドで指定されたセクタ数から終了セクタアドレスを求めて、上記消去方法例1同様に、指定された範囲のデータを消去することができる。
【符号の説明】
【0032】
1 ホスト
2 NAND型フラッシュメモリデバイス
4 NAND型フラッシュメモリデバイスのアドレス空間例(基本領域と拡張領域)
20 制御部
21 デバイスインターフェース
22 フラッシュメモリインターフェース
23 プロセッサ
24 バッファ
25 RAM
41 MBR(マスターブートレコード)
42 オペレーティングシステム(OS)
43 アプリケーションプログラム
44 ユーザデータ
45 バックアップデータ
231 ファームアエア
411 パーティションテーブル
412 ブートローダ








































【特許請求の範囲】
【請求項1】
ファイルシステムを使用してデータを管理する情報機器に搭載されるNAND型フラッシュメモリデバイスであって、
前記NAND型フラッシュメモリデバイスは、
前記情報機器のユーザデータを記録するパーティションが設けられたNAND型フラッシュメモリと、該NAND型フラッシュメモリのデータの読み出しや書き込み及び消去を実行するプロセッサを有し、
前記プロセッサは、
ホストから発行された、コマンドコードと、前記パーティションの消去対象領域の先頭セクタアドレスとセクタ数若しくは先頭セクタアドレスと終了アドレスからなる消去コマンドを解釈して、前記パーティションに記憶されている全データを消去することを特徴とするNAND型フラッシュメモリデバイス。
【請求項2】
前記パーティションは、前記NAND型フラッシュメモリの一又は複数の論理ブロックの集合で構成されていることを特徴とする請求項1記載のNAND型フラッシュメモリデバイス。
【請求項3】
ファイルシステムによってデータ管理されるNAND型フラッシュメモリの所定パーティションのデータ消去方法であって、
ホストから発行された、コマンドコードと前記パーティションの消去対象領域の先頭セクタアドレスとセクタ数若しくは先頭セクタアドレスと終了セクタアドレスからなる消去コマンドを解釈して、消去対象パーティションに記憶されている全データの消去を実行することを特徴とするNAND型フラッシュメモリのデータ消去方法。
【請求項4】
ファクシミリ装置、プリンタ、複写機若しくはマルチファンクションプリンタのいずれかの情報機器で実行されることを特徴とする請求項3記載のNAND型フラッシュメモリのデータ消去方法。
















【図1】
image rotate

【図2】
image rotate


【公開番号】特開2010−176399(P2010−176399A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−18432(P2009−18432)
【出願日】平成21年1月29日(2009.1.29)
【出願人】(594096966)株式会社ハギワラシスコム (32)
【Fターム(参考)】