(57)【要約】【課題】本来はファイルシステムの構造を知ることができない記憶装置において、ファイル単位で確実にデータを消去することのできる記憶装置を提供する。【解決手段】複数のファイルの内容を記憶するデータ領域と複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置において、記憶装置は、記憶領域と、ファイルシステムがファイルを消去する動作を行ったことを検出するファイルシステムモニタ手段と、ファイルシステムモニタ手段がファイルを消去する動作を検出した場合に、記憶領域中の消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行う制御手段とを有する。【選択図】図１
2014206967.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルの内容を記憶するデータ領域と前記複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置において、前記記憶装置は、
記憶領域と、
前記ファイルシステムがファイルを消去する動作を行ったことを検出するファイルシステムモニタ手段と、
前記ファイルシステムモニタ手段がファイルを消去する動作を検出した場合に、前記記憶領域中の前記消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行う制御手段とを有することを特徴とする記憶装置。
【請求項２】
前記記憶領域はブート領域を含み、
前記ファイルシステムモニタ手段はブート領域より前記管理領域が確保される領域のアドレスを取得し、前記管理領域のデータの変更を検出することによって前記ファイルシステムがファイルを消去する動作を行ったことを検出することを特徴とする請求項１記載の記憶装置。
【請求項３】
前記ファイルシステムモニタ手段は、前記管理領域のバックアップを作成し、前記管理領域のデータが変更されたかどうかを前記バックアップと比較することによって検出し、この検出がなされた管理領域のデータの変更がファイルの消去に相当するかどうかを判断することを特徴とする請求項１記載の記憶装置。
【請求項４】
請求項１ないし３いずれか記載の記憶装置において、さらに、電池及びタイマを有し、前記制御手段は、前記タイマが所定時間の経過を検出した場合に前記ファイルに対応する領域を復元不能な状態に消去し又は書き込みを行うことを特徴とする記録媒体。
【請求項５】
請求項１ないし４いずれか記載の記憶装置において、さらに、暗号化／復号化装置を有し、前記制御手段は、ファイルシステムから供給されたファイルの内容を前記暗号化／復号化装置によって暗号化したデータをファイルに対応する領域に書き込み、ファイルに対応する領域から読み出したデータを前記暗号化／復号化装置によって復号してファイルシステムに供給することを特徴とする記録媒体。
【請求項６】
複数のファイルの内容を記憶するデータ領域と前記複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置において、前記記憶装置は、
記憶領域と、
前記ファイルシステムがファイルを指定する論理アドレスと前記記憶領域中の領域を指定する物理アドレスとの変換情報を記憶する論理物理アドレス変換テーブルと、
前記ファイルシステムがファイルを消去する動作を行ったことを検出するファイルシステムモニタ手段と、
前記ファイルシステムモニタ手段がファイルを消去する動作を検出した場合に、前記論理物理アドレス変換テーブルにおける前記ファイルのデータの論理アドレスと前記記憶領域中の前記消去されたファイルに対応する領域の物理アドレスとの対応関係を解消する制御手段とを有することを特徴とする記憶装置。
【請求項７】
請求項６記載の記憶装置において、前記制御手段は、前記対応関係が解消された直後に前記記憶領域中の前記消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行うことを特徴とする記憶装置。
【請求項８】
請求項６記載の記憶装置において、前記制御手段は、前記対応関係の解消の後に、ファイルを消去する動作とは独立の時点に、前記記憶領域中の前記消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行うことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に関する。特に、複数のファイルの内容を記憶するデータ領域と前記複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置に関する。
【背景技術】
【０００２】
ファイルシステムは、ファイルというサイズが可変なデータ（情報）の固まりを、ディスク装置（補助記憶装置）等の記憶装置に記憶させ、読み出すことができるように管理・制御を司るソフトウェアである。多くの場合、ファイルシステムはオペレーティングシステムの構成要素とされている。
【０００３】
ファイルシステムは、記憶装置の記憶領域に、ファイル名、サイズ、日付等の属性情報、ディスク上のどの領域に何を保存するかの割当情報、データ本体を記憶する領域をそれぞれ定義し確保する。そして、ファイルシステムは、これらの属性情報、割当情報及びデータ本体を取り扱うが、ディスク装置に対しては、固定データ長のデータの授受というかたちに分解して命令を与えている。
【０００４】
本明細書を通じて、ファイルシステム及びこれを利用するアプリケーションからみた記憶装置の挙動をＬｖ１（レベル１）と呼ぶ。
【０００５】
記憶装置側では、データの内容や意味付けには関知しない。ファイルシステムからは、デバイスドライバという制御ソフトウェアを介して、上記固定データ長のデータの授受命令を受け、それを実行する。つまり、単純に、指定アドレス領域のデータの書き込み／読み出しを行うだけである。記憶装置側においては、ファイルを削除しているというファイルシステム上の動作を検知することはなかった。
【０００６】
本明細書を通じて、記憶装置内部での動作をＬｖ２（レベル２）と呼ぶ。
【０００７】
記憶装置がフラッシュメモリ等の不揮発性半導体記憶装置で構成される場合、記憶装置内部では、ファイルシステムから提供されるところの命令をインターフェース装置が受領し、このなかに含まれる論理アドレスを物理アドレスに変換し、物理アドレスによって指定されたデータ領域にデータが書き込まれる。データが読み出される場合も同様である。つまり、ＬＶ１においては論理アドレスによって書き込み／読み出しがなされるが、ＬＶ２において、これが物理アドレスに変換され、変換後の物理アドレスによって指定される領域（ブロック）に対して書き込みがなされ、読み出しがなされる。
【０００８】
従来より、主としてＮＡＮＤ型フラッシュメモリを用いたＵＳＢメモリ等に、パーソナルコンピュータ等で生成したファイルを保存することがなされてきた。しかしながら、ＵＳＢメモリ等は紛失のおそれがあり、保存ファイルが個人情報等のセンシティブな内容であったり、厳格な秘密管理が必要な営業秘密を含む内容の場合には、莫大な事業損失が発生するおそれがある。そこで、一定の基準で手作業でファイルを消去したり、一定のタイミングでファイルを消去するアルゴリズムをパーソナルコンピュータ上にソフトウェアによって実装することが行われていた。
【０００９】
しかしながら、ＮＡＮＤ型フラッシュメモリを用いたＵＳＢメモリ等にファイルを記録する際には、記憶領域をデータ領域とファイル管理領域に分けられるところ、ＮＡＮＤ型フラッシュメモリを用いたＵＳＢメモリ等のファイルの削除は、ファイル管理領域のデータを書き換えることよって対応するファイルが「削除」されたことにするだけである。ＵＳＢメモリ等の媒体をフォーマットしても、管理領域が消去されてデータ領域におけるファイルの開始アドレスが特定できなくなるのでファイルの読み出しが困難になるというだけである。したがって、ファイルを復元不能に消去するには、ＦＦや００といった固定データを全データ領域に書き込む必要がある。そして、そのようなソフトウェアも知られている。
【００１０】
従来は、不揮発性半導体記憶装置のデバイスドライバによって秘密情報が記憶されたデータを無効化してセキュリティ向上をはかることが提案されていた（下記特許文献１）。しかし、本来はファイルシステムの構造を知ることが出来ない記憶装置において、セキュリティの向上をはかることは困難であった。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−１０８３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、本来はファイルシステムの構造を知ることができない記憶装置において、ファイル単位で確実にデータを消去することのできる記憶装置を提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の一実施形態においては、複数のファイルの内容を記憶するデータ領域と複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置において、この記憶装置は、記憶領域と、ファイルシステムがファイルを消去する動作を行ったことを検出するファイルシステムモニタ手段と、ファイルシステムモニタ手段がファイルを消去する動作を検出した場合に、記憶領域中の消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行う制御手段とを有することを特徴とする。
【００１４】
さらに、記憶領域はブート領域を含み、ファイルシステムモニタ手段はブート領域より管理領域が確保される領域のアドレスを取得し、管理領域のデータの変更を検出することによってファイルシステムがファイルを消去する動作を行ったことを検出するようにしてもよい。
【００１５】
ファイルシステムモニタ手段は、管理領域のバックアップを作成し、管理領域のデータが変更されたかどうかをバックアップと比較することによって検出し、この検出がなされた管理領域のデータの変更がファイルの消去に相当するかどうかを判断するようにしてもよい。
【００１６】
さらに、電池及びタイマを有し、制御手段は、タイマが所定時間の経過を検出した場合にファイルに対応する領域を復元不能な状態に消去し又は書き込みを行うようにしてもよい。
【００１７】
さらに、暗号化／復号化装置を有し、制御手段は、ファイルシステムから供給されたファイルの内容を暗号化／復号化装置によって暗号化したデータをファイルに対応する領域に書き込み、ファイルに対応する領域から読み出したデータを暗号化／復号化装置によって復号してファイルシステムに供給してもよい。
【００１８】
上記課題を解決するため、本発明の一実施形態においては、複数のファイルの内容を記憶するデータ領域と複数のファイルを管理する管理領域とを記憶装置の記憶領域中に確保するファイルシステムを動作させるコンピュータと接続された記憶装置において、記憶装置は、記憶領域と、ファイルシステムがファイルを指定する論理アドレスと記憶領域中の領域を指定する物理アドレスとの変換情報を記憶する論理物理アドレス変換テーブルと、ファイルシステムがファイルを消去する動作を行ったことを検出するファイルシステムモニタ手段と、ファイルシステムモニタ手段がファイルを消去する動作を検出した場合に、論理物理アドレス変換テーブルにおけるファイルのデータの論理アドレスと記憶領域中の消去されたファイルに対応する領域の物理アドレスとの対応関係を解消する制御手段とを有することを特徴とする。
【００１９】
さらに、制御手段は、対応関係が解消された直後に記憶領域中の消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行ってもよい。
【００２０】
さらに、制御手段は、対応関係の解消の後に、ファイルを消去する動作とは独立の時点に、記憶領域中の消去されたファイルに対応する領域を復元不能な状態に消去し又は書き込みを行ってもよい。
【発明の効果】
【００２１】
本発明によれば、ファイル単位で確実にデータを消去し、ファイルの漏出事故を可及的に防止した記憶装置を提供することを課題とする。本発明のその他の効果は以下の関連箇所で言及する。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例１にかかるファイルシステム及び記憶装置の構成を示したブロック図である。
【図２】本発明の実施例２にかかるファイルシステム及び記憶装置の構成を示したブロック図である。
【図３】コントローラ／ファイルシステム部の構成図である。
【図４】コマンドに対する各種の処理を示した図である。
【図５】記憶領域を論理アドレスによってマッピングしたメモリマッピングである。
【図６】ＭＰＵで実行されるプログラムの構成である。
【図７】ＦＡＴ領域のモニタ方法を示すフローチャートである。
【図８】実施例３にかかる記憶装置の構成を示したブロック図である。
【図９】実施例４にかかる記憶装置の構成を示したブロック図である。
【図１０】論理物理アドレス変換テーブルの例である。
【図１１】実施例５にかかるＦＡＴ領域のモニタ方法を示すフローチャートである。
【図１２】実施例６にかかるＦＡＴ領域のモニタ方法を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明を実施するための形態を実施形態として説明する。なお、本発明は、以下に説明する実施形態に何ら限定されることはない。以下に説明する実施形態を種々に変形して本発明を実施することが可能である。
【実施例１】
【００２４】
図１は、本発明の第１の実施形態にかかるファイルシステム１１及び記憶装置１３（ホストとなるシステムに対して、外部ディスク、補助記憶装置、データ記憶メモリなどと言われることがある。）の構成を示したブロック図である。
【００２５】
図示しないコンピュータは、ＣＰＵ、主記憶、ディスプレイ及びディスプレイインターフェース、キーボード及びキーボードインターフェース等から構成される。主記憶上にはオペレーティングシステム（ＯＳ）とアプリケーションソフトウェア（ＡＳ）がロードされる。ＯＳはＡＳの実行を管理し、ディスプレイインターフェースやキーボードインターフェースを制御するカーネル部分と、ユーザインターフェース部分とから構成される。ＯＳやＡＳは、記憶装置１３の記憶領域１５に格納され、起動時に主記憶にロードされる。このような構成のコンピュータをホストと呼ぶ。
【００２６】
ＯＳはその一部としてファイルシステムを含む。前述したとおり、ファイルシステムは、ファイルというサイズが可変なデータ（情報）の固まりを、ディスク装置（補助記憶装置）等の記憶装置に記憶させ、読み出すことができるように管理・制御を司るソフトウェアである。
【００２７】
ファイルシステムは、記憶装置の記憶領域に、ファイル名、サイズ、日付等の属性情報、ディスク上のどの領域に何を保存するかの割当情報、データ本体を記憶する領域をそれぞれ定義し確保する。そして、ファイルシステムは、これらの属性情報、割当情報及びデータ本体を取り扱うが、ディスク装置に対しては、固定データ長のデータの授受というかたちに分解して命令を与えている。ファイルシステムの例として、ＦＡＴ、ｅｘｔ４などがある。
【００２８】
ファイルシステム及びこれを利用するＡＳからみた記憶装置の挙動をＬｖ１（レベル１）と呼ぶ。
【００２９】
記憶装置１３では、データの内容や意味付けには関知しない。ファイルシステムからは、デバイスドライバ１２という制御ソフトウェアを介して、上記固定データ長のデータの授受命令を受け、それを実行する。
【００３０】
記憶装置１３はインターフェース１４、記憶領域１５、ディスクコントローラ１７及び、本発明にて追加されたファイルシステムモニタ／完全消去制御部１６を有する。本明細書を通じて、記憶装置１３での動作をＬｖ２（レベル２）と呼ぶ。記憶装置１３の形状は、既存のディスク装置がとりうるものはいずれでもよく、既存のディスク装置とは異なった形状であってもよい。
【００３１】
記憶領域１５は、ハードディスク、ＲＡＭ、相変化メモリ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ等で構成することも可能であるが、本発明においては、フラッシュメモリ等の不揮発性半導体記憶装置で構成することが望ましい。
【００３２】
インターフェース１４は、ＵＳＢメモリで利用されるＵＳＢインターフェース、ＳＤカードで用いられるＳＤ／ＭＭＣインターフェース、各種ディスクドライブに用いられるＡＴＡやＳＣＳＩを用いることができる。
【００３３】
ディスクコントローラ１７は、主として、論理アドレスと物理アドレスの変換を行う。記憶領域１５がハードディスクの場合には、論理アドレスを取得すると、これをヘッド位置、シリンダアドレス、セクタアドレスといった各種物理アドレスに変換してデータの読み出し及び書き込みを行う。記憶領域１５が不揮発性半導体記憶装置の場合は、論理アドレスを取得すると、これをフラッシュメモリの物理アドレスに変換する。不揮発性半導体記憶装置においては、書き込み回数が大きくないという制限があるため、特定の論理アドレスに対応するページデータの変更（更新）は、別の物理アドレスに対応するページへの新たな書き込みというかたちで行う。そして、複数の物理アドレスに対応する各ページへの書き込み回数を平準化するような処理を行う。これをウェアレベリングという。さらに、ページデータの変更（更新）に伴い使用されなくなった物理アドレスに対応するページのデータを次に使用可能な状態にする。これをガベージコレクションという。
【００３４】
ファイルシステムモニタ／完全消去制御部１６は記憶装置１３のなかに存在し、ＬＶ２に属するものでありながら、ＬＶ１に属するファイルシステムの挙動を解析し解釈して、ファイルの削除を検出する。すなわち、記憶領域１５を読み取り、これを解釈することによってファイルシステムがどのように構成されているか、特に、複数のファイルを管理する管理領域が記憶領域１５のどの領域に存在するかを検出する。そして、その管理領域をモニタすることによって、対象ファイルが削除されたことを判定する。対象ファイルが削除されたことを判定すると、実データが記憶されているデータ領域を記憶領域１５内で特定し、その特定された領域に対して復元不能な状態となるように消去し又は書き込みを行う。
【００３５】
ディスクコントローラ１７及びファイルシステムモニタ／完全消去制御部１６は同じ半導体チップにて構成され、同一のＣＰＵで動作する制御プログラムとして実装されてもよい。
【００３６】
記憶領域１５がフラッシュメモリで構成されている場合には、消去はブロック単位で、書き込みはブロックよりも小さいページ単位で行われる。ファイルの実データが記憶されているブロックを消去すれば、それのみでファイルは復元不能な状態となる。書き込みの場合はファイルの実データが記憶されているページに同一データやランダムデータを書き込むことによって復元不能な状態となる。記憶領域１５がハードディスクで構成されている場合には、ファイルに対応する実データが記憶されているセクタを上書きをすることによって復元不能な状態となる。
【００３７】
以上のように構成すると、記憶装置１３において、ファイルシステムが搭載されたかのように振る舞うことが可能であり、ファイルデータ位置を特定することが可能になる。そして、適切なタイミングでファイルのデータに対応する領域を復元不能な状態へ消去又は書き込み（完全消去）することによって、ファイルを完全に削除することが可能となり、ファイルの漏洩が不可能となる。
【００３８】
ファイルの完全削除のタイミングは、ホスト側から明示的に「完全削除コマンド」を供給することによって行っても良いが、本発明のように、記憶装置１３でファイル属性情報とファイル割当表の情報をモニタして変化を検出し、そのタイミングで完全消去をすることが可能となる。
【実施例２】
【００３９】
続いて、本発明の実施例２を図２〜７において示す。実施例１と同一の構成要素については同一の参照符号を付して説明を省略する。この実施例２では、ファイルシステム１１はＦＡＴであり、記憶領域１５は不揮発性半導体記憶装置で構成されている。コントローラ／ファイルシステム部１８には、論理アドレスと物理アドレスの変換、ウェアレベリング、ガベージコレクション、ファイルシステムのモニタ、完全消去等の機能が実装されている。
【００４０】
記憶領域１５は複数のフラッシュメモリチップ１９から構成される。フラッシュメモリは、一括消去単位である複数のブロックから構成され、各消去ブロックは同時書き込み単位である複数のページから構成される。１つのフラッシュメモリチップ１９は、例えば、４つのバンクを有し、１つのバンクは１６のブロックを有し、１つのブロックは４０９６ページを有し、それぞれのページは２ｋビット、すなわち１２８ワードから構成される。
【００４１】
コントローラ／ファイルシステム部１８には、前述したとおり、論理アドレスと物理アドレスの変換、ウェアレベリング、ガベージコレクション、ファイルシステムのモニタ、完全消去等の機能が実装されている。コントローラ／ファイルシステム部１８は、マイクロコントローラと外付けメモリ、ＦＰＧＡ又はカスタムロジック等で実現される。
【００４２】
図３にコントローラ／ファイルシステム部１８のブロック図を示す。コントローラ／ファイルシステム部１８は、インターフェース１４と接続される入出力ラッチ２１、記憶領域１５と接続される入出力ラッチ２２、内部バス２６、ＭＰＵ２３、ＭＰＵ２３で実行されるコードを格納するプログラムメモリ２４及び処理中のデータを一時的に格納するデータメモリ２５から構成される。データメモリ２５には論理アドレス・物理アドレス変換テーブルが展開される。
【００４３】
図４に、インターフェース１４経由で受けとったコマンドに対する各種の処理を図示する。読み出しコマンド（ｒｅａｄ）を受け取ると、コントローラ／ファイルシステム部１８はこのコマンドを解釈し、論理アドレスと物理アドレスの変換処理（Ａ１）を行う。そして、入出力ラッチ２２を介して、フラッシュメモリ19に変換された物理アドレスの領域にｒｅａｄ動作を行うよう指示する。書き込みコマンド（ｗｒｉｔｅ）を受け取ると、コントローラ／ファイルシステム部１８はこのコマンドを解釈し、論理アドレスと物理アドレスの変換処理を行う。もし対象物理アドレスが使用中の場合には未使用領域に割り当て直しを行い、論理アドレス・物理アドレステーブルを更新し、対象物理アドレスが使用中でなければそのままこれを用いる（Ａ２）。そして、入出力ラッチ２２を介して、フラッシュメモリ１５に変換された物理アドレスの領域にｐｒｏｇｒａｍ動作を行うよう指示する。削除コマンド（ｄｅｌｅｔｅ）を受け取ると、コントローラ／ファイルシステム部１８はこのコマンドを解釈し、未使用領域の割り当て直しは行わず、従前のデータ領域に対して処理を行うことによって、前データを復元できなくする。そして、論理アドレスに対応する物理アドレスの領域にｅｒａｓｅ動作又はｐｒｏｇｒａｍ動作を行うよう指示する。ここでｐｒｏｇｒａｍ動作は全ビットが同一データ又はランダムデータとなるようにして、復元が不可能になるようにする。
【００４４】
図５は、記憶領域１５を論理アドレスによってマッピングしたメモリマッピング３０である。実施例２においてはファイルシステム１１としてＦＡＴを用いる。ＦＡＴにおいては、管理領域３１が定義され、これが記憶領域１５のいずれかに記憶されている。そして、管理領域３１には、ファイル名、サイズ、日付等の属性情報、ファイルの割当情報（論理アドレス）が記憶される。図５に示す例は、ｆｉｌｅ１とｆｉｌｅ２のデータが、それぞれデータ領域３２、３３に記憶される。そして、管理領域３１には、データ領域３２、３３の先頭アドレス（ファイルポインタ）が記憶される。ＦＡＴファイルシステムにおいてはブート領域が予め定義されており、そのブート領域にＦＡＴ領域がどの領域であるかが定義されている。具体的には、先頭アドレスとＦＡＴ領域のサイズが記憶されている。
【００４５】
図６は、ＭＰＵ２３で実行されるプログラム４０の構成であり、プログラムメモリ２４に格納されている。プログラム４０は、コマンド処理部４１、論理アドレス・物理アドレス変換部４２、ｒｅａｄ処理部４３、ｐｒｏｇｒａｍ処理部４４、ｅｒａｓｅ処理部４５、ファイルシステムモニタ部４６等から構成される。
【００４６】
コマンド処理部４１は、インターフェース１４及び入出力ラッチ２１を介して供給される読み出し、書き込み及び削除コマンドを解釈するプログラム群である。
【００４７】
論理アドレス・物理アドレス変換部４２は、データメモリ２５に展開された論理アドレス・物理アドレス変換テーブルを利用して、アドレス変換を行うプログラム群である。ウェアレベリング及びガベージコレクションもこの機能を利用する。
【００４８】
ｒｅａｄ処理部４３、ｐｒｏｇｒａｍ処理部４４及びｅｒａｓｅ処理部４５は、それぞれ、フラッシュメモリに対して、変換された物理アドレスに対応する領域についてｒｅａｄ、ｐｒｏｇｒａｍ及びｅｒａｓｅ命令を発行し、フラッシュメモリから読み出されたデータをデータメモリ２５に格納する処理を行う。
【００４９】
ファイルシステムモニタ部４６は、ＦＡＴ領域検出部４７、ＦＡＴモニタ部４８及び無効化処理部４９から構成される。ＦＡＴ領域検出部４７は起動時又はバックグラウンドで動作するプログラムであって、ブート領域に記録されたデータを読み出すことによってＦＡＴ領域を特定する。ＦＡＴモニタ部４８は、特定されたＦＡＴ領域へのアクセスを常にモニタしており、ＦＡＴ領域に変化があり、かつ、ファイルシステムにおいてファイルが削除される場合に行われる処理の有無を検出する。無効化処理部４９は、ＦＡＴモニタ部４８によってファイル削除が検出された場合に、そのファイルの実体データが格納されていたページに対して無効化処理を行う。無効化処理とは、具体的には、ファイルの実データが記憶されているブロックを消去してファイルを復元不能な状態とするか、ファイルの実データが記憶されているページに同一データやランダムデータを書き込むことによって復元不能な状態とする処理である。
【００５０】
図７はＦＡＴ領域のモニタ方法を示すフローチャートである。予め、ＦＡＴ領域検出部４７によって、ＦＡＴ領域を特定し、その領域のバックアップ５１を作成する。このバックアップは記憶領域１５に展開しても良いが、データメモリ２５に展開するのが望ましい。コマンド処理部４１がコマンドを解釈して、ＦＡＴ領域内へのアクセスを検出した場合には、ＦＡＴモニタ部４８が、そのアクセスの対象データとバックアップ５１の対応部分とを比較する（ステップ５２）。ＦＡＴ領域の値が非ゼロからゼロに変更になった場合（ＦＡＴ１６ファイルシステムの場合は２バイト分のゼロ並びが生じた場合、ＦＡＴ３２の場合は４バイト分のゼロ並びが生じた場合）は、ファイルの削除があったものと解釈する（ステップ５３）。そして、ファイルの削除があったものと解釈されたら、無効化処理部４９がファイルの実体領域に対して無効化処理を行う（ステップ５４）。続いて、バックアップ５１を変更された内容へ更新する（ステップ５５）。以上の、ステップ５２〜５５を繰り返す。
【００５１】
実施例２においてはファイルシステムにとしてＦＡＴを用いたが、ＮＴＦＳやｅｘｔ４等のファイルシステムにおいても同様の管理領域が存在するため、これらを用いてもよい。また、ＩＳＯ９６６０などで規定された書き込み手順に準拠することも可能である。
【実施例３】
【００５２】
本発明の実施例３にかかる記憶装置のブロック図を図８に示す。実施例１乃至２と同一の構成要素については同一の参照符号を付して説明を省略する。本発明の実施例３にかかる記憶装置は、実施例２の記憶装置に、電池６１及びタイマ６２を付加したものである。そして、タイマが所定時間の経過を検出した場合には、コントローラがファイルに対応する領域を復元不能な状態に消去し又は書き込みを行う。
【００５３】
このような構成によって、効果的に消し忘れを防止することができ、機密ファイルの漏洩を一段と高いレベルで防止することができる。
【実施例４】
【００５４】
本発明の実施例４にかかる記憶装置を図９に示す。実施例１乃至２と同一の構成要素については同一の参照符号を付して説明を省略する。本発明の実施例４にかかる記憶装置は、実施例２の記憶装置に、暗号化／復号化装置６３を付加したものである。そして、ファイルシステムから供給されたファイルの内容を暗号化／復号化装置６３によって暗号化したデータをファイルに対応する領域に書き込み、ファイルに対応する領域から読み出したデータを暗号化／復号化装置６３によって復号してファイルシステムに供給する。
【００５５】
このような構成によって、フラッシュメモリのリバースエンジニアリングを利用したファイルの復元に対して、ファイル漏洩を一段と高いレベルで防止することができる。
【００５６】
なお、実施例３の構成と実施例４の構成を組み合わせてもよい。
【実施例５】
【００５７】
前述したとおり、ディスクコントローラ１７は、論理アドレスと物理アドレスの変換を行う。さらに、ウェアレベリングやガベージコレクションを行うことがある。また、コントローラ／ファイルシステム部１８には、前述したとおり、論理アドレスと物理アドレスの変換、ウェアレベリング、ガベージコレクション、ファイルシステムのモニタ、完全消去等の機能が実装されている。
【００５８】
図１０は実施例１のディスクコントローラ１７や実施例２等のコントローラ／ファイルシステム部１８に存在する論理物理アドレス変換テーブル７０の例である。
【００５９】
この論理物理アドレス変換テーブル７０はファイルシステムの論理アドレスＬＡと物理アドレスＰＡとの対応関係を示している。すなわち、論理アドレスＬＡ０〜ｎは、それぞれ、物理アドレスＰＡ０〜ｎに対応付けられている。例えば、論理アドレスＬＡ０は当初物理アドレスＰＡ０に対応付けられているところ、論理アドレスＬＡ０のデータが新しいデータへと書き換えられる（消去され書き込まれる）場合には、新しいデータが物理アドレスＰＡ１の領域に書き込まれるとともに、論理アドレスＬＡ０に対応する物理アドレスがＰＡ０からＰＡ１へと変更される。
【００６０】
実施例５の記憶装置の構成は、実施例２の説明及び図２〜６で示したものと同様である。実施例５のコントローラ／ファイルシステム部１８に存在する論理物理アドレス変換テーブル７０は図１０に示したものである。ここで、論理物理アドレス変換テーブル７０は、論理アドレスＬＡ及び物理アドレスＰＡの各領域だけでなく、その論理アドレスが物理アドレスとの対応が解消済みであるかどうかを示すフラグ領域が存在する。そして、その論理アドレスが解消済みである場合には、フラグが立てられる。
【００６１】
図１１は、実施例５にかかるＦＡＴ領域のモニタ方法を示すフローチャートである。予め、ＦＡＴ領域検出部４７によって、ＦＡＴ領域を特定し、その領域のバックアップ５１を作成する。コマンド処理部４１がコマンドを解釈して、ＦＡＴ領域内へのアクセスを検出した場合には、ＦＡＴモニタ部４８が、そのアクセスの対象データとバックアップ５１の対応部分とを比較する（ステップ５２）。ＦＡＴ領域の値が非ゼロからゼロに変更になった場合（ＦＡＴ１６ファイルシステムの場合は２バイト分のゼロ並びが生じた場合、ＦＡＴ３２の場合は４バイト分のゼロ並びが生じた場合）は、ファイルの削除があったものと解釈する（ステップ５３）。そして、ファイルの削除があったものと解釈されたら、論理物理アドレス変換テーブル修正部７１が論理物理アドレス変換の解消を行う。ここで、論理物理アドレス変換の解消とは、論理アドレスと物理アドレスとの対応関係をなくすことをいい、図１０においてフラグ領域Ｆにフラグを立てることによって行う。物理アドレス領域の物理アドレスを無効な物理アドレス（物理アドレスとしては存在しない値）に置き換えても良い。続いて、直ちに、ファイルの実体領域に対して無効化処理を行う（ステップ５４）。続いて、バックアップ５１を変更された内容へ更新する（ステップ５５）。以上の、ステップ５２〜５５を繰り返す。
【００６２】
以上のように構成すると、以下のような効果が得られる。
【００６３】
論理アドレスと物理アドレスとの対応関係が解消されると、その記憶領域を論理アドレスを指定して読みだすことは不可能になるので、通常の動作においては、消去されたものと等価となる。もちろん、フラッシュメモリ自体を取り出してアクセスすれば、旧データを読み取ることは出来るので完全な消去とまではいえないが、一般的な使用範囲、すなわち分解調査まではされないということを前提にすれば、これで十分である。
【００６４】
さらに、アドレス変換の解消の直後に、実施例２で述べた無効化処理を行っている（ステップ５４）。したがって、ファイル単位で確実にデータを消去することのできるという、実施例１〜４と同様の効果が得られる。
【実施例６】
【００６５】
実施例６は実施例５の変形例である。実施例５においては、アドレス変換の解消の直後に無効化処理を行ったが、実施例６では、アドレス変換の解消のタイミングとは別に、バックグラウンドで無効化処理を行っている。
【００６６】
図１２は、実施例６にかかるＦＡＴ領域のモニタ方法を示すフローチャートである。予め、ＦＡＴ領域検出部４７によって、ＦＡＴ領域を特定し、その領域のバックアップ５１を作成する。コマンド処理部４１がコマンドを解釈して、ＦＡＴ領域内へのアクセスを検出した場合には、ＦＡＴモニタ部４８が、そのアクセスの対象データとバックアップ５１の対応部分とを比較する（ステップ５２）。ＦＡＴ領域の値が非ゼロからゼロに変更になった場合（ＦＡＴ１６ファイルシステムの場合は２バイト分のゼロ並びが生じた場合、ＦＡＴ３２の場合は４バイト分のゼロ並びが生じた場合）は、ファイルの削除があったものと解釈する（ステップ５３）。そして、ファイルの削除があったものと解釈されたら、論理物理アドレス変換テーブル修正部７１が論理物理アドレス変換の解消を行う。続いて、バックアップ５１を変更された内容へ更新する（ステップ５５）。以上の、ステップ５２〜５５を繰り返す。
【００６７】
さらに、上記繰り返しとは別に、消去済みの物理アドレスについて、バックグラウンドで、実施例２で述べた無効化処理を行う。
【００６８】
以上のように構成すると、ファイル単位で確実にデータを消去することのできるという効果の他に、以下のような効果が得られる。
【００６９】
従来のファイルシステムにおいては、ファイル削除をするときは、ファイル管理情報のみを変更する。したがって、ユーザからみた反応は高速であり、ユーザはこの高速な反応に慣れている。実施例６においては、論理物理アドレス変換の解消をすることによって特定のブロックを消去されたものとして扱うので、ユーザからみた反応は高速である。つまり、実施例６においては、ファイル削除の応答スピードが向上するとともに、バックグラウンド処理も高速化される（無効化された領域は、データ移し替えをする必要が無いため、そのデータ移動時間を省略できる。）。
【符号の説明】
【００７０】
１１…ファイルシステム、１２…デバイスドライバ、１３…記憶装置、１４…インターフェース、１５…記憶領域、１６…ファイルシステムモニタ、１７…コントローラ
【図１】
2014206967.tif 000003
【図２】
2014206967.tif 000004
【図３】
2014206967.tif 000005
【図４】
2014206967.tif 000006
【図５】
2014206967.tif 000007
【図６】
2014206967.tif 000008
【図７】
2014206967.tif 000009
【図８】
2014206967.tif 000010
【図９】
2014206967.tif 000011
【図１０】
2014206967.tif 000012
【図１１】
2014206967.tif 000013
【図１２】
2014206967.tif 000014