(57)【要約】【課題】ライト回数を保持するのに用いられるメモリ容量を不要にするか或いは低減することができ、且つ不要なデータリフレッシュの発生を抑えることができるようにする。【解決手段】実施形態によれば、磁気ディスク装置は、ディスクと、乱数生成手段と、乱数判定手段と、リフレッシュ手段とを具備する。ディスクは複数のトラックを備えている。乱数生成手段は、前記複数のトラックのうちの第１のトラックの第１の領域へのデータのライトに応じてｎ個の整数の範囲で乱数を生成する。乱数判定手段は、生成された乱数が所定値であるかを判定する。リフレッシュ手段は、この判定に応じて、第１のトラックの近傍の第２のトラックの第１の領域に対応する第２の領域をリフレッシュする。【選択図】      図１
2013157047.tif 000002
【特許請求の範囲】
【請求項１】
複数のトラックを備えたディスクと、
前記複数のトラックのうちの第１のトラックの第１の領域へのデータのライトに応じてｎ個の整数の範囲で乱数を生成する乱数生成手段と、
前記生成された乱数が所定値であるかを判定する乱数判定手段と、
前記判定に応じて、前記第１のトラックの近傍の第２のトラックの前記第１の領域に対応する第２の領域をリフレッシュするリフレッシュ手段と
を具備する磁気ディスク装置。
【請求項２】
前記リフレッシュ手段は、前記生成された乱数が前記所定値である場合、前記第２の領域をリフレッシュする請求項１記載の磁気ディスク装置。
【請求項３】
前記乱数生成手段は、前記第１のトラックと前記第２のトラックとの位置関係に対応し、前記第１のトラックの前記第１の領域へのデータのライトによって発生するサイドイレーズ現象の前記第２のトラックの前記第２の領域への影響の大きさに応じた値を、前記ｎとして設定する請求項２記載の磁気ディスク装置。
【請求項４】
前記第１の領域に対応付けられた正規化されたライトカウントを保持するのに用いられるメモリと、
前記生成された乱数が前記所定値である場合、前記ライトカウントをインクリメントするインクリメント手段とを更に具備し、
ｍが１より大きい整数であり、前記第１のトラックと前記第２のトラックとの位置関係に対応し、前記第１のトラックの前記第１の領域へのデータのライトによって発生するサイドイレーズ現象の前記第２のトラックの前記第２の領域への影響の大きさに応じた値がｎ・ｍであるものとすると、前記リフレッシュ手段は、前記インクリメント後の前記ライトカウントが前記ｍである場合、前記第２の領域をリフレッシュする請求項１記載の磁気ディスク装置。
【請求項５】
前記第１の領域及び前記前記第２の領域は、それぞれ前記第１のトラック全体の領域及び前記第２のトラック全体の領域である請求項１または請求項４記載の磁気ディスク装置。
【請求項６】
前記第１のトラックは複数の領域を備えており、前記第１の領域は前記第１のトラックの前記複数の領域のいずれか１つであり、
前記第２のトラックは複数の領域を備えており、前記第２の領域は前記第２のトラックの前記複数の領域のいずれか１つである
請求項１または請求項４記載の磁気ディスク装置。
【請求項７】
複数のトラックを備えたディスクを具備する磁気ディスク装置において、ディスクにライトされたデータをリフレッシュするデータリフレッシュ方法であって、
前記複数のトラックのうちの第１のトラックの第１の領域へのデータのライトに応じてｎ個の整数の範囲で乱数を生成し、
前記生成された乱数が所定値であるかを判定し、
前記判定に応じて、前記第１のトラックの近傍の第２のトラックの前記第１の領域に対応する第２の領域をリフレッシュする
データリフレッシュ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気ディスク装置及び同装置におけるデータリフレッシュ方法に関する。
【背景技術】
【０００２】
近年、磁気ディスク装置の高容量化に伴い、高記録密度化、高トラック密度化が進んでいる。高トラック密度化により、ディスク上で隣接するトラック間の間隔（つまりトラックピッチ）が狭小化されている。
【０００３】
トラックピッチが狭小化されると、トラックにデータを磁気的にライトする際に、例えば隣接するトラックに既に磁気的にライトされているデータ（磁気データ）の磁気的劣化が発生する可能性がある。つまり、隣接するトラックの磁気データ（より詳細には、磁気データの磁界の強さ）が弱められる可能性がある。このような現象は、サイドイレーズ現象と呼ばれる。サイドイレーズ現象の要因は、目標トラックにヘッドを位置付ける際の誤差及び当該ヘッドから漏洩する磁界にある。
【０００４】
サイドイレーズ現象によって、対応するトラックの磁気データが弱められても、直ちにリードエラーが発生するわけではない。サイドイレーズ現象が繰り返し発生すると、対応するトラックの磁気データが徐々に弱まる。サイドイレーズ現象の発生回数が、ある閾値を超えると、誤り訂正符号（ＥＣＣ）を最大限に用いて磁気データの修復を試みても、当該磁気データを修復することが困難となり、リードエラーとなる。これにより、結果として磁気データが消失する。
【０００５】
そこで近年の磁気ディスク装置では、サイドイレーズ現象の繰り返しによりトラックからの磁気データのリードが不能になる前に、当該磁気データの磁気的な劣化を回復するためのデータリフレッシュが必須になりつつある。データリフレッシュは、磁気的に劣化した磁気データを、対応するトラックからリードし、当該リードされた磁気データを当該トラックに再度ライトする動作として知られている。この磁気データの再ライト（つまりデータリフレッシュ）により、当該磁気データの磁界は強くなり、安定する。
【０００６】
サイドイレーズ現象が繰り返し発生するトラックと、当該トラックに隣接するトラックへのデータライトの回数との間には相関がある。そこで従来の磁気ディスク装置では、上述の相関を利用するために、ディスク上のトラック毎またはグループ毎にライト回数をカウントする技術が適用される。この技術によれば、ライト回数が閾値に達したトラックに隣接するトラックのデータ、またはライト回数が閾値に達したグループに属する全トラックのデータがリフレッシュされる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２９４２３１号公報
【特許文献２】特開２０１１−１２９２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した先行技術では、トラック毎またはグループ毎に（つまり、所定の記録単位で）ライト回数を保持するために、ダイナミックＲＡＭ（ＤＲＡＭ）のようなメモリが用いられている。一般に、ライト回数をカウントする記録単位が小さくなるほど、ライト回数を保持するのに必要なメモリ容量が増加する。これに対し、ライト回数をカウントする記録単位が大きくなるほど、不要なデータリフレッシュが増加する。
【０００９】
本発明が解決しようとする課題は、ライト回数を保持するのに必要なメモリ容量を不要にするか或いは低減することができ、且つ不要なデータリフレッシュの発生を抑えることができる磁気ディスク装置及び同装置におけるデータリフレッシュ方法を提供することにある。
【課題を解決するための手段】
【００１０】
実施形態によれば、磁気ディスク装置は、ディスクと、乱数生成手段と、乱数判定手段と、リフレッシュ手段とを具備する。前記ディスクは複数のトラックを備えている。前記乱数生成手段は、前記複数のトラックのうちの第１のトラックの第１の領域へのデータのライトに応じてｎ個の整数の範囲で乱数を生成する。前記乱数判定手段は、前記生成された乱数が所定値であるかを判定する。リフレッシュ手段は、前記判定に応じて、前記第１のトラックの近傍の第２のトラックの前記第１の領域に対応する第２の領域をリフレッシュする。
【図面の簡単な説明】
【００１１】
【図１】一つの実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図。
【図２】同実施形態におけるリフレッシュを含むデータライト処理の典型的な手順を示すフローチャート。
【図３】同実施形態におけるトラックＮへのデータのライトに対する漏洩磁界の広がりの例を示す図。
【図４】同実施形態の第１の変形例におけるリフレッシュを含むデータライト処理の典型的な手順を示すフローチャート。
【図５】同実施形態の第２の変形例におけるリフレッシュを含むデータライト処理の典型的な手順を示すフローチャート。
【図６】同実施形態の第３の変形例におけるリフレッシュを含むデータライト処理の典型的な手順を示すフローチャートの一部を示す図。
【図７】前記第３の変形例におけるリフレッシュを含むデータライト処理の典型的な手順を示すフローチャートの残りを示す図。
【図８】トラックＮ内の一部の領域へのデータライトによるサイトイレーズ現象が隣接トラックＮ±１に影響を及ぼす範囲の典型的な例を示す図。
【発明を実施するための形態】
【００１２】
以下、実施の形態につき図面を参照して説明する。  
図１は一つの実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図である。  
図１に示す磁気ディスク装置は、ディスク（磁気ディスク）１１と、ヘッド（磁気ヘッド）１２と、スピンドルモータ（ＳＰＭ）１３と、アクチュエータ１４と、ドライバＩＣ１５と、ヘッドＩＣ１６と、コントローラ１７とを備えている。
【００１３】
ディスク１１は磁気記録媒体である。ディスク１１は上側と下側の２つのディスク面を有している。ディスク１１の例えば上側のディスク面は、データが磁気記録される記録面をなしている。ディスク１１の記録面（記録領域）は、例えば同心円状のトラック群を備えている。トラック群のそれぞれは最小の記録単位であるセクタ群を備えている。
【００１４】
ヘッド（ヘッドスライダ）１２はディスク１１の記録面に対応して配置される。ヘッド１２は、図示せぬライト素子及びリード素子を備えている。ヘッド１２（より詳細には、ライト素子及びリード素子）は、ディスク１１へのデータのライト及びディスク１１からのデータのリードに用いられる。
【００１５】
図１の構成では、単一枚のディスク１１を備えた磁気ディスク装置を想定している。しかし、ディスク１１が複数枚積層配置された磁気ディスク装置であっても構わない。また、図１の構成では、ディスク１１の一方の面が記録面をなしている。しかし、ディスク１１の両面がいずれも記録面をなし、両記録面にそれぞれ対応してヘッドが配置されても構わない。
【００１６】
ディスク１１はＳＰＭ１３によって高速に回転させられる。ＳＰＭ１３は、ドライバＩＣ１５から供給される駆動電流（または駆動電圧）により駆動される。ヘッド（ヘッドスライダ）１２は、アクチュエータ１４のアーム１４１の先端に取り付けられている。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（ＶＣＭ）１４２を有している。ＶＣＭ１４２は、モータドライバＩＣ１５から供給される駆動電流により駆動される。ヘッド１２は、アクチュエータ１４がＶＣＭ１４２によって駆動されることにより、ディスク１１上を当該ディスク１１の半径方向に、円弧を描くように移動する。
【００１７】
ドライバＩＣ１５は、コントローラ１７の制御に従い、ＳＰＭ１３とＶＣＭ１４２とを駆動する。ヘッドＩＣ１６はヘッドアンプとも呼ばれており、ヘッド１２によりリードされた信号（つまりリード信号）を増幅する。ヘッドＩＣ１６はまた、コントローラ１７から出力されるライトデータをライト電流に変換してヘッド１２に出力する。
【００１８】
コントローラ１７は、例えばマイクロプロセッサユニット（ＭＰＵ）を含む複数の要素が単一チップに集積されたシステムＬＳＩによって実現される。コントローラ１７は、ＤＲＡＭのようなメモリ１７０を備えている。
【００１９】
コントローラ１７は、リード／ライトに関連する信号を処理するリード／ライトチャネル（図示せず）を有する。即ちコントローラ１７（リード／ライトチャネル）は、ヘッドＩＣ１６によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。コントローラ１７はまた、上記デジタルデータからサーボデータを抽出する。コントローラ１７はまた、ライトデータを符号化し、この符号化されたライトデータをヘッドＩＣ１６に転送する。
【００２０】
コントローラ１７は、ホストインタフェースを介してホスト（ホストデバイス）と接続されている。ホストは、図１に示される磁気ディスク装置を自身のストレージ装置として利用する。ホスト及び図１に示される磁気ディスク装置は、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられている。
【００２１】
コントローラ１７は、当該コントローラ１７とホストとの間で信号を授受するホストインタフェースコントローラとして機能する。具体的には、コントローラ１７は、ホストから転送されるコマンド（ライトコマンド、リードコマンド等）を受信する。コントローラ１７はまた、ホストと当該コントローラ１７との間のデータ転送を制御する。コントローラ１７はまた、ヘッドＩＣ１６及びヘッド１２を介してディスク１１へのデータのライト及びディスク１１からのデータのリードを制御するディスクインタフェースコントローラとしても機能する。
【００２２】
コントローラ１７は更に、トラックＮへのデータライトが発生する毎に、例えば当該トラックＮに隣接するトラックＮ＋１及びトラックＮ−１（以下、トラックＮ±１と表記する）をリフレッシュすべきかを判定する。コントローラ１７は、この判定の結果に基づいてトラックＮ±１のデータをリフレッシュする。
【００２３】
以下、前記判定の基準について説明する。  
例えば、トラックＮへのデータライトによりサイドイレーズ現象が発生するものとする。このサイドイレーズ現象が繰り返し発生すると、隣接トラックＮ±１の磁気データが徐々に弱まり、やがて当該隣接トラックＮ±１の状態は、正常にデータがリードできない状態になる。
【００２４】
隣接トラックＮ±１からデータを正常にリードできない状態になるような、トラックＮへのデータライトの回数をＣとする。このＣとマージンΔとに基づいて、トラックＮへのデータライトの許容される回数（つまり閾値）ＣP（ＣP＝Ｃ−Δ）が設定される。もし、トラックＮへのデータライトの回数が閾値ＣPを超えたならば、隣接トラックＮ±１の磁気データが消失する可能性が高くなる。この閾値ＣPは、サイドイレーズ現象に対する磁気ディスク装置の耐力を表す指標であるといえる。閾値ＣPは本実施形態において前記判定の間接的な基準である。その理由について以下に述べる。
【００２５】
前述の先行技術では、例えばトラック毎にライト回数がカウントされる。そしてライト回数が閾値（以下、リフレッシュ閾値と称する）ＣPに達したトラックに隣接するトラックのデータがリフレッシュされる。これにより、隣接するトラックのデータが消失するのを防止できる。しかしトラック毎にライト回数をカウントするためには、ディスク上の全トラックのライト回数を保持するメモリ領域が必要となる。ここで、リフレッシュ閾値ＣPが１０，０００であるものとする。この場合、トラック毎のライト回数を１０，０００まで正確にカウントするためには、１トラックにつき１４ビットのメモリ領域を必要とする。このことは、２14が１６，３８４であることから明らかである。このため、近年のように、磁気ディスク装置の高トラック密度化が進むと、ディスク上の全トラックのライト回数を保持するのに必要なメモリ容量が大幅に増大する。
【００２６】
そこで本実施形態では、コントローラ１７は、トラック毎のライト回数をカウントする代わりに、トラックＮへのデータライトが発生する毎に、１から１０，０００までの整数の範囲で乱数Ｒを生成するように構成されている。つまりコントローラ１７は、トラックＮへのデータライトが発生する毎に、発生確率１／１０，０００で乱数Ｒを生成する。
【００２７】
コントローラ１７は、生成された乱数Ｒが所定の値（例えば１）であれば、トラックＮへのデータライトの回数が１０，０００（リフレッシュ閾値）に達したものと推定（つまり判定）する。この場合、コントローラ１７は隣接トラックＮ±１をリフレッシュする。明らかなように、生成された乱数Ｒは、トラックＮへの１０，０００回のデータライトにつき１回の確率で前記所定値となる。したがって、トラックＮへのデータライトに応じて生成された乱数Ｒが所定値となった場合、トラックＮへのデータライトの回数が１０，０００に達したものとコントローラ１７が推定することは可能である。
【００２８】
以下、本実施形態におけるリフレッシュを含むデータライト処理の典型的な手順について、トラックＮにデータをライトする場合を例に、図２のフローチャートを参照して説明する。ここでは、リフレッシュ閾値ＣPが１０，０００であるものとする。つまり、図１に示される磁気ディスク装置のサイドイレーズ現象に対する耐力を表す許容データライト回数が１０，０００であるものとする。
【００２９】
まずコントローラ１７は、ディスク１１上のトラックＮにヘッドＩＣ１６を介してデータをライトする（ステップ２０１）。ここでトラックＮ（第１の領域）へのデータライトとは、当該トラックＮ全体（第１の領域全体）へのデータライトは勿論、当該トラックＮ内の一部の領域（第１の領域内の一部の領域）へのデータライトも含むものとする。
【００３０】
次にコントローラ１７は乱数生成手段として機能して、１から１０，０００（ＣP＝１０，０００）までの整数（つまりＣP個の整数）の範囲で乱数Ｒを生成する（ステップ２０２）。そしてコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒが所定値、例えば１であるかを判定する（ステップ２０３）。なお、前記所定値は、１から１０，０００までの範囲の整数であれば、１以外の整数であっても構わない。
【００３１】
もし、生成された乱数Ｒが１でないならば（ステップ２０３のＮｏ）、コントローラ１７は乱数Ｒが１となる確率から、トラックＮへのデータライトの回数が１０，０００（リフレッシュ閾値ＣP）に達していないものと推定する。この場合、コントローラ１７は図２のフローチャートに従うデータライト処理を終了する。
【００３２】
これに対し、生成された乱数Ｒが１であるならば（ステップ２０３のＹｅｓ）、コントローラ１７は乱数Ｒが１となる確率から、トラックＮへのデータライトの回数が１０，０００（リフレッシュ閾値ＣP）に達したものと推定する。ここで、トラックＮへのデータライトの前記推定される回数は、例えばトラックＮがリフレッシュされた後は、当該トラックＮが前回リフレッシュされた時点からのデータライトの回数である。
【００３３】
コントローラ１７はステップ２０３の判定が上述のように「Ｙｅｓ」の場合、リフレッシュ手段として機能して、ステップ２０１でライトされたトラックＮに隣接するトラックＮ±１をリフレッシュする（ステップ２０４）。即ちコントローラ１７は、トラックＮ＋１及びＮ−１からそれぞれデータＤN+1及びＤN-1をリードし、リードされたデータＤN+1及びＤN-1をトラックＮ＋１及びＮ−１に再度ライトする。コントローラ１７はトラックＮ±１をリフレッシュすると（ステップ２０４）、図２のフローチャートに従うデータライト処理を終了する。
【００３４】
前述したように、トラックＮへのデータライト毎に、１から１０，０００までの整数の範囲で乱数Ｒが生成される本実施形態では、当該トラックＮへのデータライト時に乱数Ｒが１となる確率は１／１０，０００である。このためコントローラ１７は、トラックＮへのデータライト時に、１／１０，０００の確率でトラックＮ±１をリフレッシュすることになる。つまり、トラックＮに隣接するトラックＮ±１は、当該トラックＮへのデータライト１０，０００回につき１回の割合でリフレッシュされる。このためトラックＮ±１のデータが消失するおそれはない。
【００３５】
本実施形態によれば、上述のようにトラックＮへのデータライトが発生する毎に、発生確率１／１０，０００で乱数Ｒが生成され、生成された乱数Ｒが１（所定値）となった場合に、隣接トラックＮ±１がリフレッシュされる。このように本実施形態は、トラック単位にリフレッシュが管理される構成を適用しながら、トラック毎にライト回数をカウントする技術を必要としない。このため本実施形態によれば、ライト回数を保持するのに必要なメモリ容量を不要とすることができる。しかも本実施形態では、トラック単位にリフレッシュが管理されるため、上述のメモリ容量の低減のためにグループ単位にリフレッシュが管理される構成と比較して、不要なデータリフレッシュの発生を抑えることができる。これにより、データリフレッシュの発生に起因するパフォーマンスの低下を最小に抑えることができる。
【００３６】
さて本実施形態では、シーケンシャルライトのようにトラックＮに隣接するトラックＮ＋１へのデータライトも必要な場合、コントローラ１７はトラックＮ＋１について、前述と同様のデータライト処理を実行する。もし、トラックＮ＋１へのデータのライト後に生成された乱数Ｒが１である場合、コントローラ１７はトラックＮ＋１に隣接するトラックＮ＋２及びＮをリフレッシュすればよい。
【００３７】
＜第１の変形例＞
次に前記実施形態の第１の変形例について説明する。  
前記実施形態は、トラックＮへのデータライトによるサイドイレーズ現象が当該トラックＮに隣接するトラックＮ±１に影響する場合を考慮している。しかし、漏えい磁界の強さによっては、前記サイドイレーズ現象が、トラックＮからトラックＮ±１よりも離れたトラックＮ±２、更にはトラックＮからトラックＮ±２よりも離れた範囲まで影響することもある。
【００３８】
図３は、本実施形態におけるサイドイレーズ現象の及ぼす典型的な範囲を説明するための図であり、トラックＮへのデータのライトに対する漏洩磁界の広がりの例を示す。  
図３に示す漏洩磁界分布３０の例では、トラックＮに隣接するトラックＮ±１がサイドイレーズ現象の影響を最も受け、トラックＮから離れるほどサイドイレーズ現象の影響は弱くなる。しかし、トラックＮ±２における漏洩磁界の強度は、トラックＮ±１におけるそれのほぼ５０％で、無視できない。
【００３９】
そこで第１の変形例は、トラックＮへのデータライトによって発生するサイドイレーズ現象が当該トラックＮに隣接するトラックＮ±１だけでなくトラックＮ±２へも影響する場合を考慮したデータライト処理を適用している。ここでは、トラックＮへのデータライトによって発生するトラックＮ±２へのサイドイレーズ現象の影響が、トラックＮ±１へのそれの５０％であるものとする。つまりトラックＮ±２へのサイドイレーズ現象の影響の重みが、トラックＮ±１へのそれの１／２であるものとする。
【００４０】
以下、第１の変形例におけるリフレッシュを含むデータライト処理の典型的な手順について、トラックＮにデータをライトする場合を例に、図４のフローチャートを参照して説明する。ここでは、トラックＮへのデータライトによって発生するトラックＮ±１へのサイドイレーズ現象の影響は前記実施形態と同様であるものとする。つまり、トラックＮ±１は、トラックＮへのデータライト１０，０００回につき１回の割合でリフレッシュされる必要があるものとする。この場合、前記重みがトラックＮ±１の１／２であるトラックＮ±２は、トラックＮへのデータライト２０，０００回につき１回の割合でリフレッシュされればよい。
【００４１】
まずコントローラ１７は、トラックＮにデータをライトする（ステップ４０１）。次にコントローラ１７は乱数生成手段として機能して、１から１０，０００までの範囲で乱数Ｒａを生成する（ステップ４０２）。そしてコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒａが所定値、例えば１であるかを判定する（ステップ４０３）。もし、生成された乱数Ｒａが１であるならば（ステップ４０３のＹｅｓ）、コントローラ１７はリフレッシュ手段として機能して、トラックＮ±１をリフレッシュする（ステップ４０４）。ここまでの処理（ステップ４０１〜４０４）は、前記実施形態におけるステップ２０１〜２０４と同様である。
【００４２】
コントローラ１７はトラックＮ±１をリフレッシュすると（ステップ４０４）、ステップ４０５に進む。一方、生成された乱数Ｒａが１でないならば（ステップ４０３のＮｏ）、コントローラ１７はトラックＮ±１をリフレッシュすることなくステップ４０５に進む。
【００４３】
ステップ４０５においてコントローラ１７は再び乱数生成手段として機能して、１から２０，０００までの範囲で乱数Ｒｂを生成する。ここで、乱数Ｒｂの範囲が乱数Ｒａのそれの２倍である点に注意すべきである。次にコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒｂが所定値、例えば１であるかを判定する（ステップ４０６）。
【００４４】
もし、生成された乱数Ｒｂが１でないならば（ステップ４０６のＮｏ）、コントローラ１７は乱数Ｒｂが１となる確率から、トラックＮへのデータライトの回数が２０，０００に達していないものと推定する。この場合、コントローラ１７は図４のフローチャートに従うデータライト処理を終了する。
【００４５】
これに対し、生成された乱数Ｒｂが１であるならば（ステップ４０６のＹｅｓ）、コントローラ１７は乱数Ｒｂが１となる確率から、トラックＮへのデータライトの回数が２０，０００に達したものと推定する。するとコントローラ１７はリフレッシュ手段として機能して、トラックＮ±２をリフレッシュする（ステップ４０７）。即ちコントローラ１７は、トラックＮ＋２及びＮ−２からそれぞれデータＤN+2及びＤN-2をリードし、リードされたデータＤN+2及びＤN-2をトラックＮ＋２及びＮ−２に再度ライトする。コントローラ１７はトラックＮ±２をリフレッシュすると（ステップ４０７）、図４のフローチャートに従うデータライト処理を終了する。
【００４６】
前述したように、トラックＮへのデータライト毎に、１から２０，０００までの整数の範囲で乱数Ｒｂが生成される第１の変形例では、当該トラックＮへのデータライト時に乱数Ｒｂが１となる確率は１／２０，０００である。このためコントローラ１７は、トラックＮへのデータライト時に、１／２０，０００の確率でトラックＮ±２をリフレッシュすることになる。つまり、トラックＮ±２は、トラックＮへのデータライト２０，０００回につき１回の割合でリフレッシュされる。このためトラックＮ±２のデータが、トラックＮへのデータライトにより発生するサイドイレーズ現象によって消失するおそれはない。
【００４７】
なお前記第１の変形例において、トラックＮへのデータライトにより発生するサイドイレーズ現象がトラックＮ±３に及ぼす影響を考慮することも可能である。このトラックＮ±３に及ぼすサイドイレーズ現象の影響が、例えばトラックＮ±１に及ぼす影響の１０％であるならば、コントローラ１７はトラックＮへのデータライト毎に、１から１００，０００までの整数の範囲で乱数Ｒｃを生成すればよい。
【００４８】
＜第２の変形例＞
次に前記実施形態の第２の変形例について説明する。  
第２の変形例の特徴は、乱数Ｒの生成とトラック毎のライト回数のカウントとを組み合わせた点にある。第２の変形例では、コントローラ１７が有するメモリ１７０内の領域の一部（以下、ライトカウントテーブル領域と称する）にトラック毎の正規化されたライト回数が保持される。第２の変形例では、ライトカウントテーブル領域に保持されるトラック毎の正規化されたライト回数の最大値は１００である。例えばトラックＮの正規化されたライト回数をライトカウントＣNと表記するならば、１００×ＣNが、トラックＮへのデータライトの回数（より詳細には、推定された回数）を表す。
【００４９】
以下、第２の変形例におけるリフレッシュを含むデータライト処理の典型的な手順について、トラックＮにデータをライトする場合を例に、図５のフローチャートを参照して説明する。ここでは、トラックＮへのデータライトによって発生するトラックＮ±１へのサイドイレーズ現象の影響は前記実施形態と同様であるものとする。つまり、リフレッシュ閾値ＣPは１０，０００であり、トラックＮ±１は、トラックＮへのデータライト１０，０００回につき１回の割合でリフレッシュされる必要があるものとする。
【００５０】
まずコントローラ１７は、トラックＮにデータをライトする（ステップ５０１）。次にコントローラ１７は乱数生成手段として機能して、１から１００までの範囲で乱数Ｒを生成する（ステップ５０２）。このように第２の変形例では、生成される乱数Ｒの範囲が、前記実施形態の１／１００である。
【００５１】
次にコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒが所定値、例えば１であるかを判定する（ステップ５０３）。もし、生成された乱数Ｒが１でないならば（ステップ５０３のＮｏ）、コントローラ１７は図５のフローチャートに従うデータライト処理を終了する。
【００５２】
これに対し、生成された乱数Ｒが１であるならば（ステップ５０３のＹｅｓ）、コントローラ１７はインクリメント手段として機能して、トラックＮのライトカウントＣNを１インクリメントする（ステップ５０４）。ライトカウントＣNは、メモリ１７０内のライトカウントテーブル領域にトラックＮに関連付けて保持される。ステップ５０２で生成される乱数Ｒが１となる確率は１／１００である。したがってコントローラ１７は、トラックＮへのデータライト１００回につき１回の割合でトラックＮのライトカウントＣNを１インクリメントする。よってライトカウントＣNは、トラックＮへのデータライトが１００×ＣN回行われたことの推定結果を示す。ライトカウントＣNの初期値は０である。
【００５３】
次にコントローラ１７はライトカウント判定手段として機能して、ライトカウントＣNが閾値１００に達しているかを判定する（ステップ５０５）。閾値１００は、ステップ５０２で生成される乱数Ｒが１（所定値）となる確率（つまり１／１００）とリフレッシュ閾値ＣP（ＣP＝１０，０００）とから決定される。具体的には、閾値１００は、リフレッシュ閾値ＣP（ＣP＝１０，０００）に確率（１／１００）を乗ずることにより決定される。
【００５４】
もし、ライトカウントＣNが閾値１００に達していないならば（ステップ５０５のＮｏ）、コントローラ１７はトラックＮへのデータライトの回数が１０，０００（リフレッシュ閾値ＣP）に達していないものと推定する。その推定の理由は次の通りである。まず、ライトカウントＣNが閾値１００に達していないということは、トラックＮへのデータライトに応じて生成された乱数Ｒが１となった回数が１００に達していないことを表す。乱数Ｒが１となる確率は１／１００である。したがってステップ５０５の判定がＮｏの場合、コントローラ１７はトラックＮへのデータライトの回数が１０，０００に達していないものと推定できる。この場合、コントローラ１７は図５のフローチャートに従うデータライト処理を終了する。
【００５５】
これに         対し、ライトカウントＣNが閾値１００に達しているならば（ステップ５０５のＹｅｓ）、コントローラ１７はトラックＮへのデータライトの回数が１０，０００に達したものと推定する。この場合、コントローラ１７はリフレッシュ手段として機能して、トラックＮに隣接するトラックＮ±１をリフレッシュする（ステップ５０６）。そしてコントローラ１７は、ライトカウントＣNを初期値０に戻して（ステップ５０７）、図５のフローチャートに従うデータライト処理を終了する。
【００５６】
第２の変形例によれば、コントローラ１７は、トラックＮへのデータライトに応じて生成される発生確率が１／１００の乱数Ｒが１（所定値）の場合にライトカウントＣNをインクリメントする。このためコントローラ１７は、トラックＮへのデータライトの回数が１０，０００に達したことを推定するために必要なライトカウントＣNを１００までカウントすればよい。よって第２の変形例において、ライトカウントＣNを保持するのに、７ビットのメモリ領域で足りる。このことは、２7が１２８であることから明らかである。つまり第２の変形例によれば、トラック毎のライト回数を１０，０００までカウントする必要がある場合に、１トラックにつき１４ビットのメモリ領域を必要とする先行技術と比較して、必要なメモリ領域を半減できる。また第２の変形例においては、トラック毎のライト回数を１０，０００までカウントする場合と比較すれば精度は落ちるものの、発生確率が１／１０，０００の乱数Ｒに基づいてトラックＮのライト回数が１０，０００に達したことを推定する前記実施形態と比較して、推定精度を向上することができる。
【００５７】
＜第３の変形例＞
次に前記実施形態の第３の変形例について説明する。  
第３の変形例は次のような４つの特徴を有している。  
第１の特徴は、前記第１の変形例と同様に、トラックＮへのデータライトによって発生するサイドイレーズ現象が当該トラックＮに隣接するトラックＮ±１だけでなくトラックＮ±２へも影響する場合を考慮した点にある。ここでは前記第１の変形例と同様に、トラックＮへのデータライトによって発生するトラックＮ±２へのサイドイレーズ現象の影響が、トラックＮ±１へのそれの５０％であるものとする。
【００５８】
第２の特徴は、トラックＮ±２への影響の推定にも、前記第２の変形例と同様に、乱数の生成とトラック毎のライト回数のカウントとの組み合わせを用いた点にある。第３の特徴は、トラックＮへのデータライト１００回につき１回の割合で、トラックＮ＋１のライトカウントＣN+1及びトラックＮ−１のライトカウントＣN-1が、それぞれ１インクリメントされる点にある。第４の特徴は、トラックＮへのデータライト２００回につき１回の割合で、トラックＮ＋２のライトカウントＣN+2及びトラックＮ−２のライトカウントＣN-2が、それぞれ１インクリメントされる点にある。
【００５９】
以下、第３の変形例におけるリフレッシュを含むデータライト処理の典型的な手順について、トラックＮにデータをライトする場合を例に、図６及び図７のフローチャートを参照して説明する。
【００６０】
まずコントローラ１７は、トラックＮにデータをライトする（ステップ６０１）。次にコントローラ１７は乱数生成手段として機能して、１から１００までの範囲で乱数Ｒａを生成する（ステップ６０２）。次にコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒａが所定値、例えば１であるかを判定する（ステップ６０３）。もし、生成された乱数Ｒａが１でないならば（ステップ６０３のＮｏ）、コントローラ１７はステップ７０１に進む。
【００６１】
これに対し、生成された乱数Ｒａが１であるならば（ステップ６０３のＹｅｓ）、コントローラ１７は、トラックＮ＋１のライトカウントＣN+1及びトラックＮ−１のライトカウントＣN-1を、それぞれ１インクリメントする（ステップ６０４）。ステップ６０２で生成される乱数Ｒａが１となる確率は１／１００である。したがってコントローラ１７は、トラックＮへのデータライト１００回につき１回の割合でライトカウントＣN+1及びＣN-1をそれぞれ１インクリメントする。ライトカウントＣN+1及びＣN-1の初期値は０である。
【００６２】
トラックＮ＋１及びトラックＮ−１は、トラックＮ以外に、それぞれトラックＮ＋２及びＮ−２にも隣接する。このためライトカウントＣN+1及びＣN-1は、それぞれトラックＮ＋２及びＮ−２へのデータライト１００回につき１回の割合でもインクリメントされる。またライトカウントＣN+1は、後述するステップ７０１〜７０３から容易に理解されるように、トラックＮ＋３及びＮ−１へのデータライト２００回につき１回の割合でもインクリメントされ、ライトカウントＣN-1は、トラックＮ＋１及びＮ−３へのデータライト２００回につき１回の割合でもインクリメントされる。このことは、トラックＮ＋１のライトカウントＣN+1に関し、トラックＮ＋３またはＮ−１への２回のデータライトが、トラックＮ＋１に隣接するトラックへの１回のデータライトとして扱われることを表す。
【００６３】
よって、トラックｉへのデータライトによって発生するトラックｉ±２へのサイドイレーズ現象の影響の重みが、トラックｉ±１へのそれの１／２である第３の変形例では、各トラックのライトカウントを１００倍した値は、サイドイレーズ現象の影響の重みを考慮して隣接トラックへのデータライトの回数に換算され推定値を示す。つまりライトカウントを１００倍した値は、データライトによるサイドイレーズ現象の影響を受けた回数の換算された推定値を示す。
【００６４】
次にコントローラ１７はライトカウント判定手段として機能して、ライトカウントＣN+1が閾値１００に達しているかを判定する（ステップ６０５）。もし、ライトカウントＣN+1が閾値１００に達していないならば（ステップ６０５のＮｏ）、コントローラ１７は、トラックＮ＋１がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達していないものと推定する。この場合、コントローラ１７はステップ６０８に進む。
【００６５】
これに対し、ライトカウントＣN+1が閾値１００に達しているならば（ステップ６０５のＹｅｓ）、コントローラ１７は、トラックＮ＋１がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達しているものと判断する。この場合、コントローラ１７はリフレッシュ手段として機能して、トラックＮ＋１をリフレッシュする（ステップ６０６）。そしてコントローラ１７は、ライトカウントＣN+1を初期値０に戻して（ステップ６０７）、前記ステップ６０８に進む。
【００６６】
ステップ６０８においてコントローラ１７はライトカウント判定手段として機能して、ライトカウントＣN-1が閾値１００に達しているかを判定する。もし、ライトカウントＣN-1が閾値１００に達していないならば（ステップ６０８のＮｏ）、コントローラ１７はステップ７０１に進む。
【００６７】
これに対し、ライトカウントＣN-1が閾値１００に達しているならば（ステップ６０８のＹｅｓ）、コントローラ１７は、トラックＮ−１がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達しているものと判断する。この場合、コントローラ１７はリフレッシュ手段として機能して、トラックＮ−１をリフレッシュする（ステップ６０９）。そしてコントローラ１７は、ライトカウントＣN-1を初期値０に戻して（ステップ６１０）、前記ステップ７０１に進む。
【００６８】
ステップ７０１においてコントローラ１７は乱数生成手段として機能して、１から２００までの範囲で乱数Ｒｂを生成する。この範囲は、トラックＮへのデータライトによるサイドイレーズ現象のトラックＮ±２への影響が、トラックＮ±１へのそれの５０％であることを考慮して設定される。次にコントローラ１７は乱数判定手段として機能して、生成された乱数Ｒｂが所定値、例えば１であるかを判定する（ステップ７０２）。もし、生成された乱数Ｒｂが１でないならば（ステップ７０２のＮｏ）、コントローラ１７は図６及び図７のフローチャートに従うデータライト処理を終了する。
【００６９】
これに対し、生成された乱数Ｒｂが１であるならば（ステップ７０２のＹｅｓ）、コントローラ１７はインクリメント手段として機能して、トラックＮ＋２のライトカウントＣN+2及びトラックＮ−２のライトカウントＣN-2を、それぞれ１インクリメントする（ステップ７０３）。ステップ７０１で生成される乱数Ｒｂが１となる確率は１／２００である。したがってコントローラ１７は、トラックＮへのデータライト２００回につき１回の割合でライトカウントＣN+2及びＣN-2をそれぞれ１インクリメントする。ライトカウントＣN+2及びＣN-2の初期値は０である。
【００７０】
ライトカウントＣN+2及びＣN-2は、それぞれトラックＮ＋４及びトラックＮ−４へのデータライト２００回につき１回の割合でもインクリメントされる。またライトカウントＣN+2は、前記ステップ６０２〜６０４から容易に理解されるように、トラックＮ＋３及びＮ＋１へのデータライト１００回につき１回の割合でもインクリメントされ、ライトカウントＣN-2は、トラックＮ−１及びＮ−３へのデータライト１００回につき１回の割合でもインクリメントされる。
【００７１】
次にコントローラ１７はライトカウント判定手段として機能して、ライトカウントＣN+2が閾値１００に達しているかを判定する（ステップ７０４）。もし、ライトカウントＣN+2が閾値１００に達していないならば（ステップ７０４のＮｏ）、コントローラ１７は、トラックＮ＋２がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達していないものと推定する。この場合、コントローラ１７はステップ７０７に進む。
【００７２】
これに対し、ライトカウントＣN+2が閾値１００に達しているならば（ステップ７０４のＹｅｓ）、コントローラ１７は、トラックＮ＋２がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達しているものと判断する。この場合、コントローラ１７はリフレッシュ手段として機能して、トラックＮ＋２をリフレッシュする（ステップ７０５）。そしてコントローラ１７は、ライトカウントＣN+2を初期値０に戻して（ステップ７０６）、前記ステップ７０７に進む。
【００７３】
ステップ７０７においてコントローラ１７はライトカウント判定手段として機能して、ライトカウントＣN-2が閾値１００に達しているかを判定する。もし、ライトカウントＣN-2が閾値１００に達していないならば（ステップ７０７のＮｏ）、コントローラ１７は、トラックＮ−２がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達していないものと推定する。この場合、コントローラ１７は図６及び図７のフローチャートに従うデータライト処理を終了する。
【００７４】
これに         対し、ライトカウントＣN-2が閾値１００に達しているならば（ステップ７０７のＹｅｓ）、コントローラ１７は、トラックＮ−２がサイドイレーズ現象の影響を受けた回数の換算値が１０，０００に達しているものと判断する。この場合、コントローラ１７はリフレッシュ手段として機能して、トラックＮ−２をリフレッシュする（ステップ７０８）。そしてコントローラ１７は、ライトカウントＣN-2を初期値０に戻して（ステップ７０９）、図６及び図７のフローチャートに従うデータライト処理を終了する。
【００７５】
第３の変形例においては、例えばトラックＮ＋１のライトカウントＣN+1には、トラックＮへのデータライトだけでなく、トラックＮ＋２へのデータライト、トラックＮ＋３へのデータライト及びトラックＮ−１へのデータライトも、対応するサイドイレーズ現象の及ぼす影響の程度に応じて反映される。このため第３の変形例によれば、例えばトラックＮ＋１へのサイドイレーズ現象の影響が、トラックＮ＋２へのデータライト、トラックＮへのデータライト、トラックＮ＋３へのデータライト及びトラックＮ−１へのデータライトのそれぞれについて独立に判定される前記第１の変形例に比べて、前述の推定精度を向上することができる。これにより不要なリフレッシュの発生を一層抑えることができる。
【００７６】
前記第１及び第３の変形例では、トラックＮへのデータライトによって発生するトラックＮ±２へのサイドイレーズ現象の影響が、トラックＮ±１へのそれの５０％である場合を想定している。しかし、トラックＮ±２へのサイドイレーズ現象の影響が、トラックＮ±１へのそれの５０％であるとは限らない。また、ヘッド１２の状態（例えば、ディスク１１に対する傾きやディスク１１のトラックに対するスキュ角の状態）によっては、トラックＮ±２へのサイドイレーズ現象の影響の方が、トラックＮ±１へのそれよりも大きい場合もあり得る。
【００７７】
前記実施形態及び第１乃至第３の変形例では、リフレッシュ閾値ＣPが、１０，０００である場合を想定している。しかしリフレッシュ閾値ＣPが、１０，０００であるとは限らない。また、リフレッシュ閾値ＣPが、対応するトラックが位置するディスク１１のリング状の領域毎に、例えばディスク１１上の内周領域、中周領域及び外周領域の領域毎に設定されても構わない。また、ディスク１１の両面にそれぞれ対応してヘッドが配置される構成の磁気ディスク装置であれば、リフレッシュ閾値ＣPがヘッド毎に設定されてもよい。また、リフレッシュ閾値ＣPが磁気ディスク装置の環境温度または磁気ディスク装置に加えられる振動のレベルに応じて動的に設定されてもよい。また、リフレッシュ閾値ＣPが、上述のヘッド、ディスク１１上のリング状の領域、環境温度囲及び振動レベルのうちの２つ以上の組み合わせに応じて設定されてもよい。
【００７８】
＜第４の変形例＞
次に前記実施形態の第４の変形例について説明する。  
前記実施形態及び第１乃至第３の変形例は、例えばトラックＮ全体へのデータライト時もトラックＮ内の一部の領域（より詳細には、一部のセクタ群）へのデータライト時にも、隣接するトラックＮ±１全体にサイトイレーズ現象の影響が及ぶことを想定している。このため前記実施形態及び第１乃至第３の変形例では、トラック単位でリフレッシュされる。しかし、隣接するトラックＮ±１にサイトイレーズ現象が影響を及ぼす範囲は、トラックＮ全体へのデータライト時とトラックＮ内の一部の領域へのデータライト時とでは異なる。
【００７９】
図８は、トラックＮ内の一部の領域へのデータライトによるサイトイレーズ現象が隣接トラックＮ±１に影響を及ぼす範囲の典型的な例を示す。  
図８において、トラックＮ内の領域１０１は、データがライトされた領域を示す。トラックＮ＋１及びＮ−１内のそれぞれ領域１０２及び１０３は、領域１０１へのデータライトによるサイトイレーズ現象の影響が及ぶ範囲を示す。
【００８０】
ここで、領域１０１へのデータライトによるサイトイレーズ現象の影響がトラックＮ＋１及びＮ−１全体に及ぼすと想定して、前記実施形態及び第１乃至第３の変形例のようにトラック毎にリフレッシュするものとする。この場合、トラックＮ＋１及びＮ−１内の、本来リフレッシュを必要としない領域もリフレッシュされる。つまりトラック内の一部の領域で不要なリフレッシュが発生する。
【００８１】
そこで第４の変形例は、データライトによるサイトイレーズ現象の影響を受けた範囲だけリフレッシュが行われる構成を適用することを特徴する。ここで、例えば前記実施形態のように乱数のみでライト回数を推測するならば、最小の記録単位であるセクタ毎にリフレッシュが行われる構成を適用することも可能である。つまり、トラックＮ上の第１のセクタ（第１の領域）へのライトに応じて乱数を発生することで、隣接トラックＮ＋１上の対応する第２のセクタ及び隣接トラックＮ−１上の対応する第３のセクタ（第２の領域）へのサイドイレーズ現象の影響を検出することが可能である。しかし実用的には、各トラックを２つ以上のセクタから構成される複数の領域（例えば４つの領域）に区分し、その区分された領域毎にサイドイレーズ現象の影響を検出するとよい。ここで、ディスク１１上の内周と外周とでトラック当たりのセクタ数が異なる磁気ディスク装置では、例えばディスク１１の中心に対するほぼ一定の方位角（例えば９０度）で各トラックを前記複数の領域に区分してもよい。また、第４の変形例において、乱数の生成とトラック毎で且つトラック内の領域毎のライトカウントとを組み合わせてもよい
以上説明した少なくとも１つの実施形態によれば、ライト回数を保持するのに用いられるメモリ容量を不要にするか或いは低減することができ、且つ不要なデータリフレッシュの発生を抑えることができる磁気ディスク装置及び同装置におけるデータリフレッシュ方法を提供することができる。
【００８２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８３】
１１…ディスク、１２…ヘッド、１７…コントローラ（乱数生成手段、乱数判定手段、リフレッシュ手段、インクリメント手段）、１７０…メモリ。
【図１】
2013157047.tif 000003
【図２】
2013157047.tif 000004
【図３】
2013157047.tif 000005
【図４】
2013157047.tif 000006
【図５】
2013157047.tif 000007
【図６】
2013157047.tif 000008
【図７】
2013157047.tif 000009
【図８】
2013157047.tif 000010