(57)【要約】【課題】ライトコマンドに応じて、ライトデータをキャッシュメモリに格納するディスク装置において、パワーセーブコマンドを受領した際に、データの保全を行う。【解決手段】ディスク記憶装置（１０）は、ホストからのライトコマンドに応じて、ライトデータをデータバッファ（１４）のキャッシュ領域（１４Ａ）に格納して、ホストへライト完了を報告し、その後キャッシュ領域（１４Ａ）のライトデータを、記憶媒体（１９）に書き込む。ディスク記憶装置は、パワーセーブコマンドを受信したことに応じて、データバッファ（１４）内の格納されたライトデータを、記憶ディスク（１９）に設けられた退避領域に格納し、パワーセーブコマンドを実行して、ホストに応答を報告する。このため、ライトデータの安全性を維持しつつ、このコマンドに対する処理時間が短くなり、ホストへの応答時間を短縮できる。【選択図】図５
2007094995.tif 000002
【特許請求の範囲】
【請求項１】
記憶ディスクのトラックのデータのリード及びライトのいずれかを行うヘッドと、
前記記憶ディスクの所望トラックに前記ヘッドを位置付けるアクチュエータと、
ホストからのライトデータを格納するデータバッファと、
前記ホストからのライトコマンドに応じて、前記ホストからのライトデータを前記データバッファに格納し、前記ホストにステータス報告した後、前記データバッファの前記ライトデータを前記ヘッドで前記記憶ディスクにライトする制御ユニットとを有し、
前記制御ユニットは、パワーセーブコマンドを受信したことに応じて、前記データバッファ内の前記格納された前記ライトデータを、前記記憶ディスクに設けられた退避領域に格納し、前記パワーセーブコマンドを実行して、前記ホストに応答を報告した後、前記記憶ディスクの退避領域に格納された前記ライトデータを前記記憶ディスクの指定された位置にライトする
ことを特徴とするディスク記憶装置。
【請求項２】
前記制御ユニットは、前記ホストからのライトデータの書き込み位置を指定するコマンド管理情報をコマンド管理テーブルに格納するとともに、前記ライトデータとともに、前記退避領域に格納する
ことを特徴とする請求項１のディスク記憶装置。
【請求項３】
前記制御ユニットは、前記パワーセーブコマンドを受信したことに応じて、前記コマンド管理テーブルのコマンド管理情報を、退避用コマンド管理テーブルに格納し、前記退避用コマンド管理テーブルと、前記データバッファ内の前記格納された前記ライトデータとを、前記記憶ディスクに設けられた退避領域に格納する
ことを特徴とする請求項２のディスク記憶装置。
【請求項４】
前記制御ユニットは、前記退避用コマンド管理テーブルに格納された前記コマンド管理情報を、前記コマンド管理テーブルから削除する
ことを特徴とする請求項３のディスク記憶装置。
【請求項５】
前記制御ユニットは、前記コマンド管理テーブルに格納された前記コマンド管理情報が、２つ以上登録されているかを判定し、前記コマンド管理情報が、２つ以上登録されている場合に、前記退避領域への格納処理を実行する
ことを特徴とする請求項２のディスク記憶装置。
【請求項６】
前記制御ユニットは、前記退避用コマンド管理テーブルに前記コマンド管理情報が登録されているかを判定し、前記退避用コマンド管理テーブルに前記コマンド管理情報が登録されている場合に、前記ディスクの前記退避領域から前記退避した前記退避用コマンド管理テーブルを読み出し、前記コマンド管理テーブルに、前記退避用コマンド管理テーブルの前記コマンド管理情報を登録し、前記コマンド管理情報に従い、前記記憶ディスクの退避領域に格納された前記ライトデータを前記記憶ディスクの指定された位置にライトすることを特徴とする請求項３のディスク記憶装置。
【請求項７】
前記制御ユニットは、前記コマンド管理テーブルに登録された前記コマンド管理情報を、前記退避用コマンド管理テーブルから削除する
ことを特徴とする請求項６のディスク記憶装置。
【請求項８】
前記制御ユニットは、前記コマンド管理テーブルに格納された前記コマンド管理情報が、１つ登録されている場合に、前記コマンド管理情報に従い、前記ライトデータを前記記憶ディスクの指定された位置にライトする
ことを特徴とする請求項５のディスク記憶装置。
【請求項９】
記憶ディスクのトラックのデータを、ヘッドでリード及びライトのいずれかを行うディスク記憶装置のキャッシュ制御方法において、
ホストからのライトコマンドに応じて、前記ホストからのライトデータをデータバッファに格納し、前記ホストに応答を返すステップと、
パワーセーブコマンドを受信したことに応じて、前記データバッファ内の前記格納された前記ライトデータを、前記記憶ディスクに設けられた退避領域に格納し、前記パワーセーブコマンドを実行し、前記ホストに応答を報告するステップと、
前記記憶ディスクの退避領域に格納された前記ライトデータを前記記憶ディスクの指定された位置にライトするステップとを有する
ことを特徴とするディスク記憶装置のキャッシュ制御方法。
【請求項１０】
前記応答を返すステップは、前記ホストからのライトデータの書き込み位置を指定するコマンド管理情報をコマンド管理テーブルに格納するステップを更に有し、
前記応答を報告するステップは、前記ライトデータとともに、前記コマンド管理情報を前記退避領域に格納するステップを更に有する
ことを特徴とする請求項９のディスク記憶装置のキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクにデータをヘッドで記録するディスク記憶装置及びキャッシュ制御方法に関し、特に、ライトコマンドに応じて、ライトデータをキャッシュメモリに格納し、ライト完了を通知するディスク記憶装置及びキャッシュ制御方法に関する。
【背景技術】
【０００２】
近年のデータ電子化処理の要求により、データを記憶する磁気ディスク装置や光ディスク装置の媒体記憶装置に、大容量化が要求されている。このため、ディスク媒体は、益々トラック密度や記録密度が高くなっている。しかも、高速なアクセスが要求されている。このため、通常のライトコマンドに対しては、キャッシュメモリにライトデータを格納し、ホストへ完了を報告している。そして、その後、キャッシュメモリのライトデータを、ディスクにライトする、所謂ライトバックを実行する。
【０００３】
図８は、従来技術の説明図である。図８に示すように、ライトキャッシュ機能を持たせるには、データを格納するキャッシュ領域１２０と、その管理データを格納するコマンド管理テーブル１１０を、ディスク記憶装置に設ける。ホストからライトコマンドとライトデータを受信すると、ライトコマンドから得た開始ＬＢＡ（Logical Block Address）、要求セクタ数、キャッシュ領域１２０の格納アドレス等のコマンド管理情報を作成し、コマンド管理テーブル１１０に格納する。そして、ライトデータは、キャッシュ領域１２０のコマンド管理テーブル１１０の指定する格納アドレス位置に、格納する。
【０００４】
又、ホストからのアクセスがない場合には、このキャッシュ領域１２０のライトデータを、ディスク１００のコマンド管理テーブル１１０のコマンド管理データで指定するアドレス（セクタ位置）に、ライトする。
【０００５】
一方、パーソナルコンピュータや、携帯音楽プレーヤー等の携帯機器への、ディスク記憶装置の搭載が進んでいる。このため、ディスク記憶装置も小型化、低価格のものが望まれる。このため、キャッシュ領域の容量も、増加するのが、困難である。このため、ライトキャッシュできるコマンド数やデータ量に制限が生じる。
【０００６】
このキャッシュ容量を仮想的に増加する方法として、キャッシュメモリの容量を越えたライトコマンドやライトデータを、ディスク上に設けた２次キャッシュ領域にライトし、ホストへライト完了を返送し、その後、２次キャッシュ領域を含むキャッシュ領域のライトデータを、ディスクの指定位置にライトバックする方法が提案されている（例えば、特許文献１）。
【０００７】
又、他の従来技術としては、図８のように、キャッシュ領域１２０内のライトデータの書き込み位置が、ランダムであると、複数のライトデータＷ１，Ｗ２，Ｗ３を書き込むため、シーク時間や回転待ち時間が生じる。このため、到来したライトコマンドがランダムであるかを判定し、ランダムなライトデータの場合には、キャッシュ領域１２０には、格納せずに、ディスク１００上に設けた退避領域にライトし、ホストへライト完了を返送し、その後、退避領域を含むキャッシュ領域のライトデータを、ディスク１００の指定位置にライトバックする方法が提案されている（例えば、特許文献２）。
【特許文献１】特開平６−３４８５９７号公報
【特許文献２】特開平１１−２３２０３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この従来技術は、ライトコマンドに対するライトキャッシュ領域の仮想的拡張方法である。近年の省電力化の要請により、ホストからパワーセーブに関するコマンドが、発行されることがある。このパワーセーブコマンドが発行された場合には、ディスク装置は、スピンドルモータや、アクチュエータの電力供給をカットし、且つ回路系の動作を低消費電力とする。例えば、クロック周波数を低くする。
【０００９】
このパワーセーブコマンドの実行後も、ライトキャッシュ領域１２０のデータは、回路系の電源維持のため、保持される。しかしながら、パワーセーブコマンド後に、電源オフのコマンドが発行されると、電源オフにより、ライトキャッシュ領域１２０のデータは、失われてしまう。
【００１０】
これを防止するには、スピンドルモータを再度、回転し、アクチュエータに電源供給し、ヘッドがライト状態に復帰させた後、キャッシュ領域１２０内にすでにライトキャッシュデータを保持している場合には、図８のように、ライトキャッシュデータを、ディスク１００の指定位置に、全てライトしてから、受領したコマンドを実行するため、ホスト装置へのコマンド応答が遅れ、且つ電源オフまでの時間がかかる場合がある。
【００１１】
従って、本発明の目的は、パワーセーブコマンドを受信しても、ホストへの応答の遅れを防止するためのディスク記憶装置及びディスク記憶装置のキャッシュ制御方法を提供することにある。
【００１２】
又、本発明の他の目的は、パワーセーブコマンドを受信しても、キャッシュ領域のライトデータを保存しつつ、ホストへの応答の遅れを防止するためのディスク記憶装置及びディスク記憶装置のキャッシュ制御方法を提供することにある。
【００１３】
本発明の更に他の目的は、パワーセーブコマンドを受信しても、ディスク上で、仮想的なライトキャッシュ動作を行ない、ホストへの応答の遅れを防止するためのディスク記憶装置及びディスク記憶装置のキャッシュ制御方法を提供することにある。
【００１４】
本発明の更に他の目的は、パワーセーブコマンドを受信し、ディスク上で仮想キャッシュ動作をしても、そのライトデータの管理を確実にするためのディスク記憶装置及びディスク記憶装置のキャッシュ制御方法を提供することにある。
【課題を解決するための手段】
【００１５】
この目的の達成のため、本発明のディスク記憶装置は、記憶ディスクのトラックのデータのリード及びライトのいずれかを行うヘッドと、前記記憶ディスクの所望トラックに前記ヘッドを位置付けるアクチュエータと、ホストからのライトデータを格納するデータバッファと、前記ホストからのライトコマンドに応じて、前記ホストからのライトデータを前記データバッファに格納し、前記ホストにステータス報告した後、前記データバッファの前記ライトデータを前記ヘッドで前記記憶ディスクにライトする制御ユニットとを有し、前記制御ユニットは、パワーセーブコマンドを受信したことに応じて、前記データバッファ内の前記格納された前記ライトデータを、前記記憶ディスクに設けられた退避領域に格納し、前記パワーセーブコマンドを実行し、前記ホストに応答を報告した後、前記記憶ディスクの退避領域に格納された前記ライトデータを前記記憶ディスクの指定された位置にライトする。
【００１６】
又、本発明では、好ましくは、前記制御ユニットは、前記ホストからのライトデータの書き込み位置を指定するコマンド管理情報をコマンド管理テーブルに格納するとともに、前記ライトデータとともに、前記退避領域に格納する。
【００１７】
又、本発明では、好ましくは、前記制御ユニットは、前記データ保全を要するコマンドを受信したことに応じて、前記コマンド管理テーブルのコマンド管理情報を、退避用コマンド管理テーブルに格納し、前記退避用コマンド管理テーブルと、前記データバッファ内の前記格納された前記ライトデータとを、前記記憶ディスクに設けられた退避領域に格納する。
【００１８】
又、本発明では、好ましくは、前記制御ユニットは、前記退避用コマンド管理テーブルに格納された前記コマンド管理情報を、前記コマンド管理テーブルから削除する。
【００１９】
又、本発明では、好ましくは、前記制御ユニットは、前記コマンド管理テーブルに格納された前記コマンド管理情報が、２つ以上登録されているかを判定し、前記コマンド管理情報が、２つ以上登録されている場合に、前記退避領域への格納処理を実行する。
【００２０】
又、本発明では、好ましくは、前記制御ユニットは、前記退避用コマンド管理テーブルに前記コマンド管理情報が登録されているかを判定し、前記退避用コマンド管理テーブルに前記コマンド管理情報が登録されている場合に、前記ディスクの前記退避領域から前記退避した前記退避用コマンド管理テーブルを読み出し、前記コマンド管理テーブルに、前記退避用コマンド管理テーブルの前記コマンド管理情報を登録し、前記コマンド管理情報に従い、前記記憶ディスクの退避領域に格納された前記ライトデータを前記記憶ディスクの指定された位置にライトする。
【００２１】
又、本発明では、好ましくは、前記制御ユニットは、前記コマンド管理テーブルに登録された前記コマンド管理情報を、前記退避用コマンド管理テーブルから削除する。
【００２２】
又、本発明では、好ましくは、前記制御ユニットは、前記コマンド管理テーブルに格納された前記コマンド管理情報が、１つ登録されている場合に、前記コマンド管理情報に従い、前記ライトデータを前記記憶ディスクの指定された位置にライトする。
【発明の効果】
【００２３】
本発明では、パワーセーブコマンドを受信したことに応じて、データバッファ内の格納されたライトデータを、記憶ディスクに設けられた退避領域に格納し、パワーセーブコマンドを実行し、前記ホストに応答を報告するので、キャッシュデータを保全しつつ、このコマンドに対する処理時間が短くなり、ホストへの応答時間を短縮できる。又、退避用のフォーマットを、複数コマンド（管理データ）、ライトデータとしたため、その後のライトバック処理が容易となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を、ディスク記憶装置、ライトキャッシュ処理、キャッシュデータ退避処理、ライトバック処理、他の実施の形態の順で説明する。
【００２５】
・・ディスク記憶装置・・
図１は、本発明の一実施の形態のディスク記憶装置の構成図、図２は、図１のコマンド管理テーブル及びキャッシュデータ管理テーブルの説明図、図３は、図１の退避領域用コマンド管理テーブルの説明図である。図１は、ディスク記憶装置として、磁気ディスクにデータをリード／ライトする磁気ディスク装置（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を例に示す。
【００２６】
図１に示すように、磁気ディスク装置１０は、パーソナルコンピュータに内蔵され、パーソナルコンピュータのホスト（図示せず）とＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）規格のインタフェースのケーブル９で接続される。
【００２７】
磁気ディスク装置１０は、磁気ディスク１９と、磁気ディスク１９を回転するスピンドルモータ２０と、磁気ディスク１９にデータをリード／ライトする磁気ヘッド２５と、磁気ヘッド２５を磁気ディスク１９の半径方向（トラック横断方向）に移動するアクチュエータ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）２２とを備える。
【００２８】
又、制御部として、ＨＤＣ（Hard  Disk  Controller）２６と、データバッファ１４と、ＭＰＵ１１と、メモリ（ＲＡＭ／ＲＯＭ）１３と、ヘッドＩＣ１８と、スピンドルモータドライバ２１と、ＶＣＭドライバ２３と、位置検出部２４と、これらを接続するバス１７とを備える。
【００２９】
ＨＤＣ２６は、ホストからタスクをセットするタスクファイル１２Ａを有するＡＴＡインタフェース制御回路１２と、データバッファ１４を制御するデータバッファ制御回路１５と、記録データのフォーマットの制御を行うフォーマッタ制御回路１６とを有する。
【００３０】
データバッファ１４は、キャッシュメモリ１４Ａの役目を果たし、ホストからのライトデータを保存し、磁気ディスク１９からのリードデータを保存する。そして、ライトバック時には、データバッファ１４のライトデータを、磁気ディスク１９にライトし、リード時には、データバッファ１４のリードデータを、ホストへ転送する。
【００３１】
ヘッドＩＣ１８は、ライト時は、記録データに従い磁気ヘッド２５に記録電流を流し、リード時は、磁気ヘッド２５からの読取信号を増幅して、リードデータ（サーボ情報を含む）を出力する。位置検出部２４は、ヘッドＩＣ１８からのサーボ情報から磁気ヘッド２５の位置を検出する。
【００３２】
スピンドルドライバ２１は、スピンドルモータ２０を回転駆動する。ＶＣＭドライバ２３は、磁気ヘッド２５を移動するＶＣＭ２２を駆動する。ＭＰＵ（Micro  Processor）１１は、磁気ヘッド２５の位置制御、リード／ライト制御、リトライ制御を行う。メモリ（ＲＡＭ／ＲＯＭ）１３は、ＭＰＵ１１の処理に必要なデータを格納する。又、メモリ１３は、図２，図３で後述するコマンド管理テーブル１３−１、キャッシュデータ管理テーブル１３−２、退避領域用コマンド管理テーブル１３−３を格納する。
【００３３】
図２に示すように、バッファ管理テーブル１３−１は、キャッシュメモリ１４Ａに格納されるライトデータＷ１、Ｗ２，Ｗ３のコマンド管理テーブル番号と、その格納（バッファ）アドレスからなるバッファ管理データを格納する。コマンド管理テーブル１３−２は、キャッシュメモリ１４Ａに格納されるライトデータＷ１、Ｗ２，Ｗ３の開始ＬＢＡ（Logical Block Address）、要求セクタ数等のライトデータ管理データを格納する。
【００３４】
図３に示すように、退避領域用コマンド管理テーブル１３−３は、コマンド管理テーブル１３−２に格納された各ライトデータのライトデータ管理データ（開始ＬＢＡ、要求セクタ数）を格納する。
【００３５】
尚、図１の磁気ヘッド２５は、リード素子とライト素子とが分離されたヘッドであり、リード素子は、ＭＲ（Magneto-Resistive）素子、ライト素子は、磁気コアとコイルを有する誘導素子で構成される。
【００３６】
・・ライトキャッシュ処理・・
図４は、本発明の一実施の形態のライトキャッシュ処理フロー図である。
【００３７】
（Ｓ１０）ホスト（図示せず）が、ディスク記憶装置１０に、ライト要求を発行すると、ＨＤＣ２６のＡＴＡインタフェース回路１２で受信し、ＭＰＵ１１に通知する。ＭＰＵ１１は、受領したライトコマンドを管理するコマンド管理テーブル１３−２に、ライトコマンドに含まれる開始ＬＢＡ，要求セクタ数を登録する。そして、ＭＰＵ１１は、キャッシュデータ管理テーブル１３−１に、この登録したコマンド管理テーブルの番号と、データバッファ内に割り当てるバッファアドレスを格納する。更に、この後、ホストにライトデータの転送を要求し、ホストからライトデータを受信すると、データバッファ制御回路１５が、このバッファ管理テーブル１３−１を参照し、データバッファ１４の登録したバッファアドレスに、ライトデータを転送する（書き込む）。
【００３８】
（Ｓ１２）次に、データバッファ制御回路１５が、ライトデータの転送が終了したかを判定する。
【００３９】
（Ｓ１４）ライトデータの転送が終了すると、ＭＰＵ１１は、コマンド管理テーブル１３−２に次のコマンドを登録する空きがあるかを確認する。空きがない場合には、終了し、ホストへビジー通知する。
【００４０】
（Ｓ１６）コマンド管理テーブル１３−２に空きがある場合には、ＭＰＵ１１は、キャッシュ管理テーブル１３−１に、次のコマンドを登録する空き（即ち、キャッシュ１４Ａにデータ受領する領域）があるかを確認する。空きがない場合には、終了し、ホストへビジー通知する。
【００４１】
（Ｓ１８）キャッシュ管理テーブル１３−１に空きがあると、次のコマンドの受け付けが可能なため、ホストにライトコマンド終了のステータスを報告し、終了する。
【００４２】
・・キャッシュデータ退避処理・・
次に、キャッシュデータ退避処理を説明する。図５は、本発明の一実施の形態のキャッシュデータ退避処理フロー図、図６は、その動作説明図である。この実施例では、ホストより複数のライトコマンド（Ｗ１，Ｗ２，Ｗ３）を受領している状態で、パワーセーブコマンドを受領した場合に、ディスクの退避領域に、媒体ライト処理を実行する場合を例に説明する。尚、パワーセーブコマンドは、ホストが、ディスク装置を利用しない環境（所定時間、処理要求が無い等）であることに応じて、省電力化を目的として、ディスク記憶装置に発行するコマンドである。
【００４３】
（Ｓ２０）まず、ＨＤＣ２６のＡＴＡインタフェース制御回路１２が、ホストから、パワーセーブコマンドを受領した場合、ＭＰＵ１１は、コマンド管理テーブル１３−２(図２)に、格納されているライトコマンド（Ｗ１，Ｗ２，Ｗ３）があるかどうかを判定する。あれば、ＭＰＵ１１は、コマンド管理テーブル１３−２に、２つ以上のライトコマンド（ライトデータ管理データ）が登録されているかを判定する。２つ以上のライトデータ管理データが登録されていない場合には、登録されたライトデータ管理データ数が「０」なら、データ退避の必要がないため、ステップＳ３２に進み、登録されたライトデータ管理データ数が「１」なら、１箇所のライトデータの書き込みのため、このライトデータを指定セクタ位置に書き込み、ステップＳ３２に進む。
【００４４】
（Ｓ２２）一方、２つ以上のライトデータ管理データが登録されていない場合には、ＭＰＵ１１は、退避領域用コマンド管理テーブル１３−３（図３）の空きを確認する。空きがなければ、これ以上退避できないため、ステップＳ３２に進む。
【００４５】
（Ｓ２４）逆に、退避領域用コマンド管理テーブル１３−３に、空きがあれば、ＭＰＵ１１は、コマンド管理テーブル１３−２からライトデータ管理データを取り出し、退避領域用コマンド管理テーブル１３−３に登録する。更に、ＭＰＵ１１は、キャッシュ管理テーブル１３−１の管理番号を、退避領域用コマンド管理テーブル１３−３の番号に書き換える。更に、ＭＰＵ１１は、管理テーブル１３−３に登録したライトデータ管理データを、コマンド管理テーブル１３−２から削除し、コマンド管理テーブルを空けておく。
【００４６】
（Ｓ２６）ＭＰＵ１１は、コマンド管理テーブル１３−２に、未登録のライトデータ管理データがあるかを判定する。コマンド管理テーブル１３−２に、未登録のライトデータ管理データがある場合には、ステップＳ２２に戻る。
【００４７】
（Ｓ２８）逆に、コマンド管理テーブル１３−２に、未登録のライトデータ管理データがない場合には、ＭＰＵ１１は、退避領域用コマンド管理テーブル１３−３（図３）にライトデータ管理データが登録されているかを確認する。登録されていない場合には、ステップＳ３２に進む。
【００４８】
（Ｓ３０）ＭＰＵ１１は、退避領域用コマンド管理テーブル１３−３に登録されている場合、バッファ制御回路１５に指示し、退避領域用コマンド管理テーブル１３−３と、退避領域用コマンド管理テーブル１３−３に登録したライトコマンドのデータ（図６では、Ｗ１，Ｗ２，Ｗ３）とを、連続して、結合する。一方、図６に示すように、磁気ディスク１９のユーザー領域外、例えば、最インナーの領域に、退避領域を設定しておく。そして、ＭＰＵ１１は、アクチュエータ２２を制御し、磁気ヘッド２５を、磁気ディスク１９の退避領域に、シーク動作を行い、磁気ヘッド２５で、退避領域用コマンド管理テーブル１３−３（図３のヘッダ、Ｗ１，Ｗ２，Ｗ３の開始ＬＢＡ，要求セクタ数）及び要求ライトデータＷ１、要求ライトデータＷ２、要求ライトデータＷ３を，連続して、ライトする。
【００４９】
（Ｓ３２）そして、ＭＰＵ１１は、パワーセーブコマンドの本来の処理を実行する。例えば、パワーセーブのレベルにもよるが、主に、スピンドルモータドライバ２１、ＶＣＭドライバ２３、ヘッドＩＣ１８の電力供給をカットし，より省電力化する場合には、位置検出回路１８の電力供給をカットする。更に、ＭＰＵ１１やＨＤＣ２６へのクロックを低周波数に切り替える。そして、ＭＰＵ１１は、ＨＤＣ２６を介し、ホストに完了報告を行い、パワーセーブコマンドの処理を終了する。
【００５０】
このように、従来は、図８に示したように、パワーセーブコマンドを受けた場合に、データを保全するには、コマンド管理テーブル１１０の先頭からライトキャッシュ管理データを取り出し、その開始ＬＢＡに対してシーク動作（図８のＳ１）を行い、要求セクタ分のライト処理（図８のＷ１）を開始する。このライトデータＷ１の要求セクタ分のライト動作完了後、コマンド管理テーブル１１０から次のライトキャッシュ管理データを取り出し、その開始ＬＢＡに対してシーク動作（図８のＳ２）を行い、要求セクタ分のライト処理（図８のＷ２）を開始する。このライトデータＷ２の要求セクタ分のライト動作完了後、コマンド管理テーブル１１０から次のライトキャッシュ管理データを取り出し、その開始ＬＢＡに対してシーク動作（図８のＳ３）を行い、要求セクタ分のライト処理（図８のＷ３）を開始する。全てのライトキャッシュデータを，媒体１９にライトした後、ホストにコマンド完了のステータスを報告する。
【００５１】
このように、従来方法であると、ライトデータＷ１，Ｗ２，Ｗ３を，ライトキャッシュしていた場合、各コマンドのライト処理で，シーク処理（図８のＳ１，Ｓ２，Ｓ３）が必要であり，パワーセーブコマンドの処理時間が長くなる。
【００５２】
これに対し、本発明では、図６に示したように、パワーセーブコマンド受領時に、コマンド管理テーブル１３−２に、２つ以上ライトコマンドが登録されている場合には、ライトコマンド（Ｗ１，Ｗ２，Ｗ３）を順番に取り出し、退避領域用コマンド管理テーブル１３−３に登録して、複数コマンドを、一つにまとめて登録する。この時、退避するライトコマンドは、コマンド管理テーブル１３−２から削除し、コマンド管理テーブルを空けておく。
【００５３】
そして、退避領域用コマンド管理テーブル１３−３の登録データと退避領域用コマンド管理テーブル１３−３に登録したライトコマンドのデータとをまとめて、連続してライトできるように結合する。その後、磁気ディスク１９の退避領域に対してシーク動作を行い、結合した退避領域用コマンド管理テーブル及び要求ライトデータＷ１、要求ライトデータＷ２、要求ライトデータＷ３を、連続してライト処理する。
【００５４】
このため、このコマンドに対する処理時間が短くなり、ホストへの応答時間を短縮できる。又、退避用のフォーマットを、複数コマンド（管理データ）、ライトデータとしたため、その後のライトバック処理が容易となる。
【００５５】
・・ライトバック処理・・
次に、図７により、ライトバック処理を説明する。
【００５６】
（Ｓ４０）ＭＰＵ１１は、一定時間、ホストからコマンド発行がないかを判定する。ホストからのコマンド発行があれば、ＭＰＵ１１は、受領したコマンドの処理を実行する。
【００５７】
（Ｓ４２）逆に、一定時間ホストからコマンド発行がないと判定すると、時間に余裕があるので、退避領域用管理テーブル１３−３に、ライトデータ管理データが登録されているかを確認する。ライトデータ管理データが登録されていない場合には、退避領域に退避していないため、ホストからのコマンド待ちのループに戻る。
【００５８】
（Ｓ４４）ＭＰＵ１１は、退避領域用管理テーブル１３−３に、ライトデータ管理データが登録されている場合には、退避領域に退避しているため、アクチュエータ２５を制御し、磁気ヘッド２５を、磁気ディスク１９の退避領域（図６参照）に位置付け、退避領域に書いてあるデータを、リードする。ＭＰＵ１１は、リードしたデータから、退避領域用コマンド管理テーブル１３−３に登録されているコマンドであることを確認し、その順番に、コマンド管理テーブル１３−２に登録する。そして、ＭＰＵ１１は、キャッシュ管理テーブル１３−１の情報を、コマンド管理テーブル１３−２の番号に書き換え、退避領域用コマンド管理テーブル１３−３からライトコマンドを削除する。
【００５９】
（Ｓ４６）ＭＰＵ１１は、退避領域のリードデータから、次のライトコマンドがあるかを判定し、有れば、ステップＳ４４に戻る。
【００６０】
（Ｓ４８）ＭＰＵ１１は、次のライトコマンドが無ければ、コマンド管理テーブル１３−２に登録されているライトコマンドに従い、ライトデータを、磁気ディスク１９の指定位置にライトする。この場合に、ＭＰＵ１１は、ホストから電源断後の開始コマンドが到来していたか、又は、パワーセーブ後のパワーセーブ解除コマンド（通常のホストからのアクセスコマンド）が到来していたかを判定する。即ち、ＭＰＵ１１は、ＶＣＭドライバ２３を介しＶＣＭ２２を駆動して、媒体１９上の所定の位置（トラック）まで，シーク（トラックチェンジ，ヘッドチェンジ）する。更に、電源断後の開始コマンドが到来していた場合には、ステップＳ４４で、退避領域からライトデータをリードし、バッファメモリ１４に再格納した後、ＭＰＵ１１は、ＨＤＣ２６に媒体ライトを指示し、ＨＤＣ２６は、バッファメモリ１４のライトデータを，ヘッドＩＣ１８を経由して、磁気ヘッド２５（ライト素子）に送り、ライトバックを実行する。一方、パワーセーブ解除コマンドが到来していた場合には、バッファメモリ１４にライトデータが残っているため、ＭＰＵ１１は、ＨＤＣ２６に媒体ライトを指示し、ＨＤＣ２６は、バッファメモリ１４のライトデータを，ヘッドＩＣ１８を経由して、磁気ヘッド２５（ライト素子）に送り、ライトバックを実行する。又、複数トラックにまたがる場合には，該当トラック部分の媒体ライトである。
【００６１】
このようにして、ライトキャッシュのライトデータ管理データとライトデータを、磁気ディスク１９の退避領域にシーケンシャルに書き込み、コマンド完了とし、ホストからのコマンドが一定時間ない空き時間に、磁気ディスク１９の指定位置にランダムにライトデータを書き込むことができる。
【００６２】
・・他の実施の形態・・
前述の実施の形態では、ディスク記憶装置を磁気ディスク装置で説明したが、光ディスク、光磁気ディスク、他の記憶媒体を使用した記憶装置にも適用できる。又、インタフェースは、ＡＴＡに限らず、他のインタフェースにも適用できる。更に、データの安全性のためのコマンドを、パワーセーブコマンドで説明したが、他のキャッシュデータの安全性が必要なコマンドにも適用できる。
【００６３】
更に、図５のステップＳ２４で、退避用管理テーブル１３−３に登録したコマンド管理テーブル１３−２のコマンドを削除しているが、削除しなくても良い。同様に、管理テーブル１３−１，１３−２，１３−３を、メモリ１３に設けているが、バッファメモリ１４に設けても良い。
【００６４】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【産業上の利用可能性】
【００６５】
パワーセーブコマンドを受信したことに応じて、データバッファ内の格納されたライトデータを、記憶ディスクに設けられた退避領域に格納し、パワーセーブコマンドを実行し、ホストに応答を報告するので、キャッシュデータを保全しつつ、このコマンドに対する処理時間が短くなり、ホストへの応答時間を短縮できる。又、退避用のフォーマットを、複数コマンド（管理データ）、ライトデータとしたため、その後のライトバック処理が容易となる。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施の形態のディスク記憶装置の構成図である。
【図２】図１のコマンド管理テーブル及びキャッシュデータ管理テーブルの説明図である。
【図３】図１の退避領域用コマンド管理テーブルの説明図である。
【図４】本発明の一実施の形態のライトキャッシュ処理フロー図である。
【図５】本発明の一実施の形態のライトコマンド以外のコマンド受信時のキャッシュデータ退避処理フロー図である。
【図６】図５の処理によるキャッシュデータ退避動作の説明図である。
【図７】本発明の一実施の形態のライトバック処理フロー図である。
【図８】従来のライトキャッシュ動作の説明図である。
【符号の説明】
【００６７】
１０  ディスク記憶装置
１１  ＭＰＵ
１３  メモリ
１３−１  キャッシュデータ管理テーブル
１３−２  コマンド管理テーブル
１３−３  退避領域用コマンド管理テーブル
１４  データバッファ
１４Ａ  キャッシュ領域
１９  磁気ディスク
２２  アクチュエータ
２５  ヘッド
２６  ＨＤＣ
【図１】
2007094995.tif 000003
【図２】
2007094995.tif 000004
【図３】
2007094995.tif 000005
【図４】
2007094995.tif 000006
【図５】
2007094995.tif 000007
【図６】
2007094995.tif 000008
【図７】
2007094995.tif 000009
【図８】
2007094995.tif 000010