(57)【要約】  ホスト（１００）からのリードコマンドに応じて、リード処理し、且つライトコマンドに応じて、ライト処理する媒体記憶装置において、受領したリードコマンドにより、ホスト（１００）が、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、受領したリードコマンドにより、ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、再生処理中に受信したライトコマンドのライト処理で、ライトリトライが発生した場合に、そのライト処理を中断し、データバッファ（３８）にリードデータの格納域をアロケーションして、リード処理を実行して、ライト処理を再開する制御回路（２８）を設けた。音楽や映像の再生処理中に、リードコマンドの間に送信されるライトコマンドの処理遅延により、リードコマンドの受け付け及び処理が遅延することを防止でき、音楽や映像再生の途切れを防止できる。
2009060500.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドにより、記録媒体からデータを読み出し、且つデータを記録するリード／ライト機構と、
前記読み出したリードデータと、ホストからのライトデータを一時格納するバッファメモリと、
ホストからのリード要求に応じて、前記バッファメモリ又は前記記憶媒体からリードデータを読み出し、前記ホストに送信し、且つ前記ホストからのライト要求に応じて、前記ホストからライトデータを前記バッファメモリに格納後、前記記憶媒体にライトし、前記ライト失敗時に、ライトリトライを行う制御回路とを有し、
前記制御回路は、受領した前記リードコマンドにより、前記ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、前記再生処理中に受信したライトコマンドのライト処理で、ライトリトライすべきエラーを検出した場合に、前記ライトコマンドのライト処理を中断し、且つ前記バッファメモリにリードデータの格納域をアロケートした後、リード処理を実行して、リードデータを前記バッファメモリに格納し、その後、前記ライト処理を再開する
ことを特徴とする媒体記憶装置。
【請求項２】
前記制御回路は、前記ライトリトライすべきエラーを検出した場合に、前記バッファメモリに、前記リードデータを格納できる空き容量があるかを判定し、前記空き容量がある場合に、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項３】
前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領していない場合には、前記次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項４】
前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領している場合には、前記次のリードコマンドとその次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項５】
前記制御回路は、
前記空き容量がない場合に、前記ライトリトライすべきライトコマンド以外の受領したライトコマンドのライト処理を実行し、次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する
ことを特徴とする請求項２の媒体記憶装置。
【請求項６】
前記制御回路は、前記リードコマンドで要求されたデータサイズにより、前記再生処理であることを認識する
ことを特徴とする請求項１の媒体記憶装置。
【請求項７】
前記制御回路は、前記リードコマンドの発行パターンを解析して、前記再生処理であることを認識する
ことを特徴とする請求項１の媒体記憶装置。
【請求項８】
前記制御回路は、前記ライトリトライすべきエラーを、前記装置が受ける振動の検出又は前記ライト処理時の前記ヘッドの位置誤差の少なくとも一方により、判定する
ことを特徴とする請求項１の媒体記憶装置。
【請求項９】
前記リード／ライト機構は、
前記記憶媒体のデータをリード／ライトするヘッドと、
前記ヘッドを前記記憶媒体の所望のトラックに位置付けるアクチュエータで構成された
ことを特徴とする請求項１の媒体記憶装置。
【請求項１０】
ホストからのリード要求に応じて、バッファメモリ又は媒体リード／ライト機構により記憶媒体からリードデータを読み出し、前記ホストに送信するリード処理ステップと、
前記ホストからのライト要求に応じて、前記ホストからライトデータを前記バッファメモリに格納後、前記媒体リード／ライト機構により、前記記憶媒体にライトし、前記ライト失敗時に、ライトリトライを行うライト処理ステップと、
前記受領した前記リードコマンドにより、前記ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識するステップと、
前記再生処理中に受信したライトコマンドのライト処理で、ライトリトライすべきエラーを検出した場合に、前記ライトコマンドのライト処理を中断するステップと、
前記バッファメモリにリードデータの格納域をアロケートした後、リード処理を実行して、リードデータを前記バッファメモリに格納するステップと、
前記格納後、前記ライト処理を再開するステップとを有する
ことを特徴とする媒体記憶装置のリード／ライト処理方法。
【請求項１１】
前記格納ステップは、
前記ライトリトライすべきエラーを検出した場合に、前記バッファメモリに、前記リードデータを格納できる空き容量があるかを判定するステップと、
前記空き容量がある場合に、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１２】
前記格納ステップは、
前記一定間隔に到来する次のリードコマンドを受領しているかを判定するステップと、
前記次のリードコマンドを受領していない場合には、前記次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１３】
前記格納ステップは、
前記一定間隔に到来する次のリードコマンドを受領しているかを判定するステップと、
前記次のリードコマンドを受領している場合には、前記次のリードコマンドとその次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１４】
前記空き容量がない場合に、前記ライトリトライすべきライトコマンド以外の受領したライトコマンドのライト処理を実行するステップと、
前記ライト処理の実行後、前記次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行するステップを更に有する
ことを特徴とする請求項１１の媒体記憶装置のリード／ライト処理方法。
【請求項１５】
前記認識ステップは、前記リードコマンドで要求されたデータサイズにより、前記再生処理であることを認識するステップからなる
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１６】
前記認識ステップは、前記リードコマンドの発行パターンを解析して、前記再生処理であることを認識するステップからなる
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１７】
前記ライト処理を中断するステップは、前記ライトリトライすべきエラーを、前記装置のリード／ライト処理方法が受ける振動の検出又は前記ライト処理時の前記ヘッドの位置誤差の少なくとも一方により、判定するステップを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１８】
前記リード／ライト機構は、
前記記憶媒体のデータをリード／ライトするヘッドと、
前記ヘッドを前記記憶媒体の所望のトラックに位置付けるアクチュエータで構成された
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドにより媒体のデータをリード及びライトする媒体記憶装置及び媒体記憶装置のリード／ライト処理方法に関し、特に、外部ユニットから定期的に音楽又は映像データのリード要求を発行される媒体記憶装置及び媒体記憶装置のリード／ライト処理方法に関する。
【背景技術】
【０００２】
磁気ディスク装置や光ディスク装置等の媒体記憶装置は、ヘッドにより、媒体にデータをライトして、データを記憶し、リードして、記憶データを再生する。近年、媒体記憶装置が、音楽や映像データの記憶に利用されている。このような媒体記憶装置は、パーソナルコンピュータ等のホストに接続され、ホストの記憶装置としても使用される。【０００３】
図８に示すように、パーソナルコンピュータやモバイルコンピュータ等のホスト１００に、内蔵又は外付けで、媒体記憶装置（ＨＤＤ）１１０が接続される。【０００４】
このようなホスト１００では、音楽再生を起動すると、ホスト１００は、媒体記憶装置１１０の音楽データをリードする。この場合、図９に示すように、ホスト１００は、一定間隔で、媒体記憶装置１１０にリード要求を発し、リード要求毎に、媒体記憶装置１１０から音楽データとステータスＳＴＳとを受け、音楽再生する。【０００５】
即ち、音楽や映像は、時間とともに変化するため、ホスト１００は、一度に、所望の音楽データ全部をリードすると、その分、メモリ容量が必要となるため、音楽データの一部を、順次要求する。【０００６】
又、ホスト１００は、媒体記憶装置１１０をホストの処理のための記憶装置としても利用する。例えば、ホスト１００が、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動し、或いはＯＳを起動後、あるアプリケーションを立ち上げ、処理しながら、音楽再生を行うケースがある。この場合に、ホスト１００が、ＯＳのログ処理や、アプリケーションの処理におけるデータコピー等の指示により、媒体記憶装置１１０に、ライト要求を発行する場合がある。【０００７】
一方、媒体記憶装置のライト処理においては、受信したライトデータを一旦、キャッシュメモリ（又はバッファメモリ）１２０（図８参照）に格納し、その後、媒体へヘッドでライトする。そして、ライト失敗時には、キャッシュメモリ１２０のライトデータを読み出し、再度、ヘッドで媒体にライトする（これをライトリトライという）。このライト失敗の原因としては、外部から装置が振動を受けた場合や、温度等の環境変化が生じた場合である。【０００８】
このような振動等を受けた場合、その振動を受けない状態に変化するまでは、何度もライトリトライを実行しても、ライト動作が成功しないおそれがある。このため、従来は、振動等のライト失敗の可能性のある環境状態では、ライトリトライを実行せずに、キャッシュメモリのライトデータを、他の半導体メモリにセーブし、振動等のライト失敗の可能性がなくなると、セーブしたライトデータを、媒体へヘッドで、ライトすることが、提案されている（例えば、特許文献１，２）。
【特許文献１】特開２００６−２６９００６号公報
【特許文献２】特開２００４−１７３２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、このライトリトライは、ホストの要求を待たせることになる。図１０に示すように、ホスト１００が、リード要求Ｒ１を媒体記憶装置１１０に発行すると、媒体記憶装置１１０は、媒体から要求されたセクタ数分の音楽データを読み出し、キャッシュメモリに格納した後、ホスト１００に転送する。次に、ホスト１００が、ライト要求Ｗ１を媒体記憶装置１１０に発行すると、媒体記憶装置１１０は、ホスト１００からのライトデータを、キャッシュメモリ１２０に格納した後、ヘッドにより媒体に、ライトデータを書き込む。【００１０】
この時、振動等により、ライトが失敗すると、ライトリトライが実行される。一方、音楽や映像再生アプリケーションが起動している場合には、このライト処理と関係なく、図９で説明したように、一定間隔で、音楽データ等のリード要求を発行する。【００１１】
例えば、ノートパソコンに外部記憶装置が搭載され、ノートパソコンのスピーカが、外部記憶装置の近くに配置された場合には、音楽再生等により、外部記憶装置が、スピーカの動作による振動を受けやすい。このような振動が頻繁に発生する状態で、ライトコマンドが発行されると、ライトリトライが発生しやすくなり、ホスト１００からの一定間隔のリードコマンドを受け付けても、リード処理が不可能となる。【００１２】
このため、図１０に示すように、ホスト１００は、ライト処理が完了するまで、リードコマンドの処理が遅れるため、音楽再生では、音飛びという現象が、映像再生では、動画像が途切れるという現象が生じることになる。【００１３】
従って、本発明の目的は、ライトリトライが生じても、一定時間間隔で発行されるリードコマンドに対する応答の遅延を防止するための媒体記憶装置のリード／ライト処理方法及び媒体記憶装置を提供することにある。【００１４】
又、本発明の他の目的は、一定時間間隔で発行されるリード処理のモードを認識し、ライトリトライが生じても、リードコマンドに対する応答遅延を防止するための媒体記憶装置のリード／ライト処理方法及び媒体記憶装置を提供することにある。【００１５】
更に、本発明の他の目的は、ライトコマンドを受け付けても、リードコマンドによる音楽や映像再生の途切れを防止するための媒体記憶装置のリード／ライト処理方法及び媒体記憶装置を提供することにある。
【課題を解決するための手段】
【００１６】
この目的の達成のため、本発明の媒体記憶装置は、ヘッドにより、記録媒体からデータを読み出し、且つデータを記録するリード／ライト機構と、前記読み出したリードデータと、ホストからのライトデータを一時格納するバッファメモリと、ホストからのリード要求に応じて、前記バッファメモリ又は前記記憶媒体からリードデータを読み出し、前記ホストに送信し、且つ前記ホストからのライト要求に応じて、前記ホストからライトデータを前記バッファメモリに格納後、前記記憶媒体にライトし、前記ライト失敗時に、ライトリトライを行う制御回路とを有し、前記制御回路は、受領した前記リードコマンドにより、前記ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、前記再生処理中に受信したライトコマンドのライト処理で、ライトリトライすべきエラーを検出した場合に、前記ライトコマンドのライト処理を中断し、且つ前記バッファメモリにリードデータの格納域をアロケートした後、リード処理を実行して、リードデータを前記バッファメモリに格納し、その後、前記ライト処理を再開する。【００１７】
又、本発明の媒体記憶装置のリード／ライト処理方法は、ホストからのリード要求に応じて、バッファメモリ又は媒体リード／ライト機構により記憶媒体からリードデータを読み出し、前記ホストに送信するリード処理ステップと、前記ホストからのライト要求に応じて、前記ホストからライトデータを前記バッファメモリに格納後、前記媒体リード／ライト機構により、前記記憶媒体にライトし、前記ライト失敗時に、ライトリトライを行うライト処理ステップと、前記受領した前記リードコマンドにより、前記ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識するステップと、前記再生処理中に受信したライトコマンドのライト処理で、ライトリトライすべきエラーを検出した場合に、前記ライトコマンドのライト処理を中断するステップと、前記バッファメモリにリードデータの格納域をアロケートした後、リード処理を実行して、リードデータを前記バッファメモリに格納するステップとを有する。【００１８】
更に、本発明では、好ましくは、前記制御回路は、前記ライトリトライすべきエラーを検出した場合に、前記バッファメモリに、前記リードデータを格納できる空き容量があるかを判定し、前記空き容量がある場合に、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する。【００１９】
更に、本発明では、好ましくは、前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領していない場合には、前記次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する。【００２０】
更に、本発明では、好ましくは、前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領している場合には、前記次のリードコマンドとその次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する。【００２１】
更に、本発明では、好ましくは、前記制御回路は、前記空き容量がない場合に、前記ライトリトライすべきライトコマンド以外の受領したライトコマンドのライト処理を実行し、次のリードコマンドのため、前記バッファメモリにリードデータの格納域をアロケートした後、前記リード処理を実行する。【００２２】
更に、本発明では、好ましくは、前記制御回路は、前記リードコマンドで要求されたデータサイズにより、前記再生処理であることを認識する。【００２３】
更に、本発明では、好ましくは、前記制御回路は、前記リードコマンドの発行パターンを解析して、前記再生処理であることを認識する。【００２４】
更に、本発明では、好ましくは、前記制御回路は、前記ライトリトライすべきエラーを、前記装置が受ける振動の検出又は前記ライト処理時の前記ヘッドの位置誤差の少なくとも一方により、判定する。【００２５】
更に、本発明では、好ましくは、前記リード／ライト機構は、前記記憶媒体のデータをリード／ライトするヘッドと、前記ヘッドを前記記憶媒体の所望のトラックに位置付けるアクチュエータで構成された。
【発明の効果】
【００２６】
受領した前記リードコマンドにより、ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、再生処理中に受信したライトコマンドのライト処理で、ライトリトライすべきエラーが発生した場合に、そのライト処理を中断し、データバッファにリードデータの格納域をアロケーションして、リード処理を実行して、ライト処理を再開するため、音楽や映像の再生処理中に、リードコマンドの間に送信されるライトコマンドの処理遅延により、リードコマンドの受け付け及び処理が遅延することを防止でき、音楽や映像再生の途切れを防止できる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態を示す媒体記憶装置の構成図である。
【図２】図１の音楽再生認識処理の第１の実施の形態の処理フロー図である。
【図３】図１の音楽再生認識処理の第２の実施の形態の処理フロー図である。
【図４】図１のライトリトライ発生時のリード処理フロー図である。
【図５】図１のライトリトライ処理の第１のリード処理の説明図である。
【図６】図１のライトリトライ処理の第２のリード処理の説明図である。
【図７】図１のライトリトライ処理の第３のリード処理の説明図である。
【図８】従来のシステムの構成図である。
【図９】図８の構成の音楽再生時のリードコマンドの発行タイミングの説明図である。
【図１０】図８のシステムでの音楽再生中に、ライト処理を実行した場合の問題点の説明図である。
【符号の説明】
【００２８】
１０  記憶媒体（ディスク）
１２  ヘッド
１４  アクチュエータ
１８  スピンドルモータ
１９  スピンドルモータの回転軸
２０  リードチャネル
２２  プリアンプ
２６  サーボ・コンボ回路
２８  ＭＣＵ
３０  ＤＳＰ
３２  ドライブインタフェース回路
３４  フラッシュＲＯＭ
３６  ハードディスクコントローラ
３８  データバッファ
５２〜５３  ＭＣＵのＲＡＭ
４０，４２，４４，４６，４８  バス
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を、媒体記憶装置、音楽再生認識処理、音楽再生モードでのリード／ライト処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。【００３０】
（媒体記憶装置）
図１は、本発明の一実施の形態の媒体記憶装置の構成図であり、媒体記憶装置として、磁気ディスク装置を示す。図１に示すように、磁気記憶媒体である磁気ディスク１０が、スピンドルモータ１８の回転軸１９に設けられている。スピンドルモータ１８は、磁気ディスク１０を回転する。アクチュエータ（ＶＣＭ）１４は、先端に磁気ヘッド１２を備え、磁気ヘッド１２を磁気ディスク１０の半径方向に移動する。【００３１】
アクチュエータ１４は、回転軸を中心に回転するボイスコイルモータ（ＶＣＭ）で構成される。図では、磁気ディスク装置に、２枚の磁気ディスク１０が搭載され、４つの磁気ヘッド１２が、同一のアクチュエータ１４で同時に駆動される。【００３２】
磁気ヘッド１２は、リード素子と、ライト素子とからなる。磁気ヘッド１２は、スライダに、磁気抵抗（ＭＲ）素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。【００３３】
プリアンプ２２は、磁気ヘッド１２に書込み信号を送出し、磁気ヘッド１２の読み取り信号を増幅する。サーボ・コンボ回路２６は、スピンドルモータ１８を駆動し、且つボイスコイルモータ（ＶＣＭ）１４に駆動電流を供給し、ＶＣＭ１４を駆動する。【００３４】
リードチャネル回路２０は、プリアンプ２２からの読み取り信号の内、サーボ信号から、磁気ヘッド１２の位置を復調する。コントローラは、マイクロコントローラ（ＭＣＵ）２８と、ＤＳＰ（デジタルシグナルプロセッサ）３０と、ドライブインタフェース回路３２とからなる。【００３５】
ＤＳＰ３０は、リードチャネル回路２０からの復調位置から現在位置を検出し、検出した現在位置と目標位置との誤差に従い、ＶＣＭ駆動指令値を演算する。即ち、シーク、フォローイングを含むサーボ制御を行う。【００３６】
ＭＣＵ２８は、ＭＰＵと、ＲＯＭと，ＲＡＭとからなる。リードオンリーメモリ（ＲＯＭ）は、ＭＰＵの制御プログラム等を格納する。ランダムアクセスメモリ（ＲＡＭ）は、ＭＰＵの処理のためのデータ等を格納する。このＭＣＵ２８が、後述する音楽再生認識処理及びリード／ライト処理、リトライ処理等を行う。【００３７】
ドライブインタフェース回路３２は、ドライブ側回路（リードチャネル２０、プリアンプ２２、サーボ・コンボ回路２６）と、ＭＣＵ２８，ＤＳＰ３０とのブリッジを形成し、ＭＣＵ２８と、第１の内部バス４４で接続され、ＤＳＰ３０と、第２の内部バス４６で接続される。【００３８】
フラッシュＲＯＭ（Read Only Memory）３４は、マイクロコード等のブートプログラムを格納する。ハードディスクコントローラ（ＨＤＣ）３６は、サーボ信号のセクタ番号を基準にして，１周内の位置を判断し，リードチャネル２０に、データの記録・再生を指示する。【００３９】
バッファ用ランダムアクセスメモリ（ＲＡＭ）３８は、ＨＤＣ３６にメモリバス４８で接続され、リードデータやライトデータを一時格納する。ＨＤＣ３６は、ＳＡＴＡ（Ｓｅｒｉａｌ  AT Attached）やＳＣＳＩ(Small Computer System Interface) 等のインターフェイスＩＦで、ホスト１００（図８参照）と通信する。バス４０は、ＭＣＵ２８，フラッシュＲＯＭ３４、ＨＤＣ３６を接続する。又、ＨＤＣ３６は、リード及びライトデータのやりとりのため、データバス４２で、リードチャネル２０に接続される。【００４０】
図１の構成では、ＨＤＣ３６が、ホスト１００やドライブとのデータのやりとりを行い、ＤＳＰ３０が、磁気ヘッド１２のシーク、フォローイング制御を行い、ＭＣＵ２８が、ＨＤＣ３６が受領したコマンドに従い、各部を制御する処理を行う。【００４１】
このＭＣＵ２８に、振動を検出するショックセンサ５０が、接続され、ＭＣＵ２８が、ショックセンサ５０の出力から、装置に振動が印加されたことを検出する。又、ＭＣＵ２８には、音楽再生モードを検出した時に、セットされる音楽再生フラグ５２と、ライトリトライの中断を示すリトライ状態格納域５３を有する。【００４２】
通常のリード動作では、ホスト１００からＨＤＣ３６が、コマンドを受けると、ＨＤＣ３６又はＭＣＵ２８が、コマンドを解析する。解析により、リードコマンドと判定されると、ＨＤＣ３６は、データバッファ３８にリードコマンドの対象データがキャッシュされているかを判定し、キャッシュされていれば、データバッファ３８の対象データを、ホスト１１０へ転送する。【００４３】
一方、対象データが、データバッファ３８にキャッシュされていない場合には、ＨＤＣ３６は、ＭＣＵ２８に、媒体リードを要求する。これに応じて、ＭＣＵ２８は、ＤＳＰ３０にリード対象データのセクタへのヘッドのシークを要求する。ＤＳＰ３０は、サーボ・コンボ回路２６を介し、ＶＣＭ１４をサーボ制御し、磁気ヘッド１２を、磁気ディスク１０の目標トラックに位置付ける。【００４４】
そして、位置付け完了により、ＲＤＣ２０は、磁気ヘッド１２（リード素子）からのリード出力を復調し、リードデータを、ＨＤＣ３６へ転送する。ＨＤＣ３６は、転送されたリードデータを、バッファメモリ３８に格納する。リードキャッシュ機能を持つ場合には、バッファメモリ３８に格納されるリードデータは、リードコマンドで要求されたセクタのデータのみならず、その後のセクタのデータを含む。ＨＤＣ３６は、バッファメモリ３８に格納されたリードデータから対象データを取り出し、ホスト１００へ転送する。【００４５】
又、コマンドが、ライトコマンドと解析されると、ＨＤＣ３６は、ホスト１００からコマンドに続くライトデータを受信し、データバッファ３８に格納する。そして、ＭＣＵ２８の指示により、ディスク１０へのライト処理が実行される。即ち、ＭＣＵ２８は、ＤＳＰ３０にライト対象のセクタへのヘッドのシークを要求する。ＤＳＰ３０は、サーボ・コンボ回路２６を介し、ＶＣＭ１４をサーボ制御し、磁気ヘッド１２を、磁気ディスク１０の目標トラックに位置付ける。【００４６】
そして、位置付け完了により、ＨＤＣ３６は、データバッファ３８のライトデータを、ＲＤＣ２０に転送する。ＲＤＣ２０は、リードデータに、ＥＣＣ符号等を付し、プリアンプ２２を介し、磁気ヘッド１２（ライト素子）にライトデータに従うライト電流を与える。これにより、磁気ディスク１０の対象セクタにライトデータが書き込まれる。【００４７】
このライト処理中に、ＭＣＵ２８は、ショックセンサ５０からの振動検出信号をモニターし、ＤＳＰ３０は、磁気ヘッド１２の位置誤差を監視する。そして、ＭＣＵ２８が、所定値以上の振動を検出した場合、ＤＳＰ３０が、所定値以上の位置誤差を検出した場合に、ライト失敗と判定し、ライト動作を停止する。【００４８】
ライト動作の停止後、ＭＣＵ２８は、ライトリトライ処理を行う。ライトリトライ処理は、前述のライト処理を再度行うものである。このライトリトライを所定回数実行しても、ライト成功しなかった場合には、ホスト１００へエラーを通知する。【００４９】
この実施例では、ＭＣＵ２８が、後述するように、ホスト１００からのリード要求が、音楽再生のリード要求であるかを認識し、音楽再生フラグ５２をセットする。又、ＭＣＵ２８は、音楽再生モードで、ライトリトライすべきエラーが発生すると、後述する音楽再生モードのリード／ライト処理を実行する。【００５０】
（音楽再生認識処理）
次に、媒体記憶装置で、音楽再生モードの認識を行う処理を説明する。この処理は、ホスト１００側の音楽再生アプリケーションに特別の処理を必要とせずに、媒体記憶装置側で認識できる。図２は、本発明の音楽再生認識処理の第１の実施の形態の処理フロー図である。【００５１】
（Ｓ１０）ＭＣＵ２８は、リードコマンドを受領したと判断すると、コマンドブロックのタスクファイルを解析する。タスクファイルには、前述のコマンド、開始ＬＢＡ（論理ブロックアドレス）、要求セクタ数等が記載されている。【００５２】
（Ｓ１２）ＭＣＵ２８は、タスクファイルの要求セクタ数が、音楽再生データ用のセクタ数かを判定する。通常、音楽再生では、一定時間毎に、一定セクタ数のデータを要求する。ＭＣＵ２８は、タスクファイルの要求セクタ数が、音楽再生データ用のセクタ数でないと判定すると、音楽再生中フラグ５２をセットすることなく、通常のリード処理に移行する。【００５３】
（Ｓ１４）一方、ＭＣＵ２８は、タスクファイルの要求セクタ数が、音楽再生データ用のセクタ数であると判定すると、音楽再生モードであるため、音楽再生中フラグ５２をセットして、通常のリード処理に移行する。【００５４】
このように、ホスト１００が音楽再生する場合に、要求セクタ数が、通常のセクタ数より異なり、一定であることから、媒体記憶装置側で、この要求セクタ数からホスト１００が、音楽再生モードであることを認識できる。【００５５】
図３は、本発明の音楽再生認識処理の第２の実施の形態の処理フロー図である。【００５６】
（Ｓ２０）ＭＣＵ２８は、リードコマンドを受領したと判断すると、コマンドブロックのタスクファイルを解析する。タスクファイルには、前述のコマンド、開始ＬＢＡ（論理ブロックアドレス）、要求セクタ数等が記載されている。【００５７】
（Ｓ２２）ＭＣＵ２８は、シーケンシャルアクセスであるかを判定する。即ち、ＭＣＵ２８は、リードコマンドが一定時間内で継続しているか否か、及びリードコマンドが一定時間間隔で発行されているか否かを、先に受けたリードコマンドと今回受けたリードコマンドの時間関係から判定する。前述のように、通常、音楽再生では、一定時間毎に、一定セクタ数のデータを要求する。ＭＣＵ２８は、シーケンシャルアクセスでないと判定すると、音楽再生中フラグ５２をセットすることなく、通常のリード処理に移行する。【００５８】
（Ｓ２４）一方、ＭＣＵ２８は、シーケンシャルアクセスであると判定すると、音楽再生モードであるため、音楽再生中フラグ５２をセットして、通常のリード処理に移行する。【００５９】
このように、ホスト１００が音楽再生する場合に、一定時間間隔で、リードコマンドを発行することから、媒体記憶装置側で、このリードコマンドの時間間隔（コマンド発行パターン）からホスト１００が、音楽再生モードであることを認識できる。【００６０】
（リード／ライト処理の第１の実施の形態）
図４は、本発明のライトリトライすべきエラー発生時のリード／ライト処理の一実施の形態の処理フロー図、図５は、図４の処理の第１のリード処理の説明図、図６は、図４の処理の第２のリード処理の説明図、図７は、図４の処理の第３のリード処理の説明図である。【００６１】
（Ｓ４０）ＭＣＵ２８は、ライトコマンドで、リトライすべきエラーを検出すると、ＭＣＵ２８は、音楽再生中フラグ５２がセットされているか否かを判定する。【００６２】
（Ｓ４２）ＭＣＵ２８は、音楽再生中フラグ５２がセットされていない場合には、ホスト１００が音楽再生中でないため、ＭＣＵ２８は、通常のライトリトライ処理を起動し、終了する。【００６３】
（Ｓ４４）ＭＣＵ２８は、音楽再生中フラグ５２がセットされている場合には、ホスト１００が音楽再生中であるため、ＭＣＵ２８は、データバッファ３８に空きがあるかを判定する。【００６４】
（Ｓ４６）ＭＣＵ２８は、データバッファ３８に空きがあるかを判定した場合、次のリードコマンドを既に受領しているかを判定する。【００６５】
（Ｓ４８）ＭＣＵ２８は、次のリードコマンドを既に受領していないと判定した場合には、図５に示すように、次にリードコマンドに備えてリードデータを先読みする。即ち、ＭＣＵ２８は、ライトコマンドの処理を中断する。次に、データバッファ３８に、読み込み用データ領域をアロケートする。【００６６】
そして、以前に実行したリードコマンド（図５のＲ１）の要求データの次の要求データを、ディスク１０からヘッド１２により、先読みし、データバッファ３８のアロケートされた領域に格納する。この先読み処理の完了後、ＭＣＵ２８は、ライトコマンドのリトライを実施する。【００６７】
（Ｓ５０）一方、ＭＣＵ２８は、次のリードコマンドを既に受領していると判定した場合には、図６に示すように、受領した次のリードコマンドのデータを読み込み、更に、その次のリードコマンドに備えてリードデータを先読みする。【００６８】
即ち、ＭＣＵ２８は、ライトコマンドの処理を中断する。次に、データバッファ３８に、読み込み用データ領域をアロケートし、受領したリードコマンド（図６のＲ２）の要求データとその次のリードコマンドの要求データを、ディスク１０からヘッド１２により、読み出し、データバッファ３８のアロケートされた領域に格納する。このリード処理の完了後、ＭＣＵ２８は、ライトコマンドのリトライを実施する。【００６９】
（Ｓ５２）又、ステップＳ４４で、ＭＣＵ２８は、データバッファ３８に空きがないと判定した場合には、図７に示すように、複数のライトコマンド及びライトデータを受領して、データバッファ３８に空きがない場合である。そのままでは、ステップＳ４８，Ｓ５０のようなリード処理を実行できない。このため、データバッファ３８に空き領域を作成する。【００７０】
即ち、ＭＣＵ２８は、リトライすべきエラーを発生したライトコマンドを中断する。そして、別の受領しているライトコマンド（図７では、Ｗ２）のライト処理を実行する。ライト処理が完了すると、データバッファ３８のそのライトコマンドのライトデータは不要のため、上書き可能となる。即ち、データバッファ３８に空きができる。ＭＣＵ２８は、データバッファ３８に、読み込み用データ領域をアロケートし、次のリードコマンド（図７のＲ２）の要求データとその次のリードコマンドの要求データを、ディスク１０からヘッド１２により、読み出し、データバッファ３８のアロケートされた領域に格納する。このリード処理の完了後、ＭＣＵ２８は、中断したライトコマンドのリトライを実施する。【００７１】
図５乃至図７で、具体的に説明すると、音楽再生中に、ＭＣＵ２８は、ホスト１００からライトコマンドＷ１を受け、ライトデータを受領し、バッファメモリ３８に格納し、ライト処理を実行する。このライト処理の実行において、リトライすべきエラー（例えば、前述の振動検出又はオフトラック検出）を、ＭＣＵ２８が、検出すると、そのライト処理を中断する。そして、データバッファ３８に、リードデータを格納する空きがあるかを判定し、空きがあれば、リード処理を実行する。【００７２】
この場合に、リトライすべきエラー発生時点で、次のリードコマンドを受けていない場合と、受けている場合とでは、リード処理が異なる。即ち、次のリードコマンドを受けていない場合には、図５のように、到来すれであろう次のリードコマンドＲ２のリードデータのみを先読みし、データバッファ３８に格納する。そして、次のリードコマンドＲ２を受領すると、データバッファ３８のリードデータをホスト１００に転送して、ステータスを報告する。【００７３】
一方、次のリードコマンドを受けている場合には、図６のように、到来した次のリードコマンドＲ２のリードデータをリードし、さらにその次のリードコマンドＲ３のリードデータを先読みし、データバッファ３８に格納する。そして、リード後に、リードコマンドＲ２に対するデータバッファ３８のリードデータをホスト１００に転送して、ステータスを報告する。【００７４】
即ち、リトライすべきエラー発生時点でのリードコマンドの到来有無に応じて、リード量を制御する。リードコマンドが到来していれば、その次のリードコマンドが到来する時点までに、リトライが終了しない可能性があるため、その次のリードコマンド分まで、先読みする。【００７５】
一方、リードコマンドが到来していなければ、その次のリードコマンドが到来する時点までに、リトライが終了する（リトライオーバーを含めて）可能性があるため、その次のリードコマンド分は、先読みしない。これにより、その分だけ、空きバッファ容量が小さくても良く、且つリード処理時間も短縮できる。【００７６】
更に、リトライすべきエラー発生時に、データバッファ３８に空きがない可能性がある。このようなケースは、多くの場合、図７に示すように、複数のライトコマンド及びライトデータを受領して、データバッファ３８に空きがない場合である。そのままでは、ステップＳ４８，Ｓ５０のようなリード処理を実行できない。このため、データバッファ３８に空き領域を作成する。【００７７】
この方法として、先ず、リトライすべきライトコマンドＷ１の処理を中断し、他のライトコマンドＲ２のライト処理を実行する。ここで、他のライトコマンドが複数ある場合には、処理ブロック数が最も小さいものを選択して、ライト処理の時間を短縮する。このライト処理が成功すると、データバッファ３８に空きができるため、次のリードコマンドＲ２のリードデータをデータバッファ３８に先読みする。そして、次のリードコマンドＲ２を受領すると、データバッファ３８のリードデータをホスト１００に転送して、ステータスを報告する。【００７８】
このコマンドとしては、ＳＡＴＡ（Serial AT
Attached）のＮＣＱ（Native Command Queing）コマンドを利用すると良い。【００７９】
（他の実施の形態）
前述の実施の形態では、媒体記憶装置を、磁気ディスク装置の適用の例で説明したが、光ディスク装置等の他のディスク装置や、回転する記憶媒体を使用する装置にも適用できる。又、コントローラの構成も、図１のもので説明したが、他の構成のものを適用できる。【００８０】
更に、図４では、３つのリード処理を組み合わせたもので説明したが、音楽／映像再生のリードコマンドの間隔や、１回の要求データに応じて、１つのリード処理を個別に使用することもできる。又、音楽再生の例で説明したが、映像等の動画再生等の他の連続性を持ったデータの再生に適用できる。【００８１】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【産業上の利用可能性】
【００８２】
受領した前記リードコマンドにより、ホストが、連続データの再生処理のため、一定間隔で発行されるリードコマンドであることを認識し、再生処理中に受信したライトコマンドのライト処理で、ライトリトライが発生した場合に、そのライト処理を中断し、データバッファにリードデータの格納域をアロケーションして、リード処理を実行して、ライト処理を再開するため、音楽や映像の再生処理中に、リードコマンドの間に送信されるライトコマンドの処理遅延により、リードコマンドの受け付け及び処理が遅延することを防止でき、音楽や映像再生の途切れを防止できる。
【図１】
2009060500.tif 000003
【図２】
2009060500.tif 000004
【図３】
2009060500.tif 000005
【図４】
2009060500.tif 000006
【図５】
2009060500.tif 000007
【図６】
2009060500.tif 000008
【図７】
2009060500.tif 000009
【図８】
2009060500.tif 000010
【図９】
2009060500.tif 000011
【図１０】
2009060500.tif 000012
【手続補正書】
【提出日】平成22年4月5日(2010.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ヘッドにより、記録媒体からデータをリードし、且つ当該記録媒体へデータをライトするリード／ライト機構と、
前記データを格納するバッファメモリと、
データライト処理失敗時に、ライトリトライを行う制御回路とを有し、
前記制御回路は、リードコマンドが、連続データの再生処理のためホストにより一定間隔で発行されたものであることを認識し、前記再生処理中に受信したライトコマンドによるデータライト処理で、前記ライトリトライすべきエラーを検出した場合に、前記データライト処理を中断し、且つ前記バッファメモリに前記データのための格納域をアロケートした後、データリード処理を実行して、前記データを前記バッファメモリに格納し、その後、前記データライト処理を再開する
ことを特徴とする媒体記憶装置。
【請求項２】
前記制御回路は、前記エラーを検出した場合に、前記バッファメモリに、前記データを格納できる空き容量があるかを判定し、前記空き容量がある場合に、前記バッファメモリに前記データの格納域をアロケートした後、前記データリード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項３】
前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領していない場合には、前記バッファメモリに前記次のリードコマンドのデータのための格納域をアロケートした後、前記データリード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項４】
前記制御回路は、前記一定間隔に到来する次のリードコマンドを受領しているかを判定し、前記次のリードコマンドを受領している場合には、前記バッファメモリに前記次のリードコマンドのデータとその次のリードコマンドのデータのための格納域をアロケートした後、前記データリード処理を実行する
ことを特徴とする請求項１の媒体記憶装置。
【請求項５】
前記ライトコマンドのデータは、前記データライト処理時に前記バッファメモリに格納され、その後、前記記録媒体にライトされ、
前記制御回路は、
前記バッファメモリに空き容量がない場合に、前記ライトリトライすべきライトコマンド以外のライトコマンドによるデータライト処理を実行し、次のリードコマンドのための格納域をアロケートした後、前記データリード処理を実行する
ことを特徴とする請求項２の媒体記憶装置。
【請求項６】
前記制御回路は、前記リードコマンドで要求されたデータサイズにより、前記再生処理であることを認識する
ことを特徴とする請求項１の媒体記憶装置。
【請求項７】
前記制御回路は、前記リードコマンドの発行パターンを解析して、前記再生処理であることを認識する
ことを特徴とする請求項１の媒体記憶装置。
【請求項８】
前記制御回路は、前記ライトリトライすべきエラーを、前記装置が受ける振動の検出又は前記データライト処理時の前記ヘッドの位置誤差の少なくとも一方により、判定する
ことを特徴とする請求項１の媒体記憶装置。
【請求項９】
前記リード／ライト機構は、
前記記録媒体から前記データをリードし、且つ前記記録媒体へ前記データをライトするヘッドと、
前記ヘッドを前記記憶媒体の所望のトラックに位置付けるアクチュエータで構成された
ことを特徴とする請求項１の媒体記憶装置。
【請求項１０】
ホストからのリードコマンドに応じて、バッファメモリ又は媒体リード／ライト機構により記憶媒体からデータを読み出し、当該データを前記ホストに送信するリード処理ステップと、
前記ホストからのライトコマンドに応じて、前記ホストからデータを前記バッファメモリに格納後、前記媒体リード／ライト機構により、前記記憶媒体に当該データをライトし、前記データライト処理失敗時に、ライトリトライを行うライト処理ステップと、
前記リードコマンドが、連続データの再生処理のためホストにより一定間隔で発行されたものであることを認識するステップと、
前記再生処理中に受信したライトコマンドによるデータライト処理で、ライトリトライすべきエラーを検出した場合に、前記データライト処理を中断するステップと、
前記バッファメモリに前記データのための格納域をアロケートした後、前記データリード処理を実行して、前記データを前記バッファメモリに格納するステップと、
前記格納後、前記データライト処理を再開するステップとを有する
ことを特徴とする媒体記憶装置のリード／ライト処理方法。
【請求項１１】
前記格納ステップは、
前記エラーを検出した場合に、前記バッファメモリに、前記データを格納できる空き容量があるかを判定するステップと、
前記空き容量がある場合に、前記バッファメモリに前記データの格納域をアロケートした後、前記データリード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１２】
前記格納ステップは、
前記一定間隔に到来する次のリードコマンドを受領しているかを判定するステップと、
前記次のリードコマンドを受領していない場合には、前記バッファメモリに前記次のリードコマンドのデータのための格納域をアロケートした後、前記データリード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１３】
前記格納ステップは、
前記一定間隔に到来する次のリードコマンドを受領しているかを判定するステップと、
前記次のリードコマンドを受領している場合には、前記バッファメモリに前記次のリードコマンドのデータとその次のリードコマンドのデータのための格納域をアロケートした後、前記データリード処理を実行するステップとを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１４】
前記バッファメモリに空き容量がない場合に、前記ライトリトライすべきライトコマンド以外のライトコマンドによるデータライト処理を実行するステップと、
次のリードコマンドのための前記格納域をアロケートした後、前記データリード処理を実行するステップを更に有する
ことを特徴とする請求項１１の媒体記憶装置のリード／ライト処理方法。
【請求項１５】
前記認識ステップは、前記リードコマンドで要求されたデータサイズにより、前記再生処理であることを認識するステップからなる
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１６】
前記認識ステップは、前記リードコマンドの発行パターンを解析して、前記再生処理であることを認識するステップからなる
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１７】
前記データライト処理を中断するステップは、前記ライトリトライすべきエラーを、前記装置のリード／ライト処理方法が受ける振動の検出又は前記データライト処理時の前記ヘッドの位置誤差の少なくとも一方により、判定するステップを有する
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【請求項１８】
前記リード／ライト機構は、
前記記録媒体から前記データリードをリードし、且つ前記記録媒体へ前記データをライトするヘッドと、
前記ヘッドを前記記憶媒体の所望のトラックに位置付けるアクチュエータで構成された
ことを特徴とする請求項１０の媒体記憶装置のリード／ライト処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
この目的の達成のため、本発明の媒体記憶装置は、ヘッドにより、記録媒体からデータをリードし、且つ当該記録媒体へデータをライトするリード／ライト機構と、前記データを格納するバッファメモリと、データライト処理失敗時に、ライトリトライを行う制御回路とを有し、前記制御回路は、リードコマンドが、連続データの再生処理のためホストにより一定間隔で発行されたものであることを認識し、前記再生処理中に受信したライトコマンドによるライト処理で、前記ライトリトライすべきエラーを検出した場合に、前記データライト処理を中断し、且つ前記バッファメモリに前記データのための格納域をアロケートした後、データリード処理を実行して、前記データを前記バッファメモリに格納し、その後、前記データライト処理を再開する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
又、本発明の媒体記憶装置のリード／ライト処理方法は、ホストからのリードコマンドに応じて、バッファメモリ又は媒体リード／ライト機構により記憶媒体からデータを読み出し、当該データを前記ホストに送信するリード処理ステップと、前記ホストからのライトコマンドに応じて、前記ホストからデータを前記バッファメモリに格納後、前記媒体リード／ライト機構により、前記記憶媒体に当該データをライトし、前記データライト処理失敗時に、ライトリトライを行うライト処理ステップと、前記リードコマンドが、連続データの再生処理のためホストにより一定間隔で発行されたものであることを認識するステップと、前記再生処理中に受信したライトコマンドによるデータライト処理で、ライトリトライすべきエラーを検出した場合に、前記データライト処理を中断するステップと、前記バッファメモリに前記データの格納域をアロケートした後、前記データリード処理を実行して、前記データを前記バッファメモリに格納するステップとを有する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【国際調査報告】
2009060500.tif 000013
2009060500.tif 000014