(57)【要約】【課題】  一方では、記憶装置の帯域幅の使用状態を改善し、他方では、記憶装置に書き込まれる、または、記憶装置から読み出されるデータの保全性を増強する。【解決手段】  本発明は、ホストによって、記憶装置(102)にデータを書き込み、また、記憶装置(102)からデータを読み出す方法に関するものである。処理時間を制限することによって、処理されるデータに関する時間限定を達成することができる。しかしながら、これは、データの保全性を犠牲にしている。複数の処理割り当てのグループ(300)に対するタイム・リミット、および、エラー回復と再試行のために予約される時間の動的割り付けをセットすることによって、これまでどおりタイム・リミットを達成することができると同時に、データの保全性を改善することができる。さらに、割り当てに優先権を付けることによって、複数のタイプのデータを、1つのグループの割り当てで扱うことができる。例えば、リアルタイム要件を持つ割り当てを、ベスト・エフォート要件を持つ割り当てを備えたグループに置くことができる。このように、処理割り当ての、より柔軟な予定が、可能である。本発明は、さらに、記憶装置にデータを書き込み、また、記憶装置からデータを読み出すためのシステムに関するものである。
2005538441.tif 000002
【特許請求の範囲】
【請求項１】
ホストによって、記憶装置からデータを読み出し、また、記憶装置にデータを書き込む方法であって、処理割り当てを遂行するために利用可能な時間が、前記ホストによって制限される方法において、前記利用可能な時間が、前記割り当てを処理するために予定された第1の時間ユニットと、処理エラーを回復するために利用可能にされた第2の時間ユニットとの和であり、前記第2の時間ユニットが、当該処理割り当てを有する処理割り当てのグループに利用可能であることを特徴とする方法。
【請求項２】
前記第2の時間ユニットが、以下のパラメータ：
前記処理割り当てのグループを処理しなければならないタイム・リミット、
処理エラーを回復する単一の試みに必要な時間、
各処理割り当てを遂行するために予定される時間の和、
前記処理エラーの発生の危険性、の少なくとも1つに基づいて決定されることを特徴とする請求項1に記載の方法。
【請求項３】
前記処理エラーの発生の危険性に関する知識が、前記記憶装置の製造の後に得られることを特徴とする請求項2に記載の方法。
【請求項４】
前記処理割り当てのグループの処理割り当ての少なくとも1つが、完了してしまった後で、前記第2の時間ユニットが、計算し直されることを特徴とする請求項1に記載の方法。
【請求項５】
前記第2の時間ユニットが、前記処理割り当てのグループの、前記完了した部分によって消費された時間に基づいて計算されることを特徴とする請求項4に記載の方法。
【請求項６】
優先レベルが、前記処理割り当ての少なくとも1つに結合されることを特徴とする請求項1に記載の方法。
【請求項７】
前記優先レベルが、以下の区分：
前記要求された割り当てが、あらかじめ定められた時間内に完了しなければならないという第1の優先権、および、
前記要求された割り当てが、エラーなしで完了しなければならないという第2の優先権、の1つを有することを特徴とする請求項6に記載の方法。
【請求項８】
前記第2の時間ユニットが、まだ処理しなければならず、かつ、前記グループにおいて前記第2の優先権を持っている処理割り当てに割り付けられた、少なくとも1つの時間に基づいて決定されることを特徴とする請求項7に記載の方法。
【請求項９】
前記第2の優先権の少なくとも1つの処理割り当てが、さらなるグループにおける処理のために延期され、そして、前記第2の優先権の前記処理割り当ての少なくとも1つの延期によって、前記グループ内で節約された時間が、前記第2の時間ユニットに加えられて、前記第2の時間ユニットの新しい値をもたらすことを特徴とする請求項7に記載の方法。
【請求項１０】
前記第2の優先権の処理割り当てが、前記第1の時間ユニットと前記第2の時間ユニットとの和に等しい第3の時間ユニット内で完全に完了しない場合に、前記第2の優先権の前記該当の処理割り当てが、処理割り当てのさらなるグループにおいて予定されることを特徴とする請求項7に記載の方法。
【請求項１１】
前記第2の優先権の処理割り当てが、前記第1の時間ユニットと前記第2の時間ユニットとの和に等しい第3の時間ユニット内で完全に完了しない場合に、前記第2の優先権の前記該当の処理割り当ての前記エラー回復が、処理割り当てのさらなるグループにおいて予定されることを特徴とする請求項7に記載の方法。
【請求項１２】
前記処理割り当てのグループが、相異なるデータ・ストリームに関わる処理割り当てから組み立てられることを特徴とする請求項1に記載の方法。
【請求項１３】
前記処理割り当てのグループが、少なくとも2つの処理割り当てを有することを特徴とする請求項2に記載の方法。
【請求項１４】
ホストおよび記憶装置を有するシステムであって、前記ホストが、前記記憶装置にデータを書き込み、また、前記記憶装置からデータを読み出すように適合化されており、そして、前記システムが、処理割り当てを遂行するために利用可能な時間を制限するように適合化されているシステムにおいて、前記システムが、さらに、前記処理割り当てを処理するために予定された第1の時間ユニットと、処理エラーを回復するために利用可能にされた第2の時間ユニットとの和をとることによって、前記利用可能な時間を計算するように適合化されており、前記システムが、さらに、前記第2の時間ユニットを、処理割り当てのグループに利用可能にするように適合化されており、前記グループが、当該処理割り当てを有することを特徴とするシステム。
【請求項１５】
前記処理割り当てのグループの処理割り当ての少なくとも1つが、完了してしまった後で、前記第2の時間ユニットを計算し直すように、さらに、適合化されていることを特徴とする請求項14に記載のシステム。
【請求項１６】
優先レベルを、前記処理割り当ての少なくとも1つに結合するように、さらに、適合化されていることを特徴とする請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストによって、記憶装置からデータを読み出し、また、記憶装置にデータを書き込む方法であって、処理割り当てを遂行するために利用可能な時間が、前記ホストによって制限される方法に関するものである。
【０００２】
本発明は、さらに、ホストおよび記憶装置を有するシステムであって、前記ホストが、前記記憶装置にデータを書き込み、また、前記記憶装置からデータを読み出すように適合化されており、そして、前記システムが、処理割り当てを遂行するために利用可能な時間を制限するように適合化されているシステムに関するものである。
【背景技術】
【０００３】
特許文献１は、ハードディスク・ドライブ・システムによってホスト・コンピュータにデータを供給する方法を開示している。その方法は、ホスト・コンピュータによる読み出し／書き込み割り当てが、視聴覚データに関係するかどうかを確証するステップ、および、その割り当てが、視聴覚データに関係する場合には、割り当ての遂行の間に利用可能な回復の試みの回数を制限するステップを有する。
【０００４】
ホストが、割り当てが完了しなければならないタイム・リミットを与えるので、利用可能な回復の試みの回数は、考慮外とされる。このように、各割り当ては、エラーを回復することができる1つの時間ユニットを割り当てられる。すべての割り当てが、この時間ユニットを必要とするとは限らない。さらに、その先の割り当てが、エラーを修復するために、より多くの時間を必要とするかもしれない。この方法の欠点は、一方では、ハードディスク・ドライブ・システムの帯域幅を最適に用いておらず、また、他方では、データの保全性を犠牲にしているということである。
【０００５】
【特許文献１】国際公開第００／７５９２３号パンフレット
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明の1つの目的は、ハードディスク・ドライブ・システムの帯域幅の使用を改善することである。
【０００７】
この目的は、前記利用可能な時間が、前記割り当てを処理するために予定された第1の時間ユニットと、処理エラーを回復するために利用可能にされた第2の時間ユニットとの和であり、前記第2の時間ユニットが、当該処理割り当てを有する処理割り当てのグループに利用可能にされる、本発明による方法によって達成される。
【０００８】
エラー回復のための時間の動的割り付けによって、この時間は、最適に用いられる。割り当てが、処理されているときに、エラーが、生じなければ、エラーを回復するための時間が、自動的に、その処理割り当てのグループの次の割り当てに利用可能になる。これは、エラーを回復するために利用可能な時間が、最適に用いられるという利点を持つ。一方では、エラー回復のための追加の時間ユニットを、各処理割り当てに割り付ける必要がない。これは、記憶装置の帯域幅が、一層よく利用されるという利点を持つ。他方では、エラー回復に利用可能であって、前の割り当てによって用いられなかった時間を、その後の割り当てにおいて生じるエラーの回復に用いることができる。これは、次の割り当てに関するデータの保全性を増強することができるという利点を持つ。
【０００９】
本発明による方法の一実施例は、前記処理割り当てのグループの処理割り当ての少なくとも1つが、完了してしまった後で、前記第2の時間ユニットが、計算し直されることを特徴とする。
【００１０】
実際、この実施例における第1の時間ユニットは、ハードディスク・ドライブ・システムの保証されたビットレートに基づいて計算され、それは、最悪の場合の近似であるから、その第1の時間ユニットは、その範囲内で、割り当てが、確実に処理されてしまうであろう予定である。このように、割り当てが処理されてしまう時間ユニットが、第1の時間ユニットより短いということはありえることである。これら2つの時間ユニット間の差を、この差を第2の時間ユニットに加えることによって処理エラーを回復するために、さらなる割り当てに対して用いることによって、エラー回復に利用可能な時間が、より長くなる。これは、処理割り当てのグループの処理に、より多くの時間をとることなく、処理されるデータの保全性を増強させることができるという利点を持つ。
【００１１】
本発明による方法の一実施例は、優先レベルが、前記処理割り当ての少なくとも1つに結合されることを特徴とする。これは、複数のタイプのデータを、処理割り当ての1つのグループで処理することができるという利点を持つ。
【００１２】
本発明による方法の一実施例は、前記優先レベルが、以下の区分：前記要求された割り当てが、あらかじめ定められた時間内に完了しなければならないという第1の優先権、および、前記要求された割り当てが、エラーなしで完了しなければならないという第2の優先権、の1つを有することを特徴とする。本発明による方法のこの実施例は、例えば、リアルタイム特質を持つ視聴覚データに関連する割り当てと、データの保全性が重要であるファイルに関連する割り当てとを、処理割り当ての1つのグループにおいて予定することができるという利点を持つ。これは、記憶装置を、より柔軟に用いることができるという利点を持つ。
【００１３】
本発明による方法の一実施例は、前記第2の優先権の処理割り当てが、前記第1の時間ユニットと前記第2の時間ユニットとの和に等しい第3の時間ユニット内で完全に完了しない場合に、前記第2の優先権の前記該当の処理割り当てが、処理割り当てのさらなるグループにおいて予定されることを特徴とする。データの保全性は、第2の優先権の処理割り当てにとって、第一要件である。処理エラーが、第2の優先権の割り当てを処理しているときに生じれば、記憶装置は、エラーを回復しようと再試行しなければならない。これは、例えば、ハードディスク・ドライブ・システムでは、数秒を費やすかもしれない。その間、何らの他の処理割り当ても、処理することができない。エラーが、処理中に生じた第2の優先権の割り当てを、その後の処理割り当てのグループに延期することによって、ハードディスク・ドライブ・システムは、再び、他の処理割り当てのために利用可能になり、そして、第2の優先権の割り当ての処理中に生じた処理エラーを、再び、解決することができる。本発明による方法のこの実施例は、一方では、システムが、容認不可能なほど長時間、処理エラーを回復しようと繰り返される試みによって占められることがないという利点を持ち、他方では、第2の優先権の割り当てに関してデータの保全性が、保証されるという利点を持つ。
【００１４】
本発明による方法の一実施例は、前記第2の優先権の処理割り当てが、前記第1の時間ユニットと前記第2の時間ユニットとの和に等しい第3の時間ユニット内で完全に完了しない場合に、前記第2の優先権の前記該当の処理割り当ての前記エラー回復が、処理割り当てのさらなるグループにおいて予定されることを特徴とする。本発明による、この方法は、間に、少なくとも1つの処理エラーが生じているが、処理エラーなしで処理されている（部分の）第2の優先権の処理割り当てに関するデータは、その後の処理割り当てのグループにおいて、再び、処理する必要がないという利点を持つ。代って、処理エラーの結果として処理されていないデータのみが、処理されることになる。このように、処理エラーの回復しか、その後の少なくとも1つの処理割り当てから成るグループに延期されないことになる。これは、記憶装置の帯域幅が、よりよく利用されるという利点を持つ。
【００１５】
本発明による一システムは、前記システムが、さらに、前記処理割り当てを処理するために予定された第1の時間ユニットと、処理エラーを回復するために利用可能にされた第2の時間ユニットとの和をとることによって、前記利用可能な時間を計算するように適合化されており、前記システムが、さらに、前記第2の時間ユニットを、処理割り当てのグループに利用可能にするように適合化されており、前記グループが、当該処理割り当てを有することを特徴とする。
【００１６】
本発明のこれらの、そして、他の態様が、以下に記述される実施例から明らかになり、そして、それらを参照して解明される。
【発明を実施するための最良の形態】
【００１７】
図1は、ホスト100およびハードディスク・システム102を有する、本発明の一実施例としてのシステム150を示している。ホストは、処理ユニット101、DMA（ダイレクト・メモリ・アクセス）コントローラ103、および、メモリ104を有する。ホスト100は、DMAコントローラ103によって、第1の双方向接続111を介してハードディスク・システム102と通信する。DMAコントローラ103は、さらに、第2の双方向接続112を介して、処理ユニット101と、また、第3の双方向接続113を介して、メモリ104と通信する。処理ユニット101とメモリ104とは、第4の双方向接続114を介して、互いに接続されている。ホスト100は、処理ユニット101に接続されている入力チャンネル121を介して、命令と情報とを受け取る。ホスト100は、処理ユニット101に接続されている出力チャンネル122を介して、情報を出力する。
【００１８】
システム150は、入力チャンネル121を介して提示された情報をハードディスク・システム102に記憶し、また、ハードディスク・システム102に記憶されている情報を、出力チャンネル122を介して提示するように適合化されている。その情報は、視聴覚情報のストリーム、ファイル（テキスト、および、それと同種のもの）、または、それら両方の組み合わせから成ってもよい。システム150の応用の1つの可能性は、PCである。しかしながら、それに代えて、デジタル・ビデオ・レコーダ(DVR)に、システム150を用いることも可能である。
【００１９】
図2は、システム150（図1を参照のこと）が、示されている実施例においてドライブされるドライブ構造200を示している。ドライブ構造200の上層は、ホスト100（図1を参照のこと）で遂行されるアプリケーション205によって構成されている。ファイルシステム204が、アプリケーション205の直下に存在する。アプリケーション205は、第1のアプリケーション・プログラミング・インターフェイス(API) 211によってファイルシステム204と通信し、また、ファイルシステム204は、第1のフィードバック・チャンネル212によってアプリケーション205と通信する。アプリケーション205が、情報を要求すれば、ファイルシステム204は、ファイル、または、視聴覚情報のストリームのフォーマットで、その情報を提供する。アプリケーション205が、ファイルまたは視聴覚情報のストリームを、ハードディスク・システム102（図1を参照のこと）に記憶させることを要求すれば、そのファイルまたは視聴覚情報のストリームが、さらなる処理を引き受けるファイルシステム204に提示される。
【００２０】
ドライブ構造200において、スケジューラ203が、ファイルシステム204の直下に位置している。スケジューラ203は、ファイルシステム204の第2のAPI 213を介して、ハードディスク・システム102から情報を検索する、または、ハードディスク・システム102に情報を記憶させるための要求を受け取る。その後、ハードディスク・システム102から情報を検索する、または、ハードディスク・システム102に情報を記憶させるための割り当てが、スケジューラ203によって、サイクル形式で予定される。サイクルは、要求された情報の部分々々を、ハードディスク・システム102から、逐次的に検索するための割り当て、または、提示された情報の部分々々を、ハードディスク・システム102に、逐次的に記憶させるための割り当てから成る。読み出し割り当てと書き込み割り当てとの組み合わせも、可能である。
【００２１】
スケジューラ203は、サイクル中の割り当てを、ドライバ202を介して、ハードディスク・システム102に与える。スケジューラ203は、第3のAPI 215を介して、ドライバ202と通信し、また、ドライバ202は、第3のフィードバック・チャンネル216を介して、スケジューラ203と通信する。
【００２２】
ドライバ202は、その後、第4のAPI 217を介して、ハードディスク・システム102と通信する。図示されている実施例においては、この通信は、ATA-6プロトコルにしたがって行われる。ハードディスク・システム102は、第4のフィードバック・チャンネル218を介して、ドライバ202と通信する。
【００２３】
アプリケーション205、ファイルシステム204、スケジューラ203、および、ドライバ202の活動は、ドライブ構造200の3つの層の全てと通信するドライブ・システム206によって整合される。
【００２４】
図示されている実施例においては、ドライブ構造200は、メモリ104に記憶されたソフトウェアで実行される。しかしながら、それに代えて、ドライブ構造を、個別IC上のROMコードとして実行することも可能である。
【００２５】
ここで、ハードディスク・システム102（図1を参照のこと）は、情報が、ハードディスク自体（図示せず）から読み出されているとき、または、それに書き込まれているとき、エラーに遭遇する可能性がある。通常のハードディスクは、エラーが、解決されてしまうまで、または、全てのあらかじめプログラムされた回復手続きが、使い果たされてしまうまで、エラーを回復することを試みる。その理由は、PC上のテキスト処理のような多くのアプリケーションにおいて、データの保全性が、要求された情報を時間内に供給することよりも重要であるということである。エラーを、あらかじめプログラムされた回復手続きによって回復することができない場合には、通常のハードディスクは、エラー・メッセージを与える。この総処理は、数秒を費やすかもしれない。この期間に、ハードディスク・システム102は、如何なる他の割り当ても遂行することができない。
【００２６】
システム150（図1を参照のこと）が、DVR装置に用いられた場合、ホスト100（図1を参照のこと）によって、ハードディスク・システム102（図1を参照のこと）に要求される情報は、しばしば、視聴覚情報の1つ以上のストリームから成る。同じことが、ホスト100（図1を参照のこと）によって、ハードディスク・システム102への記憶のために、ハードディスク・システム102（図1を参照のこと）に提示された情報に対しても当てはまる。それに代えて、システム150（図1を参照のこと）に、ハードディスク・システム102（図1を参照のこと）に情報を記憶するための割り当て、および、ハードディスク・システム102から情報を検索するための割り当てを与えることも可能である。視聴覚情報は、連続ストリームを成して提示され、その結果、システム150（図1を参照のこと）は、リアルタイムで、この情報を処理する必要がある。
【００２７】
本発明の一実施例において、システム150が、出力チャンネル122によって表示デバイス（図示せず）に接続され、そして、システム150によってハードディスク・システム102に記憶されている視聴覚情報を、その表示デバイスに送って、この視聴覚情報をユーザに表示することが可能である。ここで、ハードディスク・システム102が、情報の読み出し中にエラーに遭遇した場合、ハード・エラーが、関係するときには、即ち、実は、ハードディスク自体上にエラーが、存在するときには、そのエラーは、画像のドロップ・アウトに導き、そして、ハードディスク・システムは、このエラーを回復しようと試み続けるであろう。また、ソフト・エラー（まちがって書き込まれたデータ）の場合には、そのエラーの処理に、長時間を費やす可能性がある。前述のように、この目的に用いられる時間は、通常のハードディスク・システムにおいては、数秒にまで増大するであろう。そのときには、システム150（図1を参照のこと）のユーザが、視聴覚情報のストリームの相当な断片を失うから、これは、望ましくない。わずかのエラーを伴って視聴覚情報のストリームを提示することは、視聴覚情報のストリームの一部を提示しないことよりも好ましい。したがって、情報の保全性は、視聴覚情報が関係する場合には、その重要性において副次的である。さらに、ハードディスク・システム102が、全てのあらかじめプログラムされた手続きが使い果たされるまで、エラーを回復するために長時間ビジー状態にあるときには、他のアプリケーションへの情報の供給も、中断される。したがって、データの十分な供給のために、ハードディスクに割り当てられる時間を制限することが、好ましい。これは、ハードディスク・システムに対するATA-6規格で可能である。提示される本発明の一実施例において、この機能が、スケジューラ203（図2を参照のこと）で用いられる。
【００２８】
ここで、提示される本発明の一実施例によるスケジューラが作動する仕方を、図2、図3Aおよび図3Bを参照して記述する。情報の処理と言う場合、それは、ハードディスク・システム102からの情報の読み出し、および／または、ハードディスク・システム102への情報の記憶を意味すると理解されたい。
【００２９】
図3Aは、スケジューラ203が、ハードディスク・システム102による実行のために、どのように、ファイルシステム204の種々の割り当てを予定するかを示している。提示される本発明の一実施例において、システム150のハードディスク・システム102（図1を参照のこと）が、視聴覚情報の複数のストリームに関係する処理割り当てを受けると仮定している。
【００３０】
スケジューラ203が、各処理割り当てに対して、1つのエラーを回復する1つの期間（その期間は、ほぼ2つの回復試みに十分である）を予定し、そして、視聴覚情報の総計4つのストリームを処理しなければならない場合には、情報の処理予定を、図3Aにおける第1のサイクル予定300として提示することができる。
【００３１】
第1のサイクル予定300の総時間を決定する1つの仕方は、関係式(1)によって与えられる。この関係式において、TCは、計算されたサイクル予定の総時間であり、rHDDは、ハードディスク・システム102の保証されたビットレートであリ、Mは、メモリ104（図1を参照のこと）の総容量であり、aは、自然数であり、そして、Terrは、エラー回復の試みに必要な時間である。本発明の一実施例において、Terrは、エラーを回復するために必要な最小の時間、即ち、ハードディスクの一回転に必要な時間である。これは、読み出し割り当て、または、書き込み割り当てが、うまくいかなかったセクタを、再読み出しする、または、再書き込みするために必要な最小の時間である。
【００３２】
このように、TCは、メモリ104（図1を参照のこと）を、情報で満たすことができる時間、または、メモリ104中の全ての情報を、ハードディスク・システム102に記憶させることができる時間である。しかしながら、メモリのオーバーフローを防ぐために、安全マージンをみるのが好ましい。この理由のために、因子bが、 関係式(1)に導入される。bは、0と1との間の実数であるのが好ましい。さらに、エラー回復の試みに必要な時間の消費量は、任意選択であり、因子aが、0に等しいことも可能である。Terrを、ハードディスク・システム102（図1を参照のこと）のディスクの一回転に必要な時間に等しいととることができる。
2005538441.tif 000003
【００３３】
視聴覚情報の1つのストリーム（ストリームi）に対する割り当てを遂行するために、1サイクル中にハードディスク・システム102によって必要とされる時間Tiは、関係式(2)を参照して計算することができる。この関係式において、TCは、関係式(1)による1サイクルの時間であり、riは、割り当てを遂行する視聴覚情報のストリームのビットレートであり、TACは、1つのセクタから他の1つのセクタへのジャンピングに必要な（最大）時間である。これは、かなりの長時間と、セクタを見つけるための複数の回転（シーク時間）に加えて、最大一回転（回転待ち時間）を費やすかもしれない。
2005538441.tif 000004
【００３４】
さらなる一実施例において、サイクル時間TCは、異なる仕方でも計算することができる。それが、関係式(3)〜(5)でなされている。関係式(3)は、アクセス時間TACを考慮に入れて、保証されたビットレートrHDDで、Biの値を持つ処理割り当てを遂行するために必要な時間Tiを示す。
2005538441.tif 000005
【００３５】
関係式(4)は、データ・ストリームiの割り当て量Biおよびビットレートri、および、TCの間に見込まれる関係式を与える。
2005538441.tif 000006
【００３６】
さらに、サイクル時間TCは、関係式(5)を満たさなければならない。関係式(5)において、TCは、サイクル全体の時間であり、Tiは、そのサイクル内の割り当てに対して予定された時間である（Tiは、関係式(3)によって決定することができる）。因子aおよびTerrは、関係式(1)を参照して説明したように決定される。
2005538441.tif 000007
【００３７】
コストの理由から、小さなバッファが、好ましい。したがって、割り当て量Biを、相対的に小さく維持するのが好適である。したがって、上述の関係式から、サイクル時間TCを、短く保たなければならないことは明白である。さらに、サイクル時間TCが、短いときには、システム150（図1を参照のこと）の反応時間も、より短くなる。
【００３８】
さらに、全ての割り当てを完了させるように予定された時間Tiの和を参照して、サイクル当たりの上述の関係式におけるサイクル時間TCを決定することも、可能である。
【００３９】
rHDDが、ハードディスク・システム102（図1を参照のこと）のビットレートの下限を示すから、関係式(2)は、割り当てを遂行するために必要な時間の上限を示す。割り当てごとに2つの回復の試みのための時間を割り付けることは、多くの場合において、過剰である。これが、第1のサイクル予定300とサイクル310に示されている。前述のように、システム150（図1を参照のこと）は、示されている実施例において、情報の処理の適時性が、保全性よりも重要である、情報の4つのストリームを処理すると考える。第1のサイクル予定300の時間が、4個の断片に分かれ、そして、各断片において、ハードディスク・システム102によって情報の1片を処理するための時間が、予約される。第1のサイクル予定300において、第1の時間ユニット301は、第1の割り当てを処理するために予定された時間を示す。第2の時間ユニット302は、第1の割り当てを処理するときに生じるかもしれない、起こりえるエラーを処理するための2つの回復の試みに対して予定された時間を示す。さらに、第3の時間ユニット303は、第2の割り当てに対して予定された時間を示す。第4の時間ユニット304は、第2の割り当てを処理するときに生じるかもしれない、起こりえるエラーを処理するための2つの回復の試みに対して予定された時間を示す。
【００４０】
ここで、エラーを回復する2つの試みに必要な時間を予約することは、処理割り当てごとの最悪ケースの近似である。割り当てに対して予約される時間も、最悪ケースの近似である。このように、サイクル仲の割り当て数を、より多く処理していればいるほど、予備時間（エラー回復のために、サイクル中にとっておかれる時間）が増加することが、起こりえる。
【００４１】
既に前述したように、関係式(2)は、1つの割り当てを遂行するために必要な時間の上限を与えるから、第1のサイクル予定300を、実際には、サイクル310として遂行することが可能である。サイクル310において、第1の時間ユニット311は、第1の割り当てを処理するために実際に必要であった時間を表す。さらに、サイクル310における第2の時間ユニット312は、第1の割り当てが処理されたときに生じたエラーを回復するために必要であった時間を表す。提示されている例においては、1つの回復の試みで、エラーを回復するのに十分であった。
【００４２】
実際、ハードディスク・システムによって情報を処理しているときにエラーの生じる危険性は、非常に小さくて、そのため、処理される情報の量が、相対的に小さい場合には、処理割り当てが処理されているときに生じるエラーを回復するために、処理割り当てごとに時間を予約することは、現実的ではないように思われる。しかしながら、処理エラーは、各割り当てにおいて生じるかもしれないから、起こりえるエラーを回復するための空間を予約することが、望ましい。これは、1つのエラーを回復するための空間であってもよいが、安全を期して、それに代えて、処理割り当てごとに、2つの処理エラーを回復するための空間を予約することも、可能である。異なる数も、もちろん、可能である。その結果、ハードディスク・システム102のビットレートは、最適には用いられない。実際、第1のサイクル予定に対して予定された時間は、第1のサイクル310において用いられた時間よりも明らかに長い。したがって、ハードディスク・システム102を用いるための予定は、時間ユニット323の間は、用いられないでいる。
【００４３】
処理エラーの回復のために予約される時間を、処理エラーの発生の危険性に対して適合化させることが好ましい。エラーの危険性が、1ビット当たり10-6である場合には、処理される情報の1メガビット当たり、1つの回復の試みを予定すべきである。処理される情報が、106ビット未満であって、処理割り当てごとに1つの回復の試みが予約された場合には、これは、ハードディスク・システム102の利用可能な帯域幅の、全然効率的ではない使用に導く。
【００４４】
当業者であれば、シーク操作（正しいセクタを捜しての）も、エラー源となることがあるから、上述の近似は、非常に単純化されていて、正確でないことを知っている。しかしながら、次のメッセージが、当業者には明らかである。即ち、割り当てのエラーの危険性は、予備時間の一部が、各割り当てに付けて与えられるときよりも、全部の予備時間（サイクル中の全処理エラーを回復するための）が、1つの割り当てに付けて与えられるときの方が、相当に小さくなる。
【００４５】
したがって、提示される本発明の一実施例において、処理割り当てのグループごとに回復の試みのための時間を予約することを提案する。これが、第2のサイクル予定350に示されている。第2のサイクル予定350において、第1の時間ユニット351は、第1の割り当てを遂行するために予約され、第2の時間ユニット353は、第2の割り当てを遂行するために予約され、第3の時間ユニット355は、第3の割り当てを遂行するために予約され、第4の時間ユニット357は、第4の割り当てを遂行するために予約され、そして、第5の時間ユニット358の予約時間は、2つの回復の試みに必要な時間に相当する。
【００４６】
第2のサイクル予定350の4つの割り当てが、第1のサイクル予定300に対する割り当てとして遂行されると仮定すると、第2のサイクル360は、第2のサイクル予定350が遂行される仕方を示している。ここで、時間ユニット373によって示されている、割り当てを遂行するために用いられなかった、予定された時間は、時間ユニット323よりもずっと短い。示されている状況において、利得は、総数で7つの回復の試みに対して、第1のサイクル予定において予約された時間から成る。
【００４７】
第1の割り当てが、遂行されているときに、処理エラーが、生じ、そして、ハードディスク・システムが、その処理エラーを回復するために、第5の時間ユニット358によって示されている、エラー回復のために予約されている時間全てを必要とした場合には、第2、第3および第4の割り当てが処理されているときに生じる処理エラーを回復するための何らの時間も、残っていない。その場合には、処理エラーは、回復されないで、割り当ては、さらに処理されていく。ATA-6プロトコルの範囲内で、エラー・メッセージが存在するときに、そのエラーを回復するための何らの試みもなさずに、さらに割り当てを処理するための命令を与えることができる。
【００４８】
第2のサイクル予定350を遂行するための、本発明による方法の一実施例が、図4に示されている。図4は、処理フロー400を示すフローチャートである。提示される本発明による方法の一実施例において、この方法は、処理ユニット101（図1を参照のこと）によって遂行される。処理フロー400は、ファイルシステム204（図2を参照のこと）が、少なくとも1つの割り当てを、スケジューラ203（図2を参照のこと）に渡す開始ステップ401で開始する。
【００４９】
前述のように、サイクル継続期間は、ハードディスク・システム102（図1を参照のこと）の保証されたビットレート、シーク時間（特定のセクタを捜す時間）、および、メモリ104（図1を参照のこと）の容量によって明白に決定される。全ての処理割り当てが、1サイクルの継続期間内で遂行されることになる。
【００５０】
さらに、ハードディスク・システム102（図1を参照のこと）が処理割り当てを受け取る視聴覚情報の全てのストリームのビットレートの和は、ハードディスク・システム102の保証されたビットレートより大きくてはいけない。これは、関係式(2)にしたがって計算される視聴覚情報の全ストリームの割り当てを遂行するのに必要な時間の和が、関係式(1)にしたがって計算されるサイクル時間よりも長くてはいけないということを意味している。これが、判定ステップ403でテストされる。関係式(6)の左辺の量が、処理ステップ402において決定された後、判定ステップ403において、状況が、関係式(6)を満たしているか否かがテストされる。関係式(6)において、Tiは、関係式(1)にしたがって計算されるサイクル時間中に、情報iの視聴覚ストリームを情報処理するのに必要な時間であり、また、TCは、関係式(1)で計算されるサイクル時間である。関係式(6)において、nは、情報が処理される、その情報の視聴覚ストリームの数である。もちろん、それに代えて、関係式(3), (4), (5)を、関係式(6)を計算するために用いてもよいことも明白である。もちろん、これは、本発明の範囲を逸脱することではない。
2005538441.tif 000008
【００５１】
状況が、関係式(6)を満たせば、処理フロー400は、処理ステップ404に進む。判定ステップ403において、全割り当てを処理するのに必要な時間が、サイクル継続期間よりも短くならないようであれば、最後に受け取られた処理割り当てが、処理ステップ421において、その後のサイクルに延期される。その後、判定ステップ403において、再度、全割り当てを処理するのに必要な時間が、サイクル継続期間よりも短いか否かがテストされる。もちろん、当業者にとっては、最後の割り当てと異なる割り当てを結合しても（延期しても）よいことは明らかである。これは、例えば、処理割り当てに結合されている優先権または最終期限に基づいて行ってもよい。さらなる一実施例において、関係式(6)の左辺が、関係式(6)の右辺よりも大きくならない限り、処理割り当てが、処理ステップ402、判定ステップ403、および、処理ステップ421を有するループにおいて連続して加えられ、したがって、関係式(6)の左辺は、関係式(6)の右辺よりも常に小さい。処理割り当ては、ファイルシステム204（図2を参照のこと）、アプリケーション205（図2を参照のこと）、または、スケジューラ203（図2を参照のこと）によって、割り当てのグループから選択される。割り当ての選択は、処理割り当てに与えられている優先権に基づいて起こる。本発明のさらなる一実施例において、サイクルに対する割り当ての選択は、処理割り当てに対してセットされている最終期限に基づいて起こる。
【００５２】
処理ステップ404において、遂行される割り当てが、キュー（待ち行列）にセットされる。その後、処理ステップ405において、割り当てが、どれくらいの時間を費やすか、また、どれくらいの予備時間が、サイクル中に存在するかが計算される。割り当てに必要な時間は、関係式(3)にしたがって決定される。
【００５３】
全ての情報のストリームの割り当てを処理するために必要な時間の和と、サイクル継続期間との間の差が、予備時間である。さらなる一実施例において、予備時間を、エラーを回復するための時間を生成するように、サイクル中で常に定めることができる。これを、例えば、ダミーの処理割り当てを定めることによって、行ってもよい。
【００５４】
前述のように、関係式(1)中の因子aを、さらなる一実施例において、処理エラーのためのサイクル中の空間を予約するために種々に変更することができる。因子aを、そのハードディスク・システムでの経験に基づいて決定してもよい。例えば、因子a を、ハードディスク・システム102の製造者が、実験に基づいて決定してもよい。本発明の他の一実施例において、それに代えて、システム150（図1を参照のこと）の環境におけるハードディスク・システム102の動作に基づいて、因子aを決定することが可能である。この実施例において、因子aは、システム150（図1を参照のこと）が、振動のない環境にある状況に比して、システム150（図1を参照のこと）が、多量の振動を持つ環境にあるときの方が、より大きくなる。
【００５５】
処理ステップ405におけるこの計算の後、処理ステップ404において形成されたキューの第1の割り当てが、処理ステップ406において、処理のために、ハードディスク・システム102（図1を参照のこと）に渡される。既に前述したように、ATA-6規格を満たすハードディスク・システムにおいて、処理割り当てに最終期限を与えることが可能である。処理ステップ406において、最終期限が、第1の処理割り当てに付けて与えられる。その最終期限は、第1の割り当てを遂行するために予約された時間と、処理ステップ405において計算された予備時間との和に等しい。その割り当てが、エラーなしで処理されていれば、ハードディスク・システム102（図1を参照のこと）は、セットされている最終期限内で処理作動できる状態にある。しかしながら、第1の割り当てが、処理されているときに、少なくとも1つのエラーが生じ、かつ、そのエラーを回復するための時間と、その割り当てを処理するために必要な時間とを加えた時間が、処理ステップ406においてセットされた最終期限よりも大きい場合には、その最終期限が、到達したときに、ハードディスク・システム102（図1を参照のこと）は、その割り当ての処理を停止する。スケジューラ203（図2を参照のこと）が、処理ステップ406において、ハードディスク・システムに、その割り当てを与えた後、処理フロー400は、処理ステップ407において、ハードディスク・システムが、その割り当てを終了してしまうまで、待機する。その後、フィードバックが、処理ステップ408において、ファイルシステム204（図2を参照のこと）に与えられる。これは、とりわけ、その割り当てが成功のうちに処理されたか否かを見出す可能性を提供する。エラーが、割り当ての処理中に生じていれば、エラーが、生じているか否か、また、生じているエラーの位置および数を、どのように決定することができるかに関するフィードバックを、与えることができる。扱われた処理割り当てが、読み出し割り当てであった場合には、読み出された情報も、ファイルシステム204（図2を参照のこと）にフィードバックされる。その後、完了した割り当てが、処理ステップ409において、処理ステップ404で形成されたキューから取り除かれる。処理ステップ409の後、判定ステップ410において、処理ステップ404で形成され、そして、処理ステップ409で変更されたキューが、空であるか否かがテストされる。そうである場合には、処理フロー400は、終了点411で終了する。キューが、空でない場合には、処理フロー400は、処理ステップ405に戻る。
【００５６】
ここまで、タイム・クリティカルな割り当ての処理、即ち、情報の処理の適時性が、処理された情報の保全性よりも重要である割り当ての処理が、検討されてきた。しかしながら、それに代えて、ハードディスク・システム102（図1を参照のこと）に対する処理割り当てが、処理保全性が、その適時性よりも重要である情報にも関係するという場合も可能である。このタイプの情報の例は、アプリケーションを有するファイルである。処理エラーへの対処は、それが、処理された情報の保全性に影響するから、これらのタイプの処理割り当てにおいては、中断することができない。これは、受け入れられない。この理由で、このタイプの情報を、処理フロー400（図4を参照のこと）にしたがって処理することはできない。
【００５７】
提示される本発明の一実施例のさらなる記述を簡単にするために、処理の適時性が、保全性よりも重要である情報を処理するための割り当てを、リアルタイム割り当て、または、RT割り当てと呼ぶ。保全性が、適時性よりも重要である情報を処理するための割り当てを、ベスト・エフォート割り当て、または、BE割り当てと呼ぶ。これらの区分は、優先レベルであると考えることができる。ここでも、情報の処理は、ハードディスク・システム102（図1を参照のこと）への情報の記憶、および、ハードディスク・システム102（図1を参照のこと）からの情報の読み出しを有する。
【００５８】
前述のように、処理フロー400（図4を参照のこと）は、RT割り当てにしか用いることができない。図5は、RT割り当てとBE割り当てとの持つサイクルを処理するための、さらなる処理フロー500を示している。提示される本発明による方法の一実施例において、この方法は、処理ユニット101（図1を参照のこと）によって遂行される。さらなる処理フローは、開始ステップ501で始まる。処理ステップ502において、全割り当てを処理するために必要な総時間が、決定される。
【００５９】
その後、判定ステップ503において、そのサイクル予定中の全割り当てを扱うのに必要な時間が、サイクル時間を超過しないかどうかがテストされる（処理フロー400（図4を参照のこと）における判定ステップ403と比較されたい）。そのサイクル予定中の全割り当てを扱うために必要な時間が、サイクル時間を超過すれば、最後に入ってきた処理割り当てが、処理ステップ521において、その後のサイクルに延期される。次に、そのサイクル予定中の全割り当てを完了するのに必要な時間が、再び、テストされる。全処理割り当てを完了するのに必要な時間が、サイクル時間より短いか、または、それに等しければ、そのサイクル予定の全割り当てが、処理ステップ504において、キュー・アップされる。既述したように、処理ステップ521において、最後の割り当て以外の割り当てをシフトすることも可能である。
【００６０】
その後、そのサイクル予定の予備時間が、処理ステップ505において決定される。この目的のために、そのサイクル予定の全割り当てを完了するために必要な時間の和が、サイクル時間から引かれる。さらに、処理ステップ504において形成されたキュー中の全BE処理割り当てを完了するために必要な時間の和が、決定される。
【００６１】
その後、そのサイクル予定の第1の割り当てが、処理ステップ506において、ハードディスク・システム102（図1を参照のこと）に与えられる。第1の割り当てを完了するために与えられる最終期限は、提示される本発明の一実施例において、スケジューラにしたがって第1の割り当てに必要とされる時間、予備時間、および、そのサイクル予定の全BE割り当てを完了するために必要な時間の和に一致する。BE割り当ては、タイム・クリティカルではないという事実が、この場合、開始点としてとられている。サイクル予定の全BE割り当てを完了するために必要な時間を用いることの利点は、タイム・クリティカルな割り当てに割り付けられていない最大時間を、処理エラーを回復するために用いることができるということである。このように、RT情報の保全性が、増強され、また、BE割り当てへの完全な対処を確保するための最大時間が、呈示される。しかしながら、その割り当てを扱うためにサイクル予定によって必要とされる時間と、サイクル予定中の予備時間との和しか参照せずに、最終期限を決定することも可能である。
【００６２】
処理ステップ504において形成されたキューの第1の処理割り当てが、それに連結する最終期限とともに、ハードディスク・システム102（図1を参照のこと）に与えられた後、さらなる処理フロー500は、処理ステップ507において、ハードディスク・システム102の反応を待機する。ハードディスク・システム102（図1を参照のこと）が、その割り当てを終了してしまって、スケジューラ203（図2を参照のこと）にフィードバックを与えた後、判定ステップ508において、その割り当てが、エラーなしで処理されているか否かがテストされる。そうである場合には、その後、フィードバックが、処理ステップ509において、ファイルシステム204（図1を参照のこと）に与えられる。とりわけ、その割り当てが、成功のうちに処理されているかどうかについてのフィードバックを与えることができる。エラーが、その割り当てを処理する際に生じていれば、エラーの発生、および、生じているエラーの数についてのフィードバックを与えることができる。取り扱っている割り当てが、読み出し割り当てであった場合には、読み出された情報も、ファイルシステム204（図2を参照のこと）にフィードバックされる。
【００６３】
しかしながら、割り当てが、処理されているときに、エラーが、生じていて、そのエラーを、セットされている最終期限内に回復することができない場合には、判定ステップ523において、その割り当てが、BE割り当てであったか、RT割り当てであったかがテストされる。その割り当てが、RT割り当てであったならば、処理フロー500が、処理ステップ509に進んで、その割り当ては、終了する。その割り当てが、読み出し割り当てであったならば、ハードディスク・システム102（図1を参照のこと）のデータが、エラーとともに、ホスト100（図1を参照のこと）に渡される。
【００６４】
しかしながら、セットされている最終期限内に回復することができないエラーが生じている割り当てが、BE割り当てであったならば、そのBE割り当て全体が、処理ステップ524において、次のサイクルで予定される。そのサイクルを予定する際、この処理は、他のBE割り当てに対して優先権を持つ。
【００６５】
その割り当てが、読み出し割り当てであった場合には、ハードディスク・システム102（図1を参照のこと）から検索された情報は、ホスト100（図1を参照のこと）に渡されない。その割り当てが、書き込み割り当てであった場合には、ハードディスク・システム102（図1を参照のこと）のディスク（図示せず）上の情報は、無視される。処理ステップ524の後、さらなる処理フロー500は、処理ステップ509に進む。
【００６６】
処理ステップ509の後、処理された割り当てが、処理ステップ510において、処理ステップ504で形成されたキューから取り除かれる。
【００６７】
処理作動が遂行された割り当てが、処理ステップ510において、処理ステップ504で形成されたキューから取り除かれてしまった後、判定ステップ511において、サイクル内で、まだ利用可能な時間が、まだ処理しなければならない全ての割り当てを処理するのに十分か否かがテストされる。否の場合には、処理ステップ504で形成されたキューの最後のBE割り当てが、処理ステップ525において、次のサイクルで予定されて、キューから取り除かれる。その後、処理ステップ511において、再び、サイクル内で、まだ利用可能な時間が、まだキュー内にある割り当てを処理するのに十分であるか否かがテストされる。否の場合には、さらなる処理フロー500は、処理ステップ525に進む。そうである場合には、さらなる処理フロー500は、判定ステップ512に進む。判定ステップ512において、処理割り当てのキューが、空であるか否かがテストされる。そうである場合には、さらなる処理フロー500は、終了点513で終了する。キューが、判定ステップ512において、まだ空でなければ、さらなる処理フロー500は、処理ステップ505に戻る。
【００６８】
さらなる処理フロー500の記述から明らかなように、処理割り当てが、BE割り当てであるか、RT割り当てであるかを、スケジューラ203（図2を参照のこと）は、知っていなければならない。それは、アプリケーション205（図2を参照のこと）から、第1のアプリケーション・プロトコル・インターフェイス(API) 211を介して、ファイルシステム204（図2を参照のこと）に渡され、ファイルシステム204が、それを、第2のAPI 213を介して、スケジューラ215（図2を参照のこと）に渡す。
【００６９】
さらなる処理フロー500（図5を参照のこと）が、図6を参照して、さらに例示される。図6Aは、サイクル予定600を示している。このサイクルにおいて、第1のRT処理割り当て601、第1のBE処理割り当て602、第2のRT処理割り当て603、第3のRT処理割り当て604、第2のBE処理割り当て605、および、ある長さの予備時間606が、予定される。図6Bは、第1のRT処理割り当て601が、どのように、ハードディスク・システム102（図1を参照のこと）に与えられるかを示している。処理ステップ505（図5を参照のこと）において、処理割り当てが占めることができる追加時間が、この割り当てに対してスケジューラによって計算された時間に加えて、計算されている。第1のRT処理割り当てに与えられる最終期限は、第1のRT処理割り当てに対して予定された時間と、処理ステップ505において計算された時間推移611との和である。時間推移611は、サイクル予定600中の2つのBE割り当ての処理に対して、スケジューラによって決定された時間と、予備時間606とを足すことによって計算される。
【００７０】
図6Cは、第1のBE処理割り当て602が、どのように、ハードディスク・システム102（図1を参照のこと）に与えられるかを示している。時間推移621は、第1のRT処理割り当てを遂行するために、ハードディスク・システム102（図1を参照のこと）によって必要とされる時間を示している。第1のRT処理割り当てが、ここに記述されている場合においては、それに対してスケジューラによって予約された時間と同じ時間内に完了しているから、予備時間は、予定された予備時間606に等しい。さらに、どれだけの時間が、その後のBE処理割り当てに対して予定されるかが、決定される。提示されている場合においては、これは、第2のBE処理割り当て605に対して予定された時間に等しい。このように、第1のBE処理割り当て602を処理しなければならない最終期限は、時間推移622に、第1のBE処理割り当て602に対して予定された時間を加えた時間に等しい。
【００７１】
スケジューラが予約した時間推移631において達成された第1のBE処理割り当て602の完了の後、第2のRT処理割り当てが、ハードディスク・システム102（図1を参照のこと）に与えられる。この割り当てに対して与えられる最終期限は、予備時間606、第2のBE処理割り当て605に対して予定された時間、および、第2のRT処理割り当て603に対して予定された時間の和に一致する。前述のように、サイクル中の割り当てを、より多数扱うにつれて、予備時間を拡大することが、可能である。その理由は、割り当てごとに予定された時間は、最悪の場合の割り当てであるということである。1つの処理割り当てが、セットされている最終期限内で（完全に）完了すれば、その処理割り当てを完了するためにハードディスク・システム102（図1を参照のこと）によって必要とされた時間と、予定された時間との間の差は、その後の処理割り当てに対する追加の予備時間となる。
【００７２】
示されている状況において、第2のRT割り当て603が、処理されているときに、エラーが生じる。その処理割り当ては、時間推移641において完了し、また、生じたエラーは、予備時間606よりも長い時間推移642において回復することができる。このように、エラーが、生じても、このエラーは、その割り当てを遂行するために、スケジューラによって割り付けられた時間内に回復することができる。これは、ハードディスク・システム102（図1を参照のこと）が、スケジューラにエラー・メッセージを与えないということを意味し、そして、第2のRT処理割り当てが、判定ステップ508（図5を参照のこと）において遂行されてしまった後、さらなる処理フロー500（図5を参照のこと）は、処理ステップ509に進む。その後、処理ステップ509および510が、遂行される。判定ステップ511において、最初の3つの処理割り当てが、遂行されてしまった後、サイクル予定内の、まだ利用可能な時間が、残りの予定された処理割り当てを遂行するのに十分であるか否かがテストされる。図6Eに示されているように、最後の処理割り当て（この場合には、第2のBE処理割り当て605）を扱うためにサイクル中で利用可能な時間を示す時間推移607が、この最後の処理割り当てに対して予約された時間より短いから、否である。
【００７３】
したがって、生じたエラーの回復を含めて、サイクル予定600の最初の3つの処理割り当てが、遂行されてしまった後、第3のRT処理割り当て604、および、第2のBE割り当て605を完了するための十分な時間が、残されていない。この理由のため、さらなる処理フロー500は、判定ステップ511の後に処理ステップ525に進む。処理ステップ525において、第2のBE処理割り当て605が、割り当てのキューから取り除かれる。その後、判定ステップ511において、再び、最初の3つの処理割り当てが、遂行されてしまった後に、サイクル予定中で、まだ利用可能な時間が、残りの予定された処理割り当てを遂行するのに十分であるか否かがテストされる。第2のBE処理割り当て605が、取り除かれてしまった後では、そのとおりである。
【００７４】
次に、判定ステップ512の後、予備時間が、処理ステップ505において計算し直される。図6Fにおいて、この時間が、計算し直された予備時間651として示されている。その後、第3のRT処理割り当てが、処理ステップ506において、第3のRT処理割り当て604に対して予定された時間と、計算し直された予備時間651に一致する時間推移652との和に一致する最終期限とともに、ハードディスク・システム102（図1を参照のこと）に与えられる。提示されている状況において、第3のRT処理割り当ては、如何なるエラーもなく処理されている。図6Gは、提示されている状況において、サイクル予定600が、どのように、さらなる処理フロー500にしたがって行なわれているかを示している。時間推移621は、第1のRT処理割り当て601を処理するために必要な時間を示し、時間推移631は、第1のBE処理割り当て602を処理するために必要な時間を示し、時間推移641は、第2のRT処理割り当て603を処理するために必要な時間を示し、時間推移642は、第2のRT処理割り当て603が処理されたときに生じたエラーを回復するために必要な時間を示し、そして、時間推移661は、第3のRT処理割り当て604を処理するために必要な時間を示している。
【００７５】
本明細書に提示される状況は、提示される本発明の実施例に生じるであろう状況の一例であるにすぎない。当業者にとっては、本発明が、本明細書に提示される実施例よりも広い範囲を持つことは明らかであろう。
【００７６】
ここまで、予定シナリオの2つの例が、提示されている。第1のシナリオにおいては、予定されたサイクルが、RT処理割り当てだけから成り、第2のシナリオにおいては、予定されたサイクルが、RT処理割り当てとBE処理割り当てとから成る。第2の場合において、BE割り当てを処理しているときに、エラーが、生じて、そのエラーを、課されている最終期限内で回復することができない場合には、そのBE処理割り当て全体が、提示されているシナリオでは、その後のサイクルにおいて予定し直される。その後のサイクルには、最低限、その延期されたBE処理割り当てを処理するために利用可能であるだけのスペースがなければならない。実際、そのBE処理割り当ては、再度、完全に遂行しなければならない。このことは、このBE処理割り当てが遂行された最初の時間は、むだ時間であったということを意味する。その結果、ハードディスク・システムの帯域幅は、最適に用いられていない。本発明のさらに他の一実施例においては、処理エラーを解決する回復処理が、停止されて、その後のサイクルにおいて継続される。このように、処理割り当ての極限の状態を見出すことができる。本発明による方法の一実施例は、ATA-6プロトコルを用いて実行することができる。
【００７７】
処理エラーが、ソフト・エラーである場合には、そのエラーは、ハードディスク・システム102（図1を参照のこと）の振動、一時的な同期問題、または、他の一時的な性質の問題によって引き起こされているものかもしれないので、それは、恐らく、解決することができる。書き込まれているデータも、低品質を持っているかもしれない。
【００７８】
処理エラーが、ハードディスクのダメージのようなハード・エラーである場合には、そのハードディスク・システム102（図1を参照のこと）は、最終的にエラー・メッセージを与える。この情報によって、ハードディスク・システム102（図1を参照のこと）、または、ファイルシステム204（図2を参照のこと）が、ハードディスクの該当する部分を、不完全であるとマークすることによって、このハード・エラーが、その後のステージにおいて、再び、処理エラーに導くのを防ぐことができる。これらの2つの態様は、ハードディスク・システム102（図1を参照のこと）の帯域幅の最適使用の枠内において、大きな利点である。
【００７９】
本発明による、この実施例を実行するために、小さな変更を、さらなる処理フロー500（図5を参照のこと）においてなさなければならない。さらなる処理フロー500で、処理ステップ524（図5を参照のこと）において、その後のサイクルに延期しなければならないのは、そのBE処理割り当て全体ではない。そうではなくて、回復処理の状態を、ハードディスク・システム102（図1を参照のこと）またはホスト・システム100（図1を参照のこと）のキャッシュ・メモリ（図示せず）に記憶させなければならず、また、エラーを回復する、その先の処理を、その後のサイクルで予定しなければならない。
【００８０】
提示される本発明の一実施例において、スケジューラが、リアルタイム・ファイル・システム207（図2を参照のこと）の一部である。本発明のさらなる一実施例において、ハードディスク・システム102（図1を参照のこと）が、スケジューラ203（図2を参照のこと）を有する。
【００８１】
非常に好適な本発明の一実施例の記述において、情報を磁気的に記憶するハードディスクを持つハードディスク・システムが、記述された。しかしながら、当業者にとっては、本発明が、光磁気媒体、CD-ROMおよびDVDのような光学的媒質、および、フラッシュ・メモリ、EEPROMメモリ、SRAMメモリ、ROMメモリの如き固体メモリ、のような任意の記憶装置システム、および、恐らくは将来の量子メモリへの情報の記憶、および／または、それらからの情報の読み出しにも適用可能であることは、明らかであろう。
【００８２】
要約すれば、本発明は、ホストによって、記憶装置(102)にデータを書き込み、また、記憶装置(102)からデータを読み出す方法に関するものである。処理時間を制限することによって、処理されるデータに関する時間限定を達成することができる。しかしながら、これは、データの保全性を犠牲にしている。複数の処理割り当てから成るグループ(300)に対するタイム・リミット、および、エラー回復と再試行のために予約される時間の動的割り付けをセットすることによって、これまでどおりタイム・リミットを達成することができると同時に、データの保全性を改善することができる。さらに、割り当てに優先権を付けることによって、複数のタイプのデータを、1つのグループの割り当てで扱うことができる。例えば、リアルタイム要件を持つ割り当てを、ベスト・エフォート要件を持つ割り当てを備えたグループに置くことができる。このように、処理割り当ての、より柔軟な予定が、可能である。本発明は、さらに、記憶装置にデータを書き込み、また、記憶装置からデータを読み出すためのシステムに関するものである。
【図面の簡単な説明】
【００８３】
【図１】本発明によるシステムの一実施例を示す。
【図２】本発明によるシステムの一実施例のドライブ構造を示す。
【図３】従来技術による方法(A)と、本発明による方法(B)の例図である。
【図４】本発明による方法の一実施例のフローチャートである。
【図５】本発明による方法のさらなる一実施例のフローチャートである。
【図６】本発明による方法の一実施例のさらなる処理フローの例図である。
【符号の説明】
【００８４】
100  ホスト
101  処理ユニット
102  ハードディスク・システム
103  DMAコントローラ
104  メモリ
202  ドライバ
203  スケジューラ
204  ファイルシステム
205  アプリケーション
206  ドライブ・システム
207  リアルタイム・ファイル・システム
350  第2のサイクル予定
360  第2のサイクル
601  第1のRT処理割り当て
602  第1のBE処理割り当て
603  第2のRT処理割り当て
604  第3のRT処理割り当て
605  第2のBE処理割り当て
【図１】
2005538441.tif 000009
【図２】
2005538441.tif 000010
【図３Ａ】
2005538441.tif 000011
【図３Ｂ】
2005538441.tif 000012
【図４】
2005538441.tif 000013
【図５】
2005538441.tif 000014
【図６Ａ】
2005538441.tif 000015
【図６Ｂ】
2005538441.tif 000016
【図６Ｃ】
2005538441.tif 000017
【図６Ｄ】
2005538441.tif 000018
【図６Ｅ】
2005538441.tif 000019
【図６Ｆ】
2005538441.tif 000020
【図６Ｇ】
2005538441.tif 000021
【国際調査報告】
2005538441.tif 000022
2005538441.tif 000023