(57)【要約】【課題】データライト効率に優れたデータライト制御装置を提供すること。【解決手段】実施形態のデータライト制御装置は、磁気ディスクと、ライト制御手段と、リトライ制御手段とを備える。磁気ディスクは、セクタ単位でデータを記録するためのトラックを有する。ライト制御手段は、前記トラックの所定のセクタに対してセクタデータブロックをライトするように制御する。リトライ制御手段は、第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対する所定数セクタデータブロックのライト処理をリトライするように制御し、各セクタの前記リトライ回数を管理する。【選択図】図３
2011253580.tif 000002
【特許請求の範囲】
【請求項１】
セクタ単位でデータを記録するためのトラックを有する磁気ディスクと、
前記トラックの所定のセクタに対してセクタデータブロックをライトするように制御するライト制御手段と、
第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対するライト処理をリトライするように制御し、各セクタの前記リトライ回数を管理するリトライ制御手段と、
を備えたデータライト制御装置。
【請求項２】
前記ライト制御手段は、各セクタの前記リトライ回数に基づき、第１の仮欠陥セクタを検出し、前記第１の仮欠陥セクタをライト処理の対象から除外する請求項１に記載のデータライト制御装置。
【請求項３】
前記ライト制御手段は、各セクタの前記リトライ回数に基づき、複数セクタから正常セクタを検出し、前記第１の仮欠陥セクタの後続の前記正常セクタに対して未記録のセクタデータブロックのライト処理を再開するように制御する請求項２に記載のデータライト制御装置。
【請求項４】
前記ライト制御手段は、前記第１の仮欠陥セクタに対するライト処理をスリップし、前記複数セクタのうちの前記正常セクタ、及び前記複数セクタの後続の第１のスペア領域に含まれたスリップ用スペアセクタに対して、複数データブロックをライトするように制御する請求項３に記載のデータライト制御装置。
【請求項５】
前記ライト制御手段は、隣接するデータトラックの一部を重ねながら、複数データトラックをライトするように制御する請求項１乃至４の何れか１項に記載のデータライト制御装置。
【請求項６】
前記ライト制御手段は、リライトの指示に対応して、複数セクタに対して複数セクタデータブロックをリライトするように制御し、
前記リトライ制御手段は、前記複数セクタに含まれた前記第１の仮欠陥セクタに対する正常なリライトに対応して、前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻す請求項２乃至４の何れか１項に記載のデータライト制御装置。
【請求項７】
前記リトライ制御手段は、前記複数セクタに含まれた前記第１の仮欠陥セクタに対するリライトエラーに対応して、前記第１の仮欠陥セクタのリライトエラー回数を管理する請求項６に記載のデータライト制御装置。
【請求項８】
前記リトライ制御手段は、前記第１の仮欠陥セクタのリライトエラー回数に基づき、前記第１の仮欠陥セクタをライト処理及びリライト処理の対象から除外する請求項７に記載のデータライト制御装置。
【請求項９】
前記ライト制御手段は、前記ライト処理のスリップに基づく前記スリップ用スペアセクタの消尽後の前記複数セクタからの第２の仮欠陥セクタの検出に対応して、前記第２の仮欠陥セクタにライトするための第２のセクタデータブロックを、第２のスペア領域に含まれた非スリップ用スペアセクタに対してライトするように制御する請求項４に記載のデータライト制御装置。
【請求項１０】
前記ライト制御手段は、前記非スリップ用スペアセクタに対して前記第２のセクタデータブロックをライトした後のリライト指示に対応して、前記第１及び第２の仮欠陥セクタを含む前記複数セクタと前記スリップ用スペアセクタとで構成される連続エリアに対して、前記第２のセクタデータブロックを含む前記複数セクタデータブロックをリライトするように制御し、前記第１又は第２の仮欠陥セクタの少なくとも一方の仮欠陥セクタに対する正常なデータライトに対応して、前記第２のセクタデータブロックを前記連続エリアに残すように制御する請求項９に記載のデータライト制御装置。
【請求項１１】
前記リトライ制御手段は、前記第１の仮欠陥セクタに対する正常なデータライトに対応して前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻し、前記第２の仮欠陥セクタに対する正常なデータライトに対応して前記第２の仮欠陥セクタを第２の正常セクタとして管理し、前記第２の正常セクタを前記ライト処理の対象に戻す請求項１０に記載のデータライト制御装置。
【請求項１２】
振動を検出する振動検出手段を備え、
前記リトライ制御手段は、前記振動に基づき、リトライの実行タイミングを制御する請求項１乃至１１の何れか１項に記載のデータライト制御装置。
【請求項１３】
振動を検出する振動検出手段と、
前記第１のスペア領域の残量を検出する残量検出手段と、を備え、
前記リトライ制御手段は、前記振動及び前記残量に基づき、リトライの実行タイミングを制御する請求項４に記載のデータライト制御装置。
【請求項１４】
磁気ディスク上のセクタ単位でデータを記録するためのトラックの所定のセクタに対してセクタデータブロックをライトするように制御し、
第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対する所定数セクタデータブロックのライト処理をリトライするように制御し、
セクタ単位でリトライ回数を管理するデータライト制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報記憶媒体に対してデータをライトするように制御するデータライト制御装置及びデータライト制御方法に関する。
【背景技術】
【０００２】
ハードディスクドライブ（ＨＤＤ）を代表とする磁気記録媒体を用いたディスク記憶装置が知られている。ディスク記憶装置の記憶容量は年々増大化している。これに伴って、ディスクのトラックの高密度化が進み、ＡＴＩ（Adjacent Track Interference）の影響が大きくなっている。
【０００３】
例えば、ディスクのターゲットトラックに対してデータをライトする際に、ターゲットトラックから漏れた磁界によりターゲットトラックに隣接するトラックのデータが破壊されてしまう可能性もある。
【０００４】
また、近年、トラックの高密度化に優れた瓦ライト（shingled write recording）に関する技術研究が進められている。瓦ライトは、トラックの一部を重ねてライトする方式である。つまり、隣接するトラックの隙間がなく、ＡＴＩの影響はさらに大きくなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３８７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
記憶容量の増大化を図るため、トラックの高密度化が進むとエラーの発生頻度が高まる。例えば、トラックにはセクタ単位でデータがライトされるが、ライトされたセクタのデータのリードに失敗すると、この所定セクタは欠陥セクタとして管理される。欠陥セクタは、これ以降のデータライトの対象から除外される。欠陥セクタが頻発すると、記憶容量が低下してしまう。
【０００７】
本発明の目的は、データライト効率に優れたデータライト制御装置及びデータライト制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態のデータライト制御装置は、磁気ディスクと、ライト制御手段と、リトライ制御手段とを備える。磁気ディスクは、セクタ単位でデータを記録するためのトラックを有する。ライト制御手段は、前記トラックの所定のセクタに対してセクタデータブロックをライトするように制御する。リトライ制御手段は、第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対する所定数セクタデータブロックのライト処理をリトライするように制御し、各セクタの前記リトライ回数を管理する。
【図面の簡単な説明】
【０００９】
【図１】第１〜第３の実施形態で共通の情報処理システムの一例を示す図である。
【図２】第１〜第４の実施形態で共通のノーマルライト方式及び瓦ライト方式の一例を示す図である。
【図３】第１の実施形態のリトライＡＴＩカウンタによる書き戻し方式の一例を示す図である。
【図４】第２の実施形態の仮スリップ管理テーブルによる欠陥セクタ管理方式の一例を示す図である。
【図５】第３の実施形態の仮自動交代管理テーブルによる欠陥セクタ管理方式の一例を示す図である。
【図６】第４の実施形態の情報処理システムの一例を示す図である。
【図７】第４の実施形態の振動管理テーブルの一例を示す図である。
【図８】第４の実施形態の振動時におけるリトライ処理方式の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、第１〜第４の実施形態について説明する。
【００１１】
図１は、第１〜第３の実施形態で共通の情報処理システムの一例を示す図である。図１に示すように、情報処理システムは、ハードディスク装置（データライト制御装置）１００及びＰＣなどの外部装置２００により構成されている。
【００１２】
例えば、ハードディスク装置１００は、外部装置２００に対して、着脱可能に構成されている。外部装置２００と接続されたハードディスク装置１００は、外部装置２００からの指示に基づき、外部装置から転送されるライトデータをディスク１０９に対してライトし、また、外部装置２００からの指示に基づき、ディスク１０９からデータをリードし、リードデータを外部装置２００へ転送する。
【００１３】
図１に示すように、ハードディスク装置１００は、コマンド制御モジュール１０１、ホスト制御モジュール１０２、アドレス制御モジュール１０３、欠陥セクタ制御モジュール１０４、リード／ライト制御モジュール１０５、リトライ制御モジュール１０６、サーボ制御モジュール１０７、リードチャネル制御モジュール１０８、ディスク１０９、及びヘッド１１０等を備えている。各モジュールの動作等については、この後、順次説明する。
【００１４】
例えば、ハードディスク装置１００は、瓦ライト（shingled write recording）方式に基づき、ディスク１０９に対してデータをライトすることができる。なお、ハードディスク装置１００は、ノーマルライト方式に基づき、ディスク１０９に対してデータをライトすることもできる。図２に示すように、ノーマルライト方式によれば、ディスク１０９上に、隣接するデータトラックＴが重なり合うことなくライトされる。これに対して、瓦ライト方式によれば、ディスク１０９上に、隣接するデータトラックＴの一部が重なり合いライトされる。
【００１５】
なお、瓦ライト方式は、隣接するデータトラックＴの隙間がないため、ＡＴＩの影響が大きくなり易い。このような状況下において、ハードディスク装置１００は、以下の１以上の方式の組み合わせにより、効率よくデータをライトすることができる。
【００１６】
・第１の実施形態で説明するリトライＡＴＩカウンタによる書き戻し方式
・第２の実施形態で説明する仮スリップ管理テーブルによる欠陥セクタ管理方式
・第３の実施形態で説明する仮自動交代管理テーブルによる欠陥セクタ管理方式
なお、ハードディスク装置１００は、上記説明したように、ノーマルライト方式もサポートしており、上記した１以上の方式の組み合わせにより、ノーマルライト方式であっても、効率よくデータをライトすることができる。
【００１７】
（第１の実施形態）
［リトライＡＴＩカウンタによる書き戻し方式］
図３は、リトライＡＴＩカウンタによる書き戻し方式の一例を示す図である。
【００１８】
例えば、外部装置２００は、ライトコマンドを発行し、ライトデータを送信する。これに対応して、ハードディスク装置１００のホスト制御モジュール１０２は、ライトコマンド及びライトデータを受信する。コマンド制御モジュール１０１は、受信したライトコマンドを解析する。リード／ライト制御モジュール１０５は、解析されたライトコマンドに基づき、ライトデータのライトを制御する。サーボ制御モジュール１０７は、ライト制御に基づき、ＶＣＭ及びスピンドルモータ等（何れも不図示）のサーボを制御する。ライトデータは、リードチャネル制御モジュール１０８の制御により、ヘッド１１０を経由してディスク１０９へライトされる。
【００１９】
ここで、データトラックＴ、セクタ、及びセクタデータブロックの関係について説明する。例えば、図３に示すように、ディスク１０９には複数データトラックＴが一部重なってライトされる。１セクタに対応するデータ（つまり１セクタに書き込まれるデータ）を１セクタデータブロックと定義すると、各データトラックＴは、複数セクタ（又は複数セクタデータブロック）を含むことが可能に構成されている。なお、１セクタに対応するデータ（つまり１セクタデータブロック）は、最小ライト単位であり、例えば、５１２バイトデータである。また、上記したセクタは、ロングセクタであってもよい。ロングセクタに対応するデータ（つまり１セクタデータブロック）は、例えば、４Ｋバイトデータである。
【００２０】
ハードディスク装置１００（リード／ライト制御モジュール１０５等）は、第１のデータトラックＴ（又は第１のデータトラックＴに含まれた複数セクタ）に対して複数セクタデータブロックを順にライトするように制御する。続いて、第１のデータトラックＴの一部に重ねられた第２のデータトラックＴ（又は第２のデータトラックＴに含まれた複数セクタ）に対して複数セクタデータブロックをライトするように制御する。
【００２１】
サーボ制御モジュール１０７又はリードチャネル制御モジュール１０８は、データライト状態を監視することができる。例えば、第１のデータトラックＴに対するデータライト制御状態において、サーボ制御モジュール１０７又はリードチャネル制御モジュール１０８は、第１のデータトラックＴ以外（ターゲットのデータトラック以外）へのデータライト状態に対する、ライトエラーを検出することができる。つまり、サーボ制御モジュール１０７又はリードチャネル制御モジュール１０８は、第１のデータトラックＴ（所定セクタ）に対する所定セクタデータブロックのライトエラーを検出することができる。
【００２２】
ライトエラー検出に対応して、例えば、リトライ制御モジュール１０６は、所定セクタ（ライトエラーセクタ）を含むデータライト済みの所定数セクタ（書き戻し範囲）に対する所定数セクタデータブロックのライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置から、所定数セクタデータブロックをライトする。リトライ制御モジュール１０６は、リトライＡＴＩカウンタを備え、リトライＡＴＩカウンタにより各セクタ（所定数セクタ）のリトライ回数をカウント（管理）する。
【００２３】
例えば、リトライ制御モジュール１０６が、８セクタ（セクタＳ１〜Ｓ８）を書き戻し範囲として定めている場合、図３のＳＴ１１に示すように、リトライ制御モジュール１０６は、セクタＳ８（ライトエラーセクタ）を含むデータライト済みの８セクタ（セクタＳ１〜Ｓ８）に対する８セクタデータブロックのライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置（セクタＳ１）から、８セクタデータブロックをライトする。さらに、リトライ制御モジュール１０６は、リトライＡＴＩカウンタによりセクタＳ１〜Ｓ８のリトライ回数をカウントアップ（＋１）する（図３のＳＴ１１参照）。
【００２４】
さらに、セクタＳ８（ライトエラーセクタ）に近いセクタＳ９〜Ｓ１５でライトエラーが検出されると、書き戻し範囲が重複する。例えば、リトライ制御モジュール１０６が、セクタＳ８でライトエラーを検出すると、セクタＳ１〜Ｓ８（第１の書き戻し範囲）に対してライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置（セクタＳ１）から、８セクタデータブロックをライトする。さらに、リトライ制御モジュール１０６は、リトライＡＴＩカウンタによりセクタＳ１〜Ｓ８のリトライ回数をカウントアップ（＋１）する（図３のＳＴ１１参照）。
【００２５】
さらに、リトライ制御モジュール１０６が、セクタ１０でライトエラーを検出すると、セクタＳ３〜Ｓ１０（第２の書き戻し範囲）に対してライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置（セクタＳ３）から、８セクタデータブロックをライトする。さらに、リトライ制御モジュール１０６は、リトライＡＴＩカウンタによりセクタＳ３〜Ｓ１０のリトライ回数をカウントアップ（＋１）する（図３のＳＴ１２参照）。
【００２６】
上記のように、第１の書き戻し範囲と、第２の書き戻し範囲とは、一部が重複することがある。書き戻し処理により、書き戻し範囲の重複が発生すると、ＡＴＩ等の要因からエラーが起こり易くなる。瓦ライト方式は、ノーマルライト方式に比べて、ＡＴＩ等の影響が大きい。ハードディスク装置１００は、ＡＴＩ等の要因によるエラーを低減するために、リフレッシュ処理を実行することができる。瓦ライト方式におけるリフレッシュ処理では、所定ライト単位（複数データトラックの単位（ルーフ単位と呼ぶ））で、データが書き直される。言い換えれば、瓦ライト方式の場合、トラックの一部の重ね書きという形態が採用されるため、部分的なデータの書き換えが難しく、上記したようなルーフ単位での書き直しとなる。このようなことからも、複数リフレッシュ処理の頻発に対応して、ハードディスク装置１００の性能低下が懸念される。
【００２７】
ハードディスク装置１００（リトライ制御モジュール１０６）は、上記したように、リトライＡＴＩカウンタにより各セクタ（所定数セクタ）のリトライ回数をカウント（管理）し、リフレッシュ処理を低減することができる。
【００２８】
例えば、リトライ制御モジュール１０６は、リフレッシュ閾値（例えばリフレッシュ閾値４）を保持する。リフレッシュ閾値は、リフレッシュ処理が望まれるライト回数に相当する。
【００２９】
ＳＴ１１、ＳＴ１２に続いて、さらに、リトライ制御モジュール１０６が、セクタＳ１３でライトエラーを検出すると、セクタＳ６〜Ｓ１３（第３の書き戻し範囲）に対してライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置（セクタＳ６）から、８セクタデータブロックをライトする。さらに、リトライ制御モジュール１０６は、リトライＡＴＩカウンタによりセクタＳ６〜Ｓ１３のリトライ回数をカウントアップ（＋１）する（図３のＳＴ１３参照）。
【００３０】
さらに、リトライ制御モジュール１０６が、セクタＳ１５でライトエラーを検出すると、セクタＳ８〜Ｓ１５（第４の書き戻し範囲）に対してライト処理をリトライするように制御する。これに対応して、リード／ライト制御モジュール１０５は、アドレス制御モジュールにより指定された位置（セクタＳ８）から、８セクタデータブロックをライトする。さらに、リトライ制御モジュール１０６は、リトライＡＴＩカウンタによりセクタＳ８〜Ｓ１５のリトライ回数をカウントアップ（＋１）する（図３のＳＴ１４参照）。
【００３１】
リトライ制御モジュール１０６は、常時、リフレッシュ閾値と、リトライＡＴＩカウンタのカウント値とを比較し、リフレッシュ処理の要否を判定する。上記のＳＴ１１〜ＳＴ１３のケースでは、リトライ制御モジュール１０６は、リフレッシュ処理は不要と判定する。
【００３２】
これに対して、上記のＳＴ１４のケースでは、セクタＳ８に対応するリトライＡＴＩカウンタのカウント値（４）がリフレッシュ閾値（４）に到達しているため、リトライ制御モジュール１０６は、セクタＳ８を仮欠陥セクタと判定し、セクタＳ８に対するこれ以上のライトを行うとリフレッシュ処理が必要になると判定する。
【００３３】
つまり、リトライ制御モジュール１０６は、リトライＡＴＩカウンタのカウント値に基づき、複数セクタから仮欠陥セクタ（例えばセクタＳ８）及び正常セクタ（例えばセクタＳ１〜Ｓ７、Ｓ９〜Ｓ１５）を検出することができ、欠陥セクタ制御モジュール１０４は、仮欠陥セクタをライト処理の対象から一時的に除外し、仮欠陥セクタを仮スリップ処理又は仮交代処理の対象として、仮スリップ処理又は仮交代処理の実行を制御する。
【００３４】
これにより、リード／ライト制御モジュール１０５は、仮欠陥セクタを飛ばして、ライト処理を継続する。例えば、書き戻し処理において、リード／ライト制御モジュール１０５は、仮欠陥セクタの後続の正常セクタから順に複数セクタデータブロックのうちの未記録セクタデータブロックのライト処理を再開するように制御する。
【００３５】
以上により、ハードディスク装置１００は、例えば、瓦ライト方式におけるリフレッシュ処理の発生頻度を低減することができ、処理効率の低下を防止することができる。
【００３６】
（第２の実施形態）
［仮スリップ管理テーブルによる欠陥セクタ管理方式］
上記したように、瓦ライト方式では、ＡＴＩの影響が大きい為、リトライ回数を低減したい。そこで、第１の実施形態で説明したように、ハードディスク装置１００は、エラー発生の原因となったセクタを、早い段階で、仮欠陥セクタとして登録する。つまり、ハードディスク装置１００は、ノーマルライト方式で救済されるセクタ（通常に使用可能なセクタ）を、瓦ライト方式では仮欠陥セクタとして登録する。そして、所定の条件を満たす場合に、ハードディスク装置１００は、この仮欠陥セクタを正常セクタに戻す。これにより、スリップ領域の枯渇（消尽）を防止し、さらには、後述する仮交代処理の発生（交代セクタの生成）を低減する。
【００３７】
欠陥セクタ制御モジュール１０４は、仮スリップ管理テーブルに基づき、仮欠陥セクタを管理する。図４に示すように、例えば、物理ＬＢＡ０１〜１４をルーフＲ１と仮定し、物理ＬＢＡ１１〜１４(スリップ用スペアセクタ)をスリップ領域（第１のスペア領域）と仮定する。なお、１つの物理ＬＢＡ（論理ＬＢＡ）は１つのセクタ（１つのセクタデータブロック）に対応する。
【００３８】
初期状態では仮欠陥セクタは存在しない（図４のＳＴ２１参照）。
【００３９】
例えば、リトライ制御モジュール１０６が、物理ＬＢＡ０４、０７、０８を仮欠陥セクタとして検出すると、欠陥セクタ制御モジュール１０４は、これら仮欠陥セクタをライト処理の対象から一時的に除外するとともに仮スリップ処理の対象とし、仮スリップ処理の実行を制御する。これにより、図４のＳＴ２２に示すように、欠陥セクタ制御モジュール１０４は、物理ＬＢＡ０１〜０３、０５、０６、０９〜１３と論理ＬＢＡ０１〜１０とを対応付け、仮スリップ管理テーブルを更新する。つまり、仮欠陥セクタ（物理ＬＢＡ０４、０７、０８）をスリップして、正常セクタ（物理ＬＢＡ０１〜０３、０５、０６、０９〜１３）に対してデータがライトされるように、仮スリップ管理テーブルにより仮欠陥セクタ（物理ＬＢＡ０４、０７、０８）が管理される。また、この仮スリップ管理テーブルでは、仮欠陥セクタ（物理ＬＢＡ０４、０７、０８）に対するライト試行回数（１）が管理される。
【００４０】
例えば、ルーフＲ１に対するリライトの指示に対応して、リード／ライト制御モジュール１０５は、仮スリップ管理テーブルに登録された仮欠陥セクタの再使用を試みる。例えば、図４のＳＴ２３に示すように、仮欠陥セクタ（物理ＬＢＡ０７，０８）の再使用が可能な場合、つまり、仮欠陥セクタ（物理ＬＢＡ０７，０８）に対してデータを正常にライトすることができたならば、欠陥セクタ制御モジュール１０４は、仮スリップ管理テーブルを更新し、仮欠陥セクタ（物理ＬＢＡ０７，０８）を正常セクタに戻す。つまり、仮欠陥セクタ（物理ＬＢＡ０４）をスリップして、正常セクタ（物理ＬＢＡ０１〜０３、０５〜１１）に対してデータがライトされるように、仮スリップ管理テーブルにより仮欠陥セクタ（物理ＬＢＡ０４）が管理される。また仮欠陥セクタ（物理ＬＢＡ０４）に対するライト試行回数（２）が管理される。
【００４１】
さらにルーフＲ１に対するリライトの指示に対応して、リード／ライト制御モジュール１０５は、仮スリップ管理テーブルに登録された仮欠陥セクタの再使用を試みる。なお、欠陥セクタ制御モジュール１０４は、欠陥セクタ確定閾値（例えば欠陥セクタ確定閾値３）を保持する。例えば、図４のＳＴ２４に示すように、仮欠陥セクタ（物理ＬＢＡ０４）の再使用が不能な場合、つまり、仮欠陥セクタ（物理ＬＢＡ０４）に対してデータを正常にライトすることができないならば、欠陥セクタ制御モジュール１０４は、仮スリップ管理テーブルを更新する。つまり、仮欠陥セクタ（物理ＬＢＡ０４）をスリップして、正常セクタ（物理ＬＢＡ０１〜０３、０５〜１１）に対してデータがライトされるように、仮スリップ管理テーブルにより仮欠陥セクタ（物理ＬＢＡ０４）が管理される。また仮欠陥セクタ（物理ＬＢＡ０４）に対するライト試行回数（３）が管理される。
【００４２】
欠陥セクタ制御モジュール１０４は、リライトを実行するときには常時、欠陥セクタ確定閾値と、仮スリップ管理テーブルのライト試行回数とを比較し、欠陥セクタ確定（欠陥セクタの恒久化）の要否を判定する。上記のＳＴ２２、ＳＴ２３のケースでは、欠陥セクタ制御モジュール１０４は、欠陥セクタ確定は不要と判定する。
【００４３】
これに対して、上記のＳＴ２４のケースでは、仮欠陥セクタ（物理ＬＢＡ０４）に対応するライト試行回数（３）が欠陥セクタ確定閾値（３）に到達しているため、欠陥セクタ制御モジュール１０４は、仮欠陥セクタ（物理ＬＢＡ０４）を欠陥セクタとして確定する。これに対応して、欠陥セクタ制御モジュール１０４は、仮スリップ管理テーブルの仮欠陥セクタ（物理ＬＢＡ０４）に対して恒久化を示すフラグをセットし、フラグがセットされた仮欠陥セクタを確定欠陥セクタとして管理する。これにより、欠陥セクタ制御モジュール１０４は、確定欠陥セクタ（物理ＬＢＡ０４）をリライト（或いはライト及びリライト）の対象から除外する。よって、ルーフＲ１に対するリライトが指示されても、確定欠陥セクタ（物理ＬＢＡ０４）に対して再使用は試みられない。つまり、仮欠陥セクタはライト対象外のセクタであってリライト対象のセクタ（正常セクタに復帰する可能性のあるセクタ）であるが、確定欠陥セクタはリライト対象外（或いはライト及びリライト対象外）のセクタである。
【００４４】
以上により、ハードディスク装置１００は、瓦ライト方式におけるスリップ領域の枯渇（消尽）を防止し、さらには、後述する仮交代処理の発生（交代セクタの生成）を低減し、処理効率の低下を防止することができる。
【００４５】
（第３の実施形態）
［仮自動交代管理テーブルによる欠陥セクタ管理方式］
第２の実施形態で説明したように、ルーフＲ１において仮スリップ処理が実行され、ルーフＲ１のスリップ領域の物理ＬＢＡ１１〜１４が使用されるが、ルーフＲ１のスリップ領域が枯渇（消尽）し、仮スリップ処理が実行できなくなることもあり得る（図５のＳＴ３１参照）。
【００４６】
ルーフＲ１のスリップ領域に空きが無くなった場合は、欠陥セクタ制御モジュール１０４は、ルーフＲ１外の交代領域（第２のスペア領域の非スリップ用スペアセクタ）を使用し、仮交代処理の実行を制御する（図５のＳＴ３２参照）。例えば、ルーフＲ１のスリップ領域に空きが無くなった状態で、さらに、仮欠陥セクタ（物理ＬＢＡ１０）が検出された場合、欠陥セクタ制御モジュール１０４は、仮自動交代管理テーブルに基づき、仮欠陥セクタ（物理ＬＢＡ１０）と交代先セクタ（物理ＬＢＡ２００００）とを対応付けて管理する。リード／ライト制御モジュール１０５は、仮自動交代管理テーブルに基づき、仮欠陥セクタ（物理ＬＢＡ１０）にライトしようとしたデータを、交代先セクタ（物理ＬＢＡ２００００）へライトする。同様に、リード／ライト制御モジュール１０５は、仮自動交代管理テーブルに基づき、仮欠陥セクタ（物理ＬＢＡ１０）からリードしようとしたデータを、交代先セクタ（物理ＬＢＡ２００００）からリードする。
【００４７】
仮交代処理が適用された後は、ルーフＲ１外の交代領域（第２のスペア領域）へのアクセスが発生するため、アクセス効率が低下する。そこで、ハードディスク装置１００は、一時的に交代領域を使用し、所定の条件を満たす場合に、交代領域の使用を回避し、アクセス効率の低下を防止することができる。
【００４８】
ＳＴ３２に続いて、さらに、ルーフＲ１に対するリライトが指示されると、リード／ライト制御モジュール１０５は、仮スリップ管理テーブルに登録された仮欠陥セクタの再使用を試みる。例えば、図５のＳＴ３３に示すように、仮欠陥セクタ（物理ＬＢＡ０７、０８）の再使用が可能な場合、つまり、仮欠陥セクタ（物理ＬＢＡ０７、０８）に対してデータを正常にライトすることができるので、欠陥セクタ制御モジュール１０４は、仮スリップ管理テーブルを更新し、仮欠陥セクタ（物理ＬＢＡ０７、０８）を正常セクタに戻す。これにより、ルーフＲ１のスリップ領域に空きが生じ、ルーフＲ１に対してライト対象のデータを全てライトすることができたならば、欠陥セクタ制御モジュール１０４は、仮自動交代管理テーブルに登録されていた仮欠陥セクタ（物理ＬＢＡ１０）と交代先セクタ（物理ＬＢＡ２００００）との対応付けを削除する。つまり、リード／ライト制御モジュール１０５は、仮交代処理を適用することなく、仮スリップ処理により、ルーフＲ１に対してライト対象のデータをライトする。
【００４９】
これにより、一時的に仮交代処理が適用されても、再び、仮交代処理を適用することなく、データをライト又はリードすることが可能となり、データアクセス効率の低下を防止することができる。以上により、ハードディスク装置１００は、例えば、瓦ライト方式における仮交代処理の発生を低減し、処理効率の低下を防止することができる。
【００５０】
（第４の実施形態）
［振動時におけるリトライ処理方式］
図６は、第４の実施形態の情報処理システムの一例を示す図である。第４の実施形態の情報処理システムは、図１に示す情報処理システムの構成を含み、さらに、第４の実施形態の情報処理システムを構成するハードディスク装置１００Ａは、振動センサ１１１、タイマ１１２、振動管理テーブルメモリ１１３を備える。第４の実施形態のハードディスク装置１００Ａは、第１、第２、又は第３の実施形態との組み合わせにより、効率よくデータをライトすることができる。なお、ハードディスク装置１００は、上記説明したように、ノーマルライト方式及び瓦ライト方式をサポートしており、第４の実施形態の振動時におけるリトライ処理方式は、ノーマルライト方式又は瓦ライト方式の何れにも適用可能である。
【００５１】
ハードディスク装置１００Ａに対して振動が伝わっている状態では、ライトエラーが発生し易い。このようにエラーが発生し易い状況下で、第１〜第３の実施形態で説明したリトライ処理を実行してもエラーをリカバリすることは難しく、リトライ処理が非効率である。別の言い方をすれば、上記状況下でのリトライ処理の実行により、無用な仮スリップ処理又は仮交代処理が実行されてしまう可能性が高い。また、上記状況下でのリトライ処理の実行により、スリップ領域又は交代領域が消耗し易く、スリップ領域が消尽されてしまうと、交代処理が発生し処理効率が低下する。また、交代領域までもが消尽されてしまうと、データのライト又はリードが実行できなくなることもある。
【００５２】
第４の実施形態のハードディスク装置１００Ａは、上記したような不具合を解消し、効率よくデータをライトすることができる。例えば、ハードディスク装置１００Ａの振動センサ１１１は、振動を検出し、検出した振動の振動レベル（加速度）を計測する。タイマ１１２は、振動センサ１１１により振動が検出されてからの経過時間をカウントする。振動管理テーブルメモリ１１３は、振動管理テーブルを記憶する。図７に示すように、振動管理テーブルは、振動レベル（加速度）と、スリップ領域及び交代領域の残量との関係からリトライを実行するか否かを示す情報を含む。なお、欠陥セクタ制御モジュール１０４は、仮スリップ処理及び仮交代処理の実行を制御しており、例えば、欠陥セクタ制御モジュール１０４が、スリップ領域及び交代領域の残量を管理する。
【００５３】
図８は、振動時におけるリトライ処理方式の一例を示すフローチャートである。例えば、リトライ制御モジュール１０６は、リトライの指示に基づき、リトライ処理の実行を制御するが、以下のようにしてリトライ実行可能か否かを判定した上で、リトライの実行を制御する。或いは、リトライ制御モジュール１０６は、リトライ処理の実行中でも、以下のようにリトライ継続可能か否かを判定した上で、リトライの継続を制御する。
【００５４】
振動センサ１１１が振動を検出すると（ＳＴ４１、ＹＥＳ）、リトライ制御モジュール１０６は、振動管理テーブル参照し、振動センサ１１１により検出された振動レベル（加速度）と、スリップ領域及び交代領域の残量とに基づき、リトライを実行可能か否か判定する。又は、リトライ制御モジュール１０６は、振動管理テーブル参照し、振動センサ１１１により検出された振動レベル（加速度）と、スリップ領域及び交代領域の残量とに基づき、リトライを継続可能か否か判定する。
【００５５】
例えば、振動レベル（加速度）が１．０Ｇ未満で０．０Ｇより高い場合、スリップ領域及び交代領域の残量が５０％以上８０％未満であれば、リトライ制御モジュール１０６は、リトライ実行可能（又はリトライ継続可能）と判定し（ＳＴ４２、ＹＥＳ）、リトライの実行（又はリトライの継続）を制御する（ＳＴ４４）。
【００５６】
また、振動レベル（加速度）が３．０Ｇ未満２．０Ｇ以上で、スリップ領域及び交代領域の残量が５０％以上８０％未満であれば、リトライ制御モジュール１０６は、リトライ実行不能（又はリトライ継続不能）と判定し（ＳＴ４２、ＮＯ）、タイマ１１２によりカウントされる経過時間を参照し、リトライの実行を一定時間延期（又は一定時間中断）する（ＳＴ４３）。
【００５７】
リトライ制御モジュール１０６は、一定時間経過後に、リトライを実行（又は継続）するように制御してもよいし、一定時間経過後に、再び、リトライを実行可能（又は継続可能）か否か判定し、リトライの実行（又は継続）を制御するようにしてもよい。
【００５８】
なお、上記説明では、リトライ制御モジュール１０６は、振動レベル（加速度）と、スリップ領域及び交代領域の残量とに基づき、リトライを実行可能（継続可能）か否か判定するものとして説明したが、次のように判定することもできる。例えば、リトライ制御モジュール１０６は、振動レベル（加速度）と、スリップ領域の残量とに基づき、リトライを実行可能（継続可能）か否か判定することもできる。また、例えば、リトライ制御モジュール１０６は、振動レベル（加速度）と、交代領域の残量とに基づき、リトライを実行可能（継続可能）か否か判定することもできる。
【００５９】
上記したように、ハードディスク装置１００Ａ（リトライ制御モジュール１０６）は、振動の強さ、スリップ領域と交代領域の残量（又は交代領域の残量、又はスリップ領域の残量）に応じて、リトライの実行タイミング（継続タイミング）を制御することができる。
【００６０】
つまり、ハードディスク装置１００Ａは、仮スリップ処理又は仮交代処理の発生を低減することができ、スリップ領域又は交代領域の過剰な消耗を防止することができる。
【００６１】
なお、上記したモジュールとは、ハードウェアで実現するものであっても良いし、ＣＰＵ等を使ってソフトウェアで実現するものであってもよい。
【００６２】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決できる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００６３】
１００…ハードディスク装置、１０１…コマンド制御モジュール、１０２…ホスト制御モジュール、１０３…アドレス制御モジュール、１０４…欠陥セクタ制御モジュール、１０５…リード／ライト制御モジュール、１０６…リトライ制御モジュール、１０７…サーボ制御モジュール、１０８…リードチャネル制御モジュール、１０９…ディスク、１１０…ヘッド、１１１…振動センサ、１１２…タイマ、１１３…振動管理テーブルメモリ、２００…外部装置
【図１】
2011253580.tif 000003
【図２】
2011253580.tif 000004
【図３】
2011253580.tif 000005
【図４】
2011253580.tif 000006
【図５】
2011253580.tif 000007
【図６】
2011253580.tif 000008
【図７】
2011253580.tif 000009
【図８】
2011253580.tif 000010
【手続補正書】
【提出日】平成23年9月12日(2011.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
セクタ単位でデータを記録するためのトラックを有する磁気ディスクと、
前記トラックの所定のセクタに対してセクタデータブロックをライトするように制御するライト制御手段と、
第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対するライト処理をリトライするように制御し、各セクタのリトライ回数を管理するリトライ制御手段と、
を備え、
前記ライト制御手段は、各セクタの前記リトライ回数に基づき、第１の仮欠陥セクタを検出し、前記第１の仮欠陥セクタをライト処理の対象から除外し、
前記ライト制御手段は、リライトの指示に対応して、複数セクタに対してリトライを要求された複数セクタデータブロックをリライトするように制御し、
前記リトライ制御手段は、前記複数セクタに含まれた前記第１の仮欠陥セクタに対する正常なリライトに対応して、前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻すデータライト制御装置。
【請求項２】
前記リトライ制御手段は、前記複数セクタに含まれた前記第１の仮欠陥セクタに対するリライトエラーに対応して、前記第１の仮欠陥セクタのリライトエラー回数を管理する請求項１に記載のデータライト制御装置。
【請求項３】
前記リトライ制御手段は、前記第１の仮欠陥セクタのリライトエラー回数に基づき、前記第１の仮欠陥セクタをライト処理及びリライト処理の対象から除外する請求項２に記載のデータライト制御装置。
【請求項４】
前記ライト制御手段は、隣接するデータトラックの一部を重ねながら、複数データトラックをライトするように制御する請求項１乃至３の何れか１項に記載のデータライト制御装置。
【請求項５】
前記ライト制御手段は、各セクタの前記リトライ回数に基づき、複数セクタから正常セクタを検出し、前記第１の仮欠陥セクタの後続の前記正常セクタに対して未記録のセクタデータブロックのライト処理を再開するように制御し、
前記ライト制御手段は、前記第１の仮欠陥セクタに対するライト処理をスリップし、前記複数セクタのうちの前記正常セクタ、及び前記複数セクタの後続の第１のスペア領域に含まれたスリップ用スペアセクタに対して、複数データブロックをライトするように制御し、
前記ライト制御手段は、前記ライト処理のスリップに基づく前記スリップ用スペアセクタの消尽後の前記複数セクタからの第２の仮欠陥セクタの検出に対応して、前記第２の仮欠陥セクタにライトするための第２のセクタデータブロックを、第２のスペア領域に含まれた非スリップ用スペアセクタに対してライトするように制御する請求項１乃至３の何れか１項に記載のデータライト制御装置。
【請求項６】
前記ライト制御手段は、前記非スリップ用スペアセクタに対して前記第２のセクタデータブロックをライトした後のリライト指示に対応して、前記第１及び第２の仮欠陥セクタを含む前記複数セクタと前記スリップ用スペアセクタとで構成される連続エリアに対して、前記第２のセクタデータブロックを含む前記複数セクタデータブロックをリライトするように制御し、前記第１又は第２の仮欠陥セクタの少なくとも一方の仮欠陥セクタに対する正常なデータライトに対応して、前記第２のセクタデータブロックを前記連続エリアに残すように制御する請求項５に記載のデータライト制御装置。
【請求項７】
前記リトライ制御手段は、前記第１の仮欠陥セクタに対する正常なデータライトに対応して前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻し、前記第２の仮欠陥セクタに対する正常なデータライトに対応して前記第２の仮欠陥セクタを第２の正常セクタとして管理し、前記第２の正常セクタを前記ライト処理の対象に戻す請求項６に記載のデータライト制御装置。
【請求項８】
振動を検出する振動検出手段と、
第１のスペア領域の残量を検出する残量検出手段と、を備え、
前記リトライ制御手段は、前記振動及び前記残量に基づき、リトライの実行タイミングを制御し、
前記ライト制御手段は、各セクタの前記リトライ回数に基づき、複数セクタから正常セクタを検出し、前記第１の仮欠陥セクタの後続の前記正常セクタに対して未記録のセクタデータブロックのライト処理を再開するように制御し、
前記ライト制御手段は、前記第１の仮欠陥セクタに対するライト処理をスリップし、前記複数セクタのうちの前記正常セクタ、及び前記複数セクタの後続の前記第１のスペア領域に含まれたスリップ用スペアセクタに対して、複数データブロックをライトするように制御する請求項１乃至７の何れか１項に記載のデータライト制御装置。
【請求項９】
磁気ディスク上のセクタ単位でデータを記録するためのトラックの所定のセクタに対してセクタデータブロックをライトするように制御し、
第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対するライト処理をリトライするように制御し、各セクタのリトライ回数を管理し、
各セクタの前記リトライ回数に基づき、第１の仮欠陥セクタを検出し、前記第１の仮欠陥セクタをライト処理の対象から除外し、
リライトの指示に対応して、複数セクタに対してリトライを要求された複数セクタデータブロックをリライトするように制御し、
前記複数セクタに含まれた前記第１の仮欠陥セクタに対する正常なリライトに対応して、前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻すデータライト制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
実施形態のデータライト制御装置は、磁気ディスクと、ライト制御手段と、リトライ制御手段とを備える。前記磁気ディスクは、セクタ単位でデータを記録するためのトラックを有する。前記ライト制御手段は、前記トラックの所定のセクタに対してセクタデータブロックをライトするように制御する。前記リトライ制御手段は、第１のセクタに対する第１のセクタデータブロックのライトエラーに対応して、前記第１のセクタを含むデータライト済みの所定数セクタに対する所定数セクタデータブロックのライト処理をリトライするように制御し、各セクタの前記リトライ回数を管理する。前記ライト制御手段は、各セクタの前記リトライ回数に基づき、第１の仮欠陥セクタを検出し、前記第１の仮欠陥セクタをライト処理の対象から除外する。前記ライト制御手段は、リライトの指示に対応して、複数セクタに対してリトライを要求された複数セクタデータブロックをリライトするように制御する。前記リトライ制御手段は、前記複数セクタに含まれた前記第１の仮欠陥セクタに対する正常なリライトに対応して、前記第１の仮欠陥セクタを第１の正常セクタとして管理し、前記第１の正常セクタを前記ライト処理の対象に戻す。