(57)【特許請求の範囲】
【請求項１】
分割された各記憶領域を有する記憶媒体と、
データを前記記憶媒体に書き込み読み出す書込読出手段と、
前記データを前記各記憶領域に書き込みこれを読み出すことによって、連続して使用可能な前記各記憶領域を連続記憶領域として特定する特定手段と、
前記各連続記憶領域の書込時間を計測する時間計測手段と、
前記各連続記憶領域のデータ容量を算出する算出手段と、
前記書込時間および前記データ容量を前記各連続記憶領域と対応づけて格納する管理手段と、
前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべき前記連続記憶領域を決定するアクセス制御手段と
を備えたことを特徴とするデータ処理装置。
【請求項２】
複数のセクタから構成される複数のトラックを有する記憶媒体と、
データを前記記憶媒体に書き込み読み出す書込読出手段と、
前記データを前記セクタに書き込みこれを読み出すことによって、前記データを正常に再生することができない不良セクタを特定する特定手段と、
前記トラックにおける前記不良セクタを除いたデータ容量を算出する算出手段と、
前記トラックの書込時間を計測する時間計測手段と、
前記データ容量と前記書込時間に基づいて前記トラックに対する転送レートを算出する転送レート算出手段と、
前記転送レートおよび前記データ容量を前記トラックとを対応づけて格納する管理手段と、
前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべきトラックを決定するアクセス制御手段と
を備えたことを特徴とするデータ処理装置。
【請求項３】
複数のセクタから構成される複数のトラックを有する記憶媒体と、
前記記憶媒体にデータを書き込み読み出す書込読出手段と、
前記データを前記セクタに書き込みこれを読み出すことによって、連続して前記データを連続して記憶することができる連続セクタを特定する特定手段と、
前記連続セクタの書込時間を計測する時間計測手段と、
前記連続セクタのデータ容量を算出する算出手段と、
前記データ容量と前記書込時間に基づいて少なくとも前記連続セクタを含むトラック対する転送レートを算出する転送レート算出手段と、
前記転送レートおよび前記データ容量を前記連続セクタと対応づけて格納する管理手段と、
前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべき前記連続記憶領域を決定するアクセス制御手段と
を備えたことを特徴とするデータ処理装置。
【請求項４】
前記時間計測手段は、前記書込時間の他に一のトラックのあるセクタから他のトラックのあるセクタまでのアクセス時間を計測し、前記管理手段は、計測された前記アクセス時間も格納することを特徴とする請求項２または３に記載のデータ処理装置。
【請求項５】
前記時間計測手段は、前記書込時間の替わりに読出時間を計測し、前記管理手段には、前記書込時間の替わりに前記読出時間を格納することを特徴とする請求項１〜４のうちいずれか１項に記載したデータ処理装置。
【請求項６】
前記時間計測手段は、前記書込時間と読出時間を計測し、前記管理手段には、前記書込時間とともに前記読出時間を格納することを特徴とする請求項１〜４のうちいずれか１項に記載したデータ処理装置。
【請求項７】
前記データ処理装置は、記憶装置と制御装置からなり、
前記記憶装置は、前記記憶媒体、前記書込読出手段、前記特定手段、前記時間計測手段、前記管理手段を備え、
前記制御装置は、前記算出手段および前記アクセス制御手段を備え、
前記アクセス制御手段は、前記管理手段の内容を前記制御装置内のメモリに転送した後、処理を行うことを特徴とする請求項１〜６のうちいずれか１項に記載したデータ処理装置。
【請求項８】
分割された各記憶領域を有する記憶媒体にデータを書き込むデータ書込方法において、
前記記憶媒体の状態によって、連続して使用可能な前記各記憶領域を連続記憶領域として特定し、
前記各連続記憶領域の書込時間または読出時間のうち少なくとも一方を計測し、
前記各連続記憶領域のデータ容量を求め、
前記書込時間または前記読出時間のうち少なくとも一方および前記データ容量を前記各連続記憶領域と対応づけて管理手段に格納し、
前記データを書き込む際に、前記管理手段を参照して、当該データの条件を満たす前記連続記憶領域を決定する
ことを特徴とするデータ書込方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶媒体の性能を十分に発揮させてデータを高速転送するのに好適なデータ処理装置およびデータ書込方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の情報関連機器は急速に進歩しており、特に処理速度の向上が顕著である。これに伴い、データの高速伝送や蓄積データの即時利用といった要望がある。また、プリンタ等の出力機器には、カラー化、高品質化および高速出力という要望があり、今後、ますますその傾向は強まると考えられる。
【０００３】
ところで、画像データのような大容量のデータは、いわゆるハードディスクといったディスク型記憶装置に記憶されるのが通常であり、そこから必要に応じてデータが読み出される。ディスク型記憶装置には、円盤状の記憶媒体とヘッドが設けられている。そして、記憶媒体は、同心円状のトラックと呼ばれる複数の記憶領域に分割され、トラックはセクタと呼ばれる複数の記憶領域に分割されており、セクタ単位で記憶領域の管理が行われることが多い。
【０００４】
一般に、記憶媒体には、磁性材料の不良やキズ等によって記録再生が不能な領域が存在する。このような不良セクタにはデータの書き込みや読み出しができないので、不良セクタの替わりにスペア領域に割り当てられた代替セクタが用いられる。この場合、通常のセクタにデータを書き込んでいき、不良セクタに至ると、データの書き込みを一旦中断してヘッドを代替セクタに移動させ、再び書き込みを開始する。そして、代替セクタへのデータの書き込みが終了すると、データの書き込みを中断し、ヘッドを通常のセクタに移動させ、データの書き込みを再開する。このように代替セクタを使用する方法では、ヘッドの移動時間を要し、これによって、データ転送速度が制限されていた。
【０００５】
この点を改善すべく以下の技術が知られている。
まず、特開平５−１２８７３５号には、代替セクタの割り当て方法の変更に関する技術が記載されている。この技術を図１６を参照して説明する。同図（Ａ）は不良セクタを含む論理セクタであって、×印で示されるセクタ１１とセクタ３４が不良セクタである。これらの不良セクタは、ディスクのフォーマットを行う際に検出され、不良セクタを除いて論理セクタ番号を割り当てていく。この結果、規定領域に収まらないセクタについてはスペア領域に連続的に論理セクタを配置し、全体として同図（Ｂ）に示すような論理セクタの配置となる。この場合には、不良セクタに至った際にスペア領域にヘッドを移動させなくとも、当該不良セクタに隣接する論理セクタをアクセスすれば足りるので、データ転送速度の低下を軽減することができる。
【０００６】
次に、特開平６−２６７２４３号には、データの管理方法を改善する技術が記載されている。この技術においては、ディスク上に管理領域を設け、そこに記録したデータがディスク上のどの位置に記録されているかを特定するための記録位置情報を格納する。そして、所定のタイミングで記録位置情報をディスク上の管理領域からメモリに転送し、データを読み書きする際にはこのメモリをアクセスして記録位置情報を検知し、これを用いてディスクをアクセスする。これにより、ディスクへのアクセス回数を減らし、データ転送速度の低下を軽減している。
【０００７】
次に、特開平５−２７４０８８号には、  ディスクに入出力するデータをバッファを用いて一時的に保存し、ディスクへの入出力順序を変更することによって、高速アクセスを行う技術が開示されている。
このように従来の技術は、スペア領域の使用方法の変更、記録位置情報のメモリへの一時保管、バッファを用いたアクセス順序の変更等によって、データをアクセスしていない時間をなるべく短縮し、処理時間を全体として見た場合にデータの高速転送を実現しようとするものである。
【０００８】
【発明が解決しようとする課題】
ところで、アニメーションや動画等の画像処理においては、リアルタイム処理が求められることが多い。この場合には、平均的なデータ転送速度が高速であっても、転送途中に低速な期間があると、動作が不自然になったり、画面が全く出力されないといった弊害が生ずる。このため、所定の期間、あるデータ転送速度以上を保証する必要がある。
しかし、従来の技術では、転送途中に低速な期間が存在し、データ転送速度そのものを保証することができないので、リアルタイム処理には向かないといった問題があった。
また、大容量のデータを送受信する画像処理や高速プリンタ等では、データ転送が終了するまで待たなければならないといった問題があった。
【０００９】
本発明は、上述した事情に鑑みてなされたものであり、データ転送速度を保証するデータ処理装置およびデータ書込方法を提供することを目的とする。また、他の目的は、個々装置の状態に応じて性能を最大限に引き出すことができるデータ処理装置およびデータ書込方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するため請求項１に記載の発明にあっては、分割された各記憶領域を有する記憶媒体と、データを前記記憶媒体に書き込み読み出す書込読出手段と、前記データを前記各記憶領域に書き込みこれを読み出すことによって、連続して使用可能な前記各記憶領域を連続記憶領域として特定する特定手段と、前記各連続記憶領域の書込時間を計測する時間計測手段と、前記各連続記憶領域のデータ容量を算出する算出手段と、前記書込時間および前記データ容量を前記各連続記憶領域と対応づけて格納する管理手段と、前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべき前記連続記憶領域を決定するアクセス制御手段とを備えたことを特徴とする。
【００１１】
また、請求項２に記載の発明にあっては、複数のセクタから構成される複数のトラックを有する記憶媒体と、データを前記記憶媒体に書き込み読み出す書込読出手段と、前記データを前記セクタに書き込みこれを読み出すことによって、前記データを正常に再生することができない不良セクタを特定する特定手段と、前記トラックにおける前記不良セクタを除いたデータ容量を算出する算出手段と、前記トラックの書込時間を計測する時間計測手段と、前記データ容量と前記書込時間に基づいて前記トラックに対する転送レートを算出する転送レート算出手段と、前記転送レートおよび前記データ容量を前記トラックとを対応づけて格納する管理手段と、前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべきトラックを決定するアクセス制御手段とを備えたことを特徴とする。
【００１２】
また、請求項３に記載の発明にあっては、複数のセクタから構成される複数のトラックを有する記憶媒体と、前記記憶媒体にデータを書き込み読み出す書込読出手段と、前記データを前記セクタに書き込みこれを読み出すことによって、連続して前記データを連続して記憶することができる連続セクタを特定する特定手段と、前記連続セクタの書込時間を計測する時間計測手段と、前記連続セクタのデータ容量を算出する算出手段と、前記データ容量と前記書込時間に基づいて少なくとも前記連続セクタを含むトラック対する転送レートを算出する転送レート算出手段と、前記転送レートおよび前記データ容量を前記連続セクタと対応づけて格納する管理手段と、前記データを前記記憶媒体に書き込む際に、前記管理手段を参照して、前記データを書き込むべき前記連続記憶領域を決定するアクセス制御手段とを備えたことを特徴とする。
【００１３】
また、データ処理装置において、前記時間計測手段は、前記書込時間の他に一のトラックのあるセクタから他のトラックのあるセクタまでのアクセス時間を計測し、前記管理手段は、計測された前記アクセス時間も格納するものであってもよい。
また、データ処理装置において、前記書込時間の替わりに読出時間を用いてもよいし、前記書込時間と読出時間を組み合わせてもよい。
また、データ処理装置において、前記データ処理装置を記憶装置と制御装置から構成し、前記記憶装置に前記管理手段を、前記制御装置に前記アクセス制御手段を備え、前記アクセス制御手段は、前記管理手段の内容を前記制御装置内のメモリに転送した後、処理を行ってもよい。
【００１４】
また、請求項８に記載した発明にあっては、分割された各記憶領域を有する記憶媒体にデータを書き込むデータ書込方法において、前記記憶媒体の状態によって、連続して使用可能な前記各記憶領域を連続記憶領域として特定し、前記各連続記憶領域の書込時間または読出時間のうち少なくとも一方を計測し、前記各連続記憶領域のデータ容量を求め、前記書込時間または前記読出時間のうち少なくとも一方および前記データ容量を前記各連続記憶領域と対応づけて管理手段に格納し、前記データを書き込む際に、前記管理手段を参照して、当該データの条件を満たす前記連続記憶領域を決定することを特徴とする。
【００１５】
【発明の実施の形態】
Ａ．第１実施形態
１．第１実施形態の構成
１−１：システム構成
本発明の一実施形態に係わる記憶装置を用いたプリントシステムについて、図面を参照しつつ説明する。
図１は、プリントシステムのブロック図である。図において、１は端末であり、パーソナルコンピュータ、キーボードおよびディスプレイ等から構成され、パーソナルコンピュータはシステム全体を制御する。２は端末１によって制御される記憶装置であって、その内部には円盤状の記憶媒体が設けられている。この記憶媒体には、大容量の画像データ等が格納される。また、３はプリンタであって、ネットワーク４を介して端末１と接続される。
【００１６】
ここで、端末１から印刷のためのデータＤがプリンタ制御装置３０に供給されると、プリンタ制御装置３は、データＤを出力装置３１で処理できる形式に変換して、印刷データＤ’を生成する。印刷データＤ’は記憶部３２に記憶されるとともに出力装置４に供給される。これを受けた出力装置は、印刷データＤ’に基づいて用紙に画像を印刷して印刷物Ａを作成する。なお、印刷物Ａを複数部作成する場合にあっては、記憶部３２に記憶されている印刷データＤ’を出力装置３１に出力して、変換処理を省略している。
このようなプリントシステムにあっては、データＤの転送レートが低いと、印刷時間がその転送レートによって制限されるため、データＤを記憶装置２から高速に読み出してプリンタ３に供給することが要求される。このため、記憶装置２は、記憶媒体の性能を十分発揮できるように以下のように構成される。
【００１７】
１−２：記憶装置の構成
次に、上記した記憶装置の構成を図面を参照して説明する。図２は記憶装置２のブロック図である。図において、２０は端末１と接続される外部入出力手段であって、これにより、データＤの入出力が行われる。また、２１はアクセス制御手段であって、端末１から入力されるコマンドを識別して、データＤの書込や読出等、装置全体を制御する。また、２２は記憶手段であって、円盤状の記憶媒体、データを読み書きするヘッド、ヘッドを移動させるシーク部等から構成される。この記憶媒体の記憶領域は、トラックやセクタといったように所定単位に分割されており、そこにはデータＤが格納される。また、２３はアクセス制御手段２１と接続される時間計測手段であって、タイマー等によって構成される。これによりアクセス制御手段２１に入力されるデータＤの転送状況が監視しされ、転送時間が実際に計測される。また、２４はテーブル管理手段であって、管理テーブルＴＢとこれに管理データを読み書きする書込読出手段から構成される。管理テーブルＴＢは、ＲＡＭ等で構成され、そこには、時間計測手段２３で実測された転送時間とデータ転送量との関係がトラック番号と関連づけられて格納される。
【００１８】
２．第１実施形態の動作
次に、本実施形態の動作を図面を参照しつつ説明する。
２−１：データ転送レートの保証範囲の確定
記憶手段２２に設けられたディスクには不良セクタが存在することがあるため、トラック毎にデータ転送レートが異なる。このため、端末１が要求するデータ転送レートを保証できるトラックを確定する処理が最初に行われる。なお、この例にあっては、ディスクのフォーマット時に上記処理が実行される。
【００１９】
図３は、記憶装置がデータ転送レートの保証範囲を確定する動作を説明するためのフローチャートである。図３において、記憶装置２がディスク（記憶媒体）のフォーマットを終了すると（ステップＳ１）、端末１から期待データ転送レートが送信され、これを記憶装置２が受信する（ステップＳ２）。期待データ転送レートは、端末１が各種の処理を行うために必要とされる転送レートであり、この期待データ転送レートを下回る場合は、記憶装置２を使用できないことを意味する。したがって、記憶装置２は期待データ転送レートを保証できる記憶領域のみを用いてデータＤの入出力を行う。送信された期待データ転送レートは、入出力手段２０を介してアクセス制御手段２１に供給されると、アクセス制御手段２１はこれをテーブル管理手段２４に保存する（ステップＳ３）。
【００２０】
次に、データ転送時間をトラック毎に計測する（ステップＳ４）。この計測にあっては、まず、アクセス制御手段２１が計測準備が完了した旨を端末１に送信すると、端末１がこれを受信してテストデータを返信する。アクセス制御手段２１が受信したテストデータを記憶手段２２に転送すると、記憶手段２２は記憶媒体の最外縁に位置するトラックの最初のセクタからテストデータを順次書き込む（ステップＳ５）。この書き込み開始と同期して時間計測手段２３は、時間計測を開始する。また、書き込みヘッドと読み出しヘッドは、隣接して配置されており、書き込まれたテストデータは、読み出しヘッドによって即座に読み出される。そして、アクセス制御手段２１は、読み出されたテストデータが誤っているか否かを検知し、当該セクタが不良セクタであるか否かを判定する。不良セクタであると判定した場合には、アクセス制御手段２１は、不良セクタに係わる時間を計測時間から差し引くように時間計測手段２３に指令する。これにより、時間計測手段２３は、不良セクタを除いた書込時間を計測する。
【００２１】
次に、トラックが満杯になったか否かがアクセス制御手段２１によって判定され（ステップＳ６）、満杯でない場合には判定結果がＮＯとなり、ステップＳ５に戻りテストデータの書き込みが継続される。一方、満杯になると判定結果はＹＥＳとなり、ステップＳ７に進んで、データ転送速度の計測を終了し、時間計測手段２３はこの時点の計測時間をテーブル管理手段２４に転送する。テーブル管理手段２４は、計測時間とアクセス制御手段２１から供給されるトラック番号とを関連づけて格納する（ステップＳ８）。上述したように時間計測手段２３は、不良セクタを書き込んでいる時間は計測時間から除外するので、最終的な計測時間は、実際にデータを読み書きすることができる時間となる。
【００２２】
例えば、当該ディスクが、図４に示すように、Ａ〜Ｊのトラックで構成され、×印の部分が不良セクタであったとする。この場合には、トラックＢには２個の不良セクタがあり、また、トラックＦには３個の不良セクタがある。したがって、トラックＢ，Ｇでは、データ転送時間が短くなる。この結果、各トラックのデータ転送時間は、図５に示すものとなる。
【００２３】
この後、アクセス制御手段２１は、全てのトラックについて計測が完了したか否かを判定し（ステップＳ９）、完了していない場合にはステップＳ４〜ステップＳ９の処理を繰り返す。一方、全てのトラックについて計測が完了しているならば、判定結果はＹＥＳとなり、ステップＳ１０に進んで、アクセス制御手段２１が各トラックにおけるデータ転送レートを各々算出し、算出結果をトラック番号と関連づけてテーブル管理手段２４に一旦格納する。
【００２４】
次に、アクセス制御手段２１は、ステップＳ３で格納した期待データ転送レートをステップＳ１０で算出したデータ転送レートとトラック単位で比較し、後者が前者を上回るか否かを判定する（ステップＳ１１）。算出されたデータ転送レートが期待データ転送レートを下回る場合には、ＮＯと判定され、次のトラックについて比較を行う。一方、算出されたデータ転送レートが期待データ転送レートを上回る場合には、ＹＥＳと判定されステップＳ１２に進んで、当該トラックのトラック番号を期待データ転送レートを保証ことができる保証領域として管理テーブルＴＢに格納する（ステップＳ１２）。この後、ステップＳ１３に進んで、全てのトラックについて上述した処理が終了しているか確認し、終了していない場合にはステップＳ１１に戻り、全てのトラックについて処理が終了するまでステップＳ１１〜ステップＳ１３の処理を繰り返す。
【００２５】
これにより、管理テーブルＴＢには、期待データ転送レートを保証することができる各トラック番号が格納される。したがって、この管理テーブルＴＢを参照することによって、期待データ転送レートを保証するトラック番号を知ることができる。
【００２６】
２−２：データの書き込み動作
次に、端末１からのデータＤを書き込む動作を説明する。図６は、記憶装置２へデータＤを書き込む際の動作を説明するためのフローチャートである。まず、端末１は記憶装置２にこれから格納しようとするデータＤのサイズを指示するサイズデータＳＤと、このデータＤが期待データ転送レートの保証を要求するものであるか否かを識別するための保証要求データＨＤを転送する（ステップＳ２０）。
【００２７】
転送されたサイズデータＳＤと保証要求データＨＤが外部入出力手段２０を介してアクセス制御手段２１に送られると、アクセス制御手段２１は、テーブ管理手段２４中の管理テーブルＴＢにアクセスする。そして、そこに格納されている保証要求データＨＤに基づいて、データＤが期待データ転送レートの保証を要求するものであるか否かを判定する（ステップＳ２１）。保証要求データＨＤが保証を指示するならば、判定結果はＹＥＳとなり、ステップＳ２２に進んで、アクセス制御手段２１は、期待データ転送レートを保証できるトラックをデータＤに割り当てる（ステップＳ２２）。具体的には、まず、管理テーブルＴＢを参照して、保証領域として格納されているトラック番号を抽出する。次に、抽出された各トラック番号に対応するデータ転送量を管理テーブルＴＢから読み出し、これとサイズデータＳＤの示すデータ量とを比較し、データ量を上回るトラック番号を抽出し、当該トラックにデータＤを割り当てる。なお、最終的に抽出されたトラックが複数ある場合には、どのトラックに割り当てても問題はない。
【００２８】
一方、保証要求データＨＤが保証を指示しないならば、判定結果はＮＯとなり、ステップＳ２３に進んで、期待データ転送レートを保証しないトラックをデータＤに割り当てる（ステップＳ２３）。具体的には、管理テーブルＴＢを参照して、保証領域として格納されていないトラック番号を抽出し、そこにデータＤを割り当てる。このように保証要求データＨＤに基づいてデータＤを割り当てるから、端末の要求する転送レートに応じてトラックを使い分けることができ、記憶効率が向上する。
【００２９】
こうして、データＤの記憶領域が決定されると、データＤの受信準備が完了した旨が記憶装置２から端末１に送信され、これを端末１が検知すると、データＤが端末１から記憶装置２に転送される。この後、記憶装置２は転送されたデータＤを受け取り（ステップＳ２４）、ステップＳ２２，Ｓ２３で割り当てれたトラックにデータＤを書き込む。
【００３０】
このように本実施形態によれば、端末１からのデータＤを記憶装置２に格納する際には、管理テーブルＴＢを参照するので、必要とされるデータ転送レートが保証され、データＤの書き込みに長時間を要することがない。
【００３１】
また、データＤの書き込みと読み出しとは逆の経路で行われるので、必要とされるデータ転送レートでデータＤの読み出しを行うことができる。この結果、記憶装置２から読み出したデータＤを端末１を介してプリンタ３に転送し印刷する場合、プリンタ３においてデータＤの待ち時間が長時間になることもない。
【００３２】
また、読み出されたデータＤが圧縮された画像データである場合、端末１において読み出された画像データを伸長する際に、連続して伸長処理を施すことができるので、動きが不自然になったり、ディスプレイに画像が全く表示されないといったことがなくなる。
【００３３】
Ｂ．第２実施形態
第２実施形態に係わるプリントシステムとそこに用いられる記憶装置は、第１実施形態と同様の構成を有しており、その動作が第１実施形態と相違する。すなわち、第１実施形態では、トラック単位でデータ転送レートを算出して期待データ転送レートを満たすトラックを特定したのに対し、第２実施形態では、連続する有効なセクタ単位でデータ転送レートを算出し、期待データ転送レートを保証するものである。以下、図面を参照しつつ第２実施形態の動作を説明する。
【００３４】
１：セクタ単位での転送レートの算出
図７は、第２実施形態に係わる記憶装置の動作を説明するためのフローチャートである。まず、ディスクのフォーマット時等の適当なタイミングにおいて、不良セクタ（不良箇所）を各トラック毎に特定する（ステップＳ３０）。特定された不良セクタのセクタ番号は、特定される度に当該トラックのトラック番号と関連づけられて管理テーブルＴＢに記憶される（ステップＳ３１）。なお、不良セクタの検出は、第１実施形態と同様にテストデータの書き込みと読み出しによって行われる。
【００３５】
次に、当該トラックの終わりまで、不良セクタを調べたか否かを判定し（ステップＳ３０）、調べ終わってなければステップＳ３０に戻りステップＳ３０〜Ｓ３２の処理を繰り返し、トラックの終わりまで調べ終わった時点で、ステップＳ３３に進む。ステップＳ３３では、全てのトラックについて不良セクタを調べたか否かを判定し、調べ終わってなければステップＳ３０に戻りステップＳ３０〜Ｓ３３の処理を繰り返し、全てのトラックについて不良セクタを調べる。こうして、全てのトラックについて不良セクタの検出が完了すると、管理テーブルＴＢには、全てのトラックについて、不良セクタのセクタ番号が格納される。
【００３６】
例えば、図８に示すディスクにおいて、×印の箇所が不良セクタであったとすると、トラックＡにはセクタ番号Ａ３のセクタが、トラックＢにはセクタ番号Ｂ４，Ｂ７のセクタが、トラックＤにはセクタ番号Ｄ４のセクタが、各々不良セクタとなる。この場合、管理テーブルＴＢの不良セクタの欄には、図９に示す内容が各トラック毎に格納される。
【００３７】
次に、アクセス制御手段２１は、管理テーブルＴＢに格納されている不良セクタ番号とトラック毎に予め定められているセクタ数に基づいて、有効セクタが連続する領域を各々特定し（ステップＳ３５）、それらの記憶容量を算出する。算出された連続領域の容量は管理テーブルＴＢに格納される。また、この際に連続する有効セクタが開始するセクタと終了するセクタに対応するセクタ番号を管理テーブルＴＢに格納する。例えば、図８に示すディスクにあっては、図９に示す有効セクタの欄に開始セクタ番号と終了セクタ番号の組が格納され、また、容量の欄には、各連続領域に対応するデータ容量値が格納される。
【００３８】
これらの格納が終了すると、アクセス制御手段２１は、端末１からのテストデータを受け取る準備を行い、準備が整った時点で端末１に対してテストデータの送信要求を行う。これを端末１が検知すると、端末１はテストデータを記憶装置２に送信する。記憶装置２はテストデータを受信するとアクセス制御手段２１を介してテストデータを記憶手段２２に供給し、各連続領域の開始セクタからテストデータの書き込みを開始する。そして、テストデータの書き込み開始に同期して、時間計測手段２３によって、時間計測を開始する（ステップＳ３５）。こうしてテストデータが有効セクタが連続する領域に順次書き込まれ（ステップＳ３６）、当該連続領域が満杯になったか否かが判定される（ステップＳ３７）。満杯になっていない場合には、ステップＳ３５に戻ってテストデータの書き込みが継続され、一方、満杯になると、ステップＳ３８に進んで時間計測を終了する。こうして時間計測手段２３によって連続領域の書込時間が計測されると、この計測時間が当該連続領域と対応づけられて管理テーブルＴＢに格納される。そして、全てのトラックについて連続領域の時間計測が終了したか否かが判定され（ステップＳ３９）、計測が終了していない場合にはステップＳ３５に戻り、ステップＳ３５〜Ｓ３９の処理が繰り返される。
【００３９】
一方、全てのトラックについて連続領域の時間計測が終了しているならば、ステップＳ４０に進んで、テーブル管理手段２４は、管理テーブルＴＢの容量の欄と計測時間の欄を参照して、データ転送レートを各々算出し、算出結果を管理テーブルＴＢの転送レートの欄に格納する（ステップＳ４２）。
【００４０】
２：データの書き込み動作
次に、この管理テーブルＴＢを用いたデータＤの書き込み処理を説明する。図１０は、管理テーブルＴＢを用いたデータＤの書き込み処理を説明するためのフローチャートである。まず、端末１は記憶装置２に対してこれから格納しようとするデータＤのサイズを指示するサイズデータＳＤと、このデータＤを書き込む際の期待データ転送レートを転送し（ステップＳ５０）、これを記憶装置２が受け取る（ステップＳ５１）。
【００４１】
転送されたサイズデータＳＤと期待データ転送レートが外部入出力手段２０を介してアクセス制御手段２１に送られると、アクセス制御手段２１は、管理テーブルＴＢを参照して、条件を満たす連続領域を抽出する。具体的には、各連続領域のデータ容量値とサイズデータＳＤが指示する容量値とを比較し、前者が後者を上回る連続領域を抽出する。そして抽出された各連続領域の中から、その転送レートが期待データ転送レートを越える連続領域を抽出する。
【００４２】
例えば、管理テーブルＴＢが図９に示すものであって、サイズデータＳＤが４ＭByte、期待データ転送レートが１０ＭByte/Secである場合を考える。ここで、Ｂ５→Ｂ６の容量は２ＭByteであり、また、Ｄ５→Ｄ３の転送レートは８ＭByteであり、いずれの場合も条件を満たさないのでこれらの連続領域は除かれる。このため、抽出される連続領域（有効セクタ）は、同図に示すようにＡ４→Ａ２，Ｂ８→Ｂ３，Ｃ０→Ｃ９となる。また、サイズデータＳＤが３ＭByte、期待データ転送レートが１２ＭByte/Secである場合には、Ｃ０→Ｃ９は除かれる。この領域の転送レートは１０ＭByte/Secであって、条件を満たさないからである。このため、抽出される連続領域は、同図に示すようにＡ４→Ａ２，Ｂ８→Ｂ３となる。
【００４３】
次に、図１０に示すステップＳ５３に進んで、アクセス制御手段２１は、記憶領域の割り当てを行う。例えば、上述したサイズデータＳＤが４ＭByte、期待データ転送レートが１０ＭByte/Secである場合には、抽出されたＡ４→Ａ２，Ｂ８→Ｂ３，Ｃ０→Ｃ９といった各連続領域の中より、４ＭByteの連続した記憶領域を割り当てる。ここで、１セクタ当たりの容量を１ＭByteとすれば、Ａ４→Ａ２の連続領域に対応して、図９に示すように、例えば、Ａ４→Ａ７，Ａ８→Ａ１１，Ａ１２→Ａ１５といったように記憶領域を割り当てることができる。また、サイズデータＳＤが３ＭByte、期待データ転送レートが１２ＭByte/Secである場合には、Ａ４→Ａ２の連続領域に対応して、図９に示すように、例えば、Ａ４→Ａ６，Ａ７→Ａ９，Ａ１０→Ａ１２，Ａ１３→Ａ１５といったように記憶領域を割り当てることができる。なお、これらの例のように複数の記憶領域に記憶可能な場合には、いずれの領域に記憶してもよい。
【００４４】
こうして記憶領域の割り当てが終了すると、図１０に示すステップＳ５４に進んでデータＤの転送が行われる。この場合、アクセス制御手段２１は、データを記憶する準備が整った旨を端末１に送信する。端末１がこれを検知すると、端末１から記憶装置２にデータＤの転送を開始する。転送されたデータＤは、アクセス制御手段２１を介して、予め割り当てられた記憶領域に記憶される。
【００４５】
このように第２実施形態によれば、不良セセクタの検出結果に基づいて、セクタ単位で連続領域を特定し、各連続領域毎に容量と転送レートを算出し、これらを管理テーブルＴＢに格納した。そして、データＤを記憶装置２に書き込む際には、要求される転送レートとサイズデータＳＤに基づいて記憶領域を割り当てたので、要求される転送レートでデータＤを全て記憶することができる。また、セクタ単位で連続領域を特定したので、第１実施形態と比較して、記憶領域の無駄をなくし、ディスクの性能をより引き出すことができる。また、要求される転送レートが変更された場合であっても対応することができ、この点においても第１実施形態と比較して有利である。
【００４６】
Ｃ．第３実施形態
第３実施形態に係わるプリントシステムとそこに用いられる記憶装置は、第２実施形態と同様の構成を有しており、その動作が第２実施形態と相違する。すなわち、第２実施形態では、連続する有効なセクタ単位でデータ転送レートを算出し、期待データ転送レートを保証するものであったが、第３実施形態は、大容量のデータにも対処できるように、トラック間を跨るセクタからセクタへの移動時間も考慮して、記憶領域を決定するものである。
以下、図面を参照しつつ第３実施形態の動作を説明する。なお、第２実施形態で説明した「セクタ単位での転送レートの算出」については第３実施形態でも同様であるので、その説明を省略する。
【００４７】
１：トラック間のアクセス時間の計測動作
まず、任意のトラックから別のトラックにアクセスするまでの時間を決定する処理について説明する。図１１はこの処理を説明するためのフローチャートである。ディスクのフォーマット時等の適当なタイミングにおいて、アクセス制御手段２１は、任意のトラックのあるセクタにヘッドを移動させ（ステップＳ６０）、このセクタに対してデータの書き込みまたは読み出しを行う。そして、データの書き込みまたは読み出しが終了した時点から、時間計測手段２３が時間計測を開始するとともに（ステップＳ６１）、アクセス制御手段２１が他のトラックのあるセクタにアクセスする処理を開始する（ステップＳ６２）。この後、当該セクタへのヘッドの移動が終了した時点で、時間計測手段２３は時間の計測を終了する（ステップＳ６３）。これにより、一のトラックにあるセクタから他のトラックにあるセクタまでのアクセス時間が計測される。
【００４８】
次に、アクセス制御手段２３からテーブル管理手段２４へ計測されたアクセス時間を示すデータが移動パターンと関連づけられて供給されると、テーブル管理手段２４は管理テーブルＴＢを参照して、過去に同一の移動パターンでアクセス時間を計測したか否かを判定する（ステップＳ６４）。
【００４９】
ここで、ディスク上のセクタが図８に示すように割り当てられているならば、管理テーブルＴＢ中のアクセス時間に係わる記憶領域は、例えば、図１２に示すように構成される。図において、行は開始セクタを表しており、一方、列は終了セクタを表している。例えば、図中太枠で示した欄には、トラックＡのセクタＡ０からトラックＢのセクタＢ０までのアクセス時間が格納される。また、この記憶領域を生成する際には、初期値として「０」が格納されている。したがって、ステップＳ６４の判定では、計測された開始セクタ番号と終了セクタ番号をアドレスとして管理テーブルを検索し、そこに記憶されているデータを読み出し、その値が「０」であるか否かが判定される。「０」であれば、過去に同一パターンで計測したことは無く、一方、「０」以外であれば、過去に同一パターンで計測されたと判定される。
【００５０】
そして、同一の移動パターンがないならば、判定結果はＮＯとなり、図１１に示すステップＳ６５に進んで、管理テーブルＴＢにアクセス時間を保存する（ステップＳ６５）。一方、過去に同一の移動パターンでアクセス時間が計測されている場合には、テーブル管理手段２４は、今回計測されたアクセス時間が管理テーブルＴＢに保存されているアクセス時間と比較して大きいか否かを判定する（ステップＳ６６）。保存値が計測値よりも大きいならば、ＹＥＳと判定され、ステップＳ６７に進んで、管理テーブルＴＢに今回計測されたアクセス時間を格納する。一方、計測値が保存値よりも小さいかまたは等しい場合には、ＮＯと判定され、管理テーブルＴＢの更新は行われない。これにより、管理テーブルＴＢには、最も長いアクセス時間が登録されることとなる。
【００５１】
この後、全ての規定パターンの計測が終了したか否かが判定される（ステップＳ６８）。計測していない規定パターンがある場合には、ＮＯと判定され、上述したステップＳ６０に戻り、ステップＳ６０〜ステップＳ６８が繰り返される。そして、全ての規定パターンの計測が終了すると、ＹＥＳと判定され、アクセス時間の計測処理を終了する。
【００５２】
ここで、規定パターンとは、セクタの分割に基づいて予め定められたヘッドの移動パターンであり、例えば、最大アクセス時間を要するセクタ間に対応するパターンが該当する。この場合にデイスクが図８に示すように構成されているとすれば、セクタＡ０とセクタＢ０の間、セクタＡ０とセクタＣ０の間、セクタＡ０とセクタＤ０の間、セクタＢ０とセクタＣ０の間およびセクタＣ０とセクタＤ０の間が規定パターンに該当する。この例において、規定パターンに対応する管理テーブルＴＢの内容は、例えば、図１３に示すものとなる。この場合には、トラック間の最大アクセス時間が管理テーブルＴＢに格納されるので、これを参照することによって、トラック間を跨るデータの転送レートを保証することが可能となる。
【００５３】
また、規定パターンを連続領域の終了セクタから開始セクタで構成してもよい。例えば、ディスクが図８に示すものである場合には、終了セクタはＡ２，Ｂ６，Ｂ３，Ｃ９，Ｄ３で構成され、開始セクタはＡ４，Ｂ５，Ｂ８，Ｃ０，Ｄ５である。このため、規定パターンは、Ａ２→Ｂ５，Ｂ５，Ｂ８，Ｃ０，Ｄ５、Ｂ６→Ａ４，Ｃ０，Ｄ５、Ｂ３→Ａ４，Ｃ０，Ｄ５、Ｃ９→Ａ４，Ｂ５，Ｂ８，Ｄ５、Ｄ３→Ａ４，Ｂ５，Ｂ８，Ｃ０といった１９通りとなる。このように、終了セクタから開始セクタまでを規定パターンとしたのは、これらの間でヘッド」の移動が行われるのが通常だからである。
【００５４】
２：データの書き込み動作
次に、この管理テーブルＴＢを用いたデータＤの書き込み処理を説明する。
図１３は、管理テーブルＴＢを用いたデータＤの書き込み処理を説明するためのフローチャートである。まず、端末１は記憶装置２に対してこれから格納しようとするデータＤのサイズを指示するサイズデータＳＤと、このデータＤを書き込む際の期待データ転送レートを転送し（ステップＳ７０）、これを記憶装置２が受け取る（ステップＳ７１）。
【００５５】
転送されたサイズデータＳＤと期待データ転送レートが外部入出力手段２０を介してテーブル管理手段２４に送られると、アクセス制御手段２１は、管理テーブルを参照して、期待データ転送レートを満たす連続領域を抽出する。具体的には、各連続領域の転送レートが期待データ転送レートを越える連続領域を抽出する。例えば、管理テーブルＴＢが図９に示すものであって、期待データ転送レートが１１ＭByte/Secであるならば、抽出される連続領域は、Ａ４→Ａ２，Ｂ５→Ｂ６，Ｂ８→Ｂ３となる。
【００５６】
次に、サイズデータＳＤと抽出された各連続領域のデータ容量とを比較し、サイズデータＳＤを越える連続領域があるか否かを判定する（ステップＳ７２）。このような連続領域が存在する場合には、ＹＥＳと判定され、当該連続領域にデータＤが割り当てられる（ステップＳ７４）。上記した例において、サイズデータＤの指示するデータ容量が１２ＭByteであれば、連続領域Ａ４→Ａ２中のＡ４→Ａ１５が割り当てられる。
【００５７】
一方、サイズデータＳＤを越える連続領域がない場合には、ＮＯと判定され、ステップＳ７５に進んでアクセス時間を考慮して複数のトラックにデータＤを割り当てる。この処理は、次のようにして行われる。
▲１▼まず、各連続領域を組み合わせて、サイズデータＳＤを越える連続領域の組を特定する。この際、各組毎にデータ容量の総合計を算出する。この場合、管理テーブルＴＢを参照する。
▲２▼管理テーブルＴＢを参照して計測時間の総合計を各組毎に算出する。
▲３▼各組毎にアクセス時間の総合計を算出する。この際、アクセス時間が最小となるようにアクセス経路を特定する。例えば、外縁から順にＡ〜Ｆのトラックがあり、この内、Ａ〜Ｄのトラックで組が構成されるのであれば、Ａ→Ｂ→Ｃ→Ｄ、あるいはＤ→Ｃ→Ｂ→Ａといったようにアクセス経路を特定する。
▲４▼データ転送レートを各組毎に算出する。この場合、データ転送レートは以下の式で求める。
データ転送レート
＝データ容量の総合計／（計測時間の総合計＋アクセス時間の総合計）
▲５▼算出されたデータ転送レートが期待データ転送レートを上回る組を特定する。複数の組がある場合には、いずれか１つの組を特定する。そして、上記▲３▼のアクセス経路に従ってデータＤを割り当てる。
【００５８】
このようにしてデータＤの割当が終了すると、ステップＳ７６に進んで、データＤの転送が行われる。この場合、アクセス制御手段２１は、データを記憶する準備が整った旨を端末１に送信する。端末１がこれを検知すると、端末１から記憶装置２にデータＤの転送を開始する。転送されたデータＤは、アクセス制御手段２１を介して、予め割り当てられた記憶領域に記憶される。
【００５９】
このように第３実施形態によれば、トラック間のアクセス時間を考慮して転送を特定することができるので、トラック間を跨るような大容量のデータであっても転送レートを保証してディスクに書き込むことができる。したがって、アニメーションや動画に係わる画像データをリアルタイムで格納することができ、また、バッファメモリを不要にすることができる。
【００６０】
また、アクセス時間は、シーク部の応答等によって機器毎のバラツキを有するが、本実施形態によれば、アクセス時間を実測するので、データ転送レートを確実に保証するとともに記憶装置の性能を最大限に引き出すことができる。
【００６１】
Ｄ．変形例
本発明は上述した実施形態に限定されるものではなく、例えば、以下に述べる各種の変形が可能である。
▲１▼上述した各実施形態において、記憶媒体は、ハードディスクを一例として説明したが、本発明はこれに限定されるものでなく、例えば、フロッピーディスク、光磁気ディスクまたはＭＯといったものに適用してもよい。要は、トラックやセクタといった論理構成を有する記憶媒体であれば、どのようなものにも適用できる。したがって、記憶媒体の一種である半導体メモリであっても上記論理構成をとるのであれば、本発明を適用できる。
【００６２】
▲２▼上述した各実施形態においては、データの書き込みについて説明したが、読み出しの場合についても同様に管理テーブルＴＢを作成することができる。この場合には、上述したデータの書込時間を読出時間に置き換えればよい。具体的には、時間計測手段２３は、連続領域の読出期間を計測する。これにより、アクセス制御手段２１は、連続領域毎あるいはトラック毎の読出転送レートを算出し、これに基づいてデータの記憶領域を割り当てればよい。
例えば、ディスクが図８に示すものであり、管理テーブルＴＢの内容が図１５（Ａ）に示すものであるとする。ここで、同図（Ｂ）に示すようにデータＤ１〜Ｄ８を３秒以内に読み出せるように、ディスクに書き込む場合には、管理テーブルＴＢを参照して、同図（Ｃ）に示すようにデータＤ１〜Ｄ８をディスクに書き込めばよい。
さらに、書込時間と読出時間の両方を考慮してデータの記憶領域を割り当ててもよい。この場合、時間計測手段２３は、書込時間と読出時間を計測し、管理テーブルＴＢには、書込時間とともに読出時間を格納する。そして、アクセス制御手段２１は、端末１からの書込と読出の条件をみたすようにデータを記憶領域に割り当てる。
【００６３】
▲３▼上述した各実施形態にあっては、記憶装置２にアクセス制御手段２１、時間計測手段２３、記憶手段２２、管理テーブルＴＢを備えることとしたが、アクセス制御手段２１、時間計測手段２３、管理テーブルＴＢは、端末１（制御装置）かあるいは記憶装置２のいずれに備えてもよい。例えば、管理テーブルＴＢを記憶装置２に設けるとともに、アクセス制御手段２１を端末１側に設け、処理を開始する際に、管理テーブルＴＢに格納されている管理データを端末１側のメモリに転送する。そして、このメモリの内容を参照してアクセス制御手段２１はデータの記憶領域の割当を行うようにしてもよい。例えば、管理テーブルＴＢをファイルシステムのデータ管理機構に組み込んでデータの入出力を制御するようにしてもよい。
【００６４】
▲４▼上述した各実施形態において、アクセス時間等の実測を必要とする計測値が予め仕様として分かっている場合には、実測を省略することもできる。但し、この場合には、機器毎にバラツキが存在するので、適正なマージンを見込む必要がある。また、記憶装置２の出荷時に実測した管理テーブルを作成してもよい。この場合、ユーザーは、記憶装置２を端末１と接続すれば、直ちに利用することができる。
【００６５】
▲５▼上述した各実施形態において、記憶媒体の空き領域を判別できるように、データの書き込みがなされたセクタについては書込フラッグを立てるようにして、これを管理テーブルＴＢに格納するようにしてもよい。そして、新たなデータを書き込む際には、管理テーブルＴＢの書込フラッグを参照し、空き領域に対して、上述した各実施形態の処理を行うようにすればよい。
【００６６】
▲６▼上述した各実施形態において、管理テーブルＴＢは、ＲＡＭ等で構成することとしたが、これを記憶手段２２を構成する記憶媒体の一部に管理領域を設け、これを管理テーブルＴＢとして利用してもよい。また、テストデータは記憶装置２で発生させてもよい。また、データ転送において、データ転送レートが保証される領域はスプール、高速転送領域として確保し、一方、無保証領域はブートシステムやその他のデータ保存場所とし、別パーテーションとして分割してもよい。
【００６７】
▲７▼上述した各実施形態においては、容量と計測時間から転送レートを算出し、転送レートと容量に基づいて記憶領域を割り当てたが、転送レートは容量に関する値であるため、容量と書込時間または読出時間に基づいて記憶領域を割り当てるようにしてもよい。
▲８▼以上説明した点は、データ書込方法として捉えることも可能であり、このような方法を実現するためのプログラムが記録媒体に記録されていてもよい。記録媒体としては、例えば、フロッピーディスク、磁気テープ等の磁気記録媒体、ＣＤ−ＲＯＭ等の光記録媒体、半導体メモリ等を用いることができる。
【００６８】
【発明の効果】
以上説明したように本発明によれば、必要な時間を計測し、これに基づいて記憶領域を割り当てるようにしたので、要求されるデータ転送レートを確実に保証することができ、しかも、個々装置の状態に応じて性能を最大限に引き出すことができる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態に係わるプリントシステムのブロック図である。
【図２】  同実施形態に係わる記憶装置のブロック図である。
【図３】  同実施形態に係わる記憶装置がデータ転送レートの保証範囲を確定する動作を説明するためのフローチャートである。
【図４】  同実施形態に係わるディスクの不良セクタを説明するための概念図である。
【図５】  同実施形態に係わる各トラックのデータ転送時間の一例を示す図である。は
【図６】  同実施形態に係わる記憶装置へデータを書き込む際の動作を説明するためのフローチャートである。
【図７】  第２実施形態に係わる記憶装置の動作を説明するためのフローチャートである。
【図８】  同実施形態に係わるディスクの不良セクタを説明するための概念図である。
【図９】  同実施形態に係わる管理テーブルの内容の一例を示す説明図である。
【図１０】  同実施形態に係わる管理テーブルを用いたデータの書き込み処理を説明するためのフローチャートである。
【図１１】  第３実施形態において、任意のトラックから別のトラックにアクセスするまでの時間を決定する処理を説明するためのフローチャートである。
【図１２】  同実施形態に係わる管理テーブル中のアクセス時間に係わる記憶領域を説明するための概念図である。
【図１３】  同実施形態に係わる規定パターンに対応したアクセス時間に係わる記憶領域を説明するための概念図である。
【図１４】  同実施形態に係わる管理テーブルを用いたデータの書き込み処理を説明するためのフローチャートである。
【図１５】  読出時間に基づく記憶領域の割当を読出時間に基づいて決定する変形例を説明するための説明図である。
【図１６】  代替セクタの割り当て方法の変更に関する従来の技術を説明するための説明図である。
【符号の説明】
１  端末（制御装置）
２  記憶装置
２１  アクセス制御手段（特定手段、算出手段、転送レート算出手段）
２２  記憶手段（記憶媒体、書込読出手段）
２３  時間計測手段
ＴＢ  管理テーブル
【図１】
0003735980.tif 000002
【図２】
0003735980.tif 000003
【図３】
0003735980.tif 000004
【図４】
0003735980.tif 000005
【図５】
0003735980.tif 000006
【図６】
0003735980.tif 000007
【図７】
0003735980.tif 000008
【図８】
0003735980.tif 000009
【図９】
0003735980.tif 000010
【図１０】
0003735980.tif 000011
【図１１】
0003735980.tif 000012
【図１２】
0003735980.tif 000013
【図１３】
0003735980.tif 000014
【図１４】
0003735980.tif 000015
【図１５】
0003735980.tif 000016
【図１６】
0003735980.tif 000017