(57)【要約】【課題】情報機器等においてファイルシステムでデータ管理されるＮＡＮＤ型フラッシュメモリのデータを、高速、かつ、完全に消去し、データの漏洩を防止することができるＮＡＮＤ型フラッシュメモリのデータ消去方法及び該方法を使用するＮＡＮＤ型フラッシュメモリデバイスの提供。【解決手段】ホストからＮＡＮＤ型フラッシュメモリデバイスへ、消去対象となるパーティション番号を指定した消去コマンドを発行し、デバイスの制御部は、制御部用のパーティションマップを参照して、該パーティション番号で特定された消去対象領域のアドレスを解釈し、該解釈に基づき消去対象パーティションに記憶されている全データを消去する。【選択図】  図３
2010176398.tif 000002
【特許請求の範囲】
【請求項１】
管理領域と複数のパーティションに分割されてなる記憶領域を有するフラッシュメモリと、該フラッシュメモリを制御するプロセッサとを備えたフラッシュメモリデバイスであって、
前記プロセッサは、
前記ホストから、コマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、前記フラッシュメモリに用意された、前記パーティション番号と該番号で特定されるパーティションの論理セクタアドレスとの対応関係を定義してなるパーティションマップを参照し、前記消去対象パーティションの消去領域を解釈して該消去対象パーティションに記憶されている全データの消去を実行することを特徴とするフラッシュメモリデバイス。
【請求項２】
フラッシュメモリはＮＡＮＤ型フラッシュメモリであって、該ＮＡＮＤ型フラッシュメモリの一又は複数の論理ブロックの集合で構成されたパーティションを少なくとも一つ有することを特徴とする請求項1記載のフラッシュメモリデバイス。
【請求項３】
前記パーティションマップは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスと終了セクタアドレス、若しくは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスとセクタ数のいずれかで構成されていることを特徴とする請求項1又は２記載のフラッシュメモリデバイス。
【請求項４】
パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする請求項３記載のフラッシュメモリデバイス。
【請求項５】
管理領域と複数のパーティションに分割されてなる記憶領域とを有するフラッシュメモリと該フラッシュメモリを制御するプロセッサとを備えたフラッシュメモリデバイスにおける、前記パーティションに記録されているデータの消去方法であって、
ａ）ホストから発行された、コマンドコードと消去対象パーティション番号からなる消去コマンドをフラッシュメモリデバイスが受け取るステップと、
ｂ）前記プロセッサが、前記フラッシュメモリに用意された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して、前記消去対象パーティションの消去領域を解釈するステップと、
ｃ）前記プロセッサが前記解釈に基づいて、前記消去対象パーティションに記憶されているデータの消去を実行するステップ、
を順に踏んでなることを特徴とするフラッシュメモリのデータ消去方法。
【請求項６】
前記パーティションマップは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスと終了セクタアドレス、若しくは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスとセクタ数のいずれかで構成されていることを特徴とする請求項５記載のフラッシュメモリのデータ消去方法。
【請求項７】
前記パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする請求項６記載のフラッシュメモリのデータ消去方法。
【請求項８】
請求項１のフラッシュメモリデバイスと、該フラッシュメモリデバイスに対してコマンドコードと消去対象パーティション番号からなる消去コマンドを発行するホストとから構成されるフラッシュメモリシステム。
【請求項９】
請求項８のフラッシュメモリシステムを搭載してなる情報機器。
【請求項１０】
情報機器は、ファクシミリ装置、プリンタ、複写機若しくはマルチファンクションプリンタのいずれかであることを特徴とする請求項９記載の情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリデバイス、フラッシュメモリのデータ消去方法、フラッシュメモリシステム並びに該システムを搭載した情報機器に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータや複写機などの情報機器の記憶装置として、従来から使用されているハードディスクドライブ（ＨＤＤ）の代わりに、フラッシュメモリ、取り分け、ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブ（ＳＳＤ）が注目されている。
【０００３】
ハードディスクドライブをパーソナルコンピュータなどに接続してファイルを管理する際にはファイルシステムが使われる。ハードディスクドライブに記録される情報は、記録したデータを管理するためのメタデータと、ユーザデータ本体の２つの領域に分けて記録されている。ユーザデータの有効／無効はこのメタデータの情報によって判断される。ハードディスクドライブを取り扱うオペレーティングシステム（ＯＳ）には、ユーザデータ本体を消去するためのコマンドが用意されていないため、ユーザデータの消去は、このメタデータの情報のデータ有効／無効の部分のみを、有効から無効に書き換えることにより行われる。この状態では、見かけ上はユーザデータが消去されたとしても、ユーザデータ本体はそのまま残っており、ユーザデータ本体は、新しい情報が上書きされた時に初めて消去される。それ故に、ハードディスクドライブを使用している情報機器は、譲渡や破棄の際に、情報機器内に残留しているデータが流出して悪用されトラブルに発展するという問題がある。斯かる事態を防止するために、情報機器を破壊したり、特殊な消去方法を用いてデータを解読不能にするなどの対策を行っている。
【０００４】
特に、プリンタ、スキャナ、ファクシミリ、複写機、及びこれらを統合したマルチファンクションプリンタ（ＭＦＰ）などの情報機器では、印刷後にデータを完全に消去するための特殊な処理を行って情報漏洩を防止している。例えば、ハードディスクドライブ消去用ソフトウェアを用いて、無意味なデータの書き込みを行う方法である。ところが、ハードディスクドライブはデータを記録する際に、ドライブの回転等による振動によって、磁気ヘッドと磁性体面とにずれが生じ、残留磁気が発生することがある。
【０００５】
この場合、特殊な読み取り装置を使えば、この残留磁気を読み取って解読ができてしまう。このため、ＮＡＳ規格の特殊なデータパターン（ランダムデータ２回、“００”パターン１回）の書き込み方法を採用し、判読できないようにしている事例もある。しかし、このような無意味なデータを書き込む方式は、記憶容量が大きければそれだけ多くの時間を要する。特にマルチファンクションプリンタのように、一度に多くのタスクを連続処理しなければならない場合は問題である。そのため、本出願人は、情報漏洩防止の必要がある情報機器に搭載されているハードディスクドライブを、ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブ（ＳＳＤ）に代替して使用することを提案している。
【０００６】
（従来技術の問題点）
ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブでは、残留磁気という問題がないため、特殊なデータパターンを書き込む必要がない。しかしながら、上記のように、ハードディスクドライブを取り扱うオペレーティングシステムには、ＮＡＮＤ型フラッシュメモリのようなブロック単位でデータを消去するための消去コマンド（ｅｒａｓｅコマンド）が標準では用意されていない（消去”とは、セルに蓄積している電荷を除去することをいう）。したがって、ハードディスクをソリッドステイトドライブに置き換えた場合、実際にデータを判読できないようにするために、ｗｒｉｔｅコマンドによってブロックデータを書き換えることはできるものの（上記の通り無意味なデータとかＡＬＬ“０”の書き込み）、データの消去を実行することはできない。ＮＡＮＤ型フラッシュメモリにおけるｗｒｉｔｅコマンドによるブロックデータの書き換えは、消去コマンドによるブロックデータの消去に比して膨大な時間がかかる。
【０００７】
仮にホストから消去コマンドを発行できるようにしても、ファイルシステムの問題がある。すなわち、上記情報機器では、ハードディスクのデータをＦＡＴ（ファイルアロケーションテーブル）ファイルシステムやＮＴＦＳで管理している。このためハードディスクをソリッドステイトドライブに置き換えた場合でも、ＮＡＮＤ型フラッシュメモリにおけるデータの記憶は、パーティションで管理される特定領域においてファイル単位で行われることになる。マルチファンクションプリンタなどの情報機器におけるユーザデータ、例えば、イメージリーダで撮像したプリントデータのように機密性の高いデータも同様である。斯かるファイルデータに対しては、ブロック単位でデータを消去する消去コマンドは発行できず、仮に判読不能にしようとする場合は、上記の通り、多くのブロックに対してデータの書き換えが必要になる。またその度にフラグメンテーションが発生し、デフラグメンテーションの必要が生じる。これはＮＡＮＤ型フラッシュメモリの寿命を短縮することになる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１７６６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の問題を鑑み、本発明が解決すべき課題は、情報機器等においてファイルシステムでデータ管理されるＮＡＮＤ型フラッシュメモリのデータを、多くの時間を要するデータの書き換えに依るのではなく、高速にかつ完全に消去することにより漏洩防止する、新規なＮＡＮＤ型フラッシュメモリデバイス、ＮＡＮＤ型フラッシュメモリのデータ消去方法、ＮＡＮＤ型フラッシュメモリシステム並びに該システムを搭載した情報機器の提供にある。
【課題を解決するための手段】
【００１０】
上記課題解決のため、本発明は、請求項記載の新規な特徴的構成を採用する。
【発明の効果】
【００１１】
本発明によれば、ホスト１からＮＡＮＤ型フラッシュメモリデバイス２へ消去対象パーティション番号を指定するコマンドを発行し、デバイスのプロセッサ２３は、該プロセッサ２３専用に用意されたパーティションマップを参照して、該パーティション番号で特定される領域のアドレスを解釈し、該解釈に基づき消去対象パーティションに記憶されている全データを消去するので、ファイルシステムを採用するマルチファンクションプリンタなどの情報機器における機密性の高い大量のデータを、高速かつ完全に消去し、その漏洩防止することができる。また、ユーザが必要に応じて消去コマンドを発行できるので、ＮＡＮＤ型フラッシュメモリの寿命を短縮させることがなく、本システムを搭載した情報機器を譲渡、廃棄する際に、残留データの漏洩を有効に防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。
【図２】本発明の実施形態に係るＮＡＮＤ型フラッシュメモリの論理領域構成例である。
【図３】（ａ）パーティションマップの構成例である。（ｂ）パーティションマップの他の構成例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
【実施例】
【００１４】
（システム基本構成）
図１は、本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。図１に示すように、本発明のシステム（請求項のフラッシュメモリデバイスシステムに相当）は、ホスト１と、該ホスト１のメディアアクセス対象であるＮＡＮＤ型フラッシュメモリデバイス２とからなる。ＮＡＮＤ型フラッシュメモリデバイス２は、データを格納するＮＡＮＤ型フラッシュメモリ３０と、ホスト１からの命令に基づき、ＮＡＮＤ型フラッシュメモリ３０にデータの書き込みや読み出しを実行する制御部２０を有する。
【００１５】
制御部２０は、ホスト１からコマンドを受け取るデバイスインターフェース２１と、ＮＡＮＤ型フラッシュメモリ３０に対して所定のコマンドプロトコルに従ってコマンドを発行するフラッシュメモリインターフェース２２と、プロセッサ２３と、デバイスインターフェース２１とフラッシュメモリインターフェース２２とプロセッサ２３とに接続されるバッファ２４と、プロセッサ２３がアクセス可能なＲＡＭ２５とを有する。プロセッサ２３は、その制御プログラムであるファームウエア２３１を有する。プロセッサ２３は、ホスト１から消去コマンドが発行されると、ファームウエア２３１によって本発明のデータ消去を実行する。
【００１６】
本発明のＮＡＮＤ型フラッシュメモリデバイス２は、例えば、パーソナルコンピュータ、又は、プリンタやスキャナ、複写機などを統合したマルチファンクションプリンタに搭載されているハードディスクドライブ（ＨＤＤ）の代替として使用され得る。この場合、ホスト１との間のデバイスインターフェース２１は、ＩＤＥインターフェースやシリアルＡＴＡインターフェースで構成される。またＮＡＮＤ型フラッシュメモリデバイス２は、ホスト１に装着して使用されるUSBメモリで構成してもよい。尚、ＮＡＮＤ型フラッシュメモリ３０は、後述するパーティションマップ３１０を記憶している。
【００１７】
（NAND型フラッシュメモリ３０の論理領域）
図２は、本発明の実施形態に係るNAND型フラッシュメモリ３０の領域例である。この領域は、ホスト１からアクセスすることのできるＮＡＮＤ型フラッシュメモリデバイス２の領域である。これはアドレス空間であり、ＮＡＮＤ型フラッシュメモリ３０が複数で構成されていても、ホスト１からは１つのアドレス空間として見ることができる。図示するように、NAND型フラッシュメモリ３０には、システムに電源が投入されたとき、ホスト１から最初に読み出されるＭＢＲ（マスターブートレコード）が、論理ブロック番号“０”に記憶されている。その他、パーティションが、パーティション番号“０”から“３”まで設定されている。この領域は基本領域である。
【００１８】
ＭＢＲには、ホスト１がＮＡＮＤ型フラッシュメモリデバイス２にアクセスするために必要なデータが記録されているパーティションテーブル４１１と、ブートローダ４１２が記録されている。ＭＢＲは、Ｗｉｎｄｏｗｓ（登録商標）のオペレーティングシステムなどで一般的に使用されているものである。パーティションテーブル４１１には、設定されているパーティションの数や、各パーティションの開始位置・終了位置（セクタアドレス）、パーティションのＩＤ、アクティブパーティションか否かを示す“ブート識別子”、ファイルシステムの種類を示す“システムＩＤ”、ディスク先頭からのパーティションまでの距離を表す“オフセット”、パーティション容量を表す″総セクタ数”の情報などが記録される。なおパーティションとは、ホスト１側から見えるＮＡＮＤ型フラッシュメモリデバイス２のアドレス空間を分割したものであり、ハードディスクドライブで用いられるパーティションの概念と同じで、ホスト１から論理ドライブとして認識され得るものである。
【００１９】
システムに電源が投入されると、ホスト１側に用意されている不図示のブートストラップが、ホスト1側にＭＢＲ（パーティションテーブル４１１の情報及びブートローダ４１２）を読み込み、これによりブートローダ４１２はパーティションテーブル４１１に書き込まれている情報に基づき、パーティション“１”に格納されているオペレーティングシステム４２を、不図示のシステムメモリにロードし、システムを起動する。システムメモリは、ホスト１がアクセス可能なＤＲＡＭで構成することができる。
【００２０】
ところで、周知の通り、ＮＡＮＤ型フラッシュメモリでは、各論理ブロックは物理ブロックと対応付けされており、その関係は、論理ブロック−物理ブロック変換テーブル（本願では「ブロック変換テーブル」という）で管理される。本実施形態例では、１論理ブロックに対し、一つの物理ブロックが対応つけされており、１物理ブロックは６４ページで構成され、１ページが４セクタで構成されている。
【００２１】
また、パーティション“０”は、論理ブロック番号“１”から“９９”で構成されている。図示しないが、パーティション“０”と同様に、パーティション“１”乃至パーティション“３”（拡張領域）もその必要な容量に応じて、複数の論理ブロックで構成される。各パーティションの境界は、必ずしも各ブロック境界に一致する必要はなく、ブロックの途中のページ、あるいはページの途中のセクタで区切ってもよい。最小、セクタ単位で区切ることができる。
【００２２】
尚、ＮＡＮＤ型フラッシュメモリ３０には、管理領域を構成する物理ブロック、予備ブロックを構成する物理ブロックがあるが、これら物理ブロックは論理ブロックと対応付けされないため、ホスト１からは不可視である。したがって、ホスト１から見たアドレス空間には存在しない。またＭＢＲ記憶領域４１には、上記説明した内容の他、システムを起動するときに必要となる他のデータを記憶することができるが、本発明の説明上、特に必要がないので図２では便宜上割愛している。
【００２３】
（パーティションマップ）
次に、本発明が採用する特徴的構成の一つであるパーティションマップ３１０について説明する。上記分割されたパーティションはそれぞれ使用目的が割り当てられており、使用目的に応じたデータが格納されている。パーティション“０”は、オペレーティングシステム（ＯＳ）４２０を格納するための領域である。パーティション“１”は、本システムを搭載している情報機器が各種制御を実行するためのアプリケーションプログラム４３０を格納している。例えば、マルチファンクションプリンタを例に挙げると、この領域にはマルチファンクションプリンタが使用するアプリケーションプログラムが格納される。パーティション“２”は、データ漏洩防止のために消去が必要なユーザデータ４４０を格納するための領域であり、例えば、マルチファンクションプリンタにおいて、プリントする際に撮像されたイメージデータ（ファイルデータ）はこの領域に格納される。パーティション“３”は、オペレーティングシステム４２０のバックアップデータ４５０などを格納するための領域である。各パーティションの容量は使用目的に応じて割り当てることができ、パーティションの数も情報機器の使用目的に応じて決めることができる。また、オペレーティングシステム４２０やアプリケーションプログラム４３０、秘匿性のあるユーザデータ４４０をどのパーティションに格納するかは、ユーザやシステム提供者が自由に決めることができる。
【００２４】
このように、各パーティションはその使用目的により、ユーザにとって書き込みされたくないパーティションや消去されたくないパーティションなどがある。例えば、オペレーティングシステム４２０が格納されたパーティション“０”は、格納されているデータが消去されたくないパーティションであり、ユーザデータ４４０を格納するためのパーティション“２”は、データの書き込みと消去が必要なパーティションである。しかし、通常、パーティションテーブル４１１の情報のみでは、どのパーティションが消去されたくなく、どのパーティションが消去されていいのか、ホスト1は認識することはできない。
【００２５】
そこで本発明では、ホスト１が使用するＭＢＲのパーティションテーブル４１１とは別に、ＮＡＮＤ型フラッシュメモリデバイス２のプロセッサ２３が使用するパーティションマップ３１０をＮＡＮＤ型フラッシュメモリ３０の管理領域若しくは記憶領域に不揮発的に用意する。
【００２６】
パーティションマップ３１は、パーティションテーブル４１１と関連付けられたものであり、ＮＡＮＤ型フラッシュメモリデバイス２のプロセッサ２３が、ＮＡＮＤ型フラッシュメモリ３０のパーティション“０”乃至パーティション“３”を把握するために必要な情報が記録されており、本発明では、ユーザが各パーティションに書き込み禁止や消去禁止などの属性を設定できるようにしている。例えば、オペレーティングシステム４２０が格納されているパーティション“０”は消去禁止であり、ユーザデータ４４０を格納するためのパーティション“２”は書き込みと消去が許されるべきものである。
【００２７】
図３は、パーティションマップ３１０を模式的に表したものである。パーティションマップ３１０は、パーティション番号と、該パーティション番号で特定されるパーティションの先頭セクタアドレスと終了セクタアドレス、又はパーティションを構成するセクタ数とで構成されている。
【００２８】
また上述のように、各パーティションは書き込み禁止や消去禁止など属性が設定されており、例えば、消去したくないデータを格納しているパーティションに対して、消去禁止の属性情報を、そのパーティションを構成するセクタ情報とともにパーティションマップ３１０に記録しておく。これにより、何らかの理由により、ホスト１から、データの消去を許容できないパーティションに対して消去コマンドが発行されても、プロセッサ２３のファームウエア２３１が消去実行の前に、消去命令を受けたパーティション番号に関する属性情報をパーティションマップ３１０で確認することにより、誤った消去命令があった場合はエラーを返し、パーティションデータを有効にプロテクトすることができる。
【００２９】
また、パーティションマップ３１０を、ＮＡＮＤ型フラッシュメモリ３０とは別の、不揮発に記憶ができるＥＥＰＲＯＭに格納する構成としてもよい。以上のように本発明では、プロセッサ２３が使用するパーティションマップ３１０を、ホスト１が使用するパーティションテーブル４１１とは別個に設けることを特徴の一つとしている。
【００３０】
パーティションマップ３１０の第１の例について、図３（ａ）を用いて説明する。パーティションマップ３１０には、前述したように、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと終了セクタアドレスとが記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“０”，“１”，“３”は消去禁止に設定され、パーティション“２”は消去可に設定される。
【００３１】
図３（ｂ）は、パーティションマップの第２の例である。パーティションマップ３１０には、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと、該パーティションを構成するセクタ数が記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“０”，“１”，“３”は消去禁止に設定され、パーティション“２”は消去可に設定される。
【００３２】
プロセッサ２３はＮＡＮＤ型フラッシュメモリ３０に対して、消去対象ブロックを指定する消去コマンドを発行し、ＮＡＮＤ型フラッシュメモリ３０内部では、指定されたブロックのセルに蓄積されていた電荷を除去し、データを消去する。
【００３３】
（パーティションの消去方法例１）
本発明の実施形態に係るパーティションの消去方法例１について説明する。プロセッサ２３は、システムに電源が投入された際、予めＮＡＮＤ型フラッシュメモリ３０の管理領域に格納されている図３（ａ）に示す構成のパーティションマップ３１をＲＡＭ２５に読み出してプロセッサ２３の管理下におく。図示されているように、パーティションマップ３１０は、パーティションごとの先頭セクタアドレス（論理アドレス）と終了セクタアドレス（論理アドレス）が記載されている。ユーザがユーザデータの消去を指定すると、ホスト１は、該ホスト１が持つデバイスインターフェース（図示せず）とＮＡＮＤ型フラッシュメモリデバイス２のデバイスインターフェース２１を介して、ＮＡＮＤ型フラッシュメモリデバイス２に対し、消去対象のパーティション番号を指定した消去コマンドを発行する。この消去コマンドはベンダーコマンドであり、したがって、ホスト１とプロセッサ２３が了解し合うことのできるユニークなコマンドコードを有する。
【００３４】
ホスト１から消去コマンドを受けると、プロセッサ２３は、ＲＡＭ２５に展開されているパーティションマップ３１０の内容を参照し、消去対象のパーティション番号の属性が“消去可”であるかをまず確認し、“消去不可”であれば、ホスト１にエラーを返す。“消去可”であれば、パーティションマップ３１０に記載されている消去対象のパーティションの先頭セクタアドレスが、その先頭セクタアドレス（論理ブロック）に対応する物理ブロックの先頭セクタであるか判断する。ｙｅｓであれば、次に、記載されている終了セクタアドレスが、その終了セクタアドレス（論理ブロック番号）に対応する物理ブロックの最終セクタであるか判断する。ｙｅｓであれば,当該パーティションは、複数の物理ブロックの集合で構成されていることが分かる。この場合プロセッサ２３は、段落００２９で述べた消去コマンドを、ＮＡＮＤメモリインターフェース２２を介してＮＡＮＤ型フラッシュメモリ３０に、消去対象となる全物理ブロック分発行することにより，ＮＡＮＤ型フラッシュメモリ３０内部で、指定された物理ブロックのセルに蓄積されていた電荷の除去が実行され、書き込まれていたデータが完全に消去される。消去対象となる物理ブロック番号が連続している場合は、一の消去コマンドで纏めて消去指定することができる。
【００３５】
前述したように、ＮＡＮＤ型フラッシュメモリ３０の消去はブロック単位で行われる。そのため、パーティションの最初/及び又は最後の境界がブロックの途中に存在する場合は、そのパーティションの境界となっているブロックには消去コマンドを発行することはできない。消去対象となっていないパーティションのデータを消去してしまうからである。この点、パーティションはブロックのセクタ単位で区切ることができるため、当該ブロックのどの範囲が消去範囲でどの範囲が消去範囲でないかは、指定されたセクタアドレスにより判断することができる。このような場合は、消去対象となるブロック内の消去対象でないデータ（別のパーテションのデータ）を空きブロック（データが何も書き込まれていない更のブロック）に書き換えて、元のブロックを消去するといった２段階の動作を行うことで、ブロック内の指定されたパーティションデータのみを有効に消去することができる。
【００３６】
具体的に説明すると、消去対象パーティションが物理ブロックの途中で開始されている場合は、その最初のブロックの、消去してはいけないデータを一旦ＮＡＮＤメモリの外に読み出し、そのデータを空きブロックに書き込む。そして元のブロックのデータを消去コマンドで消去して空きブロックとするとともに、新たにデータを書き込んだ物理ブロック番号と元の論理ブロックを関連付けて、ブロック変換テーブルの内容を書き換える。消去対象パーティションの終了セクタが物理ブロックの途中に存在する場合も上記同様の処理を行う。そして、消去対象パーティションの最初のブロックと最終のブロックの中間に存在するブロックに対して消去コマンドを発行してデータを消去する。
【００３７】
例えば、パーティション“２”に記録されている全ユーザデータ４４を消去するとする。ホスト１は、ユーザからの消去命令を受けると、ＮＡＮＤ型フラッシュメモリデバイス２に対して、消去対象のパーティション番号“２”を指定する消去コマンドを発行する。次に、プロセッサ２３は、ＲＡＭ２５に展開されているパーティションマップ３１０に基づいて、消去対象のパーティションの属性が“消去可”であることを確認後、パーティション番号“２”に対応する先頭セクタアドレス７６８０２５６（論理アドレス）と終了セクタアドレス１０２４０２５５（論理アドレス）を認識し、上述した例にならって、指定されたパーティションに記憶されている全データを完全に消去する。
【００３８】
（パーティションの消去方法例２）  
パーティションマップ３１０は、上述した例のほか、パーティションの先頭セクタアドレスとセクタ数で定義してもよい（図３（ｂ）参照)。即ち、最終セクタアドレス（論理アドレス）を、セクタ数から求めることができ、これにより、上記消去方法例１と同様に、ホスト１から指定されたパーティションの全ユーザデータを完全に消去することができる。
【００３９】
上記のとおり、本発明の消去方法は、ホスト１が消去対象パーティションの先頭セクタアドレスと終了アドレス、若しくは先頭セクタアドレスとセクタ数をデバイスに送出することなく、単に消去対象パーティション番号を指定しさえすればよく、したがってパーティション消去コマンドを発行するホスト１側のアプリケーションソフトを簡易に構成できる利点がある。
【符号の説明】
【００４０】
１  ホスト
２  ＮＡＮＤ型フラッシュメモリデバイス
４  ＮＡＮＤ型フラッシュメモリデバイスのアドレス空間例（基本領域と拡張領域）
２０  制御部
２１  デバイスインターフェース
２２  フラッシュメモリインターフェース
２３  プロセッサ
２４  バッファ
２５  ＲＡＭ
４１  ＭＢＲ（マスターブートレコード）
４２  オペレーティングシステム（ＯＳ）
４３  アプリケーションプログラム
４４  ユーザデータ
４５  バックアップデータ
２３１  ファームアエア
３１０  パーティションマップ
４１１  パーティションテーブル
４１２  ブートローダ
【図１】
2010176398.tif 000003
【図２】
2010176398.tif 000004
【図３】
2010176398.tif 000005
【手続補正書】
【提出日】平成21年3月2日(2009.3.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のファイルシステムで管理される複数のパーティションを有するフラッシュメモリと該フラッシュメモリを制御するプロセッサとを備えたフラッシュメモリデバイスにおける、前記パーティションに記録されているデータの消去方法であって、
ａ）ホストから発行された、コマンドコードと消去対象パーティション番号からなる消去コマンドをフラッシュメモリデバイスが受け取るステップと、
ｂ）前記プロセッサが、前記フラッシュメモリに用意された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して、前記消去対象パーティションの消去領域を解釈するステップと、
ｃ）前記プロセッサが前記解釈に基づいて、前記消去対象パーティションに記憶されているデータの消去を実行するステップ、
を順に踏んでなることを特徴とするフラッシュメモリのデータ消去方法。
【請求項２】
前記パーティションマップは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスと終了セクタアドレス、若しくは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスとセクタ数のいずれかで構成されていることを特徴とする請求項１記載のフラッシュメモリのデータ消去方法。
【請求項３】
消去コマンドで指定されたパーティションの最初/及び又は最後の境界がブロックの途中に存在する場合、当該ブロックの消去対象でないデータを空きブロックに書き換えてから当該ブロックのデータを消去することにより指定されたパーティションのデータの消去を実行することを特徴とする請求項１又は２記載のフラッシュメモリのデータ消去方法。
【請求項４】
前記パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする請求項１乃至３いずれか１項記載のフラッシュメモリのデータ消去方法。
【請求項５】
所定のファイルシステムで管理される複数のパーティションを有するフラッシュメモリと該フラッシュメモリを制御するプロセッサとを備えたフラッシュメモリデバイスであって、
前記プロセッサは、
前記ホストから、コマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、前記フラッシュメモリに用意された、前記パーティション番号と該番号で特定されるパーティションの論理セクタアドレスとの対応関係を定義してなるパーティションマップを参照し、前記消去対象パーティションの消去領域を解釈して該消去対象パーティションに記憶されている全データの消去を実行することを特徴とするフラッシュメモリデバイス。
【請求項６】
前記パーティションマップは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスと終了セクタアドレス、若しくは、パーティション番号と該番号で定義されるパーティションの先頭セクタアドレスとセクタ数のいずれかで構成されていることを特徴とする請求項５記載のフラッシュメモリデバイス。
【請求項７】
消去コマンドで指定されたパーティションの最初/及び又は最後の境界がブロックの途中に存在する場合、当該ブロックの消去対象でないデータを空きブロックに書き換えてから当該ブロックのデータを消去することにより指定されたパーティションのデータの消去を実行することを特徴とする請求項５又は６記載のフラッシュメモリデバイス。
【請求項８】
パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする請求項６記載のフラッシュメモリデバイス。
【請求項９】
請求項５のフラッシュメモリデバイスと、該フラッシュメモリデバイスに対してコマンドコードと消去対象パーティション番号からなる消去コマンドを発行するホストとから構成されるフラッシュメモリシステム。
【請求項１０】
請求項９のフラッシュメモリシステムを搭載してなる情報機器。
【請求項１１】
情報機器は、ファクシミリ装置、プリンタ、複写機若しくはマルチファンクションプリンタのいずれかであることを特徴とする請求項１０記載の情報機器。
【手続補正書】
【提出日】平成21年6月19日(2009.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オペレーティングシステムを記録したパーティションとアプリケーションプログラムを記憶したパーティションと印刷用データを記憶するパーティションを備えたＮＡＮＤ型フラッシュメモリと該ＮＡＮＤ型フラッシュメモリを制御する制御部からなるソリッドステートドライブを主記憶装置として備えるマルチファンクションプリンタであって、
前記制御部のプロセッサは、
当該ソリッドステートドライブにメディアアクセスするホストからコマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、
マスターブートレコードのパーティションテーブルに関連付けて作成された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して前記消去対象パーティションの消去領域を解釈し、ＮＡＮＤ型フラッシュメモリに対して前記消去対象領域を構成している物理ブロックに記憶されているデータを消去するコマンドを発行して当該物理ブロックのセルに蓄積されている電荷を除去することにより当該物理ブロックに記憶されているデータの完全消去を実行することを特徴とするマルチファンクションプリンタ。
【請求項２】
消去コマンドで指定されたパーティションの最初/及び又は最後の境界がブロックの途中に存在する場合、当該ブロックの消去対象でないデータを空きブロックに書き換えてから当該ブロックのデータを消去することにより指定されたパーティションのデータの消去を実行することを特徴とする請求項１記載のマルチファンクションプリンタ。
【請求項３】
消去対象パーティションは、印刷用データを記憶するパーティションであることを特徴とする請求項１又は請求項２記載のマルチファンクションプリンタ。
【請求項４】
パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする請求項１又は請求項２記載のマルチファンクションプリンタ。

【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチファンクションプリンタに関し、特に印刷用のデータなどユーザの機密情報を高速に消去するマルチファンクションプリンタに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータや複写機などの情報機器の記憶装置として、従来から使用されているハードディスクドライブ（ＨＤＤ）の代わりに、フラッシュメモリ、取り分け、ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブ（ＳＳＤ）が注目されている。
【０００３】
ハードディスクドライブをパーソナルコンピュータなどに接続してファイルを管理する際にはファイルシステムが使われる。ハードディスクドライブに記録される情報は、記録したデータを管理するためのメタデータと、ユーザデータ本体の２つの領域に分けて記録されている。ユーザデータの有効／無効はこのメタデータの情報によって判断される。ハードディスクドライブを取り扱うオペレーティングシステム（ＯＳ）には、ユーザデータ本体を消去するためのコマンドが用意されていないため、ユーザデータの消去は、このメタデータの情報のデータ有効／無効の部分のみを、有効から無効に書き換えることにより行われる。この状態では、見かけ上はユーザデータが消去されたとしても、ユーザデータ本体はそのまま残っており、ユーザデータ本体は、新しい情報が上書きされた時に初めて消去される。それ故に、ハードディスクドライブを使用している情報機器は、譲渡や破棄の際に、情報機器内に残留しているデータが流出して悪用されトラブルに発展するという問題がある。斯かる事態を防止するために、情報機器を破壊したり、特殊な消去方法を用いてデータを解読不能にするなどの対策を行っている。
【０００４】
特に、プリンタ、スキャナ、ファクシミリ、複写機、及びこれらを統合したマルチファンクションプリンタ（ＭＦＰ）などの情報機器では、印刷後にデータを完全に消去するための特殊な処理を行って情報漏洩を防止している。例えば、ハードディスクドライブ消去用ソフトウェアを用いて、無意味なデータの書き込みを行う方法である。ところが、ハードディスクドライブはデータを記録する際に、ドライブの回転等による振動によって、磁気ヘッドと磁性体面とにずれが生じ、残留磁気が発生することがある。
【０００５】
この場合、特殊な読み取り装置を使えば、この残留磁気を読み取って解読ができてしまう。このため、ＮＡＳ規格の特殊なデータパターン（ランダムデータ２回、“００”パターン１回）の書き込み方法を採用し、判読できないようにしている事例もある。しかし、このような無意味なデータを書き込む方式は、記憶容量が大きければそれだけ多くの時間を要する。特にマルチファンクションプリンタのように、一度に多くのタスクを連続処理しなければならない場合は問題である。そのため、本出願人は、情報漏洩防止の必要がある情報機器に搭載されているハードディスクドライブを、ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブ（ＳＳＤ）に代替して使用することを提案している。
【０００６】
（従来技術の問題点）
ＮＡＮＤ型フラッシュメモリを用いたソリッドステイトドライブでは、残留磁気という問題がないため、特殊なデータパターンを書き込む必要がない。しかしながら、上記のように、ハードディスクドライブを取り扱うオペレーティングシステムには、ＮＡＮＤ型フラッシュメモリのようなブロック単位でデータを消去するための消去コマンド（ｅｒａｓｅコマンド）が標準では用意されていない（消去”とは、セルに蓄積している電荷を除去することをいう）。したがって、ハードディスクをソリッドステイトドライブに置き換えた場合、実際にデータを判読できないようにするために、ｗｒｉｔｅコマンドによってブロックデータを書き換えることはできるものの（上記の通り無意味なデータとかＡＬＬ“０”の書き込み）、データの消去を実行することはできない。ＮＡＮＤ型フラッシュメモリにおけるｗｒｉｔｅコマンドによるブロックデータの書き換えは、消去コマンドによるブロックデータの消去に比して膨大な時間がかかる。
【０００７】
仮にホストから消去コマンドを発行できるようにしても、ファイルシステムの問題がある。すなわち、上記情報機器では、ハードディスクのデータをＦＡＴ（ファイルアロケーションテーブル）ファイルシステムやＮＴＦＳで管理している。このためハードディスクをソリッドステイトドライブに置き換えた場合でも、ＮＡＮＤ型フラッシュメモリにおけるデータの記憶は、パーティションで管理される特定領域においてファイル単位で行われることになる。マルチファンクションプリンタなどの情報機器におけるユーザデータ、例えば、イメージリーダで撮像したプリントデータのように機密性の高いデータも同様である。斯かるファイルデータに対しては、ブロック単位でデータを消去する消去コマンドは発行できず、仮に判読不能にしようとする場合は、上記の通り、多くのブロックに対してデータの書き換えが必要になる。またその度にフラグメンテーションが発生し、デフラグメンテーションの必要が生じる。これはＮＡＮＤ型フラッシュメモリの寿命を短縮することになる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１７６６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の問題に鑑み、本願発明が解決すべき課題は、ユーザの機密データを高速かつ完全に消去することにより漏洩を防止することのできる、新規なマルチファンクションプリンタを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題解決のため、本発明は、請求項記載の新規な特徴的構成を採用する。
【発明の効果】
【００１１】
本発明によれば、ホスト１からＮＡＮＤ型フラッシュメモリデバイス２へ消去対象パーティション番号を指定するコマンドを発行し、デバイスのプロセッサ２３は、該プロセッサ２３専用に用意されたパーティションマップを参照して、該パーティション番号で特定される領域のアドレスを解釈し、該解釈に基づき消去対象パーティションに記憶されている全データを消去するので、ファイルシステムを採用するマルチファンクションプリンタにおける機密性の高い大量のデータを、高速かつ完全に消去し、その漏洩防止することができる。また、ユーザが必要に応じて消去コマンドを発行できるので、ＮＡＮＤ型フラッシュメモリの寿命を短縮させることがなく、マルチファンクションプリンタを譲渡、廃棄する際に、残留データの漏洩を有効に防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。
【図２】本発明の実施形態に係るＮＡＮＤ型フラッシュメモリの論理領域構成例である。
【図３】（ａ）パーティションマップの構成例である。（ｂ）パーティションマップの他の構成例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
【実施例】
【００１４】
（システム基本構成）
図１は、本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。図１に示すように、本発明のシステム（請求項のフラッシュメモリデバイスシステムに相当）は、ホスト１と、該ホスト１のメディアアクセス対象であるＮＡＮＤ型フラッシュメモリデバイス２とからなる。ＮＡＮＤ型フラッシュメモリデバイス２は、データを格納するＮＡＮＤ型フラッシュメモリ３０と、ホスト１からの命令に基づき、ＮＡＮＤ型フラッシュメモリ３０にデータの書き込みや読み出しを実行する制御部２０を有する。
【００１５】
制御部２０は、ホスト１からコマンドを受け取るデバイスインターフェース２１と、ＮＡＮＤ型フラッシュメモリ３０に対して所定のコマンドプロトコルに従ってコマンドを発行するフラッシュメモリインターフェース２２と、プロセッサ２３と、デバイスインターフェース２１とフラッシュメモリインターフェース２２とプロセッサ２３とに接続されるバッファ２４と、プロセッサ２３がアクセス可能なＲＡＭ２５とを有する。プロセッサ２３は、その制御プログラムであるファームウエア２３１を有する。プロセッサ２３は、ホスト１から消去コマンドが発行されると、ファームウエア２３１によって本発明のデータ消去を実行する。
【００１６】
本発明のＮＡＮＤ型フラッシュメモリデバイス２は、例えば、パーソナルコンピュータ、又は、プリンタやスキャナ、複写機などを統合したマルチファンクションプリンタに搭載されているハードディスクドライブ（ＨＤＤ）の代替として使用され得る。この場合、ホスト１との間のデバイスインターフェース２１は、ＩＤＥインターフェースやシリアルＡＴＡインターフェースで構成される。またＮＡＮＤ型フラッシュメモリデバイス２は、ホスト１に装着して使用されるUSBメモリで構成してもよい。尚、ＮＡＮＤ型フラッシュメモリ３０は、後述するパーティションマップ３１０を記憶している。
【００１７】
（NAND型フラッシュメモリ３０の論理領域）
図２は、本発明の実施形態に係るNAND型フラッシュメモリ３０の領域例である。この領域は、ホスト１からアクセスすることのできるＮＡＮＤ型フラッシュメモリデバイス２の領域である。これはアドレス空間であり、ＮＡＮＤ型フラッシュメモリ３０が複数で構成されていても、ホスト１からは１つのアドレス空間として見ることができる。図示するように、NAND型フラッシュメモリ３０には、システムに電源が投入されたとき、ホスト１から最初に読み出されるＭＢＲ（マスターブートレコード）が、論理ブロック番号“０”に記憶されている。その他、パーティションが、パーティション番号“０”から“３”まで設定されている。この領域は基本領域である。
【００１８】
ＭＢＲには、ホスト１がＮＡＮＤ型フラッシュメモリデバイス２にアクセスするために必要なデータが記録されているパーティションテーブル４１１と、ブートローダ４１２が記録されている。ＭＢＲは、Ｗｉｎｄｏｗｓ（登録商標）のオペレーティングシステムなどで一般的に使用されているものである。パーティションテーブル４１１には、設定されているパーティションの数や、各パーティションの開始位置・終了位置（セクタアドレス）、パーティションのＩＤ、アクティブパーティションか否かを示す“ブート識別子”、ファイルシステムの種類を示す“システムＩＤ”、ディスク先頭からのパーティションまでの距離を表す“オフセット”、パーティション容量を表す″総セクタ数”の情報などが記録される。なおパーティションとは、ホスト１側から見えるＮＡＮＤ型フラッシュメモリデバイス２のアドレス空間を分割したものであり、ハードディスクドライブで用いられるパーティションの概念と同じで、ホスト１から論理ドライブとして認識され得るものである。
【００１９】
システムに電源が投入されると、ホスト１側に用意されている不図示のブートストラップが、ホスト1側にＭＢＲ（パーティションテーブル４１１の情報及びブートローダ４１２）を読み込み、これによりブートローダ４１２はパーティションテーブル４１１に書き込まれている情報に基づき、パーティション“１”に格納されているオペレーティングシステム４２を、不図示のシステムメモリにロードし、システムを起動する。システムメモリは、ホスト１がアクセス可能なＤＲＡＭで構成することができる。
【００２０】
ところで、周知の通り、ＮＡＮＤ型フラッシュメモリでは、各論理ブロックは物理ブロックと対応付けされており、その関係は、論理ブロック−物理ブロック変換テーブル（本願では「ブロック変換テーブル」という）で管理される。本実施形態例では、１論理ブロックに対し、一つの物理ブロックが対応つけされており、１物理ブロックは６４ページで構成され、１ページが４セクタで構成されている。
【００２１】
また、パーティション“０”は、論理ブロック番号“１”から“９９”で構成されている。図示しないが、パーティション“０”と同様に、パーティション“１”乃至パーティション“３”（拡張領域）もその必要な容量に応じて、複数の論理ブロックで構成される。各パーティションの境界は、必ずしも各ブロック境界に一致する必要はなく、ブロックの途中のページ、あるいはページの途中のセクタで区切ってもよい。最小、セクタ単位で区切ることができる。
【００２２】
尚、ＮＡＮＤ型フラッシュメモリ３０には、管理領域を構成する物理ブロック、予備ブロックを構成する物理ブロックがあるが、これら物理ブロックは論理ブロックと対応付けされないため、ホスト１からは不可視である。したがって、ホスト１から見たアドレス空間には存在しない。またＭＢＲ記憶領域４１には、上記説明した内容の他、システムを起動するときに必要となる他のデータを記憶することができるが、本発明の説明上、特に必要がないので図２では便宜上割愛している。
【００２３】
（パーティションマップ）
次に、本発明が採用する特徴的構成の一つであるパーティションマップ３１０について説明する。上記分割されたパーティションはそれぞれ使用目的が割り当てられており、使用目的に応じたデータが格納されている。パーティション“０”は、オペレーティングシステム（ＯＳ）４２０を格納するための領域である。パーティション“１”は、本システムを搭載している情報機器が各種制御を実行するためのアプリケーションプログラム４３０を格納している。例えば、マルチファンクションプリンタを例に挙げると、この領域にはマルチファンクションプリンタが使用するアプリケーションプログラムが格納される。パーティション“２”は、データ漏洩防止のために消去が必要なユーザデータ４４０を格納するための領域であり、例えば、マルチファンクションプリンタにおいて、プリントする際に撮像されたイメージデータ（ファイルデータ）はこの領域に格納される。パーティション“３”は、オペレーティングシステム４２０のバックアップデータ４５０などを格納するための領域である。各パーティションの容量は使用目的に応じて割り当てることができ、パーティションの数も情報機器の使用目的に応じて決めることができる。また、オペレーティングシステム４２０やアプリケーションプログラム４３０、秘匿性のあるユーザデータ４４０をどのパーティションに格納するかは、ユーザやシステム提供者が自由に決めることができる。
【００２４】
このように、各パーティションはその使用目的により、ユーザにとって書き込みされたくないパーティションや消去されたくないパーティションなどがある。例えば、オペレーティングシステム４２０が格納されたパーティション“０”は、格納されているデータが消去されたくないパーティションであり、ユーザデータ４４０を格納するためのパーティション“２”は、データの書き込みと消去が必要なパーティションである。しかし、通常、パーティションテーブル４１１の情報のみでは、どのパーティションが消去されたくなく、どのパーティションが消去されていいのか、ホスト1は認識することはできない。
【００２５】
そこで本発明では、ホスト１が使用するＭＢＲのパーティションテーブル４１１とは別に、ＮＡＮＤ型フラッシュメモリデバイス２のプロセッサ２３が使用するパーティションマップ３１０をＮＡＮＤ型フラッシュメモリ３０の管理領域若しくは記憶領域に不揮発的に用意する。
【００２６】
パーティションマップ３１は、パーティションテーブル４１１と関連付けられたものであり、ＮＡＮＤ型フラッシュメモリデバイス２のプロセッサ２３が、ＮＡＮＤ型フラッシュメモリ３０のパーティション“０”乃至パーティション“３”を把握するために必要な情報が記録されており、本発明では、ユーザが各パーティションに書き込み禁止や消去禁止などの属性を設定できるようにしている。例えば、オペレーティングシステム４２０が格納されているパーティション“０”は消去禁止であり、ユーザデータ４４０を格納するためのパーティション“２”は書き込みと消去が許されるべきものである。
【００２７】
図３は、パーティションマップ３１０を模式的に表したものである。パーティションマップ３１０は、パーティション番号と、該パーティション番号で特定されるパーティションの先頭セクタアドレスと終了セクタアドレス、又はパーティションを構成するセクタ数とで構成されている。
【００２８】
また上述のように、各パーティションは書き込み禁止や消去禁止など属性が設定されており、例えば、消去したくないデータを格納しているパーティションに対して、消去禁止の属性情報を、そのパーティションを構成するセクタ情報とともにパーティションマップ３１０に記録しておく。これにより、何らかの理由により、ホスト１から、データの消去を許容できないパーティションに対して消去コマンドが発行されても、プロセッサ２３のファームウエア２３１が消去実行の前に、消去命令を受けたパーティション番号に関する属性情報をパーティションマップ３１０で確認することにより、誤った消去命令があった場合はエラーを返し、パーティションデータを有効にプロテクトすることができる。
【００２９】
また、パーティションマップ３１０を、ＮＡＮＤ型フラッシュメモリ３０とは別の、不揮発に記憶ができるＥＥＰＲＯＭに格納する構成としてもよい。以上のように本発明では、プロセッサ２３が使用するパーティションマップ３１０を、ホスト１が使用するパーティションテーブル４１１とは別個に設けることを特徴の一つとしている。
【００３０】
パーティションマップ３１０の第１の例について、図３（ａ）を用いて説明する。パーティションマップ３１０には、前述したように、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと終了セクタアドレスとが記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“０”，“１”，“３”は消去禁止に設定され、パーティション“２”は消去可に設定される。
【００３１】
図３（ｂ）は、パーティションマップの第２の例である。パーティションマップ３１０には、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと、該パーティションを構成するセクタ数が記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“０”，“１”，“３”は消去禁止に設定され、パーティション“２”は消去可に設定される。
【００３２】
プロセッサ２３はＮＡＮＤ型フラッシュメモリ３０に対して、消去対象ブロックを指定する消去コマンドを発行し、ＮＡＮＤ型フラッシュメモリ３０内部では、指定されたブロックのセルに蓄積されていた電荷を除去し、データを消去する。
【００３３】
（パーティションの消去方法例１）
本発明の実施形態に係るパーティションの消去方法例１について説明する。プロセッサ２３は、システムに電源が投入された際、予めＮＡＮＤ型フラッシュメモリ３０の管理領域に格納されている図３（ａ）に示す構成のパーティションマップ３１をＲＡＭ２５に読み出してプロセッサ２３の管理下におく。図示されているように、パーティションマップ３１０は、パーティションごとの先頭セクタアドレス（論理アドレス）と終了セクタアドレス（論理アドレス）が記載されている。ユーザがユーザデータの消去を指定すると、ホスト１は、該ホスト１が持つデバイスインターフェース（図示せず）とＮＡＮＤ型フラッシュメモリデバイス２のデバイスインターフェース２１を介して、ＮＡＮＤ型フラッシュメモリデバイス２に対し、消去対象のパーティション番号を指定した消去コマンドを発行する。この消去コマンドはベンダーコマンドであり、したがって、ホスト１とプロセッサ２３が了解し合うことのできるユニークなコマンドコードを有する。
【００３４】
ホスト１から消去コマンドを受けると、プロセッサ２３は、ＲＡＭ２５に展開されているパーティションマップ３１０の内容を参照し、消去対象のパーティション番号の属性が“消去可”であるかをまず確認し、“消去不可”であれば、ホスト１にエラーを返す。“消去可”であれば、パーティションマップ３１０に記載されている消去対象のパーティションの先頭セクタアドレスが、その先頭セクタアドレス（論理ブロック）に対応する物理ブロックの先頭セクタであるか判断する。ｙｅｓであれば、次に、記載されている終了セクタアドレスが、その終了セクタアドレス（論理ブロック番号）に対応する物理ブロックの最終セクタであるか判断する。ｙｅｓであれば,当該パーティションは、複数の物理ブロックの集合で構成されていることが分かる。この場合プロセッサ２３は、段落００３２で述べた消去コマンドを、ＮＡＮＤメモリインターフェース２２を介してＮＡＮＤ型フラッシュメモリ３０に、消去対象となる全物理ブロック分発行することにより，ＮＡＮＤ型フラッシュメモリ３０内部で、指定された物理ブロックのセルに蓄積されていた電荷の除去が実行され、書き込まれていたデータが完全に消去される。消去対象となる物理ブロック番号が連続している場合は、一の消去コマンドで纏めて消去指定することができる。
【００３５】
前述したように、ＮＡＮＤ型フラッシュメモリ３０の消去はブロック単位で行われる。そのため、パーティションの最初/及び又は最後の境界がブロックの途中に存在する場合は、そのパーティションの境界となっているブロックには消去コマンドを発行することはできない。消去対象となっていないパーティションのデータを消去してしまうからである。この点、パーティションはブロックのセクタ単位で区切ることができるため、当該ブロックのどの範囲が消去範囲でどの範囲が消去範囲でないかは、指定されたセクタアドレスにより判断することができる。このような場合は、消去対象となるブロック内の消去対象でないデータ（別のパーテションのデータ）を空きブロック（データが何も書き込まれていない更のブロック）に書き換えて、元のブロックを消去するといった２段階の動作を行うことで、ブロック内の指定されたパーティションデータのみを有効に消去することができる。
【００３６】
具体的に説明すると、消去対象パーティションが物理ブロックの途中で開始されている場合は、その最初のブロックの、消去してはいけないデータを一旦ＮＡＮＤメモリの外に読み出し、そのデータを空きブロックに書き込む。そして元のブロックのデータを消去コマンドで消去して空きブロックとするとともに、新たにデータを書き込んだ物理ブロック番号と元の論理ブロックを関連付けて、ブロック変換テーブルの内容を書き換える。消去対象パーティションの終了セクタが物理ブロックの途中に存在する場合も上記同様の処理を行う。そして、消去対象パーティションの最初のブロックと最終のブロックの中間に存在するブロックに対して消去コマンドを発行してデータを消去する。
【００３７】
例えば、パーティション“２”に記録されている全ユーザデータ４４を消去するとする。ホスト１は、ユーザからの消去命令を受けると、ＮＡＮＤ型フラッシュメモリデバイス２に対して、消去対象のパーティション番号“２”を指定する消去コマンドを発行する。次に、プロセッサ２３は、ＲＡＭ２５に展開されているパーティションマップ３１０に基づいて、消去対象のパーティションの属性が“消去可”であることを確認後、パーティション番号“２”に対応する先頭セクタアドレス７６８０２５６（論理アドレス）と終了セクタアドレス１０２４０２５５（論理アドレス）を認識し、上述した例にならって、指定されたパーティションに記憶されている全データを完全に消去する。
【００３８】
（パーティションの消去方法例２）  
パーティションマップ３１０は、上述した例のほか、パーティションの先頭セクタアドレスとセクタ数で定義してもよい（図３（ｂ）参照)。即ち、最終セクタアドレス（論理アドレス）を、セクタ数から求めることができ、これにより、上記消去方法例１と同様に、ホスト１から指定されたパーティションの全ユーザデータを完全に消去することができる。
【００３９】
上記のとおり、本発明の消去方法は、ホスト１が消去対象パーティションの先頭セクタアドレスと終了アドレス、若しくは先頭セクタアドレスとセクタ数をデバイスに送出することなく、単に消去対象パーティション番号を指定しさえすればよく、したがってパーティション消去コマンドを発行するホスト１側のアプリケーションソフトを簡易に構成できる利点がある。
【符号の説明】
【００４０】
１  ホスト
２  ＮＡＮＤ型フラッシュメモリデバイス
４  ＮＡＮＤ型フラッシュメモリデバイスのアドレス空間例（基本領域と拡張領域）
２０  制御部
２１  デバイスインターフェース
２２  フラッシュメモリインターフェース
２３  プロセッサ
２４  バッファ
２５  ＲＡＭ
４１  ＭＢＲ（マスターブートレコード）
４２  オペレーティングシステム（ＯＳ）
４３  アプリケーションプログラム
４４  ユーザデータ
４５  バックアップデータ
２３１  ファームアエア
３１０  パーティションマップ
４１１  パーティションテーブル
４１２  ブートローダ