(57)【要約】【課題】ヘッドの浮上量の変動を考慮してデータの書き戻しを実行すること。【解決手段】磁気ディスク装置１００は、磁気ディスクに対するデータの書き込みエラー（ライトフォールト）が発生した場合に、書き戻し判定部１８５が、磁気ディスクから読み取られるリード信号を所定の出力に増幅する際の増幅度（増幅器の利得）を磁気ディスクに記録されたサーボフレームごとにＡＧＣ情報メモリ１８４から取得し、取得した各増幅度を基にして、データの書き戻しをおこなうセクタの数を判定し、判定したセクタの数によってデータの書き戻しを実行する。【選択図】        図２
2008059635.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置を制御する制御装置であって、
前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、
前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否かを判定する書き戻し判定部と、
を備えたことを特徴とする制御装置。
【請求項２】
前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記記憶媒体上のトラック中心とヘッドとのずれ量を示すオフトラック量を検出するオフトラック量検出部を更に備え、前記書き戻し判定部は、前記オフトラック量および前記増幅度に基づいてデータの書き戻しをおこなうセクタの数を判定することを特徴とする請求項１に記載の制御装置。
【請求項４】
記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置であって、
前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、
前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否か判定する書き戻し判定部と、
を備えたことを特徴とする記憶装置。
【請求項５】
前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする請求項４に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置およびその制御装置であって、特にデータの書き込みが不安定なセクタに対して確実にデータの書き戻しを実行可能な制御装置および記憶装置に関するものである。
【背景技術】
【０００２】
従来、磁気ディスク装置において、データの書き込み時にライトフォールト（Write  Fault）が発生した場合には、このライトフォールトが発生したセクタより以前の所定数のセクタに対してデータの書き戻しを行っている（例えば、特許文献１参照）。
【０００３】
ここで、ライトフォールトの発生したセクタより以前の所定数のセクタに対してデータを書き戻す目的は、ポジションオフトラック（Position  off  track）を検出するサーボサンプリングが間欠的であるため、ポジションオフトラック等でライトフォールトが発生した場合、ポジションオフトラックを検出したサーボフレームより１つ前のサーボフレーム（このサーボフレームにおいてポジションオフトラックは発生していないものとする）からライトフォールトを検出したサーボフレームまでの間がオフトラックしている可能性があり、この間のデータを、トラックの中心位置に書き直す必要があるためである。
【０００４】
従って、書き戻すべきセクタ数は、ライトフォールトを検出したサーボフレームを含んだセクタ数であることが必要である。
【０００５】
通常、磁気ディスク装置では、記録密度をあげるために磁気ディスクのアウターからインナーまでをゾーン（Zone）に区切り、１周あたりのセクタ数を違えている。しかし、サーボフレームに関しては、サーボサンプリングを一定にするために１周あたりのサーボフレーム数は、アウターからインナーまで同一である。
【０００６】
従って、１つのサーボフレームを跨ぐセクタ数は、磁気ディスクのアウター側ではセクタ数が多く、インナー側ではセクタ数が少なくなる。書き戻しを行うセクタ数を固定とする場合には、アウター側におけるサーボフレーム間のセクタ数が最も多くなるセクタ数を、書き戻しを実行する際のセクタ数に設定している。
【０００７】
【特許文献１】特開平５−２０７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の技術では、磁気ディスクに対してデータの書き込みをおこなうヘッドの浮上量の変動（換言すれば、ヘッドの縦方向の変動）を重要視せず、ヘッドの半径方向の変動（オフトラック量）に重点を置いてデータの書き戻しをおこなうセクタの数を予め設定し、データの書き戻しをおこなっていたため、データの書き込みが不安定なまま書き込み処理を終了してしまうという問題があった。
【０００９】
従って、データの書き戻しをおこなったセクタの数が、半径方向の変動が起こった領域をカバーしていても、縦方向に変動が起こった領域をカバーしていない恐れがあり、後にデータの読み込み処理をおこなった場合に、この読み込み処理が不安定になるという問題も発生する。
【００１０】
すなわち、オフトラックのような半径方向の変動だけでなく、ヘッドの浮上量の変動も考慮してデータの書き込みが不安定なセクタに対して確実にデータの書き戻しを実行することが極めて重要な課題となっている。特に、磁気ディスク装置は積極的にモバイル機器(携帯型情報ツールや携帯型音楽プレーヤなど)に採用されてきており、電車や航空機などに乗車中や徒歩中や登山中に使用する機会があり、連続的に振動が印加される状況や気圧変動の環境下にさらされる機会が多くなり、それらの使用環境の影響を受けやすくなってきている。したがって、書き戻しの重要性が記憶装置の新たな使用形態における新たな課題として浮上してきた。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、オフトラックのような半径方向の変動だけでなく、ヘッドの浮上量の変動も考慮してデータの書き戻しを実行することができる制御装置および記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、本発明は、記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置を制御する制御装置であって、前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否かを判定する書き戻し判定部と、を備えたことを特徴とする。
【００１３】
本発明によれば、記憶媒体から読み取られるリード信号を所定の出力に増幅する増幅度をサーボフレームごとに検出し、検出した増幅度に基づいてデータの書き戻しをおこなうか否かを判定するので、データの書き込みが不安定なまま書き込み処理が終了してしまうことを防止し、かかるデータの書き込みが不安定な領域に対して書き戻しを実行することができる。
【００１４】
また、本発明は、上記発明において、前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする。
【００１５】
本発明によれば、データの書き込みエラーの発生したサーボフレームから、増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定するので、ヘッドの浮上量の変動によって発生するデータの書き込みが不安定な区間に対してデータの書き戻しを正確に実行することができる。
【００１６】
また、本発明は、上記発明において、前記記憶媒体上のトラック中心とヘッドとのずれ量を示すオフトラック量を検出するオフトラック量検出部を更に備え、前記書き戻し判定部は、前記オフトラック量および前記増幅度に基づいてデータの書き戻しをおこなうセクタの数を判定することを特徴とする。
【００１７】
本発明によれば、記憶媒体上のトラック中心とヘッドとのずれ量を示すオフトラック量を更に検出し、検出したオフトラック量および増幅度に基づいてデータの書き戻しをおこなうセクタの数を判定するので、データの書き込みが不安定な領域に対してより正確に書き戻しを実行することができる。
【００１８】
また、本発明は、記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置であって、前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否かを判定する書き戻し判定部と、を備えたことを特徴とする。
【００１９】
本発明によれば、記憶媒体から読み取られるリード信号を所定の出力に増幅する増幅度をサーボフレームごとに検出し、検出した増幅度に基づいてデータの書き戻しをおこなうか否かを判定するので、データの書き込みが不安定なまま書き込み処理が終了してしまうことを防止し、かかるデータの書き込みが不安定な領域に対して書き戻しを実行することができる。
【００２０】
また、本発明によれば、上記発明において、前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする。
【００２１】
本発明によれば、データの書き込みエラーの発生したサーボフレームから、増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定するので、ヘッドの浮上量の変動によって発生するデータの書き込みが不安定な区間に対してデータの書き戻しを正確に実行することができる。
【発明の効果】
【００２２】
本発明によれば、ライトフォールトが発生した場合に、最適なセクタ数を判定してデータの書き戻しを実行するので、データの書き込みが不安定なセクタを残したまま書き込み処理が終了してしまうことを防止することができると共に、書き戻しにかかる処理をスムーズに実行することができる。また、データの読み出しエラーを予防することができるため、この装置に対する信頼性を向上させることができる。特に、モバイル機器に採用される記憶装置において、振動や落下、気圧変動などに対する装置の信頼性を向上させるのに有効である。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係る制御装置および記憶装置の好適な実施の形態を詳細に説明する。なお、本実施例では一例として、磁気ディスク装置を用いて説明する。
【実施例】
【００２４】
まず、本実施例にかかる磁気ディスク装置の概要および特徴について従来の技術と比較して説明する。図１は、本実施例にかかる磁気ディスク装置の概要および特徴を説明するための図である。図１に示す例では、サーボフレームＳＶ（ｎ）においてライトフォールトが発生した場合を示している。なお、同図に示す黒丸は、各サーボフレームに対応する増幅度（磁気ディスクから読み取られるリード信号を所定の出力に増幅する際の増幅度）を示しており、この増幅度が判定Ｓｌｉｃｅ以上となっている区間において、ヘッドの浮上量が不安定となる。
【００２５】
ここで、従来の技術では、予め、書き戻しをおこなうセクタ数が設定され、この設定されたセクタ数に基づいて、書き戻しが実行されていた（図１に示す例では、サーボフレームＳＶ（ｎ−２）とＳＶ（ｎ−１）の中心付近から書き戻しが実行されている。）。
【００２６】
すなわち、従来の技術では、書き戻しをおこなうセクタ数を固定していたため、図１に示すように、ヘッドの縦方向（浮上）にかかる不安定区間（サーボフレームＳＶ（ｎ−１）からＳＶ（ｎ−４）；この区間は、様々な条件に応じて変動する）に対応することができず、データが正確に書き込まれていないセクタに対して書き戻しを実行していないので、データの書き込みが不安定なまま書き込み処理を終了してしまうという問題があった。
【００２７】
一方、本実施例にかかる磁気ディスク装置は、各サーボフレームに対応する増幅度を基にしてデータの書き戻しを実行するセクタ数を判定し、判定したセクタ数によってデータの書き戻しを実行する（図１に示す例では、サーボフレームＳＶ（ｎ−５）とＳＶ（ｎ−４）の中心付近から書き戻しを実行する）。
【００２８】
このように、本実施例にかかる磁気ディスク装置は、磁気ディスクに対するデータの書き込みエラー（ライトフォールト）が発生した場合に、磁気ディスクから読み取られるリード信号を所定の出力に増幅する際の増幅度（増幅器の利得）を磁気ディスクに記録されたサーボフレームごとに検出し、検出した各増幅度を基にして、データの書き戻しをおこなうセクタの数を判定し、判定したセクタの数によってデータの書き戻しを実行するので、データが正確に書き込まれていないセクタ（領域）に対して確実に書き戻しを実行することができる。
【００２９】
また、本実施例にかかる磁気ディスク装置は、データが正確に書き込まれていないセクタに対して確実に書き戻しを実行することができるので、後にデータの読み込み処理をおこなった場合の読み取りエラーを防止することができる。
【００３０】
次に、本実施例にかかる磁気ディスク装置の構成について説明する。図２は、本実施例にかかる磁気ディスク装置１００の構成を示す機能ブロック図である。同図に示すように、この磁気ディスク装置１００は、ヘッドアクチュエータ１１０と、スピンドルモータ１２０と、モータドライバ回路１３０と、ヘッドアンプ回路１４０と、Ｒ（Read）／Ｗ（Write）回路１５０と、コントロール回路１６０と、ハードディスクコントローラ１７０と、制御部１８０と、ＲＯＭ１９０とを備えて構成される。
【００３１】
このうち、ヘッドアクチュエータ１１０は、モータドライバ回路１３０から出力される制御電流によって、ヘッド１１０ａ，１１０ｂを移動させる装置である。なお、ここでは説明の便宜上、ヘッド１１０ａ，１１０ｂのみを示すが、このヘッドアクチュエータ１１０はその他の図示しないヘッドも移動させるものとする。
【００３２】
スピンドルモータ１２０は、モータドライバ回路１３０から出力される制御電流によって、磁気ディスクの回転制御をおこなう装置である。モータドライバ回路１３０は、コントロール回路１６０から出力される制御命令を取得し、取得した制御命令に基づいてヘッドアクチュエータ１１０およびスピンドルモータ１２０に制御電流を出力する装置である。
【００３３】
ヘッドアンプ回路１４０は、コントロール回路１６０から制御命令を取得すると共に、Ｒ／Ｗ回路１５０からライトデータ（磁気ディスクに書き込むデータ）およびライトゲート（磁気ディスクにデータを書き込むタイミングを示すデータ）を取得して、ヘッド１１０ａ，１１０ｂを介して、ライトデータを磁気ディスクに書き込む装置である。また、ヘッドアンプ回路１４０は、ヘッド１１０ａ，１１０ｂから取得するリード信号（磁気ディスクから読み取られたデータ）をＲ／Ｗ回路１５０に出力する。
【００３４】
Ｒ／Ｗ回路１５０は、磁気ディスクに対するリードおよびライトにかかる各種処理を実行する装置である。具体的に、このＲ／Ｗ回路１５０は、ヘッドアンプ回路１４０から出力されるリード信号を増幅したリードデータ（一定の出力レベルを有するリードデータ）を作成し、ハードディスクコントローラ１７０から出力されるリードゲート（データを読み取るタイミングを示すデータ）に応じて、リードデータをハードディスクコントローラ１７０に出力する。また、Ｒ／Ｗ回路１５０は、ハードディスクコントローラ１７０から出力されるライトデータおよびコントロール回路１６０から出力されるライトゲートをヘッドアンプ回路１４０に出力する。
【００３５】
また、Ｒ／Ｗ回路１５０は、コントロール回路１６０からサーボゲート（磁気ディスク上のサーボ信号を読み取るタイミングを示すデータ）を取得し、サーボ信号をコントロール回路１６０に出力する。なお、図示しないが、Ｒ／Ｗ回路１５０は、ヘッド１１０ａ，１１０ｂ、ヘッドアンプ回路１４０を介して、サーボ信号を取得し、取得したサーボ信号をコントロール回路１６０に出力する。また、このサーボ信号は、ヘッド（ヘッド１１０ａあるいはヘッド１１０ｂ）と磁気ディスクのトラック中心とのずれを示すオフトラック量の情報をサーボフレームごとに含んでいるものとする。
【００３６】
更に、Ｒ／Ｗ回路１５０は、リード信号を増幅した際のリード信号の増幅度（Ｒ／Ｗ回路１５０の利得）をサーボＡＧＣ（Automatic  Gain  Control）値としてコントロール回路１６０に出力する。Ｒ／Ｗ回路１５０は、リードデータの出力レベルを一定に保つように増幅度を調整するので、かかるサーボＡＧＣ値は、リード信号が小さくなるにしたがって、大きくなる（あるいはリード信号が大きくなるにしたがって小さくなる）。なお、図１で説明したように、このサーボＡＧＣ値が判定Ｓｌｉｃｅ以上となっている区間が、ヘッドの浮上量の不安定区間と見なされる。
【００３７】
コントロール回路１６０は、制御部１８０からの制御命令に応じてモータドライバ回路１３０およびヘッドアンプ回路１４０を制御する装置である。また、コントロール回路１６０は、ハードディスクコントローラ１７０からライトゲートを取得し、取得したライトゲートをＲ／Ｗ回路１５０に出力する。また、コントロール回路１６０は、サーボゲートをＲ／Ｗ回路１５０に出力し、Ｒ／Ｗ回路１５０からサーボ信号およびサーボＡＧＣ値を取得すると共に、取得したサーボ信号およびサーボＡＧＣ値を制御部１８０に出力する。
【００３８】
ハードディスクコントローラ１７０は、ホストコンピュータ（図示しない）あるいは制御部１８０から種々のデータ／コマンドを受け付け、磁気ディスク装置１００全体を制御する装置である。なお、本発明に密接に関連するハードディスクコントローラ１７０の処理としては、ホストコンピュータからの書き込み命令に応答して、ライトゲートをコントロール回路１６０に出力し、ライトデータをＲ／Ｗ回路１５０に出力する。また、ホストコンピュータからの読み込み命令に応答して、リードゲートをＲ／Ｗ回路１５０に出力し、Ｒ／Ｗ回路１５０から取得するリードデータをホストコンピュータに出力する。
【００３９】
更に、ハードディスクコントローラ１７０は、制御部１８０からライトリトライ命令を取得した場合には、制御部１８０によって判定された磁気ディスク上のセクタにデータの書き戻しをおこなうべく、ライトデータをＲ／Ｗ回路１５０に出力し、ライトゲートをコントロール回路１６０に出力する。
【００４０】
制御部１８０は、各種制御データを格納するための内部メモリを有し、これらを用いて種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、図２に示すように、ボイスコイルモータ（ＶＣＭ）制御部１８１と、スピンドルモータ（ＳＰＭ）制御部１８２と、ポジション情報メモリ１８３と、ＡＧＣ情報メモリ１８４と、書き戻し判定部１８５と、ライトリトライ制御部１８６と、ライト制御部１８７とを備える。
【００４１】
ＶＣＭ制御部１８１は、コントロール回路１６０からサーボ信号を取得し、取得したサーボ信号に基づいて磁気ディスク上のデータの書き込み対象となるトラックあるいはデータの読み込み対象となるトラックにヘッド（ヘッド１１０ａあるいはヘッド１１０ｂ）が移動するように、コントロール回路１６０に制御命令を出力する処理部である。また、ＶＣＭ制御部１８１は、コントロール回路１６０から取得したサーボ信号をポジション情報メモリ１８３に記録する。
【００４２】
ＳＰＭ制御部１８２は、スピンドルモータ１２０の回転数を調整するための制御命令をコントロール回路１６０に出力する処理部である。ポジション情報メモリ１８３は、サーボフレームごとのオフトラック量のデータを含んだサーボ信号を記録するメモリである。このサーボ信号は、ＶＣＭ制御部１８１によって記録される。また、ＡＧＣ情報メモリ１８４は、コントロール回路１６０から出力されるサーボＡＧＣ値をサーボフレームごとに記録するメモリである。
【００４３】
書き戻し判定部１８５は、ポジション情報メモリ１８３に記録されたサーボ信号に基づいて、データの書き戻しをおこなうか否かを判定し、データの書き戻しをおこなう場合には、サーボ信号およびＡＧＣ情報メモリ１８４に記録されたサーボＡＧＣ値に基づいて書き戻しをおこなうセクタの数を判定する処理部である。
【００４４】
なお、この書き戻し判定部１８５は、サーボフレームごとのオフトラック量に基づいて、書き戻しをおこなうセクタ数を判定する第１の判定処理と、ヘッドが次に到達するサーボフレームのオフトラック量を予測してＷｒｉｔｅを中断した場合には、書き戻しをおこなうセクタ数を判定する第２の判定処理と、サーボＡＧＣ値に基づいて、書き戻しをおこなうセクタ数を判定する第３の判定処理とをおこなう。そして、書き戻し判定部１８５は、第１もしくは第２と第３の判定処理の判定結果をそれぞれ比較して、セクタの数が最大となるセクタの数を、書き戻しを実行するセクタの数として判定する。以下において、第１の判定処理、第２の判定処理、第３の判定処理の順に具体的に説明する。
【００４５】
図３は、第１の判定処理を説明するための図である。まず、書き戻し判定部１８５は、ポジション情報メモリ１８３に記録されたサーボ信号を取得し、サーボフレームごとにオフトラック量が規定値（図３に示すWrite  Offtrack  Slice）以上となっているか否かを判定する。そして、書き戻し判定部１８５は、オフトラック量が規定値以上となっていると判定した場合に、書き戻しをおこなうと判定する。
【００４６】
第１の判定処理において、書き戻し判定部１８５は、書き戻しをおこなうと判定した後に、書き戻しをおこなうセクタ数を判定する。図３では一例として、サーボフレームＳＶ（ｎ）において、オフトラック量が規定値を超えた場合（ライトフォールトが発生した場合）を示している。
【００４７】
図３に示す「Ｃａｓｅ１」の場合は、サーボトラックＳＶ（ｎ）の時点でのオフトラック量が、規定値を大きく上回っているため、サーボフレームＳＶ（ｎ−１）を含むようなセクタ、すなわち、サーボフレームＳＶ（ｎ−１）からＳＶ（ｎ）間の全てのセクタに対して書き戻しをおこなうと判定する。（例えば、書き戻し判定部１８５は、書き戻すセクタ数を５と判定する。）
【００４８】
一方、図３に示す「Ｃａｓｅ２」の場合は、サーボトラックＳＶ（ｎ）の時点でのオフトラック量が規定値以上であるが、オフトラック量はそれほど大きくない。このような場合は、サーボフレームＳＶ（ｎ−１）直後のデータセクタのオフトラック量は小さく、書き戻しを実行する必要がない。そこで、「Ｃａｓｅ２」の場合、書き戻し判定部１８５は、サーボフレームＳＶ（ｎ−１）からＳＶ（ｎ）間の全てのセクタに対して書き戻しを実行するのではなく、一部分のセクタに対して書き戻しをおこなうと判定する。（例えば、書き戻し判定部１８５は、書き戻すセクタ数を４と判定する。）
【００４９】
ここで、Ｃａｓｅ１およびＣａｓｅ２の分類方法について具体的に説明する。書き戻し判定部１８５は、サーボトラックＳＶ（ｎ）のオフトラック量をＰｏｓ（ｎ）とし、ＳＶ（ｎ−１）とＳＶ（ｎ）との真ん中のオフトラック量Ｐｏｓ（ｎ−０．５）を線形補間によって求め、求めた線形補間値に基づいてライトフォールト発生時のケースをＣａｓｅ１あるいはＣａｓｅ２に分類する。
【００５０】
Ｐｏｓ（ｎ−０．５）を線形補間によって算出する具体的な算定式は、
Pos(n-0.5)=((Pos(n)-Pos(n-1)/2)+Pos(n-1))
によって表すことができる。
【００５１】
そして、書き戻し判定部１８５は、Ｐｏｓ（ｎ−０．５）の値が規定値（Write  Offtrack  Slice）以上の場合には、サーボトラックＳＶ（ｎ−１）直後に書き込まれたデータのオフトラック量が大きいと考えられるため、Ｃａｓｅ１とする。
【００５２】
一方、書き戻し判定部１８５は、Ｐｏｓ（ｎ−０．５）の値が規定値（Write  Offtrack  Slice）よりも小さい場合には、サーボトラックＳＶ（ｎ−１）直後に書き込まれたデータのオフトラック量が小さいと考えられるため、Ｃａｓｅ２とする。
【００５３】
続いて、第２の判定処理について説明する。図４は、第２の判定処理を説明するための図である。書き戻し判定部１８５は、第２の判定処理において、ポジション情報メモリ１８３に記録されたサーボ信号に基づいて、次のサーボフレームにおけるオフトラック量を算出（予測）し、算出したオフトラック量が規定値（Write  Offtrack  Predetect  Slice）以上となるか否かを判定し、規定値以上となる場合には、Ｗｒｉｔｅを中断し、書き戻しをおこなうと判定する。
【００５４】
ここで、現在のサーボフレームをＳＶ（ｎ）とすると、予測すべきオフトラック量は、サーボフレームＳＶ（ｎ＋１）のオフトラック量となる。次のサーボフレームにおけるオフトラック量を算出する算定式は、どのような算定式を用いても構わないが、例えば、
SV(n+1)=SV(n)+(SV(n)-SV(n-1))
によって算出することができる。
【００５５】
そして、書き戻し判定部１８５は、第２の判定処理において、書き戻しをおこなうと判定した場合には、現在のサーボフレーム直後に書き込まれたデータセクタから書き戻しをおこなうと判定する。例えば、現在のサーボフレームがＳＶ（ｎ）の場合には、ＳＶ（ｎ）直後を含むデータセクタから書き戻しをおこなう。（例えば、書き戻し判定部１８５は、書き戻すセクタ数を２あるいは１と判定する。）
【００５６】
なお、ここでは、算定式を利用して、次のサーボフレームにおけるオフトラック量を予測したがこれに限定されるものではなく、オブザーバによるヘッドのポイント予測をおこない、次のオフトラック量を予測して、書き戻しを行うか否かを判定してもよい。
【００５７】
続いて、第３の判定処理について説明する。この第３の処理については、図１を用いて説明する。書き戻し判定部１８５は、第３の判定処理において、ポジション情報メモリ１８３に記録されたサーボ信号を取得し、オフトラック量が規定値（図３に示したWrite  Offtrack  Slice）以上となっているか否かを判定する。そして、書き戻し判定部１８５は、オフトラック量が規定値以上となっている場合に、書き戻しをおこなうと判定する。
【００５８】
第３の判定処理において、書き戻し判定部１８５は、書き戻しをおこなうと判定した後に、ＡＧＣ情報メモリ１８４に記録されたサーボＡＧＣ値に基づいて、書き戻しをおこなうセクタ数を判定する。書き戻し判定部１８５は、図１に示すように、各サーボフレームに対応するサーボＡＧＣ値が規定値（判定Ｓｌｉｃｅ）以下となるサーボフレーム（図１に示す例では、サーボフレームＳＶ（ｎ−４））を判定する。
【００５９】
そして、書き戻し判定部１８５は、規定値以下となるサーボフレームが少なくとも含まれるように、セクタの数を判定する。例えば、ライトフォールトが発生したサーボフレームの番号をＴ１（図１に示す例では、ＳＶ（ｎ）の番号）とし、各サーボフレーム間のセクタの数を「Ａ」、規定値以下となったサーボフレームの番号をＴ２（図１に示す例では、ＳＶ（ｎ−４）の番号）とするならば、書き戻すセクタ数Ｎは、
N=(T1-T2)*A+C  （Cは定数）
によって算出することができる（上式は一例である。また、定数Ｃは省略してもよい）。
【００６０】
ところで、ライトフォールトが発生した際の、書き戻し対象となるセクタの数を判定する手法は、第１の判定処理および第２の判定処理に限定されるものではない。書き戻し判定部１８５は、Ｗｒｉｔｅを中断した原因によって書き戻しセクタ数を判定する。例えば、磁気ディスク装置１００に対する衝撃を検出するショックセンサからの信号およびヘッドアンプ回路１４０に不具合が発生したか否かのアンプ情報に基づいて、書き戻し対象となるセクタ数を判定してもよい。この場合の判定基準の一例を示すと、磁気ディスク装置１００に衝撃が印加され、ヘッドアンプ回路１４０にエラーが発生した場合には、書き戻し判定部１８５は、書き戻しするセクタ数を「２」とする。また、ヘッドアンプ回路１４０のエラーあるいは磁気ディスク装置１００に対する衝撃印加のいずれか一方が発生した場合には、書き戻し判定部１８５は、書き戻しするセクタ数を「１」とする。
【００６１】
このように、ショックセンサからの信号およびヘッドアンプ回路１４０からのアンプ情報を更に考慮して、セクタ数を判定することによって、より正確に書き戻しを行うセクタ数を判定することができ、効率よく書き戻しを行うことができる。
【００６２】
図２の説明に戻ると、ライトリトライ制御部１８６は、書き戻し判定部１８５に対して書き戻しをおこなうか否かの問い合わせをおこなう処理部である。このライトリトライ制御部１８６は、書き戻し判定部１８５が、書き戻しをおこなうと判定している場合には、書き戻しが必要となるセクタ数を書き戻し判定部１８５から取得し、取得したセクタ数をリトライ条件としてライト制御部１８７に出力する。
【００６３】
ライト制御部１８７は、データの書き戻しを実行する場合に、リトライ条件をハードディスクコントローラ１７０に出力し、ライトリトライを実行させる処理部である。なお、このライト制御部１８７は、書き戻しを行うか否かの問い合わせをライトリトライ制御部１８６に出力し、リトライ条件をライトリトライ制御部１８６から取得した場合に、ライトリトライを実行すると判定し、リトライ条件のデータをハードディスクコントローラ１７０に出力する。
【００６４】
ＲＯＭ１９０は、制御部１８０による各種処理に必要なデータおよびプログラムを記録した記憶装置である。
【００６５】
つぎに、各書き戻しセクタ数によるライトリトライ時のライトゲートとサーボフレームのタイミングについて説明する。図５は、各書き戻しセクタ数によるライトリトライ時のライトゲートとサーボフレームのタイミングの一例を示す図である。図５の１段目に示すＳＧはサーボゲートを示し、このサーボゲートの値が「High」になっている時点において、ヘッドがサーボフレーム上に位置していることとなる。また、ＳＧ上の「Offtrack  judge」において、ライトフォールトが発生しているか否かが判定される。この「Offtrack  judge」は、ＳＧが「High」になる時点が、「Offtrack  judge」おこなうためのトリガとなる。
【００６６】
図５の２段目に示すＳＣＴＰは、磁気ディスク上のセクタを示しており、３段目のＷＧはライトゲートをしており、４段目のＷＦＬＴは、ライトフォールトの発生タイミングを示している。同図に示す例では、ＳＣＴＰの「ｍ＋６」と「ｍ＋７」との間でライトフォールトが発生している。
【００６７】
図５に示すレベル１リトライＷＧ〜レベル５リトライＷＧは、各書き戻しセクタ数に対応するライトゲートの信号を示している。レベル１リトライＷＧは、書き戻しを実行するセクタ数が「１」（図５に示す例では、ＳＣＴＰ「ｍ＋６」から書き戻しをおこなう）であり、レベル２リトライＷＧは、書き戻しを実行するセクタ数が「２」（図５に示す例では、ＳＣＴＰ「ｍ＋５」から書き戻しをおこなう）であり、レベル３リトライＷＧは、書き戻しを実行するセクタ数が「４」（図５に示す例では、ＳＣＴＰ「ｍ＋３」から書き戻しをおこなう）である。
【００６８】
また、レベル４リトライＷＧは、書き戻しを実行するセクタ数が「５」（図５に示す例では、ＳＣＴＰ「ｍ＋１」から書き戻しをおこなう）であり、レベル５リトライＷＧは、Ｐｏｓ（ｎ−２）を跨ぐ位置から書き戻しが実行される。
【００６９】
上述した書き戻し判定部１８５が、第１の判定処理において、「Ｃａｓｅ１」であると判定した場合には、磁気ディスク装置１００は、レベル４リトライＷＧによってデータの書き戻しを実行し、「Ｃａｓｅ２」であると判定した場合には、レベル３リトライＷＧによって書き戻しを実行する。
【００７０】
また、書き戻し判定部１８５が、第２の判定処理において書き戻しを実行すると判定した場合には、磁気ディスク装置１００は、レベル２リトライＷＧあるいはレベル１リトライＷＧによって書き戻しを実行する。
【００７１】
また、書き戻し判定部１８５が、第３の判定処理において書き戻しを実行すると判定した場合には、磁気ディスク装置１００は、書き戻し判定部１８５が判定したセクタの数に対応するように、リトライＷＧを「High」にする期間を調整する。
【００７２】
従来では、常にレベル４リトライＷＧあるいはレベル５リトライＷＧによって、データの書き戻しを実行していたが、本発明にかかる磁気ディスク装置１００は、状況に応じてセクタ数を変更するので、書き戻しを無駄に行って磁気ディスク装置１００の性能を低下させることを防止することができる。
【００７３】
また、ヘッドの浮上量の変動を考慮してリトライＷＧが「High」となる期間を調整するので、データの書き込みが不完全なままデータの書き込みが終了してしまうといった問題を解消することができる。
【００７４】
つぎに、磁気ディスク装置１００が書き戻しのセクタ数を判定する処理手順について説明する。図６は、磁気ディスク装置１００が書き戻しのセクタ数を判定する処理手順を示すフローチャートである。同図に示すように、磁気ディスク装置１００は、書き戻し判定部１８５がポジション情報メモリ１８３からサーボ信号を取得してライトフォールトが発生したか否かを判定し（ステップＳ１０１）、ライトフォールトが発生していない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１に移行する。
【００７５】
一方、ライトフォールトが発生した場合には（ステップＳ１０２，Ｙｅｓ）、ＡＧＣ情報メモリ１８４からサーボＡＧＣ値を取得し、サーボＡＧＣ値が規定値以上か否かを判定する（ステップＳ１０３）。
【００７６】
そして、サーボＡＧＣ値が規定値以上の場合は（ステップＳ１０４，Ｙｅｓ）、書き戻し判定部１８５は、サーボＡＧＣ値に基づいて書き戻しをおこなうセクタの数を判定し（ステップＳ１０５）、ライト制御部１８７が、書き戻し判定部１８５から、ライトリトライ制御部１８６を介して、書き戻しをおこなうセクタの数を取得し、ライトリトライを実行する（ステップＳ１０６）。
【００７７】
一方、サーボＡＧＣ値が規定値よりも小さい場合は（ステップＳ１０４，Ｎｏ）、書き戻し判定部１８５は、各サーボフレームに対応するオフトラック量をポジション情報メモリ１８３から取得し（ステップＳ１０７）、書き戻しを行うセクタ数を判定し（ステップＳ１０８）、ステップＳ１０６に移行する。
【００７８】
なお、ステップＳ１０８において、書き戻し判定部１８５は、第１の判定処理もしくは第２の判定処理を行い、書き戻しのセクタ数を判定する。
【００７９】
また、図６に示すフローチャートでは、第１の判定処理および第２の判定処理と第３の判定処理とをわけて実行する例を示したが、これに限定されるものではなく、書き戻し判定部１８５は、第１〜第３の判定処理を順に行い、各判定処理において判定されるセクタの数のうち、最大となるセクタの数を書き戻し対象となるセクタの数として特定してもよい。
【００８０】
このように、書き戻し判定部１８５が、ライトフォールトが発生した場合に、書き戻しをおこなうセクタの数を判定し、ライト制御部１８７が書き戻しを実行するので、データの書き込みが不安定なまま書き込みが終了してしまうことを防止することができる。
【００８１】
上述してきたように、本実施例にかかる磁気ディスク装置１００は、磁気ディスクに対するデータの書き込みエラー（ライトフォールト）が発生した場合に、書き戻し判定部１８５が、磁気ディスクから読み取られるリード信号を所定の出力に増幅する際の増幅度（増幅器の利得）を磁気ディスクに記録されたサーボフレームごとにＡＧＣ情報メモリ１８４から取得し、取得した各増幅度を基にして、データの書き戻しをおこなうセクタの数を判定し、判定したセクタの数によってデータの書き戻しを実行するので、データが正確に書き込まれていないセクタ（領域）に対して確実に書き戻しを実行することができる。
【００８２】
また、本実施例にかかる磁気ディスク装置１００は、オフトラックのような半径方向の変動だけでなく、ヘッドの浮上量の変動も考慮してデータの書き戻しを実行するので、データが正確に書き込まれていないセクタに対してより確実にデータの書き戻しを実行することができ、後にデータの読み込み処理をおこなった場合の読み取りエラーを防止することができる。
【００８３】
ところで、上記実施例で説明した各種の処理は、予め用意されたプログラムを、磁気ディスク装置１００に備えられたＣＰＵ（Central  Processing  Unit）（若しくは、ＭＣＵ（Micro  Control  Unit）やＭＰＵ（Micro  Processing  Unit）などの処理装置）で実行することによって実現することができる。図２に示す例では、上述した各種の処理を実現する各種のプログラムがＲＯＭ１９０に記憶されており、制御部がＲＯＭ１９０に記録された各種のプログラムを読み出して実行することにより、上述した各種の処理部の機能を実現する各種プロセスが起動される。
【００８４】
なお、これらの各種プログラムは、必ずしも最初からＲＯＭ１９０に記録させておく必要はない。例えば、ホストコンピュータに挿入されるフレキシブルディスク（ＦＤ）や、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、ホストコンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などに各種プログラムを記憶しておき、コンピュータがこれらから各種プログラムを読み出して実行するようにしてもよい。
【００８５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【００８６】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
【００８７】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８９】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９０】
（付記１）記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置を制御する制御装置であって、
前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、
前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否かを判定する書き戻し判定部と、
を備えたことを特徴とする制御装置。
【００９１】
（付記２）前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする付記１に記載の制御装置。
【００９２】
（付記３）前記記憶媒体上のトラック中心とヘッドとのずれ量を示すオフトラック量を検出するオフトラック量検出部を更に備え、前記書き戻し判定部は、前記オフトラック量および前記増幅度に基づいてデータの書き戻しをおこなうセクタの数を判定することを特徴とする付記１に記載の制御装置。
【００９３】
（付記４）記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う記憶装置であって、
前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出部と、
前記増幅度検出部によって検出された増幅度に基づいてデータの書き戻しをおこなうか否か判定する書き戻し判定部と、
を備えたことを特徴とする記憶装置。
【００９４】
（付記５）前記書き戻し判定部は、データの書き込みエラーが発生したサーボフレームから、前記増幅度が規定値以下となるサーボフレームまでに含まれるセクタの数をデータの書き戻しをおこなうセクタの数として判定することを特徴とする付記４に記載の記憶装置。
【００９５】
（付記６）前記記憶媒体上のトラック中心とヘッドとのずれ量を示すオフトラック量を検出するオフトラック量検出部を更に備え、前記書き戻し判定部は、前記オフトラック量および前記増幅度に基づいてデータの書き戻しをおこなうセクタの数を判定することを特徴とする付記４に記載の記憶装置。
【００９６】
（付記７）記憶媒体に対するデータの書き込みエラーが発生した場合にデータの書き戻しを行う書き戻し実行プログラムであって、
前記記憶媒体から読み取られるリード信号を所定の出力に増幅する際の増幅度を前記記憶媒体に記録されたサーボフレームごとに検出する増幅度検出手順と、
前記増幅度検出手順によって検出された増幅度に基づいてデータの書き戻しをおこなうか否かを判定する書き戻し判定手順と、
をコンピュータに実行させることを特徴とする書き戻し実行プログラム。
【産業上の利用可能性】
【００９７】
以上のように、本発明にかかる制御装置および記憶装置は、書き込みエラーなどが発生した場合にデータの書き戻しを実行する記憶装置などに対して有用であり、特に、記憶装置の性能を低下させることなく効率的に書き戻しを実行する必要がある場合に適している。
【図面の簡単な説明】
【００９８】
【図１】本実施例にかかる磁気ディスク装置の概要および特徴を説明するための説明図である。
【図２】本実施例にかかる磁気ディスク装置の構成を示す機能ブロック図である。
【図３】第１の判定処理を説明するための図である。
【図４】第２の判定処理を説明するための図である。
【図５】各書き戻しセクタ数によるライトリトライ時のライトゲートとサーボフレームのタイミングの一例を示す図である。
【図６】磁気ディスク装置が書き戻しのセクタ数を判定する処理手順を示すフローチャートである。
【符号の説明】
【００９９】
１００    磁気ディスク装置
１１０    ヘッドアクチュエータ
１２０    スピンドルモータ
１３０    モータドライバ回路
１４０    ヘッドアンプ回路
１５０    Ｒ／Ｗ回路
１６０    コントロール回路
１７０    ハードディスクコントローラ
１８０    制御部
１８１    ＶＣＭ制御部
１８２    ＳＰＭ制御部
１８３    ポジション情報メモリ
１８４    ＡＧＣ情報メモリ
１８５    書き戻し判定部
１８６    ライトリトライ制御部
１８７    ライト制御部
１９０    ＲＯＭ
【図１】
2008059635.tif 000003
【図２】
2008059635.tif 000004
【図３】
2008059635.tif 000005
【図４】
2008059635.tif 000006
【図５】
2008059635.tif 000007
【図６】
2008059635.tif 000008