(57)【特許請求の範囲】
【請求項１】
ホストからアクセスが無いディスクストレージ装置の待機状態において、ディスクストレージ装置の機能に関するリードテスト、ライトサーボテスト、および、ライトテストの検査を実施し、リードテストとライトサーボテストにより、ディスク上の不良セクタを探し、不良セクタをリアサインし、ディスクのライトテスト用セクタへのデータ書き込みによるライトテストにより、ヘッドの異常を知らせるとともに、ディスクストレージ装置がレジスタを備え、このレジスタに現在実施している検査のためアクセスしているセクタの位置を記憶し、検査の進行に従い順次更新し、（ａ）一定の時間間隔あるいはアクセス回数毎に、レジスタの内容をディスクに記憶することで、一旦電源が遮断され、レジスタの内容がクリアされた後でも、アクセスセクタの値を回復できる、あるいは、（ｂ）検査の途中でホストコマンドがかけられたとき、レジスタの内容から、検査が再開される際アクセスすべきアクセスセクタの値を回復できる、ことを特徴とするディスクストレージ装置における不良セクタ処理方法。
【請求項２】
前記所定の検査の実施中にホストコマンドが発生した場合は、実施中の検査を中止し、発生したホストコマンドを優先して実施する請求項１記載のディスクストレージ装置における不良セクタ処理方法。
【請求項３】
前記レジスタの内容のディスクへの記憶を、一定の時間間隔あるいはアクセス回数毎に行う請求項１記載のディスクストレージ装置における不良セクタ処理方法。
【請求項４】
ディスクストレージ装置がモードフラグを備え、このモードフラグに現在実行中のテストの種類を記憶する請求項１記載のディスクストレージ装置における不良セクタ処理方法。
【請求項５】
ディスクストレージ装置が待機状態であることを検出する手段と、前記検出する手段に応答して、ディスクストレージ装置の機能に関する所定の検査を行う手段と、レジスタと、を含み、請求項１記載の不良セクタ処理方法を実施できるよう構成したことを特徴とするディスクストレージ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク上の不良セクタを探し、予め代替セクタをリアサインするディスクストレージ装置における不良セクタ処理方法及びディスクストレージ装置に関するものである。
【０００２】
【従来の技術】
近年になって、ディスクストレージ装置（ディスク記憶装置）の容量増大に伴い、ＡＶ（Audio Visual）アプリケーションにおいて、動画や音声をディスクストレージ装置に記憶することが増えている。このようなアプリケーションでは、動画や音声をリアルタイムで入出力するため、ストレージに対してスループットの下限値を規定する事、すなわち、瞬間的なパフォーマンスの低下の限界を規定する事が求められている。しかし、静的なデータの記憶を主眼として設計されてきた従来のディスクストレージ装置では、スループットの平均値で比較する事はあっても、瞬間的なパフォーマンスの低下は省みられていなかった。そのため、実際にエラーが発生すると、そのリカバリのために出来る限りリトライが行われる。そして、リトライが所定の回数になった時点で不良セクタだと判断し、その不良セクタのリアサインを行っていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述したＡＶアプリケーションでは、画像の停止や音飛びにつながるため、長時間に及ぶリトライを容認できない問題があった。また、従来のディスクストレージ装置では、ホストからアクセスされない限り、装置は待機状態にある。そして、不良セクタのリアサインは、ホストアクセス中にエラーが発生した時に行われるため、リトライの回数によっては瞬間的にパフォーマンスが低下する一因となっていた。さらに、書き込みにおけるエラーはサーボ系に関するものが多く、このようなサーボ系のエラーが発生するとエラーが発生したセクタとそれに続く複数のセクタをリアサインすることとなり、一度に多数のセクタがリアサインされるため、この場合も瞬間的なパフォーマンスに与える影響が大きかった。
【０００４】
本発明の目的は上述した課題を解消して、瞬間的なパフォーマンスの低下を最大限なくすことができるディスクストレージ装置における不足セクタ処理方法及びディスクストレージ装置に関するものである。
【０００５】
【課題を解決するための手段】
本発明のディスクストレージ装置における不良セクタ処理方法は、ホストからアクセスが無いディスクストレージ装置の待機状態において、ディスクストレージ装置の機能に関する所定の検査を行う。所定の検査は、リードテスト、ライトサーボテスト、ライトテストである。これにより、リードテストとライトサーボテストにより、ディスク上の不良セクタを探し、不良セクタをリアサインするとともに、ライトテストにより、ヘッドの異常を知らせる。また、ディスクストレージ装置がレジスタを備え、このレジスタに現在実施している検査のためアクセスしているセクタの位置を記憶し、検査の進行に従い順次更新し、（ａ）ホストからコマンドが途絶えてから所定の時間が過ぎた時点で、レジスタの内容をディスクに記憶することで、一旦電源が遮断され、レジスタの内容がクリアされた後でも、アクセスセクタの値を回復できる、あるいは、（ｂ）検査の途中でホストコマンドがかけられたとき、レジスタの内容から、検査が再開される際アクセスすべきアクセスセクタの値を回復できる。
【０００６】
本発明では、ホストからアクセスの無いディスクストレージ装置の待機状態を利用して、この待機状態の間に所定の検査、すなわち、リードテスト、ライトサーボテスト、ライトテストを行い、予め不良セクタのリアサインとヘッドの状態の把握を行うことで、実際のホストコマンドによるデータアクセス時にリアサインが発生する可能性を減ずることができ、パフォーマンスの低下を防ぐことができる。
【０００７】
本発明の好適例として、（１）各テストの実施中にホストコマンドが発生した場合は、実施中の各テストを中止し、発生したホストコマンドを優先して実施すること、（２）レジスタの内容のディスクへの記憶を、一定の時間間隔あるいはアクセス回数毎に行うこと、（３）ディスクストレージ装置がモードフラグを備え、このモードフラグに現在実行中のテストの種類を記憶することが考えられる。いずれの場合も、上記本発明の不良セクタの処理を好適に行うことができる。
【０００８】
また、本発明のディスクストレージ装置は、ディスクストレージ装置が待機状態であることを検出する手段と、前記検出する手段に応答して、ディスクストレージ装置の機能に関する所定の検査、好ましくはリードテスト、ライトサーボテスト、又はライトテストのうちの少なくとも１つのテストを行う手段と、レジスタと、を含み、上述した不良セクタ処理方法を実施するよう構成したことを特徴とする。
【０００９】
【発明の実施の形態】
図１は本発明のディスクストレージ装置における不良セクタ処理方法の全体の概念の一例を説明するためのフローチャートである。図１に従って説明すると、まず、ディスクストレージ装置が待機状態かどうかを判断する（ステップＳ１）。待機状態かどうかは、ホストからのアクセスが所定の時間が過ぎてもない場合を待機状態と判断し、所定の時間内にアクセスがあった場合を待機状態で無いと判断する。そして、待機状態で無い場合は、現在実行中あるいは一旦実行が終了した後上記所定の時間内に発生したホストからのコマンドを実行する（ステップＳ２）。
【００１０】
次に、待機状態と判断された場合は、まず、リードテスト、ライトサーボテスト、ライトテストを順に実施する。すなわち、不良セクタを探すために、順次読み出しによるリードテストと書き込み位置へのヘッドの位置決めによるライトサーボテストを行うとともに、ヘッドの異常を判断するために、特定セクタへのデータ書き込みによるライトテストを行う。その結果、リードテストあるいはライトサーボテストにより不良セクタが見つかった場合は、その不良セクタをディスク上の予備領域に形成した代替セクタにリアサインするとともに、ライトテストによりヘッドの異常を見つけた場合は、そのことをユーザに知らせる（ステップＳ３）。なお、テストとしてこのうちの少なくとも１つのテストを実施することで、本発明を達成することができる。以上のステップＳ３を待機状態が続く限り順に繰り返す。各テストの途中でホストからコマンドがかけられた場合は、これを優先し、実行中のテストを中断しホストコマンドを実行する。
【００１１】
以下、上述した各ステップについて詳細に説明する。以下の説明では、ディスクストレージ装置のコントローラに、リードテスト、ライトサーボテスト、ライトテストのうち実際に実行している一つのテストを示すモードフラグと、現在のアクセスセクタを示すアドレス値を格納するレジスタを設けた例を説明する。
【００１２】
▲１▼待機状態かどうかの判断（ステップＳ１）：
ステップ１では、まず、ＰＯＲ（Power On Reset）と共にレジスタを初期化する。このとき、レジスタの内容を、ディスクストレージ装置のディスクに格納しておいた前回起動中のレジスタの状態に戻してもよい。次に、ホストからコマンドが途絶えてから所定の時間が過ぎると、ディスクストレージ装置内のＭＰＵが待機状態と判断し、その時点でのレジスタの内容をディスクに書き込む。これにより、次の実行時にその内容を参照することで、ヘッドを直接テスト実行位置のセクタに移動できるため、好ましい。レジスタの内容は、実行中のアクセスセクタのアドレス移動に従って順次更新される。
【００１３】
▲２▼ホストコマンドの実行（ステップＳ２）：
ステップＳ２では、ホストコマンドが連続してディスクストレージ装置に供給されている状態、言い換えると、あるホストコマンドが途絶えた後次のホストコマンドが所定の時間内に発生された状態の場合は、ディスクストレージ装置は待機状態で無いと判断し、ホストコマンドを実行する。
【００１４】
▲３▼テストの実施とリアサイン（ステップＳ３）：
ステップＳ３では、ディスクストレージ装置内のＭＰＵが、マイクロコードに従い、例えばリードテスト、ライトサーボテスト、ライトテストの順でディスクストレージ装置の機能をテストする。そして、リードテストあるいはライトサーボテストにおいて不良セクタが見つかった場合は、その不良セクタをディスクのリアサイン用領域のセクタに割り付けることによりリアサインする。ライトテストでヘッドの不良が見つかった場合は、例えば、ディスプレイ上にこのディスクストレージ装置に欠陥があることを表示する等の手段で、ヘッドの不良をユーザに知らせる。モードフラグの内容は、実際に実行中のテストの内容に従って順次更新される。
【００１５】
ここで、リードテストは、全トラックに対し順次にリードを行い、リード出来ないトラックのセクタを不良セクタと判断する。このリードテストは全トラックすなわちデータ記録済みの領域あるいはデータ未記録領域を問わずに実施され、不良セクタが見つかればリアサインする。ライトサーボテストは、ヘッドを各トラックのライト位置にオフセットさせ、各サーボセクタでの位置決め精度を測定する。あるセクタで位置決め精度が悪いと判断された場合は、そのセクタを不良セクタと判断し、その不良セクタとそれに続く数個のセクタをリアサインする。ライトサーボテストは、全トラックに対し順次実施され、各トラック１０周程度の間のばらつきと平均値を測定すれば十分である。ライトテストは、予め各ディスク面上に確認されたライトテスト用領域に書き込み、同箇所を読み取って、データが書き込まれているかを確認する。データが正常に書き込まれていない場合は、ヘッドが異常だと判断し、そのことをユーザに知らせる。
【００１６】
テストの途中でホストコマンドがかけられたときには、これを優先して、ホストコマンドを実行する。ホストコマンドの実行が終了すると、モードフラグの内容とレジスタの内容から前回中断したテストの種類とセクタのアドレス値に従い、中断したテストを引き続き実行する。テストの途中、適当な時間間隔あるいはアクセス回数毎にレジスタの内容をディスクに保存することが好ましい。そして、テストが一巡すれば、最初からテストをやり直す。あるいは、次のテストを一定の時間をおいてから開始してもよい。
【００１７】
図２は本発明のディスクストレージ装置における不良セクタ処理方法を実施する対象となるディスクの構成の一例を示す図である。図２に示すディスクでは、ディスク上に外周から内周に向けて、ライトテスト用領域Ｒ１、データ記録済領域Ｒ２、データ未記録領域Ｒ３、リアサイン用領域Ｒ４を設けている。ここで、ライトテスト用領域Ｒ１は、ライトテストにおける書き込みを行う領域である。リアサイン用領域Ｒ４は、リードテストあるいはライトサーボテストにおいて不良セクタが見つかった場合のリアサインを行う領域である。本発明のディスクストレージ装置における不良セクタ処理方法では、待機状態のときは常時テストを行い、不良セクタのリアサイン及びヘッドの異常を確認している。そのため、ゴミや埃で一時的に不良セクタと判断されたセクタであっても、ゴミや埃が除かれた状態で再度テストを行うと不良セクタとは判断されず、常に最適なディスクのアクセスを行うことができる。また、図２に示すように、ディスク上にデータ未記録領域Ｒ３が存在する場合、そのデータ未記録領域Ｒ３に対しデータを記録する間のパフォーマンスの時間的な低下を特に好適に防ぐことが出来る。
【００１８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、不良セクタやヘッドの異常を待機状態の間常時テストを行うことで、不良セクタやヘッドの異常をホストからのアクセスに独立して発見し、不良セクタをリアサインしたり、ヘッド異常をユーザに知らせたりすることが出来るため、リカバリに伴うパフォーマンスの瞬間的な低下を防ぐ事が出来る。
【図面の簡単な説明】
【図１】本発明のディスクストレージ装置における不良セクタ処理方法の全体の概念の一例を説明するためのフローチャートである。
【図２】本発明のディスクストレージ装置における不良セクタ処理方法を実施する対象となるディスクの構成の一例を示す図である。
【符号の説明】
Ｒ１  ライトテスト用領域、Ｒ２  データ記録済領域、Ｒ３  データ未記録領域、Ｒ４  リアサイン用領域
【図１】
0003705957.tif 000002
【図２】
0003705957.tif 000003