(57)【要約】      （修正有）【課題】エラー領域へのアクセスにおけるタイムアウトエラーを回避することができる記憶装置、リトライプログラ及び方法を提供する。【解決手段】記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出部ＭＰＵ９と、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付け部ＭＰＵと、リトライによるリカバーに要する時間が所定の時間以上である単位領域と対応付け部により対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始部ＭＰＵとを備える。【選択図】図１
2009272001.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域にデータを記憶する記憶装置であって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出部と、
前記検出部により検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付け部と、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付け部により対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始部と
を備える記憶装置。
【請求項２】
請求項１に記載の記憶装置において
前記順序付けられた複数のリトライパラメータの値は、前記順序を経る毎に増大するように設定されていることを特徴とする記憶装置。
【請求項３】
請求項１または請求項２に記載の記憶装置において、
前記所定の時間は、前記記憶装置と接続されたホスト装置において設定されたコマンドタイムアウト時間であることを特徴とする記憶装置。
【請求項４】
請求項３に記載の記憶装置において、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付け部により対応付けられたリカバーパラメータの順序から前記リトライ開始部により差し引かれる所定数は、前記ホスト装置において設定されたコマンドタイムアウト時間に基づくことを特徴とする記憶装置。
【請求項５】
記憶領域にデータを記憶する記憶装置においてコンピュータにより実行することができるリトライプログラムであって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、
前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けステップと、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップと
をコンピュータに実行させるリトライプログラム。
【請求項６】
請求項５に記載のリトライプログラムにおいて
前記順序付けられた複数のリトライパラメータの値は、前記順序を経る毎に増大するように設定されていることを特徴とするリトライプログラム。
【請求項７】
記憶領域にデータを記憶する記憶装置におけるリトライ方法であって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、
前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けステップと、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップと
を備えるリトライ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置におけるリカバー機能に関するものである。
【背景技術】
【０００２】
従来、例えば磁気ディスク装置のような記憶装置における記憶領域へのアクセスにおいてエラーが発生した場合、記憶装置は再度アクセスを試みるリトライ処理によりエラーが発生した記憶領域（エラー領域）のデータをリカバーする。ここでリトライ処理について図を用いて説明する。図８はリトライ処理におけるヘッドの動作を示す図である。また、図９は、リトライ回数とリトライ回数に対する処理時間を示す図である。
【０００３】
図８に示す従来の磁気ディスク装置９は、ディスク媒体９１、ヘッド９２により構成されるものである。リトライ処理は、この磁気ディスク装置９において、ディスク媒体９１上のアクセスすべき領域を含むトラックへのアクセスにおいてエラーが発生した場合、磁気ディスク装置９はトラックに対してヘッド９２の位置をずらしつつエラー領域にアクセスする処理である。また、磁気ディスク装置９は、トラックに対するヘッド９２の位置をずらすだけではなく、その他の動作及び処理も変更する。つまり、リトライ処理は、エラー領域に対してアクセスする際の磁気ディスク装置９の条件を可変させる処理である。また、リトライ処理は、図９に示すようにリトライ回数によってエラー領域にアクセスする際の磁気ディスク装置９の条件を変更する。例えば、図９においては、ヘッドのオフセット量の値、データに対する訂正能力の値、特殊処理１及び特殊処理２の有無がリトライ回数により変更されている。
【０００４】
このように、従来の磁気ディスク装置９はリトライ回数に応じてアクセス条件を変更することによって、エラー領域にアクセスする。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したリトライ処理は、リトライ回数が増える程、エラー領域にアクセスするための時間（図９における処理時間）も増大する。例えば、磁気ディスク装置９のホスト装置において指定されたタイムアウト時間が１秒であるとする。このような場合、図９に示すようにデータをリカバーするまでのリトライ回数が３００回かかると、処理時間が３秒かかり、ホスト側ではタイムアウトエラーとなり、結果としてホストがハングアップしてしまうという問題がある。
【０００６】
本発明は、上述した問題点を解決するためになされたものであり、エラー領域へのアクセスにおけるタイムアウトエラーを回避することができる記憶装置、リトライプログラム及び方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、記憶装置は、記憶領域にデータを記憶する装置であって、前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出部と、前記検出部により検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付け部と、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付け部により対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始部とを備える。
【０００８】
また、リトライプログラムは、記憶領域にデータを記憶する記憶装置においてコンピュータにより実行することができるプログラムであって、前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けと、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップとをコンピュータに実行させる。
【０００９】
また、リトライ方法は、記憶領域にデータを記憶する記憶装置における方法であって、前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けステップと、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップとを備える。
【発明の効果】
【００１０】
本発明によれば、エラー領域へのアクセスにおけるタイムアウトエラーを回避することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図を用いて説明する。なお、本実施の形態では、磁気ディスク装置（ＨＤＤ）を記憶装置の一例として説明するが、態様を限定するものではない。
【００１２】
まず、本実施の形態に係るＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）について説明する。図１は、本実施の形態に係るＨＤＤの構成を示すブロック図である。また、図２は、本実施の形態に係るＨＤＤ及びそのホスト装置を示すブロック図である。
【００１３】
図１に示すように、ＨＤＤ１は、ホストＩＦ（Ｉｎｔｅｒｆａｃｅ）制御部２、バッファ制御部３、バッファメモリ４、不揮発性メモリ５、フォーマット制御部６、リードチャネル７、ヘッドＩＣ８、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、検出部、対応付け部、リトライ開始部）９、メモリ１０、プログラムメモリ１１、サーボ制御部１２、ヘッドアクチュエータ１３、スピンドルモータ１４、リードライトヘッド１５、ディスク媒体１６（記憶領域）、コモンバス１７を備えるものである。
【００１４】
ホストＩＦ制御部２は、図１に図示しないホストインターフェイスを制御する制御回路である。また、バッファ制御部３は、バッファメモリ４及び不揮発性メモリ５を制御する制御回路である。また、バッファメモリ４は、ディスク媒体１６に読み書きされるデータを一時的に格納するものである。また、不揮発性メモリ５は、ＨＤＤ１の内部情報を格納するものである。また、フォーマット制御部６は、フォーマットを制御する制御回路である。また、リードチャネル７は、ディスク媒体１６に対してリードライトヘッド１５により読み書きされるデータの復調及び変調を行うものである。また、ヘッドＩＣ８は、ディスク媒体１６からリードライトヘッド１５により読み取られた信号を増幅するものである。また、ＭＰＵ９は、ＨＤＤ１の制御に係る処理を行うものである。また、メモリ１０は、ＨＤＤ１の制御に係るデータ及びプログラムを一時的に格納するものである。また、プログラムメモリ１１は、ＨＤＤ１の制御に係るプログラムを格納する不揮発性メモリ（ＦＲＯＭ）である。また、サーボ制御部１２は、ヘッドアクチュエータ１３及びスピンドルモータ１４の動作を制御するものである。また、ヘッドアクチュエータ１３は、リードライトヘッド１５を駆動するものである。また、スピンドルモータ１４は、ディスク媒体１６を回転させるものである。また、リードライトヘッド１５は、ディスク媒体１６に磁気によりデータを記憶させ、記憶させたデータを読み取るものである。また、コモンバス１７は、ホストＩＦ制御部２、バッファ制御部３、フォーマット制御部６、リードチャネル７、ヘッドＩＣ８、ＭＰＵ９、メモリ１０、プログラムメモリ１１、サーボ制御部１２を接続するバスである。
【００１５】
また、図２に示すように、本実施の形態に係るＨＤＤ１は、図１に図示しないホストインターフェイス１８により例えばパーソナルコンピュータのようなホスト装置１００と接続されているものである。
【００１６】
次に、本実施の形態に係るＨＤＤの動作について説明する。図３は、リトライ回数保存処理を示すフローチャートである。なお、この処理はＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ，  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）Ｓｅｌｆ  ＴｅｓｔのＲｅａｄ  Ｓｃａｎを使用する処理である。このＲｅａｄ  Ｓｃａｎは、ディスク媒体の全領域に対してチェックを行う処理である。また、本実施の形態において、領域の単位はセクタとするが、他の単位領域であっても構わない。
【００１７】
まず、ＨＤＤ１のＭＰＵ９は、Ｒｅａｄ  Ｓｃａｎによるディスク媒体１６上の全記憶領域に対するスキャンを開始する（Ｓ１０１、検出ステップ）。次に、スキャンを開始したＭＰＵ９は、リトライによりアクセス可能であるデータ領域であるリカバー可能領域が検出されたかどうかを判断する（Ｓ１０２、検出ステップ）。
【００１８】
リカバー可能領域が検出された場合（Ｓ１０２，ＹＥＳ）、ＭＰＵ９は、リカバー可能領域に対してリカバー処理を実行する（Ｓ１０３）。このリカバー処理は、リカバー可能領域（リカバー単位領域）のデータにアクセスするまでリトライを繰り返す処理である。リカバー処理によりリカバー可能領域のデータにアクセスすると、ＭＰＵ９は、リカバー処理に掛かった時間がホストタイムアウト時間を越えているかどうかを判断する（Ｓ１０４、対応付けステップ）。
【００１９】
リカバー処理に掛かった時間がホストタイムアウト時間を越えている場合（Ｓ１０４，ＹＥＳ）、ＭＰＵ９は、リカバー処理によりリカバーされたリカバー可能領域を示すリカバー領域番号と、リカバー可能領域をリカバーしたリトライステップとを対応付けてディスク媒体１６または不揮発性メモリ５に保存する（Ｓ１０５、対応付けステップ）。リカバー領域番号とリカバー処理に掛かった時間（リトライステップ）とを保存したＭＰＵ９は、スキャンした領域が最終領域かどうかを判断する（Ｓ１０６）。なお、リトライステップはリトライに係る補正値としてのパラメータ（リトライパラメータ、図７におけるリトライ内容）を示すものである。また、このリトライステップは順序を経る毎に値（特殊処理１及び特殊処理２の実行の有無も含む）が増大するように予め設定されているものである。
【００２０】
スキャンした領域が最終領域である場合（Ｓ１０６，ＹＥＳ）、ＭＰＵ９は、処理を終了する。
【００２１】
一方、スキャンした領域が最終領域ではない場合（Ｓ１０６，ＮＯ）、ＭＰＵ９は、次の領域をスキャンする（Ｓ１０７）。
【００２２】
また、ステップＳ１０４において、リカバー処理に掛かった時間がホストタイムアウト時間を越えていない場合（Ｓ１０４，ＮＯ）、ＭＰＵ９は、スキャンした領域が最終領域かどうかを判断する（Ｓ１０６）。
【００２３】
また、ステップＳ１０２において、リカバー可能領域が検出されなかった場合（Ｓ１０２，ＮＯ）、ＭＰＵ９は、スキャンした領域が最終領域かどうかを判断する（Ｓ１０６）。
【００２４】
上述の動作によって、ＨＤＤ１は、リカバー処理時間がホストタイムアウト時間を越える領域を特定することができる。また、ＨＤＤ１は、記憶領域のスキャンにおいて、ＨＤＤ１に搭載されている機能であるＳＭＡＲＴ  Ｓｅｌｆ  ＴｅｓｔのＲｅａｄ  Ｓｃａｎを用いることによって、ホストタイムアウト時間を越える領域のリトライステップを得ることができる。なお、以降の説明において、リカバー処理時間がホストタイムアウト時間を越える領域を重度リカバー領域と呼称する。
【００２５】
次に、リトライ処理について説明する。このリトライ処理はアクセスコマンドによるアクセス対象がリカバー領域である場合になされる処理である。図４は、リトライ処理の動作を示すフローチャートである。
【００２６】
まず、ＭＰＵ９は、アクセスコマンドがあった領域であるアクセス領域がリカバー領域かどうかを判断する（Ｓ２０１）。
【００２７】
アクセス領域がリカバー領域である場合（Ｓ２０１，ＹＥＳ）、ＭＰＵ９は、アクセス領域が重度リカバー領域であるかどうかを判断する（Ｓ２０２、リトライ開始ステップ）。
【００２８】
アクセス領域が重度リカバー領域である場合（Ｓ２０２，ＹＥＳ）、ＭＰＵ９は後述する簡易リトライ処理を実行する（Ｓ２０３、リトライ開始ステップ）。
【００２９】
一方、アクセス領域が重度リカバー領域ではない場合（Ｓ２０２，ＮＯ）、ＭＰＵ９は後述する通常リトライ処理を実行する（Ｓ２０４）。
【００３０】
また、ステップＳ２０１において、アクセス領域がリカバー領域ではない場合（Ｓ２０１，ＮＯ）、ＭＰＵ９は、処理を終了する。
【００３１】
上述の動作によって、ＨＤＤ１は、リカバー処理時間がホストタイムアウト時間を越える重度リカバー領域と、リカバー処理時間がホストタイムアウト時間を越えないリカバー領域のそれぞれに対して、異なるリトライ処理を実行することができる。
【００３２】
次に、通常リトライ処理について説明する。図５は、通常リトライ処理の動作を示すフローチャートである。
【００３３】
まず、ＭＰＵ９は、図９に示したようなリトライステップ（ＲｅｔｒｙＳｔｅｐ）を変数Ｎとし、このＮに１を代入し（Ｓ３０１）、リカバー領域に対して、リトライステップＮのリトライ処理を実行する（Ｓ３０２）。なお、本実施の形態において、各リトライステップの処理内容（図９におけるリトライ内容）はすでに定められているものとする。
【００３４】
次に、ＭＰＵ９は、リカバー領域がリカバーされたかどうかを判断する（Ｓ３０３）。
【００３５】
リカバー領域がリカバーされなかった場合（Ｓ３０３，ＮＯ）、ＭＰＵ９は、リトライ処理がタイムアウトしたかどうか、即ち、リトライ処理に係る時間がホストタイムアウト時間を越えたかどうかを判断する（Ｓ３０４）。
【００３６】
リトライ処理がタイムアウトしていない場合（Ｓ３０４，ＮＯ）、ＭＰＵ９は、リトライステップＮに１を加算したものをＮに代入し（Ｓ３０５）、再度、リカバー領域に対して、リトライステップＮのリトライ処理を実行する（Ｓ３０２）。
【００３７】
一方、リトライ処理がタイムアウトした場合（Ｓ３０４，ＹＥＳ）、ＭＰＵ９は、通常リトライ処理を終了する。
【００３８】
また、ステップＳ３０３において、リカバー領域がリカバーされた場合（Ｓ３０３，ＹＥＳ）、ＭＰＵ９は、通常リトライ処理を終了する。
【００３９】
上述したように、通常リトライ処理は、リカバー領域をリカバーするまでリトライステップ１からリトライ処理を実行する。これに対して、簡易リトライ処理は、所定のリトライステップからリトライ処理を実行する。図６は、簡易リトライ処理の動作を示すフローチャートである。また、図７は、リトライ回数とリトライ回数に対する処理内容を示す図である。以降、図７を参照しつつ、図６に示すリトライ処理の動作を説明する。
【００４０】
まず、ＭＰＵ９は、図６に示すように、リトライステップを変数Ｎとし、図３に示した処理により保存されたリカバー領域と対応するリトライステップから所定の値αを差し引いた値をリトライステップとする（Ｓ４０１、リトライ開始ステップ）。例えば、図７を例として説明すると、Ｒｅａｄ  Ｓｃａｎによりリカバー可能なリトライステップとされたＲｅｔｒｙＳｔｅｐ３００から、所定の値α（所定数）として４を差し引いた値、つまりＲｅｔｒｙＳｔｅｐ２９６を初回のリトライ処理とする。なお、所定の値αは可変であり、ホストタイムアウト時間に基づいて決定される値である。具体的には、所定の値αとホストタイムアウト時間は比例関係にある。例えば、ホストタイムアウト時間が長い場合、所定の値αの値も大きくなる。これによりＨＤＤ１は、タイムアウトを避けつつリトライ回数を増やすことができる。
【００４１】
次に、ＭＰＵ９は、リカバー領域に対して、リトライステップＮのリトライ処理を実行する（Ｓ４０２、リトライ開始ステップ）。
【００４２】
次に、ＭＰＵ９は、リカバー領域がリカバーされたかどうかを判断する（Ｓ４０３）。
【００４３】
リカバー領域がリカバーされなかった場合（Ｓ４０３，ＮＯ）、ＭＰＵ９は、リトライ処理がタイムアウトしたかどうか、即ち、リトライ処理に係る時間がホストタイムアウト時間を越えたかどうかを判断する（Ｓ４０４）。
【００４４】
リトライ処理がタイムアウトしていない場合（Ｓ４０４，ＮＯ）、ＭＰＵ９は、リトライステップＮに１を加算したものをＮに代入し（Ｓ４０５）、再度、リカバー領域に対して、リトライステップＮのリトライ処理を実行する（Ｓ４０２）。
【００４５】
一方、リトライ処理がタイムアウトした場合（Ｓ４０４，ＹＥＳ）、ＭＰＵ９は、通常リトライ処理を終了する。
【００４６】
また、ステップＳ４０３において、リカバー領域がリカバーされた場合（Ｓ４０３，ＹＥＳ）、ＭＰＵ９は、通常リトライ処理を終了する。
【００４７】
上述したように、リトライ処理に要する時間がホストタイムアウト時間を越える領域に対して、予め保存されたリカバー可能なリトライステップ手前からリトライ処理を開始することによって、タイムアウトを回避することができる。
【００４８】
本発明は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【００４９】
更に、記憶装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、リトライプログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、判定装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００５０】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  記憶領域にデータを記憶する記憶装置であって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出部と、
前記検出部により検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付け部と、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付け部により対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始部と
を備える記憶装置。
（付記２）  付記１に記載の記憶装置において
前記順序付けられた複数のリトライパラメータの値は、前記順序を経る毎に増大するように設定されていることを特徴とする記憶装置。
（付記３）  付記１または付記２に記載の記憶装置において、
前記所定の時間は、前記記憶装置と接続されたホスト装置において設定されたコマンドタイムアウト時間であることを特徴とする記憶装置。
（付記４）  付記１乃至付記３のいずれかに記載の記憶装置において、
前記検出部によるリカバー単位領域の検出は、ＳＭＡＲＴ  Ｓｅｌｆ  ＴｅｓｔのＲｅａｄ  Ｓｃａｎによってなされることを特徴とする記憶装置。
（付記５）  付記３に記載の記憶装置において、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付け部により対応付けられたリカバーパラメータの順序から前記リトライ開始部により差し引かれる所定数は、前記ホスト装置において設定されたコマンドタイムアウト時間に基づくことを特徴とする記憶装置。
（付記６）  記憶領域にデータを記憶する記憶装置においてコンピュータにより実行することができるリトライプログラムであって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、
前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けステップと、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップと
をコンピュータに実行させるリトライプログラム。
（付記７）  付記６に記載のリトライプログラムにおいて
前記順序付けられた複数のリトライパラメータの値は、前記順序を経る毎に増大するように設定されていることを特徴とするリトライプログラム。
（付記８）  付記６または付記７に記載のリトライプログラムにおいて、
前記所定の時間は、前記記憶装置と接続されたホスト装置において設定されたコマンドタイムアウト時間であることを特徴とするリトライプログラム。
（付記９）  付記６乃至付記８のいずれかに記載のリトライプログラムにおいて、
前記検出ステップによるリカバー単位領域の検出は、ＳＭＡＲＴ  Ｓｅｌｆ  ＴｅｓｔのＲｅａｄ  Ｓｃａｎによってなされることを特徴とするリトライプログラム。
（付記１０）  付記８に記載のリトライプログラムにおいて、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から前記リトライ開始ステップにより差し引かれる所定数は、前記ホスト装置において設定されたコマンドタイムアウト時間に基づくことを特徴とするリトライプログラム。
（付記１１）  記憶領域にデータを記憶する記憶装置におけるリトライ方法であって、
前記記憶領域においてリトライによりリカバー可能な単位領域であるリカバー単位領域を検出する検出ステップと、
前記検出ステップにより検出されたリカバー単位領域のうち、リトライによるリカバーに要する時間が所定の時間以上である単位領域と、前記リトライに係る補正値として順序付けられた複数のリトライパラメータ群において、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域がリカバー可能となるリトライパラメータであるリカバーパラメータとを対応付ける対応付けステップと、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域のリカバーにおいて、前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から所定数を差し引いた順序のリトライパラメータに基づいてリトライを開始するリトライ開始ステップと
を備えるリトライ方法。
（付記１２）  付記１１に記載のリトライ方法において
前記順序付けられた複数のリトライパラメータの値は、前記順序を経る毎に増大するように設定されていることを特徴とするリトライ方法。
（付記１３）  付記１１または付記１２に記載のリトライ方法において、
前記所定の時間は、前記記憶装置と接続されたホスト装置において設定されたコマンドタイムアウト時間であることを特徴とするリトライ方法。
（付記１４）  付記１１乃至付記１２のいずれかに記載のリトライ方法において、
前記検出ステップによるリカバー単位領域の検出は、ＳＭＡＲＴ  Ｓｅｌｆ  ＴｅｓｔのＲｅａｄ  Ｓｃａｎによってなされることを特徴とするリトライ方法。
（付記１５）  付記１２に記載のリトライ方法において、
前記リトライによるリカバーに要する時間が所定の時間以上である単位領域と前記対応付けステップにより対応付けられたリカバーパラメータの順序から前記リトライ開始ステップにより差し引かれる所定数は、前記ホスト装置において設定されたコマンドタイムアウト時間に基づくことを特徴とするリトライ方法。
【図面の簡単な説明】
【００５１】
【図１】本実施の形態に係るＨＤＤの構成を示すブロック図である。
【図２】本実施の形態に係るＨＤＤ及びそのホスト装置を示すブロック図である。
【図３】リトライ回数保存処理を示すフローチャートである。
【図４】リトライ処理の動作を示すフローチャートである。
【図５】通常リトライ処理の動作を示すフローチャートである。
【図６】簡易リトライ処理の動作を示すフローチャートである。
【図７】リトライ回数とリトライ回数に対する処理内容を示す図である。
【図８】リトライ処理におけるヘッドの動作を示す図である。
【図９】リトライ回数とリトライ回数に対する処理時間を示す図である。
【符号の説明】
【００５２】
１  ＨＤＤ、２  ホストＩＦ制御部、３  バッファ制御部、４  バッファメモリ、５  不揮発性メモリ、６  フォーマット制御部、７  リードチャネル、８  ヘッドＩＣ、９  ＭＰＵ、１０  メモリ、１１  プログラムメモリ、１２  サーボ制御部、１３  ヘッドアクチュエータ、１４  スピンドルモータ、１５  リードライトヘッド、１６  ディスク媒体、１７  コモンバス、１８  ホストインターフェイス、１００  ホスト装置。
【図１】
2009272001.tif 000003
【図２】
2009272001.tif 000004
【図３】
2009272001.tif 000005
【図４】
2009272001.tif 000006
【図５】
2009272001.tif 000007
【図６】
2009272001.tif 000008
【図７】
2009272001.tif 000009
【図８】
2009272001.tif 000010
【図９】
2009272001.tif 000011