(57)【要約】【課題】ホストからの要求に対する応答性能を安定させることができる磁気ディスク装置、及び書き直し処理方法を提供することである。【解決手段】本実施形態に係る磁気ディスク装置は、第１ライトトラックおよび第１ライトトラックと部分的に重なる第２ライトトラックをそれぞれ含む複数のトラック群を有するディスクと、複数のトラック群ごとに、隣接するトラック群へのライト処理に応じたライト回数をカウントするとともにライト回数が所定値に到達する予測時間を演算し、演算した予測時間が近似するトラック群を検出した場合に、予測時間が近似するトラック群の記録データをリードした後に、リードした記録データを近似するトラック群にライトする書き直し処理を予測時間よりも早い時間に実行する処理部と、を備える。【選択図】図１
2016157498.tif 000002
【特許請求の範囲】
【請求項１】
第１ライトトラックおよび前記第１ライトトラックと部分的に重なる第２ライトトラックをそれぞれ含む複数のトラック群を有するディスクと、
前記複数のトラック群ごとに、隣接するトラック群へのライト処理に応じたライト回数をカウントするとともに前記ライト回数が所定値に到達する予測時間を演算し、演算した前記予測時間が近似するトラック群を検出した場合に、当該予測時間が近似するトラック群の記録データをリードした後に、前記リードした記録データを前記近似するトラック群にライトする書き直し処理を前記予測時間よりも早い時間に実行する処理部と、を備える磁気ディスク装置。
【請求項２】
前記処理部は、前記近似するトラック群が複数ある場合、それぞれのトラック群に対する書き直し処理を均等な時間間隔で実行する、請求項１の磁気ディスク装置。
【請求項３】
前記処理部は、前記複数の近似するトラック群同士の予測時間の差が、前記近似するトラック群に対する前記書き直し処理の完了までの所要時間の範囲内にある場合に、前記予測時間が近似すると判断する、請求項１または２の磁気ディスク装置。
【請求項４】
前記処理部は、前記トラック群を径方向で内側領域と外側領域とに領域を分けて前記ライト回数をカウントする、請求項１乃至３のいずれか１の磁気ディスク装置。
【請求項５】
前記処理部は、前記内側領域に隣接するトラック群へのライトに対応する第１のカウント回数と、前記外側領域に隣接するトラック群へのライトに対応する第２のカウント回数とをそれぞれカウントする、請求項４の磁気ディスク装置。
【請求項６】
前記処理部は、前記第１のカウント回数が前記所定値に到達する第１の予測時間と、前記第２のカウント回数が前記所定値に到達する第２の予測時間とを演算し、前記第１の予測時間および前記第２の予測時間のいずれか１つに到達した場合に前記書き直し処理を実行する、請求項５の磁気ディスク装置。
【請求項７】
第１ライトトラックおよび前記第１ライトトラックと部分的に重なる第２ライトトラックをそれぞれ含む複数の第１トラック群を有するディスクを備える磁気ディスク装置に適用する書き直し処理方法であって、
前記複数のトラック群ごとに、隣接するトラック群へのライト処理に応じたライト回数をカウントするとともに前記ライト回数が所定値に到達する予測時間を演算し、
演算した前記予測時間が近似するトラック群を検出した場合に、当該予測時間が近似するトラック群の記録データをリードした後に、前記リードした記録データを前記近似するトラック群にライトする処理を前記予測時間よりも早い時間に実行する、書き直し処理方法。
【請求項８】
第１ライトトラックおよび前記第１ライトトラックと部分的に重なる第２ライトトラックをそれぞれ含む第１トラック群および当該第１トラック群に隣接する第２トラック群を有するディスクと、
前記第２トラック群へのライトが実行された回数であるライト回数と当該ライトが実行された時間であるライト時間とに基づいて、前記第１トラック群の記録データをリードした後に前記リードした記録データを前記第１トラック群にライトする書き直し処理を実行する時間である予測時間を予測し、当該予測時間に基づいて、前記第１トラック群への前記書き直し処理を実行する処理部と、を備える磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ディスク装置、及び書き直し処理方法に関する。
【背景技術】
【０００２】
近年、記録装置の一例である磁気ディスク装置（以下、ＨＤＤとも称する）の高記録容量化を実現するための様々な技術が開発されている。これら技術の一つとして“ＳＭＲ（shingled write magnetic recording）（または、瓦記録方式）”と称される記録技術がある。瓦記録方式は、磁気ディスクへデータをライトする際に、記録トラックを隣接するトラックの一部に対して重ねて記録する方式である。この瓦記録方式を採用することによって、トラック密度（Track Per Inch：ＴＰＩ）を向上することができる。
【０００３】
また、磁気ディスク装置が磁気ディスクへ効率よく瓦記録動作によってライトできるようにライト要求の信号を発行するHost aware/managed型の磁気ディスク装置が提案されている。
【０００４】
瓦記録方式における記録単位であり複数のトラックを含むトラック群（バンド（Band）とも称する）に対してライトすると、隣接するBandに保持されるデータがＡＴＩ（Adjacent Track Interference）と称される磁気的干渉による影響を受ける。このため、ディスク上の所定のBandに繰り返しライトされると、隣接するBandのデータが繰り返し磁気的干渉を受けるために読み取れなくなる（損失する）可能性がある。Host aware/managed型の磁気ディスク装置では、所定のBandにデータを繰り返しライトする可能性がある。
【０００５】
このようなデータが読み取れなくなること（データの損失）を防止するために、磁気ディスク装置ではBand内データを自主的に書き直す（データリフレッシュ）機能が搭載されている。Host aware/managed型の磁気ディスク装置では、一度に複数のBandに対してデータリフレッシュが発生する可能性がある。したがって、ホストからの要求に対する磁気ディスク装置の応答性能が低下する可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６４２９９８４号明細書
【特許文献２】米国特許第８５３１７９１号明細書
【特許文献３】米国特許第７９４５７２７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態が解決しようとする課題は、ホストからの要求に対する応答性能を安定させることができる磁気ディスク装置、及び書き直し処理方法を提供することである。
【課題を解決するための手段】
【０００８】
本実施形態に係る磁気ディスク装置は、第１ライトトラックおよび第１ライトトラックと部分的に重なる第２ライトトラックをそれぞれ含む複数のトラック群を有するディスクと、複数のトラック群ごとに、隣接するトラック群へのライト処理に応じたライト回数をカウントするとともにライト回数が所定値に到達する予測時間を演算し、演算した予測時間が近似するトラック群を検出した場合に、予測時間が近似するトラック群の記録データをリードした後に、リードした記録データを近似するトラック群にライトする書き直し処理を予測時間よりも早い時間に実行する処理部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態の磁気ディスク装置の要部を示すブロック図である。
【図２】図２は、第１の実施形態の磁気ディスク装置に採用されている瓦記録動作を説明するための図である。
【図３】図３は、第１の実施形態のシステム情報の一例を示す図である。
【図４】図４は、第１の実施形態の予測時間の概念を説明するための模式図である。
【図５】図５（ａ）は、データリフレッシュのタイミングチャートの一例を示す図であり、図５（ｂ）は、データリフレッシュのタイミングチャートの他の例を示す図である。
【図６】図６は、第１の実施形態の磁気ディスク装置の処理の一例を示すフローチャートである。
【図７】図７は、第１の実施形態の変形例のシステム情報の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態につき図面を参照して説明する。  
［第１の実施形態］  
図１は、本実施形態に関する磁気ディスク装置２００の要部を示すブロック図である。  
本実施形態の磁気ディスク装置２００は、瓦記録方式（shingled write magnetic recording：ＳＭＲとも呼ぶ）でデータが記録されるHost aware/managed型のＨＤＤである。この瓦記録方式の磁気ディスク装置では、複数のトラック群（Band:バンド）が磁気ディスク（ディスク）上に形成される。Bandは、複数のトラック（または、ライトトラック:write track）で形成される。Bandにおいて、複数のトラックは、それぞれ、一部分が他のトラックに重なるようにライトされるが、最後にライトされるトラックは、重ね書きされない。瓦記録方式の磁気ディスク装置は、Bandを記録単位としてBand毎にシーケンシャルにデータをディスクにライトする。
【００１１】
磁気ディスク装置２００は、後述するヘッドディスクアセンブリ（head-disk assembly：ＨＤＡ）と、ドライバＩＣ２０と、ヘッドアンプ集積回路（以下、ヘッドアンプＩＣ）３０と、揮発性メモリ７０と、不揮発性メモリ８０と、バッファメモリ９０と、１チップの集積回路からなるシステムコントローラ１３０とを備える。
【００１２】
また、磁気ディスク装置２００は、ホストシステム（ホスト）１５０と接続される。Host aware/managed型の磁気ディスク装置２００に接続されるホストシステム１５０は、磁気ディスク装置２００のデータ構成に関する情報、例えば、単一のBandのサイズの情報を保持する。このホストシステム１５０は、各Bandの先頭のＬＢＡ（Logical Block Address）を管理することにより、磁気ディスク装置２００が各Bandに対してライトを実行し易いようにライトコマンドを出力することができる。
【００１３】
以下で本実施形態の磁気ディスク装置２００の構造について説明する。  
ＨＤＡは、磁気ディスク（以下、ディスク）１と、スピンドルモータ（ＳＰＭ）２と、ヘッド１０を搭載しているアーム３と、ボイスコイルモータ（ＶＣＭ）４とを備える。ディスク１は、スピンドルモータ２により回転する。アーム３とＶＣＭ４はアクチュエータを構成している。アクチュエータはＶＣＭ４の駆動により、アーム３に搭載されているヘッド１０をディスク１上の指定の位置まで移動制御する。ディスク１およびヘッド１０は、１つ以上の数が設けられている。
【００１４】
ディスク１は、データ記憶領域として、メディアキャッシュ（media cache）領域１００と、ＳＭＲ領域（瓦記録領域）１１０とを備えている。メディアキャッシュ領域１００は、瓦記録領域１１０のキャッシュである。
【００１５】
メディアキャッシュ領域１００は、例えば、ディスク１上の最外周側に確保される記憶領域であり、瓦記録ではない通常のライト動作によりデータが書きこまれる低いトラック密度（Track Per Inch：ＴＰＩ）のデータ記録領域である。メディアキャッシュ領域１００は、システム情報１０１を備えている。システム情報１０１は、瓦記録領域１１０に関する、ライト／リードされた記憶領域の位置、ライト／リード回数やデータリフレッシュ（書き直し処理）の開始時間等の情報を含む。ここで、データリフレッシュは、所定の記録領域に記録されたデータを一旦リードして、同一の記憶領域にライトする書き直し処理である。本実施形態において、説明の便宜上、データリフレッシュは、所定のBandに記録されたデータを一旦リードして同じBandにライトする処理を表すものとする。システム情報１０１の詳細については、後述する。なお、システム情報１０１は、メディアキャッシュ領域１００以外の他のメモリや記憶媒体に記録されていてもよい。
【００１６】
瓦記録領域１１０は、隣のトラックの一部に重なるようにデータがライトされる高いトラック密度の記録領域である。瓦記録領域１１０は、隣接するトラックに一部分が重ね書きされる少なくとも１つの第１トラックと、最後に重ね書きされる第２トラックとをそれぞれ含む複数のBandを備えている。第２トラックは、第１トラックよりもトラック幅が広い。瓦記録領域１１０には、ユーザデータ等が記録される。
【００１７】
ヘッド１０はスライダを本体として、当該スライダに実装されているライトヘッド１０Ｗ及びリードヘッド１０Ｒを備える。リードヘッド１０Ｒは、ディスク１上のトラックに記録されているデータを読み出す。ライトヘッド１０Ｗは、ディスク１上にデータを書き込む。
【００１８】
ドライバＩＣ２０は、ＳＰＭ２およびＶＣＭ４の駆動を制御する。  
ヘッドアンプＩＣ３０は、リードアンプ及びライトドライバを有する。リードアンプは、リードヘッド１０Ｒにより読み出されたリード信号を増幅して、リード／ライト（Ｒ／Ｗ）チャネル４０に伝送する。一方、ライトドライバは、Ｒ／Ｗチャネル４０から出力されるライトデータに応じたライト電流をライトヘッド１０Ｗに伝送する。
【００１９】
揮発性メモリ７０は、電源供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ７０は、磁気ディスク装置２００の各部での処理に必要なデータ等を格納する。揮発性メモリ７０は、例えば、ＲＡＭ（Random Access Memory）等である。
【００２０】
不揮発性メモリ８０は、電源供給が断たれても保存しているデータを保持する半導体メモリである。不揮発性メモリ８０は、例えば、フラッシュＲＯＭ（Read Only Memory）、ＭＲＡＭ（Magnetoresistive Random Access）等である。
【００２１】
バッファメモリ９０は、送受信されるデータを一時的に格納する半導体メモリである。バッファメモリ９０は、ディスク１とホストシステム１５０との間で送受信されるデータ等を格納する。なお、バッファメモリ９０は、揮発性メモリ７０と一体に構成されていてもよい。
【００２２】
システムコントローラ１３０は、Ｒ／Ｗチャネル４０と、ハードディスクコントローラ（ＨＤＣ）５０と、マイクロプロセッサ（ＭＰＵ（処理部））６０とを含む。  
Ｒ／Ｗチャネル４０は、リードデータ及びライトデータの信号処理を実行する。  
ＨＤＣ５０は、ホストシステム１５０とＲ／Ｗチャネル４０との間のデータ転送を制御する。ＨＤＣ５０は、ディスク制御部５１と、ホスト制御部５２と、コマンド制御部５３と、バッファ制御部５４とを備える。これらは、それぞれ、ＨＤＣ５０においてbus（バス）等を介して接続されている。
【００２３】
ディスク制御部５１は、Ｒ／Ｗチャネル４０と接続されており、ディスク１の制御を行う。  
ホスト制御部５２は、ホストシステム１５０とＲ／Ｗチャネル４０との間のデータ転送の制御を行う。  
コマンド制御部５３は、ホストシステム１５０から受信するライトコマンドまたはリードコマンドに関する制御を行う。  
バッファ制御部５４は、バッファメモリ９０と接続されており、バッファメモリ９０へのデータの送受信を制御する。バッファ制御部５４は、例えば、ディスク１から読み出したデータ、ディスク１に書き込むデータ等をバッファメモリ９０に一時的に格納する。
【００２４】
ＭＰＵ６０は、磁気ディスク装置２００の各部を制御するメインコントローラである。ＭＰＵ６０は、ドライバＩＣ２０を介してＶＣＭ４を制御し、ヘッド１０の位置決めを行なうサーボ制御を実行する。さらに、ＭＰＵ６０は、ディスク１に対するデータの書き込み動作を制御すると共に、ホストシステム１５０から転送される書き込みデータの保存先を選択する制御を実行する。ここで、ＭＰＵ６０の制御による書き込み動作には、瓦記録方式の動作を含む。
【００２５】
図２は、本実施形態の磁気ディスク装置２００に採用されている瓦記録動作を説明するための図である。図２は、ディスク１の一部を拡大した図である。図２において、一例として、Bandは、それぞれ、４つのトラック(Track0、Trac1、Track2、およびTrack3)で形成されている。なお、Bandに含まれるトラックの数は、４つとは限らない。
【００２６】
磁気ディスク装置２００では、ライトヘッド１０Ｗによりディスク１上にデータが書き込まれることにより、ディスク１上の径方向にトラック（データトラック）が構成される。瓦記録方式では、各Trackが瓦記録領域１１０にシーケンシャルに重ね書きされる。図２において、ライトヘッド１０Ｗは、各Band内にトラック番号０、１、２、３（Track0, Track1, Track2, Track3）の順にデータをライトする。これらのBandの間にはデータの上書き等を防止するためにガード領域（または、ギャップ（Gap））が配置されている。したがって、各BandのTrack0〜2は、次にライトされるトラックから片側を重ね書きされて、データ信号幅が細くなる。一方、各BandのTrack3は、重ね書きされないためTrack0〜2よりも太いデータ信号幅を保持する。
【００２７】
このようなシーケンシャルな重ね書きを行う瓦記録方式であれば、各トラック同士の間隔を狭く設計することができるため、ディスク１上に構成されるデータトラックの高密度化が可能となる。
【００２８】
図１に戻って、ＭＰＵ６０は、ライトカウント管理部６２と、予測時間算出部６４と、データリフレッシュ管理部６６とを備えている。ＭＰＵ６０は、システム情報１０１を参照して、これらのモジュールの各々を制御する。なお、ライトカウント管理部６２、予測時間算出部６４、およびデータリフレッシュ管理部６６の処理は、ファームウェア上で実行される。
【００２９】
はじめに、図面を参照して本実施形態のシステム情報１０１について説明する。  
図３は、本実施形態のシステム情報の一例を示す図である。  
本実施形態において、システム情報１０１は、予測時間テーブルＧ１と、データリフレッシュの初期開始時間Ｔｄ０と、データリフレッシュの開始時間Ｔｄと、データリフレッシュ時間ｍと、現在時間Ｔｎとを含む。
【００３０】
予測時間テーブルＧ１は、後述するライト回数の閾値（データリフレッシュ閾値）Ｋ、対象とするBandの両側に隣接するBandにライトされた回数（ライト処理の実行回数）を示すライト回数（ｋ’、ｋ）、両側に隣接するBandにライトが実行された時間を示すライト時間（ｔ’、ｔ）、及び予測時間Ｔ等を含むテーブルである。ここで、ｔは、現時点（後述する現在時間Ｔｎ）の直前、例えば、ライト回数で１回前に実行されたライトのライト時間であり、ｋは、時間ｔでのライト回数であり、ｔ’は、時間ｔで実行されたライトの１回前に実行されたライトのライト時間であり、ｋ’は、時間ｔ’でのライト回数ある。また、予測時間は、データリフレッシュが開始されるべき時間である。予測時間は、閾値Ｋ、ライト回数（ｋ’、ｋ）やライト時間（ｔ’、ｔ）に基づいて予測され、更新される。ライト回数の閾値Ｋは、対象とするBandにデータリフレッシュを実行する必要があるライト回数である。閾値Ｋは、全てのBandで同一の値でもよいし、Band毎に異なる値に設定されていてもよい。
【００３１】
データリフレッシュの初期開始時間（以下、初期開始時間）Ｔｄ０は、データリフレッシュを開始する予定の時間の初期値である。初期開始時間Ｔｄ０は、磁気ディスク装置２００が出荷後ユーザによって初めて起動された時間からの累計時間（以下、初起動時からの累積時間）で示される。初期開始時間Ｔｄ０は、製造段階等に予め設定されている。初期開始時間Ｔｄ０は、記憶領域、例えば、全てのBandに対して同一の値であり、磁気ディスク装置２００の寿命時間に対してかなり大きい数値に設定される。
【００３２】
データリフレッシュの開始時間（以下、開始時間）Ｔｄは、現時点（後述する現在時間Ｔｎ）から直近で実行されるべきデータリフレッシュを開始する予定の時間である。開始時間Ｔｄは、初起動時からの累積時間で示される。開始時間Ｔｄは、現時点（後述する現在時間Ｔｎ）での予測時間テーブルＧ１の予測時間Ｔから推定される。したがって、開始時間Ｔｄは、予測時間Ｔが更新される度に更新される。予測時間Ｔが算出されない場合、開始時間Ｔｄ＝Ｔｄ０として設定される。例えば、予測時間Ｔが算出されない状況として、初期起動の直後や、データリフレッシュの実行直後等が挙げられる。
【００３３】
データリフレッシュ時間ｍは、単一のBandに対してデータリフレッシュが開始されてから完了するまでの時間（所要時間）である。本実施形態において、データリフレッシュ時間ｍは、全Bandで同一である。なお、データリフレッシュ時間ｍは、Band毎に設定されてもよい。
【００３４】
現在時間Ｔｎは、初起動時からの累積時間である。説明の便宜上、以下で、時間の単位は、秒（second）とする。なお、時間の単位は、時間（hour）または分（minute）等であってもよいし、磁気ディスク装置２００で設定される任意の値であってもよい。
【００３５】
次に、図１に戻り、ＭＰＵ６０のライトカウント管理部６２、予測時間算出部６４、およびデータリフレッシュ管理部６６について説明する。  
ライトカウント管理部６２は、ディスク１上のライト回数を管理する。本実施形態では、ライトカウント管理部６２は、対象とするBandの両側に隣接するBandの何れかのBandへのライト回数をカウントし、隣接するBandがライトされる度にシステム情報１０１のライト回数を更新する。例えば、図３の予測時間テーブルＧ１において、Band1にデータがライトされた場合、ライトカウント管理部６２は、Band0およびBand2のライト回数ｋを増加（インクリメント）し、Band0およびBand2のライト時間tを、Band1にライトした時点での現在時間Ｔｎに更新する。このとき、ライトカウント管理部６２は、更新前のBand0及びBand2のライト回数kを直前のライト回数k’とし、更新前のBand0およびBand2のライト時間tを直前のライト時間ｔ’とする。ライト回数kが閾値Kに到達してデータリフレッシュが実行された場合、ライトカウント管理部６２は、システム情報１０１（予測時間テーブルＧ１）のライト回数ｋを現在の値よりも小さい値、例えば、０に更新する。ただし、予測時間テーブルＧ１のライト時間ｔは、維持される。
【００３６】
予測時間算出部６４は、対象とするBand予測時間Ｔを算出する。予測時間算出部６４は、算出結果をシステム情報１０１（予測時間テーブルＧ１）へ記録する。予測時間算出部６４は、ライト回数の増加率とライト時間の時間間隔とから導出される近似直線を参照して予測時間を算出する。なお、予測時間を算出するための式は、プログラムとして予め製造段階に設定されていてもよいし、ユーザが任意に設定可能な構成でもよい。例えば、データリフレッシュが実行された直後、予測時間算出部６４は、予測時間テーブルＧ１の予測時間Ｔを初期開始時間Ｔｄ０に設定する。
【００３７】
図４は、本実施形態の予測時間の概念を説明するための模式図である。  
図４は、同一の１つのBandに対してデータリフレッシュが繰り返し実行される場合の予測時間の概念を示す図である。図４において、予測時間Ｔ（１）は、最初のデータリフレッシュが実行される予定の予測時間Ｔであり、予測時間Ｔ（２）は、予測時間Ｔ（１）後の２回目のデータリフレッシュが実行される予定の予測時間Ｔである。なお、図４において、初期開始時間Ｔｄ０は、初期起動時（ｔ＝０）からかなり離れた時間に設定されているものとする。図４において、参照符号Ｔｄは、前述の開始時間を示す。
【００３８】
以下で、図４に示す初期起動時からＴ（１）までの範囲（０＜ｔ≦Ｔ（１））を参照して予測時間Ｔの導出方法の一例を示す。  
図４に示すように、予測時間算出部６４は、ライト回数（ｋ、ｋ’）の増加率とライト時間（ｔ、ｔ’）の時間間隔とから導出される以下の式を参照して予測時間Ｔを算出する。  
Ｔ＝ｔ＋（Ｋ−ｋ）／（ｋ−ｋ’）×（ｔ−ｔ’）・・・式（１）
隣接するBandにライトされる度に予測時間Ｔを算出するものとすると、ｋ−ｋ’＝１であるので、予測時間算出部６４は、以下の式から予測時間Ｔを算出することができる。  
Ｔ＝ｔ＋（Ｋ−ｋ）×（ｔ−ｔ’）・・・式（２）
本実施形態において、予測時間算出部６４は、予測時間テーブルＧ１のライト回数（ｋおよびｋ’）及びライト時間（ｔおよびｔ’）が更新されることに応じて前述の式（２）を用いて予測時間Ｔを算出し、予測時間テーブルＧ１の予測時間Ｔを更新する。ここで、予測時間算出部６４は、初期起動時（ｔ＝０）とデータリフレッシュ実行時（Ｔ（１）、Ｔ（２））には、前述の式（２）で予測時間Ｔを算出せずに、初期開始時間Ｔｄ０を予測時間Ｔとして設定する。  
図４において、最初のデータリフレッシュが予測時間Ｔ（１）で実行された後に、予測時間算出部６４は、２回目のデータリフレッシュの予測時間Ｔ（２）を算出する。このとき、予測時間算出部６４は、予測時間Ｔ（１）から予測時間Ｔ（２）までの間（Ｔ（１）＜ｔ≦Ｔ（２））で、最初のデータリフレッシュと同様に式（２）を使用して予測時間Ｔ（２）を導出する。なお、初期起動時から予測時間Ｔ（１）までの時間と、最初のデータリフレッシュが実行された後（予測時間Ｔ（１））から予測時間Ｔ（２）までの時間とは、同じであるとは限らない。
【００３９】
また、図４において、説明の便宜上、初期起動時から予測時間Ｔ（１）まで一定の時間間隔で（直線的に）ライト回数ｋが増えているように記載しているが、予測時間Ｔ（１）までの間にライト回数ｋの増加率は、変動し得る。すなわち、図４において、時間ｔ毎にライト回数ｋの傾きが、変動する可能性がある。このような場合、例えば、図４の初期起動時から予測時間Ｔ（１）までの間で閾値Ｋと時間（例えば、ライト時間ｔ）との関係は、直線ではなく折れ線で表示されることになる。
【００４０】
また、予測時間算出部６４は、ライト回数が少ない場合には予測時間Ｔの精度が低いと判断して、算出した予測時間Ｔを延長する処理をするように構成されていてもよい。ライト回数が少ない場合には、ライト回数が閾値に実際に到達する時間と予測時間Ｔとの間に誤差が生じ得る。したがって、予測時間算出部６４が予測時間Ｔの精度が低いと判断することによって、この誤差を軽減することができる。
【００４１】
データリフレッシュ管理部６６は、ディスク１上でのデータリフレッシュを管理する。データリフレッシュ管理部６６は、システム情報１０１を参照して定期的にディスク１上の記録領域でデータリフレッシュの必要な領域を検索し、データリフレッシュが必要な記録領域を検出した際にこの記憶領域に対してデータリフレッシュを実行する。
【００４２】
データリフレッシュ管理部６６は、所定のBandのライト回数がデータリフレッシュ閾値に到達した場合、現在時間Ｔｎが所定のBandのデータリフレッシュの開始時間Ｔｄに到達した場合、または現在時間Ｔｎが所定のBandの予測時間Ｔに到達した場合のいずれかを検出した際に所定のBandに対してデータリフレッシュを実行する。なお、データリフレッシュ管理部６６は、データリフレッシュを実行した直後、データリフレッシュの開始時間Ｔｄをリセットし、初期開始時間Ｔｄ０に設定する。
【００４３】
また、データリフレッシュ管理部６６は、予測時間Tが近い複数のBandを検出した場合、これらのBandの予測時間Tからデータリフレッシュを実行する順番を設定し、設定した順番に従ってデータリフレッシュを順次実行する。この場合、データリフレッシュ管理部６６は、予測時間Ｔよりも早く、且つ予測時間Ｔが近い複数のBand（Band群）に対してデータリフレッシュを開始し、均等な時間間隔でこれらのデータリフレッシュを実行する。
【００４４】
以下で、図面を参照して予測時間の近い複数のBandに対するデータリフレッシュ処理の一例を示す。  
データリフレッシュ管理部６６は、予測時間Ｔが近い複数のBandを検出する場合、各予測時間Ｔの時間間隔がデータリフレッシュ時間ｍより小さいかを判断する。各予測時間Ｔの時間間隔がデータリフレッシュ時間ｍより小さい場合、データリフレッシュ管理部６６は、データリフレッシュ時間ｍより小さい複数の予測時間Ｔを“予測時間が近似している”と判断する。また、各予測時間Ｔの時間間隔がデータリフレッシュ時間ｍより小さくない場合、データリフレッシュ管理部６６は、データリフレッシュ時間ｍより小さくない複数の予測時間Ｔを“予測時間が離れている”と判断する。
【００４５】
例えば、図３のシステム情報１０１に含まれるデータリフレッシュ時間ｍが２秒であるとする。また現在時間ＴｎがBand2の予測時間Ｔ（7208（秒））に近づいているものとする。ここで、Band2に対してデータリフレッシュを実行する場合に、データリフレッシュ管理部６６は、Band2の予測時間Ｔ（7208（秒））との差がデータリフレッシュ時間ｍの２秒の範囲にあるBand1およびBand4の予測時間Ｔ（7210（秒））が近いと判断する。さらに、データリフレッシュ管理部６６は、Band1およびBand4の予測時間Ｔ（7210（秒））との差がデータリフレッシュ時間ｍ（２秒）の範囲にあるBand0の予測時間Ｔ（7211（秒））が近いと判断する。データリフレッシュ管理部６６は、このようにして予測時間Ｔがデータリフレッシュ時間ｍの範囲内にあるBandが検出されなくなるまで予測時間Ｔが近づいているBandを検出する。
【００４６】
データリフレッシュ管理部６６は、予測時間Ｔが近いBandの検出を終了すると、データリフレッシュを実行する順番を設定する。このとき、データリフレッシュ管理部６６は、予測時間Ｔの早いBandから優先的にデータリフレッシュを実行するように設定する。
【００４７】
例えば、図３の予測時間テーブルＧ１を参照して、データリフレッシュ管理部６６は、予測時間Ｔが近いと判断したBand群（Band0、Band1、Band2、およびBand4）の中で予測時間Ｔが最も早いBand2に対して優先的にデータリフレッシュを実行するように設定する。予測時間Ｔが同一である場合、データリフレッシュ管理部６６は、直前のライト回数ｋが大きいBandから優先的にデータリフレッシュを実行するように設定する。図３において、予測時間Ｔは、Band1及びBand4で同じであり、直前のライト回数ｋは、Band4よりBand1の方が大きい。この場合、データリフレッシュ管理部６６は、Band4よりもBand1に対して優先的にデータリフレッシュを実行するように設定する。そして、データリフレッシュ管理部６６は、予測時間が近いBand群の中で予測時間の最も遅いBand0に対して最後にデータリフレッシュを実行するように設定する。
【００４８】
データリフレッシュを実行する順番を設定した後、データリフレッシュ管理部６６は、データリフレッシュの実行のタイミングおよび時間間隔を設定する。データリフレッシュ管理部６６は、現在時間Ｔｎと複数のBandの数ｎとデータリフレッシュ時間ｍとから予測時間が近いBand群の全てのデータリフレッシュを実行するために必要な時間を算出する。
【００４９】
データリフレッシュ管理部６６は、ほぼ同じ予測時間のBand群内で最後にデータリフレッシュが実行されるBand以外のデータリフレッシュに必要な合計時間（ｍ×（ｎ−１））と現在時間Ｔｎから最後に実行されるデータリフレッシュの予測時間（最終予測時間）Ｔｅまでの時間差（Ｔｅ−Ｔｎ）と、を算出する。
【００５０】
データリフレッシュ管理部６６は、算出した合計時間（ｍ×（ｎ−１））と時間差（Ｔｅ−Ｔｎ）とを比較し、合計時間（ｍ×（ｎ−１））よりも時間差（Ｔｅ−Ｔｎ）が大きい時間Ｔｎまでにデータリフレッシュを実行する。
【００５１】
以下でデータリフレッシュの実行のタイミングの幾つかの例を示す。  
図５（ａ）および（ｂ）は、データリフレッシュのタイミングチャートの一例を示す図である。図５（ａ）および（ｂ）において、Ｄ１、Ｄ２、Ｄ３およびＤ４は、それぞれ、データリフレッシュを示す。例えば、Ｄ１は、Band2のデータリフレッシュを示し、Ｄ２は、Band1のデータリフレッシュを示し、Ｄ３は、Band4のデータリフレッシュを示し、Ｄ４は、Band0のデータリフレッシュを示す。また、図５（ａ）および（ｂ）において、参照符号Ｔｄ１およびＴｄ２は、それぞれ、現時点から直近で実行されるべきデータリフレッシュを開始する予定の時間を示す。言い換えると、参照符号Ｔｄ１およびＴｄ２は、予測時間の近い複数のBandがある場合に最初に実行されるデータリフレッシュの開始時間を示す。図５（ａ）において、ΔＴ１は、それぞれ、各Bandのデータリフレッシュの間の時間間隔を示す。
【００５２】
図５（ａ）に示す一例では、データリフレッシュ管理部６６は、各Bandのデータリフレッシュの間に所定の時間間隔ΔＴ１を設けるように実行する。時間間隔ΔＴ１は、システム情報１０１に含まれている。また、時間間隔ΔＴ１は、予め設定されていてもよいし、磁気ディスク装置２００の外部から任意に設定されてもよい。データリフレッシュ管理部６６は、システム情報１０１を参照して、データリフレッシュ開始時間を以下の式から算出する。  
Ｔｄ１＝（Ｔｅ―（ｎ−１）×（ｍ＋ΔＴ１））・・・式（３）
データリフレッシュ管理部６６は、現在時間Ｔｎがデータリフレッシュ開始時間Ｔｄ１に到達した際に設定した順序に従ってデータリフレッシュを実行する。つまり、データリフレッシュ間には時間間隔ΔＴ１が設けられる。
【００５３】
図５（ａ）に示すように、４つのデータリフレッシュが実行される場合、データリフレッシュ開始時間Ｔｄ１＝（Ｔｅ―３（ｍ＋ΔＴ１））で表される。この場合、データリフレッシュ管理部６６は、データリフレッシュ開始時間Ｔｄ１にデータリフレッシュＤ１を開始し、データリフレッシュＤ１の終了後に時間間隔ΔＴ１を空けて、次のデータリフレッシュＤ２を実行する。同様に、データリフレッシュ管理部６６は、データリフレッシュＤ２の終了後に時間間隔ΔＴ１を空けて、データリフレッシュＤ３を実行し、データリフレッシュＤ３の終了後に時間間隔ΔＴ１を空けて、最後にデータリフレッシュＤ４を実行する。このように、データリフレッシュ管理部６６は、時間的に均等にデータリフレッシュを実行することができる。
【００５４】
図５（ｂ）に示す一例では、データリフレッシュ管理部６６は、システム情報１０１を参照して、データリフレッシュ開始時間Ｔｄ２を以下の式から算出する。  
Ｔｄ２＝（Ｔｅ―（ｎ−１）×ｍ）・・・式（４）
データリフレッシュ管理部６６は、現在時間Ｔｎがデータリフレッシュ開始時間Ｔｄ１に到達した際に設定した順序に従って各Bandにデータリフレッシュを実行する。図５（ｂ）において、データリフレッシュ管理部６６は、現在時間Ｔｎがデータリフレッシュ開始時間Ｔｄ２に達した際に、データリフレッシュＤ１を開始し、続いてデータリフレッシュＤ２およびＤ３を順次実行する。最後に、データリフレッシュ管理部６６は、予測時間である最終予測時間ＴｅにデータリフレッシュＤ４を開始する。このように、データリフレッシュ管理部６６は、時間的に均等にデータリフレッシュを実行することができる。
【００５５】
予測時間の近い複数のBandが検出された場合、データリフレッシュ管理部６６は、データリフレッシュを実行する順番を設定した後、状況に応じて以上に示した幾つかの例のタイミングでデータリフレッシュを実行することができる。なお、最後に実行されるデータリフレッシュが最終予測時間Ｔｅから開始する例のみを記載したが、データリフレッシュ管理部６６は、最終予測時間Ｔｅより前に予測時間の近い全てのBandに対してデータリフレッシュを実行するように構成されていてもよい。例えば、図５（ａ）および図５（ｂ）において、データリフレッシュ管理部６６は、最終予測時間Ｔｅの前に全て終了するようにデータリフレッシュＤ１〜Ｄ４を実行してもよい。
【００５６】
図６は、本実施形態の磁気ディスク装置２００のデータリフレッシュ処理の一例を示すフローチャートである。  
Ｂ６０１において、磁気ディスク装置２００は、起動され、ホストシステム１５０からライトコマンドを取得し、Ｂ６０２の処理に進む。Ｂ６０２において、磁気ディスク装置２００は、ホストシステム１５０から受けたライトコマンドを実行し、ライトカウント管理部６２は予測時間テーブルＧ１を更新してＢ６０３の処理に進む。
【００５７】
Ｂ６０３において、ＭＰＵ６０は、予測時間テーブルＧ１の予測時間Ｔを参照するかどうかを判断する。予測時間Ｔを参照する場合（Ｂ６０３のＹｅｓ）、Ｂ６０４において、ＭＰＵ６０（データリフレッシュ管理部６６）は、予測時間が近いBandを検索し、Ｂ６０５の処理に進む。  
一方で、予測時間Ｔを参照しない場合（Ｂ６０３のＮｏ）、Ｂ６１１の処理へ進む。
【００５８】
Ｂ６０５において、データリフレッシュ管理部６６は、予測時間の近いBandがあるかどうかを判断する。予測時間の近いBandが複数あると判断した場合（Ｂ６０５のＹｅｓ）、Ｂ６０６において、データリフレッシュ管理部６６は、データリフレッシュを実行する順番を設定し、Ｂ６０７の処理に進む。
【００５９】
Ｂ６０７において、データリフレッシュ管理部６６は、Ｂ６０６に設定した順序に従ってデータリフレッシュを実行するように開始時間Ｔｄを設定し、Ｂ６０８の処理に進む。このとき、データリフレッシュ管理部６６は、複数のデータリフレッシュを時間的に均等に実行するように開始時間Ｔｄを設定する。  
一方で、予測時間の近いBandがないと判断した場合（Ｂ６０５のＮо）、Ｂ６０８の処理に進む。
【００６０】
Ｂ６０８において、データリフレッシュ管理部６６は、予測時間に達したBandがあるかどうかを判断する。予測時間に達したBandがあると判断した場合（Ｂ６０８のＹｅｓ）、Ｂ６０９において、データリフレッシュ管理部６６は、予測時間に達したBandにデータリフレッシュを実行し、Ｂ６１０の処理に進む。このとき、Ｂ６０６及びＢ６０７で設定が実行された場合には、データリフレッシュ管理部６６は、設定に従って予測時間の近い複数のBandに対してデータリフレッシュを順次実行する。  
一方で、予測時間に達したBandがないと判断した場合（Ｂ６０８のＮｏ）、Ｂ６１１の処理に進む。
【００６１】
Ｂ６１０において、データリフレッシュ管理部６６は、データリフレッシュの開始時間Ｔｄをリセットし、内部実行処理を終了し、Ｂ６１３の処理へ進む。  
Ｂ６１１において、データリフレッシュ管理部６６は、ライト回数が閾値に達したBandを検索する。Ｂ６１２において、データリフレッシュ管理部６６は、ライト回数が閾値に達したBandがあるかどうかを判断する。ライト回数が閾値に達したBandがあると判断した場合（Ｂ６１２のＹｅｓ）、Ｂ６０９の処理へ進む。ライト回数が閾値に達したBandがないと判断した場合（Ｂ６１２のＮｏ）、Ｂ６１３の処理へ進む。
【００６２】
Ｂ６１３において、ＭＰＵ６０は、ホストシステム１５０からコマンドが送られているかどうかを判断する。ホストシステム１５０からコマンドが送られていると判断した場合（Ｂ６１３のＹｅｓ）、Ｂ６０１の処理へ戻る。ホストシステム１５０からコマンドが送られていないと判断した場合（Ｂ６１３のＮｏ）、スタンバイの状態となる。
【００６３】
本実施形態の磁気ディスク装置２００は、ホストシステム１５０からライトコマンドを受けた際に、データリフレッシュの実行に関する予測時間を算出し、複数のBandでデータリフレッシュを実行するタイミングが重なるか否かを予測する。磁気ディスク装置２００は、複数のBandでのデータリフレッシュを実行するタイミングが重ならないようにＭＰＵ６０（データリフレッシュ管理部６６）で制御する。さらに、磁気ディスク装置２００は、複数のデータリフレッシュを時間的に分散させて実行することもできる。したがって、本実施形態の磁気ディスク装置２００は、複数のBandが同じタイミングでデータリフレッシュを実行することを防止できる。その結果、本実施形態の磁気ディスク装置２００は、ホストシステム１５０のコマンドに対して安定した応答性能で処理することができる。
【００６４】
次に第１の実施形態に係る磁気ディスク装置の変形例について説明する。実施形態の変形例において、前述した第１の実施形態と同一の部分には同一の参照符号を付してその詳細な説明を省略する。
【００６５】
（変形例）  
第１の実施形態の変形例の磁気ディスク装置２００は、第１の実施形態とほぼ同等の構成であるが、各Bandを内側領域と外側領域とに分けてデータリフレッシュを管理する。
【００６６】
図７は、本実施形態の変形例のシステム情報１０１の一例を示す図である。  
変形例のシステム情報１０１は、予測時間テーブルＧ２を含む。予測時間テーブルＧ２は、各Bandの領域が内周側(inner)と外周側（outer）とに分けられている。
【００６７】
ライトカウント管理部６２は、ディスク１上で対象とするBandに対して内側のBandへライトされた場合、図７に示される各Bandのinnerのライト回数（第１のライト回数）をカウントし、ディスク１上で対象とするBandに対して外側のBandへライトされた場合、図７に示される各Bandのouterのライト回数（第２のライト回数）をカウントする。
【００６８】
予測時間算出部６４は、図７の各Bandのinner及びouterのライト回数（ｋおよびｋ’）及びライト時間（ｔおよびｔ’）が更新される度に予測時間Ｔを算出し、予測時間テーブルＧ２の予測時間Ｔを更新する。
【００６９】
データリフレッシュ管理部６６は、図７に示すような所定のBandのinner又はouterのいずれかがデータリフレッシュを実行する条件を満たした場合に、この所定のBand全体に対してデータリフレッシュを実行する。例えば、データリフレッシュ管理部６６は、第１のライト回数が閾値に到達する予測時間（第１の予測時間）と第２のライト回数が閾値に到達する予測時間（第２の予測時間）とを算出し、現在時間Ｔｎが第１の予測時間および第２の予測時間のいずれか１つに到達した場合に所定のBandにデータリフレッシュを実行する。
【００７０】
変形例の磁気ディスク装置は、第１の実施形態の磁気ディスク装置よりも精度の高い予測時間を算出できる。したがって、変形例の磁気ディスク装置は、第１の実施形態の磁気ディスク装置よりも安定した応答性能を提供できる。
【００７１】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７２】
１…ディスク、２…スピンドルモータ（ＳＰＭ）、３…アクチュエータ、４…ボイスコイルモータ（ＶＣＭ）、１０…ヘッド、１０Ｗ…ライトヘッド（記録ヘッド）、１０Ｒ…リードヘッド（再生ヘッド）、２０…ドライバＩＣ、３０…ヘッドアンプＩＣ、４０…Ｒ／Ｗチャネル、５０…ハードディスクコントローラ（ＨＤＣ）、６０…マイクロプロセッサ（ＭＰＵ）、７０…揮発性メモリ、８０…不揮発性メモリ、９０…バッファメモリ、１００…メディアキャッシュ領域、１０１…システム情報、１１０…瓦記録領域、１３０…システムコントローラ、１５０…ホストシステム、２００…ディスクドライブ（ディスク装置）。
【図１】
2016157498.tif 000003
【図２】
2016157498.tif 000004
【図３】
2016157498.tif 000005
【図４】
2016157498.tif 000006
【図５】
2016157498.tif 000007
【図６】
2016157498.tif 000008
【図７】
2016157498.tif 000009