(57)【特許請求の範囲】
【請求項１】
情報処理装置本体と、
前記情報処理装置本体に収容される不揮発性半導体メモリドライブであって、複数のブロックを含む記憶領域を有する不揮発性半導体メモリと、論理ブロックアドレスと前記不揮発性半導体メモリの物理アドレスとの対応関係を示すアドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定する第１消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロック以外の各ブロックをイレーズする第２消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロックを含む前記複数のブロックをイレーズする第３消去モードとを有し、前記情報処理装置本体からのコマンドに応じて、前記第１消去モード、前記第２消去モード、および前記第３消去モードの一つを選択して、前記記憶領域に格納されたユーザデータを消去する消去動作を実行する制御手段とを含む不揮発性半導体メモリドライブと
を具備する情報処理装置。
【請求項２】
前記不良ブロックは、データの書き込みまたはデータの読み出し時にエラーが発生するブロックである請求項１記載の情報処理装置。
【請求項３】
前記アドレス管理テーブルを初期化する処理は、前記アドレス管理テーブルを、前記各論理ブロックアドレスに対応する物理アドレスが前記アドレス管理テーブルに書き込まれていない状態に設定する処理を含む請求項１記載の情報処理装置。
【請求項４】
情報処理装置の外部記憶装置として使用される不揮発性半導体メモリドライブであって、
複数のブロックを含む記憶領域を有する不揮発性半導体メモリと、
論理ブロックアドレスと前記不揮発性半導体メモリの物理アドレスとの対応関係を示すアドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定する第１消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロック以外の各ブロックをイレーズする第２消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロックを含む前記複数のブロックをイレーズする第３消去モードとを有し、前記情報処理装置からのコマンドに応じて、前記第１消去モード、前記第２消去モード、および前記第３消去モードの一つを選択して、前記記憶領域に格納されたユーザデータを消去する消去動作を実行する制御手段とを具備する不揮発性半導体メモリドライブ。
【請求項５】
前記不良ブロックは、データの書き込みまたはデータの読み出し時にエラーが発生するブロックである請求項４記載の不揮発性半導体メモリドライブ。
【請求項６】
前記アドレス管理テーブルを初期化する処理は、前記アドレス管理テーブルを、前記各論理ブロックアドレスに対応する物理アドレスが前記アドレス管理テーブルに書き込まれていない状態に設定する処理を含む請求項４記載の不揮発性半導体メモリドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び不揮発性半導体メモリドライブに関する。
【背景技術】
【０００２】
近年、ハードディスクのようなデータ記憶装置が広く使用されている。
【０００３】
特許文献１には、スクランブル／デスクランブ機能を有するデータ記憶装置が開示されている。このデータ記憶装置は、送受信手段と、スクランブラ手段と、ハードディスクと、デスクランブラ手段と、メモリと、初期値変更手段とを備えている。送受信手段は、外部からの情報を受信すると共に、データ記憶装置内部の情報を外部に送信する。スクランブラ手段は、送受信手段が受信した外部からの情報を乱数化する。スクランブラ手段の出力信号がハードディスクに記録される。デスクランブラ手段はハードディスクから読み出された信号をデスクランブルする。メモリは、スクランブラ手段とデスクランブラ手段とに初期値を出力する。初期値変更手段は、ハードディスクに記録されたデータを消去するときに、初期値を変更する。
【０００４】
このデータ記憶装置においては、ハードディスクのデータの消去が送受信手段を介して指示されると、初期値変更手段は、スクランブラ手段及びデスクランブラ手段に対して新たな初期値を生成する。新たに記録されるデータについては、新たな初期値に基づいてスクランブル処理及びデスクランブラ処理される。
【０００５】
一方、初期値の変更前に既にハードディスクに記録されていたデータは、変更前の初期値とは異なる初期値に基づいてデスクランブル処理されたのち再生される。そのため、初期値の変更前に既にハードディスクに記録されていたデータは、当該データが記録されたときとは、全く異なる初期値によってデスクランブル処理されるので、異なる値のデータが読出される。
【０００６】
よって、初期値の変更以前に記憶したデータは正常に読出しを行うことができなくなるので、初期値の変更は、ハードディスクを仮想的に消去したことになる。そのためデータ記憶装置のハードディスクに消去データを上書き記録することなく、瞬時に仮想的にデータを消去することが可能となる。これにより、ハードディスクの再利用や廃棄にかかる作業時間を大幅に短縮することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１９６１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のデータ記憶装置によると、スクランブル処理されたデータの解読は困難であるが、スクランブル処理されたデータの取出しを行うことは簡単にできるため、復号化技術の進歩により解読されてしまう可能性は否定できない。
【０００９】
本発明の目的は、書込みが行われた情報の消去を確実に行い、情報の漏洩を確実に防止することができる情報処理装置及び不揮発性半導体メモリドライブを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、情報処理装置本体と、前記情報処理装置本体に収容される不揮発性半導体メモリドライブであって、複数のブロックを含む記憶領域を有する不揮発性半導体メモリと、論理ブロックアドレスと前記不揮発性半導体メモリの物理アドレスとの対応関係を示すアドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定する第１消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロック以外の各ブロックをイレーズする第２消去モードと、前記アドレス管理テーブルを初期化して前記記憶領域をユーザデータが書き込まれていない状態に設定し、且つ前記記憶領内に含まれる、不良ブロックを含む前記複数のブロックをイレーズする第３消去モードとを有し、前記情報処理装置本体からのコマンドに応じて、前記第１消去モード、前記第２消去モード、および前記第３消去モードの一つを選択して、前記記憶領域に格納されたユーザデータを消去する消去動作を実行する制御手段とを含む不揮発性半導体メモリドライブとを具備する情報処理装置が提供される。
【発明の効果】
【００１１】
この情報処理装置によれば、書込みが行われた情報の消去を確実に行い、情報の漏洩を確実に防止することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の一実施形態に係る情報処理装置の外観を示す斜視図である。
【図２】図２は、同実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図３】図３は、同実施形態に係る情報処理装置に設けられるＳＳＤの概略構成を示すブロック図である。
【図４】図４は、図３に示すＳＳＤの記憶容量及び記憶領域を示す概略図である。
【図５】図５は、図３に示すＳＳＤに設けられるＮＡＮＤメモリの概略構成図である。
【図６】図６は、図３に示すＳＳＤが実行可能な３種類の消去方法を説明するための模式図である。
【図７】図７は、図３に示すＳＳＤによって実行される疑似消去の手順の例を示すフローチャートである。
【図８】図８は、図３に示すＳＳＤによって実行される通常消去の手順の例を示すフローチャートである。
【図９】図９は、図３に示すＳＳＤによって実行される拡張消去の手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を説明する。
【００１４】
＜情報処理装置の構成＞
図１は、本発明の一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置１は、図１に示すように、本体２と、本体２に取り付けられた表示ユニット３とから構成されている。
【００１５】
本体２は、箱状の筐体４を有し、その筐体４は、上壁４ａ、周壁４ｂ及び下壁４ｃを備える。筐体４の上壁４ａは、情報処理装置１を操作するユーザに近い側から順にフロント部４０、中央部４１及びバック部４２を有する。下壁４ｃは、この情報処理装置１が置かれる設置面に対向する。周壁４ｂは、前壁４ｂａ、後壁４ｂｂ及び左右の側壁４ｂｃ、４ｂｄを有する。
【００１６】
フロント部４０は、ポインティングデバイスであるタッチパッド２０と、パームレスト２１と、情報処理装置１の各部の動作に連動して点灯する発光ダイオード（ＬＥＤ）２２とを備える。
【００１７】
中央部４１は、文字情報等を入力可能なキーボード２３ａが取り付けられるキーボード載置部２３を備える。
【００１８】
バック部４２は、着脱可能に取り付けられたバッテリパック２４を備えている。バッテリパック２４の右側には、情報処理装置１の電源を投入するための電源スイッチ２５が設けられている。バッテリパック２４の左右には、表示ユニット３を回転可能に支持する一対のヒンジ部２６ａ、２６ｂが設けられている。
【００１９】
筐体４の左の側壁４ｂｃには、筐体４内から外部に対して風を排出する排出口（図示せず）が設けられている。また、右の側壁４ｂｄには、例えば、ＤＶＤ等の光記憶媒体にデータを読み書き可能なＯＤＤ（光ディスクドライブ）２７と、各種のカードが出し入れされるカードスロット２８とが配置されている。
【００２０】
筐体４は、周壁４ｂの一部及び上壁４ａを含む筐体カバーと、周壁４ｂの一部及び下壁４ｃを含む筐体ベースとにより形成されている。筐体カバーは、筐体ベースに対して着脱自在に組み合わされ、筐体ベースとの間に収容空間を形成する。この収容空間には、不揮発性半導体メモリドライブとして機能するＳＳＤ（ソリッドステートドライブ）１０が収容される。なお、ＳＳＤ１０の詳細は後述する。
【００２１】
表示ユニット３は、開口部３０ａを有するディスプレイハウジング３０と、表示画面３１ａに画像を表示可能なＬＣＤ等からなる表示装置３１とを備える。表示装置３１はディスプレイハウジング３０に収容され、表示画面３１ａは開口部３０ａを通じてディスプレイハウジング３０の外部に露出している。
【００２２】
筐体４内には、上述のＳＳＤ１０、バッテリパック２４、ＯＤＤ２７及びカードスロット２８の他に、図示しないメイン回路基板、拡張モジュール及びファン等が収容されている。
【００２３】
図２は、情報処理装置１のシステム構成を概略的に示すブロック図である。
【００２４】
この情報処理装置１は、図２に示すように、上述のＳＳＤ１０、拡張モジュール１２、ファン１３、タッチパッド２０、ＬＥＤ２２、キーボード２３ａ、電源スイッチ２５、ＯＤＤ２７、カードスロット２８及び表示装置３１の他に、ＥＣ（組み込みコントローラ）１１１と、ＢＩＯＳ（Basic Input Output System）１１２ａを格納するフラッシュメモリ１１２と、サウスブリッジ１１３と、ノースブリッジ１１４と、ＣＰＵ（中央処理装置）１１５と、ＧＰＵ（Graphic Processing Unit）１１６と、メインメモリ１１７とを備えている。
【００２５】
ＥＣ（組み込みコントローラ）１１１は各部を制御する組込システムである。ノースブリッジ１１４は、ＣＰＵ１１５、ＧＰＵ１１６、メインメモリ１１７及び各種バスそれぞれとの間の接続を制御するＬＳＩである。ＣＰＵ１１５は各種信号を演算処理するプロセッサであり、ＳＳＤ１０からメインメモリ１１７にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。ＧＰＵ１１６は映像信号を演算処理して表示制御を実行する表示コントローラである。
【００２６】
拡張モジュール１２は、拡張回路基板と、この拡張回路基板に設けられたカードソケットと、このカードソケットに挿入された拡張モジュール基板とを備える。カードソケットは、例えば、Ｍｉｎｉ−ＰＣＩ等の規格に対応している。拡張モジュール基板の例としては、３Ｇ（第３世代）モジュール、テレビチューナー、ＧＰＳモジュール、及びＷｉｍａｘ(登録商標)モジュール等が挙げられる。
【００２７】
ファン１３は、筐体４内を送風に基づいて冷却する冷却部であり、筐体４内の空気を排出口（図示せず）を介して風として外部に排出する。
【００２８】
なお、ＥＣ１１１、フラッシュメモリ１１２、サウスブリッジ１１３、ノースブリッジ１１４、ＣＰＵ１１５、ＧＰＵ１１６及びメインメモリ１１７は、メイン回路基板に実装された電子部品である。
【００２９】
＜ＳＳＤの構成＞
図３は、本実施形態の情報処理装置に適用されるＳＳＤの概略構成を示すブロック図である。ＳＳＤ１０は、ハードディスクの代わりに本情報処理装置１の外部記憶装置として使用される不揮発性半導体メモリドライブである。このＳＳＤ１０は、図３に示すように、コネクタ１０２と、制御部１０３と、ＮＡＮＤメモリ（ＮＡＮＤ型フラッシュＥＥＰＲＯＭ）１０４Ａ〜１０４Ｈと、ＤＲＡＭ（メモリ）１０５と、電源回路１０６と、を備えて概略構成されている。ＳＳＤ１０は、データやプログラムを格納し、且つ電源を供給しなくても記憶内容が消えない外部記憶装置である。ＳＳＤ１０は、ハードディスクドライブとは異なり、磁気ディスクやヘッド等の駆動機構を持たないが、不揮発性半導体メモリであるＮＡＮＤメモリの記憶領域に、ＯＳ（オペレーティングシステム）等のプログラムと、ユーザやソフトウエアに基づいて作成されたデータとを、読み書き可能に長期的に保存でき、情報処理装置１の起動ドライブとして動作することのできるドライブである。
【００３０】
制御部１０３は、コネクタ１０２、８つのＮＡＮＤメモリ１０４Ａ〜１０４Ｈ、ＤＲＡＭ１０５、及び電源回路１０６にそれぞれ接続されている。また、制御部１０３は、コネクタ１０２を介してホスト装置８に接続され、必要に応じて外部装置９に接続される。
【００３１】
電源７は、バッテリパック２４又は図示しないＡＣアダプタであり、例えば、ＤＣ３．３Ｖがコネクタ１０２を介して電源回路１０６に供給される。また、電源７は、情報処理装置１全体に対して電力を供給する。
【００３２】
ホスト装置８は、本実施形態においては、情報処理装置本体２（本体２のメイン回路基板）である。メイン回路基板に実装されたサウスブリッジ１１３はコネクタ１０２を介して制御部１０３に接続される。サウスブリッジ１１３と制御部１０３との間は、例えば、シリアルＡＴＡ等の規格に基づいてデータの送受信が行われる。
【００３３】
外部装置９は、情報処理装置１とは異なる他の情報処理装置である。外部装置９は、情報処理装置１から取り外されたＳＳＤ１０に対して、例えば、ＲＳ−２３２Ｃ等の規格に基づいて制御部１０３に接続され、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶されたデータを読み出す機能を有する。
【００３４】
ＳＳＤ１０が実装される基板は、例えば、１．８インチタイプ又は２．５インチタイプのＨＤＤ（ハードディスクドライブ）と同等の外形サイズを有する。なお、本実施の形態では、１．８インチタイプと同等である。
【００３５】
制御部１０３は、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータのリードおよびライトを制御する。具体的には、制御部１０３は、ホスト装置８として機能する情報処理装置本体２からの要求（リードコマンド、ライトコマンド、等）に応じて、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータのリードおよびライトの実行を制御する。各ＮＡＮＤメモリは複数のセクタを有している。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈのセクタそれぞれに対するデータのリードおよびライトの実行の制御は、クラスタと称される所定数のセクタ群の単位で実行される。データの転送速度は、例えば、データ読出し時で１００ＭＢ／Ｓｅｃ、書込み時で４０ＭＢ／Ｓｅｃである。
【００３６】
ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの各々は、例えば記憶容量が１６ＧＢの不揮発性半導体メモリである。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの各々は、例えば、１つのメモリセルに２ビットを記録可能なＭＬＣ（マルチレベルセル）−ＮＡＮＤメモリ（多値ＮＡＮＤメモリ）から構成されている。ＭＬＣ−ＮＡＮＤメモリは、ＳＬＣ（シングルレベルセル）−ＮＡＮＤメモリに比較して書き換え可能回数は少ないが、ＳＬＣ（シングルレベルセル）−ＮＡＮＤメモリよりも記憶容量の大容量化は容易であるという特徴を有している。
【００３７】
ＤＲＡＭ１０５は、制御部１０３の制御によりＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータの読出し、書込みが行われる際に一時的にデータが格納されるバッファである。このＤＲＡＭ１０５は、ホスト装置８として機能する情報処理装置本体２からのライトデータを一時的に格納するライトキャッシュとして機能する。
【００３８】
コネクタ１０２は、シリアルＡＴＡ等の規格に基づいた形状を有する。なお、制御部１０３及び電源回路１０６は、別々のコネクタによりホスト装置８及び電源７にそれぞれ接続されていてもよい。
【００３９】
電源回路１０６は、電源７から供給されたＤＣ３．３Ｖを、例えば、ＤＣ１．８Ｖ、１．２Ｖ等に変換するとともに、それら３種類の電圧をＳＳＤ１０の各部の駆動電圧に合わせて各部に供給する。
【００４０】
＜ＳＳＤの記憶容量＞
図４は、ＳＳＤ１０の記憶容量及び記憶領域を示す概略図である
。ＳＳＤ１０の制御部１０３は、図４に示す、７種類の記憶容量１０４ａ〜１０４ｇを管理する。
【００４１】
記憶容量１０４ａは、ＮＡＮＤ  Ｃａｐａｃｉｔｙであり、すべてのＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶領域を用いた最大の記憶容量である。つまり、記憶容量１０４ａは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈそれぞれの物理記憶容量の合計値である。例えば、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶容量がそれぞれ１６ＧＢであるとき、記憶容量１０４ａは、１２８ＧＢである。記憶容量１０４ａ、つまりＮＡＮＤ  Ｃａｐａｃｉｔｙは、例えば、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）の製造情報書込みコマンドのＮＡＮＤ構成情報で与えられる。
【００４２】
記憶容量１０４ｂは、Ｍａｘ  Ｌｏｇｉｃａｌ  Ｃａｐａｃｉｔｙであり、論理ブロックアドレス（ＬＢＡ）でアクセスできる最大記憶容量である。
【００４３】
記憶容量１０４ｃは、Ｓ．Ｍ．Ａ．Ｒ．Ｔログ領域開始ＬＢＡであり、記憶容量１０４ｂと以下に説明する記憶容量１０４ｄとを分割するために設けられる。Ｓ．Ｍ．Ａ．Ｒ．Ｔログ領域開始ＬＢＡは、ログデータを格納する記憶領域の先頭ＬＢＡを示す。
【００４４】
記憶容量１０４ｄは、Ｖｅｎｄｅｒ  Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、ユーザ使用領域として与えられる最大の記憶容量である。記憶容量１０４ｄは、例えば、ＡＴＡ特殊コマンドの初期Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅデータで与えられる。また、記憶容量１０４ｄは、ＩＤＥＭＡ（The International Disk Drive Equipment and Materials Association）標準に基づき、製造元（Ｖｅｎｄｅｒ）においてＳＳＤ１０の設計段階で決定され、以下の式で表される。
【００４５】
LBA = 97,696,368 + (1,953,504,× ((Capacity in GB) - 50))
記憶容量１０４ｅは、ＯＥＭ  Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、ＯＥＭ（Original Equipment Manufacturer）の要求により製造時に決定する記憶容量である。記憶容量１０４ｅは、例えば、ＡＴＡ特殊コマンドの固有情報書込みで与えられる。また、記憶容量１０４ｅは、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｖｅｒｌａｙ  Ｆｅａｔｕｒｅ  Ｓｅｔがサポートされたとき、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｉｄｅｎｔｉｆｙコマンドで返される値である。
【００４６】
記憶容量１０４ｆは、Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、初期値は記憶容量１０４ｅと同値である。Ｆｅａｔｕｒｅ  ｓｅｔがサポートされたときは、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅｔコマンドで変更することができる値である。また、記憶容量１０４ｆは、Ｒｅａｄ  Ｎａｔｉｖｅ  Ｍａｘ  Ａｄｄｒｅｓｓ（ＥＸＴ）コマンドで返される値である。
【００４７】
記憶容量１０４ｇは、Ｃｕｒｒｅｎｔ  Ｃａｐａｃｉｔｙであり、ユーザの使用中における記憶容量で、初期値は記憶容量１０４ｆと同値である。Ｓｅｔ  Ｍａｘ  Ａｄｄｒｅｓｓコマンドで変更することができる。Ｉｄｅｎｔｉｆｙ  ＤｅｖｉｃｅコマンドのＷｏｒｄ６１：６０、Ｗｏｒｄ１０３：１００で返される値である。
【００４８】
また、ＳＳＤ１０の記憶領域は、各記憶容量１０４ａ〜１０４ｇの間にそれぞれ存在する。
【００４９】
記憶容量１０４ａと１０４ｂとの間の記憶領域（管理領域）には、ＳＳＤ１０を動作させるための管理データ１０７ａと、アドレス変換テーブル（論理／物理テーブル）１０８ａとが格納される。アドレス変換テーブル（論理／物理テーブル）１０８ａは、論理ブロックアドレスＬＢＡをＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶単位であるセクタに対応する物理アドレスに変換するためのアドレス管理テーブルである。このアドレス変換テーブル（論理／物理テーブル）１０８ａは、論理ブロックアドレスＬＢＡそれぞれとＮＡＮＤメモリ１０４Ａ〜１０４Ｈの物理アドレスそれぞれとの対応関係を示す。例えば、アドレス変換テーブル（論理／物理テーブル）１０８ａにおいては、クラスタ単位で論理ブロックアドレスＬＢＡとＮＡＮＤメモリ１０４Ａ〜１０４Ｈの物理アドレスとの対応関係が管理される。各クラスタは、上述したように所定数のセクタ群から構成されている。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの各々は複数のセクタを有している。
【００５０】
管理データ１０７ａ、論理／物理テーブル１０８ａの各々は、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈ内の固定領域に記録されるデータである。管理データ１０７ａ、論理／物理テーブル１０８ａの各々には、ＬＢＡは割り当てられていない。したがって、管理データ１０７ａ、論理／物理テーブル１０８ａの各々を、ＬＢＡをキーとしてアクセスすることはできない。制御部１０３は管理データ１０７ａ、論理／物理テーブル１０８ａの各々をアクセスするための固定アクセスパスを有しており、この固定アクセスパスを介して管理データ１０７ａおよび論理／物理テーブル１０８ａの各々に対するアクセスを実行する。
【００５１】
記憶容量１０４ｂと記憶容量１０４ｃとの間の記憶領域には、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Self-Monitoring Analysis and Reporting Technology）ログデータ１０７ｂが格納される。Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂは、例えば、温度情報等の統計情報である。また、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂに割り当てられたＬＢＡは、制御部１０３内で実行されるファームウエアがＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをアクセスするためにローカルに使用されるものである。制御部１０３内で実行されるファームウエアはＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをＬＢＡをキーにしてアクセスことができるが、ホスト装置８は通常のＲｅａｄ又はＷｒｉｔｅコマンドでＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをアクセスすることはできない。
【００５２】
記憶容量１０４ｃと１０４ｄとの間の記憶領域には、例えば、記憶容量２ＭＢの未使用の記憶領域が設定される。これは、ＬＢＡの最小記憶単位が８セクタであり、４ＫＢに相当する記憶単位（大きな記憶単位は１ＭＢ）であるのに対して、実際のデータの最小記録単位は当然１セクタであるため、記憶容量１０４ｃと１０４ｄとの間に１ＭＢ以上の記憶容量の空き記憶領域を設けることで、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂと、記憶容量１０４ｄ以下に記録されるデータとをそれぞれ独立して扱うためである。
【００５３】
記憶容量１０４ｄと１０４ｅとの間の記憶領域は、未使用であり特別な場合を除いて記憶容量１０４ｄと１０４ｅは同値である。
【００５４】
記憶容量１０４ｅと１０４ｆとの間の記憶領域は、ＯＥＭによって使用される記憶領域であり、上述したようにＯＥＭの要求で決定される固有情報１０７ｅが書き込まれる。
【００５５】
記憶容量１０４ｆと１０４ｇとの間の記憶領域は、ＯＥＭ又はユーザによって使用される記憶領域であり、ＯＥＭ又はユーザの設定によりデータの書込みが行われる。
【００５６】
記憶容量１０４ｇの記憶領域は、ユーザによって使用される記憶領域であり、ユーザの設定によりデータの書込みが行われる。
【００５７】
なお、記憶容量１０４ａ〜１０４ｇは、以下の式で表される関係を満たす。
【００５８】
記憶容量１０４ａ＞記憶容量１０４ｂ＞記憶容量１０４ｃ＞記憶容量１０４ｄ≧記憶容量１０４ｅ≧記憶容量１０４ｆ≧記憶容量１０４ｇ
製造元（Ｖｅｎｄｅｒ）からの出荷時、記憶容量１０４ｄ〜１０４ｇは同値となる。
【００５９】
＜ＮＡＮＤメモリの構成＞
図５は、本実施形態で用いられるＮＡＮＤメモリの概略構成図であり、図６は本実施形態で用いられる３種類の消去方法を説明するための模式図である。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈは、同じ機能及び構成を有しているので以下ではＮＡＮＤメモリ１０４Ａについて説明する。なお、クラスタ（記憶単位）１０４１及びセクタ１０４２の左に付された０〜７の番号は、クラスタ番号及びセクタ番号を示すものとする。また、図６に示すＦｒｅｅ１０７０とは、データの書込みが可能なブロック１０４０の集まり（第１の記憶領域）を模式的に表しており、Ａｃｔｉｖｅ１０７１とは、データの書込みが既に行われている書込済ブロック１０４０ａの集まり（第２の記憶領域）を模式的に表しており、Ｂａｄ  Ｂｌｏｃｋ１０７２とは、後述する誤り訂正ができなかった不良ブロック１０４３の集まり（第３の記憶領域）を模式的に表しており、Ｆｒｅｅ１０７０、Ａｃｔｉｖｅ１０７１及びＢａｄ  Ｂｌｏｃｋ１０７２は、各ブロック１０４０の状態を示すパラメータとして管理データ１０７ａに記憶されている。また、図６における斜線は、データが記憶されていることを示している。
【００６０】
ＮＡＮＤメモリ１０４Ａは、複数のブロック１０４０から構成されている。また、各ブロック１０４０は、１０２４個のクラスタ１０４１から構成されており、各クラスタ１０４１は、８のセクタ１０４２から構成されている。
【００６１】
１つのクラスタ１０４１のデータサイズに満たないライトデータの書込みを行うとき、制御部１０３は、管理データ１０７ａに基づいて、クラスタ１０４１を構成する所定数（例えば８つ）のセクタ１０４２の読出しを行ってそれらセクタのデータを一時的にＤＲＡＭ１０５に格納する。そして、制御部１０３は、ＤＲＡＭ１０５上において、読出しを行ったクラスタにライトデータの書込みを行い、ライトデータが書き込まれたクラスタをＤＲＡＭ１０５から該当するＮＡＮＤメモリのクラスタ１０４１に書込む。
【００６２】
図５において、斜線で示す不良ブロック１０４３とは、データの書き込みまたはデータの読み出し時にエラーが発生するブロックである。一例としては、例えば、ＳＳＤ１０の消去又はエラーが発生したブロック１０４０のことを示している。
【００６３】
＜動作＞
以下に、本実施形態における情報処理装置１の動作を、各図を参照しつつ、３種類の消去方法に着目して説明する。
【００６４】
まず、３種類の消去方法の概要について説明する。
【００６５】
制御部１０３は、論理／物理テーブル１０８ａを用いて、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶領域（ＮＡＮＤ記憶領域）に対するデータの書き込みおよび読み出しを制御する。制御部１０３は、ＮＡＮＤ記憶領域に格納された全てのユーザデータを消去するためのセキュリティーイレーズ機能を有している。
【００６６】
制御部１０３は、ＮＡＮＤ記憶領域に格納された全てのユーザデータを消去するための消去動作のモードとして、疑似消去モード、通常消去モード、拡張消去モードを有している。制御部１０３は、これら疑似消去モード、通常消去モード、拡張消去モードを選択的に使用して、ＮＡＮＤ記憶領域に対する消去動作を実行する。
【００６７】
疑似消去モードは、論理／物理テーブル１０８ａを初期化して、複数のブロック１０４０を含むＮＡＮＤ記憶領域をユーザデータが書き込まれていない状態に設定する第１消去モードである。論理／物理テーブル１０８ａを初期化する処理は、論理／物理テーブル１０８ａを、各論理ブロックアドレスＬＢＡに対応する物理アドレスが論理／物理テーブル１０８ａに書き込まれていない状態に設定する処理である。論理／物理テーブル１０８ａを初期化する処理では、制御部１０３は、例えば、各ＬＢＡに対応する物理アドレスを論理／物理テーブル１０８ａから削除する処理、または論理／物理テーブル１０８ａに格納された各ＬＢＡに対して、当該ＬＢＡに対応する記憶領域が未書き込み状態であること示すフラグをセットする処理を実行する。このように、論理／物理テーブル１０８ａを初期化することにより、ユーザデータが書き込まれている各ブロックは、結果的にユーザデータが未書き込みの状態、つまり未使用のフリーブロックとなる。このように、疑似消去モードにおいては、各ブロックを実際にイレーズする処理または各ブロックにゼロデータを書き込む処理は実行されず、その代わりに、論理／物理テーブル１０８ａが初期化される。これにより、すべてのブロックにゼロデータを書き込む処理等を行う場合に比し、高速にユーザデータを消去することが出来る。
【００６８】
ホスト装置８から疑似消去モードを指定するコマンド（特殊コマンド）を受信した時、制御部１０３は、論理／物理テーブル１０８ａを初期化して、各ブロックをユーザデータが未書き込みの状態に設定する。但し、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータに対応する物理アドレスは論理／物理テーブル１０８ａから削除されない。
【００６９】
ホスト装置８からのリードコマンドを受信した時、制御部１０３は、論理／物理テーブル１０８ａを参照して、リードコマンドに含まれるＬＢＡによって指定される記憶領域が未書き込み状態であるか否かを判別する。ＬＢＡによって指定される記憶領域が未書き込み状態であるならば、制御部１０３は、ＬＢＡによって指定される記憶領域が消去されていることを示す所定値（例えばゼロデータ）をホスト装置８に送出する。
【００７０】
通常消去モードは、論理／物理テーブル１０８ａを初期化して、複数のブロック１０４０を含むＮＡＮＤ記憶領域をユーザデータが書き込まれていない状態に設定し、且つＮＡＮＤ記憶領内に含まれる、不良ブロック以外の各ブロックをイレーズする第２消去モードである。すなわち、通常消去モードでは、論理／物理テーブル１０８ａを初期化することによって、ユーザデータが書き込まれている各ブロックをフリーブロックにする処理に加え、各フリーブロックをイレーズする処理（ブロックイレーズ処理）が実行される。通常消去モードでは、不良ブロックはイレーズ処理対象から除外される。不良ブロックはデータの書き込みまたはデータの読み出し時にエラーが発生するブロックである。
【００７１】
ホスト装置８から通常消去モードを指定するコマンドを受信した時、制御部１０３は、論理／物理テーブル１０８ａを初期化して、管理データ（Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータも含む）以外のデータ（ユーザデータ）を格納している各ブロックをユーザデータが未書き込みの状態（フリーブロック）に設定する。そして、制御部１０３は、全てのフリーブロックに対してブロックイレーズ処理を実行する。
【００７２】
拡張消去モードは、通常消去モードの消去動作に加え、各不良ブロックの消去を行う消去モードである。換言すれば、拡張消去モードは、論理／物理テーブル１０８ａを初期化してＮＡＮＤ記憶領域をユーザデータが書き込まれていない状態に設定し、且つＮＡＮＤ記憶領域内に含まれる、不良ブロックを含むブロックそれぞれをイレーズする第３消去モードである。
【００７３】
ホスト装置８から拡張消去モードを指定するコマンドを受信した時、制御部１０３は、論理／物理テーブル１０８ａを初期化して、管理データ（Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータも含む）以外のデータ（ユーザデータ）を格納している各ブロックをユーザデータが未書き込みの状態（フリーブロック）に設定する。そして、制御部１０３は、全てのフリーブロックと、各不良ブロックに対してブロックイレーズ処理を実行する。
【００７４】
以下、情報処理装置１の動作の一例について説明する。
【００７５】
ユーザが電源スイッチ２５を押下すると、その電源スイッチ２５の押下を検出したＥＣ１１１は、電源７から情報処理装置１の各部に電力の供給を開始する。そして、ＥＣ１１１は、ＢＩＯＳ１１２ａに基づいて情報処理装置１の起動を行う。
【００７６】
情報処理装置１の起動が完了すると、ユーザは表示装置３１の表示画面３１ａを視認しながら、タッチパッド２０及びキーボード２３ａを用いて情報処理装置１に対する操作を行う。
【００７７】
情報処理装置１は、ユーザによる操作を受け付けると、その操作に応じて所定の動作を行う。例えば、情報処理装置１のＣＰＵ１５が、ＳＳＤ１０に記憶されたデータを表示装置３１に表示する操作を受け付けた場合には、ＣＰＵ１１５は、データの読出しを命令するリードコマンドをＳＳＤ１０に送る。次に、ＳＳＤ１０の制御部１０３は、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈからデータの読出しを行い、そのデータをサウスブリッジ１１３及びノースブリッジ１１４を介して、ＧＰＵ１１６に送る。そして、ＧＰＵ１１６は、そのデータを表示装置３１に画像として表示する。
【００７８】
＜疑似消去＞
図７は、本実施形態で用いられる第１消去モードとしての疑似消去モードの例を示すフローチャートである。まず、疑似消去１０Ａの方法の例について図７のフローチャートに従って説明する。
【００７９】
ユーザは、例えばアプリケーションの操作によって表示装置３１の表示画面３１ａに表示
された画像に対してタッチパッド２０及びキーボード２３ａを介して操作を行い、ＳＳＤ１０に保存された例えば書類の消去をタッチパッド２０及びキーボード２３ａを用いて指示し（ステップＳ１）、ＣＰＵ１１５は、ＳＳＤ１０に対して消去指示された書類のデータ（所定の情報）の消去を命令する。
【００８０】
ＳＳＤ１０の制御部１０３は、ＣＰＵ１１５からの命令をコネクタ１０２を介して受信すると、各ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの管理データ１０７ａを参照し、書類のデータが記憶されているＮＡＮＤメモリを検索する。制御部１０３は、管理データ１０７ａに基づいて、例えば、消去対象となる書類のデータが、図６に示す、状態がＡｃｔｉｖｅ１０７１であるブロック１０４４に含まれるセクタ（例えば、図５に示すブロック１０４０に含まれるセクタ１０４２ａ）に記憶されているか否かを判定する。消去対象となる書類のデータが、状態がＡｃｔｉｖｅ１０７１であるブロック１０４４に含まれるセクタに記憶されているならば、制御部１０３は、このブロック１０４４に対応する管理データ１０７ａの状態をＡｃｔｉｖｅ１０７１からＦｒｅｅ１０７０へと更新する（ステップＳ２）。なお、ブロック１０４４は、消去対象となる書類のデータのみを記憶するものとする。
【００８１】
上記した消去の方法を疑似消去１０Ａと呼び、消去対象であった書類のデータの管理データ１０７ａの状態の更新を行うだけであり、書類のデータそのものを消去しないので、高速に行うことができる。この消去方法では、例えば、機密性の高いデータが記憶されているＳＳＤ１０を廃棄する場合、データそのものはＳＳＤ１０に残っているため、データを読み出される可能性がある。
【００８２】
なお、ここでは、疑似消去１０Ａを特定の一つのブロックに対する消去に適用した場合を説明したが、疑似消去１０Ａは、管理データ以外のデータ（ユーザデータ）が書き込まれている全てのブロックに対して適用し得る。すなわち、ＣＰＵ１１５から疑似消去モードを指定するコマンド（特殊コマンド）を受信した時、制御部１０３は、論理／物理テーブル１０８ａを初期化して、ユーザデータが書き込まれている各ブロック（アクティブ状態の各ブロック）をユーザデータが未書き込みの状態（フリーブロック）に設定する。これにより、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータを格納しているブロック等以外の他のほとんど全てのブロックはフリーブロックとなる。
【００８３】
＜通常消去＞
図８は、本実施形態に係る第２の消去としての通常消去についてのフローチャートである。続いて、通常消去１０Ｂの方法について図８のフローチャートに従って説明する。なお、以下における説明において、疑似消去１０Ａと共通の動作は省略するものとする。
【００８４】
上記した疑似消去１０Ａと同様に、ユーザによって書類の消去が指示されたとき（ステップＳ３）、制御部１０３は、管理データ１０７ａに基づいて、例えば、消去対象となる書類のデータが、図６に示す、状態がＡｃｔｉｖｅ１０７１であるブロック１０４５のセクタ（書込済セクタ）１０４２ａに記憶されているとき、ブロック１０４５をブロック消去することによってブロック１０４５に記憶されたデータを消去し、ブロック１０４５に対応する管理データ１０７ａの状態をＡｃｔｉｖｅ１０７１からＦｒｅｅ１０７０へと更新する（ステップＳ４）。なお、ブロック１０４５は、消去対象となる書類のデータのみを記憶するのもとする。
【００８５】
上記した消去の方法を通常消去１０Ｂと呼び、消去対象であった書類のデータの消去を行い、管理データ１０７ａを更新する。この通常消去１０Ｂは、例えば、機密性の高いデータが記憶されているＳＳＤ１０を廃棄する場合、疑似消去１０Ａに比べて確実な消去が行える。しかし、このＢａｄ  Ｂｌｏｃｋ１０７２の状態にある不良ブロック１０４３に記憶されたデータの消去を行わないため、機密性の高いデータの読み出しを不可能にする完全消去が行われたとはいえない。
【００８６】
なお、ここでは、通常消去１０Ｂを特定の一つのブロックに対する消去に適用した場合を説明したが、通常消去１０Ｂは、管理データ以外のデータ（ユーザデータ）が書き込まれている全てのブロックに対して適用し得る。すなわち、ＣＰＵ１１５から通常消去モードを指定するコマンドを受信した時、制御部１０３は、まず、論理／物理テーブル１０８ａを初期化して、ユーザデータが書き込まれている各ブロック（アクティブ状態の各ブロック）をユーザデータが未書き込みの状態（フリーブロック）に設定する。この後、制御部１０３は、ＮＡＮＤ記憶領内に含まれる、不良ブロック以外の各ブロック、つまり全てのフリーブロックの各々をブロック消去によってイレーズする。
【００８７】
次に、機密性の高いデータの読み出しを不可能にする完全消去の方法である拡張消去１０Ｃについて説明する。
【００８８】
＜拡張消去＞
図９は、第３の消去としての拡張消去についてのフローチャートである。
【００８９】
拡張消去１０Ｃは、ＳＳＤ１０の全てのデータ（ユーザデータ）の削除を行う。一例として、情報処理装置１の起動に必要なオペレーティングシステムが記憶された光ディスクをＯＤＤ２７に挿入し、この光ディスクから情報処理装置１を起動し、ＳＳＤ１０の拡張消去１０Ｃが実行可能なアプリケーションを起動する場合を想定する。
【００９０】
ユーザは、一例として、表示画面３１ａに表示された消去項目を見ながらタッチパッド２０及びキーボード２３ａを用いて拡張消去１０Ｃを指示し（ステップＳ５）、ＣＰＵ１１５は、ＳＳＤ１０に対して拡張消去１０Ｃを命令する。
【００９１】
ユーザによってＳＳＤ１０の拡張消去１０Ｃが指示されたとき、制御部１０３は、Ｆｒｅｅ１０７０、Ａｃｔｉｖｅ１０７１及びＢａｄ  Ｂｌｏｃｋ１０７２に記憶されたすべてのデータの消去、及び管理データ１０７ａの更新を行う（ステップＳ６）。管理データ１０７ａの更新とは、Ａｃｔｉｖｅ１０７１及びＢａｄ  Ｂｌｏｃｋ１０７２の状態にあるブロック１０４３及びブロック１０４０をＦｒｅｅ１０７０の状態へと更新することである。
【００９２】
上記した消去方法を拡張消去１０Ｃと呼び、Ｂａｄ  Ｂｌｏｃｋ１０７２を含めた消去であるから、他の消去方法に比べてデータを確実に消去できる。この拡張消去１０Ｃは、例えば、機密性の高いデータが記憶されているＳＳＤ１０を廃棄する場合に適している。
【００９３】
なお、拡張消去１０Ｃの実行については上記した光ディスクに格納されたアプリケーションの起動によるものでなく、コマンド操作等によって行うものであっても良い。
【００９４】
ステップＳ６においては、例えば、以下の処理が実行される。すなわち、ホスト装置８から拡張消去モードを指定するコマンドを受信した時、制御部１０３は、論理／物理テーブル１０８ａを初期化して、管理データ（Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータも含む）以外のデータ（ユーザデータ）を格納している各ブロックをユーザデータが未書き込みの状態（フリーブロック）に設定する。そして、制御部１０３は、全てのフリーブロックと、各不良ブロックに対してブロックイレーズ処理を実行する。
【００９５】
上記した実施の形態によれば、疑似消去１０Ａは各ブロックを高速にデータ未書き込み状態に設定することが出来る。通常消去１０Ｂは、各ブロック内のデータも実際に消去するので、疑似消去１０Ａに比べて、データ消去の確実性に優れる。また、拡張消去１０Ｃは、通常消去１０Ｂにおいて消去されなかったＢａｄ  Ｂｌｏｃｋ１０７２をも消去されるので、例えば、機密性の高いデータが記憶された情報処理装置１又はＳＳＤ１０からの情報の漏洩を防止し、情報処理装置１又はＳＳＤ１０を安全に廃棄することができる。
【００９６】
したがって、本実施形態では、これら疑似消去モード、通常消去モード、拡張消去モードを用途に応じて選択的に使用することが出来る。
【００９７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図１】
0004829342.tif 000002
【図２】
0004829342.tif 000003
【図３】
0004829342.tif 000004
【図４】
0004829342.tif 000005
【図５】
0004829342.tif 000006
【図６】
0004829342.tif 000007
【図７】
0004829342.tif 000008
【図８】
0004829342.tif 000009
【図９】
0004829342.tif 000010