(57)【要約】【課題】メディアの回転速度が高いほど、データの読み書きの時間が短縮され、単位時間あたりのデータ処理サイズが大きくなるが、その分、データの転送起動の周期が短くなり、バッファセクタ内に当該データが格納されてから、転送起動までの時間余裕が小さくなり、ひいてはシステムコントローラの負担が過大になってしまう。このような高速転送時のシステムコントローラの負担の過大を軽減することを目的とする。【解決手段】メディアの種別や、メディアからのデータ読み出し負荷、転送起動（キャッシュバッファ１０５からデータをフォーマットに合わせてホストに送るのに必要な処理）にかかる処理の時間等から、読み出し負荷を数値として算出し、この値に基づいて転送単位長最適化手段１０８が最適なデータ転送単位長を算出し、データ転送単位長を、その時の処理負荷（ＣＰＵ占有率）に応じて可変する。【選択図】　　　図１
2004127432.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置であるキャッシュバッファと、
ホストからのデータ読み出し要求に基づいて、メディアからデータを上記キャッシュバッファに読み出すデータ読出手段と、
上記キャッシュバッファに記憶されているデータを、管理するデータ管理手段と、
上記キャッシュバッファに記憶されているデータを、上記ホストに転送するデータ転送手段と、
上記データ読み出しに伴う中央演算装置（ＣＰＵ）の占有率を、読み出し負荷値として算出する読み出し負荷算出手段と、
上記ホストからのデータ要求長と、上記メディアの種別と、上記読み出し負荷値とを基に、上記データ転送手段による転送単位を最適化する転送単位長最適化手段と、を備えた、
ことを特徴とするドライブ装置。
【請求項２】
請求項１記載のドライブ装置において、
上記読み出し負荷算出手段は、上記メディアからの読み出し速度を基に、上記読み出し負荷値を算出する、
ことを特徴とするドライブ装置。
【請求項３】
請求項１記載のドライブ装置において、
上記転送単位長最適化手段は、上記ホストが連続したアドレスでデータ転送を要求してきた時、上記転送単位長を大きな値とする、
ことを特徴とするドライブ装置。
【請求項４】
請求項１記載のドライブ装置において、
上記転送単位長最適化手段は、
上記メディアが、上記ホストに転送すべきでない無効データを含むメディアであることを検出すると、上記無効データを含まないアドレスにてデータ転送が行われるように、上記転送単位長を補正する、
ことを特徴とするドライブ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ドライブ装置に関し、特にバッファメモリを備えたバッファ管理機能付きドライブ装置に関し、メディアの回転速度の高速化に伴うシステムコントローラの負担の軽減を図ったものに関するものである。
【０００２】
【従来の技術】
近年、ＣＤ−ＲＯＭに続き、ＤＶＤ−ＲＯＭやＤＶＤ−ＲＡＭ等のドライブ装置の開発が進められている。この種のドライブ装置の多くは、メディアから読み出された信号に対し、復調、エラー訂正、バッファリングを行うデータ読み出し手段と、バッファリングされたデータをホストに送るホスト転送手段といった一連のデータ処理手段をもったディスク制御装置と、ピックアップやサーボ等のドライブ装置の構成部品を制御するシステムコントローラと、の組合せによって実現される。また近年では、ディスク制御装置と、システムコントローラとを組み合わせた一つのシステムコントローラで行うものもある（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００１−１９５１９８号公報
【０００４】
図３に、従来のドライブ装置の構成を示す。図３に示すドライブ装置３０１は、パーソナルコンピュータ等に代表されるホスト３０２と、データの送受信が可能に接続されている。また、上記ホスト３０２は、必要に応じて、ドライブ装置３０１を構成するデータ転送手段３０３にデータ読出要求を転送する。データ転送手段３０３は、データ管理手段３０４を用いてキャッシュバッファ３０５内に要求されているデータの有無を調査し、必要であれば、データ読み出し手段３０６によりメディア３０８から目的とするデータを、キャッシュバッファ３０５に格納させる。
【０００５】
そしてキャッシュバッファ３０５に要求データが格納されると、データ管理手段３０４が、データ転送手段３０３に、ホストからの要求データが格納されたことを伝える。そして、所定の転送単位分のデータがキャッシュバッファ３０５に送られ、当該データが格納されると、データ転送手段３０３がホスト３０２に対し、当該データを転送する。
そしてこれらの動作は、システム全体の動作を制御するコントローラ３０７によって行われる。
【０００６】
上記ドライブ装置３０１は、例えばメディアとしてＣＤ（ＣｏｍｐａｃｔＤｉｓｃ：ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ）、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ：ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭ，ＤＶＤ−ＲＯＭ，ＤＶＤ＋ＲＷ）、その他、同様のセクタ構造を有するメディアを、読み出し可能なものであればよい。
以上のように、ドライブ装置３０１によって、ホストからの読み出し要求処理が正確に実現される。
【０００７】
以上のように構成されたドライブ装置においては、一般にドライブ性能を決める要因の一つとして、メディアの回転速度が挙げられる。すなわち、メディアの回転速度が高いほどデータの読み書きの時間が短縮され、単位時間あたりのデータ処理サイズが大きくなる。このため、最近のドライブ装置ではより高い回転速度での動作が求められている。
【０００８】
しかしながら、従来のデータ転送の方式では、メディアの回転速度が上がると、その分データの転送起動の周期が短くなる。このことは、バッファセクタ内に当該データが格納されてから転送起動されるまでの時間余裕が小さくなることを意味する。したがって、メディアの回転速度が上がることによって、システムコントローラの負担が過大になってしまうという問題が生じる。
【０００９】
【発明が解決しようとする課題】
従来のドライブ装置は以上のように構成されており、ドライブ性能向上のためにメディアの回転速度を上げると、システムコントローラの負担が過大になってしまい、場合によってはアドレス割り込みが正常に処理されず、アドレス情報が欠落して正常にデータピックアップができなくなるという問題点があった。
【００１０】
この発明は以上のような問題点に鑑みてなされたもので、メディアの回転数を上げてもシステムコントローラの負担を軽減し、メディアから高速かつ正常に、データの読み出しを行うことのできるドライブ装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の請求項１にかかるドライブ装置は、記憶装置であるキャッシュバッファと、ホストからのデータ読み出し要求に基づいて、メディアからデータを上記キャッシュバッファに読み出すデータ読出手段と、上記キャッシュバッファに記憶されているデータを、管理するデータ管理手段と、上記キャッシュバッファに記憶されているデータを、上記ホストに転送するデータ転送手段と、上記データ読み出しに伴う中央演算装置（ＣＰＵ）の占有率を、読み出し負荷値として算出する読み出し負荷算出手段と、上記ホストからのデータ要求長と、上記メディアの種別と、上記読み出し負荷値とを基に、上記データ転送手段による転送単位を最適化する転送単位長最適化手段と、を備えたものである。
【００１２】
また、本発明の請求項２にかかるドライブ装置は、請求項１記載のドライブ装置において、上記読み出し負荷算出手段は、上記メディアからの読み出し速度を基に、上記読み出し負荷値を算出するものである。
【００１３】
また、本発明の請求項３にかかるドライブ装置は、請求項１記載のドライブ装置において、上記転送単位長最適化手段は、上記ホストが連続したアドレスでデータ転送を要求してきた時、上記転送単位長を大きな値とするものである。
【００１４】
また、本発明の請求項４にかかるドライブ装置は、請求項１記載のドライブ装置において、上記転送単位長最適化手段は、上記メディアが、上記ホストに転送すべきでない無効データを含むメディアであることを検出すると、上記無効データを含まないアドレスにてデータ転送が行われるように、上記転送単位長を補正するものである。
【００１５】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１６】
（実施の形態１）
図１は、本発明の実施の形態１にかかるドライブ装置の概略図を示す。
図１に示すように、ドライブ装置１０１は、パーソナルコンピュータ等に代表されるホスト１０２と、データの送受信が可能に接続されている。１１１は読み出し負荷を算出する読み出し負荷算出手段であり、メディアの種類やデータフォーマット、および回転速度に基づいて変動するメディアからのデータ読み出し負荷、データ転送手段１０３によるキャッシュバッファ１０５からのデータ転送のための起動処理にかかる負荷と、に起因して、コントローラ１０７に内蔵されたＣＰＵ（中央演算装置）が占有される率に基づいて、読み出し負荷の程度を、値として算出する。
【００１７】
１０８はホスト１０２からのデータ要求長と、上記読み出し負荷値算出手段１１１の算出した負荷値とに基づいて、データ転送手段１０３によるデータ転送単位を変更して最適化する転送単位長最適化手段である。データ転送単位の変更方法としては、負荷値をグループ分けして段階的にデータ転送単位を変更する方法や、負荷値の変化に応じて、ダイナミックに転送単位を変更する方法が考えられる。
【００１８】
また、上記ホスト１０２は、必要に応じてドライブ装置１０１を構成するデータ転送手段１０３にデータ読出要求を転送する。データ転送手段１０３は、データ管理手段１０４を用いてキャッシュバッファ１０５内に、要求されているデータがあるか否かの調査を行い、必要であれば、データ読み出し手段１０６によりメディア１０９から目的とするデータをキャッシュバッファ１０５に格納させる。そしてキャッシュバッファ１０５に要求データが格納されると、データ管理手段１０４がデータ転送手段１０３にホストからの要求データが格納されたことを伝える。
【００１９】
そして、メディアの種類の情報と、読み出し負荷算出手段１１１によって得られた読み出し負荷値と、転送起動（キャッシュバッファ１０５からデータをフォーマットに合わせてホストに送るのに必要な処理）にかかる処理の時間、とを用いて、転送単位長最適化手段１０８により設定された転送単位分のデータがキャッシュバッファ１０５に格納されると、データ転送手段１０３がホスト１０２に対し当該データを転送する。
【００２０】
上記ドライブ装置１０１は、例えば、メディアとして、ＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｃ：　ＣＤ−ＲＯＭ　ＣＤ−Ｒ　ＣＤ−ＲＷ　）、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ：　ＤＶＤ−Ｒ　ＤＶＤ−ＲＷ　ＤＶＤ−ＲＡＭ　ＤＶＤ−ＲＯＭ　ＤＶＤ＋ＲＷ）、その他同様のセクタ構造を有するメディア、を読み出し可能なものであればよい。
【００２１】
このような本実施の形態１によるディスク装置においては、メディアの種別や、メディアからのデータ読み出し負荷、転送起動（キャッシュバッファ１０５からデータをフォーマットに合わせてホストに送るのに必要な処理）にかかる処理の時間等から、読み出し負荷（ＣＰＵ占有率）を数値として算出し、この値に基づいて転送単位長最適化手段１０８により最適なデータ転送単位長を算出し、データ転送長を、その時の処理負荷（ＣＰＵ占有率）に応じて可変するようにしたので、読み出し速度が上がった場合にはデータ転送単位長が大きくなり、その結果、データ転送手段１０３の転送のための起動回数が低減され、キャッシュバッファ１０５に蓄積されているデータの転送をスムーズに行うことができ、ドライブ装置のもつ能力を最大限に引き出すことが可能となる。
【００２２】
なお、これらの処理は、ドライブ装置の内部のＣＰＵの処理プログラムとして作成してもよいし、ハードウェア、即ちメディアから読みだしたデータをエラー訂正してバッファメモリに入れる処理を行うディスクコントローラと呼ばれるＬＳＩが行うようにしてもよい。
【００２３】
また、ホスト１０２からのデータ読み出し要求が連続したアドレスを読み続けており、なおかつメディア１０９からの読み出しが高速である場合は、転送単位長を大きくし、逆にメディア１０９からの読み出し速度が遅い場合は、転送単位長を短くして少しでもキャッシュバッファ１０５にあるデータはできるだけ早くホスト１０２に転送するようにすることにより、ドライブ自体の再生速度をも高めることができる。
【００２４】
（実施の形態２）
次に、図２を用いて、本発明のドライブ装置による処理の詳細を、実施の形態２として説明する。図２は、本実施の形態２におけるセクタ制御処理の処理フローを示した図である。例えば、ＤＶＤのような記録層が２層式のメディアの場合には、１層目の１６セクタ目が途中で終了していて、本来のデータとして扱えない無効データを含むセクタとなっているような場合もあり、このような場合、１層目から２層目の１セクタに移動するのにピックアップ動作が遅くなるという問題が生じる。本実施の形態２は、かかる場合においても、再生速度を高めることができるようにしたものである。
【００２５】
図２において、ステップ２０１は、ドライブ装置内にあるメディアが無効データを含んでいるメディアかどうかを判別するステップである。
ステップ２０１の判断において、ドライブ装置１０１内にあるメディア１００９が無効データを含んでいるメディアではないと判別された場合（Ｎｏ）、ステップ２０７に進んで、通常の転送長に設定が行われる。
【００２６】
一方、ステップ２０１の判断において、ドライブ装置１０１内にあるメディア１０９が無効データを含んでいるメディアと判別された場合（Ｙｅｓ）に、ステップ２０２に進んで、これから転送起動すべき該当データのアドレスと、無効データのアドレスとの差である境界リーチを求める。
【００２７】
ステップ２０３は、ステップ２０２で算出した境界リーチを用いて、転送開始アドレスよりも後ろに無効セクタがあるかどうかを判別するステップである。このステップ２０３で、転送開始アドレスよりも後ろに無効セクタがない、即ちＮｏと判断された場合、ステップ２０７に進んで通常の転送長に設定が行われる。
【００２８】
一方、ステップ２０３の判断において、転送開始アドレスよりも後ろに無効セクタがある、即ちＹｅｓと判断された場合に、ステップ２０４に進んで、ステップ２０２で得た境界リーチと、転送単位との大小関係で、今回の転送長で無効セクタをまたぐ可能性があるかどうかを判別する。このステップ２０３で、今回の転送長で無効セクタをまたぐ可能性がない、即ちＮｏと判断された場合、ステップ２０７に進んで、通常の転送長に設定が行われる。
【００２９】
一方、上記ステップ２０４の判断において、今回の転送長で無効セクタをまたぐ可能性がある、即ちＹｅｓと判断された場合、ステップ２０５に進んで、ホスト１０２から要求されたデータの残り転送長と、境界リーチとの大小の関係で、今回の転送で無効データをまたいで転送しようとしていたか否かを判別する。このステップ２０４で、今回の転送で無効データをまたいで転送しようとしていない、即ちＮｏと判断された場合には、ステップ２０７に進んで、通常の転送長に設定が行われる。
【００３０】
一方、ステップ２０５の判断において、無効セクタをまたいで転送しようとしていた、即ちＹｅｓと判断された場合、ステップ２０６に進んで、今回の転送長を境界リーチに補正する。
【００３１】
以上のような本実施の形態２によるドライブ装置の制御フローにおいては、データ転送手段１０３による転送単位長を最適化する際に、無効データが、現在の転送データの転送単位で転送した場合に含まれると判断された場合、当該データと無効データとの境界である境界リーチを、当該データの転送長とするようにしたので、無効データを含むメディアの再生において、別途キャッシュ管理を行ってキャッシュテーブルを参照して有効データの有無を調べる必要は無く、転送長が無効データをまたぐか否かの判定のみを行なうようにすればよい。また、データ転送単位長の補正が必要となった場合には、既に算出済みの境界リーチの値を用いて転送単位長の補正を直ちに行うことができ、処理の量を常に最小限に抑えながら、無効データを誤って転送することなく、データの再生を行なうことが可能となる。また、転送長を補正する必要のない場合には、直ちに各種の判断の処理を中止して通常の転送長にて転送が行われることとなるため、高速なキャッシュ管理を行うことができる。
【００３２】
【発明の効果】
以上のように、本発明の請求項１にかかるドライブ装置によれば、記憶装置であるキャッシュバッファと、ホストからのデータ読み出し要求に基づいて、メディアからデータを上記キャッシュバッファに読み出すデータ読出手段と、上記キャッシュバッファに記憶されているデータを、管理するデータ管理手段と、上記キャッシュバッファに記憶されているデータを、上記ホストに転送するデータ転送手段と、上記データ読み出しに伴う中央演算装置（ＣＰＵ）の占有率を読み出し負荷値として算出する読み出し負荷算出手段と、上記ホストからのデータ要求長と、上記メディアの種別と、上記読み出し負荷値とを基に、上記データ転送手段による転送単位を最適化する転送単位長最適化手段と、を備えたものとしたので、データ読み出し手段の処理等の読み出し負荷が高くなり、転送起動の負荷が大きくなったときには、転送単位長最適化手段により、転送単位を大きくすることにより、データ転送手段の転送起動の負荷を低減でき、一方、メディアからの読み出し速度が遅い場合には、転送単位長を短くすることにより、キャッシュバッファにデータが蓄えられているにもかかわらず、データの転送起動が遅れ、転送が遅れるという状況を減らすことができるという効果が得られる。
【００３３】
また、本発明の請求項２にかかるドライブ装置によれば、請求項１記載のドライブ装置において、上記読み出し負荷算出手段は、上記メディアからの読み出し速度を基に、上記読み出し負荷値を算出するものとしたので、読み出し速度が速くなったときには、転送単位長最適化手段が転送単位長を大きく設定することにより、処理負荷の高まる高速読み出し時におけるデータ転送手段の転送起動回数が減り、ＣＰＵの処理の負荷を低減することができるという効果が得られる。
【００３４】
また、本発明の請求項３にかかるドライブ装置によれば、請求項１記載のドライブ装置において、上記転送単位長最適化手段は、上記ホストが連続したアドレスでデータ転送を要求してきた時、上記転送単位長を大きな値とするものとしたので、ホストから連続したアドレスでデータの転送要求があったときは、このときのデータ転送単位長を大きく設定することにより、データ転送手段の転送起動回数が減り、ＣＰＵの処理の負荷を低減することができるという効果が得られる。
【００３５】
また、本発明の請求項４にかかるドライブ装置によれば、請求項１記載のドライブ装置において、上記転送単位長最適化手段は、上記メディアが、上記ホストに転送すべきでない無効データを含むメディアであることを検知すると、上記無効データを含まないアドレスにてデータ転送が行われるように、上記転送単位長を補正するものとしたので、キャッシュバッファに格納されているデータに無効データが含まれている場合に、転送長を補正する必要があるかどうかの判別にかかる処理と、その際算出するべき転送単位長の算出とが高速に行われ、また、転送単位長を補正する必要がない場合は処理が最短で打ち切られるため、高速なキャッシュ管理機能を実現することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るドライブ装置の構成を示すブロック図である。
【図２】上記実施の形態１によるドライブ装置の動作フローを説明するための図である。
【図３】従来のドライブ装置の構成の一例を示すブロック図である。
【符号の説明】
１０１　ドライブ装置
１０２　ホスト
１０３　データ転送手段
１０４　データ管理手段
１０５　キャッシュバッファ
１０６　データ読み出し手段
１０７　コントローラ
１０８　転送単位長最適化手段
１０９　メディア
１１０　モーター
１１１　読み出し負荷算出手段
３０１　ドライブ装置
３０２　ホスト
３０３　データ転送手段
３０４　データ管理手段
３０５　キャッシュバッファ
３０６　データ読み出し手段
３０７　コントローラ
３０８　メディア
３０９　モーター
【図１】
2004127432.tif 000003
【図２】
2004127432.tif 000004
【図３】
2004127432.tif 000005