説明

データ消去方法及び情報機器

【課題】携帯電話等情報機器をリユース、リサイクルする際に、当該情報機器に記録されているユーザの機密情報を高速、かつ、完全に消去し、データの漏洩を防止することができる新規なデータ消去方法の提供、及び該方法を使用する情報機器、携帯電話端末の提供。
【解決手段】ホストからNAND型フラッシュメモリデバイスへ、消去対象となるパーティション番号を指定した消去コマンドを発行し、デバイスの制御部は、パーティションテーブルに関連付けて生成されたパーティションマップを参照して、該パーティション番号で特定された消去対象領域のアドレスを解釈し、該解釈に基づき消去対象パーティションに記憶されている全データを消去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯電話等情報機器をリユース(再利用)やリサイクルする際に、該情報機器に記憶されているユーザの機密情報を高速かつ確実に消去し、その漏洩を防止することのできる、新規なデータ消去方法、及び該方法を使用する情報機器に関する。
【背景技術】
【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】
また、上記のような煩雑かつ長時間のデータ消去作業は、情報機器の廃棄作業に支障を来たすという理由から、情報機器の廃棄の際、マルチファンクションプリンタ内のハードディスクや情報機器である携帯電話端末それ自体を物理的に破壊する方法が採られているが、斯かる方法は、機器のリユースや資源(レアメタルなど)のリサイクルの観点で好ましくない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2008−176606号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記の問題に鑑み、本願発明が解決すべき課題は、携帯電話等情報機器をリユース、リサイクルする際に、当該情報機器に記録されているユーザの機密情報を高速、かつ、完全に消去し、データの漏洩を防止することができる新規なデータ消去方法及び該方法を使用する情報機器、携帯電話端末を提供することにある。
【課題を解決するための手段】
【0011】
上記課題解決のため、本発明の情報機器は、主記憶装置に、NAND型フラッシュメモリと該NAND型フラッシュメモリに対するデータの書き込みや読み出しの制御を実行する制御部とを有するNAND型フラッシュメモリデバイスを採用する。NAND型フラッシュメモリデバイスは、マルチファンクションプリンタの場合はソリッドステイトドライブとして、携帯電話端末の場合はワンチップLSIとして構成したものを使用し得る。制御部のプロセッサは、NAND型フラッシュメモリデバイスにメディアアクセスするホストからコマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、パーティションテーブルに関連付けて作成された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して前記消去対象パーティションの消去領域を解釈し、NAND型フラッシュメモリに対して前記消去対象領域を構成している物理ブロックに記憶されているデータを消去するeraseコマンドを発行して当該物理ブロックのセルに蓄積されている電荷を除去することにより当該物理ブロックに記憶されているデータの完全消去を実行する。
【発明の効果】
【0012】
本発明によれば、ユーザの機密情報を高速かつ完全に消去しその漏洩防止することができる。よってユーザは、NAND型フラッシュメモリデバイスを搭載したマルチファンクションプリンタや携帯電話などの情報機器を、安心してリユースやリサイクルに廻すことができ、資源の有効活用を図ることができる。また、ユーザが必要に応じて消去コマンドを発行できるので、NAND型フラッシュメモリの寿命を短縮させることがない。この効果は従来のように主記憶装置としてハードディスクドライブを使用した場合には決して奏することはできなかったものである。また、携帯電話端末において、主記憶装置として、現在主流のNOR型フラッシュメモリや、OneNAND(登録商標)と呼ばれるメモリ(NORインターフェース準拠でNAND型フラッシュメモリを使用する)を使用する場合も決して奏することはできないものである。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るフラッシュメモリシステムの基本構成例である。
【図2】本発明の実施形態に係るNAND型フラッシュメモリの論理領域構成例である(Windows(登録商標) OSの場合)。
【図3】(a)パーティションマップの構成例である。(b)パーティションマップの他の構成例である。
【図4】本発明の実施形態に係るNAND型フラッシュメモリの論理領域構成例である(携帯電話端末用OSの場合)。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
【実施例】
【0015】
(システム基本構成)
図1は、本発明方法を実行するシステムの基本構成例である。図1に示すように、本発明の“システム”は、ホスト1と、該ホスト1のメディアアクセス対象であるNAND型フラッシュメモリデバイス2とからなる。NAND型フラッシュメモリデバイス2は、データを格納するNAND型フラッシュメモリ30と、ホスト1からの命令に基づき、NAND型フラッシュメモリ30にデータの書き込みや読み出しを実行する制御部20を有する。
【0016】
制御部20は、ホスト1からコマンドを受け取るデバイスインターフェース21と、NAND型フラッシュメモリ30に対して所定のコマンドプロトコルに従ってコマンドを発行するフラッシュメモリインターフェース22と、プロセッサ23と、デバイスインターフェース21とフラッシュメモリインターフェース22とプロセッサ23とに接続されるバッファ24と、プロセッサ23がアクセス可能なRAM25とを有する。プロセッサ23は、その制御プログラムであるファームウエア231を有する。プロセッサ23は、ホスト1から消去コマンドが発行されると、ファームウエア231によって本発明のデータ消去を実行する。
【0017】
本発明のNAND型フラッシュメモリデバイス2は、SSDとして構成して、例えば、パーソナルコンピュータ(PC)、又は、プリンタやスキャナ、複写機などを統合したマルチファンクションプリンタ等の情報機器に搭載されているハードディスクドライブ(HDD)の代替として使用され得る。この場合、ホスト1との間のデバイスインターフェース21は、IDEインターフェースやシリアルATAインターフェースで構成される。またNAND型フラッシュメモリデバイス2は、ホスト1に装着して使用するUSBメモリで構成してもよい。さらには、NAND型フラッシュメモリデバイス2をワンチップデバイスとして構成して携帯電話等の小型情報機器に内蔵して主記憶装置として使用することもできる。この場合、ホスト1とは、NANDインターフェースで接続することができる。尚、NAND型フラッシュメモリ30は、後述するパーティションマップ310を記憶している。
【0018】
(NAND型フラッシュメモリ30の論理領域)
図2は、Windows(登録商標) OSを採用する場合の、本発明の実施形態に係るNAND型フラッシュメモリ30の領域例である。この領域は、ホスト1からアクセスすることのできるNAND型フラッシュメモリデバイス2の領域である。これはアドレス空間であり、NAND型フラッシュメモリ30が複数で構成されていても、ホスト1からは1つのアドレス空間として見ることができる。図示するように、システムに電源が投入されたときホスト1から最初に読み出されるMBR(マスターブートレコード)が、NAND型フラッシュメモリ30の論理ブロック番号“0”(ホスト1側からみたセクタ“0”から始まる領域)に記憶されている。この領域は基本領域である。その他、パーティションが、パーティション番号“0”から“3”まで設定されている(拡張領域)。MBRは、ホスト1がNAND型フラッシュメモリデバイス2にアクセスするために必要なデータが記録されているパーティションテーブル411と、ブートローダ412を含む。
【0019】
パーティションテーブル411には、設定されているパーティションの数や、各パーティションの開始位置・終了位置(セクタアドレス)、パーティションのID、アクティブパーティションか否かを示す“ブート識別子”、ファイルシステムの種類を示す“システムID”、ディスク先頭からのパーティションまでの距離を表す“オフセット”、パーティション容量を表す″総セクタ数”の情報などが記録される。なおパーティションとは、ホスト1側から見えるNAND型フラッシュメモリデバイス2のアドレス空間を分割したものであり、ハードディスクドライブで用いられるパーティションの概念と同じで、ホスト1から論理ドライブとして認識され得るものである。
【0020】
システムに電源が投入されると、ホスト1側に用意されている不図示のブートストラップが、ホスト1側にMBR(パーティションテーブル411の情報及びブートローダ412)を読み込み、これによりブートローダ412はパーティションテーブル411に書き込まれている情報に基づき、パーティション“1”に格納されている、起動すべきオペレーティングシステム42を不図示のシステムメモリにロードし、システムを起動する。システムメモリは、ホスト1がアクセス可能なDRAMで構成することができる。
【0021】
ところで、周知の通り、NAND型フラッシュメモリでは、各論理ブロックは物理ブロックと対応付けされており、その関係は、論理ブロック−物理ブロック変換テーブル(本願では「ブロック変換テーブル」という)で管理される。本実施形態例では、1論理ブロックに対し、一つの物理ブロックが対応付けされており、1物理ブロックは64ページで構成され、1ページが4セクタで構成されている。
【0022】
また、パーティション“0”は、論理ブロック番号“1”から“99”で構成されている。図示しないが、パーティション“0”と同様に、パーティション“1”乃至パーティション“3”も必要な容量に応じて、複数の論理ブロックで構成される。各パーティションの境界は、必ずしも各ブロック境界に一致する必要はなく、ブロックの途中のページ、あるいはページの途中のセクタで区切ってもよい。最小、セクタ単位で区切ることができる。
【0023】
尚、NAND型フラッシュメモリ30には、管理領域を構成する物理ブロック、予備ブロックを構成する物理ブロックがあるが、これら物理ブロックは論理ブロックと対応付けされないため、ホスト1からは不可視である。したがって、ホスト1から見たアドレス空間には存在しない。またMBR記憶領域41には、上記説明した内容の他、システムを起動するときに必要となる他のデータを記憶することができるが、本発明の説明上、特に必要がないので図2では便宜上割愛している。
【0024】
上記分割されたパーティションはそれぞれ使用目的が割り当てられており、使用目的に応じたデータが格納されている。パーティション“0”は、オペレーティングシステム(OS)420を格納するための領域である。このOSは、情報機器がマルチファンクションプリンタの場合はWindows(登録商標)が、携帯電話端末の場合はTRON(登録商標)、Linux(登録商標)、Symbian OS(登録商標)などが使用され得る。さらにiPhone(登録商標)ではOSX iPhone(登録商標)が使用される。
【0025】
Windows(登録商標) OSでは、ブートローダ412が直接パーティションテーブル411を参照できるようにすることで、起動するOSの選択ができるようになっている。例えば、一のパーティションにWindows(登録商標) OS、他のパーティションにLinux OS(登録商標)を格納して、システム起動時に起動するOSを選択することが可能である。携帯電話端末では、現状そのような機能は採用されていない。このため携帯電話端末用OSはブートローダ412が直接パーティションテーブル411を参照してOSを起動する形態を採らない。これについては後述する。
【0026】
パーティション“1”は、本システムを搭載している情報機器が各種制御を実行するためのアプリケーションプログラム430を格納している。例えば、マルチファンクションプリンタを例に挙げると、この領域にはマルチファンクションプリンタが使用するアプリケーションプログラムが格納される。携帯電話端末の場合は、携帯電話端末用のアプリケーションプログラムが格納される。パーティション“2”は、データ漏洩防止のために消去が必要なユーザデータ440を格納するための領域であり、例えば、マルチファンクションプリンタにおいて、プリントする際に撮像されたイメージデータ(ファイルデータ)はこの領域に格納される。携帯電話端末では、電話帳やe−mailで送受信したデータなどが格納される。パーティション“3”は、オペレーティングシステム420のバックアップデータ450などを格納するための領域である。
【0027】
なおNAND型フラッシュメモリデバイス2に対するパーティションの設定、オペレーティングシステムやアプリケーションプログラムのインストールは、NAND型フラッシュメモリデバイス2を情報機器に組み込む前に、オペレーティングシステムインストール済みの専用のツールを用いてシステム提供者(ベンダー)により実行される。システムベンダーはまず、専用ツールにより、NAND型フラッシュメモリデバイス2にパーティションを設定する。パーティションの数、各パーティションの容量は情報機器の使用目的に応じて任意に設定することができる。次にシステムベンダーは、オペレーティングシステム420と、アプリケーションプログラム430、バックアップデータ450を前記設定したパーティションに格納する。
【0028】
所定パーティションにオペレーティングシステム420が格納されると、パーティションテーブル411が生成され、Windows(登録商標) OSの場合は、このパーティションテーブル411とブートローダ412が論理ブロック“0”にマスターブートレコードとして格納される(図2)。
【0029】
携帯電話端末用OSの場合もWindows(登録商標) OSの場合同様、所定パーティションにオペレーティングシステム420が格納されると、パーティションテーブル411が生成されるが、ツール側のオペレーティングシステムにより、オペレーティングシステム420の一部として、オペレーティングシステム420中の所定領域、たとえば、セクタ“400”に(ブートローダ412とは独立して)格納される(図4参照)。この格納位置は不確定要素である。
【0030】
さらにこのときツール側のオペレーティングシステムは、オペレーティングシステム420が格納されたパーティション“0”のアドレスを書き込んだブートローダ412を生成し、メモリ30の固定位置、例えば、セクタ“0”に格納する(図4)。ブートローダ412にオペレーティングシステム420が格納されているパーティションのアドレスを予め書き込むのは、本実施形態の携帯電話端末で使用されるOSは一種類しか予定されておらず、選択の余地がないからである。
【0031】
以上でデバイス2の設定が終了し、予定された情報機器に組み込まれる。この組込みは、システム(ホスト1とデバイス2)として行なってもよいし、ホスト1(IC)が情報機器に設定されている場合は、デバイス2をホスト1に接続する態様で組み込んでもよい。
【0032】
システムが情報機器に組み込まれ、電源がonされると、Windows(登録商標) OSの場合はホスト1のブートストラッパ(図示せず)がMBR記憶領域41からマスターブートレコード(パーティションテーブル412とブートローダ412)を読み出し、ブートローダ412がOSを起動する。携帯電話端末OSの場合は、ホスト1のブートストラッパはブートローダ412を読み出しパーティションテーブル411は読み出さない。ブートローダ412はパーティションテーブル412を参照することなく、オペレーティングシステム420を起動する。
【0033】
上記の通り携帯電話端末用OSでは、パーティションテーブル411はブートローダ412がオペレーティングシステム420の位置を確認するためには使用されないが、例えばアプリケーションプログラム430を格納したパーティション全体を初期化する場合などに使用される。
【0034】
以上述べたように、各パーティションはその使用目的により、ユーザにとって書き込みされたくないパーティションや消去されたくないパーティションなどがある。例えば、オペレーティングシステム420が格納されたパーティション“0”は、格納されているデータが消去されたくないパーティションであり、ユーザデータ440を格納するためのパーティション“2”は、リユースやリサイクルの際、データの消去が必要なパーティションである。しかし、通常、パーティションテーブル411の情報のみでは、どのパーティションが消去されたくなく、どのパーティションが消去されていいのか、ホスト1は認識することはできない。
【0035】
そこで本発明では、ホスト1が使用するパーティションテーブル411とは別に、NAND型フラッシュメモリデバイス2のプロセッサ23が使用するパーティションマップ310をNAND型フラッシュメモリ30の管理領域若しくは記憶領域に不揮発的に用意する。
【0036】
パーティションマップ310は、パーティションテーブル411が生成された後、ツール側に準備された専用のアプリケーションプログラムが同じくツール側のOSを介してデバイス2の制御部20にベンダーコマンドを発行することにより生成することができる。制御部20のプロセッサ23は、ベンダーコマンドに付随して送られたパーティションテーブルのデータを使用してパーティションマップを生成し、例えばNAND型フラッシュメモリ30の管理領域に格納する。パーティションマップ310は、パーティションテーブル411と関連付けて生成されるものであり、NAND型フラッシュメモリデバイス2のプロセッサ23がNAND型フラッシュメモリ30のパーティション“0”乃至パーティション“3”のアドレス等を把握するために必要な情報を記録される。本発明では、システムベンダーが各パーティションに書き込み禁止や消去禁止などの属性を設定できるようにしている。例えば、オペレーティングシステム420が格納されているパーティション“0”は消去禁止であり、ユーザデータ440を格納するためのパーティション“2”は消去が許されるべきものである。
【0037】
図3は、パーティションマップ310を模式的に表したものである。パーティションマップ310は、パーティション番号と、該パーティション番号で特定されるパーティションの先頭セクタアドレスと終了セクタアドレス、又はパーティションを構成するセクタ数とで構成されている。
【0038】
また上述のように、各パーティションは消去禁止の属性が設定されており、例えば、消去したくないデータを格納しているパーティションに対して、消去禁止の属性情報を、そのパーティションを構成するセクタ情報とともにパーティションマップ310に記録している。これにより、何らかの理由により、ホスト1から、データの消去を許容できないパーティションに対して消去コマンドが発行されても、プロセッサ23のファームウエア231が消去実行の前に、消去命令を受けたパーティション番号に関する属性情報をパーティションマップ310で確認することにより、誤った消去命令があった場合はエラーを返し、パーティションデータを有効にプロテクトすることができる。
【0039】
なお、パーティションマップ310は、NAND型フラッシュメモリ30とは別の、不揮発に記憶ができるEEPROMに格納する構成としてもよい。以上のように本発明では、プロセッサ23が使用するパーティションマップ310を、ホスト1が使用するパーティションテーブル411とは別個に設けることを特徴の一つとしている。
【0040】
パーティションマップ310の第1の例について、図3(a)を用いて説明する。パーティションマップ310には、前述したように、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと終了セクタアドレスとが記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“0”,“1”,“3”は消去禁止に設定され、パーティション“2”は消去可に設定される。
【0041】
図3(b)は、パーティションマップの第2の例である。パーティションマップ310には、パーティション番号と、該パーティション番号に対応するパーティションの先頭セクタアドレスと、該パーティションを構成するセクタ数が記録されている。そして、パーティションの属性がパーティション番号に関連付けられて記録されている。これにより、パーティション“0”,“1”,“3”は消去禁止に設定され、パーティション“2”は消去可に設定される。
【0042】
プロセッサ23はNAND型フラッシュメモリ30に対して、消去対象ブロックを指定する消去コマンド(eraseコマンド)を発行し、NAND型フラッシュメモリ30内部では、指定されたブロックのセルに蓄積されていた電荷を除去し、データを消去する。
【0043】
(パーティションの消去方法例1)
本発明の実施形態に係るパーティションの消去方法例1について説明する。プロセッサ23は、システムに電源が投入された際、予めNAND型フラッシュメモリ30の管理領域に格納されている図3(a)に示す構成のパーティションマップ31をRAM25に読み出してプロセッサ23の管理下におく。図示されているように、パーティションマップ310は、パーティションごとの先頭セクタアドレス(論理アドレス)と終了セクタアドレス(論理アドレス)が記載されている。ユーザがユーザデータの消去を指定すると、ホスト1は、該ホスト1が持つデバイスインターフェース(図示せず)とNAND型フラッシュメモリデバイス2のデバイスインターフェース21を介して、NAND型フラッシュメモリデバイス2に対し、消去対象のパーティション番号を指定した消去コマンドを発行する。この消去コマンドはベンダーコマンドであり、したがって、ホスト1とプロセッサ23が了解し合うことのできるユニークなコマンドコードを有する。
【0044】
ホスト1から消去コマンドを受けると、プロセッサ23は、RAM25に展開されているパーティションマップ310の内容を参照し、消去対象のパーティション番号の属性が“消去可”であるかをまず確認し、“消去不可”であれば、ホスト1にエラーを返す。“消去可”であれば、パーティションマップ310に記載されている消去対象のパーティションの先頭セクタアドレス(論理ブロックに係る)が、対応する物理ブロックの先頭セクタであるか判断する。yesであれば、次に、記載されている終了セクタアドレス(論理ブロックに係る)が、対応する物理ブロックの最終セクタであるか判断する。yesであれば,当該パーティションは、一の物理ブロックまたは複数の物理ブロックの集合で構成されていることが分かる。即ち、当該パーティションは、ブロックの途中で開始/及び又は終了していないことが分かる。この場合プロセッサ23は、段落0033で述べたeraseコマンドを、NANDメモリインターフェース22を介してNAND型フラッシュメモリ30に、消去対象となる全物理ブロック分発行することにより,NAND型フラッシュメモリ30内部で、指定された物理ブロックのセルに蓄積されていた電荷の除去が実行され、書き込まれていたデータが完全に消去される。消去対象となる物理ブロック番号が連続している場合は、一の消去コマンドで纏めて消去指定してもよい。
【0045】
前述したように、NAND型フラッシュメモリ30の消去はブロック単位で行われる。そのため、パーティションの最初/及び又は最後の境界がブロックの途中に存在する場合は、そのパーティションの境界となっているブロックには消去コマンドを発行することはできない。当該パーティションにおける、消去対象となっていないデータを消去してしまうからである。この点、パーティションはブロックのセクタ単位で区切ることができるため、当該ブロックのどの範囲が消去範囲でどの範囲が消去範囲でないかは、指定されたセクタアドレスにより判断することができる。このような場合は、消去対象となるブロック内の消去対象でないデータ(別のパーテションのデータ)を空きブロック(データが何も書き込まれていない更のブロック)に書き換えて、元のブロックを消去するといった2段階の動作を行うことで、ブロック内の指定されたパーティションデータのみを有効に消去することができる。
【0046】
具体的に説明すると、消去対象パーティションが物理ブロックの途中で開始されている場合は、その最初のブロックの、消去してはいけないデータを、一旦NAND型フラッシュメモリ内部のバッファ(図示せず)、若しくはNAND型フラッシュメモリ30の外(RAM25)に読み出し、そのデータを空きブロックに書き込む。そして元のブロックのデータをeraseコマンドで消去して空きブロックとするとともに、新たにデータを書き込んだ物理ブロック番号と元の論理ブロックを関連付けて、ブロック変換テーブルの内容を書き換える。消去対象パーティションの終了セクタが物理ブロックの途中に存在する場合も上記同様の処理を行う。そして、消去対象パーティションの最初のブロックと最終のブロックの中間に存在するブロックに対してeraseコマンドを発行してデータを消去する。
【0047】
例えば、パーティション“2”に記録されている全ユーザデータ44を消去するとする。ホスト1は、ユーザからの消去命令を受けると、NAND型フラッシュメモリデバイス2に対して、消去対象のパーティション番号“2”を指定する消去コマンドを発行する。次に、プロセッサ23は、RAM25に展開されているパーティションマップ310に基づいて、消去対象のパーティションの属性が“消去可”であることを確認後、パーティション番号“2”に対応する先頭セクタアドレス7680256(論理アドレス)と終了セクタアドレス10240255(論理アドレス)を認識し、上述した例にならって、指定されたパーティションに記憶されている全データを完全に消去する。
【0048】
(パーティションの消去方法例2)
パーティションマップ310は、上述した例のほか、パーティションの先頭セクタアドレスとセクタ数で定義してもよい(図3(b)参照)。即ち、最終セクタアドレス(論理アドレス)を、セクタ数から求めることができ、これにより、上記消去方法例1と同様に、ホスト1から指定されたパーティションの全ユーザデータを完全に消去することができる。
【0049】
上記のとおり、本発明の消去方法は、ホスト1が消去対象パーティションの先頭セクタアドレスと終了アドレス、若しくは先頭セクタアドレスとセクタ数をデバイスに送出することなく、単に消去対象パーティション番号を指定しさえすればよく、したがってパーティション消去コマンドを発行するホスト1側のアプリケーションソフトを簡易に構成できる利点がある。
【符号の説明】
【0050】
1 ホスト
2 NAND型フラッシュメモリデバイス
4 NAND型フラッシュメモリデバイスのアドレス空間例(基本領域と拡張領域)
20 制御部
21 デバイスインターフェース
22 フラッシュメモリインターフェース
23 プロセッサ
24 バッファ
25 RAM
41 MBR(マスターブートレコード)
42 オペレーティングシステム(OS)
43 アプリケーションプログラム
44 ユーザデータ
45 バックアップデータ
231 ファームアエア
310 パーティションマップ
411 パーティションテーブル
412 ブートローダ


























