(57)【特許請求の範囲】
【請求項１】
データを貯蔵するように構成された不揮発性メモリと、
インターフェースと、
前記不揮発性メモリに前記インターフェースを介して書き込まれるデータをバッファリングするように構成されたバッファメモリと、
前記バッファメモリに書き込まれたデータが有効なデータであるか否かの状態を格納するマッピングテーブルと、
外部から入力された無効化インジケータに応答して前記不揮発性メモリに前記バッファリングされたデータを選択的に伝達する場合に、前記バッファメモリから前記不揮発性メモリへと自動的に前記データを書き込むように構成された制御器とを含み、
前記インターフェースを介して受信された第一の指示に応答して、前記マッピングテーブルの第一データの有効状態が無効状態へと変更され、前記バッファメモリから前記不揮発性メモリへの前記第一データの自動的な書き込みを不可とし、
前記無効化インジケータとは、バッファメモリから前記不揮発性メモリへデータが移されることを無効化させるために外部から入力される命令であり、
上位のホストからの無効情報に従って、前記ホストと前記不揮発性メモリとの間の円滑なデータ伝送のために使用される前記バッファメモリに貯蔵されたデータに有効／無効情報のタグをつけて前記不揮発性メモリへのデータ複写動作を選別的に制御する
ことを特徴とする貯蔵システム。
【請求項２】
前記無効化インジケータはアンライト情報を含む
ことを特徴とする請求項１に記載の貯蔵システム。
【請求項３】
アンライト情報は、削除するように任意選択されたバッファリングされたデータまたは削除されたファイルデータに対応する無効情報を示す
ことを特徴とする請求項２に記載の貯蔵システム。
【請求項４】
前記制御器は前記無効化インジケータに応答して選択されたバッファリングされたデータを無効化させるように構成された
ことを特徴とする請求項１に記載の貯蔵システム。
【請求項５】
前記制御器は前記無効化インジケータに応答して前記無効化されるべきバッファリングされたデータの無効化を示す書き込み状態情報を貯蔵して、前記貯蔵された書き込み状態情報に応答して前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータの伝送を防止するように構成される
ことを特徴とする請求項４に記載の貯蔵システム。
【請求項６】
前記制御器は前記バッファメモリ内の貯蔵限界そして／または前記不揮発性メモリの遊休状態に応答して複写動作をトリガするように構成され、
前記複写動作は前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータ伝送を無視する間、前記バッファメモリから前記不揮発性メモリへ有効なバッファリングされたデータを伝達することを含む
ことを特徴とする請求項５に記載の貯蔵システム。
【請求項７】
前記制御器は前記無効化されるべきバッファリングされたデータの無効化に応答して前記無効化されるべきバッファリングされたデータの無効化によって占有される前記バッファメモリ内の貯蔵空間を再使用が可能にするように構成された
ことを特徴とする請求項４に記載の貯蔵システム。
【請求項８】
前記バッファメモリは不揮発性そして／または揮発性半導体メモリを含み、前記不揮発性メモリは不揮発性半導体メモリそして／または磁気不揮発性メモリを含む
ことを特徴とする請求項１に記載の貯蔵システム。
【請求項９】
データを貯蔵するように構成された不揮発性メモリと、インターフェースと、前記不揮発性メモリに前記インターフェースを介して書き込まれるデータをバッファリングするように構成されたバッファメモリと、前記バッファメモリに書き込まれたデータが有効なデータであるか否かの状態を格納するマッピングテーブルと、無効化インジケータに応答して前記不揮発性メモリに前記バッファリングされたデータを選択的に伝達する場合に、前記バッファメモリから前記不揮発性メモリへと自動的に前記データを書き込むように構成された制御器を含んだ貯蔵システムと、
前記バッファメモリにデータを伝送して、データ修正動作に応答して前記貯蔵システムに前記無効化インジケータを提供するホストとを含み、
前記インターフェースを介して受信された第一の指示に応答して、前記マッピングテーブルの第一データの有効状態が無効状態へと変更され、前記バッファメモリから前記不揮発性メモリへの前記第一データの自動的な書き込みを不可とし、
前記無効化インジケータとは、バッファメモリから前記不揮発性メモリへデータが移されることを無効化させるために外部から入力される命令であり、
上位のホストからの無効情報に従って、前記ホストと前記不揮発性メモリとの間の円滑なデータ伝送のために使用される前記バッファメモリに貯蔵されたデータに有効／無効情報のタグをつけて前記不揮発性メモリへのデータ複写動作を選別的に制御する
ことを特徴とするコンピューティングシステム。
【請求項１０】
前記無効化インジケータはアンライト命令を含む
ことを特徴とする請求項９に記載のコンピューティングシステム。
【請求項１１】
前記ホストはファイルデータの削除に応答して前記アンライト命令を発生するように構成された
ことを特徴とする請求項１０に記載のコンピューティングシステム。
【請求項１２】
前記制御器は前記無効化インジケータに応答して選択されたバッファリングされたデータを無効化させるように構成された
ことを特徴とする請求項９に記載のコンピュータシステム。
【請求項１３】
前記制御器は前記無効化インジケータに応答して前記無効化されるべきバッファリングされたデータの無効化を示す書き込み状態情報を貯蔵して、前記貯蔵された書き込み状態情報に応答して前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータの伝送を防止するように構成される
ことを特徴とする請求項１２に記載のコンピューティングシステム。
【請求項１４】
前記制御器は前記バッファメモリ内の貯蔵限界そして／または前記不揮発性メモリの遊休状態に応答して複写動作をトリガするように構成され、
前記複写動作は前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータ伝送を無視する間、前記バッファメモリから前記不揮発性メモリへ有効なバッファリングされたデータを伝達することを含む
ことを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記制御器は前記無効化されるべきバッファリングされたデータの無効化に応答して前記無効化されたバッファリングされたデータによって占有される前記バッファメモリ内の貯蔵空間を再使用が可能にするように構成された
ことを特徴とする請求項１２に記載のコンピューティングシステム。
【請求項１６】
前記バッファメモリは不揮発性そして／または揮発性半導体メモリを含み、前記不揮発性メモリは不揮発性半導体メモリそして／または磁気不揮発性メモリを含む
ことを特徴とする請求項９に記載のコンピューティングシステム。
【請求項１７】
不揮発性メモリと、インターフェースと、前記インターフェースを介して前記不揮発性メモリに書き込まれるデータを貯蔵するように構成されたバッファメモリと、前記バッファメモリに書き込まれたデータが有効なデータであるか否かの状態を格納するマッピングテーブルと、を含んだ貯蔵システムの動作方法において、
外部から前記バッファメモリに貯蔵されるデータと係わる無効化インジケータが入力される段階と、
前記入力された無効化インジケータに応答して前記バッファメモリに貯蔵されたデータを前記不揮発性メモリに選択的に伝送する場合に前記バッファメモリから前記不揮発性メモリへと自動的に前記データを書き込む段階とを含み、
前記インターフェースを介して受信された第一の指示に応答して、前記マッピングテーブルの第一データの有効状態が無効状態へと変更され、前記バッファメモリから前記不揮発性メモリへの前記第一データの自動的な書き込みを不可とし、
前記無効化インジケータとは、バッファメモリから前記不揮発性メモリへデータが移されることを無効化させるために外部から入力される命令であり、
上位のホストからの無効情報に従って、前記ホストと前記不揮発性メモリとの間の円滑なデータ伝送のために使用される前記バッファメモリに貯蔵されたデータに有効／無効情報のタグをつけて前記不揮発性メモリへのデータ複写動作を選別的に制御する
ことを特徴とする動作方法。
【請求項１８】
前記無効化インジケータはアンライト情報を含む
ことを特徴とする請求項１７に記載の動作方法。
【請求項１９】
アンライト情報は、削除するように任意選択されたバッファリングされたデータまたは削除されたファイルデータに対応する無効情報を示す
ことを特徴とする請求項１８に記載の動作方法。
【請求項２０】
前記入力された無効化インジケータに応答して前記バッファメモリに貯蔵されたデータを前記不揮発性メモリに選択的に送る段階は、
前記無効化インジケータに応答して前記バッファメモリに貯蔵された選択されたデータを無効化させる段階と、
前記バッファメモリから前記不揮発性メモリへの前記無効化されたデータ伝送を禁止する段階とを含む
ことを特徴とする請求項１７に記載の動作方法。
【請求項２１】
前記無効化インジケータに応答して前記バッファメモリに貯蔵された選択されたデータを無効化させる段階は前記無効化インジケータに応答して前記無効化されたデータの無効化を示す書き込み状態情報を貯蔵する段階を含み、
前記バッファメモリから前記不揮発性メモリへの前記無効化されたデータ伝送を禁止する段階は前記貯蔵された書き込み状態情報に応答して前記バッファメモリから前記不揮発性メモリへのデータ伝送を禁止する段階とを含む
ことを特徴とする請求項２０に記載の動作方法。
【請求項２２】
前記バッファメモリ内の貯蔵限界そして／または前記不揮発性メモリの遊休状態に応答して複写動作を実行する段階をさらに含み、
前記複写動作は前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータ伝送を無視する間、前記バッファメモリから前記不揮発性メモリへ有効なデータを伝達する段階を含む
ことを特徴とする請求項２０に記載の動作方法。
【請求項２３】
前記無効化されたデータの無効化に応答して前記無効化されたバッファリングされたデータによって占有される前記バッファメモリ内の貯蔵空間を再使用が可能にする段階をさらに含む
ことを特徴とする請求項２０に記載の動作方法。
【請求項２４】
前記バッファメモリは不揮発性そして／または揮発性半導体メモリを含み、前記不揮発性メモリは不揮発性半導体メモリそして／または磁気不揮発性メモリを含む
ことを特徴とする請求項１７に記載の動作方法。
【請求項２５】
不揮発性メモリ内のデータ貯蔵を制御するシステムにおいて、
インターフェースと、
前記インターフェースを介して前記不揮発性メモリに書き込まれるデータをバッファリングするように構成されたバッファメモリと、
前記バッファメモリに書き込まれたデータが有効なデータであるか否かの状態を格納するマッピングテーブルと、
外部から入力された無効化インジケータに応答して前記不揮発性メモリに前記バッファリングされたデータを選択的に伝達する場合に、前記バッファメモリから前記不揮発性メモリへと自動的に前記データを書き込むように構成された制御器とを含み、
前記インターフェースを介して受信された第一の指示に応答して、前記マッピングテーブルの第一データの有効状態が無効状態へと変更され、前記バッファメモリから前記不揮発性メモリへの前記第一データの自動的な書き込みを不可とし、
前記無効化インジケータとは、バッファメモリから前記不揮発性メモリへデータが移されることを無効化させるために外部から入力される命令であり、
上位のホストからの無効情報に従って、前記ホストと前記不揮発性メモリとの間の円滑なデータ伝送のために使用される前記バッファメモリに貯蔵されたデータに有効／無効情報のタグをつけて前記不揮発性メモリへのデータ複写動作を選別的に制御する
ことを特徴とするシステム。
【請求項２６】
前記無効化インジケータはアンライト情報を含む
ことを特徴とする請求項２５に記載のシステム。
【請求項２７】
アンライト情報は、削除するように任意選択されたバッファリングされたデータまたは削除されたファイルデータに対応する無効情報を示す
ことを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記制御器は前記無効化インジケータに応答して選択されたバッファリングされたデータを無効化させるように構成された
ことを特徴とする請求項２５に記載のシステム。
【請求項２９】
前記制御器は前記無効化インジケータに応答して前記無効化されるべきバッファリングされたデータの無効化を示す書き込み状態情報を貯蔵して、前記貯蔵された書き込み状態情報に応答して前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータの伝送を防止するように構成される
ことを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記制御器は前記バッファメモリ内の貯蔵限界そして／または前記不揮発性メモリの遊休状態に応答して複写動作をトリガするように構成され、
前記複写動作は前記バッファメモリから前記不揮発性メモリへの前記無効化されたバッファリングされたデータ伝送を無視する間、前記バッファメモリから前記不揮発性メモリへ有効なバッファリングされたデータを伝達することを含む
ことを特徴とする請求項２９に記載の貯蔵システム。
【請求項３１】
前記制御器は前記無効化されるべきバッファリングされたデータの無効化に応答して前記無効化されたバッファリングされたデータによって占有される前記バッファメモリ内の貯蔵空間を再使用が可能にするように構成された
ことを特徴とする請求項２８に記載のシステム。
【請求項３２】
前記バッファメモリは不揮発性そして／または揮発性半導体メモリを含む
ことを特徴とする請求項２５に記載のシステム。
【請求項３３】
前記バッファメモリは相異なっている読み出し／書き込み機能を有する少なくとも二つの揮発性メモリを含む
ことを特徴とする請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピューティングシステムに係り、さらに具体的にはバッファメモリに貯蔵されたデータを無効化させることができる貯蔵システムを有するコンピューティングシステムに関する。
【背景技術】
【０００２】
図１は一般的なコンピューティングシステムを概略的に示すブロック図である。図１を参照すると、コンピューティングシステムはホスト（またはホストシステム）１０及び貯蔵装置２０含む。ホスト１０には、図示しないが、中央処理装置及びメインメモリが提供されるであろう。貯蔵装置２０はＳＣＳＩ、 ＥＳＤＩ、またはＩＤＥインターフェースのような標準インターフェース（ｓｔａｎｄａｒｄｉｚｅｄ ｉｎｔｅｒｆａｃｅ）によってホスト１０に連結される。貯蔵装置２０は貯蔵媒体（例えば、ハードディスクまたはフラッシュメモリ）２２、バッファメモリ２４、及びコントローラ２６で構成される。コントローラ２６は周知のインターフェースメカニズムを通じて貯蔵媒体２２及びバッファメモリ２４に連結されている。バッファメモリ２４はＳＲＡＭまたはＤＲＡＭのようなメモリで構成され、ホスト１０の貯蔵装置２０に対する書き込み性能を高めるために使用される。
【０００３】
図２は図１に示したコンピューティングシステムのファイル処理過程を概略的に示す図である。ホスト１０のような上位レベルで応用プログラムが実行されるとき、応用プログラムによって生成されたファイルはファイルシステム（例えば、ＦＡＴ  ｆｉｌｅ  ｓｙｓｔｅｍ）によって管理される。応用プログラムによって生成されたファイルにデータが書き込まれれば、ホスト１０にある中央処理装置の制御によってファイルに書き込まれた新しいデータは必要によって貯蔵装置２０のような下位レベルに伝送される。伝送されたデータは貯蔵装置２０のバッファメモリ２４に一時貯蔵される。また、ホスト１０によって要請されたファイルのデータはバッファメモリ２４を通じて、または直接貯蔵媒体２２からホスト１０のメインメモリへ伝送される。ホスト１０によって要請されたファイルのデータがバッファメモリ２４を通じて貯蔵媒体２２からホスト１０のメインメモリへ伝送される場合、ホスト１０によって要請されたファイルのデータはバッファメモリ２４に一時貯蔵されることもできる。
【０００４】
バッファメモリ２４の容量が、周知のように、貯蔵媒体２２に比べて小さくて、ホスト１０から伝達されるすべてのデータをバッファメモリ２４に貯蔵することは不可能である。これによって、バッファメモリ２４に一時貯蔵されたデータはコントローラ２６の制御に応じてある時点で、貯蔵媒体２２に移動される。貯蔵媒体２２へのデータ移動は、一般的に、ホスト１０の介入なしにコントローラ２６によって自動的に実行される。例えば、バッファメモリ２４に一時貯蔵されたデータは新しいデータ書き込み要請によってバッファメモリ２４の空き空間が不足するとき、またはホストから要請がないときに発生するコントローラ２６の遊休時間を利用してホスト１０の介入なしにコントローラ２６の制御に応じて貯蔵媒体２２に自動的に移動される。
【０００５】
ホスト１０の介入なしにコントローラ２６によって貯蔵媒体２２への書き込み動作（または複写動作）が制御されるスキームを有するコンピューティングシステムは次のような問題点を有する。ホスト１０の応用プログラムによって処理されるファイルのデータが上位レベルで削除された場合、ファイルシステムによってデータファイルは削除されたファイルとして処理される。たとえ上位レベルのホスト１０でデータファイルが削除されても、削除されたファイルのデータはバッファメモリ２４に貯蔵されうる。バッファメモリ２４に一時貯蔵されたファイルデータは新しいデータ書き込み要請によってバッファメモリ２４の空き空間が不足するとき、またはホストから要請がないときに発生するコントローラ２６の遊休時間を利用してホスト１０の介入なしにコントローラ２６の制御によって貯蔵媒体２２に貯蔵される。すなわち、バッファメモリ２４に一時貯蔵されたデータは上位レベルで削除されたファイルの有効ではないデータにもかかわらず、コントローラ２６がバッファメモリ２４に貯蔵されたデータの有効性を判断することができずに、バッファメモリ２４に貯蔵された有効ではないデータは不要に貯蔵媒体２２に書き込まれる。これは貯蔵装置２０の書き込み性能の低下だけではなく、貯蔵装置２０の寿命を短縮させる。また、不要な書き込み動作に応じて不要に電力が消耗する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的はバッファメモリに貯蔵されたデータを無効化させることができる貯蔵システム及びそれを含んだコンピューティングシステムを提供することにある。
【０００７】
本発明の他の目的は、バッファメモリに貯蔵されたデータの不要な書き込み動作を防止することができる貯蔵システム及びそれを含んだコンピューティングシステムを提供することにある。
【０００８】
本発明のまた他の目的は上位レベルで提供されるバッファメモリに貯蔵されたデータの有効／無効情報を参照してバッファメモリの無効データの書き込み動作を制御することができる貯蔵システム及びそれを含んだコンピューティングシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一特徴によると、貯蔵システムはデータを貯蔵するように構成された貯蔵媒体と、前記貯蔵媒体に書き込まれるデータをバッファリングするように構成されたバッファメモリと、外部から入力された無効化インジケータに応答して前記貯蔵媒体に前記バッファリングされたデータを選択的に伝達するように構成された制御器とを含む。例えば、前記無効化インジケータは外部から提供されるアンライト情報すなわち、選択されたバッファリングされたデータが削除されたファイルデータに対応することを示す情報を含む。
【００１０】
実施形態において、前記制御器は前記無効化インジケータに応答して選択されたバッファリングされたデータを無効化するように構成される。具体的に、前記制御器は前記無効化インジケータに応答して前記無効化されたバッファリングされたデータの無効化を示す書き込み状態情報を貯蔵して、前記貯蔵された書き込み状態情報に応答して前記バッファメモリから前記貯蔵媒体への前記無効化されたバッファリングされたデータの伝送を防止するように構成される。
【００１１】
本発明の他の実施形態において、前記制御器は前記バッファメモリ内の貯蔵限界そして／または前記貯蔵媒体の遊休状態に応答して複写動作をトリガするように構成される。前記複写動作は前記バッファメモリから前記貯蔵媒体への前記無効化されたバッファリングされたデータ伝送を無視する間、前記バッファメモリから前記貯蔵媒体へ有効なバッファリングされたデータを伝達することを含む。他の実施形態において、前記制御器は前記無効化されたバッファリングされたデータの無効化に応答して前記無効化されたバッファリングされたデータによって占有される前記バッファメモリ内の貯蔵空間が再使用可能にするように構成される。
【００１２】
本発明の他の特徴によると、コンピューティングシステムはデータを貯蔵するように構成された貯蔵媒体と、前記貯蔵媒体に書き込まれるデータをバッファリングするように構成されたバッファメモリと、無効化インジケータに応答して前記貯蔵媒体へ前記バッファリングされたデータを選択的に伝達するように構成された制御器を含んだ貯蔵システムと、前記バッファメモリへデータを伝送して、データ修正動作に応答して前記貯蔵システムへ前記無効化インジケータを提供するホストとを含む。前記無効化インジケータは、例えば、ホストでファイルデータの削除に応答して生成されたアンライト命令を含む。
【００１３】
本発明のまた他の特徴によると、貯蔵媒体と、前記貯蔵媒体に書き込まれるデータを貯蔵するように構成されたバッファメモリを含んだ貯蔵システムの動作方法が提供される。
【００１４】
外部から前記バッファメモリに貯蔵されるデータと係わる無効化インジケータが入力される。前記入力された無効化インジケータに応答して前記バッファメモリに貯蔵されたデータが前記貯蔵媒体へ選択的に伝送される。
【００１５】
本発明のまた他の特徴によると、貯蔵媒体内のデータ貯蔵を制御するシステムは前記貯蔵媒体に書き込まれるデータをバッファリングするように構成されたバッファメモリと、外部から入力された無効化インジケータに応答して前記貯蔵媒体へ前記バッファリングされたデータを選択的に伝達するように構成された制御器とを含む。
【発明の効果】
【００１６】
バッファメモリに貯蔵された無効データが貯蔵媒体に複写されることを防止することによって、貯蔵システムの書き込み性能が向上して、不要な複写動作による貯蔵媒体の寿命が短縮されることを防止することができ、不要な複写動作による電力消耗を減らすことができる。
【発明を実施するための最良の形態】
【００１７】
本発明の例示的な実施形態が参照の図に基づいて以下詳細に説明される。本明細書において、貯蔵システムのバッファメモリから貯蔵媒体へデータが移されることを無効化させるために貯蔵システムの外部から入力される命令／情報は“アンライト（ｕｎｗｒｉｔｅ）命令（または情報や要請）であると称する。また、貯蔵システムのバッファメモリから貯蔵媒体へデータが移される動作は”複写（ｔｒａｎｓｃｒｉｂｅ） 動作“または”フラッシング(ｆｌｕｓｈｉｎｇ) 動作“と呼ばれ、望ましくは”複写動作“と称する。
【００１８】
図３は本発明によるコンピューティングシステムを概略的に示すブロック図である。図３を参照すると、本発明によるコンピューティングシステム１０００はホストシステム１００と貯蔵システム（または貯蔵装置２００）とを含み、ホストシステム１００と貯蔵システム２００はＵＳＢ、ＳＣＳＩ、ＥＳＤＩ、またはＩＤＥインターフェースのような標準インターフェース（ｓｔａｎｄａｒｄｉｚｅｄ ｉｎｔｅｒｆａｃｅ）によって連結される。しかし、ホストシステム１００と貯蔵システム２００とを連結するためのインターフェース方式がここに限らないことはこの分野の通常の知識を習得した者などに自明である。ホストシステム１００は中央処理装置（図面では“ＣＰＵ”として表記する）１１０とメモリ１２０とを含み、メモリ１２０の少なくとも一部分はホストシステム１００のメインメモリを含む。または、メモリ２００はホストシステム１００のメインメモリを構成する。応用プログラム１２１及びファイルシステム１２２がメモリ１２０内に各々提供される。ファイルシステム１２２はファイル割り当てテーブル（ｆｉｌｅ ａｌｌｏｃａｔｉｏｎ ｔａｂｌｅ: ＦＡＴ）ファイルシステムを含むすべてのファイルシステムを含む。しかし、ファイルシステムがここに限らないことはこの分野の通常的な知識を習得した者などに自明である。本発明によるホストシステム１００の場合、応用プログラム１２１によって処理されるファイルのデータ全部が削除されるとき、または応用プログラム１２１によって処理されるファイルの一部データが削除されるとき、ホストシステム１００の中央処理装置１１０は特定命令（以下、アンライト命令と称する）を貯蔵システム２００に出力する。例示的な実施形態において、特定命令とともに削除されたデータを指定するためのアドレス情報及びデータの大きさの情報が貯蔵システム２００に伝送されることができる。
【００１９】
周知のように、ＦＡＴファイルシステムは、図２に示したように、マスタブートレコード（ｍａｓｔｅｒ ｂｏｏｔ ｒｅｃｏｒｄ: ＭＢＲ）、パーティションブートレコード（ｐａｒｔｉｔｉｏｎ ｂｏｏｔ ｒｅｃｏｒｄ: ＰＢＲ）、第１及び第２ファイル割り当てテーブル（ｐｒｉｍａｒｙ ＦＡＴ、ｃｏｐｙ ＦＡＴ）、及びルートディレクトリを含む。貯蔵システム２００に貯蔵された／貯蔵されるファイルは二つの情報を使用して確認されることができる。その情報はファイルのファイル名とファイルが貯蔵された所に到逹するために通過するディレクトリツリーの経路である。一つのディレクトリで各エントリーは、例えば、３２バイトの長さを有し、ファイル名、拡張子、ファイル属性バイト、最終的に変更された日付／時間、ファイルのサイズ、及び始動クラスタへの連結などのような情報を貯蔵している。
【００２０】
特に、ファイル名において、削除されたファイルを示すためのファイル名の最初の文字として一つの特殊のコードが使用される。例えば、ファイル名の初字に十六進数バイトコードであるＥ５ｈを位置させる。これは一つの特別なタグとして、‘このファイルは削除された’ということをシステムに知らせる。任意のファイルが削除されるとき、中央処理装置１１０は削除されたファイルのファイル名の初文字に一つの特殊なコードを位置させると同時に削除されたファイルに対応するアンライト命令（または削除されたファイルデータに対する無効情報）を貯蔵システム２００に出力する。
【００２１】
続いて、図３を参照すると、貯蔵システム２００は貯蔵媒体２２０、バッファメモリ２４０、及び制御装置２６０を含む。本発明による貯蔵システム２００は、外部から無効情報（例えば、アンライト命令、貯蔵システムの上位レベルで削除されたファイルデータのアドレス情報、及び削除されたデータの大きさの情報を含み）が入力されるとき、バッファメモリ２２０のデータ（貯蔵システムの上位レベルで既に削除されたデータを示す）が貯蔵媒体２６０に書き込まれることを防止するように構成される。これは以後詳細に説明されるであろう。
【００２２】
貯蔵システム２００の貯蔵媒体２２０はデータ（文書データ、映像データ、音楽データ、及びプログラムのような貯蔵可能なすべての形式のデータを含み）を貯蔵するためのものであって、マグネティックディスクまたはフラッシュメモリのような不揮発性半導体メモリで構成されることができる。しかし、貯蔵媒体２２０がここに開示されたことに制限されないことはこの分野の通常的な知識を習得した者などに自明である。
【００２３】
続いて、バッファメモリ２４０はホストシステム１００と貯蔵媒体２２０との間の円滑なデータ伝送のために使用され、ＤＲＡＭまたはＳＲＡＭのような高速揮発性メモリまたはＭＲＡＭ、ＰＲＡＭ、ＦＲＡＭ（登録商標）、ＮＡＮＤ型フラッシュメモリ、またはＮＯＲ型フラッシュメモリ装置のような不揮発性メモリで構成されることができる。
【００２４】
バッファメモリ２４０は書き込みバッファとして機能する。例えば、バッファメモリ２４０はホストシステム１００の要請によって貯蔵媒体２２０に書き込まれるデータを一時貯蔵するための書き込みバッファとして機能する。また、書き込みバッファの機能は選択的に使用されることができる。例えば、場合によって、ホストシステム１００から伝達されたデータは書き込みバッファすなわち、バッファメモリ２４０を経由せず、貯蔵媒体２２０に直接伝送されることができる。貯蔵装置２００のこのような機能は書き込みバイパス機能（ｗｒｉｔｅ ｂｙｐａｓｓ ｆｕｎｃｔｉｏｎ）であると呼ばれる。または、バッファメモリ２４０は読み出しバッファとして機能する。例えば、バッファメモリ２４０はホストシステム１００の要請によって貯蔵媒体２２０で読み出されたデータを一時貯蔵するための読み出しバッファとして機能する。図にはただ一つのバッファメモリが示されているが、二つまたはそれより多いバッファメモリが提供されてもよい。この場合、各バッファメモリは書き込みバッファ、読み出しバッファまたは二つの機能を全部有するバッファとして使用されうる。
【００２５】
本発明による制御装置２６０は貯蔵媒体２２０及びバッファメモリ２４０を制御するように構成される。ホストシステム１００から読み出し命令が入力されるとき、制御装置２６０は貯蔵媒体２２０に貯蔵されたデータがホストシステム１００に移動されるように貯蔵媒体２２０を制御する。または、ホストシステム１００から読み出し命令が入力されるとき、制御装置２６０は貯蔵媒体２２０に貯蔵されたデータがバッファメモリ２４０を通じてホストシステム１００に移動されるように貯蔵媒体２２０及びバッファメモリ２４０を制御する。ホストシステム１００から書き込み命令が入力されるとき、制御装置２６０は書き込み命令と係わるデータがバッファメモリ２４０に一時貯蔵されるようにする。バッファメモリ２４０に一時貯蔵されたデータの全部または一部はバッファメモリ２４０の空き空間が不足するとき、または遊休時間（ホストから要請がないときに生ずる制御装置２６０の遊休時間）が生ずるとき、制御装置２６０の制御に応じて貯蔵媒体２２０に移される。以上の動作を実行するため、制御装置２６０は貯蔵媒体２２０とバッファメモリ２４０との間のアドレスマッピング情報（ａｄｄｒｅｓｓ ｍａｐｐｉｎｇ ｉｎｆｏｒｍａｔｉｏｎ）及びバッファメモリ２４０に貯蔵されたデータが有効の情報であるか否かを示す書き込み状態情報を貯蔵するためのマッピングテーブル２６１を含む。書き込み状態情報は外部から提供される無効情報によって更新され、これは以後詳細に説明される。制御装置２６０はマッピングテーブル２６１の書き込み状態情報に応じてバッファメモリ２４０に貯蔵されたデータの全部または一部が貯蔵媒体２２０に書き込まれるように貯蔵媒体２２０及びバッファメモリ２４０を制御し、これは以後詳細に説明される。
【００２６】
この実施形態において、貯蔵媒体２２０及びバッファメモリ２４０はフラッシュメモリのようなメモリで同様に構成されることができる。
【００２７】
以上の説明から分かるように、本発明による貯蔵システム２００はバッファメモリ２４０の空き空間が不足するとき、または遊休時間（ホストから要請がないときに生ずる制御装置２６０の遊休時間）が生ずるとき、マッピングテーブル２６１の書き込み状態情報を参照してバッファメモリ２４０に貯蔵されたデータの全部または一部を貯蔵媒体２２０に移さない。すなわち、本発明による貯蔵システム２００はバッファメモリ２４０に貯蔵されたデータが有効のデータであるか否か、または無効のデータであるか否かを示すアンライト情報（またはバッファメモリ２４０に貯蔵されたデータと係わる無効情報）を貯蔵システム２００の外部（例えば、ホストシステム）から入力されて、入力された情報を参照してバッファメモリ２４０に貯蔵されたデータのうちの無効のデータが貯蔵媒体２２０に書き込まれることを防止する。言い替えれば、本発明による貯蔵システム２００はバッファメモリ２４０に貯蔵されたデータに有効／無効情報のタグをつけて貯蔵媒体２２０へのデータ複写動作を選別的に制御する。したがって、貯蔵システム２００の書き込み性能が向上して、不要な書き込み動作による貯蔵媒体２２０の寿命が短縮されることを防止することができるし、不要な書き込み動作による電力消耗を減らすことができる。
【００２８】
図４Ａ及び図４Ｂは図３に示した制御装置２６０の例示的なマッピングテーブルを示す図である。図４Ａ及び図４Ｂを参照すると、符号“ＢＢＮ”はバッファメモリ２４０のブロック番号を示し、符号“ＤＣＮ”は貯蔵媒体２２０のクラスタ番号を示し、符号“ＷＳＩ”はバッファメモリ２４０に貯蔵されたデータが有効のデータであるか否かを示す書き込み状態情報を示す。説明の便宜上、バッファメモリ２４０のブロックの大きさが多数のセクタで構成されるクラスタの大きさと同様であると仮定する。しかし、貯蔵媒体２２０の割り当て単位（ａｌｌｏｃａｔｉｏｎ ｕｎｉｔ）がここに開示されたものに限定されないことはこの分野の通常の知識を習得した者などに自明である。例えば、貯蔵媒体２２０の割り当て単位がマグネティックディスクのセクタとして、またはフラッシュメモリのページ、セクタ、またはブロックとして指定されることができることは、この分野の通常の知識を習得した者などに自明である。図４Ａ及び図４Ｂにおいて、無効データは‘Ｘ’に表示されており、有効データは‘Ｖ’に表示されている。
【００２９】
図４Ａに示したように、バッファメモリ２４０に３個のファイルＦＩＬＥ１、ＦＩＬＥ２、ＦＩＬＥ３と係わるデータが有効のデータとして貯蔵されていると仮定する。各データは貯蔵媒体２２０から読み出されたデータとしてホストシステム１００によって更新され、貯蔵媒体２２０にまだ貯蔵されていないデータでありうる。または、ホストシステム１００から伝達され、貯蔵媒体２２０にまだ貯蔵されていないデータでありうる。バッファメモリ２４０に貯蔵されたファイルデータＦＩＬＥ１、ＦＩＬＥ２、ＦＩＬＥ３は、上述のように、バッファメモリ２４０の空き空間が不足するとき、または遊休時間が生ずるときに制御装置２６０の制御に応じて貯蔵媒体２２０に移動される。制御装置２６０はホストシステム１００から伝達される無効情報に応じて貯蔵されたファイルデータＦＩＬＥ１、ＦＩＬＥ２、ＦＩＬＥ３の書き込み状態情報を更新するように構成される。例えば、ファイルデータＦＩＬＥ２が貯蔵システム２００の上位レベルとしてホストシステム１００で削除されたという無効情報がホストシステム１００から入力されれば、図４Ｂに示したように、制御装置２６０は無効データを示すようにファイルデータＦＩＬＥ２の書き込み状態情報を‘Ｘ’に表示する。また、制御装置２６０は無効データを示すように貯蔵媒体２２０に書き込まれたデータの書き込み状態情報を‘Ｘ'に表示する。
【００３０】
図５は本発明によるコンピューティングシステムにおいて、貯蔵システムに貯蔵されたデータを管理する方法を説明するためのフローチャートである。本発明による貯蔵システム２００は、前に説明されたように、データを貯蔵する貯蔵媒体２２０と貯蔵媒体２２０に書き込まれるデータを一時貯蔵するバッファメモリ２４０を含み、この貯蔵システム２００のデータ管理方法は、図５に示したように、アンライト情報が貯蔵システム２００の外部から印加されたか否かを判別する段階（Ｓ１００）と、アンライト情報が入力されるときに、バッファメモリ２４０に一時貯蔵されたデータの全部または一部を無効化させる段階（Ｓ１２０）を含む。以後、無効化されたデータは貯蔵媒体２２０に書き込まれない。
【００３１】
図６Ａ乃至図６Ｃは本発明によるコンピューティングシステムに含まれた貯蔵システムのデータ管理動作を説明するための図である。以下、本発明による貯蔵システムのデータ管理動作が参照の図に基づいて以下詳細に説明される。
【００３２】
上述のように、貯蔵システム２００の制御装置２６０はバッファメモリ２４０の空き空間を確保するために、または遊休時間を活用するためにマッピングテーブル２６１を参照してバッファメモリ２４０に貯蔵されているデータファイルを貯蔵媒体２２０に移しておく。図６Ａに示したように、バッファメモリ２４０には３個のファイルデータＦＩＬＥ１−ＦＩＬＥ３が有効のデータとして貯蔵されていると仮定する。特定時点で貯蔵システム２００の制御装置２６０は貯蔵されたファイルデータＦＩＬＥ１−ＦＩＬＥ３と係わるマッピングテーブル２６１の書き込み状態情報ＷＳＩを参照して、どんなデータが無効のデータであるか否かを判別する。図６Ａに示したように、すべてのファイルデータＦＩＬＥ１−ＦＩＬＥ３がマッピングテーブル２６１で有効のデータとして表示されているので、制御装置２６０は決められた方式に応じてファイルデータＦＩＬＥ１−ＦＩＬＥ３が貯蔵媒体２２０の対応する空間に移されるように貯蔵媒体２２０及びバッファメモリ２４０を制御する。
【００３３】
もし貯蔵媒体２２０へのデータ複写動作の以前に貯蔵システム２００の外部から無効情報（アンライト命令、無効なデータファイルのアドレス情報、及び無効なファイルデータの大きさ情報を含み）が入力されれば、貯蔵システム２００の制御装置２６０は無効情報と係わるファイルデータ（例えば、ＦＩＬＥ２）を無効化させる。すなわち、図６Ｂに示したように、ファイルデータＦＩＬＥ２と係わるマッピングテーブル２６１の書き込み状態情報ＷＳＩは無効データを示すように制御装置２６０の制御に応じて更新される。以後、特定時点で貯蔵システム２００の制御装置２６０は貯蔵されたファイルデータＦＩＬＥ１−ＦＩＬＥ３と係わるマッピングテーブル２６１の書き込み状態情報ＷＳＩを参照して、どんなデータファイルが無効のデータであるか否かを判別する。図６Ｂに示したように、ファイルデータＦＩＬＥ１、ＦＩＬＥ３だけがマッピングテーブル２６１で有効のデータとして表示されているので、制御装置２６０は決められた方式に応じてファイルデータＦＩＬＥ１、ＦＩＬＥ３が貯蔵媒体２２０の対応する空間に移されるように貯蔵媒体２２０及びバッファメモリ２４０を制御する。すなわち、制御装置２６０はファイルデータＦＩＬＥ２が貯蔵媒体２２０の対応する空間に移されることを防止する。無効ファイルデータとして処理されたバッファメモリ２４０の空間は以後行われる書き込み／読み出し動作のために使用されることができる。
【００３４】
他の例として、図６Ｃに示したように、ただ一つのファイルデータＦＩＬＥ１だけがバッファメモリ２４０に貯蔵されていると仮定する。もし貯蔵媒体２２０へのデータ複写動作の以前に貯蔵システム２００の外部から無効情報が入力されれば、貯蔵システム２００の制御装置２６０は入力された無効情報と係わるデータＦＩＬＥ１を無効化させる。 すなわち、図６Ｃに示したように、データＦＩＬＥ１と係わるマッピングテーブル２６１の書き込み状態情報ＷＳＩは無効データを示すように制御装置２６０の制御に応じて更新される。以後、特定時点で貯蔵システム２００の制御装置２６０は貯蔵されたデータＦＩＬＥ１と係わるマッピングテーブル２６１の書き込み状態情報ＷＳＩを参照して貯蔵されたデータが無効のデータであるか否かを判別する。図６Ｃに示したように、マッピングテーブル２６１で有効のデータとして表示されているデータが存在しなくて、貯蔵システム２００ではどんな複写動作も発生しない。特に、遊休状態での無効のデータの複写動作が防止されることができる。無効データとして処理されたバッファメモリ２４０の空間は以後行われる書き込み動作のために使用されることができる。
【００３５】
たとえ 無効データに表示されたデータが貯蔵媒体２２０に書き込まれても、貯蔵媒体２２０に貯蔵されたデータである無効データと係わるファイルはどんな影響も受けないことに注意しなければならない。さらに、無効処理されたデータは制御装置２６０の制御に応じて選択的に貯蔵媒体２２０に移されることができる。例えば、アンライト命令に応じてバッファメモリ２４０のデータが無効化されても、制御装置２６０は選択的に無効化されたデータの複写動作を実行するように構成されることができる。
【００３６】
本発明による貯蔵システム２００はバッファメモリ２４０に貯蔵されたデータが無効のデータであるか否かを示す書き込み状態情報ＷＳＩを含むマッピングテーブルを参照して、バッファメモリ２４０に一時貯蔵されたデータを貯蔵媒体２２０に移す動作を制御する。上述のように、データの書き込み状態情報は貯蔵システム２００の外部から提供されることによって、そのデータは貯蔵システム２００の外部で生成されて伝達されたデータである。または、そのデータは貯蔵媒体２２０で読み出されて、貯蔵システム２００の外部で変更された新しいデータでありうる。このような貯蔵システム２００はコンピューティングシステムだけでなくデータを貯蔵しようとする装置（例えば、ハードディスクまたはフラッシュメモリを基盤にしたＭＰ３プレーヤー、携帯用電子装置、またはそのようなもの）に適用されることができることはこの分野の通常の知識を習得した者などに自明である。
【００３７】
以上では、本発明による回路の構成及び動作を上述の説明及び図に応じて図示したが、これは例をあげて説明したことに過ぎず、添付の特許請求の範囲を逸脱しない範囲内で本発明の多様な変更及び変形が可能であることはもちろんである。
【図面の簡単な説明】
【００３８】
【図１】一般的な貯蔵システムを含んだコンピューティングシステムを概略的に示すブロック図である。
【図２】図１に示したコンピューティングシステムのファイル管理体系を説明するための図である。
【図３】本発明による貯蔵システムを含んだコンピューティングシステムを概略的に示すブロック図である。
【図４Ａ】図３に示した制御回路のマッピングテーブルを示す図である。
【図４Ｂ】図３に示した制御回路のマッピングテーブルを示す図である。
【図５】本発明によるコンピューティングシステムの貯蔵システムに貯蔵されたデータを管理する方法を説明するためのフローチャートである。
【図６Ａ】本発明によるコンピューティングシステムの貯蔵システムでバッファメモリに貯蔵されたデータの有効情報による貯蔵媒体への書き込み動作を説明するための図である。
【図６Ｂ】本発明によるコンピューティングシステムの貯蔵システムでバッファメモリに貯蔵されたデータの有効情報による貯蔵媒体への書き込み動作を説明するための図である。
【図６Ｃ】本発明によるコンピューティングシステムの貯蔵システムでバッファメモリに貯蔵されたデータの有効情報による貯蔵媒体への書き込み動作を説明するための図である。
【符号の説明】
【００３９】
１００  ホストシステム
１１０  中央処理装置
１２０  メインメモリ
２００  貯蔵システム
２２０  貯蔵媒体
２４０  バッファメモリ
２６０  制御回路
【図１】
0005420814.tif 000002
【図２】
0005420814.tif 000003
【図３】
0005420814.tif 000004
【図４Ａ】
0005420814.tif 000005
【図４Ｂ】
0005420814.tif 000006
【図５】
0005420814.tif 000007
【図６Ａ】
0005420814.tif 000008
【図６Ｂ】
0005420814.tif 000009
【図６Ｃ】
0005420814.tif 000010