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