(57)【要約】【課題】ヘッドでライトデータを書き込むデータ記憶装置において、オフトラック発生時に、隣接トラックのデータを保証する。【解決手段】制御回路（１１）が、シーケンシャルライト時に、リングバッファ（１４−１）を大きく取得し、リングバッファ（１４−１）のキャッシュデータのライトエラー時に、リングバッファ（１４−１）の戻しセクタ領域のデータにより、隣接トラックまでさかのぼってリトライする。オフトラックエラーの検出ミスでのライト化けを防ぐことができる。【選択図】図２
2009238304.tif 000002
【特許請求の範囲】
【請求項１】
回転する記憶媒体に、データのリード及びライトを行うヘッドと、
前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、
少なくとも、上位からのライトデータを格納するバッファメモリと、
上位からのライトコマンド及びライトデータを受領し、ライトデータを前記バッファの所定のリングバッファに書込み、前記上位にライト完了を報告し、前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトする制御回路とを有し、
前記制御回路は、前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定し、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張し、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護する
ことを特徴とするデータ記憶装置。
【請求項２】
前記制御回路は、前記装置のライト処理が行われる可能性が高い時間内であることを判定し、前記可能性が高い時間内に、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する
ことを特徴とする請求項１のデータ記憶装置。
【請求項３】
装置の振動を検出するショックセンサーを更に設け、
前記制御回路は、前記ショックセンサーの振動検出履歴から、過去に振動を検出したかを判定し、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する
ことを特徴とする請求項１のデータ記憶装置。
【請求項４】
回転する記憶媒体の所望のトラックに、データのリード及びライトを行うヘッドを位置付け、前記データのリード及びライトを行うデータ記憶装置のライト処理方法において、
上位からのライトコマンド及びライトデータを受領するステップと、
前記ライトデータをバッファメモリの所定のリングバッファに書込み、前記上位にライト完了を報告するステップと、
前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトするステップとを有し、
前記受領ステップは、
前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定するステップと、
前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップとを有し、
更に、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護するステップを有する
ことを特徴とするデータ記憶装置のライト処理方法。
【請求項５】
前記受領ステップは、
過去の所定時間以内に、オフトラックエラーの回数が閾値を超えていたかを判定するステップと、
前記回数が閾値を超えていた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップを有する
ことを特徴とする請求項４のデータ記憶装置のライト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位からのライトデータをキャッシュメモリに格納後、媒体に記録するデータ記憶装置及びデータ記憶装置のライト処理方法に関し、特に、媒体へのライトデータ記録時に、オフトラックが発生した場合でも、隣接トラックのライトデータを保護するデータ記憶装置及びデータ記憶装置のライト処理方法に関する。
【背景技術】
【０００２】
近年のデータ電子化処理の要求により、データを記憶する磁気ディスク装置や光ディスク装置の媒体記憶装置に、大容量化が要求されている。このため、ディスク媒体は、益々トラック密度や記録密度が高くなっている。
【０００３】
このようなデータ記憶装置は、ディスク媒体の他に、キャッシュメモリを備えており、上位からのライトコマンドに対し、上位からのライトデータをキャッシュメモリに格納した段階で、上位へライト完了を報告している。そして、その後、キャッシュメモリのライトデータを、ディスク媒体に書き込む。
【０００４】
このように、時間のかかるディスク媒体への記録前に、上位へライト完了を報告することにより、ライトコマンドの処理時間を短縮でき、システム全体の処理速度が向上できる。
【０００５】
一方、上位からの複数のライトコマンドのライトデータを、キャッシュメモリに格納する際に、キャッシュメモリにリングバッファ領域を確保し、ライトデータを順次、格納し、順次、媒体へライトすることが有効である。
【０００６】
図１１は、従来のリングバッファの動作説明図である。図１１において、リングバッファ１００は、ｎセクタ分のサイズを取得している。ライトコマンドを受領すると、ホストアドレスポインター（以降ＨＡＰという）の位置から、データを書き込み、新しいライトデータは、過去に受領した古いライトデータを上書きする。
【０００７】
媒体へのライトは、ディスクアドレスポインタ（以降ＤＡＰ）の位置から実施される。図１１では、ライトキャッシュしているデータ（媒体へのライトが完了していないデータ）は、「３」〜「ｎ」までであり、「１」〜「２」は、媒体ライト済みデータで、エラーが発生したときに、エラー発生セクタから戻して、ライトする分（戻しセクタ分という）として、常に上書きされないようにバッファ制御する。
【０００８】
例えば、ホストから次のライトコマンドを受領した場合に、ライトデータが、ｎ＋１，ｎ＋２，ｎ＋３，ｎ＋４の４セクタであった場合には、リングバッファ１００の「１」〜「４」の領域が、ｎ＋１，ｎ＋２，ｎ＋３，ｎ＋４の新しいライトデータに上書きされる。この時、媒体へのライトは、進行しており、リングバッファ１００の領域「３」〜「６」のライトデータの媒体への書き込みが完了しているため、領域「５」、「６」は、上書きされない戻しセクタとして、保存されている。
【０００９】
従来は、図１２に示すように、リングバッファ１００のライトキャッシュデータは、媒体への未ライトデータであり、戻しセクタが、リトライ時にライト開始ＬＢＡを戻すときに使うライト済みデータであり、戻しセクタは、数セクタ（２〜４セクタ）分設定していた。
【００１０】
即ち、このディスクへのライト時に、何らかの理由で、ヘッドが、オフトラックしたライトエラーが発生することがある。この場合、ライトエラー検出時に、エラー発生セクタを含むサーボフレーム内のセクタも壊れている可能性があるため、図１２に示すように、リングバッファ１００の書き戻し領域を、複数セクタ分確保していた。
【００１１】
そして、図１３及び図１４に示すように、ＴｒａｃｋＢでライトエラーを検出した場合、ライトエラー発生ＬＢＡ（図の×印）からＴｒａｃｋＢの範囲内で、所定の戻しセクタ分ＬＢＡを戻した位置（図の三角）に、ヘッドをシークし、エラー発生セクタＥから複数セクタ分戻ったＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）からライトリトライを実施していた（例えば、特許文献１，２参照）。
【００１２】
このように、従来は、シーケンシャルライトが連続して発行された場合、ある一定セクタ数分のリングバッファ１００を確保し、古いデータを上書きしながら、媒体ライトを行っていた。また、前述のライトエラー発生時には、エラー検出のタイミングから複数サーボフレーム分戻ったＬＢＡから、再ライト処理を行っていた。
【００１３】
更に、オフトラックライトは、一般に外部からの振動で発生するため、記憶装置にショックセンサーを設け、ショックセンサーで振動を感知したときに、ライトゲートを発生させないなどで、隣接トラックへの影響を防止していた。
【特許文献１】特許第３，９４２，４８３号公報
【特許文献２】特開２００６−２５２７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
近年の装置の小型化の要求により、かかるディスク記憶装置も、小型のサーバやモバイル機器（例えば、ノート型パーソナルコンピュータや携帯型ＡＶ（Audio/Visual）機器）へ搭載されている。又、記録密度の向上に伴い、トラックピッチも狭くなっている。このため、ヘッドが、オフトラックする程度が増加しつつある。
【００１５】
ショック検出時にライトゲート発生を停止するタイミングが遅れると、隣接トラックにライトを実行してしまう。例えば、ライト中に、ディスクの回転による風圧の変化でヘッドを支持するアクチュエータ（サスペンション）が、少しでも振動する内部振動や、ショックセンサーの検出感度により、振動検出が遅れると、ライトゲート発生を停止するタイミングが遅れることがある。
【００１６】
従来技術では、戻しセクタは、バッファ容量の制限から、複数セクタ書き戻す分しか、バッファにデータを残していないため、１トラック以上書き戻すことが出来ず、隣接トラックにライトエラーを作成してしまうことがあった。
【００１７】
従って、本発明の目的は、オフトラックにより、隣接トラックへライトを行った可能性があっても、隣接トラックのデータを再書き込みするためのデータ記憶装置及びデータ記憶装置のライト処理方法を提供することにある。
【００１８】
又、本発明の他の目的は、特別なハードウェアを付加しなくても、オフトラックにより、隣接トラックへライトを行った可能性があっても、隣接トラックのデータを再書き込みするためのデータ記憶装置及びデータ記憶装置のライト処理方法を提供することにある。
【課題を解決するための手段】
【００１９】
この目的の達成のため、本発明のデータ記憶装置は、回転する記憶媒体に、データのリード及びライトを行うヘッドと、前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、少なくとも、上位からのライトデータを格納するバッファメモリと、上位からのライトコマンド及びライトデータを受領し、ライトデータを前記バッファの所定のリングバッファに書込み、前記上位にライト完了を報告し、前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトする制御回路とを有し、前記制御回路は、前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定し、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張し、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護する。
【００２０】
又、本発明のデータ記憶装置のライト処理方法は、上位からのライトコマンド及びライトデータを受領するステップと、前記ライトデータをバッファメモリの所定のリングバッファに書込み、前記上位にライト完了を報告するステップと、前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトするステップとを有し、前記受領ステップは、前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定するステップと、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップとを有し、更に、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護するステップとを有する。
【００２１】
更に、本発明は、好ましくは、前記制御回路は、前記装置のライト処理が行われる可能性が高い時間内であることを判定し、前記可能性が高い時間内に、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２２】
更に、本発明は、好ましくは、前記制御回路は、前記装置の出荷時間から所定時間内に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２３】
更に、本発明は、好ましくは、前記制御回路は、前記装置の電源投入から所定時間内に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２４】
更に、本発明は、好ましくは、装置の振動を検出するショックセンサーを更に設け、前記制御回路は、前記ショックセンサーの振動検出履歴から、過去に振動を検出したかを判定し、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２５】
更に、本発明は、好ましくは、前記制御回路は、前記シーケンシャルな関係にあると判定した場合に、前記判定時点から過去の所定時間以内に、前記振動を検出していたかを判定し、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２６】
更に、本発明は、好ましくは、前記制御回路は、前記過去の所定時間以内に、前記振動を検出していたと判定した場合に、前記過去のオフトラックライトの最大のヘッドずれ位置を取得し、前記リングバッファの書き戻し領域を、前記最大のずれ位置分のトラック数分拡張し、且つリトライライトを、前記トラック数分戻した位置から行う。
【００２７】
更に、本発明は、好ましくは、前記制御回路は、過去の所定時間以内に、オフトラックエラーの回数が閾値を超えていたかを判定し、前記回数が閾値を超えていた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【００２８】
更に、本発明は、好ましくは、前記制御回路は、過去の一定時間内に発行されたコマンド履歴に、所定のセクタ数を越えたシーケンシャルライトがあったかを判定し、前記シーケンシャルライトがあった時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張する。
【発明の効果】
【００２９】
シーケンシャルライト時に、リングバッファを大きく取得し、ライトエラー時に、隣接トラックまでさかのぼってリトライするため、オフトラックエラーの検出ミスでのライト化けを防ぐことができる。また、ライト処理が行われやすいパワーオン後の一定時間内や、ライト時の振動印加状態時などのライトデータの保護を強化したい場合に、リングバッファを大きく取得することにより、有効にバッファを使用できる。更に、装置のゾーン、セクター／トラック情報から最適な戻しセクタ数を求めることにより、バッファ領域を無駄なく使用することが可能になる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を、データ記憶装置、ライト処理の第１の実施の形態、ライト処理の第２の実施の形態、ライト処理の第３の実施の形態、ライト処理の第４の実施の形態、他の実施の形態の順で説明する。
【００３１】
［データ記憶装置］
図１は、本発明の一実施の形態のデータ記憶装置の構成図、図２は、図１のリングバッファ及びライトリトライ処理の説明図である。図１は、データ記憶装置として、磁気ディスクにデータをリード／ライトする磁気ディスク装置（ＨＤＤ）を例に示す。
【００３２】
図１に示すように、磁気ディスク装置１０は、パーソナルコンピュータに内蔵され、パーソナルコンピュータのホスト（図示せず）とＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）規格等のインターフェースのケーブル９で接続される。
【００３３】
磁気ディスク装置１０は、磁気ディスク１９と、磁気ディスク１９を回転するスピンドルモータ２０と、磁気ディスク１９にデータをリード／ライトする磁気ヘッド２５と、磁気ヘッド２５を磁気ディスク１９の半径方向（トラック横断方向）に移動するアクチュエータ（ＶＣＭ）２２とを備える。
【００３４】
又、制御部として、ＨＤＣ（Hard  Disk  Controller）２６と、データバッファ１４と、ＭＰＵ１１と、メモリ（ＲＡＭ）１３と、リードチャネル回路（ＲＤＣ）２４と、ヘッドＩＣ１８と、スピンドルモータドライバ２１と、ＶＣＭドライバ２３と、ショックセンサー（振動センサ）２８と、これらを接続するバス１７とを備える。
【００３５】
ＨＤＣ２６は、ホストからタスクをセットするタスクファイル１２Ａを有するインターフェース制御回路１２と、データバッファ１４を制御するデータバッファ制御回路１５と、記録データのフォーマット変換し、リードデータの逆フォーマット変換を行うフォーマット変換回路１６とを有する。リードチャネル回路２４は、リードデータの復調を行うとともに、リードゲート、ライトゲート、リードクロック、ライトクロックの生成を行う。
【００３６】
データバッファ１４は、キャッシュメモリの役目を果たし、ホストからのライトデータをリングバッファ１４−１に保存し、磁気ディスク１９からのリードデータを保存する。そして、ライトバック時には、データバッファ１４のライトデータを、磁気ディスクにライトし、リード時には、データバッファ１４のリードデータを、ホストへ転送する。
【００３７】
ヘッドＩＣ１８は、ライト時は、ライトデータに従い、磁気ヘッド２５に記録電流を流し、リード時は、磁気ヘッド２５からの読取信号を増幅して、リードチャネル回路１６に出力する。スピンドルドライバ２１は、スピンドルモータ２０を回転駆動する。ＶＣＭドライバ２３は、磁気ヘッド２５を移動するＶＣＭ２２を駆動する。
【００３８】
ＭＰＵ（Micro  Processor）１１は、磁気ヘッド２５の位置検出及び位置制御、リード／ライト制御、リトライ制御を行う。メモリ（ＲＯＭ／ＲＡＭ）１３は、ＭＰＵ１１の処理に必要なデータを格納する。ショックセンサー２８は、振動を検出し、検出信号を、バス１７を介し、ＭＰＵ１１に出力する。
【００３９】
ＭＰＵ１１は、ヘッドＩＣ１８からの磁気ディスク１９のサーボ信号から位置を検出し、ＶＣＭ２２をシーク、オントラック制御するとともに、検出位置からオフトラック検出する。ライト時に、オフトラック検出すると、ライトエラーと判定し、そのセクターのライトゲート発生を停止する。
【００４０】
図２は、本発明の実施の形態の隣接トラックのデータ保証を行うリトライ制御の説明図である。ホストからライト要求を受けた時に、タスクファイルからコマンドのＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）とＳＣ（セクターカウント数）を取り出し、前コマンドとシーケンシャルな関係にあるかを判断する。装置のゾーン、Ｓｅｃｔｏｒ／Ｔｒａｃｋ情報から、受領したライトコマンドで、１トラックの書き戻しを実施するのに必要なセクタ数を取得する。
【００４１】
図２（Ａ）に示すように、シーケンシャルな関係で、且つ前コマンドの最終バッファから連続してバッファが書き戻しセクタ以上空いていたならば、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、１トラック分以上の書き戻し用に保持するセクタ数の領域１４−３とを設定する。尚、書き戻しセクタ数を、複数トラック分確保しても良い。
【００４２】
図２（Ｂ）に示すように、前述のリングバッファ１４−１のシーケンシャルライトデータを媒体ライト時、ライトエラーを検出したならば、エラー発生セクタの物理位置（Ｔｒａｃｋ＝Ｂ／Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から、１トラック分戻した位置（Ｔｒａｃｋ＝Ａ／Ｐｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）にシークを実行し、再ライトを実行する。
【００４３】
このようにして、トラックＢの物理セクタ位置Ｘで、オフトラックを検出した場合に、リングバッファ１４−１には、１トラック分戻った位置（トラックＡの物理セクタ位置Ｘ）のデータが上書きされていないため、トラックＡの物理セクタ位置Ｘから再ライトすることができる。
【００４４】
このため、トラックＢの物理セクタ位置Ｘで、オフトラックを検出して、トラックＡの物理セクタ位置Ｘのデータに影響を与えたとしても、トラックＡの物理セクタ位置Ｘのデータを再ライトして、復旧することができる。
【００４５】
（ライト処理の第１の実施の形態）
図３は、本発明のライト処理の第１の実施の形態の処理フロー図、図４及び図５は、図３のリングバッファ設定処理の説明図、図６は、コマンドブロックの説明図、図７は、リトライライト処理の説明図である。
【００４６】
（Ｓ１０）ＭＰＵ１１は、ホストからライト要求を受けた時に、タスクファイル１２ＡからコマンドのＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）とＳＣ（セクターカウント数）を取り出す。図６に示すように、コマンドブロックＣＭＢには、ライトコマンドで要求する開始ＬＢＡと、開始ＬＢＡからのセクタ数（ＳＣ）が含まれている。ＭＰＵ１１は、今回受領したライトコマンドと前回受領したライトコマンドとが、シーケンシャルな関係にあるかを判断する。例えば、前回受領したライトコマンドも、ＬＢＡとＳＣを含んでいるため、前回受領したライトデータの最終セクタ番号（ＬＢＡ）を計算する。今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであるかを判断して、シーケンシャルかを判定する。今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであると判断すると、シーケンシャルであると判定し、そうでないと、シーケンシャルでないと判定する。
【００４７】
（Ｓ１２）ＭＰＵ１１は、シーケンシャルであると判定すると、開始ＬＢＡとＳＣを、装置のゾーン、Ｓｅｃｔｏｒ／Ｔｒａｃｋ情報に変換し、受領したライトコマンドで、１トラックの書き戻しを実施するのに必要なセクタ数を取得する。例えば、今回受領したライトコマンドのゾーン／トラックの１トラック分のセクタ数を計算する。
【００４８】
（Ｓ１４）次に、ＭＰＵ１１は、シーケンシャルな関係である場合には、前コマンドの最終バッファ位置（ＨＡＰ）から、バッファ１４が、連続して書き戻しセクタ数以上空いているかを判定する。バッファ１４が、連続して書き戻しセクタ数以上空いていない場合には、ステップＳ１８に進む。
【００４９】
（Ｓ１６）バッファ１４が、連続して書き戻しセクタ数以上空いている場合には、図５に示すように、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、１トラック分以上の書き戻し用に保持するセクタ数の領域１４−３とを設定する。尚、書き戻しセクタ数を、複数トラック分確保しても良い。
【００５０】
（Ｓ１８）シーケンシャルでない場合や、連続して書き戻しセクタ数以上空いていない場合には、図４に示すように、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、数セクタ数の書き戻し領域１４−３とを設定する。
【００５１】
（Ｓ２０）そして、上位からのライトデータをライトキャッシュ領域１４−２に転送し、格納する。格納完了後、上位にライト完了を報告する。
【００５２】
（Ｓ２２）ＭＰＵ１１は、データバッファ制御回路１５に、図４及び図５のＤＡＰから、前述のリングバッファ１４−１のライトデータのディスク１９へのライトを指示する。これにより、磁気ヘッド２５により、磁気ディスク１９に、ＤＡＰから、前述のリングバッファ１４−１のライトデータが、セクタ単位でライトされる。
【００５３】
（Ｓ２４）ＭＰＵ１１は、セクタ単位に、ヘッド２５の位置情報から、ライトエラー（オフトラック）が生じたかを検出する。全てのライトデータで、エラーを検出しない場合には、ライトを終了する。
【００５４】
（Ｓ２６）ＭＰＵ１１は、ライトエラー（オフトラック）を検出した場合には、エラー発生セクタの物理位置（Ｔｒａｃｋ＝Ｂ／Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から、１トラック分戻した位置（Ｔｒａｃｋ＝Ａ／Ｐｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から再ライト可能かを、前述のリングバッファ１４−１の設定から判定する。
【００５５】
（Ｓ２８）ＭＰＵ１１は、１トラック分戻した位置から再ライト可能と判定すると、エラー発生セクタの物理位置（Ｔｒａｃｋ＝Ｂ／Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から、１トラック分戻した位置（Ｔｒａｃｋ＝Ａ／Ｐｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）に、シークを実行する。そして、ＭＰＵ１１は、エラー発生セクタの物理位置（Ｔｒａｃｋ＝Ｂ／Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から、１トラック分戻した位置（Ｔｒａｃｋ＝Ａ／Ｐｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）にリングバッファ１４−１のＤＡＰを設定する。
【００５６】
（Ｓ３０）一方、ＭＰＵ１１は、１トラック分戻した位置から再ライト可能でないと判定すると、エラー発生セクタの物理位置（Ｔｒａｃｋ＝Ｂ／Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）から、数セクタ分の戻しセクタ位置（Ｔｒａｃｋ＝Ａ／Ｐｙｓｉｃａｌ  Ｓｅｃｔｏｒ＝Ｘ）に、リングバッファ１４−１のＤＡＰを設定する。
【００５７】
（Ｓ３２）ＭＰＵ１１は、データバッファ制御回路１５に、ＤＡＰから、前述のリングバッファ１４−１のライトデータのディスク１９へのライトを指示する。これにより、磁気ヘッド２５により、磁気ディスク１９に、１トラック戻したＤＡＰ又は戻しセクタ数位置から、前述のリングバッファ１４−１のライトデータが、セクタ単位で再ライトされる。
【００５８】
図７に示すように、トラックＢの物理セクタ位置Ｘで、オフトラックを検出した場合に、リングバッファ１４−１には、１トラック分戻った位置（トラックＡの物理セクタ位置Ｘ）のデータが上書きされていないため、トラックＡの物理セクタ位置Ｘから再ライトすることができる。
【００５９】
（ライト処理の第２の実施の形態）
図８は、本発明のライト処理の第２の実施の形態の処理フロー図である。前述の第１の実施の形態では、シーケンシャルな関係が存在する場合に、書き戻しセクタ数の拡張を行っていた。しかしながら、バッファ１４の有効活用を考慮すると、データ保護の必要な場合にのみ、書き戻しセクタ数の拡張を実行することが、有効な場合がある。この実施の形態では、ＯＳのインストール等の重要なデータや、ライト処理が行われ易い時間に、書き戻しセクタ数の拡張を実行する例である。
【００６０】
（Ｓ４０）図３のステップＳ１０と同様に、ＭＰＵ１１は、ホストからライト要求を受けた時に、今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであるかを判断して、シーケンシャルかを判定する。今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであると判断すると、シーケンシャルであると判定し、そうでないと、シーケンシャルでないと判定する。
【００６１】
（Ｓ４２）ＭＰＵ１１は、シーケンシャルであると判定すると、装置出荷からの稼動時間が、規定時間（図５ではα分）以内であるか、又は、パワーオンからの経過時間が規定時間（図５ではβ分）以内であるかを判定する。ＭＰＵ１１は、装置出荷からの稼動時間が、規定時間（図８ではα分）以内でない、又は、パワーオンからの経過時間が規定時間（図８ではβ分）以内でないと判定すると、ステップＳ５０に進む。
【００６２】
（Ｓ４４）ＭＰＵ１１は、装置出荷からの稼動時間が、規定時間（図５ではα分）以内である、又は、パワーオンからの経過時間が規定時間（図５ではβ分）以内であると、判定すると、図３のステップＳ１２と同様に、受領したライトコマンドで、１トラックの書き戻しを実施するのに必要なセクタ数を取得する。例えば、今回受領したライトコマンドのゾーン／トラックの１トラック分のセクタ数を計算する。
【００６３】
（Ｓ４６）図３のステップＳ１４と同様に、ＭＰＵ１１は、前コマンドの最終バッファ位置（ＨＡＰ）から、バッファ１４が、連続して書き戻しセクタ数以上空いているかを判定する。バッファ１４が、連続して書き戻しセクタ数以上空いていない場合には、ステップＳ５０に進む。
【００６４】
（Ｓ４８）バッファ１４が、連続して書き戻しセクタ数以上空いている場合には、図３のステップＳ１６と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、１トラック分以上の書き戻し用に保持するセクタ数の領域１４−３とを設定する。尚、書き戻しセクタ数を、複数トラック分確保しても良い。
【００６５】
（Ｓ５０）シーケンシャルでない場合や、装置出荷からの稼動時間が、規定時間（図８ではα分）以内でない、又は、パワーオンからの経過時間が規定時間（図８ではβ分）以内でない場合、連続して書き戻しセクタ数以上空いていない場合には、図３のステップ１８と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、数セクタ数の書き戻し領域１４−３とを設定する。
【００６６】
（Ｓ５２）そして、図３のステップＳ２０と同様に、上位からのライトデータをライトキャッシュ領域１４−２に転送し、格納する。格納完了後、上位にライト完了を報告する。
【００６７】
以降は、図３のステップＳ２２〜Ｓ３２と同一の処理を行う。
【００６８】
このように、ライト処理が行われる可能性が高い時間（例えば、ＯＳやアプリケーションのインストールが行われる可能性がある時間）のみに、戻しセクタ数の拡張を行い、バッファ１４を有効に活用する。
【００６９】
（ライト処理の第３の実施の形態）
図９は、本発明のライト処理の第３の実施の形態の処理フロー図である。この実施の形態では、図８の実施の形態と同様に、シーケンシャルな関係が存在する場合で、且つデータ保護の必要な場合にのみ、書き戻しセクタ数の拡張を実行する例である。この実施の形態では、過去の履歴から、装置が、振動環境にある場合に、書き戻しセクタ数の拡張を実行する例である。
【００７０】
（Ｓ６０）図３のステップＳ１０と同様に、ＭＰＵ１１は、ホストからライト要求を受けた時に、今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであるかを判断して、シーケンシャルかを判定する。今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであると判断すると、シーケンシャルであると判定し、そうでないと、シーケンシャルでないと判定し、ステップＳ７２に進む。
【００７１】
（Ｓ６２）ＭＰＵ１１は、シーケンシャルであると判定すると、過去の装置の履歴情報（例えば、ＳＭＡＲＴ：Self  Monitoring  and  Analysis  Report Technology）のショック検出履歴から、以前にショックで、ライトエラーを検出しているかを判定する。以前のショックで、ライトエラーを検出していないと、ステップＳ７４に進む。
【００７２】
（Ｓ６４）ＭＰＵ１１は、以前にショックで、ライトエラーを検出していると判定すると、現時点から一定時間（例えば、１分間）さかのぼった範囲内で、ショックで、ライトエラーを検出しているかを判定する。即ち、最近（直近）のエラー発生があったかを判定する。現時点から一定時間（例えば、１分間）さかのぼった範囲内で、ショックで、ライトエラーを検出していないと、ステップＳ７４に進む。
【００７３】
（Ｓ６６）ＭＰＵ１１は、現時点から一定時間（例えば、１分間）さかのぼった範囲内で、ショックで、ライトエラーを検出していると判定すると、過去の履歴である最大オフトラック量から、書き戻しに必要なトラック数を計算する。即ち、媒体ライト中にオフトラックライトを検出したときに、ヘッド位置を算出し、最大オフトラック量（Ｙ）を記憶しておく機能を持つ場合には、オフトラック発生時、再度、その最大オフトラック量のオフトラックが発生する可能性が大きい。
【００７４】
（Ｓ６８）ＭＰＵ１１は、図３のステップＳ１２と同様に、受領したライトコマンドで、Ｙトラック以上の書き戻しを実施するのに必要なセクタ数を取得する。例えば、今回受領したライトコマンドのゾーン／トラックのＹトラック分のセクタ数を計算する。
【００７５】
（Ｓ７０）図３のステップＳ１４と同様に、ＭＰＵ１１は、前コマンドの最終バッファ位置（ＨＡＰ）から、バッファ１４が、連続して書き戻しセクタ数以上空いているかを判定する。バッファ１４が、連続して書き戻しセクタ数以上空いていない場合には、ステップＳ７４に進む。
【００７６】
（Ｓ７２）バッファ１４が、連続して書き戻しセクタ数以上空いている場合には、図３のステップＳ１６と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、Ｙトラック分以上の書き戻し用に保持するセクタ数の領域１４−３とを設定する。
【００７７】
（Ｓ７４）シーケンシャルでない場合や、連続して書き戻しセクタ数以上空いていない場合には、図３のステップ１８と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、数セクタ数の書き戻し領域１４−３とを設定する。
【００７８】
（Ｓ７６）そして、図３のステップＳ２０と同様に、上位からのライトデータをライトキャッシュ領域１４−２に転送し、格納する。格納完了後、上位にライト完了を報告する。
【００７９】
以降は、図３のステップＳ２２〜Ｓ３２と同一の処理を行う。
【００８０】
このように、更に、振動環境にある場合にのみに、戻しセクタ数の拡張を行い、バッファ１４を有効に活用する。又、振動があっても、直近に振動がなかった場合には、戻しセクタ数の拡張を行わない。更に、振動があっても、直近に振動があった場合には、その最大オフトラック数まで、戻しセクタ数の拡張を行い、更に、データ保護機能を強化する。
【００８１】
（ライト処理の第４の実施の形態）
図１０は、本発明のライト処理の第４の実施の形態の処理フロー図である。この実施の形態では、図８の実施の形態と同様に、シーケンシャルな関係が存在する場合で、且つデータ保護の必要な場合にのみ、書き戻しセクタ数の拡張を実行する例である。この実施の形態では、過去の履歴から、装置が、リトライ環境にある場合に、書き戻しセクタ数の拡張を実行する例である。
【００８２】
（Ｓ８０）図３のステップＳ１０と同様に、ＭＰＵ１１は、ホストからライト要求を受けた時に、今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであるかを判断して、シーケンシャルかを判定する。今回受領したライトコマンドの開始ＬＢＡが、この最終ＬＢＡの次のＬＢＡであると判断すると、シーケンシャルであると判定し、そうでないと、シーケンシャルでないと判定する。
【００８３】
（Ｓ８２）ＭＰＵ１１は、シーケンシャルであると判定すると、現時点から一定時間さかのぼった範囲内（例えば、５分）で、過去のライトリトライの回数が一定数（図１０では、Ｎ回であり、例えば、５回）を超えているかを判定する。超えていると、ステップＳ８６に進む。
【００８４】
（Ｓ８４）ＭＰＵ１１は、現時点から一定時間さかのぼった範囲内（例えば、５分）で、過去のライトリトライの回数が一定数を越えていないと判定すると、ＭＰＵ１１は、コマンド履歴から、過去に一定セクタ数以上のシーケンシャルライトを受領していたかを判定する。過去に一定セクタ数以上のシーケンシャルライトを受領していない場合には、ステップＳ９２に進む。
【００８５】
（Ｓ８６）ＭＰＵ１１は、過去に一定セクタ数以上のシーケンシャルライトを受領していた場合、過去のリトライ回数が、一定回数を超えていた場合には、図３のステップＳ１２と同様に、受領したライトコマンドで、１トラックの書き戻しを実施するのに必要なセクタ数を取得する。例えば、今回受領したライトコマンドのゾーン／トラックの１トラック分のセクタ数を計算する。
【００８６】
（Ｓ８８）図３のステップＳ１４と同様に、ＭＰＵ１１は、前コマンドの最終バッファ位置（ＨＡＰ）から、バッファ１４が、連続して書き戻しセクタ数以上空いているかを判定する。バッファ１４が、連続して書き戻しセクタ数以上空いていない場合には、ステップＳ９２に進む。
【００８７】
（Ｓ９０）バッファ１４が、連続して書き戻しセクタ数以上空いている場合には、図３のステップＳ１６と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、１トラック分以上の書き戻し用に保持するセクタ数の領域１４−３とを設定する。尚、書き戻しセクタ数を、複数トラック分確保しても良い。
【００８８】
（Ｓ９２）シーケンシャルでない場合や、過去にシーケンシャルライトがなかった場合、連続して書き戻しセクタ数以上空いていない場合には、図３のステップ１８と同様に、リングバッファ１４−１の領域設定を、ライトキャッシュで使う領域（未だ媒体に書き込まれていないライトデータのセクタ数と今回必要なセクタ数の和）１４−２と、数セクタ数の書き戻し領域１４−３とを設定する。
【００８９】
（Ｓ９４）そして、図３のステップＳ２０と同様に、上位からのライトデータをライトキャッシュ領域１４−２に転送し、格納する。格納完了後、上位にライト完了を報告する。
【００９０】
以降は、図３のステップＳ２２〜Ｓ３２と同一の処理を行う。
【００９１】
このように、シーケンシャルな関係で、リトライ環境にある場合は、戻しセクタ数の拡張を行い、バッファ１４を有効に活用する。
【００９２】
（他の実施の形態）
前述の図９の実施の形態では、過去にショック検出した場合で、それが、一定時間に発生した場合に、書き戻しセクタ数を拡張する例で説明したが、過去にショック検出した場合に、書き戻しセクタ数を拡張することもできる。又、データ記憶装置を磁気ディスク装置で説明したが、光ディスク、光磁気ディスク、セクタ単位に記録する他の記憶媒体を使用した記憶装置にも適用できる。更に、インターフェースは、ＡＴＡに限らず、他のインターフェースにも適用できる。
【００９３】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００９４】
（付記１）回転する記憶媒体に、データのリード及びライトを行うヘッドと、前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、少なくとも、上位からのライトデータを格納するバッファメモリと、上位からのライトコマンド及びライトデータを受領し、ライトデータを前記バッファの所定のリングバッファに書込み、前記上位にライト完了を報告し、前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトする制御回路とを有し、前記制御回路は、前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定し、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張し、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護することを特徴とするデータ記憶装置。
【００９５】
（付記２）前記制御回路は、前記装置のライト処理が行われる可能性が高い時間内であることを判定し、前記可能性が高い時間内に、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記１のデータ記憶装置。
【００９６】
（付記３）前記制御回路は、前記装置の出荷時間から所定時間内に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記２のデータ記憶装置。
【００９７】
（付記４）前記制御回路は、前記装置の電源投入から所定時間内に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記２のデータ記憶装置。
【００９８】
（付記５）装置の振動を検出するショックセンサーを更に設け、前記制御回路は、前記ショックセンサーの振動検出履歴から、過去に振動を検出したかを判定し、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記１のデータ記憶装置。
【００９９】
（付記６）前記制御回路は、前記シーケンシャルな関係にあると判定した場合に、前記判定時点から過去の所定時間以内に、前記振動を検出していたかを判定し、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記５のデータ記憶装置。
【０１００】
（付記７）前記制御回路は、前記過去の所定時間以内に、前記振動を検出していたと判定した場合に、前記過去のオフトラックライトの最大のヘッドずれ位置を取得し、前記リングバッファの書き戻し領域を、前記最大のずれ位置分のトラック数分拡張し、且つリトライライトを、前記トラック数分戻した位置から行うことを特徴とする付記６のデータ記憶装置。
【０１０１】
（付記８）前記制御回路は、過去の所定時間以内に、オフトラックエラーの回数が閾値を超えていたかを判定し、前記回数が閾値を超えていた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記１のデータ記憶装置。
【０１０２】
（付記９）前記制御回路は、過去の一定時間内に発行されたコマンド履歴に、所定のセクタ数を越えたシーケンシャルライトがあったかを判定し、前記シーケンシャルライトがあった時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張することを特徴とする付記１のデータ記憶装置。
【０１０３】
（付記１０）回転する記憶媒体の所望のトラックに、データのリード及びライトを行うヘッドを位置付け、前記データのリード及びライトを行うデータ記憶装置のライト処理方法において、上位からのライトコマンド及びライトデータを受領するステップと、前記ライトデータをバッファメモリの所定のリングバッファに書込み、前記上位にライト完了を報告するステップと、前記リングバッファの前記ライトデータを、前記ヘッドにより、前記記憶媒体にライトするステップとを有し、前記受領ステップは、前記受領したライトコマンドが、直前のライトコマンドで指定されたライトデータのライト領域に連続したライト領域を指定するシーケンシャルな関係にあるかを判定するステップと、前記シーケンシャルな関係にあると判断した時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップとを有し、更に、前記記憶媒体への前記ライトデータのライト時に、ライトエラーが発生したことを検出して、前記ライトデータのリトライライトを、前記リングバッファを用いて、前記ライトエラー発生箇所から、１トラック以上さかのぼり実施し、隣接トラックへのオフトラックライトからデータを保護するステップとを有することを特徴とするデータ記憶装置のライト処理方法。
【０１０４】
（付記１１）前記受領ステップは、前記シーケンシャルな関係にあると判断した時に、前記装置のライト処理が行われる可能性が高い時間内であることを判定するステップと、前記可能性が高い時間内に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップを有することを特徴とする付記１０のデータ記憶装置のライト処理方法。
【０１０５】
（付記１２）前記判定ステップは、前記装置の出荷時間から所定時間内かを判定するステップを有することを特徴とする付記１１のデータ記憶装置のライト処理方法。
【０１０６】
（付記１３）前記判定ステップは、前記装置の電源投入から所定時間内かを判定するステップを有することを特徴とする付記１１のデータ記憶装置のライト処理方法。
【０１０７】
（付記１４）前記受領ステップは、装置の振動を検出するショックセンサーの振動検出履歴から、過去に振動を検出したかを判定するステップと、過去に振動を検出していた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップを有することを特徴とする付記１０のデータ記憶装置のライト処理方法。
【０１０８】
（付記１５）前記振動を検出したかを判定するステップは、前記判定時点から過去の所定時間以内に、前記振動を検出していたかを判定するステップを有することを特徴とする付記１４のデータ記憶装置のライト処理方法。
【０１０９】
（付記１６）前記過去の所定時間以内に、前記振動を検出していたと判定した場合に、前記過去のオフトラックライトの最大のヘッドずれ位置を取得するステップと、前記リングバッファの書き戻し領域を、前記最大のずれ位置分のトラック数分拡張するステップと、前記リトライライトを、前記トラック数分戻した位置から行うステップを更に有することを特徴とする付記１５のデータ記憶装置のライト処理方法。
【０１１０】
（付記１７）前記受領ステップは、過去の所定時間以内に、オフトラックエラーの回数が閾値を超えていたかを判定するステップと、前記回数が閾値を超えていた場合、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップを有することを特徴とする付記１０のデータ記憶装置のライト処理方法。
【０１１１】
（付記１８）前記受領ステップは、過去の一定時間内に発行されたコマンド履歴に、所定のセクタ数を越えたシーケンシャルライトがあったかを判定するステップと、前記シーケンシャルライトがあった時に、前記リングバッファの書き戻し領域を１トラック以上の領域を確保するように拡張するステップとを有することを特徴とする付記１０のデータ記憶装置のライト処理方法。
【産業上の利用可能性】
【０１１２】
シーケンシャルライト時に、リングバッファを大きく取得し、ライトエラー時に、隣接トラックまでさかのぼってリトライするため、オフトラックエラーの検出ミスでのライト化けを防ぐことができる。また、ライト処理が行われやすいパワーオン後の一定時間内や、ライト時の振動印加状態時などのライトデータの保護を強化したい場合に、リングバッファを大きく取得することにより、有効にバッファを使用できる。更に、装置のゾーン、セクター／トラック情報から最適な戻しセクタ数を求めることにより、バッファ領域を無駄なく使用することが可能になる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施の形態のデータ記憶装置の構成図である。
【図２】本発明の一実施の形態のリングバッファ拡張及びライトリトライ処理の説明図である。
【図３】本発明の第１の実施の形態のライト処理のフロー図である。
【図４】図３のシーケンシャルな関係にない場合のリングバッファの説明図である。
【図５】図３のシーケンシャルな関係にある場合のリングバッファの説明図である。
【図６】図３のコマンドブロックの説明図である。
【図７】図３のライトリトライ処理の説明図である。
【図８】本発明の第２の実施の形態のライト処理のフロー図である。
【図９】本発明の第３の実施の形態のライト処理のフロー図である。
【図１０】本発明の第４の実施の形態のライト処理のフロー図である。
【図１１】従来のリングバッファの説明図である。
【図１２】従来のリングバッファの設定の説明図である。
【図１３】従来のライトリトライの説明図である。
【図１４】従来のライトリトライ処理の説明図である。
【符号の説明】
【０１１４】
１０  ディスク装置
１１  ＭＰＵ（処理ユニット）
２６  ＨＤＣ
１３  メモリ（ＲＯＭ／ＲＡＭ）
１４  データバッファ
１４−１  リングバッファ
１４−２  キャッシュ領域
１４−３  戻しセクタ領域
１５  データバッファ制御回路
２４  リードチャネル回路
１７  バス
１８  ヘッドＩＣ
１９  記憶媒体（磁気ディスク）
２０  スピンドルモータ
２２  アクチュエータ（ＶＣＭ）
２５  ヘッド（磁気ヘッド）
【図１】
2009238304.tif 000003
【図２】
2009238304.tif 000004
【図３】
2009238304.tif 000005
【図４】
2009238304.tif 000006
【図５】
2009238304.tif 000007
【図６】
2009238304.tif 000008
【図７】
2009238304.tif 000009
【図８】
2009238304.tif 000010
【図９】
2009238304.tif 000011
【図１０】
2009238304.tif 000012
【図１１】
2009238304.tif 000013
【図１２】
2009238304.tif 000014
【図１３】
2009238304.tif 000015
【図１４】
2009238304.tif 000016