【特許請求の範囲】
【請求項1】
NAND型フラッシュメモリと該NAND型フラッシュメモリに対するデータの書き込みや読み出しの制御を実行する制御部とを有するNAND型フラッシュメモリデバイスに対し、ホストからコマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、パーティションテーブルに関連付けて作成された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して前記消去対象パーティションの消去領域を解釈し、NAND型フラッシュメモリに対して前記消去領域を構成している物理ブロックに記憶されているデータを消去するeraseコマンドを発行し、当該物理ブロックのセルに蓄積されている電荷を除去することを特徴とする、データ消去方法。
【請求項2】
消去コマンドで指定されたパーティションの最初/及び又は最後の境界がブロックの途中に存在する場合、当該ブロックの消去対象でないデータを空きブロックに書き換えてから当該ブロックのデータを消去することにより、指定されたパーティションのデータの消去を実行することを特徴とする、請求項1記載のデータ消去方法。
【請求項3】
消去対象パーティションは、ユーザの機密情報を記憶するパーティションであることを特徴とする、請求項1又は請求項2記載のデータ消去方法。
【請求項4】
パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする、請求項1又は請求項2記載のデータ消去方法。
【請求項5】
オペレーティングシステムを記録したパーティションとアプリケーションプログラムを記憶したパーティションとユーザデータを記憶するパーティションを備えたNAND型フラッシュメモリと該NAND型フラッシュメモリを制御する制御部からなるNAND型フラッシュメモリデバイスを主記憶装置として備える情報機器であって、
前記制御部のプロセッサは、
当該NAND型フラッシュメモリデバイスにメディアアクセスするホストからコマンドコードと消去対象パーティション番号からなる消去コマンドが発行された際、パーティションテーブルに関連付けて作成された、前記パーティション番号と該パーティションを構成する論理セクタアドレスとの対応関係を定義したパーティションマップを参照して前記消去対象パーティションの消去領域を解釈し、NAND型フラッシュメモリに対して前記消去対象領域を構成している物理ブロックに記憶されているデータを消去するeraseコマンドを発行して当該物理ブロックのセルに蓄積されている電荷を除去することにより当該物理ブロックに記憶されているデータの完全消去を実行することを特徴とする情報機器。
【請求項6】
消去コマンドで指定されたパーティションの最初/及び又は最後の境界がブロックの途中に存在する場合、当該ブロックの消去対象でないデータを空きブロックに書き換えてから当該ブロックのデータを消去することにより、指定されたパーティションのデータの消去を実行することを特徴とする、請求項5記載の情報機器。
【請求項7】
消去対象パーティションは、ユーザの機密情報を記憶するパーティションであることを特徴とする、請求項5又は請求項6記載の情報機器。
【請求項8】
パーティションマップは、パーティション番号に対応した、消去禁止の属性情報を更に備えることを特徴とする、請求項5又は請求項6記載の情報機器。
【請求項9】
携帯電話端末であることを特徴とする、請求項5乃至請求項8いずれか1項記載の情報機器。


































【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate