(57)【要約】【課題】異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブにおいて、ライト処理における電源切断において非書換えデータが消失することを防ぐ。【解決手段】本発明の一実施形態において、ＨＤＤは、インターフェースにおいて、二つの異なるサイズのデータ・セクタをサポートする。磁気ディスク上のデータ・セクタは大サイズ・データ・セクタである。ＨＤＤは、ホストから小サイズ・データ・セクタによるライト・コマンドを受信し、その指定アドレス（書換え領域）の境界が磁気ディスク上の大サイズ・データ・セクタの境界と一致しない場合、ユーザ・データのバックアップ処理を行う。バックアップ領域は、１もしくは複数のデータ・トラックから構成されている。【選択図】図８
2011129221.tif 000002
【特許請求の範囲】
【請求項１】
大サイズ・データ・セクタと小サイズ・データ・セクタの双方をサポートするホスト・インターフェースを有し、前記大サイズ・データ・セクタによりディスクにアクセスするディスク・ドライブであって、
ディスクにアクセスするヘッドと、
前記ヘッドを前記ディスク上で移動する移動機構と、
前記ヘッド及び前記移動機構を制御するコントローラと、を含み、
前記コントローラは、
ライト・コマンドを受信して、前記ライト・コマンドのデータ・セクタ・サイズを判定し、
前記受信したライト・コマンドのデータ・セクタ・サイズが前記小サイズ・データ・セクタである場合に、前記ライト・コマンドが指定する書換え領域の先頭と末尾とのそれぞれが、前記ディスク上の大サイズ・データ・セクタの境界に一致するか判定し、
前記先頭と末尾との一方が大サイズ・データ・セクタの境界に一致しない場合はその一方を含む大サイズ・データ・セクタを含むバックアップ・データを、双方が一致しない場合はその双方のそれぞれを含む大サイズ・データ・セクタを含むバックアップ・データを、前記ディスク上の１もしくは複数データ・トラックからなるバックアップ領域に、格納する、
を有する、ディスク・ドライブ。
【請求項２】
前記コントローラは、前記バックアップ領域へのシーク完了後、書き込み開始可能な最近のデータ・セクタからバックアップ・データの書き込みを開始する、
請求項１に記載のディスク・ドライブ。
【請求項３】
前記コントローラは、前記バックアップ領域へのシーク完了後の予め設定されている規定番目のデータ・セクタから前記バックアップ・データを書き始める、
請求項１に記載のディスク・ドライブ。
【請求項４】
前記バックアップ・データは、最新のバックアップ・データであることを示すデータを含む、
請求項１に記載のディスク・ドライブ。
【請求項５】
前記最新のバックアップ・データであることを示すデータは、カウンタのカウンタ値である、
請求項４に記載のディスク・ドライブ。
【請求項６】
前記コントローラは、前記カウンタが規定の値に達すると、前記バックアップ領域を初期化する、
請求項５に記載のディスク・ドライブ。
【請求項７】
前記バックアップ・データは、バックアップ元のアドレスを含む、
請求項４に記載のディスク・ドライブ。
【請求項８】
前記コントローラは、前記バックアップ・データを、前記バックアップ領域における連続領域に格納する、
請求項１に記載のディスク・ドライブ。
【請求項９】
前記バックアップ・データは、ユーザ・データの前後のデータ・セクタに格納されているフラグを含み、
前記コントローラは、前記書き込み領域への新たなデータ書き込みの後において前記フラグを更新し、
前記コントローラは、前記フラグ、前記バックアップ元のユーザ・データ及び前記書き換え領域のデータを使用して、データ書き込みにおける電源遮断に対応する回復処理を実行する、
請求項１に記載のディスク・ドライブ。
【請求項１０】
前記コントローラは、前記バックアップ・データを格納したデータ・セクタのアドレス情報を一時的に保持し、
前記フラグの更新において、前記アドレス情報を参照して前記フラグのアドレスを特定する、
請求項９に記載のディスク・ドライブ。
【請求項１１】
前記コントローラは、
前記先頭と前記末尾の双方が大サイズ・データ・セクタの境界と一致せず、前記末尾を含む末尾データ・セクタを前記先頭を含む先頭データ・セクタよりも先に読み出すことができ、前記末尾データ・セクタから前記先頭データ・セクタまでの時間が閾値よりも小さいとき、
前記バックアップ領域へ格納するために、前記末尾データ・セクタの後に前記先頭データ・セクタを読み出す、
請求項９に記載のディスク・ドライブ。
【請求項１２】
大サイズ・データ・セクタと小サイズ・データ・セクタの双方をサポートするホスト・インターフェースを有し、前記大サイズ・データ・セクタによりディスクにアクセスするディスク・ドライブにおいて、ユーザ・データをバックアップする方法であって、
ライト・コマンドを受信し、
前記ライト・コマンドのデータ・セクタ・サイズを判定し、
前記受信したライト・コマンドのデータ・セクタ・サイズが前記小サイズ・データ・セクタである場合に、前記ライト・コマンドが指定する書換え領域の先頭と末尾とのそれぞれが、前記ディスク上の大サイズ・データ・セクタの境界に一致するか判定し、
前記先頭と末尾との一方が大サイズ・データ・セクタの境界に一致しない場合はその一方を含む大サイズ・データ・セクタを含むバックアップ・データを、双方が一致しない場合はその双方のそれぞれを含む大サイズ・データ・セクタを含むバックアップ・データを、前記ディスク上の１もしくは複数データ・トラックからなるバックアップ領域に、格納する、
方法。
【請求項１３】
前記バックアップ領域へのシーク完了後、書き込み開始可能な最近のデータ・セクタからバックアップ・データの書き込みが開始される、
請求項１２に記載の方法。
【請求項１４】
前記バックアップ・データは、前記バックアップ領域へのシーク完了後の予め設定されている規定番目のデータ・セクタから書き始められる、
請求項１２に記載の方法。
【請求項１５】
前記バックアップ・データは、最新のバックアップ・データであることを示すデータを含む、
請求項１２に記載の方法。
【請求項１６】
前記バックアップ・データは、前記バックアップ領域における連続領域に格納される、
請求項１２に記載の方法。
【請求項１７】
前記バックアップ・データは、ユーザ・データの前後のデータ・セクタに格納されているフラグを含み、
前記フラグは、前記書き込み領域への新たなデータ書き込みの後において更新され、
データ書き込みにおける電源遮断に対応する回復処理は、前記フラグ、前記バックアップ元のユーザ・データ及び前記書き換え領域のデータを使用して実行される、
請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブ及びそのユーザ・データのバックアップ方法に関する。
【背景技術】
【０００２】
ディスク・ドライブとして、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの外部記憶装置として広く普及している。さらに、動画像記録再生装置あるいはカーナビゲーション・システムなど、多くの他の電子機器で使用されている。
【０００３】
ＨＤＤで使用される磁気ディスクは、複数のデータ・トラックと複数のサーボ・トラックとを有している。サーボ・トラックはアドレス情報を有する複数のサーボ・セクタから構成される。また、データ・トラックには、ユーザ・データを含んでいる複数のデータ・セクタが記録されている。円周方向に離間するサーボ・セクタの間に、データ・セクタが記録されている。
【０００４】
ヘッド・スライダはアクチュエータのサスペンション上に固着されている。アクチュエータが揺動軸を中心に揺動することによって、ヘッド・スライダを目的のデータ・トラックへ移動すると共に、そのトラック上に位置決めする。揺動するアクチュエータに支持されたヘッド・スライダのヘッド素子部が、サーボ・データのアドレス情報に従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【０００５】
ＨＤＤは、データ・セクタ単位で、磁気ディスク上のデータにアクセスする。典型的なＨＤＤにおいて、データ・セクタのサイズは５１２バイトである。そのため、現在の多くのプログラム（ホスト）は、５１２バイトのデータ・セクタを基準として書かれている。一方、ソフトウェアが扱うデータ・サイズは、近年、益々増加しており、ＨＤＤのアクセス単位のデータ・サイズも、それに従い大きくすることが好ましいと考えられるようになってきている。一つの例としては、４Ｋバイト（４０９６バイト）のデータ・セクタ・サイズが提案されている。また、アクセスの単位であるデータ・セクタのサイズを大きくすることは、ユーザ・データ以外に必要とする付加的な冗長データを相対的に少なくし、記録面の容量を増加させることができる。
【０００６】
ＨＤＤのデータ・セクタ・サイズを変更することにおける一つの問題は、プログラム（ホスト）におけるデータ・セクタ・サイズの不統一である。大サイズのデータ・セクタが今後広まっていくとしても、すぐに全てのソフトウェア（ホスト）が大サイズ・データ・セクタを基準として書かれることは考えづらく、一部のソフトウェアは、従来の５１２バイト・データ・セクタを基準として書かれることが考えられる。また、ユーザが使用するプログラムは、新しいプログラムと古いプログラムとを含む。従って、ＨＤＤは、新たな大サイズ・データ・セクタに加え、従来の５１２バイト・データ・セクタをもサポートすることが要求される。
【０００７】
このような課題を解決するため、従来の５１２バイト・データ・セクタと新たな大サイズ・データ・セクタ（４Ｋバイト・データ・セクタ）の双方をサポートするインターフェースを有するＨＤＤが提案されている（例えば、特許文献１を参照）。このＨＤＤは、４Ｋバイト・データ・セクタで磁気ディスクへのデータのライト及びリードを行う。コマンドは、アクセス先の先頭アドレスとデータ長とを指定する。５１２バイト・セクタ・サイズによるコマンドを受信すると、ＨＤＤは、指定アドレスを４Ｋバイト・セクタのアドレスに変換して、磁気ディスクへアクセスする。
【０００８】
５１２バイト単位で指定されたデータ（アクセス領域）の境界アドレスは、４Ｋバイトでの境界アドレスとは一致しないことがある。図１３は、３つの４Ｋバイト・データ・セクタと、コマンドが５１２バイト・データ・セクタで指定した領域の例を示している。コマンドの指定領域は５Ｋバイトであり、先頭アドレスと末尾アドレスの双方は、４Ｋバイト・データ・セクタの境界アドレスとは一致しない。このような場合、ＨＤＤは、指定アドレスを含む３つ全ての４Ｋデータ・セクタにアクセスすることが必要である。つまり、その全ての領域がコマンドにより指定されているデータ・セクタ（中央のデータ・セクタ）の他、その一部のみに指定されたアドレス領域を含むデータ・セクタ（先頭及び末尾のデータ・セクタ）にもアクセスする。
【０００９】
具体的には、リードにおいて、ＨＤＤは、指定アドレスのデータを含む全てのデータ・セクタを磁気ディスクからバッファに読み出す。一部のデータ・セクタは、ホストが指定したアドレス以外のデータも含む。そのため、ＨＤＤは、磁気ディスクから読み出したデータから必要なデータのみを抽出して、ホストに転送する。ライトにおいて、ＨＤＤは、一部に指定アドレスを含むデータ・セクタを読み出し、読み出したデータ・セクタの一部とホストから取得したデータから新たなセクタ・データを生成し、そのデータを磁気ディスクのデータ・セクタに書き込む。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−６３４４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ライト・コマンドに従って磁気ディスクにデータを書き込んでいる途中で、予期しない電源切断が起きることがある。このような場合、コマンドが指定した書換え領域のデータ・セクタは最新のユーザ・データを記憶しておらず、ホストから取得したユーザ・データの一部もしくは全部が消失してしまう。しかし、エラーとなるデータ・セクタはホストがライト・コマンドにより指定したアドレスのデータ・セクタであり、消失する可能性があるデータも、そのライト・コマンドの対象となっているユーザ・データのみである。設計者は、この点を理解した上でソフトウェア（ホスト）の設計を行うことが可能であり、このデータ消失は許容された事象として取り扱うことができる。
【００１２】
しかし、ホストとのインターフェースにおけるデータ・セクタ・サイズと、ＨＤＤ内で磁気ディスクにアクセスするデータ・セクタ・サイズとが異なる場合、ライト処理における電源切断が新たな問題を引き起こす。上述のように、磁気ディスクのリード／ライトが４Ｋバイトの大サイズ・データ・セクタであり、ホストとのインターフェースが５１２バイトの小サイズ・データ・セクタである場合、ライト処理において、磁気ディスク上の書換え領域における先頭及び末尾のデータ・セクタは、その一部のデータのみが書き換えられる場合がある。
【００１３】
先頭あるいは末尾のデータ・セクタの書き込みの途中で電源切断が起きた場合、そのデータ・セクタ内で書換えの対象となっていないデータが消失してしまう。つまり、今回のライト・コマンドのデータとは異なるユーザ・データが消失する。この消失データは、ライト・コマンドを発行したホスト（プログラム）のユーザ・データ、あるいは、それと異なるホスト（プログラム）のユーザ・データである。
【００１４】
いずれの場合においても、このユーザ・データの消失は、ライト・コマンドを発行したホスト、あるいは、消失データの所有者であるホストが予定しいてないデータ消失である。従って、ＨＤＤは、このようなデータ消失を防止する技術を実装していることが要求される。さらに、データ消失を防止するための処理は、確実にかつ効率的に行うことが必要である。
【課題を解決するための手段】
【００１５】
本発明の一態様は、大サイズ・データ・セクタと小サイズ・データ・セクタの双方をサポートするホスト・インターフェースを有し、前記大サイズ・データ・セクタによりディスクにアクセスするディスク・ドライブである。このディスク・ドライブは、ディスクにアクセスするヘッドと、前記ヘッドを前記ディスク上で移動する移動機構と、前記ヘッド及び前記移動機構を制御するコントローラとを含む。
前記コントローラは、ライト・コマンドを受信して、前記ライト・コマンドのデータ・セクタ・サイズを判定する。前記受信したライト・コマンドのデータ・セクタ・サイズが前記小サイズ・データ・セクタである場合に、前記ライト・コマンドが指定する書換え領域の先頭と末尾とのそれぞれが、前記ディスク上の大サイズ・データ・セクタの境界に一致するか判定する。前記先頭と末尾との一方が大サイズ・データ・セクタの境界に一致しない場合はその一方を含む大サイズ・データ・セクタを含むバックアップ・データを、双方が一致しない場合はその双方のそれぞれを含む大サイズ・データ・セクタを含むバックアップ・データを、前記ディスク上の１もしくは複数データ・トラックからなるバックアップ領域に格納する。これにより、ライト処理における電源切断においてデータ書換え領域外のデータが消失することを防ぐことができると共に、バックアップ・データのバックアップ領域への書き込みにおける遅延を小さくすることができる。
【００１６】
好ましい構成において、前記コントローラは、前記バックアップ領域へのシーク完了後、書き込み開始可能な最近のデータ・セクタからバックアップ・データの書き込みを開始する。これにより、バックアップ・データのバックアップ領域への書き込みにおける遅延をより小さくすることができる。
【００１７】
好ましい構成において、前記コントローラは、前記バックアップ領域へのシーク完了後の予め設定されている規定番目のデータ・セクタから前記バックアップ・データを書き始める。これにより、シンプルな処理によりバックアップ・データのバックアップ領域への書き込みにおける遅延を小さくすることができる。
【００１８】
好ましい構成において、前記バックアップ・データは、最新のバックアップ・データであることを示すデータを含む。これにより、電源遮断からの回復処理において、最新のバックアップ・データを迅速かつ容易に見つけることができる。
【００１９】
前記最新のバックアップ・データであることを示すデータは、カウンタのカウンタ値であることが好ましい。これにより、シンプルな構成で最新のバックアップ・データであることを示すことができる。さらに、前記コントローラは、前記カウンタが規定の値に達すると、前記バックアップ領域を初期化することが好ましい。これにより、所定サイズのカウンタにより確実に最新のバックアップ・データを示すことができる。
【００２０】
前記バックアップ・データは、バックアップ元のアドレスを含むことが好ましい。これにより、他のデータを参照することなく、電源遮断から回復処理においてバックアップ元を特定することができる。
【００２１】
好ましくは、前記コントローラは、前記バックアップ・データを、前記バックアップ領域における連続領域に格納する。これにより、バックアップ処理時間を短縮することができる。
【００２２】
好ましい構成において、前記バックアップ・データはユーザ・データの前後のデータ・セクタに格納されているフラグを含み、前記コントローラは前記書き込み領域への新たなデータ書き込みの後において前記フラグを更新し、前記コントローラは、前記フラグ、前記バックアップ元のユーザ・データ及び前記書き換え領域のデータを使用して、データ書き込みにおける電源遮断に対応する回復処理を実行する。これにより、他のデータを参照することなく、バックアップ・データとバックアップ元のユーザ・データとにより、電源遮断に対応する回復処理を実行することができる。
【００２３】
好ましい構成において、前記コントローラは、前記バックアップ・データを格納したデータ・セクタのアドレス情報を一時的に保持し、前記フラグの更新において前記アドレス情報を参照して前記フラグのアドレスを特定する。これにより、容易かつ迅速に更新すべきフラグを特定することができる。
【００２４】
好ましい構成において、前記コントローラは、前記先頭と前記末尾の双方が大サイズ・データ・セクタの境界と一致せず、前記末尾を含む末尾データ・セクタを前記先頭を含む先頭データ・セクタよりも先に読み出すことができ、前記末尾データ・セクタから前記先頭データ・セクタまでの時間が閾値よりも小さいとき、前記バックアップ領域へ格納するために、前記末尾データ・セクタの後に前記先頭データ・セクタを読み出す。これにより、バックアップ処理時間を短縮することができる。
【００２５】
本発明の他の態様は、大サイズ・データ・セクタと小サイズ・データ・セクタの双方をサポートするホスト・インターフェースを有し、前記大サイズ・データ・セクタによりディスクにアクセスするディスク・ドライブにおいて、ユーザ・データをバックアップする方法である。この方法は、ライト・コマンドを受信する。前記ライト・コマンドのデータ・セクタ・サイズを判定する。前記受信したライト・コマンドのデータ・セクタ・サイズが前記小サイズ・データ・セクタである場合に、前記ライト・コマンドが指定する書換え領域の先頭と末尾とのそれぞれが、前記ディスク上の大サイズ・データ・セクタの境界に一致するか判定する。前記先頭と末尾との一方が大サイズ・データ・セクタの境界に一致しない場合はその一方を含む大サイズ・データ・セクタを含むバックアップ・データを、双方が一致しない場合はその双方のそれぞれを含む大サイズ・データ・セクタを含むバックアップ・データを、前記ディスク上の１もしくは複数データ・トラックからなるバックアップ領域に格納する。これにより、ライト処理における電源切断においてデータ書換え領域外のデータが消失することを防ぐことができると共に、バックアップ・データのバックアップ領域への書き込みにおける遅延を小さくすることができる。
【発明の効果】
【００２６】
本発明によれば、異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブにおいて、ライト処理における電源切断においてデータ書換え領域外のデータが消失することを防ぐことができ、そのためのバックアップ処理を効率的に行なうことができる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態において、ＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態において、異なるデータ・セクタ・サイズに応じたリード／ライト処理を行う論理構成を模式的に示すブロック図である。
【図３】本実施形態におい、異なるデータ・セクタ・サイズに応じたリード／ライト処理の全体の流れを示すフローチャートである。
【図４】本実施形態において、リード・コマンド指定アドレスの先頭アドレスと末尾アドレスの双方の境界が、磁気ディスクのデータ・セクタと一致していない例を示している。
【図５】本実施形態において、バックアップ処理を含むライト処理の流れを示すフローチャートである。
【図６Ａ】本実施形態において、データ書き込み処理におけるバックアップ処理ついて説明する模式図である。
【図６Ｂ】本実施形態において、データ書き込み処理におけるバックアップ処理ついて説明する模式図である。
【図７】本実施形態において、ライト・コマンド指定アドレスの先頭アドレスと末尾アドレスの双方の境界が、磁気ディスクのデータ・セクタと一致していない場合における、バックアップ管理データが含む情報を模式的に説明する図である。
【図８】本実施形態において、バックアップ処理を含むライト処理の全体の流れを示すフローチャートである。
【図９】本実施形態において、バックアップ処理を含む小サイズ・データ・セクタによる書き込み処理を説明するための模式図である。
【図１０】本実施形態において、バックアップ処理を含むライト処理における状態ステージを例示するテーブルである。
【図１１】本実施形態において、ＨＤＤの起動から電源切断までの処理の流れを模式的に示すフローチャートである。
【図１２Ａ】本実施形態において、バックアップのために末尾データ・セクタを先に読み出す処理を説明するための模式図である。
【図１２Ｂ】本実施形態において、バックアップのために末尾データ・セクタを先に読み出す処理を説明するための模式図である。
【図１３】従来の技術において、異なるサイズのデータ・セクタをサポートするＨＤＤにおけるデータ・セクタ及び書換え領域の一例を模式的に示す図である。
【発明を実施するための形態】
【００２８】
以下に、本発明の実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブの一例であるハードディスク・ドライブ（ＨＤＤ）において、本発明の実施形態を説明する。
【００２９】
本形態のＨＤＤは、ホスト・インターフェースにおいて、大サイズのデータ・セクタと小サイズのデータ・セクタの双方をサポートする。つまり、ホストは、大サイズのデータ・セクタと小サイズのデータ・セクタのいずれにおいても、ＨＤＤにリード及びライトのコマンドを発行することができる。小サイズ・データ・セクタのサイズは、例えば、５１２バイトであり、大サイズ・データ・セクタのサイズは、例えば、４Ｋ（４０９６）バイトである。
【００３０】
磁気ディスク上のデータ・セクタは大サイズ・データ・セクタである。ＨＤＤは、常に、大サイズ・データ・セクタにより、磁気ディスクにアクセス（リードあるいはライト）する。このように、磁気ディスク上のデータ・セクタ・サイズを大きくすることで、データ・セクタに必要とされる冗長データを低減し、記録面のデータ容量を大きくすることができる。
【００３１】
本形態のＨＤＤは、ホストから小サイズ・データ・セクタによるライト・コマンドを受信し、その指定アドレス（書換え領域）の境界が磁気ディスク上の大サイズ・データ・セクタの境界と一致しない場合、ユーザ・データのバックアップ処理を行う。これにより、予期しない電源切断がライト処理中に発生しても、書換え領域外にあってライト・コマンドと無関係なユーザ・データの消失を防ぐことができる。本形態は、このデータ・バックアップ処理に特徴を有している。本形態のライト処理について詳細に説明する前に、ＨＤＤの全体構成を説明する。
【００３２】
図１は、ＨＤＤの全体構成を模式的に示すブロック図である。ＨＤＤ１は、エンクロージャ１０内に、データを記憶するディスクである磁気ディスク１１を有している。スピンドル・モータ（ＳＰＭ）１４は、磁気ディスク１１を所定の角速度で回転する。磁気ディスク１１の各記録面に対応して、磁気ディスク１１にアクセスするヘッド・スライダ１２が設けられている。アクセスは、リード及びライトの上位概念である。各ヘッド・スライダ１２は、磁気ディスク上を飛行するスライダと、スライダに形成され磁気信号と電気信号との間の変換を行うヘッド素子部とを備えている。
【００３３】
各ヘッド・スライダ１２はアクチュエータ１６の先端部に固定されている。アクチュエータ１６はボイス・コイル・モータ（ＶＣＭ）１５に連結され、回動軸を中心に回動することによって、ヘッド・スライダ１２を回転する磁気ディスク１１上においてその半径方向に移動する。アクチュエータ１６とＶＣＭ１５とは、ヘッド・スライダ１２の移動機構である。
【００３４】
エンクロージャ１０の外側に固定された回路基板２０上には、回路が実装されている。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従って、ＳＰＭ１４及びＶＣＭ１５を駆動する。揮発性メモリであるＲＡＭ２４は、リード・データ及びライト・データを一時的に格納するバッファとして機能する。エンクロージャ１０内のアーム電子回路（ＡＥ）１３は、複数のヘッド・スライダ１２の中から磁気ディスク１１へのアクセスを行うヘッド・スライダ１２を選択し、その再生信号を増幅してリード・ライト・チャネル（ＲＷチャネル）２１に送る。また、ＲＷチャネル２１からの記録信号を選択したヘッド・スライダ１２に送る。なお、本発明は一つのヘッド・スライダ１２のみを有するＨＤＤに適用することができる。
【００３５】
ＲＷチャネル２１は、リード処理において、ＡＥ１３から取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データとを含む。デコード処理されたリード・ユーザ・データ及びサーボ・データは、ＨＤＣ／ＭＰＵ２３に供給される。また、ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。
【００３６】
コントローラであるＨＤＣ／ＭＰＵ２３は、リード／ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド・スライダ１２のポジショニング制御（サーボ制御）、ホスト５１との間のインターフェース制御、ディフェクト管理、エラーが発生した場合のエラー対応処理など、データ処理に関する必要な処理及びＨＤＤ１の全体制御を実行する。
【００３７】
本形態のＨＤＤ１のＨＤＣ／ＭＰＵ２３に含まれるホスト・インターフェースは、小サイズ・データ・セクタと大サイズ・データ・セクタの双方をサポートする。磁気ディスク１１は、大サイズ・データ・セクタによりデータを記憶する。ホスト５１からのコマンドが大サイズ・データ・セクタによってアドレス指定を行う場合、ＨＤＤ１は通常の処理フローに従って磁気ディスク１１からのデータ読み出し／データ書き込みを行えばよい。しかし、ホスト５１からのコマンドが小サイズ・データ・セクタによるアクセスを要求する場合、ＨＤＤ１は小サイズ・データ・セクタによるアクセスをエミュレートすることが必要となる。
【００３８】
本形態は小サイズ・データ・セクタによるライト処理におけるデータ・バックアップ処理に特徴を有しているが、まず、異なるデータ・セクタ・サイズに応じたリード／ライト処理の全体の流れを、図２のブロック図及び図３のフローチャートを参照して説明する。図２は、データ・セクタ・サイズに応じた処理を行う論理構成を模式的に示すブロック図である。ホスト・インターフェース及び磁気ディスク１１へのアクセスは、全てＨＤＣ／ＭＰＵ２３が制御する。
【００３９】
ＨＤＣ／ＭＰＵ２３は、データ・サイズ検出部２３１、大サイズ・データ・セクタ制御部２３２、そして小サイズ・データ・セクタ制御部２３３を含む。ＨＤＣ／ＭＰＵ２３は、ハードウェアであるＨＤＣとＭＰＵとを有しており、上記各機能要素は、ハードウェアあるいはＭＰＵがファームウェアに従って動作することによって実現される。従って、ＨＤＣ／ＭＰＵ２３は、上記各機能要素を別の回路構成として有する、あるいは異なるタイミングにおいて各機能要素として機能する。
【００４０】
ホスト５１からコマンドを受信すると（Ｓ１１におけるＹ）、データ・サイズ検出部２３１がそのコマンドが取り扱うデータのデータ・セクタ・サイズを特定する（Ｓ１２）。典型的には、コマンドは、使用データ・セクタを示す情報を格納するフィールドを有しており、データ・サイズ検出部２３１は、そのフィールドを参照することにより、そのコマンドが前提とするデータ・セクタ・サイズを検出する。
【００４１】
検出したデータ・セクタ・サイズが大サイズである場合（Ｓ１２におけるＹ）、大サイズ・データ・セクタ制御部２３２がユーザ・データのリード／ライト処理を実行する。コマンドが指定するデータ・セクタ・サイズと磁気ディスク１１のデータ・セクタ・サイズが同一であるため、大サイズ・データ・セクタ制御部２３２の処理は、一般的なＨＤＤの処理と同じである。
【００４２】
ライト処理において、大サイズ・データ・セクタ制御部２３２はホスト５１から大サイズ・データ・セクタ単位でユーザ・データを受信し（Ｓ１３）、バッファ２４１に格納する。さらに、バッファ２４１からのデータを大サイズ・データ・セクタ単位でＲＷチャネル２１に転送する。転送されたデータ・セクタは、ＲＷチャネル２１、ＡＥ１３を介して、ヘッド・スライダ１２により磁気ディスク１１に書き込まれる。ＲＷチャネル２１、アクチュエータ１６及びＡＥ１３は、大サイズ・データ・セクタ制御部２３２により制御される（Ｓ１４）。
【００４３】
リード処理においては、大サイズ・データ・セクタ制御部２３２は、ＲＷチャネル２１、アクチュエータ１６及びＡＥ１３を制御して、コマンドが指定するアドレスのデータ・セクタを磁気ディスク１１から読み出し、それをバッファ２４１に格納する（Ｓ１４）。さらに、バッファ２４１から、読み出したデータ・セクタをホスト５１に転送する（Ｓ１５）。
【００４４】
検出したデータ・セクタ・サイズが小サイズである場合（Ｓ１２におけるＮ）、小サイズ・データ・セクタ制御部２３３がユーザ・データのリード／ライト処理を実行する。ライト処理において、小サイズ・データ・セクタ制御部２３３はホスト５１から小サイズ・データ・セクタ単位でユーザ・データを受信し、バッファ２４１に格納する（Ｓ１６）。その後、小サイズ・データ・セクタのエミュレーション制御を含む、磁気ディスク１１へのデータ書き込み処理を実行する（Ｓ１７）。この方法の詳細は後述する。
【００４５】
リード処理においては、小サイズ・データ・セクタ制御部２３３は、ＲＷチャネル２１、アクチュエータ１６及びＡＥ１３を制御して、コマンドが指定するアドレスのデータ・セクタを磁気ディスク１１から読み出し、それをバッファ２４１に格納する（Ｓ１７）。磁気ディスク１１からの読み出しは、小サイズ・データ・セクタのエミュレーション制御を含む。この方法の詳細は後述する。その後、さらに、小サイズ・データ・セクタ制御部２３３は、バッファ２４１から、読み出したデータを小サイズ・データ・セクタ単位でホスト５１に転送する（Ｓ１８）。
【００４６】
小サイズ・データ・セクタによる磁気ディスク１１からのデータ読み出し処理について図４を参照して説明する。ホスト・インターフェースにおけるデータ・セクタ・サイズと磁気ディスク上のデータ・セクタ・サイズが異なる場合、ホストからのコマンドが指定するアドレスの境界と、磁気ディスク上のデータ・セクタの境界との不一致が起きる。そのため、小サイズ・データ・セクタ制御部２３３は、リード・コマンドが指示するアドレスのデータ以外のデータも磁気ディスク１１から読み出す。
【００４７】
図４は、リード・コマンド指定アドレスの先頭アドレスと末尾アドレスの双方の境界が、磁気ディスク１１のデータ・セクタの境界と一致していない場合を示している。磁気ディスク上の読み出し領域１１２のデータ・セクタは、６つの大サイズ・データ・セクタ１１１ａ〜１１１ｆであり、このコマンドが指定する読み出し領域１１２は、６つのデータ・セクタの領域内において、中央の４つのデータ・セクタ１１１ｂ〜１１１ｅの全ての領域と、前後端のデータ・セクタ１１１ａ、１１１ｆのそれぞれの一部の領域を占める。
【００４８】
小サイズ・データ・セクタ制御部２３３は、リード・コマンドが小サイズ・データ・セクタ単位で指定するアドレスから、大サイズデータ・セクタ単位のデータ・セクタのアドレスを算出し、対応するデータ・セクタ１１１ａ〜１１１ｆを磁気ディスク１１から読み出し、バッファ２４１に格納する。さらに、小サイズ・データ・セクタ制御部２３３は、読み出したデータから必要なデータを抽出し、小サイズ・データ・セクタ単位でホスト５１にデータを転送する。
【００４９】
次に、バックアップ処理を含むライト処理の流れを、図５のフローチャートを参照して説明する。ホスト５１からライト・コマンドを受信すると、データ・サイズ検出部２３１がデータ・セクタ・サイズを特定し、小サイズ・データ・セクタのエミュレーション処理を行うか決定する（Ｓ２１）。エミュレートを行わないのであれば（Ｓ２１におけるＮ）、大サイズ・データ・セクタ制御部２３２が大サイズ・データ・セクタにより磁気ディスク１１へのデータ書き込み処理を実行する（Ｓ２２）。
【００５０】
ライト・コマンドが小サイズ・データ・セクタでのアドレス指定を行う場合（Ｓ２１におけるＹ）、小サイズ・データ・セクタ制御部２３３が小サイズ・データ・セクタにより磁気ディスク１１へデータを書き込む。このとき、ライト・コマンドが指定する先頭及び末尾のアドレス境界が、磁気ディスク１１上のデータ・セクタのアドレス境界に一致するか判定する（Ｓ２３）。
【００５１】
アドレス境界が、先頭及び末尾の双方において一致している場合（Ｓ２３におけるＹ）、小サイズ・データ・セクタ制御部２３３は、バックアップを行うことなく、磁気ディスク１１へのデータ書き込みを行う。具体的には、小サイズ・データ・セクタ制御部２３３は小サイズ・データ・セクタを大サイズ・データ・セクタにまとめ、大サイズ・データ・セクタ制御部２３２と同様に、大サイズ・データ・セクタにより磁気ディスク１１へのデータ書き込み処理を実行する（Ｓ２２）。
【００５２】
アドレス境界が、先頭及び末尾の少なくとも一方において一致していない場合（Ｓ２３におけるＮ）、小サイズ・データ・セクタ制御部２３３は、バックアップを含む、磁気ディスク１１へのデータ書き込みを行う（Ｓ２４）。データ書き込み処理におけるバックアップ処理ついて、図６Ａ、図６Ｂを参照して説明する。データ書き込み処理において、ライト・コマンド指定アドレスの先頭アドレスと末尾アドレスの少なくとも一方の境界が磁気ディスク１１のデータ・セクタと一致していないとき、本形態の小サイズ・データ・セクタ制御部２３３は、データ・バックアップ処理を行う。本実施形態は、このデータ書き込み処理におけるバックアップ処理に特徴を有している。
【００５３】
以下において、ライト・コマンド指定アドレスの先頭アドレスと末尾アドレスの双方の境界が、磁気ディスク１１のデータ・セクタと一致していないときの処理について説明を行う。何れか一方の境界が一致しないときは、その一致しないデータ・セクタのみのバックアップ処理を行う。退避させるデータ・セクタが異なる点以外は、それらのライト処理方法は基本的に同様である。双方の境界が磁気ディスク１１のデータ・セクタと一致するときは、バックアップ処理は不要であり省略する。
【００５４】
図６Ａは、磁気ディスク１１上のバックアップ領域１１５へのバックアップ処理を模式的に示す図である。図６Ａの例において、小サイズ・データ・セクタ制御部２３３は、複数セクタからなるデータ書き込み領域１１３における一部のセクタを、バックアップ領域１１５の一部領域１１６内に保存する。図６Ｂは、データ書き込み領域１１３及びその領域１１３内で新たなデータが書き込まれる書換え領域１１４、そして、バックアップ領域１１５においてバックアップ・ユーザ・データとバックアップ管理データが書き込まれる領域１１６とを模式的に示している。以下において、バックアップ処理で書き込まれるバックアップ・ユーザ・データとバックアップ管理データとを、バックアップ・データと呼ぶ。
【００５５】
上述のように、本例において、ライト・コマンド指定アドレスの先頭アドレスと末尾アドレスの双方の境界が、磁気ディスク１１のデータ・セクタと一致していない。磁気ディスク１１上のデータ書き込み領域１１３のデータ・セクタは、６つの大サイズ・データ・セクタ１１１ａ〜１１１ｆである。このコマンドが指定する領域１１４は、６つのデータ・セクタの領域内において、中央の４つのデータ・セクタ１１１ｂ〜１１１ｅの全ての領域と、前後端のデータ・セクタ１１１ａ、１１１ｆのそれぞれの一部の領域を占める。
【００５６】
小サイズ・データ・セクタ制御部２３３は、ライト処理においては、磁気ディスク１１へホスト５１から取得したデータを書き込むと共に、必要なデータのバックアップ処理を行う。本実施形態の特徴として、バックアップ領域１１５は一つのデータ・トラックもしくは連続する複数データ・トラックからなる領域である。
【００５７】
小サイズ・データ・セクタ制御部２３３は、バックアップ処理において、バックアップ領域１１５へのシーク完了後、バックアップ領域１１５内の既存データを無視して、新たなデータを書き込む。これにより、小サイズ・データ・セクタ制御部２３３は、シーク完了後、できるだけ早いタイミングで、バックアップ領域１１５において書き込みを開始することができる。
【００５８】
典型的には、小サイズ・データ・セクタ制御部２３３は、シーク完了を基準として、予め設定されている規定番目（好ましくは１番目）のデータ・セクタからバックアップ・データ（バックアップ管理データとバックアップ・ユーザ・データ）の書き込みを開始する。小サイズ・データ・セクタ制御部２３３は、ＨＤＣ／ＭＰＵ２３の機能として可能なシーク完了からデータ書き込み開始までの最短時間で、バックアップ・データの書き込みを開始することが好ましい。好ましくは、小サイズ・データ・セクタ制御部２３３は、シーク完了後のフォロイング処理中のデータ・セクタ位置から直近で書き込み可能なデータ・セクタを指定して、その直近のデータ・セクタからバックアップ処理におけるデータを書き始める。
【００５９】
シーク完了の条件はＨＤＤ１の設計に依存する。例えば、ターゲット位置と現在ヘッド位置との差である位置誤差信号が規定の連続セクタ数において規定範囲内にあり、また、位置誤差信号の変化速度が規定の連続セクタ数において規定範囲内にあることを条件として、シーク処理が完了する。ＨＤＣ／ＭＰＵ２３は、シーク処理の完了後、フォロイング処理に入る。好ましくは、小サイズ・データ・セクタ制御部２３３は、フォロイング処理に入る前から直近で書き込み可能なデータ・セクタ位置を並行して予測し、フォロイングに入った最初のデータ・セクタからバックアップ・データを書き込む。最初のデータ・セクタを書き込みデータ・セクタに指定することで処理時間を最も短くすることができる。
【００６０】
このように、バックアップのための一つのデータ・トラックもしくは連続複数データ・トラックからなる領域を用意することで、小サイズ・データ・セクタ制御部２３３は、バックアップ領域１１５内の任意の位置からバックアップ・データの書き込みを開始することができる。これにより、バックアップ処理の処理時間を短縮することができる。
【００６１】
バックアップ領域は、ＨＤＤ１の全記録領域内に一つ形成してもよく、記録面毎に一つ形成してもよい。あるいは各記録面が異なる半径位置の複数のバックアップ領域を有していてもよい。例えば、各ゾーンがバックアップ領域を有することで、バックアップ処理の処理時間を効果的に低減することができる。以下の具体的に説明する例においては、各記録面が一つのバックアップ領域を有する。
【００６２】
バックアップを行うデータは、ホスト指定データがその一部を占める大サイズ・データ・セクタである。つまり、ホスト指定アドレス（領域）の境界（先頭アドレスと末尾アドレス）がそのデータ・セクタ内の中央（データ・セクタの先頭アドレスと末尾アドレス以外のアドレス位置）に位置するデータ・セクタ１１１ａ、１１１ｆである。
【００６３】
このようなデータ・セクタは、ライト・コマンドが指定する書換え領域１１４の外にあるユーザ・データ（ライト・コマンドと無関係のデータ）を含む。従って、データ・セクタの境界とそのデータ・セクタ内でのホスト指定領域の境界が一致していないデータ・セクタ１１１ａ、１１１ｆをバックアップすることで、磁気ディスク１１へのデータ書き込み時に電源切断が起きても、ライト・コマンドが書換えを指定していない領域のユーザ・データを保護することができる。
【００６４】
小サイズ・データ・セクタ制御部２３３は、ユーザ・データのバックアップ処理において、ユーザ・データのほかに、バックアップ管理データをバックアップ領域１１５に書き込む。これにより、電源切断時から必要なユーザ・データの回復を正確に行うことができる。好ましい構成において、小サイズ・データ・セクタ制御部２３３は、バックアップ・ユーザ・データを記録するデータ・セクタ１１１ｈ、１１１ｉの前後のデータ・セクタ１１１ｇ、１１１ｊにバックアップ管理データを書き込む。
【００６５】
図７は、本構成におけるバックアップ管理データが含む情報を模式的に示す図である。バックアップ管理データとバックアップ・ユーザ・データ（ユーザ・データのバックアップ）とは、連続するデータ・セクタに書き込むことが好ましい。これにより、バックアップ処理時間を短縮することができる。バックアップ領域１１５内に欠陥セクタが存在するとき、それらはスキップされる。小サイズ・データ・セクタ制御部２３３による処理において、欠陥セクタは存在しないデータ・セクタとして扱われる。データを格納するデータ・セクタ間に欠陥セクタが存在する場合、データを格納しているデータ・セクタは連続していると見なす。
【００６６】
バックアップ管理データは、開始セクタ１１１ｇと終了セクタ１１１ｊに格納されている。開始セクタ１１１ｇは、カウンタ値、バックアップ開始アドレス、バックアップ終了アドレス、そしてバックアップ開始フラグを格納している。終了セクタ１１１ｊは、カウンタ値、バックアップ開始アドレス、バックアップ終了アドレス、そしてバックアップ終了フラグを格納している。開始セクタ１１１ｇと終了セクタ１１１ｊのカウンタ値、バックアップ開始アドレス、バックアップ終了アドレスは同一の値である。
【００６７】
小サイズ・データ・セクタ制御部２３３は、電源遮断からの回復処理においてこれを参照することで、いずれのデータが最後のバックアップ処理の対象データであるかを判定することができる。小サイズ・データ・セクタ制御部２３３は、バックアップ処理毎に、カウンタをインクリメントあるいはディクリメントして、新たなカウンタ値を生成し、その最新のカウンタ値を、バックアップ管理データに含める。
【００６８】
カウンタ値は、最新（最後）のバックアップ・ユーザ・データを示すデータである。最小あるいは最大のカウンタ値を示す領域が、最新（最後）のバックアップ・ユーザ・データを格納している。バックアップ開始アドレスは、退避されているユーザ・データの開始アドレス（本例においてデータ・セクタ１１１ａのアドレス）である。バックアップ終了アドレスは、退避されているユーザ・データの終了アドレス（本例においてデータ・セクタ１１１ｆのアドレス）である。小サイズ・データ・セクタ制御部２３３は、これらを参照することで、電源遮断からの回復処理においてバックアップ・ユーザ・データのアドレスを知ることができる。
【００６９】
一つのデータ・セクタのみを退避させる場合、退避させていないデータ・セクタに対応するアドレスが、それを示せばよい。例えば、先頭データ・セクタのみを退避させる場合、バックアップ終了アドレスは、末尾データ・セクタが退避されていないことを示す。
【００７０】
バックアップ開始フラグとバックアップ終了フラグとは、バックアップ処理における電源切断時のステージ（状態）を示すデータである。小サイズ・データ・セクタ制御部２３３は、バックアップ処理において、これらフラグの書き込み及び書換えを行うことで、電源遮断からの回復処理において、いずれのステージで電源遮断が起きたかを特定することができる。バックアップ開始フラグは開始セクタ１１１ｇに格納され、バックアップ終了フラグは終了セクタ１１１ｊに格納される。カウンタ値は、両方のセクタに格納される。それら以外のデータは、いずれのデータ・セクタが格納してもよい、あるいは、双方のデータ・セクタに書き込んでもよい。
【００７１】
本形態のバックアップ処理を含む小サイズ・データ・セクタによる書き込み（Ｓ２４）について、図８のフローチャート及び図９の模式図を参照しながら説明を行なう。図９に示す状態ステージについては後述する。ホスト５１からのライト・コマンドに応答して、小サイズ・データ・セクタ制御部２３３は、ホスト５１からのライト・データをバッファ２４１に格納する（Ｓ２４１）。小サイズ・データ・セクタ制御部２３３は、アクチュエータ１６を制御して、ライト・コマンドが指定するアドレスの先頭アドレスのデータ・セクタを含むターゲット・トラックへのシークを行う（Ｓ２４２）。図９の例では、書換え領域は一つのデータ・トラック上に存在する。
【００７２】
小サイズ・データ・セクタ制御部２３３は、ＲＷチャネル２１を制御して、アドレス境界が一致していない先頭データ・セクタと末尾データ・セクタとを読み出し、バッファ２４１に格納する（Ｓ２４３）。図９の例は、両方のデータ・セクタにおいて境界が一致しておらず、データ・セクタ１１１ａとデータ・セクタ１１１ｆとが読み出される。
【００７３】
小サイズ・データ・セクタ制御部２３３は、ヘッド・スライダ１２をバックアップ領域１１５へ移動する（シーク処理）（Ｓ２４４）。シーク完了後、小サイズ・データ・セクタ制御部２３３は、バックアップ・ユーザ・データとバックアップ管理データとをバックアップ領域１１５に書き込む（Ｓ２４５）。図９の例において、開始セクタ１１１ｇ〜終了セクタ１１１ｊに、データが書き込まれる。書き込まれるデータは、図７を参照した説明と同様である。また、上述のように、好ましい構成において、小サイズ・データ・セクタ制御部２３３は、シーク完了後の最初のデータ・セクタからバックアップ・データの書き込みを開始する。
【００７４】
小サイズ・データ・セクタ制御部２３３は、バックアップ・データを格納する領域（セクタ１１１ｇ〜セクタ１１１ｊ）を示すアドレス・データをＲＡＭ２４内に格納し、それを一時的に保持する（Ｓ２４６）。さらに、小サイズ・データ・セクタ制御部２３３は、データ書き込みを行うターゲット・トラックへヘッド・スライダ１２を移動する（シーク処理）（Ｓ２４７）。
【００７５】
小サイズ・データ・セクタ制御部２３３は、ホスト５１から取得したライト・データ、先頭データ・セクタ１１１ａ、そして末尾データ・セクタ１１１ｆにより、磁気ディスク１１に書き込むデータ列を作成する（Ｓ２４８）。小サイズ・データ・セクタ制御部２３３は、作成したデータ列を磁気ディスク１１に書き込む（Ｓ２４９）。図９の例において、データ・セクタ１１１ａ〜１１１ｆにデータを書き込む。
【００７６】
小サイズ・データ・セクタ制御部２３３は、その後、バックアップ領域１１５へと戻り（シーク処理）（Ｓ２５０）、バックアップ管理データ内の、バックアップ開始フラグとバックアップ終了フラグを書き換える（Ｓ２５１）。このとき、小サイズ・データ・セクタ制御部２３３は、ＲＡＭ２４内に一時的に保持しておいたアドレスを参照し、書換えを行なうバックアップ・データのアドレスを特定する。
【００７７】
図９において、バックアップ管理データは、２つのデータ・セクタ１１１ｇ、１１１ｊに格納されている。バックアップされるユーザ・データを格納するデータ・セクタ１１１ｈ、１１１ｉは、これらのデータ・セクタに挟まれている。データ・セクタ１１１ｈは書換え前のデータ・セクタ１１１ａのデータを格納し、データ・セクタ１１１ｉは書換え前のデータ・セクタ１１１ｆのデータを格納する。
【００７８】
先頭のデータ・セクタ１１１ｇが格納する状態フラグは、バックアップ開始フラグである。末尾のデータ・セクタ１１１ｊが格納する状態フラグは、バックアップ終了フラグである。本例において２つの状態フラグは１ビット・データであり、０及び１の一方が実行を示し、他方が完了を示す。
【００７９】
バックアップ・ユーザ・データの書き込みにおいて（Ｓ２４５）、小サイズ・データ・セクタ制御部２３３は、「実行」を示すバックアップ開始フラグと「実行」を示すバックアップ終了フラグとを書き込む。ユーザ・データの書換え後のバックアップ管理データ書換え工程（Ｓ２５１）において、小サイズ・データ・セクタ制御部２３３は、「実行」から「完了」に、バックアップ開始フラグとバックアップ終了フラグのそれぞれを書き換える。
【００８０】
バックアップ開始フラグは、ユーザ・データのバックアップのための書き込み（Ｓ２４５）直前に書き込むことが重要であり、バックアップ終了フラグは書き込みの直後に書き込むことが重要である。このため、図９に示すように、バックアップ・ユーザ・データを格納するデータ・セクタが、バックアップ管理データを格納するデータ・セクタの間にあり、さらに、これらのデータ・セクタ（４つのデータ・セクタ）が連続していることが好ましい。上述のように、「連続している」とは使用可能なデータ・セクタが連続していることを意味し、欠陥セクタはカウントしない。
【００８１】
図１０には、バックアップ処理を伴うライト処理における状態ステージの遷移が示されている。電源フラグは、ＨＤＤ１の電源が正常にＯＦＦされたか否かを示すフラグである。電源フラグは、バックアップ管理データとは別に用意される。図１０の例において、「ＦＡＩＬ」は処理途中で電源遮断が起きたことを意味する。
【００８２】
図１０の例において、バックアップ処理を伴うライト処理の状態は０１〜１３の１３のステージで構成されている。状態００は、通常の状態であり、電源切断が起きることなくＨＤＤ１が通常終了したときの状態である。図１０のテーブルは、電源遮断に対するデータ回復処理を説明するためのテーブルであり、上記ライト処理における各ステージの電源フラグは「ＦＡＩＬ」を示す。
【００８３】
図１０は、バックアップ領域１１５における、連続する４データ・セクタを例示している。バックアップ領域１１５の各データ・セクタが格納するデータは、ユーザ・データであるかバックアップ管理データであるかは決まっていない。以下において、一例として、特定の４データ・セクタのデータ変化を説明し、各データ・セクタが格納するデータ種類は、書換え前後で同一であるとする。
【００８４】
例えば、特定の４データ・セクタは、上記データ・セクタ１１１ｇ〜１１１ｊであり、特定のバックアップ処理前に、データ・セクタ１１１ｇ、１１１ｊはそれぞれバックアップ管理データを格納し、データ・セクタ１１１ｈ、１１１ｉは先頭ユーザ・データ・セクタと末尾ユーザ・データ・セクタを格納している。新たなバックアップ処理は、データ・セクタ１１１ｇ、１１１ｊに新たなバックアップ管理データを格納し、データ・セクタ１１１ｈ、１１１ｉに新たなバックアップ・ユーザ・データを格納する。
【００８５】
図８及び図９を参照して説明したように、バックアップ処理を伴うライト処理は、ステージ０１の状態ステージから開始して、０１〜１３までの状態ステージに順次変化する。その後、ＨＤＤ１が通常動作終了すると、状態はステージ１３からステージ００に変化する。
【００８６】
ＨＤＣ／ＭＰＵ２３は、バックアップ処理を含むライト処理の途中で電源切断が起きた場合、バックアップ・ユーザ・データを使用してデータの回復を行う。正確に回復を行うためには、バックアップ処理を伴うライト処理のいずれの状態ステージにおいて処理が中断したかを知ることが必要である。図１０は、００〜１３の状態ステージを示すテーブルである。ステージ番号は便宜的につけたもので、ＨＤＣ／ＭＰＵ２３がこの数字により状態ステージを管理するわけではない。
【００８７】
ステージ００とその他のステージとの違いは、電源切断フラグが示す状態である。上述のように、電源切断フラグは、ＨＤＤ１が通常の動作終了をしたか、電源切断により異常動作終了したかを示すデータである。ステージ００は通常状態であるので、電源切断フラグは、通常動作終了を示している。他の状態ステージにおいて、電源切断フラグは異常終了を示している。
【００８８】
図１０に示した状態ステージのそれぞれについて説明を行う前に、ＨＤＤ１の起動から電源切断までの処理の流れを、図１１のフローチャートを参照して説明する。ＨＤＤ１が起動されると、ＨＤＣ／ＭＰＵ２３は、起動処理を開始する（Ｓ３１）。その起動処理内において、動作確認やパラメータ設定などの通常処理が終了した後に、前回の電源切断状態を、電源切断状態フラグを参照して特定する（Ｓ３２）。電源切断状態フラグは、磁気ディスク１１上の所定領域に記憶されている。
【００８９】
電源切断状態フラグが通常電源切断を示している場合（Ｓ３２におけるＳＡＦＥ）、ＨＤＣ／ＭＰＵ２３は、バックアップ領域１１５を初期化する（Ｓ３３）。初期化は、バックアップ領域１１５に規定のデータを書き込む（上書きする）。さらに、ＨＤＣ／ＭＰＵ２３は、電源切断状態フラグをＦＡＩＬに設定し（Ｓ３４）、起動処理を終了する（Ｓ３５）。
【００９０】
起動後、ＨＤＣ／ＭＰＵ２３（ＨＤＤ１）は、通常の処理を実行する（Ｓ３６）。その後に電源が切断されるとき、通常の電源切断である場合（Ｓ３７におけるＹ）、ＨＤＣ／ＭＰＵ２３は、電源切断状態フラグをＳＡＦＥに設定し（Ｓ３９）、通常の電源切断処理を行い（Ｓ４０）、ＨＤＤ１は停止する。電源の切断が異常電源切断である場合（Ｓ３７におけるＮ）、ＨＤＤ１はそのまま停止する（異常電源切断：Ｓ３８）。電源切断状態フラグはＦＡＩＬのままである。
【００９１】
起動処理において、電源切断状態フラグが異常電源切断を示している場合（Ｓ３２におけるＦＡＩＬ）、ＨＤＣ／ＭＰＵ２３は、バックアップ領域１１５において、最後のバックアップ処理に対応するデータをサーチする（Ｓ４１）。具体的には、ＨＤＣ／ＭＰＵ２３は、バックアップ管理データを格納するデータ・セクタのカウント値を参照し、最後のバックアップ処理を示すカウント値のデータ・セクタを特定する。バックアップ処理毎にカウンタをインクリメントする構成においては、最大カウント値のデータ・セクタが最後のバックアップ処理のデータ・セクタであり、ディクリメントする構成においては最小のカウント値のデータ・セクタが最後のバックアップ処理のデータ・セクタである。
【００９２】
ＨＤＣ／ＭＰＵ２３は、バックアップ・ユーザ・データと状態フラグとを使用して、電源切断時の状態ステージを特定する（Ｓ４２）。ＨＤＣ／ＭＰＵ２３は、さらに、その状態ステージに従った回復処理を実行する（Ｓ４３）。電源切断時の状態ステージの特定方法及び回復方法については後述する。回復処理後、ＨＤＣ／ＭＰＵ２３は、工程Ｓ３３以下の工程を実行する。
【００９３】
このように、電源切断状態フラグは起動時にＦＡＩＬに設定され、ＨＤＤ１が通常停止する前にＳＡＦＥに設定される。このため、ＨＤＤ１の動作中の予期せぬ電源切断が起きると、電源切断状態フラグはＦＡＩＬのままであり、その後の起動時に、ＨＤＣ／ＭＰＵ２３が、前回の異常停止を知ることができる。
【００９４】
図１１のフローチャートを参照して説明したように、ＨＤＣ／ＭＰＵ２３は、異常電源切断時の状態ステージに応じて回復処理を行う。以下において、図１０のテーブル及び図９を参照して、各状態ステージ、状態ステージの特定方法、そして各状態ステージに対応した回復処理の内容について具体的に説明する。
【００９５】
図９に示すように、ＨＤＣ／ＭＰＵ２３が、ライト・コマンドを受信すると、状態は、ステージ０１になる。ステージ０１において、電源切断状態フラグは異常終了を示している。起動後の処理であるので、図１１を参照して説明したように、電源切断状態フラグは異常終了を示す。これは、他の状態ステージにおいても同様である。
【００９６】
さらに、データ・セクタ１１１ａ〜１１１ｆへの書き込み前であるので、先頭データ・セクタ１１１ａと末尾データ・セクタ１１１ｆとは、書換え前のデータである。バックアップ開始フラグと終了フラグとは、それぞれ完了（過去（前回もしくはそれ以前）のバックアップ処理の完了）を示している。カウント値はｍであり、過去のバックアップ処理の番号を示す。
【００９７】
次に、図９に示すように、バックアップ管理データ（開始セクタ１１１ｇ）の書き込み開始により、状態はステージ０１からステージ０２へ変化する。開始セクタ１１１ｇの書き込みが完了していないので、図１０に示すように、バックアップ開始フラグは読み取り不能の状態である。それ以外は、ステージ０１と同じである。開始セクタ１１１ｇの書き込みが完了すると、状態はステージ０２からステージ０３へ移行する。
【００９８】
ステージ０３において、バックアップ開始フラグが実行中を示し、さらに、カウント値が今回のバックアップ処理を示すｎである。その他はステージ０２と同じである。図９に示すように、ステージ０３において、データ・セクタ１１１ａ、１１１ｆのユーザ・データが、データ・セクタ１１１ｈ、１１１ｉへ書き込まれる。
【００９９】
ユーザ・データのバックアップが完了し、終了セクタ１１１ｊの書き込みが開始すると、状態はステージ０３からステージ０４へ移行する。終了セクタ１１１ｊの書き込みが完了していないので、バックアップ終了フラグとカウント値は読み取り不能の状態である。それ以外は、ステージ０３と同じである。終了セクタ１１１ｊの書き込みが完了すると、状態はステージ０４からステージ０５へ移行する。ステージ０５において、バックアップ終了フラグが実行中を示し、さらに、カウント値が今回のバックアップ処理を示すｎを示す。その他はステージ０４と同じである。
【０１００】
次に、書き込み領域における先頭データ・セクタ１１１ａでのデータ書換え（新データの書き込み）が開始し、状態はステージ０５からステージ０６に移行する。先頭データ・セクタ１１１ａの書換え完了前であるので、ステージ０６において、先頭データ・セクタ１１１ａは読み取り不能である。これ以外は、ステージ０５と同じである。先頭データ・セクタ１１１ａの書換え完了により、状態はステージ０６からステージ０７へ移行する。ステージ０７において、先頭データ・セクタ１１１ａのデータは、書換えられた新しいデータである。それ以外は、ステージ０６と同じである。ステージ０７において、書き込み領域のデータ・セクタ１１１ｂ〜１１１ｅが書換えられる。
【０１０１】
末尾データ・セクタ１１１ｆでのデータ書換えが開始し、状態はステージ０７からステージ０８に移行する。末尾データ・セクタ１１１ｆの書換え完了前であるので、ステージ０８において、末尾データ・セクタ１１１ｆは読み取り不能である。これ以外は、ステージ０７と同じである。末尾データ・セクタ１１１ｆの書換え完了により、状態はステージ０８からステージ０９へ移行する。ステージ０９において、末尾データ・セクタ１１１ｆのデータは、書換えられた新しいデータである。これ以外は、ステージ０８と同じである。
【０１０２】
次に、バックアップ領域１１５の開始セクタ１１１ｇにおいて、バックアップ開始フラグの書換えが開始し、状態はステージ０９からステージ１０に移行する。これは、実行から完了へのバックアップ開始フラグの書換えである。その他のデータは変化しない。ＨＤＣ／ＭＰＵ２３は、ＲＡＭ２４内に今回のバックアップ処理におけるバックアップ管理データを格納している。ＨＤＣ／ＭＰＵ２３は、それらを参照して開始セクタ１１１ｇの新たなデータを生成する。新たなデータにおいて、バックアップ開始フラグのみが元データから変化している。
【０１０３】
開始セクタ１１１ｇの書換えが完了していないので、バックアップ開始フラグは読み取り不能の状態である。それ以外は、ステージ０９と同じである。開始セクタ１１１ｇの書換えが完了すると、状態はステージ１０からステージ１１へ移行する。ステージ１１において、バックアップ開始フラグが完了を示し、その他はステージ１０と同じである。
【０１０４】
終了セクタ１１１ｊの書換えが開始すると、状態はステージ１１からステージ１２へ移行する。終了セクタ１１１ｊの書換えが完了していないので、バックアップ終了フラグは読み取り不能の状態である。それ以外は、ステージ１１と同じである。終了セクタ１１１ｊの書換えが完了すると、状態はステージ１２からステージ１３へ移行する。ステージ１３において、バックアップ終了フラグが完了を示し、その他はステージ１２と同じである。
【０１０５】
ＨＤＣ／ＭＰＵ２３は、異常電源切断後の起動処理において、回復処理を行う（図１１における工程Ｓ４３）。回復処理は、ＨＤＣ／ＭＰＵ２３が制御、実行し、ＨＤＣ／ＭＰＵ２３は、回復処理部として機能する。この処理において、ＨＤＣ／ＭＰＵ２３は、いずれの状態ステージにおいて電源切断が起きたかを特定する必要がある。ＨＤＣ／ＭＰＵ２３は、バックアップ領域の状態フラグ、バックアップ・ユーザ・データ、そして、バックアップの対象であるデータ・セクタのユーザ・データを使用して、電源切断時の状態ステージを特定する。
【０１０６】
このように、バックアップ・ユーザ・データ（データ・セクタ１１１ｈ、１１１ｉ）とバックアップ元のユーザ・データ（データ・セクタ１１１a、１１１ｆ）とを状態ステージの特定に使用することで、必要な管理データ量を低減することができる。前回電源切断状態フラグは異常電源切断の有無を示すもので、異常電源切断における書き込み処理の状態を示すものとは異なる。
【０１０７】
図９、図１０を参照して説明したように、バックアップ処理を含むライト処理の状態ステージは、４つのポイントにより特定することができる。バックアップ対象の先頭データ・セクタ１１１aのデータ、末尾データ・セクタ１１１ｆのデータ、バックアップ開始フラグ、そしてバックアップ終了フラグである。ＨＤＣ／ＭＰＵ２３は、これら４つのポイントにより異常電源切断時の状態ステージを特定し、そのステージに応じた回復処理を行う。
【０１０８】
具体的には、ＨＤＣ／ＭＰＵ２３は、電源フラグがＦＡＩＬを示しているとき、バックアップ領域１１５のバックアップ管理データにおいて、最終バックアップ処理のバックアップ・データを探索する。バックアップ管理データはカウント値を有している。ＨＤＣ／ＭＰＵ２３は、バックアップ領域１１５内のカウント値を参照することで、最後のバックアップ処理のバックアップ・データ（管理データとユーザ・データ）を特定する。
【０１０９】
さらに、ＨＤＣ／ＭＰＵ２３は、そのバックアップ・データのバックアップ管理データとバックアップ・ユーザ・データ、そしてバックアップ元のユーザ・データを使用して、電源遮断時における状態ステージを特定する。バックアップ管理データは、バックアップ元のアドレス（図７におけるバックアップ開始アドレスとバックアップ終了アドレス）を有している。ＨＤＣ／ＭＰＵ２３は、これらデータを参照することで、バックアップ元のユーザ・データを磁気ディスク１１から読み出すことができる。ＨＤＣ／ＭＰＵ２３が、データ・セクタ１１１ａと１１１ｆの一方を正確に読み出すことができない場合、電源切断時の状態ステージは、ステージ０６もしくはステージ０８である。
【０１１０】
書換え領域のデータ・セクタ１１１ａ、１１１ｆと、バックアップ領域のデータ・セクタ１１１ｈ、１１１ｉとを比較して、ＨＤＣ／ＭＰＵ２３は、データ・セクタ１１１ａと１１１ｆが新しいデータであるか、書換え前の古いデータであるかを判定することができる。書換え領域のデータとバックアップ領域のデータが一致していれば、書換え領域のデータは古いデータ、一致していなければ新しいデータである。バックアップ領域のデータ・セクタ１１１ｈ、１１１ｉの一方を正確に読み出すことができない場合、状態はステージ０３で、書換え領域のデータ・セクタのデータは古いデータである。
【０１１１】
ＨＤＣ／ＭＰＵ２３は、バックアップ領域のデータ・セクタ１１１ｇ、１１１ｊからバックアップ開始フラグとバックアップ終了フラグを読み出すことができる。いずれかのデータ・セクタを正確に読み出すことができない場合も、図１０に示すように、状態ステージ特定のための条件である。
【０１１２】
ＨＤＣ／ＭＰＵ２３は、書換え領域のデータ・セクタ１１１ａ、１１１ｆの双方の書換えが開始しておらず、古いデータである場合（状態ステージ０１〜状態ステージ０５）、ＨＤＣ／ＭＰＵ２３は、バックアップ管理データを、ステージ０１と同じ内容のデータにする。書換え領域及びバックアップ領域におけるユーザ・データについての処理はない。書換え領域にけるデータ更新は、ホスト５１からのライト・コマンドから再開する。
【０１１３】
書換え領域のデータ・セクタ１１１ａ、１１１ｆの一方が新しいデータあるいは読み出し不能であり、かつ、バックアップ開始フラグとバックアップ終了フラグとが実行を示す場合（状態ステージ０６〜状態ステージ０８）、ＨＤＣ／ＭＰＵ２３は、バックアップ領域のバックアップ・ユーザ・データを書換え領域データ・セクタ１１１ａ、１１１ｆに書き戻すことで、データ・セクタ１１１ａ、１１１ｆのデータを更新前の古いデータにする。さらに、ＨＤＣ／ＭＰＵ２３は、バックアップ管理データを、ステージ０１と同じ内容のデータにする。書換え領域におけるデータ更新は、ホスト５１からのライト・コマンドから再開する。
【０１１４】
書換え領域のデータ・セクタ１１１ａ、１１１ｆの双方が書き換えられて、新しいデータを格納している場合（状態ステージ０９〜状態ステージ１３）、ＨＤＣ／ＭＰＵ２３は、バックアップ管理データを、状態ステージ１３のバックアップ管理データと同じ内容のデータにする。書換え領域におけるデータの更新は終了している。
【０１１５】
上述のように、ＨＤＣ／ＭＰＵ２３は、バックアップ管理データ内にカウンタ値を格納する。カウンタがオーバーフローすると、最後のバックアップ処理を正確に特定することができない。そのため、ＨＤＣ／ＭＰＵ２３は、カウンタ・オーバーフローの前に、カウンタとバックアップ領域の初期化処理を行なうことが好ましい。典型的には、カウンタ値が規定の値に達すると、ＨＤＣ／ＭＰＵ２３は、カウンタとバックアップ領域の初期化処理を行なう。カウンタの初期化処理は、カウンタの値を初期値にセットする。バックアップ領域の初期化処理は、バックアップ領域に規定のデータを書き込む。
【０１１６】
上述のように、小サイズ・データ・セクタ制御部２３３は、境界値がデータ・セクタと不一致のユーザ・データの書き込みにおいて、ユーザ・データのバックアップの後に、データ書換え領域に新たなデータを書き込み、さらに、バックアップ管理データを更新する。図９に示すように、ヘッド・スライダ１２は、書換え領域１１３からバックアップ領域１１５に移動し、その後、書換え領域１１３に戻る。
【０１１７】
先頭データ・セクタと末尾データ・セクタの双方のバックアップを行なう処理において、小サイズ・データ・セクタ制御部２３３は、バックアップのために、常に、先頭データ・セクタを先に読み出してから末尾データ・セクタを読み出してもよい。この処理の流れは、図９に示す通りである。
【０１１８】
好ましい構成において、小サイズ・データ・セクタ制御部２３３は、処理時間（ユーザ・データのバックアップのためのデータ・セクタの読み出しからバックアップ管理データの更新まで）が短縮される場合、先頭データ・セクタの前に末尾データ・セクタを読み出す。小サイズ・データ・セクタ制御部２３３は、特定の条件が満足する場合に、末尾データ・セクタを読み出してから先頭データ・セクタを読み出し、それらをバックアップ領域に書き込む。
【０１１９】
末尾データ・セクタから先頭データ・セクタまでの回転角度（時間）が短いとき、小サイズ・データ・セクタ制御部２３３は、バックアップのために末尾データ・セクタを先に読み出すことで、処理時間を短縮することができるケースがある。図１２Ａ、図１２Ｂを参照して一例を説明する。図１２Ａ、図１２Ｂにおいて、ＥＳは末尾データ・セクタ、ＳＳは先頭データ・セクタである。図１２Ａは、書き込みデータ・トラックの先頭データ・セクタＳＳの後に末尾データ・セクタＥＳを読み出し、バックアップ領域への書き込みを行って、書き込みデータ・トラックに戻る処理の流れを示している。
【０１２０】
具体的には、ヘッド・スライダ１２は、フォロイングにおいて末尾データ・セクタＥＳを通過した後、先頭データ・セクタＳＳを読み出し、その後、フォロイングを続けて、末尾データ・セクタＥＳを読み出す。ヘッド・スライダ１２は、バックアップ領域のトラックへ移動し、バックアップ・データを書き込む。その後、ヘッド・スライダ１２は、ユーザ・データのトラックへと戻る。
【０１２１】
図１２Ａにおいて、末尾データ・セクタＥＳから先頭データ・セクタＳＳまでの間隔が短いため、ヘッド・スライダ１２の書き込みトラックへの復帰時に、ヘッド・スライダ１２は先頭データ・セクタＳＳ（の半径位置）を通過してしまっている。小サイズ・データ・セクタ制御部２３３は、新ユーザ・データの書き込みのため、ヘッド・スライダ１２が先頭データ・セクタＳＳに到達するまでの時間を待つ。
【０１２２】
図１２Ｂは、末尾データ・セクタを先に読み出す処理の流れを示している。シーク完了後に、ヘッド・スライダ１２は、先頭データ・セクタＳＳよりも前に、末尾データ・セクタＥＳに到着する。ヘッド・スライダ１２は、末尾データ・セクタＥＳ、先頭データ・セクタＳＳの順にデータ・セクタを読み出して、バックアップ領域に書き込む。その後、ヘッド・スライダ１２は、ユーザ・データ・トラックに戻る。図１２Ａの例と同様に、小サイズ・データ・セクタ制御部２３３は、新ユーザ・データの書き込みのため、ヘッド・スライダ１２が先頭データ・セクタＳＳに到達するまでの時間を待つ。
【０１２３】
図１２Ｂの処理と比較して、図１２Ａの処理は、先頭データ・セクタＳＳと末尾データ・セクタＥＳの読み出しにおいて、多くの余分な処理時間を必要としている。ユーザ・データの書換え完了からバックアップ管理データの更新完了まで時間は、図１２Ａの処理の方が短い。しかし、図１２Ｂにおけるバックアップ・ユーザ・データの読み出しの処理時間短縮は、バックアップ管理データの更新の処理時間の増加を上回っている。
【０１２４】
このように、末尾データ・セクタの読み出しから、ユーザ・データのバックアップを経ての先頭データ・セクタへの書き込み開始を同一周回で行なうことができないとき、もし、シーク完了後に末尾データ・セクタを先頭データ・セクタよりも先に読み出すことができるのであれば、末尾データ・セクタを先に読み出すことで処理時間を短縮することができる（図１２Ｂ）。
【０１２５】
一方、同一周回において、先頭データ・セクタの読み出し及びその後の末尾データ・セクタの読み出し、バックアップ領域へのバックアップ・データの書き込みを終了し、さらに、次の周回で先頭データ・セクタへの書き込みを開始することができる場合（図９を参照）、小サイズ・データ・セクタ制御部２３３は、先頭データ・セクタを末尾データ・セクタよりも先に読み出す。先頭データ・セクタの読み出しと同一周回において書き込み領域のデータ・トラックに戻ってくることができる場合、すぐに新たなユーザ・データを先頭データ・セクタから書き込むことができる。
【０１２６】
同一周回において、バックアップ・ユーザ・データの読み出し、そのバックアップ及び新たなユーザ・データの書き込み開始まで行うことができるかは、ユーザ・データ・トラックとバックアップ領域との間のシーク時間に依存する。好ましい構成において、末尾データ・セクタを先に読み出す条件として、末尾データ・セクタと先頭データ・セクタとの間の距離が、各データ・トラックに対応して登録されている。この条件距離は、データ・トラック毎に異なる、あるいは、ゾーン毎に異なる値を使用することができる。条件距離は、記録面において全トラックに共通であってもよい。
【０１２７】
また、ＨＤＣ／ＭＰＵ２３がコマンド・キューイング機能を有する場合、小サイズ・データ・セクタ制御部２３３は、複数のコマンドに対応するユーザ・データのバックアップ処理をまとめて行ってもよい。例えば、同一トラックあるいはディスクの同一周回において退避させるデータ・セクタにアクセス可能であり、かつ、バックアップ領域へのシークとバックアップ領域から書換え領域へのシークが同一の周回で可能である場合、小サイズ・データ・セクタ制御部２３３は、複数のコマンドをまとめて処理する。
【０１２８】
小サイズ・データ・セクタ制御部２３３は、各コマンドに対応するバックアップ・ユーザ・データを連続するデータ・セクタに書き込む、あるいは、それらを分けて書き込んでもよい。バックアップ・ユーザ・データを分ける場合、それぞれのデータに対して、バックアップ管理データが記録される。連続するデータ・セクタに記録する場合、それらの前後のデータ・セクタのみがバックアップ管理データを格納する。小サイズ・データ・セクタ制御部２３３は、複数コマンドを対象としていることを示すデータをバックアップ管理データ内に格納し、まとめられたコマンドに対応するデータが正常に回復されるようにする。
【０１２９】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。本発明は、ＨＤＤ以外のディスク・ドライブに適用してもよい。ヘッド・スライダの移動機構は上記のロータリ・アクチュエータに限定されず、直線状にヘッド・スライダを移動する移動機構のように他の移動機構を使用することができる。本発明は、浮上ヘッド・スライダと異なるヘッドを有するディスク・ドライブに適用できる。例えば、ヘッド・スライダがディスクと常に接触していてもよい。
【０１３０】
上述のように、バックアップ・データは、ユーザ・データに加え、管理データを含み、１トラックまたは複数トラックで設けられたバックアップ領域の任意のデータ・セクタに回転待ちを最小限にするような形態でバックアップされることが好ましい。しかし、バックアップ・データ管理データを含まない処理に対しても本発明を適用することができる。例えば、バックアップ元のアドレスはライト・コマンドを磁気ディスクに保存しておくことで特定することができる。
【０１３１】
ユーザ・データの先頭と末尾の一方のみが大サイズ・データ・セクタの境界と一致しない場合、その一方を含むデータ・セクタのみをバックアップすることが好ましいが、境界と一致する他方を含むデータ・セクタもバックアップしてもよい。ＨＤＤは、書き込み開始フラグと書き込み終了フラグとを使用して遮断時の状態を判定することが好ましいが、他のデータを使用して状態を特定してもよい。
【符号の説明】
【０１３２】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド・スライダ、１３  アーム・エレクトロニクス
１４  スピンドル・モータ、１５  ボイス・コイル・モータ
１６  アクチュエータ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、２３  ハードディスク・コントローラ／ＭＰＵ
２４  ＲＡＭ、２３１  データ・サイズ検出部
２３２  大サイズ・データ・セクタ制御部、２３３  小サイズ・データ・セクタ制御部
２４１  バッファ
【図１】
2011129221.tif 000003
【図２】
2011129221.tif 000004
【図３】
2011129221.tif 000005
【図４】
2011129221.tif 000006
【図５】
2011129221.tif 000007
【図６Ａ】
2011129221.tif 000008
【図６Ｂ】
2011129221.tif 000009
【図７】
2011129221.tif 000010
【図８】
2011129221.tif 000011
【図９】
2011129221.tif 000012
【図１０】
2011129221.tif 000013
【図１１】
2011129221.tif 000014
【図１２Ａ】
2011129221.tif 000015
【図１２Ｂ】
2011129221.tif 000016
【図１３】
2011129221.tif 000017