(57)【要約】    【課題】  磁気ディスクに情報を記憶してから年月が経過しても再生時にエラーが発生しない磁気ディスク装置を提供する。    【解決手段】    磁気ディスクは、記憶領域が複数のセクタＳＴ１で区分されている。タイム・スタンプ記録媒体には、セクタＳＴ１に記憶したセクタ・データｍ１のそれぞれに対応するタイム・スタンプＴＰ１を記憶する。プロセッサは、セクタＳＴ１の中のいずれかのセクタＳＴ２に記憶したセクタ・データｍ２のタイム・スタンプＴＰ２を読み取り、読み取ったときの時刻情報とタイム・スタンプＴＰ２から求めたセクタ・データの経過期間に基づいて選択したセクタ・データｍ３を、リフレッシュするように磁気ディスク装置を制御する。【選択図】      図４
2005267702.tif 000002
【特許請求の範囲】
【請求項１】
ホスト・コンピュータとの通信が可能な磁気ディスク装置であって、
記憶領域が複数のセクタで区分された磁気ディスクと、
前記複数のセクタに記憶したセクタ・データのそれぞれに対応するタイム・スタンプを記憶するタイム・スタンプ記録媒体と、
前記複数のセクタの中のいずれかのセクタに記憶したセクタ・データのタイム・スタンプを読み取り、読み取ったときの時刻情報と前記読み取ったタイム・スタンプから計算したセクタ・データの経過期間に基づいて選択したセクタ・データをリフレッシュするように前記磁気ディスク装置の構成要素を制御するプロセッサと
を有する磁気ディスク装置。
【請求項２】
前記タイム・スタンプを読み取ったセクタ・データが前記ホスト・コンピュータからデータの読み取り指示がされたセクタ・データである請求項１記載の磁気ディスク装置。
【請求項３】
前記プロセッサは、前記選択したセクタ・データをリフレッシュする前に前記読み取り指示がされたセクタ・データを前記ホスト・コンピュータに送る請求項２記載の磁気ディスク装置。
【請求項４】
前記選択したセクタ・データのアドレスを揮発性メモリに記憶して、前記磁気ディスク装置のパワー・セーブ・モード又は電源停止モードの中で前記選択したセクタ・データをリフレッシュする請求項１記載の磁気ディスク装置。
【請求項５】
前記プロセッサは、前記リフレッシュしたセクタ・データのタイム・スタンプをリフレッシュのタイミングに相当する時刻情報で更新する請求項１記載の磁気ディスク装置。
【請求項６】
前記タイム・スタンプ記録媒体が前記磁気ディスクである請求項１記載の磁気ディスク装置。
【請求項７】
前記磁気ディスクの各セクタの位置毎に前記タイム・スタンプを記憶する領域を設けた請求項６記載の磁気ディスク装置。
【請求項８】
前記タイム・スタンプをＥＣＣコードに組み込んである請求項７記載の磁気ディスク装置。
【請求項９】
前記読み取ったときの時刻情報を前記タイム・スタンプを読み取ったセクタ・データを記憶した時点から前記タイム・スタンプを読み取る時点までに計測した前記磁気ディスク装置の周囲温度プロファイルで補正した請求項１記載の磁気ディスク装置。
【請求項１０】
前記周囲温度プロファイルで補正した時刻情報を前記ホスト・コンピュータから受け取る請求項９記載の磁気ディスク装置。
【請求項１１】
ホスト・コンピュータとの通信が可能な磁気ディスク装置であって、
記憶領域が複数のセクタで区分された磁気ディスクと、
前記複数のセクタに記憶したセクタ・データのそれぞれに対応するタイム・スタンプを記憶するタイム・スタンプ記録媒体と、
前記ホスト・コンピュータから送られたリフレッシュ・コマンドに応答して該リフレッシュ・コマンドで指定されたセクタのタイム・スタンプを読み取り、読み取ったときの時刻情報と前記タイム・スタンプから求めたセクタ・データの経過期間に基づいて選択したセクタ・データをリフレッシュするように前記磁気ディスク装置の構成要素を制御するプロセッサと
を有する磁気ディスク装置。
【請求項１２】
前記ホスト・コンピュータから指示されたセクタが前記磁気ディスクのすべてのセクタである請求項１１記載の磁気ディスク装置。
【請求項１３】
前記リフレッシュ・コマンドが前記磁気ディスクに書き込んだすべてのセクタ・データの読み取り検査を行うコマンドを含む請求項１２記載の磁気ディスク装置。
【請求項１４】
前記プロセッサが、前記ホスト・コンピュータに対してリフレッシュ要求コマンドを送る請求項１１記載の磁気ディスク装置。
【請求項１５】
記憶領域がセクタ・データを記憶する複数のセクタで区分された磁気ディスクを備える磁気ディスク装置に接続されたホスト・コンピュータであって、
前記ホスト・コンピュータの動作を制御するプロセッサと、
前記磁気ディスク装置の各セクタに記憶したタイム・スタンプを保持するファイル管理テーブルと、
前記ファイル管理テーブルに記憶したタイム・スタンプと現在時刻情報から計算したセクタ・データの経過期間に基づいて選択したセクタ・データに対して前記プロセッサにリフレッシュを実行させるリフレッシュ・プログラムを記憶した記録媒体と
を有するホスト・コンピュータ。
【請求項１６】
前記セクタ・データのリフレッシュをクラスタ毎に行う請求項１５記載のホスト・コンピュータ。
【請求項１７】
ホスト・コンピュータとの通信が可能な磁気ディスク装置において、磁気ディスクの複数のセクタに記憶したセクタ・データをリフレッシュする方法であって、
前記ホスト・コンピュータからリフレッシュ・コマンドを受け取るステップと、
前記リフレッシュ・コマンドで指定されたセクタ・データのタイム・スタンプを読み取るステップと、
読み取ったときの時刻情報と前記タイム・スタンプから前記リフレッシュ・コマンドで指定されたセクタ・データの経過期間を計算するステップと、
前記セクタ・データの経過期間を計算するステップに応答してリフレッシュするセクタ・データを選択するステップと、
前記選択したセクタ・データをリフレッシュするステップと
を有するリフレッシュ方法。
【請求項１８】
前記リフレッシュ・コマンドが、前記磁気ディスクに書き込んだすべてのセクタ・データの読み取り検査を行うコマンドを含む請求項１７記載のリフレッシュ方法。
【請求項１９】
磁気ディスク装置の磁気ディスクに設けた複数のセクタに記憶したセクタ・データをリフレッシュする方法であって、
前記複数のセクタ・データのそれぞれに対応するタイム・スタンプを記憶するステップと、
前記タイム・スタンプを読み取るステップと、
前記読み取ったタイム・スタンプと読み取ったときの時刻情報から前記読み取ったセクタ・データの経過期間を計算するステップと、
前記セクタ・データの経過期間を計算するステップに応答してリフレッシュするセクタ・データを選択するステップと、
前記選択したセクタ・データをリフレッシュするステップと
を有するリフレッシュ方法。
【請求項２０】
前記タイム・スタンプを読み取るステップがすべてのセクタ・データのタイム・スタンプを読み取るステップを含む請求項１９記載のリフレッシュ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気ディスク装置の磁気ディスクに記憶した情報が、記憶した後の経過時間に伴って喪失することを防止する技術に関する。
【背景技術】
【０００２】
磁気ディスク装置では、磁気ディスクの磁性粒子を磁化して情報を記録している。しかし、磁気ディスクに磁気的に記憶した情報は、時間と共に劣化又は喪失するという性質がある。磁気ディスクでは、図１に示すようにグレインという多数の磁性粒子が記録ヘッドの磁界により磁化されて一定の方向を向く状態を保持することにより情報をビットとして磁気的に記録する。グレインは複数の安定状態を有しており、磁化することで特定の安定方向を向かせている。しかし、一旦磁気記録ヘッドの磁界によりグレインを一定の方向に磁化しても、その後に熱エネルギーの影響を受けて次第にグレインが他の安定方向を向き始め、さらに接近するグレインにも影響を与えながら次第に多くのグレインが磁化当所とは異なる方向に向き始め、再生信号の解像度が低下しゲインも下がって劣化していく。この現象は熱減磁（thermal decay）として知られている。また、図１に示すようにトラックの円周方向にある磁化遷移地点では、一方の磁性粒子が他方の磁性粒子の磁界の影響を受け易い。
【０００３】
さらにまた、トラック密度も益々狭くなり、記録ヘッドが隣接するトラックに書き込む際の磁界の影響を受けることもある。これを隣接トラック干渉（adjacent track interference）という。従って、磁気ディスクに書き込んだ情報は、数十年以上の年月放置しておくと劣化して読み取りができなくなる。磁気ディスクのＳＮ比の大部分は遷移ノイズ（transition noise）というものが占めている。図１の磁化遷移地点がトラックを直線で横断するようになっていると、再生したときに隣接する領域との情報を電気的に区別する能力が高まるが、大きなグレインを使用した場合は、図１に示すように磁化遷移地点が直線から外れていき遷移ノイズの原因になる。従って、ＳＮ比を小さくするためにはグレインを小さく設計することが望ましい。但し、小さいグレインは小さなエネルギーで他の安定状態に移行しやすいので熱減磁や隣接トラック干渉等の影響を受けやすいという性質がある。
【０００４】
特許文献１は、ディスクのセクタ毎の稼働時間累積値を記録しておき、所定時間に達すると何らかのアクションを起こす技術を開示する。特許文献２は、記録媒体の製造年月日に係る情報を読み出して、製造されてからの経過期間を所定のレベルと比較することにより、劣化していると考えられる程度に応じて新規の記録を禁止したり、警告を行ったり、バックアップを行ったりする技術を開示する。特許文献３は、記録媒体の劣化状態を経時的に計測し、記録・再生動作を停止する技術を開示する。
【特許文献１】特開平７−２７２４７１号公報
【特許文献２】特開２０００−１８７９２６号公報
【特許文献３】特開平４−２４８１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
磁気ディスクに記憶した情報は、時間の経過と共に劣化する。さらに、ＳＮ比を向上して記録密度を増大するためには、グレインの大きさをできるだけ小さくすることが望ましいが、より小さいグレインを採用した磁気ディスクにおいても、情報再生時にエラーがでないことが求められる。そこで本発明の目的は、磁気ディスクに情報を記憶してから年月が経過しても再生時にエラーが発生しない磁気ディスク装置を提供することにある。さらに本発明の目的は、磁気ディスクに情報を記憶してから年月が経過しても再生時にエラーが発生しないようにリフレッシュする方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、ホスト・コンピュータとの通信が可能な磁気ディスク装置であって、記憶領域が複数のセクタで区分された磁気ディスクと、前記複数のセクタに記憶したセクタ・データのそれぞれに対応するタイム・スタンプを記憶するタイム・スタンプ記録媒体と、前記複数のセクタの中のいずれかのセクタに記憶したセクタ・データのタイム・スタンプを読み取り、読み取ったときの時刻情報と前記読み取ったタイム・スタンプから計算したセクタ・データの経過期間に基づいて選択したセクタ・データをリフレッシュするように前記磁気ディスク装置の構成要素を制御するプロセッサとを有する磁気ディスク装置を提供する。
【０００７】
タイム・スタンプ記録媒体は、磁気ディスクその他の不揮発性記録媒体とすることができる。リフレッシュとは、セクタに記憶していたデータを読み取って同一データを同一セクタに書き込むことをいう。セクタのタイム・スタンプは、セクタにセクタ・データを書き込んだ時刻に相当する情報で、セクタ・データの更新と共に更新される。セクタ・データを書き込んだ時刻に相当する情報は、データを書き込んだ年又はデータを書き込んだ年月とすることができるが、さらに細かく時分秒まで含めてもよい。
【０００８】
読み取ったときの時刻情報と読み取ったタイム・スタンプを使用すればそれぞれのセクタ・データが記憶されてから読み取り時点まで経過した年月を計算することができ、特に熱減磁により情報の劣化が生じているか否かの判断をすることができる。セクタ・データの経過期間と基準経過期間を比較して所定の経過期間が経過したセクタ・データを選択してリフレッシュすることで、すべてのセクタ・データをリフレッシュする場合に比べて短時間で効果的にリフレッシュすることができる。
【０００９】
タイム・スタンプを読み取るセクタ・データを記憶したセクタは、ホスト・コンピュータからアドレス指定されて読み取りの指示を受けたセクタにすれば、読み取りのタイミングでリフレッシュを行うことができリフレッシュのための余分な時間を費やす必要がなくなる。このとき、選択したセクタ・データをリフレッシュする前にセクタ・データをホスト・コンピュータに返送すれば、リフレッシュによりパフォーマンスの低下をきたすことがなくなる。リフレッシュするセクタ・データを一旦不揮発性メモリに蓄積しておき、パワー・セーブ・モードや電源停止モードの中でまとめてリフレッシュすれば、ホスト・コンピュータから連続してセクタ・データの読み取りを指示された場合でも、パフォーマンスの低下をきたさないでリフレッシュすることができる。セクタ・データを揮発性メモリに記憶する代わりに、選択したセクタ・データのセクタ・アドレスだけを不揮発性メモリに記憶してもよい。
【００１０】
タイム・スタンプ記録媒体として磁気ディスクを選定することができる。磁気ディスクにタイム・スタンプを記録する場合は、記録面単位、トラック単位、又はセクタ単位でタイム・スタンプの記録領域を設けることができる。記録面単位にタイム・スタンプの記録領域を設けた場合は、当該記録面のすべてのタイム・スタンプを一定範囲の記録領域から読み取るようにすることができるので、シーク時間や回転待ち時間をなくして短時間で記録面の確認をすることができるため、磁気ディスク全体のリフレッシュを迅速に行うのに都合がよい。セクタ単位でタイム・スタンプの記録領域を設けると、セクタ・データの読み取り作業の中でタイム・スタンプを読み取ることができるので、セクタ・データの読み取りや読み取り検査に併せてリフレッシュをすることができる。
【００１１】
セクタ単位でタイム・スタンプの記憶領域を設ける場合にタイム・スタンプをＥＣＣコードに組み込むと、タイム・スタンプを記憶するための余分な記憶領域を消費することがない。読み取ったときの時刻情報を磁気ディスク装置の環境温度プロファイルで補正すると、熱減磁による記憶情報の劣化時期をより適切に判断することができる。
【００１２】
本発明の第２の態様は、ホスト・コンピュータとの通信が可能な磁気ディスク装置であって、記憶領域が複数のセクタで区分された磁気ディスクと、前記複数のセクタに記憶したセクタ・データのそれぞれに対応するタイム・スタンプを記憶するタイム・スタンプ記録媒体と、前記ホスト・コンピュータから送られたリフレッシュ・コマンドに応答して該リフレッシュ・コマンドで指定されたセクタのタイム・スタンプを読み取り、読み取ったときの時刻情報と前記タイム・スタンプから求めたセクタ・データの経過期間に基づいて選択したセクタ・データをリフレッシュするように前記磁気ディスク装置の構成要素を制御するプロセッサとを有する磁気ディスク装置を提供する。
【００１３】
リフレッシュを磁気ディスクの広範囲なセクタに渡って行うとすれば、その間ホスト・コンピュータから磁気ディスク装置にアクセスできなくなる可能性がある。しかし、第２の態様では、ホスト・コンピュータから送られたリフレッシュ・コマンドに従って磁気ディスク装置がリフレッシュすることができるので、すべてのセクタ・データを対象にしたリフレッシュをすることができる。すべてのセクタ・データを対象にしたリフレッシュをすることができれば、磁気ディスク全体に渡って記録した情報が一定の期間以内にリフレッシュされることを保証できるので、グレインの小さい磁気ディスクを採用してＳＮ比の向上を図ることができる。
【００１４】
リフレッシュ・コマンドが読み取り検査を行うコマンドを含むことで、リフレッシュを磁気ディスクのデータの読み取り検査に含めることができ、ほぼ読み取り検査を完了する時間内にタイム・スタンプの確認と必要なリフレッシュを行うことができる。リフレッシュの必要性を確認する時期を磁気ディスク装置が判断してホスト・コンピュータにリフレッシュ要求コマンドを送ることにより、ホスト・コンピュータはリフレッシュの確認時期を正確に判断することができる。
【００１５】
本発明の第３の態様は、記憶領域がセクタ・データを記憶する複数のセクタで区分された磁気ディスクを備える磁気ディスク装置に接続されたホスト・コンピュータであって、前記ホスト・コンピュータの動作を制御するプロセッサと、前記磁気ディスク装置の各セクタに記憶したタイム・スタンプを保持するファイル管理テーブルと、前記ファイル管理テーブルに記憶したタイム・スタンプと現在時刻情報から計算したセクタ・データの経過期間に基づいて選択したセクタ・データに対して前記プロセッサにリフレッシュを実行させるリフレッシュ・プログラムを記憶した記録媒体とを有するホスト・コンピュータを提供する。
【００１６】
磁気ディスクに記憶したセクタ・データのタイム・スタンプは、ホスト・コンピュータのファイル管理システムでも保有している。従って、ホスト・コンピュータが保有するタイム・スタンプを利用してリフレッシュをすれば磁気ディスク装置側の負担を軽減することができる。
【発明の効果】
【００１７】
本発明により、磁気ディスクに情報を記憶してから年月が経過しても再生時にエラーが発生しない磁気ディスク装置を提供することができた。さらに本発明により、磁気ディスクに情報を記憶してから年月が経過しても再生時にエラーが発生しないようにリフレッシュする方法を提供することができた。
【発明を実施するための最良の形態】
【００１８】
［磁気ディスク装置のブロック図］
図２を参照して、本発明の実施の形態に係る磁気ディスク装置１０の概略構成を説明する。本明細書の全体を通じて、同一要素には同一参照番号を付して説明する。磁気記録媒体としての磁気ディスク１１は、磁性層が形成された記録面を両面に備えており、１枚又は複数の積層構造がスピンドル・ハブに取り付けられ、スピンドル・モータ１３により回転する。図３に磁気ディスク１１の記録面の構成を示す。磁気ディスク１１の記録面には、図３（Ａ）に示すように同心円状に複数のトラック７５が定義されている。また、放射状に複数のサーボ・データ７１が記録されている。各トラックには、図３（Ｂ）に示すように円周方向にサーボ・データ７１に隣接するデータ領域７３を設けている。
【００１９】
データ領域７３には、リード・ライト・チャネルが利得調整したり同期をとったりするための３０〜４０バイトのＳＹＮＣパターン７７、データの記録領域であって読み書きの単位となる５１２バイトのセクタ７９、データの読み取りエラーを補償する５０バイト程度のＥＣＣコード８１を設けている。さらにＥＣＣコード８１と他のセクタのＳＹＮＣパターン７７との間には、本発明において使用する１バイト程度のタイム・スタンプ８３を記憶している。ＳＹＮＣパターン７７、セクタ７９、ＥＣＣコード８１、タイム・スタンプ８３は、同一構成でデータ領域７３に複数形成している。ＥＣＣコード８１は、対応するセクタのセクタ・アドレスを含んでいる。
【００２０】
ヘッド１５は、電気的信号と磁気的信号を双方向に変換し、磁気ディスク１１に対して書き込み及び読み取りを行う独立した変換素子又は共有の変換素子で構成している。アクチュエータ・アセンブリ１７は、ヘッド１５を支持しながら回動し、ヘッド１５を磁気ディスク１１の所定のトラック上に運ぶ。ボイス・コイル・モータ（以後、ＶＣＭという。）１９は、アクチュエータ・アセンブリ１７が搭載するボイス・コイル並びに磁気ディスク装置１０のベースに取り付けたボイス・コイル・マグネット及びボイス・コイル・ヨークで構成し、ボイス・コイルに流す電流で、アクチュエータ・アセンブリ１７の動作を制御する。ＶＣＭドライバ２１は、デジタル・アナログ・コンバータ（以後、ＤＡＣという。）２３から受けた電圧信号をＶＣＭ１９の駆動電流に変換する。ＤＡＣ２３はマイクロ・プロセッシング・ユニット（以後、ＭＰＵという。）２５から受け取ったヘッド１５の位置決めのためのデジタル信号をアナログの電圧信号に変換する。
【００２１】
スピンドル・モータ・ドライバ２７はＡＤコンバータを備え、ＭＰＵ２５から受け取ったデジタル信号をスピンドル・モータ１３の駆動電流に変換する。プリアンプ２９は、再生時にヘッド１５が磁気ディスク１１から再生した微弱なアナログの再生信号を増幅してリード／ライト・チャネル（以後、Ｒ／Ｗチャネルという。）３１に送る。また、プリアンプ２９は、記録時にリード・ライト・チャネル３１から受けたアナログの書き込み信号を増幅しヘッド１５に出力する。
【００２２】
Ｒ／Ｗチャネル３１は、記録又は再生のためにデータ処理を行う。ホスト・コンピュータ５５から送られた書き込み用デジタル・データは、ハード・ディスク・コントローラ（以後、ＨＤＣという。）３３を経由して、Ｒ／Ｗチャネル３１が受け取る。Ｒ／Ｗチャネル３１は、受け取ったデジタル・データを書き込み電流に変換してプリアンプ２９に送る。さらに、プリアンプ２９から送られたヘッド１５の再生信号は、Ｒ／Ｗチャネル３１がデジタル・データに変換しＨＤＣ３３を経由してホスト・コンピュータ５５に送る。サーボ・コントローラ３７は、Ｒ／Ｗチャネル３１が出力する読み出しデータの中からヘッドの位置情報を抽出してＭＰＵ２５及びＨＤＣ３３に送る。
【００２３】
ＨＤＣ３３は、ホスト・コンピュータ５５との通信を行うインターフェースとしての機能を果たし、ホスト・コンピュータ５５との間でのデータ転送速度と磁気ディスク１０の内部におけるデータ処理速度の調整を図る。ＨＤＣ３３は、ホスト・コンピュータ５５から送られた転送データを一時的にバッファ３５に蓄え、ＭＰＵ２５の指令に基づいてＲ／Ｗチャネル３１に送る。ＨＤＣ３３はまた、Ｒ／Ｗチャネル３１から送られた転送データを一時的にバッファ３５に蓄え、ＭＰＵ２５の指令に基づいてホスト・コンピュータ５５に送る。さらにＨＤＣ３３は、ＥＣＣコード８１を利用したデータ・エラー訂正回路やアドレス・マーク検出回路等を備えている。ＨＤＣ３３は、ホスト・コンピュータ５５との間でデータ通信を行うためのレジスタを備える。
【００２４】
ＭＰＵ２５は、ＨＤＣ３３と協働して磁気ディスク装置１０の動作に係わる様々な構成要素を制御する。ＭＰＵは、リフレッシュ実行プログラムを実行して、セクタに記憶したセクタ・データのタイム・スタンプと読み取ったときの時刻情報から、当該セクタ・データを磁気ディスク１１に記憶してから読み取り時点までの経過期間を計算し、必要のあるセクタ・データをリフレッシュしたりタイム・スタンプを更新したりする。ＭＰＵ２５はリフレッシュ実行プログラムを実行して、ホスト・コンピュータにリフレッシュ要求コマンドを送り、ホスト・コンピュータからリフレッシュ・コマンドを受け取る。
【００２５】
ＭＰＵ２５は、ＨＤＣ３３の各種レジスタに直接アクセスして、ホスト・コンピュータ５５との間でのデータ転送を制御する。ＭＰＵ２５は、ホスト・コンピュータ５５から送られた磁気ディスク１１のクラスタ・アドレスをＬＢＡに変換し、さらにＣＨＳパラメータに変換する。ＭＰＵ２５はまた、再配置欠陥マップ（ＲＤＭ）を参照して二次的欠陥セクタに対する代替セクタのアドレスを計算する。ＭＰＵ２５はまた、サーボ・コントローラ３７から送られたサーボ情報に基づいて磁気ヘッド１５の位置を判断し、ホスト・コンピュータ５５から指示されたアドレスから計算したターゲット位置との差に基づいてヘッド１５をターゲット位置に位置決めするためのデジタル信号をデジタル・アナログ変換器（以下、ＤＡＣという。）２３に送る。
【００２６】
読み出し専用半導体メモリ（以後、ＲＯＭという。）４１は、ＭＰＵ２５に対してリフレッシュを実行させるリフレッシュ実行プログラムを格納している。リフレッシュ実行プログラムは磁気ディスク１１のユーザに開放していないシステム領域に格納しておいてもよい。ランダム・アクセス・メモリ（以後、ＲＡＭという。）３９は、ＭＰＵ２５が実行する各種プログラムを一時的に記憶したり、ＭＰＵ２５の作業領域として使用したりする主記憶装置である。ＲＡＭ３９は、磁気ディスク装置が動作する間、クラスタ・アドレスからＣＨＳパラメータを変換するテーブルやＲＤＭを一時的に記憶する。ＲＡＭ３９はまた、リフレッシュの必要なセクタ・データを一時的に記憶するバッファとしての役割を果たす。
【００２７】
電気的に書換可能な不揮発性記録媒体（以後、ＥＥＰＲＯＭという。）４３は、モデル名称、シリアル番号、ファームウエア・バージョン、使用するプロトコル、及び製造者名といった磁気ディスク装置１０の固有情報や、パワー・マネジメント、書き込み又は先読みキャッシュ、読み取り又は書き込みバッファ等の設定状態に関する情報を記憶する。ＥＥＰＲＯＭ４３は、二次欠陥セクタを代替セクタにマッピングするエントリを記録する再配置欠陥マップ（ＲＤＭ）を格納することができる。ＥＥＰＲＯＭ４３は、さらに動作中に発生した磁気ディスク装置１０のエラー・ログ、イベント・ログ、パフォーマンス・データ、サーボ・ログ、又はホスト・ログ等のデータを記憶することができる。ただし、本実施の形態では、ＲＤＭ及びエラー・ログ等は磁気ディスク１１に格納している。
【００２８】
ホスト・コンピュータ５５は、磁気ディスク装置１０を外部記憶装置又は補助記憶装置として使用する電子機器であり、ＡＴＡ（AT Attachment）やＳＣＳＩ（Small Computer System Interface）等の規格に従うインターフェース方式でインターフェース・コネクタ４７に接続して磁気ディスク装置１０との間でデータ転送をする。本実施の形態においては、磁気ディスク装置１０は、ＡＴＡインターフェース規格を採用している。また、ホスト・コンピュータ５５は、磁気ディスク１１に対してリフレッシュを指示するリフレッシュ・コマンドを送る。さらにホスト・コンピュータ５５は、オペレーティング・システム（以後、ＯＳという。）のファイル管理システムが管理する管理テーブルのタイム・スタンプに基づいて、磁気ディスク１１のリフレッシュを行う。
【００２９】
以上、本発明の実施の形態に係る磁気ディスク装置１０のブロック図の一例を示したが、図面を参照して説明した各ブロックの名称、機能、相互関係等は一例であって、本発明の思想はこれに限定されるものではなく、他の機能を付加したり、異なるブロックで同一機能を実現したり、ブロック同士の分割や統合をすることは当業者が本明細書を参照して行うことができる限り本発明の範囲に含んでいる。
【００３０】
［読み取りコマンドの受け取りのタイミングによるリフレッシュ］
図４は、ホスト・コンピュータ５５から読み取りコマンドを受け取ったタイミングで磁気ディスク装置１０が、読み取りコマンドで指定されたセクタに記憶されたセクタ・データのタイム・スタンプを検査してリフレッシュする方法を説明するフローチャートである。セクタ・データのリフレッシュとは、セクタに記憶していたデータを読み取ってそのデータを同一セクタに書き込むことをいう。図４に示す手順で行うリフレッシュは、ＲＯＭ４１に格納していたリフレッシュ実行プログラムに記述されており、ＭＰＵ２５が磁気ディスク装置１０を制御して実行できるようにＲＡＭ３９に読み出されている。
【００３１】
磁気ディスク１１の複数のセクタ（以後、これをＳ１として示す。）には、様々な時刻にセクタ・データ（以後、これをｎ１として示す。）が記憶されている。各セクタ・データｎ１に対応して設けたタイム・スタンプ（以後、これをＴ１として示す。）８３はそれぞれのセクタにセクタ・データｎ１を記憶したときの年月日又は年月日に時刻を加えた時刻情報で構成している。セクタＳ１の中には、セクタ・データｎ１が記憶されていないセクタもあるが、そのタイム・スタンプは意味のない値になっている。ブロック１０１では、ホスト・コンピュータがセクタＳ１の中から１又は複数のセクタ（以後、これをＳ２として示す。）７９を指定してデータの読み取りコマンドを磁気ディスク装置１０に送る。
【００３２】
ブロック１０３でＭＰＵ２５は、セクタＳ２にアクセスしてセクタ・データ（以後、これをｎ２として示す。）を読み取るように磁気ディスク装置１０を制御する。セクタＳ２は通常クラスタに含まれる複数のセクタであるが、本発明は１個のセクタである場合を排除するものではない。ＭＰＵ２５はセクタ・データｎ２に続いて回転する磁気ディスク１１から読み取ったセクタ・データｎ２に対応するタイム・スタンプ（以後、これをＴ２として示す。）８３も読み取る。図３（Ｂ）で説明したように、セクタ・データｎ２とタイム・スタンプＴ２は磁気ディスク１１上で物理的に近接して配置しているので、回転待ちをしないで読み取ることができる。ＭＰＵ２５は読み取ったセクタ・データｎ２をバッファ３５に記憶してホスト・コンピュータ５５に返送する準備をする。ＭＰＵ２５はさらにセクタ・データｎ２及び対応するタイム・スタンプＴ２をＥＣＣコード８１に含まれているセクタ・アドレスと共にＲＡＭ３９に記憶する。ＲＡＭ３９には、セクタ・データｎ２を記憶しないでタイム・スタンプＴ２とセクタ・アドレスだけ記憶してもよい。
【００３３】
ブロック１０５でＭＰＵ２５は、セクタ・データｎ２をホスト・コンピュータ５５に返送する。ホスト・コンピュータ５５へのデータ返送は、リフレッシュより優先して行うので、リフレッシュにより磁気ディスク装置１０のパフォーマンスが低下することはない。ブロック１０７ではタイム・スタンプＴ２と読み取ったときの時刻情報からそれぞれのセクタ・データｎ２について、記憶した時点から読み取った時点までの経過期間を計算する。読み取ったときの時刻情報の内容は、タイム・スタンプに対応する年月等の情報である。読み取ったときの時刻情報は、ホスト・コンピュータの電源を起動した直後に行う起動ルーチンの中で磁気ディスク装置１０がホスト・コンピュータ５５から受け取るようにしてもよい。また、磁気ディスク装置１０の中に充電式の電池に接続された時計を備えて計測して得てもよい。
【００３４】
リフレッシュ実行プログラムには、リフレッシュ時期を判定するための経過期間の基準である基準経過期間を組み込んである。基準経過期間は磁気ディスク１１に記憶したデータを確実に読み取ることができる期間として設定したものであり、例えば３年又は５年といったもので、磁気ディスク１１に提供する温度環境の想定値や記録媒体の選定等により異なる。基準経過期間は、ＥＥＰＲＯＭ４３にホスト・コンピュータ５５が書き込むことができるようにして、リフレッシュ実行プログラムが参照するようにしてもよい。
【００３５】
ブロック１０９でＭＰＵ２５は、現在の時刻情報から読み取ったタイム・スタンプＴ２を減算してセクタ・データの経過期間を求め、基準経過期間を超えたセクタ・データ（以後、これをｎ３という。）をみつけた場合は、それらのセクタ・データｎ３をセクタ・アドレスと共にＲＡＭ３９に残し、他のセクタ・データをＲＡＭ３９から消去する。ホスト・コンピュータ５５から他の読み取りコマンドが送られたときも同様の手順で実際の経過期間が基準経過期間を超えたセクタ・データｎ３をセクタ・アドレスと共にＲＡＭ３９に累積的ｎ記憶する。
【００３６】
ブロック１１１では磁気ディスク装置１０がパワー・セーブ・モード又は電源停止モードへの移行準備を始める。パワー・セーブ・モードとは、ホスト・コンピュータ５５から磁気ディスク装置１０に対して所定の時間アクセスがない場合に、例えばスピンドル・モータの電源を停止したり、回路基板の一部の電源を停止したりして電力を節約する動作モードである。パワー・セーブ・モードには停止する範囲として様々な段階があるが、最低限ホスト・コンピュータ５５からのコマンドを受け入れて動作を開始することができるようになっている。電源停止モードは、ホスト・コンピュータ５５から停止コマンドを受け取った磁気ディスク装置が、停止可能コマンドを返送した後に電源を完全に停止する場合をいう。
【００３７】
ブロック１１３では、ＭＰＵ２５がパワー・セーブ・モードへの移行を判断したとき、又はホスト・コンピュータ５５から停止コマンドを受け取ったとき、ＭＰＵ２５はＲＡＭ３９に記憶したセクタ・データｎ３を読み取ったセクタＳ３に書き込み、セクタ・データｎ３をリフレッシュする。さらに、セクタＳ３のタイム・スタンプＴ３をリフレッシュしたときの時刻情報で更新する。ブロック１０３で読み取ったセクタ・データｎ２をＲＡＭ３９に記憶していない場合は、磁気ディスク１１からセクタ・データｎ３を読み出してリフレッシュする。セクタ・データのリフレッシュとタイム・スタンプの更新が終了した後に、ブロック１１５で磁気ディスク装置１０はパワー・セーブ・モードに移行する。電源停止モードのときはホスト・コンピュータに停止可能コマンドを返送すると、ホスト・コンピュータが磁気ディスク装置１０に供給する電源を停止する。
【００３８】
上記の手順では、ホスト・コンピュータ５５からの読み取りコマンドを受け取ったタイミングで読み取りに係るセクタ・データｎ２のタイム・スタンプＴ２を確認し、経過期間が基準経過期間を超えているセクタ・データｎ３をリフレッシュするので、リフレッシュのための余分な時間をほとんど費やすことがなく磁気ディスク装置１０がパフォーマンスの低下をきたすことはない。タイム・スタンプは５１２バイトの一つのセクタに対して１バイト程度であり、磁気ディスク１１の記憶容量の低下はほとんど問題にならない。タイム・スタンプ８３は磁気ディスク１１のＥＣＣコード８１に隣接して記憶するので、読み取りのための回転待ちが発生しない。ＥＣＣコード８１はセクタ・データを記憶する毎に論理的に計算して書き込むので、タイム・スタンプ８３をＥＣＣコード８１の中に組み込むこともできる。ＥＣＣコード８１にタイム・スタンプ８３組み込むと、磁気ディスク１１にタイム・スタンプを記憶するための追加領域を設ける必要がない。
【００３９】
図５は、経過期間の温度補正に関する一例を示す図である。磁気ディスク１１に記憶したデータが熱減磁で劣化する程度は、経過期間という単純な時間的要素だけでなくその間に磁気ディスク１１がおかれた温度プロファイルに依存する。従って、経過期間を温度プロファイルで補正するとリフレッシュの必要な時期をより適切に判断することができる。図５では、温度の基準として５０℃と６０℃の二つを設定し、経過期間を等間隔にｔ１〜ｔ１０で分割している。ｔ１〜ｔ１０の各期間における磁気ディスク装置の平均周囲温度を計測し、５０℃以下であれば実際の経過期間に対する温度係数を１．０とし、５０℃以上６０℃以下であれば温度係数を１．１とし、６０℃を超えていれば温度係数を１．２として実際の期間に乗ずるものとする。
【００４０】
温度係数を実際の経過期間に乗じて現在の時刻情報を補正することにより、各セクタ・データが記録されたときから現在までの経過期間を温度プロファイルで補正することができ、熱減磁に対するリフレッシュ時期を判断する精度を高めることができる。各期間ｔ１〜ｔ１０毎の温度係数は、ホスト・コンピュータ５５が測定及び計算し、ホスト・コンピュータ５５の起動ルーチンの中で磁気ディスク装置１０に送るようにする。ホスト・コンピュータ５５は充電式の電池を備えた温度計測システムを備えて、電源停止中の磁気ディスク装置１０の周囲温度を計測する。経過期間を等間隔で分割しているため、セクタ・データが任意の時期に記憶されたとしても、それ以後に適用になる経過期間を等間隔に分割した期間に温度係数を乗じて、補正した経過期間を算出することができる。
【００４１】
［リフレッシュ・コマンドの受け取りのタイミングによるリフレッシュ］
次に、ホスト・コンピュータ５５からリフレッシュ・コマンドを受け取ってセクタ・データをリフレッシュする方法を説明する。セクタ・データを一定期間以内にリフレッシュすることを磁気ディスク装置１０の設計の前提にすると、磁気ディスク１１のグレインを小さくしてＳＮ比を向上することができる。
【００４２】
図４のフローチャートで説明したリフレッシュの方法では、ホスト・コンピュータが読み取りを行うセクタのセクタ・データについてだけ経過期間を計算して、基準経過期間を超えたセクタ・データだけリフレッシュしている。従って、ホスト・コンピュータ５５から所定の時間間隔で読み取りが行われないセクタに記憶したセクタ・データは、リフレッシュされずに再生できなくなる可能性もある。従って、例えば１年といった一定の期間毎にすべてのセクタ・データのタイム・スタンプを調べて、基準経過期間を超えたセクタ・データをリフレッシュすることは有効である。
【００４３】
図６は、ホスト・コンピュータ５５からリフレッシュ・コマンドを受け取って磁気ディスク装置がセクタ・データのリフレッシュを行う方法の一例を説明するためのフローチャートである。図６に示す手順で行うリフレッシュの方法は、ＲＯＭ４１に格納していたリフレッシュ実行プログラムに記述されており、ＭＰＵ２５が磁気ディスク装置１０を制御して実行できるようにＲＡＭ３９に読み出されている。
【００４４】
ブロック２０１では、磁気ディスク装置１０は、現在の時刻情報を自ら計測し、あるいはホスト・コンピュータ５５から受け取って、セクタ・データのリフレッシュ判断時期を決定し、ホスト・コンピュータ５５に対してリフレッシュ要求コマンドを送る。リフレッシュ判断時期は、磁気ディスク装置１０が決定する代わりに、ホスト・コンピュータ５５が決定してもよい。ブロック２０３では、ユーザがホスト・コンピュータ５５の動作状況をみて、リフレッシュしてもよいと判断したときリフレッシュ・コマンドを磁気ディスク装置１０に送る。
【００４５】
本実施の形態により磁気ディスク装置１０がリフレッシュを実行すると、ホスト・コンピュータ５５からアクセスできなくなるので、ユーザがホスト・コンピュータ５５の利用状況に基づいてリフレッシュ・コマンドを送ることが望ましいが、磁気ディスク装置１０からリフレッシュ要求コマンドを受け取ったことにホスト・コンピュータ５５が自動的に応答して送るようにしてもよい。本実施の形態では、すべてのセクタ・データＳ１を対象にしてタイム・スタンプＴ１を調べて必要なセクタ・データを更新する。あるいは、すべてのセクタ・データではなくユーザに開放しているユーザ領域のセクタだけを対象にしてもよい。また、ユーザがアクセスできないシステム領域に記憶している磁気ディスク装置１０のシステム・プログラムやデータは別途リフレッシュ時期を判断してもよい。
【００４６】
ブロック２０５ではタイム・スタンプを検査する最初のトラックＴＲ１を選択する。トラックの選択は、シーク動作や回転待ちが生じないように選択することが望ましく、最初のトラックは例えば最も外側のシリンダの第１のトラックとして選択し、続いて同一シリンダの第２のトラックに移り、同一シリンダのすべてのトラックのタイム・スタンプを検査した後に隣接するシリンダに移るようにする。
【００４７】
ブロック２０７では、選択したトラックＴＲ１が１回転する間にＴＲ１が含むすべてのセクタ・データＳ２のタイム・スタンプＴ２を調べ、現在の時刻情報から経過期間を計算して基準経過期間を超えたセクタ・データｎ３とセクタ・アドレスをＲＡＭ３９に記憶する。ブロック２０９では、トラックＴＲ１の次の回転のときにＲＡＭ３９に記憶したリフレッシュが必要なセクタ・データｎ３を対応するセクタＳ３に書き込み、さらにセクタ・データｎ３のタイム・スタンプＴ３を書き込み時の時刻情報で更新する。ブロック２１１では対象とするトラックすべてについてタイム・スタンプの検査と必要なリフレッシュが完了したかどうかを判断し、完了していればブロック２１３に移行してＭＰＵ２５はホスト・コンピュータ５５にリフレッシュ完了のコマンドを送る。ホスト・コンピュータ５５はそれ以後磁気ディスク装置１０にアクセスすることができるようになる。
【００４８】
ブロック２１１でタイム・スタンプが未検査のトラックがあれば、ブロック２１５でトラックＴＲＸを選択してブロック２０７と同様の手順を実行する。続いて、ブロック２１７ではブロック２０９と同様の手順を実行する。このようにして隣接するシリンダの順にすべてのセクタ・データのタイム・スタンプを検査し、リフレッシュ時期が到来しているセクタ・データをリフレッシュすることができる。この手順でリフレッシュをすると、記憶されたセクタ・データをリフレッシュするサイクルが保証されるので、ＳＮ比の小さいグレインの磁気ディスクを採用することができ磁気ディスク装置の設計の自由度が向上する。
【００４９】
図６に示した手順では、リフレッシュ・コマンドに応答して磁気ディスク装置１０がタイム・スタンプの検査をして必要なセクタ・データを決定しリフレッシュを実行しているが、ホスト・コンピュータが行う磁気ディスク１１の全体を対象にした読み取り検査と同時にリフレッシュを行うようにしてもよい。例えばウインドウズ（ウインドウズはマイクロソフト社の登録商標）には、スキャンディスクというデータの再生検査のための保守管理ツールが標準で装備されている。スキャンディスクと同時にすべてのセクタ・データのタイム・スタンプを読み取って必要なリフレッシュを行うことにより、リフレッシュをほぼスキャンディスクの時間内で行うことができる。
【００５０】
［ホスト・コンピュータが行うリフレッシュ］
次に、ホスト・コンピュータが各セクタの経過期間を計算して、磁気ディスク装置１０のリフレッシュを実行する方法を図７及び図８を参照して説明する。図７は、ホスト・コンピュータのファイル管理テーブルを説明する図であり、図８はホスト・コンピュータがセクタ・データのリフレッシュを行う方法を説明するためのフローチャートの一例である。パーソナル・コンピュータ等のホスト・コンピュータ５５は、ＯＳに基本動作を委ねている。ホスト・コンピュータ５５は、磁気ディスク装置等の外部記憶装置を接続してデータの読み書きを行う場合、ファイルの記憶場所をファイル管理システムで管理している。
【００５１】
図７はＭＳ−ＤＯＳのファイル管理システムで使用するディレクトリというファイル管理テーブルである。ディレクトリには、ファイル毎にファイル名、拡張子、属性、予約領域、書き込み日時、開始クラスタ、及びファイル・サイズを記憶している。例えばファイルＡＢＣは、２００１年１０月１５日２１時４１分３０秒に書き込んだことが示されており、書き込み日時は本発明のタイム・スタンプに相当している。ファイルＡＢＣが磁気ディスク１１上で記憶されている場所は、開始クラスタのアドレスでわかるようになっている。クラスタとは、ホスト・コンピュータ５５が磁気ディスク装置１０でファイルを扱うときの最小単位で、複数のセクタを集合したものである。
【００５２】
どのクラスタを使用するかはＦＡＴ（file allocation table）というテーブルに記憶している。ＦＡＴにはファイルＡＢＣの開始クラスタのアドレス５に続くクラスタ・チェーンのアドレスが記憶されており、ファイルＡＢＣの磁気ディスク１１上での記憶場所がクラスタ・アドレスとしてわかるようになっている。従って、ホスト・コンピュータ５５は、ディレクトリを調べてそれぞれのファイルが書き込まれた時期を知ることができる。
【００５３】
ホスト・コンピュータは周知の汎用コンピュータであって、全体の動作を制御するＣＰＵ、ＣＰＵが実行するプログラムを一時的に記憶したりＣＰＵの作業領域として使用するＲＡＭ、ＢＩＯＳ等を記憶するＲＯＭ、磁気ディスク装置１０とのインターフェースになるＩＤＥコントローラ等を備えている。図８の手順を実行するリフレッシュ実行プログラムは磁気ディスク装置１０からホスト・コンピュータのＲＡＭに読み出して実行可能な状態になっている。図８のブロック３０１では、ホスト・コンピュータ５５がファイル管理システムのディレクトリに書き込んだタイム・スタンプを検査する。ホスト・コンピュータ５５は、１年あるい２年といった定期的な周期でディレクトリのタイム・スタンプを読み取るようにリフレッシュ実行プログラムを構成している。
【００５４】
ブロック３０３では、ファイル毎に現在の時刻情報とタイム・スタンプから基準経過期間が経過したファイルを選択する。ブロック３０５では、基準経過期間を超えたファイルをリフレッシュするためのリフレッシュ・コマンドと、対象となるファイルのクラスタ・アドレスを磁気ディスク装置１０に送る。ブロック３０７では、リフレッシュ・コマンドを受け取った磁気ディスク装置１０は、該当するファイルが記憶されたセクタのセクタ・データをリフレッシュしてタイム・スタンプを更新する。ブロック３０９では、磁気ディスク装置１０はリフレッシュ完了コマンドをホスト・コンピュータ５５に送り、ブロック３１１でホスト・コンピュータ５５は、ディレクトリのタイム・スタンプを更新する。
【００５５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【図面の簡単な説明】
【００５６】
【図１】情報が記憶された磁気ディスクのグレインが遷移する状態を説明する図である。
【図２】本発明の実施の形態に係る磁気ディスク装置の構成要素を説明するためのブロック図である。
【図３】セクタの構成を説明する図である。
【図４】読み取りコマンドを受け取ったタイミングで磁気ディスク装置がセクタ・データのリフレッシュを行う方法を説明するためのフローチャートである。
【図５】経過期間を温度補正する方法を説明する図である。
【図６】ホスト・コンピュータからリフレッシュ・コマンドを受け取って磁気ディスク装置がセクタ・データのリフレッシュを行う方法を説明するためのフローチャートである。
【図７】ホスト・コンピュータのファイル管理テーブルを説明する図である。
【図８】ホスト・コンピュータがセクタ・データのリフレッシュを行う方法を説明するためのフローチャートである。
【符号の説明】
【００５７】
１０  磁気ディスク装置
１１  磁気ディスク
１３  スピンドル・モータ
１５  ヘッド
１７  アクチュエータ・アセンブリ
１９  ボイス・コイル・モータ
２１  ＶＣＭドライバ
２３  デジタル・アナログ・コンバータ
２５  マイクロ・プロセッシング・ユニット
２７  スピンドル・モータ・ドライバ
３１  リード・ライト・チャネル
３３  ハード・ディスク・コントローラ
４７  インターフェース・コネクタ
５５  ホスト・コンピュータ
７９  セクタ
８１  ＥＣＣコード
８３  タイム・スタンプ
【図１】
2005267702.tif 000003
【図２】
2005267702.tif 000004
【図３】
2005267702.tif 000005
【図４】
2005267702.tif 000006
【図５】
2005267702.tif 000007
【図６】
2005267702.tif 000008
【図７】
2005267702.tif 000009
【図８】
2005267702.tif 000010