(57)【要約】【課題】媒体記憶装置において、ストリーム系コマンド実行時にリードエラーが発生した場合、次回からのリード命令に対してリードエラーを無くし、かつ、データの連続性を保証する方法及び媒体記憶装置の提供を目的とする。【解決手段】ストリーム系コマンドにおいてリードできなかったセクタや読みとばした第１のセクタに対し、ホストからコマンドを受付していない状態の時に、フルリトライ・リード処理を行い、リードできたら再ライト、リードできなかったら時系列的に隣り合う正常にリードできるデータを有する第２のセクタのデータで書き換える。【選択図】図３
2005056519.tif 000002
【特許請求の範囲】
【請求項１】
ストリーム系コマンドによる記憶媒体からの記録データ読取処理において、
前記ストリーム系コマンドにより前記記憶媒体から前記ヘッドを介して記録データの再生を行うステップと、
前記再生データのエラー訂正を行うステップと、
前記ステップの出力データをバッファに格納するステップと、
前記バッファに格納された前記出力データを読み出すステップと、
所定時間内に前記記憶媒体から前記ヘッドを介して記録データの読み取りが成功しないときには、前記記録データを含む第１のセクタを読みとばすステップと、
前記ストリーム系コマンドの実行後、所定のリトライにより前記第１のセクタの記録データ読み取りが不成功な場合、正常に読み取りできる第２のセクタの記録データで前記第１のセクタの記録データを書き換えるステップと
を有することを特徴とする読取処理方法。
【請求項２】
前記第２のセクタは、前記第１のセクタと時系列的に最も近い記録データを有するセクタであることを特徴とする請求項１に記載の読取処理方法。
【請求項３】
データを記録／再生する媒体記憶装置において、
ストリーム系コマンドにより記憶媒体にヘッドを介して行うデータ記録／再生手段と、
前記データのエラー訂正を行う誤り訂正手段と、
前記誤り訂正手段の出力データを格納するバッファと、
前記バッファに格納された前記出力データを読み出すコントローラとを有し、
所定時間内に前記記憶媒体から前記ヘッドを介してデータの読み取りが成功しないときには、前記データを含む第１のセクタを読みとばし、
前記ストリーム系コマンドの実行後、所定のリトライを行っても前記第１のセクタのデータ読み取りが不成功な場合には、正常に読み取りできる第２のセクタの記録データで前記第１のセクタのデータを書き換えることを特徴とする媒体記憶装置。
【請求項４】
前記正常に読み取りできる第２のセクタは、前記第１のセクタと時系列的に最も近いデータを有するセクタであることを特徴とする請求項３に記載の媒体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーム系コマンド（ＡＶコマンドとも呼ばれる）により所定時間内に記憶媒体から記録データを連続的に読み取る場合の読取処理方法及び媒体記憶装置に関する。
【背景技術】
【０００２】
近年、ハードディスクの大容量化、高速ランダムアクセス性能の点からＡＶデータ（画像、音楽、音声等）の記録・再生にハードディスクの利用が広がってきている。このような用途のため、ＡＮＳＩ（アメリカ標準化機構）で規格化が進んでいるＩＤＥ（ハードディスクインターフェースの内の１つ）の規格であるＡＴＡ規格において、記憶媒体にアクセスするための拡張機能であるストリーム系コマンド群（Streaming feature set）が用意されており、複数の映像ストリームおよびメタデータの転送を行っても所定の時間内に動作を完了させる機能をもち、ホストからハードディスクに対して指定時間内に途切れなくデータを転送する。
【０００３】
これらコマンド群により映像・音声の途切れを無くすことができる。例えば、Ｒｅａｄ  Ｓｔｒｅａｍ  ＰＩＯ、Ｒｅａｄ  Ｓｔｒｅａｍ  ＤＭＡ、Ｗｒｉｔｅ  Ｓｔｒｅａｍ  ＰＩＯ、Ｗｒｉｔｅ  Ｓｔｒｅａｍ  ＤＭＡといったコマンドで、転送方法がＰＩＯかＤＭＡによってリード、ライトのコマンドが分けられている。
【０００４】
上記は、AT Attachment with Packet Interface-7 (Doc No. T13/1532D)に詳しく述べられているので、必要に応じてこれを参照していただきたい。
【０００５】
従来より、コンピュータ用のデータは、データの完全性が重要視され、コンピュータに接続されるデバイスはデータの完全性を保つことが要求されている。一方ＡＶデータにおいては、コンピュータ用のデータほどの完全性は要求されないが、所定の時間内に所定量のデータを連続的に途切れなく扱うことが要求されている。データが途切れてしまうと、映像データが停止してしまうといった障害を起こす。
【０００６】
従来、磁気ディスク装置において、通常のリードコマンドを使用してエラーが生じた場合にはリトライを行い、読み出しを極限まで試みる。その後、しばらくホストから磁気ディスク装置にリード要求がこなければ、リードスキャン機能が働き、ディスク全面のリードを行う。そこで、エラーが発生した場合には、リードできなかったセクタはリード・スキャン・テーブルに登録される。
【０００７】
リード・スキャン・テーブルに登録されたセクタにライトコマンドが発行された場合には、そのセクタは使用しないで別の交代エリアに書き込みが行われる。こうすることで、エラーしやすいセクタを事前に察して回避している。
【０００８】
ストリーム系コマンドを使用の場合は、リードにおいてエラーが発生すると所定時間内でリトライを含めて処理を終了させなければならないため、エラーが発生しても最後までリトライを試みることができない場合が生じる。
【０００９】
リードエラーの発生により交代エリアにライトしてしまうとアクセス・スピードが落ちてしまったり、あるいは、リトライを最後まで行っていないことにより、信頼性を低下させてしまうといった可能性を伴っていた。
【００１０】
そこで、例えば、ビデオデータを記録するハードディスク等におけるストリーム系コマンドを用いた場合のリードエラー処理について、誤り訂正困難な再生データが検出された場合、又は欠陥セクタに対するアクセスについては、これらの再生データを出力先の機器が識別可能なダミーデータに置き換えて出力する方法が知られている（特許文献１参照）。
【特許文献１】特開２００１−３５７６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１においては、リードできなかったデータを出力先の機器が識別可能なダミーデータに置き換えて出力するため、データを所定時間内に送出する場合に有効な方法であるが、その都度ダミーデータに置き換えて出力する必要がある。
【００１２】
本発明は、リードエラーが発生した場合に、交代エリアにライトすることでアクセス・スピードが落ちてしまったり、リトライを最後まで行っていないことによる信頼性の問題、及び誤り訂正困難なリードエラーに対しその都度ダミーデータに置き換えて出力しなければならないといったことを解決するための方法及び媒体記憶装置の提供を目的とする。
【課題を解決するための手段】
【００１３】
本願の請求項１に記載の発明は、ストリーム系コマンドによる記憶媒体からの記録データ読取処理において、前記ストリーム系コマンドにより前記記憶媒体から前記ヘッドを介して記録データの再生を行うステップと、前記再生データのエラー訂正を行うステップと、
前記ステップの出力データをバッファに格納するステップと、前記バッファに格納された前記出力データを読み出すステップと、所定時間内に前記記憶媒体から前記ヘッドを介して記録データの読み取りが成功しないときには、前記記録データを含む第１のセクタを読みとばすステップと、前記ストリーム系コマンドの実行後、所定のリトライにより前記第１のセクタの記録データ読み取りが不成功な場合、正常に読み取りできる第２のセクタの記録データで前記第１のセクタの記録データを書き換えるステップとを有することを特徴とする読取処理方法である。
【００１４】
本願の請求項１の発明によれば、媒体記憶装置がホストからのストリーム系コマンドによるリード命令を受け付け、読み出し動作を行ってエラー発生により所定時間内にリードできなかったセクタや読みとばしたセクタに対し、後で、ホストからコマンドを受付していない状態の時に、媒体記憶装置がフルリトライ・リード処理を行い、リードエラーを発生していた第１のセクタからリードできたらリードしたデータを再ライト、第１のセクタからリードできなかったら第１のセクタの前後の正常にリードできる第２のセクタのデータを第１のセクタに上書きする。こうすることで、次回からのリードストリーム系コマンド（ストリーム系コマンドの中のリード・コマンド）が発行された場合において、リードエラーにならず、さらに、主に画像データを扱うリードストリーム系コマンドにおいては、第１のセクタの近傍にある第２のセクタのデータを読むことにより、ＡＶ画面において目視では不自然さの目立たないデータ構成となる。
【００１５】
ここで、第１のセクタの記録データ、第２のセクタの記録データの意味は、セクタが記憶媒体のセクタ毎の記録データ全体を意味するのではなく、トラック上の記録データの内の各セクタに該当する、例えば、磁気ディスク媒体であれば、円形トラック上の円弧状部分の記録データを意味する。本発明では、特に注記のない限り、前述の狭い意味で使用することにする。
【００１６】
また、本願の請求項２に記載の発明は、前記第２のセクタは、前記第１のセクタと時系列的に最も近い記録データを有するセクタであることを特徴とする請求項１の読取処理方法である。
【００１７】
本願の請求項２の発明によれば、第１のセクタに上書きするデータとして第１のセクタに前後した位置にある、記録時には時系列的に連続した情報が記録された第１のセクタの隣のセクタが第２のセクタであれば、代替データとして最も好ましい。第１のセクタの記録データも正常にリードできない場合は、さらにその隣の正常にリードできる記録データを有するセクタが第１のセクタと時系列的に最も近い記録データを有する第２のセクタということになる。
【００１８】
ここで、第１のセクタに対して好ましい第２のセクタは、例えば、第１のセクタの両隣のセクタの記録データが正常にリードできれば、両隣の２つのセクタが第２のセクタの候補になるが、もちろん、どちらに決めても構わない。
【００１９】
さらに、例えば、磁気ディスク媒体において、第１のセクタが１つのトラック上の先頭又は最後尾に位置するセクタである場合には、第１のセクタに隣接するセクタの一方は、同一のトラック上ではなく、一般的には、トラック間をまたがって存在する。
また、本願の請求項３に記載の発明は、データを記録／再生する媒体記憶装置において、ストリーム系コマンドにより記憶媒体にヘッドを介して行うデータ記録／再生手段と、前記データのエラー訂正を行う誤り訂正手段と、前記誤り訂正手段の出力データを格納するバッファと、前記バッファに格納された前記出力データを読み出すコントローラとを有し、
所定時間内に前記記憶媒体から前記ヘッドを介してデータの読み取りが成功しないときには、前記データを含む第１のセクタを読みとばし、前記ストリーム系コマンドの実行後、所定のリトライを行っても前記第１のセクタのデータ読み取りが不成功な場合には、正常に読み取りできる第２のセクタの記録データで前記第１のセクタのデータを書き換えることを特徴とする媒体記憶装置である。
【００２０】
本願の請求項３の発明によれば、媒体記憶装置がホストからのストリーム系コマンドによるリード命令を受け付け、読み出し動作を行ってエラー発生により所定時間内にリードできなかったセクタや読みとばしたセクタに対し、後で、ホストからコマンドを受付していない状態の時に、媒体記憶装置がフルリトライ・リード処理を行い、リードエラーを発生していた第１のセクタからリードできたらリードしたデータを再ライト、第１のセクタからリードできなかったら第１のセクタの前後の正常にリードできる第２のセクタのデータを第１のセクタに上書きする。こうすることで、次回からのリードストリーム系コマンド（ストリーム系コマンドの中のリード・コマンド）が発行された場合において、リードエラーにならず、さらに、主に画像データを扱うリードストリーム系コマンドにおいては、第１のセクタの近傍にある第２のセクタのデータを読むことにより、ＡＶ画面において目視では不自然さの目立たないデータ構成のＡＶデータをホストに転送する。
【００２１】
また、本願の請求項４に記載の発明は、前記正常に読み取りできる第２のセクタは、前記第１のセクタと時系列的に最も近いデータを有するセクタであることを特徴とする請求項３の媒体記憶装置である。
【００２２】
本願の請求項４の発明によれば、第１のセクタに上書きするデータとして第１のセクタに前後した位置にある、記録時には時系列的に連続した情報が記録された第１のセクタの隣のセクタが第２のセクタであれば、代替データとして最も好ましい。第１のセクタの記録データも正常にリードできない場合は、さらにその隣の正常にリードできる記録データを有するセクタが第１のセクタと時系列的に最も近い記録データを有する第２のセクタということになる。
【００２３】
このため、本発明による媒体記憶装置は、エラー訂正できなかったセクタの記録データ部分は、リードできる好ましいデータで上書きされるので、次回以降にリードストリーム系コマンドで再生すると、リードエラーを発生することなく、単時間でＡＶデータを読み出すようになっている。
【発明の効果】
【００２４】
本発明によれば、リードストリーム系コマンドにおいて再びリードエラーを発生するようなセクタのデータを、時系列的に連続した隣り合うセクタあるいはこれに近い正常にリードできるセクタのデータで書き換えることにより、次回以降のリード時にリードエラーを起こさず、かつ、画像等のデータとして目視等で違和感のないリードデータとすることができる。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明を実施するための一形態を説明する媒体記憶装置の構成図である。
【００２６】
図１は、媒体記憶装置として、磁気ディスクにデータをリード／ライトする磁気ディスク装置（ＨＤＤ）を例に示す。磁気ディスク装置１は、パーソナルコンピュータ等のホスト(図示省略)とＡＴＡ(AT Attachment)規格のインタフェース・ケーブル１８で接続される。
【００２７】
磁気ディスク装置１は、磁気ディスク１０と、磁気ディスク１０を回転するスピンドルモータ１１と、磁気ディスク１０に対してデータをリード／ライトする磁気ヘッド１６と、磁気ヘッド１６を磁気ディスク１０の半径方向（トラック横断方向）に移動するアクチュエータであるＶＣＭ１３を備える。さらに、制御部として、ＨＤＣ（Hard  Disk  Controller）１７と、データバッファ５と、ＭＰＵ（Micro Processing Unit）２と、不揮発性のメモリ４と、ヘッドＩＣ９と、スピンドルモータドライバ１２と、ＶＣＭドライバ１４と、ヘッドの位置を検出する位置検出部１５と、これらを接続するバス８とを備える。
【００２８】
ＨＤＣ１７は、ホストからタスクを指定するタスクファイル３Ａを有するＡＴＡインタフェース制御回路３と、データバッファ５を制御するデータバッファ制御回路６と、記録データのフォーマット制御を行うフォーマッタ制御回路７、エラー訂正回路(ECC)〔図示省略〕とを有する。
【００２９】
データバッファ５には、ホストからのライトデータ又はホストへのリードデータが、各データバッファアドレス位置に、ＬＢＡ（論理ブロックアドレス：Logical Block Address）単位で格納される。
【００３０】
ヘッドＩＣ９は、ライト時は、記録データに従い磁気ヘッド１６に記録電流を流し、リード時は、磁気ヘッド１６からの読取信号を増幅して、リードデータ（サーボ情報を含む）を出力する。位置検出部１５は、ヘッドＩＣ９からのサーボ情報から磁気ヘッド１６の位置を検出する。
【００３１】
スピンドルモータドライバ１２は、スピンドルモータ１１を回転駆動する。ＶＣＭドライバ１４は、磁気ヘッド１６を移動するＶＣＭ１３を駆動する。ＭＰＵ２は、磁気ヘッド１６の位置制御、リード／ライト制御、リトライ制御等を行う。メモリ４は、ＭＰＵ２の処理に必要なデータを格納する。
【００３２】
図２は、ホストからのコマンド列（タスク）が設定される図１のＡＴＡ規格のタスク
ファイルレジスタ３Ａの説明図である。以下の説明の内、詳細部分の説明は、Ｒｅａｄ  Ｓｔｒｅａｍ  ＰＩＯの場合を例にとって説明する。
【００３３】
（１）タスクファイルレジスタ（Task File Register）は、全体を、磁気ディスク装置側から見てInputとOutput に分けて表示してある。Input側の欄について説明すると、コマンドレジスタ１Ｆ７には、リード、ライト等のコマンドを設定する。デバイス／ヘッドレジスタ１Ｆ６、シリンダハイ１Ｆ５、シリンダロー１Ｆ４、セクタ番号レジスタ１Ｆ３には開始アドレスが設定される。セクターカウントレジスタ１Ｆ２には、リード／ライトのセクタ数が設定される。フィーチャレジスタ１Ｆ１には、リード／ライトの形態が指定される。Output側の欄については、以下に、必要に応じて説明する。
【００３４】
（２）フィーチャレジスタ（Features Resister）は、（１）に示すInput側のフィーチ
ャレジスタ１Ｆ１である。（２）に示すように、８ビットのフィーチャレジスタのビット７がＵＲＧ（Urgent）ビット、ビット６がＲＣ（Read Continuous）ビットである。
【００３５】
ＵＲＧビットには緊急転送要求を指定でき、指定すると磁気ディスク装置１は全てのリカバリー等の動作まではせず、装置の可能な最少時間の中で、リードあるいはライトを最少回数だけ試みてその結果をホストに転送する。
【００３６】
ＲＣビットはリード継続モードを有効にする指定のビットで、指定すると、１Ｆ２に指定された指定時間内に動作を完了するようリトライを制限してリード動作を実行する。ＲＣビットを指定することにより、リードエラーが生じてもエラーを発生したセクタを読みとばし、装置を停止させずにコマンドに対するすべてのデータを転送する。ＲＣビットがクリアされた場合、装置はリードエラーが発生すると停止する。
【００３７】
リードストリーム系コマンドにおいて、ＵＲＧビット、ＲＣビットを指定してコマンドを発行した場合、エラー訂正は行っているが、残り時間が無い場合には、エラー訂正に失敗したままデータをデータバッファを通してホストに転送する。これを読みとばしと言っている。
【００３８】
（３）ステータスレジスタ（Status Register）は、（１）に示すOutput側のステータスレジスタ１Ｆ７である。ビット５（ＳＥ：Stream Error）は、ＲＣ又はＵＲＧビットが指定された状態でコマンド実行中にエラーが発生した場合に指定される。この場合、（１）のＳｅｃｔｏｒ  Ｎｕｍｂｅｒ  Ｒｅｇｉｓｔｅｒには最初のエラーが発生したセクタアドレス、Ｓｅｃｔｏｒ  Ｃｏｕｎｔ  Ｒｅｇｉｓｔｅｒにはエラーが発生したセクタを含めて何セクタ連続したかのセクタ数が指定される。
【００３９】
（４）エラーレジスタ（Error Register）は、（１）に示すOutput側のエラーレジスタ１Ｆ１を示す。ビット０のＣＣＴＯ（Command Complete Time Out）は、１Ｆ２に指定した時間内にリードが完了しなかった場合に指定される。
【００４０】
このように、ディスク装置におけるリードストリーム系コマンドと通常のコマンド(例えば、Ｒｅａｄ  Ｓｅｃｔｏｒｓ)  と異なる点は、リードストリーム系コマンドにおいては、実行時間を１Ｆ２で指定するＣＣＴＬ（Command Completion Time Limit）と呼ばれるタイマー値を設定するとコマンドの実行時間が設定され、指定時間を超えないように制御できるようになっている点である。ここで、超えてしまった場合には、タイムアウト・エラーとなる。
【００４１】
次に、前述の構成において、Ｗｒｉｔｅ  Ｓｔｒｅａｍ  ＰＩＯコマンドでライトしたデータをＲａｅｄ  Ｓｔｒｅａｍ  ＰＩＯコマンドでリードする場合を例として、図３の本発明のフロー図で説明する。
【００４２】
初めに、ＭＰＵ２は、ホストからＨＤＣ１７がコマンドを受け取ったかを判定する。コマンドを受け取ると、ＭＰＵ２は、そのコマンドコードを解析し、メモリ４にあるコマンドテーブル（図示省略）を、ＨＤＣ１７のタスクファイル３Ａに設定されたコマンド（図２の（１）参照）に従い更新する。ＨＤＣ１７にそのコマンドに対応した命令を発する（Ｓ０１）。
【００４３】
ＭＰＵ２は、Ｒｅａｄ  Ｓｔｒｅａｍ  ＰＩＯコマンドでない通常のリードコマンドと判定（Ｓ０２）すると、通常処理をＨＤＣ１７に指示する。ここで、通常処理では、データの信頼性を重視し、時間にかかわらず、リードエラーに対し、所定回数のリトライを行い、データの信頼性を保つ。
【００４４】
ＭＰＵ２は、Ｒｅａｄ  Ｓｔｒｅａｍ  ＰＩＯコマンドと判定（Ｓ０２）すると、ＨＤＣ１７に、Ｒｅａｄ  Ｓｔｒｅａｍ  ＰＩＯの動作を指示する。ＨＤＣ１７のデータバッファ制御回路６は、ヘッドＩＣ９、ＶＣＭ１３を介し磁気ヘッド１６を駆動して、磁気ディスク１０へリード動作を行う（Ｓ０３）。
【００４５】
ＭＰＵ２は、位置検出部１５からの復調位置を検出し、ＶＣＭドライバ１４を介してＶＣＭ１３を駆動し、磁気ヘッド１６を指定トラックに位置制御する。また、復調位置から磁気ヘッド１６が磁気ディスク１０上の指定トラックからのオフトラックエラーを判定している（図示省略）。
【００４６】
磁気ヘッド１６により読み出されたリードデータは、ヘッドＩＣ９を通って、ＨＤＣ１７〔フォーマッタ制御回路７、データバッファ制御回路６、エラー訂正回路（ＥＣＣ）〔図示省略〕を経由して、データバッファ５に格納される(図１参照）（Ｓ０３）。
【００４７】
ここで、図２の（２）におけるフィーチャレジスタ１Ｆ１のＵＲＧビット、ＲＣビットが指定されているとき、ＭＰＵ２は、オフトラックエラー等のリードエラーが発生したと判定すると（Ｓ０４）、所定時間以上のリトライを行わずに、ＨＤＣ１７の磁気ディスク１０のリードエラーが発生したセクタを読みとばす。
【００４８】
ＭＰＵ２は、エラーを発生したセクタのＬＢＡ情報をメモリ４に記憶させる（Ｓ０５）。なお、その後ＭＰＵ２は、新たにコマンドがホストにより発行された場合でも、データを格納しているデータバッファ５上の上記ＬＢＡ情報を記憶させているデータバッファアドレスは使用禁止の解除になるまでは使用しない。
【００４９】
一方、ステップＳ０４でリードエラーを検出しないと、ＭＰＵ２は、ＨＤＣ１７からコマンドの終了通知があるかを判定する。終了通知がないと、ステップＳ０３に戻る。ＭＰＵ２は、ＨＤＣ１７からコマンドの終了を受けると、メモリ４にあるコマンドテーブル（図示省略）の更新を行う。そして、図８のステップＳ０１に戻る。
【００５０】
さらに、ステップＳ０１でＭＰＵ２は、ホストからＨＤＣ１７がコマンドを受け取っていないと、ＨＤＣ１７経由でホストからのコマンドが一定時間ないかを判定する（Ｓ０７）。  例えば、１分間コマンド発行がないかを判定する。所定時間コマンドを受領しなければ、ＭＰＵ２は、メモリ４の情報を基に、ＨＤＣ１７に、再度リード処理を指示する（Ｓ０８）。この時は、ホストから発行されたコマンドではないので、ＨＤＣ１７は、フルリトライを行い、極力媒体リードを完了するように試みる。ＭＰＵ２は、フルリトライ中にエラーが発生したかどうかを判定する。そして、先刻読みとばしたセクタから正常にリードできたときは、ＭＰＵ２は、ＨＤＣ１７の媒体リード処理を停止させ、ステップＳ０５において読みとばしたセクタから読み出したデータを再ライトする（Ｓ１１）。
【００５１】
次に、ＭＰＵ２は、リトライアウト（所定回のリトライを行っても、エラーが継続する）かを判定する。
【００５２】
リトライアウトでない場合、即ち、リードエラーが発生しなかった場合には、ＨＤＣ１７からのリード完了を受ける。ＭＰＵ２は、リード完了の通知を受けると、ＨＤＣ１７経由の媒体リード処理を終了し、例えば、ステップＳ０５において読みとばされたセクタから読み出したデータを再ライトする（Ｓ１１）。そして、メモリ４に記憶したエラーを発生したセクタのＬＢＡ情報を更新し、図３のコマンド受領待機状態であるステップＳ０１に戻る。
【００５３】
逆に、リトライアウトの場合、即ち、ステップＳ０８において、所定回のリトライをしても媒体リードに失敗してしまった場合には、媒体リードに失敗したセクタに隣り合った直前または直後のセクタの情報をメモリ４から取り出し（Ｓ１０）、例えば媒体リードに失敗したセクタに隣接する正常にリードできる１つ前のセクタの情報を上書きする（Ｓ１１）。このようにすることによって、次回にリードの指示があったときには、該当セクタに書き込まれた正常に読み出せるデータが書き込まれているので、リードエラーを発生することなくリードが可能となる。
【００５４】
図３のフローでは、ステップＳ０８からＳ１１までの工程を、メモリ４に記されているセクターカウント数分繰り返す。その工程を全て完了したら、メモリ４を更新し、データバッファ５の保護を解除する。
【実施例１】
【００５５】
図４は、リードストリーム系コマンドにてリードするセクタ例を示す。１−４までの数字は、ＬＢＡを表す。×は、リードストリーム系コマンド実行によりエラーを発生したエラーセクタを示す。セクタ３がリードできなかった場合、すなわち、図３のステップＳ０４においてエラーが発生した場合である。前記リードストリーム系コマンド実行が終了して暫くコマンドがこない、つまり、図３のステップＳ０７において一定時間コマンドがこないときに、図４に示すセクタ３を再度リードして成功した場合には、図３のステップＳ０９においてエラーが発生しなかったときに該当し、リードしたセクタ３のデータをそのままセクタ３に上書きする（Ｓ１１）。
【００５６】
一方、図４のセクタ３を再度リードしても成功しなかった場合、すなわち、図３のステップＳ０９においてリードエラーが発生したと判断した場合には、図４のセクタ２のデータをリードして（Ｓ１０）、セクタ３にセクタ２のデータを上書きする（Ｓ１１）。こうすることにより、人間の視覚では見かけ上はＡＶ画面が一瞬乱れるにとどまる（図７参照)。
【００５７】
図５には、１−４までのセクタから正常にリードできる場合の正常時のＡＶ画面表示例を示す。この場合は、セクタ３のデータは、セクタ３のデータとして正常に表示されるが、図４の場合には、セクタ３のデータが壊れているので、ここから読み取ったデータをＡＶ画面にそのまま表示すると、図６に示すエラー発生時のＡＶ画面表示例のように３の部分はセクタ２及びセクタ４の部分とは繋がりのない壊れたデータがそのまま表示されてしまい、見た目に異様に映る。
【００５８】
図７は、本発明を適用した時のＡＶ画面表示例を示す。
【００５９】
上記の図４に示すデータ読み取り結果に対し、セクタ３の部分のデータをセクタ２のデータに入れ換えることによって、図７に示すように、セクタ３の部分に該当する部分はセクタ２のデータが表示され、セクタ２の部分のデータが重複して表示されるため、人間の視覚には見かけ上は異様でない画像が得られる結果となる。
【００６０】
ここで、本実施例においては、セクタ３にリードしたセクタ２のデータを上書きしたが、リードしたセクタ４のデータを上書きしてももちろん構わない。
【実施例２】
【００６１】
図８には、リードストリーム系コマンドにてリードするセクタの第二の実施例を示す。セクタ２及びセクタ３が連続してリードストリーム系コマンドで読めなかった場合の処理の例を以下に説明する。図３のステップＳ０４においてエラーが発生し、そのリードストリーム系コマンドが終了する。その後、暫くコマンドがこない、つまり、図３のステップＳ０７において一定時間コマンドがこないときに、図８のセクタ２及びセクタ３を再度リードして成功した場合には、図３のステップＳ０９においてエラーが発生しなかったときに該当し、リードしたセクタ２及びセクタ３のデータをそれぞれセクタ２及びセクタ３にそのまま上書きする（Ｓ１１）。
【００６２】
一方、図８のセクタ２及びセクタ３を再度リードしても成功しなかった場合、すなわち、図３のステップＳ０９においてリードエラーが発生したと判断した場合は、図８のセクタ１及びセクタ４のデータをリードして（Ｓ１０）、セクタ２にはセクタ１のデータを、そして、セクタ３にはセクタ４のデータを上書きする（Ｓ１１）。
【００６３】
本実施例の場合でも、こうすることにより、人間の視覚では見かけ上は画面の異常さを最少にとどめることができる。
【００６４】
上記の説明において、媒体を磁気ディスクで説明したが、光ディスク、光磁気ディスク、他の記憶媒体にも適用できる。また、リードエラーをオフトラックで説明したが、他のリードエラーにも適用できる。さらに、インタフェースは、ＡＴＡに限らず、ＳＣＳＩその他のインタフェースにも適用できる。
【図面の簡単な説明】
【００６５】
【図１】本発明を実施するための一形態を説明する媒体記憶装置の構成図。
【図２】タスクファイル・レジスタ(Task File Register)の説明図。
【図３】本発明のフロー図。
【図４】リードストリーム系コマンドにてリードするセクタ例。
【図５】正常時のＡＶ画面表示例。
【図６】エラー発生時のＡＶ画面表示例。
【図７】本発明を適用した時のＡＶ画面表示例。
【図８】リードストリーム系コマンドにてリードするセクタの第二の実施例。
【符号の説明】
【００６６】
１    磁気ディスク装置
２    ＭＰＵ
３    ＡＴＡインタフェース制御回路
４    メモリ
５    データバッファ
６    データバッファ制御回路
７    フォーマッタ制御回路
８    バス
９    ヘッドＩＣ
１０  磁気ディスク
１１  スピンドルモータ
１２  スピンドルモータドライバ
１３  ＶＣＭ
１４  ＶＣＭドライバ
１５  位置検出部
１６  磁気ヘッド
１７  ＨＤＣ
１８  インタフェース・ケーブル
【図１】
2005056519.tif 000003
【図２】
2005056519.tif 000004
【図３】
2005056519.tif 000005
【図４】
2005056519.tif 000006
【図５】
2005056519.tif 000007
【図６】
2005056519.tif 000008
【図７】
2005056519.tif 000009
【図８】
2005056519.tif 000010