(57)【要約】【課題】キャッシュフラッシュ制御方法及び装置並びにこれを利用したデータ保存システムを提供する。【解決手段】キャッシュフラッシュ条件が発生した場合に、キャッシュメモリに保存された情報をデータ保存システムに含まれる複数の保存装置のうち、第１保存装置にキャッシュフラッシュ処理する段階と、第１保存装置にキャッシュフラッシュ処理されて保存された情報に基づいて、第１保存装置より書き込み速度が遅い第２保存装置で書き込みコマンドを遂行する段階と、を含むことを特徴とするキャッシュフラッシュ制御方法である。【選択図】図４
2010020774.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュフラッシュ条件が発生した場合に、キャッシュメモリに保存された情報をデータ保存システムに含まれる複数の保存装置のうちの第１保存装置にキャッシュフラッシュ処理する段階と、
前記第１保存装置にキャッシュフラッシュ処理されて保存された情報に基づいて、前記第１保存装置より書き込み速度が遅い第２保存装置で書き込みコマンドを遂行する段階と、
を含むことを特徴とするキャッシュフラッシュ制御方法。
【請求項２】
前記複数の保存装置は、不揮発性保存装置を含むことを特徴とする、請求項１に記載のキャッシュフラッシュ制御方法。
【請求項３】
前記第１保存装置は、前記システムに含まれる複数の保存装置のうち、書き込み速度が最も速い不揮発性保存装置を含むことを特徴とする、請求項１に記載のキャッシュフラッシュ制御方法。
【請求項４】
前記第１保存装置にキャッシュフラッシュ処理される情報には、コマンドキュー情報及び書き込み対象のデータが含まれることを特徴とする、請求項１に記載のキャッシュフラッシュ制御方法。
【請求項５】
前記キャッシュフラッシュ処理する段階を遂行した後、キャッシュフラッシュ処理されて保存されたコマンドキュー情報に含まれる複数個の書き込みコマンドの遂行順序を、論理的なブロックアドレス情報に対する物理的な位置を考慮して書き込みコマンド遂行時間ができる限り短縮されるように再整列したテーブル情報を生成させる段階、をさらに含み、
前記書き込みコマンドを遂行する段階は、前記テーブル情報に再整列されたコマンド遂行順序に基づいて、前記第１保存装置に保存されたデータを読み取り、前記第２保存装置に書き込みを遂行することを特徴とする、請求項１又は請求項２に記載のキャッシュフラッシュ制御方法。
【請求項６】
前記テーブル情報は、コマンドキュー情報に含まれる複数個の書き込みコマンドの遂行順序を、記録媒体で一方向に順次にデータが保存されるように再整列することを特徴とする、請求項５に記載のキャッシュフラッシュ制御方法。
【請求項７】
前記テーブル情報は、前記第１保存装置に保存されることを特徴とする、請求項５に記載のキャッシュフラッシュ制御方法。
【請求項８】
請求項１ないし請求項７のうちいずれか１項に記載の方法をコンピュータで遂行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項９】
記録方式が異なる複数の保存装置と、
前記複数の保存装置に書き込む情報及び前記複数の保存装置から読み取った情報を一時的に保存するキャッシュメモリと、
キャッシュフラッシュイベントが発生した場合に、前記キャッシュメモリに保存された情報を、前記複数の保存装置のうち、第１保存装置にキャッシュフラッシュ処理し、前記第１保存装置にキャッシュフラッシュ処理されて保存された情報に基づいて、前記第１保存装置よりデータ書き込み速度が遅い第２保存装置で書き込みコマンドを遂行するように制御するコントローラと、
を含むことを特徴とするデータ保存システム。
【請求項１０】
前記複数の保存装置は、不揮発性保存装置を含むことを特徴とする、請求項９に記載のデータ保存システム。
【請求項１１】
前記第１保存装置は、前記システムに含まれる複数の保存装置のうち、書き込み速度が最も速い不揮発性保存装置を含むことを特徴とする、請求項９に記載のデータ保存システム。
【請求項１２】
前記コントローラは、前記第１保存装置にキャッシュフラッシュを遂行させた後、キャッシュフラッシュ処理されて保存されたコマンドキュー情報に含まれる複数個の書き込みコマンドの遂行順序を、論理的なブロックアドレス情報に対する物理的な位置を考慮して書き込みコマンド遂行時間が短縮されるように再整列したテーブル情報を生成させることを特徴とする、請求項９に記載のデータ保存システム。
【請求項１３】
前記コントローラは、前記テーブル情報を前記第１保存装置に保存するように制御することを特徴とする、請求項１２に記載のデータ保存システム。
【請求項１４】
前記コントローラは、前記テーブル情報に再整列されたコマンド遂行順序に基づいて、前記第１保存装置に保存されたデータを読み取り、前記第２保存装置に書き込みを遂行するように制御することを特徴とする、請求項１２に記載のデータ保存システム。
【請求項１５】
前記コントローラは、コマンドキュー情報に含まれる複数個の書き込みコマンドの遂行順序を、記録媒体で一方向に順次にデータが保存されるように再整列したテーブル情報を生成させることを特徴とする、請求項１２に記載のデータ保存システム。
【請求項１６】
前記記録媒体は、ディスクを含むことを特徴とする、請求項１５に記載のデータ保存システム。
【請求項１７】
単一または複数のコマンド及びデータをメモリに保存する段階と、
所定の条件が検出された場合に、前記メモリに保存された単一または複数のコマンド及びデータを第１データ保存装置に書き込む段階と、
第２データ保存装置の利用可能性を検出し、前記第１データ保存装置に保存された少なくとも前記データを、前記第２データ保存装置に書き込む動作を制御する段階と、
を含むことを特徴とするデータ保存制御方法。
【請求項１８】
第１データ保存容量と第１動作応答時間とを有する第１データ保存装置と、
前記第１データ保存容量より大きい第２データ保存容量と、前記第１動作応答時間より長い第２動作応答時間とを有する第２データ保存装置と、
ホストコンピュータ・インターフェースから受信された単一または複数のコマンド及びデータを保存するメモリと、
前記メモリに保存された単一または複数のコマンド及びデータを前記第１データ保存装置に書き込むように制御し、前記第１データ保存装置から前記第２データ保存装置への書き込み動作を制御するコントローラと、
を含むことを特徴とするデータ保存システム。
【請求項１９】
コマンドキュー及びコマンドキューに相応するデータを保存する第１メモリ領域と、
再整列テーブルを保存する第２メモリ領域と、
を含み、
前記保存された再整列テーブルによって前記コマンドキューが再整列され、前記再整列コマンドキューによって、前記データが伝送されることを特徴とする不揮発性メモリ。
【請求項２０】
外部装置からコマンドキューとデータとを受信するキャッシュメモリと、
前記キャッシュメモリから前記コマンドキューとデータとを受信し、前記コマンドキューとデータとを保存する第１メモリ領域と、再整列テーブルを保存する第２メモリ領域とが含まれた不揮発性メモリと、
を含み、
前記保存された再整列テーブルによって前記コマンドキューが再整列され、前記再整列コマンドキューによって、前記データが伝送されることを特徴とするデータ保存システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保存装置及びその制御方法に係り、特に、キャッシュフラッシュ制御方法及び装置に関する。
【背景技術】
【０００２】
本発明に関連した先行技術としては、特許文献１などがある。
【０００３】
一般的に、データ保存装置の一つであるハードディスクドライブは、磁気ヘッドによってディスクに書き込まれた記録されたデータを読み取り、又はディスクにユーザデータを書き込むことによって、コンピュータ・システム運営に寄与している。
【０００４】
コンピュータ・システムで、ハードディスクドライブからのデータ読み取り及び書き取り動作を行う速度は、ホスト装置の半導体メインメモリからのデータ読み取り及び書き取り動作を行う速度より遅い。かような速度の差を補償するために、キャッシュメモリが使われている。キャッシュメモリとしては、ＤＲＡＭ（dynamic  random-access  memory）が使われ、ＤＲＡＭの特性上、キャッシュフラッシュを中間で必ず行わねばならない。
【０００５】
ところで、ハードディスクドライブのような保存装置で、キャッシュフラッシュを直接行う場合には、キャッシュフラッシュ応答速度を一定レベル以上高められないという短所があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００７−００７０８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、書き込みコマンド処理速度を向上させるためのキャッシュフラッシュ制御方法を提供するところにある。
【０００８】
また、本発明が解決しようとする課題は、書き込みコマンド処理速度を向上させるためのキャッシュフラッシュ制御装置を提供するところにある。
【０００９】
また、本発明が解決しようとする課題は、書き込みコマンド処理速度を向上させるためのキャッシュフラッシュ制御方法を利用し、データ保存システムを提供するところにある。
【００１０】
また、本発明が解決しようとする課題は、書き込みコマンド処理速度を向上させるためのキャッシュフラッシュ制御方法を行うプログラムコードが記録された記録媒体を提供するところにある。
【課題を解決するための手段】
【００１１】
前記課題を達成するための本発明の一実施形態によるキャッシュフラッシュ制御方法は、キャッシュフラッシュ条件が発生した場合に、キャッシュメモリに保存された情報をデータ保存システムに含まれる複数の保存装置のうち、第１保存装置にキャッシュフラッシュ処理する段階と、前記第１保存装置にキャッシュフラッシュ処理されて保存された情報に基づいて、前記第１保存装置より書き込み速度が遅い第２保存装置で書き込みコマンドを遂行する段階とを含むことを特徴とする。
【００１２】
前記複数の保存装置は、不揮発性保存装置を含むことが望ましい。
【００１３】
前記第１保存装置は、前記システムに含まれた複数の保存装置のうち、書き込み速度が最も速い不揮発性保存装置として設定することが望ましい。
【００１４】
前記第１保存装置は、不揮発性半導体メモリ装置を含むことが望ましい。
【００１５】
前記第２保存装置は、ハードディスクドライブを含むことが望ましい。
【００１６】
前記第１保存装置にキャッシュフラッシュ処理される情報には、コマンドキュー情報及び書き込み対象のデータが含まれることが望ましい。
【００１７】
本発明の一実施形態によれば、前記キャッシュフラッシュ処理する段階を遂行した後、キャッシュフラッシュ処理されて保存されたコマンドキュー情報に含まれる複数個の書き込みコマンドの遂行順序を、論理的なブロックアドレス情報についての物理的な位置を考慮し、書き込みコマンド遂行時間ができる限り短縮されるように再整列したテーブル情報を生成させる段階をさらに含み、前記書き込む段階は、前記テーブル情報に再整列されたコマンド遂行順序に基づいて、前記第１保存装置に保存されたデータを読み取り、前記第２保存装置に書き込みを遂行することが望ましい。
【００１８】
前記テーブル情報は、コマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、記録媒体で一方向に順次にデータが保存されるように再整列することが望ましい。前記記録媒体は、ディスクを含むことが望ましい。
【００１９】
前記テーブル情報は、前記第１保存装置に保存されることが望ましい。
【００２０】
前記課題を達成するための本発明の他の実施形態によるデータ保存方法は、単一または複数のコマンド及びデータをメモリに保存する段階と、所定の条件が検出された場合に、前記メモリに保存された単一または複数のコマンド及びデータを第１データ保存装置に書き込む段階と、第２データ保存装置の利用可能性を検出し、前記第１データ保存装置に保存された少なくとも前記データを、前記第２データ保存装置に書き込む動作を制御する段階と、を含むことを特徴とする。
【００２１】
前記課題を達成するための本発明のさらに他の実施形態によるデータ保存方法は、単一または複数のコマンド及びデータをメモリに保存する段階と、所定の条件が検出された場合に、前記メモリに保存された単一または複数のコマンド及びデータを第１データ保存装置に書き込む段階と、前記第１データ保存装置に保存された単一または複数のコマンドを、シーケンシャル書き込み動作のために再整列する段階と、前記再整列されたコマンドで、前記第１データ保存装置に保存されたデータが、第２データ保存装置にシーケンシャル書き込みされるように制御する段階と、を含むことを特徴とする。
【００２２】
前記課題を達成するための本発明のさらに他の実施形態によるデータ保存方法は、単一または複数の受信されたコマンド及びデータを保存システムのキャッシュメモリに保存する段階と、所定の条件が検出された場合に、前記キャッシュメモリに保存された単一または複数のコマンド及びデータを第１データ保存装置に書き込む段階と、前記第１データ保存装置に保存された単一または複数のコマンドの、シーケンシャル書き込みする動作のための再整列コマンドテーブルを生成させる段階と、前記再整列コマンドテーブルを利用し、前記第１データ保存装置に保存されたデータが、第２データ保存装置にシーケンシャル書き込みされるように制御する段階と、を含むことを特徴とする。
【００２３】
前記課題を達成するための本発明の一実施形態によるデータ保存システムは、記録方式が異なる複数の保存装置と、前記複数の保存装置に書き込む情報及び前記複数の保存装置から読み取った情報を一時的に保存するキャッシュメモリと、キャッシュフラッシュイベントが発生した場合に、前記キャッシュメモリに保存された情報を、前記複数の保存装置のうち、第１保存装置にキャッシュフラッシュ処理し、前記第１保存装置にキャッシュフラッシュ処理されて保存された情報に基づいて、前記第１保存装置よりデータ書き込み速度が遅い第２保存装置で書き込みコマンドを遂行するように制御するコントローラと、を含むことを特徴とする。
【００２４】
前記コントローラは、前記第１保存装置にキャッシュフラッシュを遂行させた後、キャッシュフラッシュ処理されて保存されたコマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、論理的なブロックアドレス情報に対する物理的な位置を考慮して書き込みコマンド遂行時間ができる限り短縮されるように再整列したテーブル情報を生成させるように設計されることが望ましい。
【００２５】
前記他の課題を達成するための本発明の他の実施形態によるデータ保存システムは、第１データ保存容量と第１動作応答時間とを有する第１データ保存装置と、前記第１データ保存容量より大きい第２データ保存容量と、前記第１動作応答時間より長い第２動作応答時間とを有する第２データ保存装置と、ホストコンピュータ・インターフェースから受信された単一または複数のコマンド及びデータを保存するメモリと、前記メモリに保存された単一または複数のコマンド及びデータを前記第１データ保存装置に書き込むように制御し、前記第１データ保存装置から前記第２データ保存装置への書き込み動作を制御するコントローラと、を含むことを特徴とする。
【００２６】
前記課題を達成するための本発明のさらに他の実施形態によるデータ保存システムは、第１データ保存容量と第１動作応答時間とを有する第１データ保存装置と、前記第１データ保存容量より大きい第２データ保存容量と、前記第１動作応答時間より長い第２動作応答時間とを有する第２データ保存装置と、ホストコンピュータ・インターフェースから受信された単一または複数のコマンド及びデータを保存するキャッシュメモリと、前記メモリに保存された単一または複数のコマンド及びデータを前記第１データ保存装置に書き込むように制御し、再整列された単一または複数のコマンドで、前記第１データ保存装置から前記第２データ保存装置へのシーケンシャル書き込み動作を制御するコントローラと、を含むことを特徴とする。
【００２７】
前記課題を達成するための本発明のさらに他の実施形態によるデータ保存システムは、外部装置からコマンドキューとデータとを受信するキャッシュメモリと、前記キャッシュメモリから前記コマンドキューとデータとを受信し、前記コマンドキューとデータとを保存する第１メモリ領域と、再整列テーブルを保存する第２メモリ領域とが含まれた不揮発性メモリとを含み、前記保存された再整列テーブルによって前記コマンドキューが再整列され、前記再整列コマンドキューによって前記データが伝送されることを特徴とする。
【００２８】
前記課題を達成するための本発明のさらに他の実施形態によるデータ保存システムは、外部装置からコマンドキューとデータとを出力するプロセッサと、前記外部装置からコマンドキューとデータとを受信するキャッシュメモリと、前記キャッシュメモリから前記コマンドキューとデータとを受信し、前記コマンドキューとデータとを保存する第１メモリ領域と、再整列テーブルを保存する第２メモリ領域とが含まれた不揮発性メモリとを含み、前記保存された再整列テーブルによって前記コマンドキューが再整列され、前記再整列コマンドキューによって前記データが伝送されることを特徴とする。
【００２９】
前記課題を達成するための本発明の一実施形態による不揮発性メモリは、コマンドキュー及びコマンドキューに相応するデータを保存する第１メモリ領域と、再整列テーブルを保存する第２メモリ領域とを含み、前記保存された再整列テーブルによって前記コマンドキューが再整列され、前記再整列コマンドキューによって前記データが伝送されることを特徴とする。
【００３０】
前記さらに技術的課題を解決するために、本発明は、前記キャッシュフラッシュ制御方法をコンピュータで遂行させるためのプログラムコードを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００３１】
本発明によれば、不揮発性保存装置を補助キャッシュとして利用し、キャッシュフラッシュを遂行することによって、キャッシュフラッシュに対する応答速度を速めることができる。また、コマンドキュー情報に含まれた書き込みコマンドの遂行順序を再整列し、再整列された書き込みコマンドの遂行順序に基づいて書き込みコマンドを遂行することによって、実際に書き込まれる時間を短縮させることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明によるデータ保存システムの構成図である。
【図２】本発明の一実施形態によるハードディスクドライブの電気的な回路構成図である。
【図３】本発明が適用されるディスクドライブのヘッドディスク・アセンブリの平面図である。
【図４】本発明の一実施形態によるキャッシュフラッシュ制御方法のフローチャートである。
【図５】本発明の一実施形態によるデータ保存システムでのキャッシュフラッシュ制御プロセスによる記録媒体間の情報の移動状態を示す図面である。
【図６】本発明に適用されるコマンド遂行順序再整列テーブルの生成方法を説明するためのディスクでの書き込みコマンドが始まる位置を図示した図面である。
【図７】本発明の一実施形態によるデータ保存システムのハードディスクドライブの読み取り動作のフローチャートである。
【図８】本発明の一実施形態によるデータ保存システムのハードディスクドライブの書き込み動作のフローチャートである。
【図９】本発明の一実施形態によるキャッシュフラッシュ動作及び書き込みコマンド遂行動作を処理するフローチャートである。
【図１０Ａ】本発明の多様な実施形態によるデータ保存システムの構成を示す図面である（ただし、図１と同一である）。
【図１０Ｂ】本発明の多様な実施形態によるデータ保存システムの構成を示す図面である。
【図１０Ｃ】本発明の多様な実施形態によるデータ保存システムの構成を示す図面である。
【図１０Ｄ】本発明の多様な実施形態によるデータ保存システムの構成を示す図面である。
【図１１】本発明の一実施形態によるキャッシュフラッシュが遂行されるディスプレイ装置と、通信伝送媒体を介して結合されたデータ保存システムを示す図面である。
【発明を実施するための形態】
【００３３】
本発明、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び図面に記載された内容を参照せねばならない。
【００３４】
以下、添付された図面を参照しつつ、本発明の望ましい実施形態について詳細に説明する。
【００３５】
図１は、本発明の一実施形態によるデータ保存システム１００の構成図である。
【００３６】
図１に図示された通り、本発明の一実施形態によるデータ保存システム１００は、ホスト装置１１０、コントローラ１２０、キャッシュメモリ１３０、並びに第１保存装置１４０及び第２保存装置１５０を含む。ホスト装置１１０は、例えば、コンピュータ、サーバー、コンピュータ・システムまたは他の多様な装置になりうる。
【００３７】
コントローラ１２０は、中央処理装置（ＣＰＵ）１２０−１とプログラムメモリ１２０−２とから構成される。ＣＰＵ１２０−１は、データ保存システムを総括的に制御する手段であって、コマンド（command）の解析や演算、計算又は比較のような一連の処理を制御する手段である。プログラムメモリ１２０−２には、データ保存システム１００を制御するのに必要なプログラムが保存されており、特に、図４のフローチャートを遂行させるためのプログラムも保存されている。
【００３８】
第１保存装置１４０及び第２保存装置１５０は、電源が遮断されても記録媒体に保存されたデータを失わない不揮発性保存装置であり、第１保存装置１４０及び第２保存装置１５０の記録方式は異なる。本発明の一実施形態では、書き込み速度が速い保存装置を第１保存装置１４０として設定し、第１保存装置より書き込み速度が遅い保存装置を第２保存装置１５０として設定した。本発明の一実施形態によれば、第１保存装置１４０は、不揮発性半導体メモリ装置として構成され、第２保存装置１５０は、ハードディスクドライブとして構成される。なお、図１に図示された通り、本発明の一実施形態では、説明の便宜のために、データ保存システムに２個の保存装置が含まれるものとして説明しているが、本発明はそれに限定されるものではなく、３つ以上の複数の保存装置を含むように設計することができることはいうまでもない。もしシステムに３つ以上の複数の保存装置が含まれている場合には、補助キャッシュとして利用する第１保存装置は、複数の保存装置のうち、書き込み速度が最も速い不揮発性保存装置として選定される。
【００３９】
キャッシュメモリ１３０には、受信されるコマンド、複数の保存装置（例えば、第１保存装置１４０、第２保存装置１５０）に書き込む情報及び複数の保存装置から読み取った情報が一時的に保存される。
【００４０】
さて、コントローラ１２０によるキャッシュフラッシュ制御方法について、図４及び図５を参照しつつ説明する。
【００４１】
図５は、記録媒体間の情報の移動状態を示す図面である。図５で、参照番号１３０−１は、キャッシュメモリ１３０の記録領域（記録媒体）を示し、参照番号１４０−１は、第１保存装置１４０の保存領域（記録媒体）を示し、参照番号１５０−１は、第２保存装置１５０の保存領域（記録媒体）を示す。第１保存装置の記録媒体１４０−１には、キャッシュフラッシュによって補助キャッシュ領域に、コマンドキュー１４２及び書き込み対象のデータ１４４が保存される。記録媒体１４０−１はまた、コマンド遂行順序の再整列テーブル１４６を含む。そして、第２保存装置１５０の記録媒体１５０−１は、データ領域１５２とシステム情報領域１５４とに分けられる。
【００４２】
図１、図４及び図５を参照すれば、ホスト装置１１０からのコマンドがコントローラ１２０により受信されると、コントローラ１２０のＣＰＵ１２０−１によりコマンドが解析され、書き込みコマンドまたは読み取りコマンドのいずれが受信されたかが判断される（Ｓ４０１）。
【００４３】
段階４０１（Ｓ４０１）の判断の結果、書き込みコマンドが受信された場合に、キャッシュメモリ１３０にコマンド及び書き込み対象のデータを保存する（Ｓ４０２）。キャッシュメモリ１３０は、コマンドを保存する領域であるコマンドキュー保存領域１３２と、データを保存する領域であるデータ保存領域１３４とに分けられており、コマンドキュー保存領域１３２には、コマンドキュー情報が保存され、データ保存領域１３４には、書き込みコマンドによって書き込み対象のデータが保存される。コマンドキュー保存領域１３２には、受信される順にコマンドが保存される。
【００４４】
次に、コントローラ１２０のＣＰＵ１２０−１は、キャッシュフラッシュ条件が発生するか否かを判断する（Ｓ４０３）。一例としては、キャッシュフラッシュ発生条件は、キャッシュメモリ１３０にキャッシュメモリ１３０の総保存容量の一定比率を超えてデータが保存される場合に、キャッシュフラッシュを遂行させるように設定できる。
【００４５】
キャッシュフラッシュ条件は、一例としては、保存されるデータがキャッシュメモリ１３０の現在利用できる保存容量より大きい場合として設定することもできる。キャッシュメモリ１３０は、現在保存されているデータ容量と、さらに保存することができる残余容量とを加えた容量が全体容量になる。コントローラ１２０は、周期的にキャッシュメモリ１３０と通信しつつ、現在利用できるメモリの量を判断できる。場合によっては、キャッシュメモリ１３０が、周期的に、またはキャッシュメモリ１３０からデータが追加され若しくは削除されるときに、その時点で利用可能なメモリ容量情報を、コントローラ１２０に提供することもできる。換言すれば、保存するデータの量がキャッシュメモリ１３０の現在利用できる容量より大きいとコントローラ１２０が判断するとき、キャッシュフラッシュが遂行されうる。
【００４６】
キャッシュフラッシュを遂行する前にコントローラ１２０は、第１保存装置１４０及び／または第２保存装置１５０の利用可能な容量を判定する。そして、キャッシュフラッシュを遂行しつつ、伝送可能性及び／またはデータ保存容量に基づいて、フラッシュされたデータ及び／またはコマンドが第１保存装置１４０または第２保存装置１５０に保存されねばならないか否かを判断する。
【００４７】
段階４０３の判断の結果、キャッシュフラッシュ条件が発生すれば、図５の経路１（丸付き数字の１）に図示されたように、ＣＰＵ１２０−１は、キャッシュメモリ１３０の書き込み領域１３０−１にあるコマンドキュー保存領域１３２に保存されたコマンドキュー情報と、データ保存領域１３４に保存されたデータとを第１保存装置１４０の記録媒体１４０−１に割り当てられた補助キャッシュ領域にキャッシュフラッシュ処理する（Ｓ４０４）。ここで、第１保存装置１４０は、データ保存システムに含まれた複数の保存装置のうち、書き込み速度が最も速い不揮発性保存装置として構成されることが望ましい。図１に図示された通り、２個の保存装置が含まれたシステムでは、第１保存装置１４０は第２保存装置１５０に比べて書き込み速度が速い不揮発性保存装置として構成される。
【００４８】
次に、図５の経路２として図示されたように、ＣＰＵ１２０−１は、第１保存装置１４０にキャッシュフラッシュ処理されて保存されたコマンドキュー１４２情報に含まれた複数個の書き込みコマンドの遂行順序を、ＬＢＡ（logical  block  address）情報についての物理的な位置を考慮して書き込みコマンド遂行時間ができる限り短縮されうるように再整列したテーブル１４６情報を生成させ、第１保存装置１４０に含まれた記録媒体１４０−１の特定領域に保存する（Ｓ４０５）。特に、シーク（seek）時間とレイテンシ（latency）とを考慮し、シーケンシャル（sequential）書き込み遂行が多くなるように書き込みコマンド遂行順序が再設定される。一例としては、コマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、記録媒体で一方方向に順次にデータが保存されるように、書き込みコマンド遂行順序を再整列したテーブルを生成させる。このようにテーブル情報は、第１保存装置１４０の初期設定されたテーブル保存領域に保存される。
【００４９】
次に、図５の経路３及び４に図示されたように、ＣＰＵ１２０−１は、テーブルに再整列されたコマンド遂行順序に基づいて、第２保存装置１５０の記録媒体１５０−１のデータ領域への書き込みコマンドを遂行させる（Ｓ４０６）。すなわち、テーブルに再整列されたコマンド遂行順序によって、第１保存装置１４０に保存されたデータを第２保存装置１５０の記録媒体１５０−１の領域に書き込む処理を行う。
【００５０】
かような動作によって、主記憶装置に該当する第２保存装置１５０より書き込み速度が速い第１保存装置１４０を補助キャッシュとして利用し、キャッシュフラッシュ処理を遂行することによって、キャッシュフラッシュに係る応答速度を速める。また、第１保存装置１４０で、コマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、書き込み遂行速度をできる限り短縮させるように再整列するテーブルを生成させ、生成されたテーブルを利用して書き込みを遂行することによって、実際の書き込み速度を向上させることができる。
【００５１】
次に、ハードディスクドライブで、補助キャッシュメモリとして不揮発性半導体メモリ装置を利用する実施形態について説明する。
【００５２】
図１０Ａないし図１０Ｄは、本発明によるホスト１１０、コントローラ１２０、キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０の多様な構成を示している。
【００５３】
図１０Ａに図示されたような実施形態（図１と同一である）によれば、第１保存装置１４０と第２保存装置１５０は、コントローラ１２０と通信するように、独立して結合される構成を有する。例えば、第１保存装置１４０と第２保存装置１５０は、互いに異なる伝送レートを有する異なるインターフェースをもって、コントローラ１２０に結合されうる。図１０Ｂに図示されたような実施形態によれば、ホスト１１０は、コントローラ１２０、キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０を含むことができる。図１０Ｃに図示されたような実施形態によれば、ホスト１１０は、コントローラ１２０、キャッシュメモリ１３０及び第１保存装置１４０を含み、第２保存装置１５０は、ホスト１１０と外部から結合されうる。場合によっては、第１保存装置１４０を、ホスト１１０と外部から結合させるように設計し、第２保存装置１５０をホスト１１０の内部に設計することもできる。図１０Ｄに図示されたような実施形態によれば、ホスト１１０は、コントローラ１２０を含み、キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０は、ホスト１１０と外部から結合されうる。キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０は、各装置に係る独立的なインターフェース、または同じインターフェースを利用してホスト１１０と結合され、場合によっては、少なくとも２個の装置は、ホスト１１０と同じインターフェースを介して結合されうる。
【００５４】
図１０Ａないし図１０Ｄに図示された構成は、ホスト１１０、コントローラ１２０、キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０の構成の多様な実施形態を示すものであり、例示された構成と異なるように設計することもできる。
【００５５】
図２に図示されたように、本発明の一実施形態によるハードディスクドライブは、フリアンプ２１０、書き込み／読み取りチャンネル２２０、コントローラ２３０、キャッシュメモリ２４０、第１保存装置２５０、ホスト・インターフェース２６０及びボイスコイルモータ（ＶＣＭ）駆動部２７０を含む。
【００５６】
ここで、第１保存装置２５０は不揮発性保存装置であり、ディスク１２にデータが書き込まれる速度より速い書き込み速度を有するメモリ装置として構成される。第１保存装置２５０は、一例としては、半導体不揮発性メモリであるフラッシュメモリ、ＰＲＡＭ（phase  change  ＲＡＭ）、ＦＲＡＭ（ferroelectric  ＲＡＭ）、ＭＲＡＭ（magnetic  ＲＡＭ）などが利用されうる。第１保存装置２５０の保存領域のうち、一部を補助キャッシュ領域として割り当てる。
【００５７】
コントローラ２３０は、ハードディスクドライブを総括的に制御し、デジタル信号プロセッサ（ＤＳＰ：digital  signal  processor）、マイクロプロセッサ、マイクロコントローラなどで具現されうる。コントローラ２３０は、ホスト・インターフェース２６０を介してホスト装置から受信されるコマンドによって、ディスク１２から情報を読み取り、またはディスク１２に情報を書き込むために、書き込み／読み取りチャンネル２２０を制御する。
【００５８】
そして、コントローラ２３０は、ボイスコイル２６に駆動電流を供給するＶＣＭ駆動部２７０にさらに連結されている。コントローラ２３０は、ＶＣＭの励起及び変換器１６の動きを制御するために、ＶＣＭ駆動部２７０に制御信号を供給する。
【００５９】
特に、コントローラ２３０は、第１保存装置２５０を補助キャッシュとして利用し、キャッシュフラッシュ処理するように制御し、また、書き込みコマンド処理速度を向上させるための一連の制御処理を遂行する。これについては、以下で具体的に説明する。
【００６０】
図７及び図８を参照しつつ、本発明に係る一般的なハードディスクドライブの読み取り動作及び書き込み動作について説明する。
【００６１】
まず、図７を参照しつつ、データ読み取りモードの動作について説明する。
【００６２】
データ読み取りモード段階（Ｓ５００）で、読み取るデータが、キャッシュメモリ２４０に保存されているか否かを判断する（Ｓ５１０）。もし段階Ｓ５１０の判断の結果、キャッシュメモリ２４０に保存されていれば、キャッシュメモリ２４０から該当データを読み取り（Ｓ５２０）、読み取ったデータをホスト・インターフェース２６０に出力する（Ｓ５５０）。
【００６３】
しかし、段階Ｓ５１０の判断の結果、キャッシュメモリ２４０に当該データが保存されていなければ、保存装置からデータを読み取り（Ｓ５３０）、読み取られたデータをキャッシュメモリに保存する（Ｓ５４０）。すなわち、ハードディスクドライブは、コントローラ２３０の制御によって、変換器１６をディスク１２の目標位置に移動させた後、ディスク１２から変換器１６によって感知された電気的な信号を、フリアンプ２１０で信号処理に容易なように増幅させる。その後、読み取り／書き込みチャンネル回路２２０では、コントローラ２３０で生成されるセクタパルスによって、ディスク１２から読み取った信号をデジタル信号に符号化させ、ストリームデータに変換し（Ｓ５３０）、キャッシュメモリ２４０に一時的に保存した後（Ｓ５４０）、ホスト・インターフェース２６０を介してホスト機器（図示せず）に伝送する（Ｓ５５０）。
【００６４】
次に、図８を参照しつつ、データ書き込みモードの動作について説明する。
【００６５】
データ書き込みモード段階（Ｓ６００）で、ハードディスクドライブは、ホスト・インターフェース２６０を介してホスト装置から書き込みコマンドと書き込み対象のデータとを入力され（Ｓ６１０）、入力されたコマンドとデータとをキャッシュメモリ２４０に一時保存させた後（Ｓ６２０）、第１保存装置２５０の補助キャッシュ領域を利用し、キャッシュフラッシュ処理をする（Ｓ６３０）。その後、第１保存装置２５０から出力される書き込み対象のデータを、書き込み／読み取りチャンネル２２０で、ディスク１２の記録チャンネルに適したバイナリデータストリームに変換させた後（Ｓ６４０）、セクタパルスが発生する時点で、フリアンプ２１０によって増幅された記録電流で、変換器１６を介してディスク１２に書き込む（Ｓ６５０）。
【００６６】
さて、コントローラ２３０の制御によるキャッシュフラッシュ処理及び書き込みコマンド遂行処理（Ｓ７００）について、図９を参照しつつ説明する。
【００６７】
コントローラ２３０は、ホスト・インターフェース２６０を介して書き込みコマンドが受信されると（Ｓ７０２）、キャッシュメモリ２４０にコマンド及び書き込み対象のデータを保存させる（Ｓ７０４、Ｓ７０６）。キャッシュメモリ２４０は、コマンドを保存する領域とデータを保存する領域とに分けられており、コマンドを保存する領域には、コマンドキュー情報が保存され（Ｓ７０４）、データを保存する領域には、書き込みコマンドによって書き込み対象のデータが保存される（Ｓ７０６）。コマンドキューには、受信される順にコマンドが保存される。
【００６８】
次に、コントローラ２３０は、キャッシュフラッシュ条件が発生すれば（Ｓ７０８）、キャッシュメモリ２４０に保存されたコマンドキュー情報と書き込み対象のデータとを、第１保存装置２５０の補助キャッシュ領域にキャッシュフラッシュ処理する（Ｓ７１０）。キャッシュフラッシュ発生条件は、一例としては、キャッシュメモリ２４０にキャッシュメモリ２４０の総保存容量の一定比率を超えてデータが保存される場合に、キャッシュフラッシュを遂行させるように設定できる。
【００６９】
その後、コントローラ２３０は、第１保存装置２５０の補助キャッシュ領域に保存されたコマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、ＬＢＡ情報についての物理的な位置を考慮して書き込みコマンド遂行時間が短縮されうるように再整列したテーブル情報を生成させる（Ｓ７１２、Ｓ７１４）。特に、シーク時間とレイテンシとを考慮し、シーケンシャル書き込み遂行が多く行われるように書き込みコマンド遂行順序を再設定し、テーブルに保存する。一例としては、コマンドキュー情報に含まれた複数個の書き込みコマンドの遂行順序を、ディスク１２で一方方向に順次にデータが保存されるように、書き込みコマンド遂行順序を再整列したテーブルを生成させる。すなわち、書き込みコマンドで、書き込みの始まるＬＢＡ情報を、ＣＨＳ（cylinder  head  sector）情報に変換させ、ディスク１２での物理的な位置を考慮し、シーク時間とレイテンシとが最も短くなるように、コマンドキューの書き込みコマンド遂行順序を再整列するテーブルを生成させる。コントローラ２３０は、かような方式で生成されたテーブルを、第１保存装置２５０の特定領域に保存する（Ｓ７１６）。
【００７０】
例えば、図６に図示されたように、コマンドキューに保存された書き込みコマンドの遂行順序が、ディスク１２の物理的な位置で、１→２→３→４→５の順で設定されているならば、ディスク１２の内周から外周の方向に移動しつつ書き込みが遂行されるように、書き込みコマンド遂行順序を再整列できる。この場合、書き込みコマンド遂行順序再整列テーブルには、ディスク１２での位置２→１→５→４→３の順に書き込みが遂行されるように、書き込みコマンド遂行順序が再整列される。
【００７１】
場合によっては、ディスク１２の外周から内周の方向に移動しつつ書き込みを遂行するように、書き込みコマンド遂行順序を再整列することもできるので、この場合、書き込みコマンド遂行順序の再整列テーブルには、ディスク１２での位置３→４→５→１→２の順に書き込みが遂行されるように、書き込みコマンド遂行順序が再整列される。
【００７２】
次に、コントローラ２３０は、第１保存装置２５０に保存されたテーブルに再整列されたコマンド遂行順序に基づいて、書き込みコマンドを遂行する（Ｓ７１８）。これにより、第１保存装置２５０から出力されるデータは、書き込み／読み取りチャンネル２２０及びフリアンプ２１０を経て、ディスク１２に書き込まれる。
【００７３】
図３は本発明が適用されるハードディスクドライブのＨＤＡ（head  disk  assembly）１０の構成を示している。
【００７４】
ＨＤＡ１０は、スピンドルモータ１４によって回転する少なくとも１枚の磁気ディスク１２を含んでいる。ＨＤＡ１０は、ディスク１２の表面に隣接して位置した変換器１６をさらに含んでいる。
【００７５】
変換器１６は、それぞれのディスク１２の磁界を感知して磁化させることによって、回転するディスク１２で、情報を読み取り及び書き込むことができる。典型的には、変換器１６は、各ディスク１２の表面に結合されている。なお、ここでは単一の変換器１６が図示され説明されているが、変換器１６は、ディスク１２を磁化させるための書き込み用変換器とディスク１２の磁界を感知するための分離された読み取り用変換器とからなると理解されうる。読み取り用変換器は、磁気抵抗（ＭＲ：magneto-resistive）素子から構成される。変換器１６は、一般的にヘッド（head）と呼ばれる場合がある。
【００７６】
変換器１６は、スライダ２０に統合されうる。スライダ２０は、変換器１６とディスク１２の表面との間に空気ベアリング（air  bearing）を生成させる構造によってなっている。スライダ２０は、ヘッドジンバル・アセンブリ２２に結合されている。ヘッドジンバル・アセンブリ２２は、ボイスコイル２６を有するアクチュエータ・アーム２４に付着されている。ボイスコイル２６は、ＶＣＭ３０を特定するように、マグネチック・アセンブリ２８に隣接して位置している。ボイスコイル２６に供給される電流は、ベアリング・アセンブリ３２に対して、アクチュエータ・アーム２４を回転させるトルクを発生させる。アクチュエータ・アーム２４の回転は、ディスク１２の表面を横切って変換器１６を移動させる。
【００７７】
情報は、典型的には、ディスク１２の環状トラック３４内に保存される。各トラック３４は、一般的に複数のセクタを含んでいる。各セクタは、データフィールド（data  field）と識別フィールド（identification  field）とを含んでいる。識別フィールドは、セクタ及びトラック（シリンダ）を識別するグレイコード（gray  code）によって構成されている。ディスク１２の一つまたは複数の保存領域は、ＬＢＡ情報によって割り当てられる。ＬＢＡ情報は、ディスク１２の保存領域を指定するために、シリンダ／ヘッド／セクタ情報に変換される。変換器１６は、他のトラックから情報を読み取り、又は他のトラックへ情報を書き込むために、ディスク１２の表面を横切って移動する。
【００７８】
ディスク１２は、ディスクドライブに関連した情報を保存するメンテナンス・シリンダ（ＭＣ：maintenance  cylinder）領域とユーザデータ領域とに大別される。メンテナンス・シリンダ領域には、ディフェクト・リスト（defect  list）情報と、読み取り／書き込み最適化パラメータ情報とが含まれ、ディスクドライブに関連した各種情報が保存され、ユーザが任意にアクセスできない領域である。そして、ユーザデータ領域は、ユーザがデータを実質的に書き込み及び読み取ることができる領域である。
【００７９】
図１１は、ホスト１１１０、コントローラ１１２０、ＣＰＵ１１２０−１、プログラムメモリ１１２０−２、キャッシュメモリ１１３０、第１保存装置１１４０、及び第２保存装置１１５０を含むデータ保存システム１１００を示している。図１１に図示された各構成手段は、図１で説明した図示されたホスト１１０、コントローラ１２０、ＣＰＵ１２０−１、プログラムメモリ１２０−２、キャッシュメモリ１３０、第１保存装置１４０及び第２保存装置１５０と類似している。データ保存システム１１００は、伝送媒体１１１１を介してディスプレイ装置１５００に結合されうる。該伝送媒体は、データ保存システム１１００とディスプレイ装置１５００との間で、コマンド及び／またはデータを伝送する有線または無線のいかなる通信媒体によっても構成されることが可能である。
【００８０】
データ保存システム１１００はまた、伝送媒体１１１１を介して、例えば、データの位置変化、またはキャッシュフラッシュ条件を示す信号、または図７なしい図９に図示された動作に関連した信号を伝送できる。データ保存システム１１００は、伝送媒体１１１１を介してメニューまたはユーザインターフェースのような信号をディスプレイ装置１５００に伝送できる。例えば、キャッシュメモリ１１３０からデータを読み取ったということ（例えば、図７のＳ５２０）を示したり、保存装置からデータを読み取ったということ（例えば、図７のＳ５３０、Ｓ５４０）を示したり、ホスト・インターフェースにデータが出力されたということを示すための表示のために、伝送媒体１１１１を介して信号を伝送できる。データ保存システム１１００はまた、伝送媒体１１１１を介してディスプレイ装置１５００に、ホスト１１１０からコントローラ１１２０によって書き込みコマンドと書き込み対象のデータとが受信されたということ（例えば、図８のＳ６１０）を示し、書き込みコマンドとデータとがキャッシュメモリ１１３０に臨時的に保存されたということ（例えば、図８のＳ６２０）を示し、キャッシュメモリ１１３０でキャッシュフラッシュが遂行されたということ（例えば、図８のＳ６３０）を示し、又はデータが変換されて第１保存装置１１４０または第２保存装置１１５０にデータが記録されたということ（例えば、図８のＳ６４０、Ｓ６５０）を示すための表示のための信号を伝送できる。また、データ保存システム１１００は、伝送媒体１１１１を介してディスプレイ装置１５００に、図９に図示されたいかなる動作の状態をも示すことを表示するための信号を伝送することもできる。
【００８１】
本発明は、方法、装置、システムとして遂行されうる。ソフトウェアとして遂行されるとき、本発明の構成手段は、必然的に必要な作業を遂行するコードセグメントである。プログラムまたはコードセグメントは、プロセッサで読み取り可能な媒体に保存されうる。プロセッサで読み取り可能な媒体は、情報を保存または伝送できるいかなる媒体をも含む。プロセッサで読み取り可能な媒体の例としては、電子回路、半導体メモリ素子、ＲＯＭ（read-only  memory）、フラッシュメモリ、ＥＲＯＭ（erasable  ＲＯＭ）、フロッピー（登録商標）ディスク、光ディスク、ハードディスク、光ファイバ媒体、無線周波数（ＲＦ）網などがある。コンピュータデータ信号は、電子網チャンネル、光ファイバ、空気、電子系、ＲＦ網のような伝送媒体上に伝播できるいかなる信号も含まれる。
【００８２】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属すものと了解される。
【符号の説明】
【００８３】
１０    ヘッドディスク・アセンブリ
１２    ディスク
１４    スピンドルモータ
１６    変換器
２０    スライダ
２２    デッドジンバル・アセンブリ
２４    アクチュエータ・アーム
２６    ボイスコイル
２８    マグネチック・アセンブリ
３０    ＶＣＭ
３２    ベアリング・アセンブリ
３４    トラック
１００，１１００    データ保存装置
１１０，１１１０    ホスト装置
１２０，２３０，１１２０    コントローラ
１２０−１，１１２０−１    ＣＰＵ
１２０−２，１１２０−２    プログラムメモリ
１３０，２４０，１１３０    キャッシュメモリ
１３０−１    キャッシュメモリの書き込み領域
１３２    コマンドキュー保存領域
１３４    データ保存領域
１４０，２５０，１１４０    第１保存装置
１４０−１    第１保存装置の記録媒体
１４２    コマンドキュー
１４４    データ
１４６    コマンド遂行順序の再整列テーブル
１５０，１１５０    第２保存装置
１５０−１    第２保存装置の記録媒体
１５２    データ領域
１５４    システム情報領域
２１０    プリアンプ
２２０    読み取り／書き込みチャンネル
２６０    ホスト・インターフェース
２７０    ＶＣＭ駆動部
１１１１    伝送媒体
１５００    ディスプレイ装置
【図１】
2010020774.tif 000003
【図２】
2010020774.tif 000004
【図３】
2010020774.tif 000005
【図４】
2010020774.tif 000006
【図５】
2010020774.tif 000007
【図６】
2010020774.tif 000008
【図７】
2010020774.tif 000009
【図８】
2010020774.tif 000010
【図９】
2010020774.tif 000011
【図１０Ａ】
2010020774.tif 000012
【図１０Ｂ】
2010020774.tif 000013
【図１０Ｃ】
2010020774.tif 000014
【図１０Ｄ】
2010020774.tif 000015
【図１１】
2010020774.tif 000016