(57)【要約】【課題】ホスト装置から削除されたファイルデータをデータ格納装置から物理的に削除するまでに要求される時間を短縮する処理装置及び方法を提供する。【解決手段】ホストデータ処理装置の動作方法は、書き込み動作の前に消去動作が行われ、少なくとも一つのファイルを格納するメモリ装置を含む外部データ格納装置にファイル削除命令を伝送することを特徴とする。本発明によると、ホスト装置から削除されたファイルデータがデータ格納装置から物理的に削除されるまでに要求される時間が短縮される。【選択図】図２
2008198208.tif 000002
【特許請求の範囲】
【請求項１】
書き込み動作の前に消去動作が行われるタイプのメモリ装置を含んでおり少なくとも一つのファイルを前記メモリ装置に格納する外部データ格納装置に対して、ファイル削除命令を伝送することを特徴とするホスト装置の動作方法。
【請求項２】
前記ホスト装置上のファイル削除動作を検出し、
前記ホスト装置上のファイル削除動作の検出に応じて、前記外部データ格納装置に前記ファイル削除命令を伝送することを特徴とする請求項１に記載のホスト装置の動作方法。
【請求項３】
前記ホスト装置上のファイル削除動作の検出は、ホスト装置に実装されたファイルシステムに関連するメタデータが、削除されたファイルに対する削除コードに更新されることを検出することを特徴とする請求項２に記載のホスト装置の動作方法。
【請求項４】
前記ファイル削除命令は、前記削除されたファイルと関連する論理アドレス及び無効化されるデータを特定することを特徴とする請求項２に記載のホスト装置の動作方法。
【請求項５】
書き込み動作の前に消去動作が行われるタイプのメモリ装置を含むデータ格納装置の動作方法は、
前記メモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを特定するファイル削除命令をホスト装置から受信する段階と、
前記論理アドレス及び前記無効化されるデータに基づいて、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階と、
を含むことを特徴とするデータ格納装置の動作方法。
【請求項６】
前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階は、
前記メモリ装置内のメモリ割り当て単位の物理アドレスを前記メモリ割り当て単位が無効データを含むか否かを示す指標と関連付けるデータ構造を維持する段階と、
前記データ構造内において、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階と、
を含むことを特徴とする請求項５に記載のデータ格納装置の動作方法。
【請求項７】
前記データ格納装置は、前記データ構造を管理するフラッシュ変換レイヤモジュールを含むことを特徴とする請求項６に記載のデータ格納装置の動作方法。
【請求項８】
前記メモリ装置は、読み出し／書き込み動作単位及び消去動作単位を含み、
前記メモリ装置の動作方法は、前記消去動作単位のうちの少なくとも一つに含まれる読み出し／書き込み動作単位の全てが無効データを含むかを判別する段階と、
前記読み出し／書き込み動作単位の全てが無効データを含む前記消去動作単位について消去動作を行う段階と、
をさらに含むことを特徴とする請求項６に記載のデータ格納装置の動作方法。
【請求項９】
前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むかを判別する段階は、
前記データ構造おいて、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むものと指定されているかを判別することを特徴とする請求項８に記載のデータ格納装置の動作方法。
【請求項１０】
前記消去動作単位のうちの少なくとも一つに対する前記消去動作は、前記メモリ装置で行われるガーベッジコレクションから分離して行われることを特徴とする請求項８に記載のデータ格納装置の動作方法。
【請求項１１】
前記データ構造は、前記ホスト装置で利用される論理アドレスを前記メモリ装置の読み出し／書き込み動作単位の物理アドレスと関連付けることを特徴とする請求項８に記載のデータ格納装置の動作方法。
【請求項１２】
データ処理装置の動作方法であって、
書き込み動作の前に消去動作が行われるタイプのメモリ装置を含む外部データ格納装置に、前記メモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを特定するファイル削除命令を伝送する段階と、
前記論理アドレス及び無効化されるデータに基づいて、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階と、
を特徴とするデータ処理装置の動作方法。
【請求項１３】
前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階は、
前記メモリ装置内のメモリ割り当て単位の物理アドレスを前記メモリ割り当て単位が無効データを含むか否かを示す指標と関連付けるデータ構造を維持する段階と、
前記データ構造において、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階と、
を含むことを特徴とする請求項１２に記載のデータ処理装置の動作方法。
【請求項１４】
書き込み動作の前に消去動作が行われるタイプのメモリ装置を含んでおり少なくとも一つのファイルをメモリ装置に格納する外部データ格納装置に対して、ファイル削除命令を伝送するメモリマネジャを備えることを特徴とするホスト装置。
【請求項１５】
前記メモリマネジャは、前記ホスト装置上のファイル削除動作を検出し、前記ファイル削除動作に応じて、前記外部データ格納装置に前記ファイル削除命令を伝送することを特徴とする請求項１４に記載のホスト装置。
【請求項１６】
ファイルシステムをさらに含み、
前記メモリマネジャは、前記ファイルシステムに関連するメタデータが、削除されたファイルに対する削除コードに更新されることを検出することを特徴とする請求項１５に記載のホスト装置。
【請求項１７】
前記ファイル削除命令は、前記削除されたファイルに関連する論理アドレス及び無効化されるデータを特定することを特徴とする請求項１５に記載のホスト装置。
【請求項１８】
前記データ格納装置は、メモリカード及び／又はＵＳＢフラッシュドライブであり、
前記ホスト装置は、ＰＤＡ、コンピュータ、デジタルオーディオプレーヤ、デジタルカメラ、モバイル端末の中の何れか一つ以上であることを特徴とする請求項１４に記載のホスト装置。
【請求項１９】
書き込み動作の前に消去動作が行われるタイプのメモリ装置と、
前記メモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを特定するファイル削除命令をホスト装置から受信し、前記論理アドレス及び無効化されるデータによって、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別するメモリ管理モジュールとを備えることを特徴とするデータ格納装置。
【請求項２０】
前記メモリ装置のメモリ割り当て単位の物理アドレスを前記メモリ割り当て単位が無効データを含むか否かを示す指標と関連付けるデータ構造と、
前記データ構造において、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別するフラッシュ変換レイヤとをさらに備えることを特徴とする請求項１９に記載のデータ格納装置。
【請求項２１】
前記メモリ装置は、読み出し／書き込み動作単位及び消去動作単位を含み、
前記メモリ管理モジュールは、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むかを判別し、前記読み出し／書き込み動作単位の全てが無効データを含む前記消去動作単位について消去動作を行うことを特徴とする請求項２０に記載のデータ格納装置。
【請求項２２】
前記メモリ管理モジュールは、前記データ構造において、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むものと指定されているかを判別することを特徴とする請求項２１に記載のデータ格納装置。
【請求項２３】
前記メモリ管理モジュールは、前記消去動作単位のうちの少なくとも一つに対する消去動作を前記メモリ装置で行われるガーベッジコレクションから分離して行うことを特徴とする請求項２１に記載のデータ格納装置。
【請求項２４】
前記データ構造は、前記ホスト装置で利用される論理アドレスを前記メモリ装置の読み出し／書き込み動作単位の物理アドレスと関連付けることを特徴とする請求項２１に記載のデータ格納装置。
【請求項２５】
前記データ格納装置は、メモリカード装置、ＳＳＤ装置、ＡＴＡバス装置、ＳＡＴＡバス装置、マルチメディアカード装置、ＳＤ装置、メモリスティック装置、ハードディスクドライブ装置、ハイブリッドハードドライブ装置、ＵＳＢフラッシュドライブ装置の中の何れか一つ以上であることを特徴とする請求項２０に記載のデータ格納装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置に関し、より詳しくはデータ処理システムにおいてデータ格納装置等を使用することに関する。
【背景技術】
【０００２】
アクセスを容易にするために、データ処理システムはファイルシステムを利用してコンピュータファイル等を格納及び組織化することができる。ファイルシステムは、データの格納、組織化、処理、制御、アクセス、そして訂正のために利用されるデータタイプ等の集合である。ファイルシステムは、ディスクファイルシステム、ネットワークファイルシステム、そして特殊目的ファイルシステムの三つのタイプに分けられる。ディスクファイルシステムは、一般にデータデータ格納装置にファイルを格納するために利用される。ネットワークファイルシステムは、一般に遠距離ファイルアクセスプロトコルのクライアントで動作する。特殊目的ファイルシステムは、一般にディスクファイルシステム又はネットワークファイルシステム以外のファイルシステムと関連する。例えば、特殊目的ファイルシステムは、ソフトウェアによってファイル等が動的に配列されるシステムであり、コンピュータプロセス等及び／又は臨時ファイル領域の間の通信のために利用される。
【０００３】
使用者がコンピュータシステムのファイルを削除する場合、コンピュータのファイルシステムは削除命令を実行する。使用者の観点からは、メモリからファイルが除去されるように見える。しかし、実際には従来のファイルシステムでは、ファイルデータを物理メモリに残している。
【０００４】
図１は、従来のファイル削除動作を示すデータ処理装置のブロック図である。図１に、ファイル割り当てテーブル（ＦＡＴ、ｆｉｌｅ  ａｌｌｏｃａｔｉｏｎ  ｔａｂｌｅ）ファイルシステムが示されている。ホストシステムは、ファイルシステム１０５と通信するアプリケーションプログラムを備える。ホストは、ホストに取り付けられている格納システムを備える。例えば、図１において、データ格納システムはフラッシュ変換レイヤ（ＦＴＬ、ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ）１１０及びデータ格納装置１１５（例えば、フラッシュメモリセルアレイ）を含むフラッシュメモリ装置である。フラッシュ変換レイヤ１１０が、データ格納装置１１５内のファイル等に関連するメモリ単位等の物理格納場所の経過を追跡するので、ファイルシステム１０５は論理メモリ単位等だけを参照する。
【０００５】
図１に示された様に、アプリケーションプログラム１００が第１ファイルを削除する場合、ファイルシステム１０５は、ディレクトリから第１ファイル名を除去し、第１ファイルのＦＡＴエントリの一番目の文字に特定コードを書き込んで、該当メモリ割り当て単位等が新たなファイルを格納するために使用されるのを分かるようにすることができる。
【０００６】
しかし、データ格納装置において、フラッシュ変換レイヤ１１０は、第１ファイルを論理的に削除するが、データ格納装置１１５から第１ファイルのデータは削除されない。第１ファイルのデータは、データ格納装置１１５に維持され、ＤＯＳ削除取り消し命令（ｕｎｄｅｌｅｔｅ  ｃｏｍｍａｎｄ）の様なものを利用して復旧される。即ち、使用者がファイルを削除した場合、ファイルはファイルシステム１０５及びフラッシュ変換レイヤ１１０から論理的に削除されるだけである。データ格納装置についてデフラグ又はフォーマットを行うことによって、データ格納装置１１５の削除されたファイルの占めるメモリ単位等が再割り当てされるが、データ格納装置１１５のファイルデータは相変わらず維持される。データ格納装置１１５に新たなファイル等が格納されると、削除されたファイル等のメモリ単位等の中の一部又は全てが再書込みされる。しかし、再書込みの前まで、削除されたファイル等は多様な機器等を利用して復旧することができる。
【０００７】
ファイル等は、場合によっては個人情報又は重要な情報を含む。従って、使用者は、他の使用者が格納システムをアクセス又は共有する前に、格納システムから削除されたファイルが復旧できなくなることを望む。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ホスト装置から削除されたファイルデータをデータ格納装置から物理的に削除するまでに要求される時間を短縮する処理装置及びその方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明によるホスト装置の動作方法は、書き込み動作の前に消去動作が行われるタイプのメモリ装置を含んでおり少なくとも一つのファイルを前記メモリ装置に格納する外部データ格納装置に対して、ファイル削除命令を伝送することを含む。
【００１０】
実施形態において、前記ホスト装置上のファイル削除動作を検出し、そして前記ホスト装置上のファイル削除動作の検出に応じて、前記外部データ格納装置に前記ファイル削除命令を伝送することをさらに含む。前記ファイル削除動作の検出は、ホスト装置上に実装されたファイルシステムに関連するメタデータが、削除されたファイルに対する削除コードに更新されることを検出する。前記ファイル削除命令は、前記削除されたファイルと関連する論理アドレス及び無効化されるデータを特定する。
【００１１】
本発明によると、書き込み動作の前に消去動作が行われるメモリ装置を含むタイプのデータ格納装置の動作方法は、前記書き込み動作の前に消去動作が行われるタイプのメモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを特定するファイル削除命令をホスト装置から受信する段階と、前記論理アドレス及び無効化されるデータに基づいて、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階とを含む。
【００１２】
実施形態において、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階は、前記メモリ装置内のメモリ割り当て単位の物理アドレスを前記メモリ割り当て単位が無効データを含むか否かを示す指標等と関連付けるデータ構造を維持する段階と、前記データ構造内において、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階とを含む。前記データ格納装置は、前記データ構造を管理するフラッシュ変換レイヤモジュールを備える。
【００１３】
実施形態において、前記書き込み動作の前に消去動作が行われるタイプのメモリ装置は、読み出し／書き込み動作単位及び消去動作単位を含み、前記メモリ装置の動作方法は、前記消去動作単位のうちの少なくとも一つに含まれる読み出し／書き込み動作単位の全てが無効データを含むかを判別する段階と、前記読み出し／書き込み動作単位の全てが無効データを含む前記消去動作単位について消去動作を行う段階をさらに含む。
【００１４】
前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むかを判別する段階は、前記データ構造から、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むものと指定されているかを判別する。
【００１５】
実施形態において、前記消去動作単位のうちの少なくとも一つに対する前記消去動作は、前記メモリ装置で行われるガーベッジコレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）から分離して行われる。前記データ構造は、前記ホスト装置で利用される論理アドレス等を前記メモリ装置の読み出し／書き込み動作単位の物理アドレス等と関連付ける。
【００１６】
本発明によるデータ処理装置の動作方法は、書き込み動作の前に消去動作が行われるタイプのメモリ装置を含む外部データ格納装置に、前記メモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを特定するファイル削除命令を伝送する段階と、前記論理アドレス及び無効化されるデータに基づいて、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階を含む。
【００１７】
実施形態において、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階は、前記メモリ装置内のメモリ割り当て単位の物理アドレスを前記メモリ割り当て単位が無効データを含むか否かを示す指標と関連付けるデータ構造を維持する段階と、前記データ構造から、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別する段階を含む。
【００１８】
本発明によるホスト装置は、書き込み動作の前に消去動作が行われるタイプのメモリ装置を含んでおり少なくとも一つのファイルを前記メモリに格納する外部データ格納装置に対して、ファイル削除命令を伝送するメモリマネジャを備える。
【００１９】
実施形態において、前記メモリマネジャは、前記ホストのファイル削除動作を検出し、前記ファイル削除動作に応じて、前記外部データ格納装置に前記ファイル削除命令を伝送する。前記ホスト装置は、ファイルシステムをさらに含み、前記メモリマネジャは、前記ファイルシステムに関連するメタデータが、削除されたファイルに対する削除コードに更新されることを検出する。前記ファイル削除命令は、前記削除されたファイルに関連する論理アドレス及び無効化されるデータを特定する。
【００２０】
実施形態において、前記データ格納装置は、メモリカード及び／又はユニバーサル・シリアル・バス（ＵＳＢ、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）フラッシュドライブであり、前記ホストデータ処理装置は、ＰＤＡ、コンピュータ、デジタルオーディオプレーヤ、デジタルカメラ、及び／又はモバイル端末である。
【００２１】
本発明によるデータ格納装置は、書き込み動作の前に消去動作が行われるメモリ装置、そして前記メモリ装置に格納されている少なくとも一つのファイルに対する論理アドレス及び無効化されるデータを示すファイル削除命令をホスト装置から受信し、前記論理アドレス及び無効化されるデータによって、前記メモリ装置内の少なくとも一つのメモリ割り当て単位が無効データを含むかを判別するメモリモジュールを備える。
【００２２】
実施形態において、前記メモリ装置のメモリ割り当て単位の物理アドレス等を前記メモリ割り当て単位が無効データを含むか否かを示す指標と関連付けるデータ構造、そして前記データ構造から、前記少なくとも一つのメモリ割り当て単位が無効データを含むかを判別するフラッシュ変換レイヤをさらに備える。前記メモリ装置は、読み出し／書き込み動作単位及び消去動作単位を含み、前記メモリ管理モジュールは、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むかを判別し、前記読み出し／書き込み動作単位の全てが無効データを含む前記消去動作単位について消去動作を行う。前記メモリ管理モジュールは、前記データ構造から、前記消去動作単位のうちの少なくとも一つに含まれる前記読み出し／書き込み動作単位の全てが無効データを含むものと指定されているかを判別する。
【００２３】
実施形態において、前記メモリ管理モジュールは、前記消去動作単位のうちの少なくとも一つに対する消去動作を前記メモリ装置で行われるガーベッジコレクションから分離して行う。前記データ構造は、前記ホスト装置で利用される論理アドレス等を前記メモリ装置の読み出し／書き込み動作単位の物理アドレス等と関連付ける。
【００２４】
実施形態において、前記データ格納装置は、メモリカード装置、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）装置、ＡＴＡバス装置、ＳＡＴＡ（ｓｅｒｉａｌ  ＡＴＡ）バス装置、マルチメディアカード（ＭＭＣ）装置、ＳＤ（ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ）装置、メモリスティック装置、ハードディスクドライブ（ＨＤＤ）装置、ハイブリッドハードドライブ（ＨＨＤ）装置、及び／又はユニバーサル・シリアル・バス（ＵＳＢ）フラッシュドライブ装置である。
【発明の効果】
【００２５】
本発明によると、フラッシュ変換レイヤは、読み出し／書き込み動作単位が無効データを含むか否かを示すデータ構造を維持する。従って、対応する読み出し／書き込み動作単位の全てが無効データを含む消去動作単位は、データ構造に応じて消去される。
【発明を実施するための最良の形態】
【００２６】
以下に、図面を参照して、本発明の実施形態を詳細に説明する。しかし、本発明は実施形態によって限定されるものではない。本発明は特許請求の範囲に記載される技術的な思想の範囲内で様々に応用又は変更できる。図面において、同じ参照符号等は同じ構成要素等を示す。
【００２７】
構成要素が他の構成要素に連結又は結合されることは、構成要素が他の構成要素に直接連結又はその構成要素等の間に他の構成要素が介されることを意味する。又は、連結又は結合された構成要素等は、無線で連結又は結合されることを意味する。
【００２８】
本発明は方法、システム、及び／又はコンピュータプログラム製品によって具現化できる。即ち、本発明はファームウェア、常駐プログラム、マイクロコードを含むソフトウェア及び／又はハードウェアによって具現化できる。命令実行システムと関連して使用するために又は命令実行システムによって使用するために、本発明はコンピュータが使用可能な格納手段又はコンピュータが読み出すことができる格納手段上で動作するコンピュータプログラム製品の形態をとることができる。格納手段は、コンピュータが使用可能なプログラムコード又はコンピュータが読み出すことができるプログラムコードを備える。本発明において、命令実行システム、機器、又は装置と関連して使用するために又は命令実行システム、機器又は装置によって使用するために、コンピュータが使用可能な手段又はコンピュータが読み出すことができる手段は、プログラム、格納、通信、伝送、又は伝達手段である。
【００２９】
例えば、コンピュータが使用可能な手段又はコンピュータが読み出すことができる手段は、電気、磁気、光、電磁気、紫外線又は半導体システム、機器、装置、又は伝送手段である。例えば、コンピュータが読み出すことができる手段は、一つ又はそれ以上の配線等を有する電気的接続、ポータブルコンピュータディスケット、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ又はフラッシュメモリ、光ファイバ、ＣＤ−ＲＯＭを含む。コンピュータが使用可能な手段又はコンピュータが読み出すことができる手段は、電子的にキャプチャすることができるプログラムが印刷されている紙又は他の適切な手段である。例えば、コンピュータが使用可能な手段又はコンピュータが読み出すことができる手段は、光学スキャン、編集、翻訳、又は他の適切な方法を通じて、印刷されたプログラムをコンピュータメモリに格納することができる手段である。
【００３０】
説明の便宜のために、フラッシュメモリデータ格納装置を参照して、本発明の様々な実施形態を説明する。しかし、本発明によるデータ格納装置は、フラッシュメモリ装置に限定されるものではない。本発明によるデータ格納装置は、メモリ装置の書き込み動作の前に消去動作が行われる一般の装置によって具現化できる。従って、本発明によるデータ格納装置はメモリカード装置、ＳＳＤ装置（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、ＡＴＡバス装置、ＳＡＴＡ（ｓｅｒｉａｌ  ＡＴＡ）バス装置、マルチメディアカード装置、ＳＤ装置（ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ）、メモリスティック装置、ハードディスクドライブ装置（ＨＤＤ、ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）、ハイブリッドハードドライブ装置（ＨＨＤ、ｈｙｂｒｉｄ  ｈａｒｄ  ｄｒｉｖｅ）、及び／又はＵＳＢフラッシュドライブ装置である。
【００３１】
一般に、フラッシュメモリは、ブロック及びページから構成される。一般に１ブロックは、５１２バイトを１ページとして３２ページ分又は２０４８バイトを１ページとして６４ページ分からなる。夫々のページはエラー検出及び／又は訂正のために使用される少ない数のバイトを有する。フラッシュメモリからの読み出し動作又はプログラム動作は、ランダムアクセス方式で行われる。しかし、消去動作はブロック単位で行われる。読み出し及び／又は書き込み動作を行うために、フラッシュメモリはページの大きさをメモリ単位の大きさに合わせて使用する。本発明による実施形態において、読み出し／書き込み動作はページ単位で行われ、消去動作はブロック単位で行われる。しかし、メモリ動作の単位は、ページ及びブロックに限定されるものではない。以下において、読み出し又は書き込み動作のための単位は、読み出し／書き込み動作単位と言う。そして消去動作のための単位は、消去動作単位と言う。
【００３２】
本発明の実施形態によると、書き込み動作の前に消去動作が行われる外部データ格納装置とホスト装置を含むデータ処理装置は、格納されている一つ又はそれ以上のファイル等を削除するためのファイル削除命令をホスト装置からデータ格納装置に伝送する。ファイル削除命令は、削除されたファイルに関連する論理アドレス及び無効化されるデータを特定する。論理アドレス及び無効化されるデータに基づいて、データ格納装置は書き込み動作の前に消去動作が行われるメモリの一つ又はそれ以上のメモリ割り当て単位が無効データを含むかを判別する。本発明による実施形態において、データ格納装置はデータ構造を維持する。データ構造は、書き込み動作の前に消去動作が行われるメモリのメモリ割り当て単位の物理アドレスをメモリ割り当て単位が無効データを含むか否かを示す指標と関連付ける。データ構造は削除されたファイル等と関連されたメモリ割り当て単位を無効データを含むメモリ割り当て単位に指定するために利用される。
【００３３】
図２は、本発明の実施形態によるデータ処理装置を示すブロック図である。
【００３４】
図２を参照すれば、データ処理装置は、インタフェース２１０を通じて連結されるデータ格納装置２０５及びホスト装置２００を備える。インタフェース２１０はＡＴＡ、ＳＡＴＡ、ＰＡＴＡ、ＵＳＢ、ＳＣＳＩ、ＥＳＤＩ、ＩＥＥＥ１３９４、ＩＤＥ、及び／又はカードインタフェースの様な標準インタフェースである。ホスト装置２００はアドレス／データバス２２５を通じてメモリ２２０と通信するプロセッサ２１５を備える。例えば、プロセッサ２１５は商業的に利用可能なプロセッサ又はカスタムプロセッサである。メモリ２２０は本発明によるデータ処理装置を動作させるためのソフトウェア及びデータを含む一つ又はそれ以上の一般のメモリ装置である。メモリ２２０は、キャッシュ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ、ＳＲＡＭ、そしてＤＲＡＭの様な形態の装置を含む。
【００３５】
図２に示される様に、メモリ２２０は、五つ又はそれ以上のソフトウェア及び／又はデータカテゴリを含む。ソフトウェア及び／又はデータカテゴリは、オペレーティングシステム２２８、アプリケーション２３０、ファイルシステム２３５、メモリマネジャ２４０、そして入出力ドライバ２４５である。オペレーティングシステム２２８は、ホスト装置２００の動作を制御する。更に詳しくは、オペレーティングシステム２２８は、ホスト装置２００のソフトウェア及び／又はハードウェア資源を制御することができ、プロセッサ２１５によるプログラムの実行を制御することができる。アプリケーション２３０は、ホスト装置２００から実行される様々なアプリケーションプログラムを示す。ファイルシステム２３５は、コンピュータファイル等及び／又はデータをメモリ２２０及び／又はデータ格納装置２０５の様な格納領域に格納及び組織化する。ファイルシステム２３５は、ホスト装置２００から実行される特定のオペレーティングシステム２２８により使用される。メモリマネジャ２４０は、メモリ２２０から行われるメモリアクセス動作及び／又はデータ格納装置２０５の様な外部装置から行われるメモリアクセス動作を制御する。入出力ドライバ２４５はデータ格納装置２０５の様な他の装置、コンピュータシステム、又はネットワーク（例えば、インタネット）及びホスト装置２００に情報伝送を行う。
【００３６】
本発明の様々な実施形態によると、ホスト装置２００はＰＤＡ、コンピュータ、デジタルオーディオプレーヤ、デジタルカメラ、及び／又はモバイル端末でありうる。
【００３７】
データ格納装置２０５は、アドレス／データバス２６０を通じてメモリ２５５と通信する制御部２５０を含む。メモリ２５５は、書き込み動作の前に消去動作が行われる様々な形態のメモリである。例えば、本発明によるデータ格納装置２０５はメモリカード装置、ＳＳＤ装置、ＡＴＡバス装置、ＳＡＴＡバス装置、マルチメディアカード装置、ＳＤ装置、メモリスティック装置、ハードディスクドライブ装置、ハイブリッドドライブ装置、及び／又はＵＳＢフラッシュ装置である。制御部２５０はアドレス／データバス２７５を通じてローカルメモリ２７０と通信するプロセッサ２６５を備える。例えば、プロセッサ２６５は商業的に利用可能な又はカスタムマイクロプロセッサである。ローカルメモリ２７０は、本発明によるデータ格納装置２０５を動作させるためのソフトウェア及びデータを含む一つ又はそれ以上のメモリ装置である。ローカルメモリ２７０は、キャッシュ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ、ＳＲＡＭ、およびＤＲＡＭを含む。
【００３８】
図２に示される様に、ローカルメモリ２７０は三つ又はそれ以上のソフトウェア及び／又はデータカテゴリを含む。ソフトウェア及び／又はデータカテゴリはオペレーティングシステム２７８、及びメモリ管理モジュールを含む。メモリ管理モジュールは、フラッシュ変換レイヤ（ＦＴＬ、ｆｌａｓｈ  ｔｒａｎｓｉｔｉｏｎ  ｌａｙｅｒ）モジュール２８０及びテーブル２８５を含む。オペレーティングシステム２７８はデータ格納装置２０５の動作を制御する。更に詳しくは、オペレーティングシステム２７８はデータ格納装置２０５のソフトウェア及び／又はハードウェア資源を制御することができ、プロセッサ２６５によるプログラムの実行を制御することができる。フラッシュ変換レイヤは、例えば、ファイルシステムのデータ構造と、フラッシュメモリのハードウェアの基本的なデータ形式との間で必要なマッピングを行う。フラッシュ変換レイヤモジュール２８０は、フラッシュメモリ装置で使用される。上述した様に、フラッシュチップはブロック単位で消去される。一般にフラッシュメモリ装置は、ブロック当たり１００、０００回の消去動作だけの寿命を有する。フラッシュメモリの一部ブロックが異なるブロックより速く劣化されることを防止するために、フラッシュ装置は消去サイクルをメモリ全体に分散する。これをウェアレベリングと言う。ウェアレベリングのため、フラッシュ変換レイヤモジュール２８０は、メモリ２５５のファイル／データの格納場所とファイルシステム２３５との間をインタフェーシングする。従って、ファイルシステム２３５は、メモリ２５５のファイル／データの実質的な格納場所の経過を追う必要がない。テーブル２８５は、フラッシュ変換レイヤモジュール２８０により維持され、メモリ２５５のメモリ割り当て単位の物理アドレスをメモリ割り当て単位が無効データを含むかを示す指標と関連付けるために使用される。
【００３９】
図３はデータ格納装置２０５のメモリ割り当て単位が有効又は無効データの何れを含むかを示す指標と関連付ける、本発明によるデータ構造を示すダイアグラムである。図３において、メモリ割り当て単位はページであり、ブロックは四つのページを有することが示されている。図２及び図３を参照すれば、テーブル２８５は、フラッシュメモリ２５５のページの物理アドレスをファイルシステム２３５により使用される論理アドレスと関連付ける。又は、テーブル２８５はフラッシュメモリ２５５の特定のページが無効データ又は有効データの何れを含むかを示す列を含む。図３に示される実施形態において、論理アドレス０−３を含むページのブロックは無効データを含むので消去される。ブロック内の全てのページが無効データを含む際に消去動作を開始するために、テーブル２８５が利用される。
【００４０】
従来技術の例では、論理ページアドレス０に二番目の書き込み動作が行われる場合、論理ページアドレス０が無効データを含むか否かを判別することができる。しかし、論理ページアドレス１−３が無効データを含むか否かは不明確である。従って、論理ページアドレス０に書き込み動作を行うためには論理ページアドレス０−３を含むブロックの全体を消去しなければならないので、論理ページアドレス１−３のデータは他の格納場所に複写されなければならない。論理ページアドレス１−３が無効データを含む場合、前記複写動作は要求されない。前記の様な必要のない複写動作を減らすために、テーブル２８５は無効データを含むページを示す指標を提供する。図３において、本発明によるデータ構造はテーブルの形態で示されているが、本発明によるデータ構造は他の形態のデータ構造で多様に具現化できる。
【００４１】
図２において、本発明の実施形態によるデータ処理装置のソフトウェア構造が示されているが、本発明は図２に示される構造に限定されるものではなく、本発明による動作を行うことができる様々な構造に具現化できる。
【００４２】
開発の便宜のために、図２を参照して説明された装置及び／又はシステムの動作を実行するためのコンピュータプログラムコードはＪＡＶＡ（登録商標）、Ｃ、及び／又はＣ＋＋の様な高級プログラム言語で作成される。又は、本発明の実施形態による動作を実行するためのコンピュータプログラムコードは、インタプリタ型言語（ｉｎｔｅｒｐｒｅｔｅｄ  ｌａｎｇｕａｇｅ）で作成される。動作性能及び／又はメモリの使用を改善するために、一部のモジュール又はルーチン等は、アセンブリ言語又はマイクロコードで作成される。一部又は全てのプログラムモジュール等の機能は個別のハードウェアの構成要素等、一つ又はそれ以上のＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、又はプログラムされたデジタル信号プロセッサ又はマイクロコントローラで具現化できる。
【００４３】
以下に、本発明の実施形態による方法、システム、装置、及び／又はコンピュータプログラム製品を示すメッセージフロー、順序図及び／又はブロック図を参照して、本発明を説明する。メッセージフロー、順序図及び／又はブロック図は、外部データ格納装置を含むデータ処理装置を動作させるための一般の動作等を示す。メッセージフロー、順序図及び／又はブロック図及びこれらの組み合わせは、コンピュータプログラム命令語及び／又はハードウェア動作によって具現化できる。コンピュータプログラム命令語は、汎用コンピュータ、特殊目的コンピュータ（ｓｐｅｃｉａｌ  ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｅｒ）、又は他のプログラム可能なデータプロセシング機器のプロセッサに提供される。コンピュータプログラム命令語は、コンピュータ又はプログラム可能なデータプロセシング機器を通じて行われ、メッセージフロー、順序図及び／又はブロック図に示された機能等を実現するための手段を提供する。
【００４４】
コンピュータプログラム命令語等は、コンピュータにより使用可能な又はコンピュータが読み出すことができるメモリに格納され、コンピュータ又は他のプログラム可能なデータプロセシング機器等が特定の方法で動作できる様にする。即ち、コンピュータが使用可能な又はコンピュータが読み出すことができるメモリに格納されている命令語等は、メッセージフロー、順序図及び／又はブロック図に示された機能を実現する命令語等を提供する。
【００４５】
コンピュータ又は他のプログラム可能な機器によって実行される一連の動作段階を引き起こし、コンピュータで実行されるプロセスを提供するために、コンピュータプログラム命令語等がコンピュータ又は他のプログラム可能なデータプロセシング機器にロードされる。即ち、コンピュータ又は他のプログラム可能な機器によって実行される命令語等は、メッセージのフロー、順序図及び／又はブロック図に示された機能等を実現するための動作段階を提供する。
【００４６】
図４は、図２に図示された本発明によるデータ処理装置の動作を説明するための順序図である。図４を参照すれば、ブロック４００で、ホストデータ処理装置２００は、一つ又はそれ以上のファイル等に対するファイル削除命令を外部データ格納装置２０５に伝送する。外部データ格納装置は、フラッシュメモリ装置の様に、書き込み動作の前に消去動作が行われるメモリ装置を備える。
【００４７】
図５に示された本発明の実施形態によると、ブロック５００で、ファイル削除動作がホスト装置２００で検出される。例えば、検出動作はファイルシステムと関連するメタデータが、削除されたファイルに対する削除コードに更新されることを検出する。メタデータは、例えば、ファイル名、ファイルの型、最新アクセス時間等のファイルについての情報である。ホスト装置２００でファイル削除動作が検出されると、ブロック５０５から、ファイル削除命令が外部データ格納装置２０５に転送される。ファイル削除命令は、削除されたファイルと関連する論理アドレス及び無効化されるデータを特定する。
【００４８】
図６を参照すれば、ブロック６００で、ホスト装置２００からファイル削除命令が受信されると、外部データ格納装置２０５で削除動作が行われる。ファイル削除命令は、一つ又はそれ以上のファイル等の論理アドレス及び無効化されたデータを示す。ブロック６０５で、論理アドレス及び無効化されるデータによって、データ格納装置２０５は、メモリ２５５の一つ又はそれ以上のメモリ割り当て単位が無効データを含むかを判別する。
【００４９】
図７を参照すれば、ブロック７００で、フラッシュ変換レイヤモジュール２８０は、図３に示されるテーブル２８５の様なデータ構造を維持する。データ構造は、メモリ２５５のメモリ割り当て単位の論理アドレス及び物理アドレスを関連付ける。又は、データ構造は、様々なメモリ割り当て単位が無効データを含むか否かを示す指標を含む。ブロック７０５で、メモリ割り当て単位の物理アドレスが、削除されたファイルと関連しているものと判別されると、フラッシュ変換レイヤモジュール２８０は判別されたメモリ割り当て単位が無効データを含むことを示す様にデータ構造を更新する。
【００５０】
データ格納装置において、様々なメモリ動作が行われるので、使用可能な隣接したメモリブロック等をさらに確保するために、ガーベッジコレクション動作が要求される。ガーベッジコレクションは、例えば、プログラムが確保したメモリ領域で不要になった領域を自動的に解放する機能である。本発明の実施形態によると、フラッシュ変換レイヤモジュール２８０は、ホスト装置２００のオペレーティングシステム２２８又はデータ格納装置２０５のオペレーティングシステム２７８が周期的にガーベッジコレクション動作を行うまで待たなくても、テーブル２８５を利用して無効データを含むメモリ単位を集めるタイミングを決定することができる。
【００５１】
図８を参照すれば、ブロック８００で、フラッシュ変換レイヤモジュール２８０は、無効データフィールドを検査することで、消去動作単位（例えば、フラッシュメモリ装置のブロック）内の全ての読み出し／書き込み動作単位（例えば、フラッシュメモリ装置のページ）が無効データを含むかを判別する。ブロック８０５において、消去動作単位内の全ての読み出し／書き込み動作単位が無効データを含むものと判別されると、消去動作単位の消去動作が行われる。この様な方法で、消去動作単位の消去の準備が整うとすぐに、実際の物理ファイルデータが消去される。即ち、本発明によってデータ格納装置内のファイルについて物理的な消去を行うことは、データ格納装置において実行される複数のファイル書込み動作によって物理的に消去が行われるのを待つより速く行われる。従って、個人的なデータ又は重要なデータを含むアプリケーションに応用できる。
【００５２】
図４から図８の順序図等は、外部データ格納装置を含むデータ処理装置を動作させるための方法、システム、そしてコンピュータプログラム製品の構造、機能、動作等の実施形態を示す。これと関連して、夫々のブロックはモジュール、セグメント、又はコードの一部を示す。モジュール、セグメント、又はコードの一部は特定の論理機能を実現するための一つ又はそれ以上の実行可能な命令語等を含む。ブロックで示される機能等の順序は、図４から図８に限定されるものではない。例えば、連続に図示された二つのブロック等は機能によって同時に又は逆の順に実行される。
【図面の簡単な説明】
【００５３】
【図１】従来のファイル削除動作を示すデータ処理装置のブロック図である。
【図２】本発明によるデータ処理装置を示すブロック図である。
【図３】本発明によるデータ構造を示すダイアグラムである。
【図４】図２に示された本発明によるデータ処理装置の動作を説明するための順序図である。
【図５】図２に示された本発明によるデータ処理装置の動作を説明するための他の順序図である。
【図６】図２に示された本発明によるデータ処理装置の動作を説明するための他の順序図である。
【図７】図２に示された本発明によるデータ処理装置の動作を説明するための他の順序図である。
【図８】図２に示された本発明によるデータ処理装置の動作を説明するための他の順序図である。
【符号の説明】
【００５４】
１００  アプリケーションプログラム、
１０５  ファイルシステム、
１１５  データ格納装置、
２００  ホスト装置、
２１５  プロセッサ、
２２０  メモリ、
２２８  オペレーティングシステム、
２３０  アプリケーション、
２３５  ファイルシステム、
２４０  メモリマネジャ、
２４５  入出力ドライバ、
２０５  データ格納装置、
２５０  制御部、
２５５  メモリ、
２７０  ローカルメモリ、
２７８  オペレーティングシステム、
２８５  テーブル。
【図１】
2008198208.tif 000003
【図２】
2008198208.tif 000004
【図３】
2008198208.tif 000005
【図４】
2008198208.tif 000006
【図５】
2008198208.tif 000007
【図６】
2008198208.tif 000008
【図７】
2008198208.tif 000009
【図８】
2008198208.tif 000010