(57)【特許請求の範囲】
【請求項１】
半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体の回転を制御する回転制御方法であって、
該記録媒体にライトするライトデータを一時的に格納すると共に該記録媒体からリードされたリードデータを一時的に格納するバッファメモリ内の使用状況を検出する検出ステップと、
アクセス要求がシーケンシャルアクセス要求であるか或いはランダムアクセス要求であるかと、半径方向にゾーン数以下に分割された複数のエリアのうち、アクセスされたエリアとに応じて、前記検出ステップで検出された前記バッファメモリ内の使用状況に基づいて該記録媒体の回転数を制御する制御ステップとを含み、
該制御ステップは、所定のエリアに対するシーケンシャルアクセス要求の場合であって、リード時には該検出ステップにおいて前記バッファメモリ内のリードヒット対象データが占有する容量が第１の容量より大きい場合は回転数を上げる制御と、ライト時には前記バッファメモリ内の空き容量が第２の容量より大きくなると回転数を上げる制御のうち少なくとも一方の制御を行うことを特徴とする、回転制御方法。
【請求項２】
半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体に対して情報の記録及び再生を行う記憶装置であって、
該記録媒体にライトするライトデータを一時的に格納すると共に該記録媒体からリードされたリードデータを一時的に格納するバッファメモリと、
該バッファメモリ内の使用状況を検出する検出手段と、
アクセス要求がシーケンシャルアクセス要求であるか或いはランダムアクセス要求であるかと、半径方向にゾーン数以下に分割された複数のエリアのうち、アクセスされたエリアとに応じて、前記検出手段で検出された該バッファメモリ内の使用状況に基づいて該記録媒体の回転数を制御する制御手段とを備え、
該制御手段は、所定のエリアに対するシーケンシャルアクセス要求の場合であって、リード時には該検出手段において該バッファメモリ内のリードヒット対象データが占有する容量が第１の容量より大きい場合は回転数を上げる制御と、ライト時には該バッファメモリ内の空き容量が第２の容量より大きくなると回転数を上げる制御のうち少なくとも一方の制御を行うことを特徴とする、記憶装置。
【請求項３】
前記複数のエリアは、該記録媒体の回転速度が第１の速度に設定可能なエリアと、該記録媒体の回転速度が第１又は第２の速度に設定可能なエリアと、該記録媒体の回転速度が該第１又は該第２又は第３の速度に設定可能なエリアを少なくとも含み、（第１の速度）＜（第２の速度）＜（第３の速度）であることを特徴とする、請求項１記載の回転制御方法。
【請求項４】
前記複数のエリアは、該記録媒体の回転速度が第１の速度に設定可能なエリアと、該記録媒体の回転速度が第１又は第２の速度に設定可能なエリアと、該記録媒体の回転速度が該第１又は該第２又は第３の速度に設定可能なエリアを少なくとも含み、（第１の速度）＜（第２の速度）＜（第３の速度）であることを特徴とする、請求項２記載の記憶装置。
【請求項５】
前記制御手段は、同じ回転数を用いるアクセスを優先してから回転数を切り替えることを特徴とする、請求項２又は４記載の記憶装置。
【請求項６】
前記制御手段は、回転数を切り替える条件が満足された一定遅延時間後に初めて回転数の切り替えを行うことを特徴とする、請求項２又は４項記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回転制御方法及び記憶装置に関し、特に光ディスク等の記録媒体に信号を記録し、及び／又は、記録媒体から信号を再生する際の回転数を制御する回転制御方法及びこのような回転制御方法を採用する記憶装置に関する。
【０００２】
光ディスク等の記録媒体には、ＺＣＡＶ（Ｚｏｎｅ  Ｃｏｎｓｔａｎｔ  Ａｎｇｕｌａｒ  Ｖｅｌｏｃｉｔｙ）方式を採用するものと、ＺＣＬＶ（Ｚｏｎｅ  Ｃｏｎｓｔａｎｔ  Ｌｉｎｅａｒ  Ｖｅｌｏｃｉｔｙ）方式を採用するものとがある。ＺＣＡＶ方式を採用した場合、記録媒体へのランダムアクセス性能が高くなるが、記録／再生クロック周波数が低くなる、例えば光ディスクのインナ側では、データ転送速度が遅くなる。他方、ＺＣＬＶ方式を採用した場合、データ転送速度は高くなるが、例えば光ディスク等の記録媒体へのアクセス時には光ディスクの回転数変化を伴うため、記録媒体へのランダムアクセス性能が低くなる。
【０００３】
【従来の技術】
近年、インターネットの普及に伴い、ユーザは通信回線等を介して音楽や映像等のデータをダウンロードして記録媒体に記録する機会が増加してきた。この場合、記録媒体としては、ハードディスクドライブ（ＨＤＤ）の磁気ディスクや、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＡＭ及び光磁気（ＭＯ）ディスク等のリムーバブルな光ディスク等が使用される。
【０００４】
映像データの場合、１つのファイルサイズが比較的大きい。このため、映像データは、必然的に連続データであり、コマ落ち等の画像乱れを発生させないためには、光ディスクへの記録／再生時には連続的に安定した所定以上のデータ転送速度を保つ必要がある。
【０００５】
他方、パーソナルコンピュータ等は、通常は光ディスクの一部にディスク管理エリアを設け、各々のプログラムやファイルを管理している。従って、これらのプログラムやファイルにアクセスする度に、ディスク管理エリアをアクセスする必要が生じる。このため、各ファイルサイズが比較的小さい場合、ファイルへのアクセスとディスク管理エリアへのアクセスとが繰り返され、光ディスクへのランダムアクセスが発生する。
【０００６】
このように、扱うデータの種類、ファイルサイズ、記録媒体の用途等の記録媒体の使用状況に応じて、要求されるデータ転送速度及びランダムアクセス性能が異なる。
【０００７】
【発明が解決しようとする課題】
上記の如く、従来技術では、扱うデータの種類、ファイルサイズ、記録媒体の要と等の記録媒体の使用状況に応じて、データ転送速度及びランダムアクセス性能を適切に設定することはできないという問題があった。
【０００８】
そこで、本発明は、記録媒体の使用状況に応じて、データ転送速度及びランダムアクセス性能を最適に設定可能とすることのできる回転制御方法及び記憶装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題は、半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体の回転を制御する回転制御方法であって、該記録媒体にライトするライトデータを一時的に格納すると共に該記録媒体からリードされたリードデータを一時的に格納するバッファメモリ内の使用状況を検出する検出ステップと、アクセス要求がシーケンシャルアクセス要求であるか或いはランダムアクセス要求であるかと、半径方向にゾーン数以下に分割された複数のエリアのうち、アクセスされたエリアとに応じて、前記検出ステップで検出された前記バッファメモリ内の使用状況に基づいて該記録媒体の回転数を制御する制御ステップとを含み、該制御ステップは、所定のエリアに対するシーケンシャルアクセス要求の場合であって、リード時には該検出ステップにおいて前記バッファメモリ内のリードヒット対象データが占有する容量が第１の容量より大きい場合は回転数を上げる制御と、ライト時には前記バッファメモリ内の空き容量が第２の容量より大きくなると回転数を上げる制御のうち少なくとも一方の制御を行うことを特徴とする回転制御方法によって達成できる。
【００１０】
上記の課題は、半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体に対して情報の記録及び再生を行う記憶装置であって、該記録媒体にライトするライトデータを一時的に格納すると共に該記録媒体からリードされたリードデータを一時的に格納するバッファメモリと、該バッファメモリ内の使用状況を検出する検出手段と、アクセス要求がシーケンシャルアクセス要求であるか或いはランダムアクセス要求であるかと、半径方向にゾーン数以下に分割された複数のエリアのうち、アクセスされたエリアとに応じて、前記検出手段で検出された該バッファメモリ内の使用状況に基づいて該記録媒体の回転数を制御する制御手段とを備え、該制御手段は、所定のエリアに対するシーケンシャルアクセス要求の場合であって、リード時には該検出手段において該バッファメモリ内のリードヒット対象データが占有する容量が第１の容量より大きい場合は回転数を上げる制御と、ライト時には該バッファメモリ内の空き容量が第２の容量より大きくなると回転数を上げる制御のうち少なくとも一方の制御を行うことを特徴とする記憶装置によっても達成できる。
上記の回転制御方法において、前記複数のエリアは、該記録媒体の回転速度が第１の速度に設定可能なエリアと、該記録媒体の回転速度が第１又は第２の速度に設定可能なエリアと、該記録媒体の回転速度が該第１の速度又は該第２又は第３の速度に設定可能なエリアを少なくとも含み、（第１の速度）＜（第２の速度）＜（第３の速度）であっても良い。
上記の記憶装置において、前記複数のエリアは、該記録媒体の回転速度が第１の速度に設定可能なエリアと、該記録媒体の回転速度が第１又は第２の速度に設定可能なエリアと、該記録媒体の回転速度が該第１の速度又は該第２又は第３の速度に設定可能なエリアを少なくとも含み、（第１の速度）＜（第２の速度）＜（第３の速度）であっても良い。
【００１１】
従って、本発明によれば、記録媒体の高速回転化に伴うリード／ライトマージンの不足を回避すると共に、フォーカスサーボ及びトラッキングサーボ状態を安定に維持することのできる回転制御方法及び記憶装置を実現できる。
【００１２】
【発明の実施の形態】
本発明になる回転制御方法及び記憶装置の各実施例を、以下に図面と共に説明する。
【００１３】
【実施例】
先ず、本発明になる記憶装置の第１実施例を図１及び図２と共に説明する。図１は、記録装置の第１実施例の構成を示すブロック図である。記憶装置の第１実施例では、本発明が光ディスク装置に適用されている。又、記憶装置の第１実施例は、本発明になる回転制御方法の第１実施例を採用する。
【００１４】
図１に示すように、光ディスク装置は、大略コントロールユニット１０とエンクロージャ１１とからなる。コントロールユニット１０は、光ディスク装置の全体的な制御を行うＭＰＵ１２、ホスト装置（図示せず）との間でコマンド及びデータのやり取りを行うインタフェース１７、光ディスク（図示せず）に対するデータのリード／ライトに必要な処理を行う光ディスクコントローラ（ＯＤＣ）１４、デジタルシグナルプロセッサ（ＤＳＰ）１６及びメモリ１８を有する。メモリ１８は、ＭＰＵ１２、ＯＤＣ１４及びインタフェース１７で共用され、例えばダイナミックランダムアクセスメモリ（ＤＲＡＭ）や、制御プログラムやフラグ情報等を格納する不揮発性メモリ等を含む。水晶振動子１０１は、ＭＰＵ１２と接続されている。
【００１５】
ＯＤＣ１４には、フォーマッタ１４−１と、誤り訂正符号（ＥＣＣ）処理部１４−２とが設けられている。ライトアクセス時には、フォーマッタ１４−１がＮＲＺライトデータを光ディスクのセクタ単位に分割して記録フォーマットを生成し、ＥＣＣ処理部１４−２がセクタライトデータ単位にＥＣＣを生成して付加すると共に、必要に応じて巡回冗長検査（ＣＲＣ）符号を生成して付加する。更に、ＥＣＣ処理部１４−２はＥＣＣの符号化が済んだセクタデータを例えば１−７ランレングスリミテッド（ＲＬＬ）符号に変換する。
【００１６】
リードアクセス時には、セクタデータに対して１−７ＲＬＬの逆変換を行い、次にＥＣＣ処理部１４−２でＣＲＣを行った後にＥＣＣによる誤り検出及び誤り訂正を行う。更に、フォーマッタ１４−１でセクタ単位のＮＲＺデータを連結してＮＲＺリードデータのストリームとしてホスト装置に転送させる。
【００１７】
ＯＤＣ１４に対しては、ライト大規模集積回路（ＬＳＩ）２０が設けられ、ライトＬＳＩ２０は、ライト変調部２１とレーザダイオード制御回路２２とを有する。レーザダイオード制御回路２２の制御出力は、エンクロージャ１１側の光学ユニットに設けられたレーザダイオードユニット３０に供給される。レーザダイオードユニット３０は、レーザダイオード３０−１とモニタ用ディテクタ３０−２とを一体的に有する。ライト変調部２１は、ライトデータをピットポジションモジュレーション（ＰＰＭ）記録（マーク記録とも言う）又はパルスウィドスモジュレーション（ＰＷＭ）記録（エッジ記録とも言う）でのデータ形式に変換する。
【００１８】
レーザダイオードユニット３０を使用してデータの記録再生を行う光ディスク、即ち、書き換え可能な光磁気（ＭＯ）カートリッジ媒体として、本実施例では、光ディスク上のマークエッジの有無に対応してデータを記録するＰＷＭ記録が採用されている。又、光ディスクの記録フォーマットは、超解像技術（ＭＳＲ）を使用した１.３ＧＢフォーマットであり、ＺＣＡＶ方式を採用している。光ディスク装置に光ディスクをロードすると、先ず光ディスクの識別（ＩＤ）部をリードしてそのピット間隔からＭＰＵ１２で光ディスクの種別（記憶容量等）を認識し、種別の認識結果をＯＤＣ１４に通知する。
【００１９】
ＯＤＣ１４に対するリード系統としては、リードＬＳＩ２４が設けられ、リードＬＳＩ２４にはリード復調部２５と周波数シンセサイザ２６とが内蔵される。リードＬＳＩ２４に対しては、エンクロージャ１１に設けたＩＤ／ＭＯ用ディテクタ３２によるレーザダイオード３０−１からのレーザビームの戻り光の受光信号が、ヘッドアンプ３４を介してＩＤ信号及びＭＯ信号として入力されている。
リードＬＳＩ２４のリード復調部２５には、自動利得制御（ＡＧＣ）回路、フィルタ、セクタマーク検出回路等の回路機能が設けられ、リード復調部２５は入力されたＩＤ信号及びＭＯ信号からリードクロック及びリードデータを生成してＰＷＭデータを元のＮＲＺデータに復調する。又、ゾーンＣＡＶを採用しているため、ＭＰＵ１２からリードＬＳＩ２４に内蔵された周波数シンセサイザ２６に対してゾーン対応のクロック周波数を発生させるための分周比の設定制御が行われる。
【００２０】
周波数シンセサイザ２６は、プログラマブル分周器を備えたフェーズロックドループ（ＰＬＬ）回路であり、光ディスク上のゾーン位置に応じて予め定めた固有の周波数を有する再生用基準クロックをリードクロックとして発生する。即ち、周波数シンセサイザ２６は、プログラマブル分周器を備えたＰＬＬ回路で構成され、通常モードでは、ＭＰＵ１２がゾーン番号に応じて設定した分周比ｍ／ｎに従った周波数ｆｏの記録/再生用基準クロックを、ｆｏ＝（ｍ／ｎ）・ｆｉに従って発生する。
【００２１】
ここで、分周比ｍ／ｎの分母の分周値ｎは、光ディスクの種別に応じた固有の値である。又、分周比ｍ／ｎの分子の分周値ｍは、光ディスクのゾーン位置に応じて変化する値であり、各光ディスクに対してゾーン番号に対応した値のテーブル情報として予め準備されている。更に、ｆｉは、周波数シンセサイザ２６の外部で発生した記録/再生用基準クロックの周波数を示す。
【００２２】
リードＬＳＩ２４で復調されたリードデータは、ＯＤＣ１４のリード系統に供給され、１−７ＲＬＬの逆変換を行った後にＥＣＣ処理部１４−２の符号化機能によりＣＲＣ及びＥＣＣ処理を施され、ＮＲＺセクタデータに復元される。次に、フォーマッタ１４−１でＮＲＺセクタデータを繋げたＮＲＺリードデータのストリームに変換し、メモリ１８を経由してインタフェース１７からホスト装置に転送される。
【００２３】
ＭＰＵ１２に対しては、ＤＳＰ１６を経由してエンクロージャ１１側に設けた温度センサ３６の検出信号が供給されている。ＭＰＵ１２は、温度センサ３６で検出した光ディスク装置内部の環境温度に基づき、レーザダイオード制御回路２２におけるリード、ライト及びイレーズの各発光パワーを最適値に制御する。
【００２４】
ＭＰＵ１２は、ＤＳＰ１６を経由してドライバ３８によりエンクロージャ１１側に設けたスピンドルモータ４０を制御する。本実施例では、光ディスクの記録フォーマットがＺＣＡＶ方式であるため、スピンドルモータ４０は例えば３６３７ｒｐｍの一定速度で回転される。
【００２５】
又、ＭＰＵ１２は、ＤＳＰ１６を経由してドライバ４２を介してエンクロージャ１１側に設けた電磁石４４を制御する。電磁石４４は、光ディスク装置内にロードされた光ディスクのビーム照射側と反対側に配置されており、記録時及び消去時に光ディスクに外部磁界を供給する。超解像技術を用いた１.３ＧＢフォーマットの光ディスクでは、ＭＳＲ再生を行う際にも外部磁界を供給する。
【００２６】
ＤＳＰ１６は、光ディスクに対してレーザダイオード３０からのビームの位置決めを行うためのサーボ機能を備え、目的トラックにシークしてオントラックするためのシーク制御部及びオントラック制御部として機能する。このシーク制御及びオントラック制御は、ＭＰＵ１２による上位コマンドに対するライトアクセス又はリードアクセスに並行して同時に実行することができる。
【００２７】
ＤＳＰ１６のサーボ機能を実現するため、エンクロージャ１１側の光学ユニットに光ディスクからのビーム戻り光を受光するフォーカスエラー信号（ＦＥＳ）用ディテクタ４５を設けている。ＦＥＳ検出回路４６は、ＦＥＳ用ディテクタ４５の受光出力からＦＥＳＥ１を生成してＤＳＰ１６に入力する。
【００２８】
エンクロージャ１１側の光学ユニットには、光ディスクからのビーム戻り光を受光するトラッキングエラー信号（ＴＥＳ）用ディテクタ４７も設けられている。ＴＥＳ検出回路４８は、ＴＥＳ用ディテクタ４７の受光出力からＴＥＳＥ２を生成してＤＳＰ１６に入力する。ＴＥＳＥ２は、トラックゼロクロス（ＴＺＣ）検出回路５０にも入力され、ＴＺＣパルスＥ３が生成されてＤＳＰ１６に入力される。
【００２９】
エンクロージャ１１側には、光ディスクに対してレーザビームを照射する対物レンズの位置を検出するレンズ位置センサ５４が設けられており、レンズ位置センサ５４からのレンズ位置検出信号（ＬＰＯＳ）Ｅ４はＤＳＰ１６に入力される。ＤＳＰ１６は、光ディスク上のビームスポットの位置を制御するため、ドライバ５８，６２，６６を介してフォーカスアクチュエータ６０、レンズアクチュエータ６４及びボイスコイルモータ（ＶＣＭ）６８を制御して駆動する。
【００３０】
図２は、エンクロージャ１１の概略構成を示す断面図である。図２に示すように、ハウジング６７内にはスピンドルモータ４０が設けられ、インレットドア６９側からＭＯカートリッジ７０を挿入することで、ＭＯカートリッジ７０に収納された光ディスク（ＭＯディスク）７２がスピンドルモータ４０の回転軸のハブに装着されて光ディスク７２が光ディスク装置にロードされる。
【００３１】
ロードされたＭＯカートリッジ７０内の光ディスク７２の下側には、ＶＣＭ６４により光ディスク７２のトラックを横切る方向に移動自在なキャリッジ７６が設けられている。キャリッジ７６上には対物レンズ８０が搭載され、固定光学系７８に設けられているレーザダイオード３０−１からのビームを立ち上げミラー８２を介して入射して光ディスク７２の記録面にビームスポットを結像する。
【００３２】
対物レンズ８０は、図１に示すエンクロージャ１１のフォーカスアクチュエータ６０により光軸方向に移動制御され、又、レンズアクチュエータ６４により光ディスク７２のトラックを横切る半径方向に例えば数十トラックの範囲内で移動可能である。このキャリッジ７６に搭載されている対物レンズ８０の位置が、図１のレンズ位置センサ５４により検出される。レンズ位置センサ５４は、対物レンズ８０の光軸が直上に向かう中立位置でレンズ位置検出信号をゼロとし、光ディスク７２のアウタ側への移動とインナ側への移動に対して夫々異なる曲性の移動量に応じたレンズ位置検出信号Ｅ４を出力する。
【００３３】
光ディスク７２は、ＺＣＡＶ方式を採用しているので、半径方向に複数のゾーンに分割されている。通常モードでは、光ディスク７２はスピンドルモータ４０により一定回転速度で回転され、各ゾーン内の記録／再生用基準クロックは、同じ周波数を有する。又、記録／再生用基準クロックの周波数は、光ディスク７２の外周（アウタ）側のゾーンの方が、内周（インナ）側のゾーンより高く設定されている。本実施例では、このような光ディスク７２を、アウタ側からインナ側にかけてゾーン数以下のエリアに分割し、高速モードでは、各エリア毎にインナ側に向かうにつれて光ディスク７２の回転速度が高くなるようにスピンドルモータ４０が制御される。つまり、高速モードでは、光ディスク７２の回転数を、各エリア毎にランダムアクセス性能への悪影響を抑えられる程度の回数だけ切り替えると共に、記録/再生用基準クロック及びレーザダイオード制御回路２２における記録／再生パワーを切り替える。従って、通常モードでは、ＺＣＡＶ方式の光ディスク７２をＺＣＡＶ方式を採用して使用するのでランダムアクセス性能が高く、高速モードでは、ＺＣＡＶ方式の光ディスク７２を一種のＺＣＬＶ方式を採用して使用するので記録／再生時の光ディスク７２のデータ転送速度が高くなる。
【００３４】
通常モードでは、光ディスク７２の回転数を一定に制御する。他方、高速モードでは、光ディスク７２の回転数を多段階で切り替え制御する。
【００３５】
図３は、本実施例における光ディスク７２上のゾーンと、データ転送レートと、光ディスク７２の回転数との関係を示す図である。図３では、説明の便宜上、１つのエリアがゾーン単位毎からなる場合を示すが、上記の如く、エリアとゾーンとの関係はこれに限定されるものではない。又、図４は、光ディスク７２上のゾーンに対するデータ転送レート及び光ディスク７２の回転数の関係を示す図である。図４中、四角印はデータ転送速度、三角印は光ディスク７２の回転数を示す。図３及び図４は、光ディスク７２の記憶容量が１.３ＧＢであり、高速モードにおいて切り替えられる回転数が３通りある場合を示す。又、説明の便宜上、ゾーン０が光ディスク７２のアウタ側に位置し、ゾーン１７がインナ側に位置するものとする。
【００３６】
高速モードにおいて、例えば光ディスク７２の最インナ側のゾーン１７では、光ディスク７２の回転数が５００１ｒｐｍに切り替えられ、データ転送速度は４０９７Ｋｂｙｔｅ/ｓである。通常モードでは、ゾーン１７における回転数は３６３７ｒｐｍであり、データ転送速度は２９７９Ｋｂｙｔｅ/ｓであるので、高速モードではデータ転送速度が改善されることがわかる。従って、３７００〜３８００Ｋｂｙｔｅ／ｓの所望の転送速度以上を得ることができる。尚、本実施例では、回路の限界周波数の関係で、上限のデータ転送速度は５１２１Ｋｂｙｔｅ/ｓ以下に制限されるので、ゾーン１１よりアウタ側のゾーン０〜１０では、５００１ｒｐｍの回転数での動作は行えないが、切り替えられる回転数及びデータ転送速度は夫々図３及び図４に示すものに限定されず、又、切り替えられる回転数は複数であれば良く、３通りに限定されない。
【００３７】
映像や音楽等の大容量連続データの場合、ある基準以上の転送速度を保たないと、記録／再生の途中で映像や音楽が止まってしまい、画像乱れやコマ落ちが生じてしまう。ディジタルビデオ（ＤＶ）フォーマットの記録／再生時の転送速度は、３７００〜３８００ＫＢｙｔｅ／ｓであり、この転送速度を下回ると画像や音声の途切れが生じてしまう。図３の場合、回転数が３６３７ｒｐｍの場合には、ゾーン１２〜１７のインナ側では、転送速度が３７００ＫＢｙｔｅ／ｓを下回っており、映像や音楽等の大容量連続データの記録／再生には適していないことがわかる。そこで、回転数を５００１ｒｐｍとすることで、光ディスク７２のインナ側からアウタ側まで３７００〜３８００ＫＢｙｔｅ／ｓ以上の転送速度を保証することができる。尚、回路の限界周波数の関係で、光ディスク７２の全てのエリアで回転数を５００１ｒｐｍ以上とすることはできないので、回転数が４１３８ｒｐｍに設定されるエリアも設けている。このようにして、光ディスク７２のインナ側からアウタ側までの全エリアで転送速度が３７００〜３８００ＫＢｙｔｅ／ｓ以上となるように、エリアによって回転数を変えている。
【００３８】
図５及び図６は、本実施例におけるＭＰＵ１２の動作を説明するフローチャートである。
【００３９】
図５において、ステップＳ１は、ホスト装置から記録／再生指示が発行されたか否かを判定し、判定結果がＹＥＳになると、ステップＳ２は、通常モード、即ち、ＺＣＡＶ方式の低速回転固定モードが指定されているか否かを判定する。ステップＳ２の判定結果がＹＥＳであると、ステップＳ３は、低速回転要求をセットし、処理は図６と共に後述するステップＳ２１へ進む。
【００４０】
他方、ステップＳ２の判定結果がＮＯであると、一種のＺＣＬＶ方式のモードが指定されているので、ステップＳ４は、光ディスク７２上の現在記録／再生位置が、高速モードで記録／再生可能な位置、即ち、高速回転可能位置よりインナ側であるか否かを判定する。ステップＳ４の判定結果がＮＯであると、ステップＳ５は、現在記録／再生位置が光ディスク７２の最アウタ側、即ち、先頭領域付近であるか否かを判定する。ステップＳ５の判定結果がＮＯであると、ステップＳ６はＭＰＵ１２内のインナアクセスカウンタを初期化し、ステップＳ７はＭＰＵ１２内で管理されるインナアクセス時間を初期化し、処理はステップＳ３へ進む。又、ステップＳ５の判定結果がＹＥＳであると、ステップＳ８はインナアクセスカウンタの値をαだけ減算し、ステップＳ９はインナアクセス時間の値をβだけ加算し、処理はステップＳ３へ進む。
【００４１】
このように、光ディスク７２の先頭領域については、アクセスの連続性判断の条件を緩和しておき、より簡単に回転数が上昇するようにしている。先頭領域には、ＦＡＴ領域やディレクトリ領域等の、ファイルの使用状況を管理するための領域が存在する。ホスト装置は、光ディスク７２のインナ側の領域に対してシーケンシャルな処理を行っていても、ファイル情報の更新や追加のために、時々ディレクトリ領域を更新するため、先頭領域へのアクセスが発生する。従って、アクセスの連続性判断の条件を緩和することで、シーケンシャルな処理中のディレクトリ情報だけの更新で回転数が低下しても、ランダムアクセスよりも先に回転数が上昇してランダムアクセス性能の低下を防止している。
【００４２】
ステップＳ４の判定結果がＹＥＳであると、ステップＳ１１は、アクセスの連続性の判断が必要であるか否かを判定し、判定結果がＮＯであると、処理は後述するステップＳ１５へ進む。他方、ステップＳ１１の判定結果がＹＥＳであると、ステップＳ１２はインナアクセスカウンタを「１」だけ加算し、ステップＳ１３は、インナアクセスカウンタが規定値以上であるか否かを判定する。ステップＳ１３の判定結果がＮＯであると処理はステップＳ３へ進み、判定結果がＹＥＳであると、処理はステップＳ１４へ進む。ステップＳ１４は、低速モードで行った最後のアウタアクセスから規定時間が経過しているか否かを判定し、判定結果がＮＯであると、処理はステップＳ３へ進む。ステップＳ１４の判定結果がＹＥＳ、又は、ステップＳ１１の判定結果がＮＯであると、ステップＳ１５は、高速モードで記録／再生するための高速回転要求をセットし、処理は図６に示すステップＳ２１へ進む。
【００４３】
上記規定時間は、一度低下した光ディスク７２の回転数を再度上昇しにくくして、回転数の切り替えが頻発することによるランダムアクセス性能の低下及びデータ転送速度の低下を防止している。
【００４４】
図６において、ステップＳ２１は、高速回転要求があるか否かを判定し、判定結果がＮＯであると、処理はステップＳ２２へ進む。ステップＳ２２は、現在通常モード、即ち、低速回転中であるか否かを判定し、判定結果がＹＥＳであると、ステップＳ２３は光ディスク７２上の目的トラックへシークし、記録/再生を実行する。ステップＳ２２の判定結果がＮＯであると、ステップＳ２４は、低速回転切り替え要求をセットし、処理は後述するステップＳ２７へ進む。
【００４５】
ステップＳ２１の判定結果がＹＥＳであると、ステップＳ２５は、現在高速モード、即ち、高速回転中であるか否かを判定し、判定結果がＹＥＳであると、処理はステップＳ２３へ進む。ステップＳ２５の判定結果がＮＯの場合、又は、ステップＳ２４の後、ステップＳ２７は、ＴＥＳＥ２に基くトラッキングサーボをオフとする。ステップＳ２８は、高速回転要求があるか否かを判定し、判定結果がＮＯであると、ステップＳ２９は、光ディスク７２上のデータの破壊を防止するために、ＦＥＳＥ１に基くフォーカスサーボをオフとすると共に、レーザダイオード３０−１をオフとする。ステップＳ２８の判定結果がＹＥＳの場合、又は、ステップＳ２９の後、ステップＳ３０は、回転数の切り替えを開始する。回転数の切り替えは、例えば図３に示す関係を示すテーブルを例えばメモリ１８に格納しておき、このテーブルに基いて切り替えれば良い。
【００４６】
ステップＳ３１は、切り替え後の光ディスク７２の新たな回転数に応じて、例えばメモリ１８内の偏心加速度テーブルの内容（偏心加速度情報）を入れ替えるか、或いは、計算し直す。偏心加速度情報は、光ディスク７２の偏心によって発生する加速度に関する情報であり、後述する。ステップＳ３２は、新たな回転数に応じて、記録／再生時に用いる各種記録／再生パラメータを変更する。ステップＳ３３は、光ディスク７２の回転の安定化を確認する。ステップＳ３４は、レーザダイオード３０−１がオフになっていれば、オンにする。ステップＳ３５は、フォーカスサーボがオフになっていれば、オンにする。又、ステップＳ３６は、トラッキングサーボがオフになっていれば、オンにして、処理はステップＳ２３へ進む。
【００４７】
上記の動作により、（１）低速回転固定モードと回転数切り替えモードの切り替え設定、及び、（２）回転数切り替えモードにおけるアクセスの連続性判断の有無の切り替え設定に対する処理が行われる。前者（１）の低速回転固定モードと回転数切り替えモードの切り替え設定は、ステップＳ２の判断で使用されるフラグをセットすることで可能となる。又、後者（２）の回転数切り替えモードにおけるアクセスの連続性判断の有無の切り替え設定は、前者（１）の低速回転固定モードと回転数切り替えモードの切り替え設定において回転数切り替えモードに設定した状態で、ステップＳ１１の判断で使用されるフラグをセットすることで可能となる。これらのフラグのセット方法は特に限定しないが、例えばホスト装置からのモードを設定する方法、メモリ１８内の不揮発性メモリにモードを設定する方法、ホスト装置により光ディスク７２上にモード設定情報を書き込んでおきその書き込まれたモード設定情報に基いてモードを設定する方法等が採用可能である。
【００４８】
尚、ステップＳ３２において変更される記録／再生パラメータには、記録／再生用クロックの周波数やレーザダイオード３０−１の記録／再生パワー等が含まれる。図７及び図８は、変更される記録／再生パラメータを説明する図である。
【００４９】
図７は、光ディスク７２上のゾーンと、記録／再生クロック周波数と、光ディスク７２の回転数との関係を示す図である。同図中、記録／再生クロック周波数の単位は、ＭＨｚである。
【００５０】
図８は、光ディスク７２上のゾーンと、記録／再生パワーと、光ディスク７２の回転数との関係を示す図である。同図中、四角印は回転数が３６３７ｒｐｍの場合、三角印は回転数が４１３８ｒｐｍの場合、丸印は回転数が５００１ｒｐｍの場合を示す。
【００５１】
例えば、特開平１１−７３６６９号公報にて提案されているように、テストライトでは、パワーデフォルトテーブルのデフォルト記録／再生パワーに対する最適記録／再生パワーのずれ量を求め、記録／再生パワーの最適化が図られる。このため、本実施例では、回転数の切り替えの度にテストライトを行う必要はない。つまり、回転数の切り替え時には、各回転数に対応するパワーデフォルトテーブルのみを切り替えれば良く、各回転数での最適記録／再生パワーは、該当するパワーデフォルトテーブルのデフォルト記録／再生パワーを同じずれ量で補正することで最適化することができる。
【００５２】
更に、本実施例では、偏心加速度情報や記録／再生パラメータ等の、光ディスク７２の回転数に依存するパラメータを変更する処理を、回転数の切り替え処理と並行して行うので、処理時間の短縮を図ることが可能である。
【００５３】
図９は、図６に示すステップＳ３１の偏心加速度情報切り替え処理を説明するフローチャートである。本実施例では、説明の便宜上、偏心加速度情報切り替え処理が、ＭＰＵ１２の制御下でＤＳＰ１６により行われるものとする。図９において、ステップＳ４１は、光ディスク７２の新たな回転数での偏心加速度情報が過去に測定済みであるか否かを判定し、判定結果がＮＯであると、ステップＳ４２は、偏心加速度情報再測定要求をセットし、処理は終了する。これにより、新たな回転数での偏心加速度情報を周知の方法で測定して偏心加速度テーブルに格納する。偏心加速度情報の測定や学習に関しては、先に本出願人が特願平１０−３６６３２６号公報、特願平１１−７５０４３号公報や特願平１１−３０８２４４号等でも提案されている。
【００５４】
他方、ステップＳ４１の判定結果がＹＥＳであると、ステップＳ４３は、ＤＳＰ１６内のメモリ又はメモリ１８内の旧回転数に対応する偏心加速度情報をバックアップする。ステップＳ４４は、新たな回転数に対応する偏心加速度情報を、ＤＳＰ１６内のメモリ又はメモリ１８内に展開する。ステップＳ４５は、旧回転数に対応する偏心加速度情報に対するフラグをセットし、処理は終了する。
【００５５】
このように、偏心加速度情報は、光ディスク７２の回転数が変化すると変化するので、回転数に応じて求める必要がある。偏心加速度情報の測定及び格納には、時間を要するため、可能な限り回転数の切り替え時に再測定処理を行わないことが望ましい。そこで、本実施例では、新たな回転数に対する偏心加速度情報が測定済みであるか否かを判定し、測定済みであれば、偏心加速度テーブルの内容の入れ替えのみを行うことで、再測定処理を省略して処理時間の短縮を図る。
【００５６】
図１０は、図６に示すステップＳ３１の偏心加速度情報切り替え処理を説明する図である。具体的には、図１０は、計算によって偏心加速度情報を切り替える場合を説明する図である。図１０において、縦軸は偏心加速度を任意単位で示し、横軸はＤＳＰ１６内のメモリ又はメモリ１８内のメモリセル番号を示す。又、四角印は回転数が５００１ｒｐｍの場合に対応する偏心加速度を示し、菱形印は回転数が３６３７ｒｐｍの場合に対応する偏心加速度を示す。
【００５７】
ＤＳＰ１６内では、リードＬＳＩ回路２４及びＯＤＣ１４を介して得られる信号に基いて、光ディスク７２の１回転を表す基準信号を生成される。この基準信号は、光ディスク７２の回転数が変化しても、光ディスク７２の円周方向上の位置との関係は保たれる。従って、ＤＳＰ１６は、基準信号に基いて、ＤＳＰ１６内のメモリ又はメモリ１８内のメモリセル番号に、１回転分の偏心加速度情報（偏心加速度遷移）を計算して順次格納する。図１０では、説明の便宜上、３６３７ｒｐｍの回転数に対応する偏心加速度テーブルの偏心加速度情報から、５００１ｒｐｍの回転数に対応する偏心加速度テーブルの偏心加速度情報を計算する場合を示す。従って、光ディスク７２の回転数の変化に伴い、偏心加速度はこの場合（５００１/３６３７）２倍となり、メモリセル番号に格納された偏心加速度情報が（５００１/３６３７）２倍された偏心加速度テーブルが計算される。更に、１つのメモリセルに対応する経過時間は、（３６３７/５００１）倍になっているため、３６３７ｒｐｍの回転数の場合のメモリセルの更新時間を１とすると、５００１ｒｐｍの回転数の場合は１×（３６３７/５００１）ずつメモリセルを更新するように、ＤＳＰ１６に対してパラメータの設定を行う。
【００５８】
このように、本実施例では、記録／再生クロック周波数、記録／再生パワー、偏心加速度情報等の記録／再生パラメータのテーブルを、光ディスク７２の回転数の切り替えの際に切り替えることで、用途に応じた、最適なランダムアクセス性能又はデータ転送速度を実現できる。
【００５９】
図１１は、光ディスク７２上に設けられたバッファ領域を説明する図である。同図に囲み線で示すように、光ディスク７２上の通常モードでアクセス可能な領域と、高速モードでアクセス可能な領域との境界部分に、バッファ領域を設けても良い。この場合、通常モードにおいて、高速モードでアクセス可能な領域へのアクセス要求が発生すると、バッファ領域よりインナ側の領域にアクセスが発生したことが検出され、光ディスク７２が高速回転されてモードが高速モードに切り替えられる。つまり、この場合におけるＭＰＵ１２の動作は、バッファ領域を認識する点を除けば、実質的に第１実施例の場合の動作と同様である。
【００６０】
尚、高速モードにおいて、光ディスク７２のアウタ側の領域へのアクセス要求が発生した場合、その領域がバッファ領域であれば、直ちに通常モードへは切り替えず、バッファ領域よりアウタ側の領域へのアクセスが発生した時点で通常モードへ切り替えるようにすることもできる。又、光ディスク７２上の高速モードでアクセス可能な領域へのアクセス要求が発生した場合、光ディスク７２の回転数を直ちに高速回転に切り替えずに、アクセス状況を測定して連続的にバッファ領域よりインナ側へアクセスが発生した時点で初めて高速回転に切り替えるようにしても良い。更に、光ディスク７２上のインナ側の領域を高速モードでアクセス中に、アウタ側の領域へのアクセス要求が発生した場合、回転数を直ちにアウタ側の領域の回転数に切り替えることも可能である。
【００６１】
このように、バッファ領域を設けて、光ディスク７２の回転数の切り替えをヒステリシス的に行わせることで、アクセスの連続性に加えて、回転数の切り替えが頻発しないようにして、ランダムアクセス性能及びデータ転送速度の低下を防止することができる。
【００６２】
上記第１実施例において、モードの切り替えを不動作として、モードを通常モード及び高速モードの一方に固定する構成としても良い。この場合、ホスト装置からのモード固定要求に応答して、ＭＰＵ１２がモードの切り替えを不動作とするようにすれば良い。このようなモード固定要求は、ホスト装置を使用するユーザからの指示に基いて発生したり、ホスト装置のアプリケーションソフトウェアと連動して発生したりすることができる。
【００６３】
ところで、光ディスク７２の回転数を切り替えている期間は、転送が停止してしまい、転送速度が低下してしまう。そこで、以下に説明するように、読み込み（リード）コマンドによるシーケンシャルアクセスの場合は先読みでメモリ１８内のＤＲＡＭに所定量のリードデータを確保しておき、書き込み（ライト）コマンドによるシーケンシャルアクセスの場合はＤＲＡＭにライトデータ用に所定量の空き領域を確保しておき、転送速度が回転数切り替えの影響を受けにくくすることが望ましい。これにより、アクセスパターンとＤＲＡＭ内のデータ占有容量又は空き容量に基いて、ランダムアクセスの場合は回転数を一定に保ち、シーケンシャルアクセスの場合は回転数を上げてアクセスの処理を行うことができる。
【００６４】
図１２は、各ゾーン毎の物理ブロック（トラック）アドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）と回転数の関係を示す。尚、以下の説明では、１６進数には「ｈ」を付加して表す。ゾーン０はＬＢＡ０〜ＦＦＦｈ，ゾーン１はＬＢＡ１０００ｈ〜１ＦＦＦｈとし、ゾーンｎはｎ×１０００ｈ〜（ｎ×１０００＋ＦＦＦｈ）とする。又、通常はＺＣＡＶ方式を採用して、光ディスク７２は、全ゾーン一定の回転数で回転されるものとする。
【００６５】
図１３は、第１実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。
【００６６】
図１３において、ステップＳ５１は、ホスト装置から発行されたコマンドが、ゾーン１に対しての読み込みコマンド＃Ａ１であるか否かを判定する。ステップＳ５１の判定結果がＹＥＳであると、ステップＳ５２は、ＤＲＡＭ上にリードデータが在るか否かを判定する。最初は、読み込みコマンド＃Ａ１に対するデータはＤＲＡＭ上にないので、光ディスク７２から読み込みコマンド＃Ａ１のデータを読み込み、続いて、光ディスク装置側は先読み動作にて、読み込みコマンド＃Ａ１に続くデータをＤＲＡＭ上に読み込む。つまり、ステップＳ５２の判定結果がＮＯであると、ステップＳ５６は、先読み中であるか否かを判定し、判定結果がＹＥＳであると、ステップＳ５７は、先読みを停止する。ステップＳ５６の判定結果がＮＯ、又は、ステップＳ５７の後、ステップＳ５８は回転数の変動（切り替え）はなしとして、リード処理へ進む。
【００６７】
次に、ホストから読み込みコマンド＃Ａ２が発行されたとする。ステップＳ５２は、前回同様ＤＲＡＭ上にリードデータが在るか否かを判定する。この時、先読み処理にて読み込みコマンド＃Ａ２のリードデータがＤＲＡＭ上に読み込まれているため、読み込みコマンド＃Ａ２のリードデータを光ディスク７２から読み出さずに、ＤＲＡＭ上から転送することが可能である。ステップＳ５３は、このように、ＤＲＡＭ上から読み込みコマンド＃Ａ２のリードデータをホスト装置へ転送し、ステップＳ５４は、転送の正常終了をホスト装置へ報告する。この場合に、光ディスク７２上とホスト装置に対する動作が一致している必要がないため、光ディスク７２上の動作はホスト装置動作から見えなくなる。ステップＳ５５は、このタイミングで回転数を上げ、リード処理へと進む。
【００６８】
図１４は、第１実施例における回転数アップ処理とリードデータの流れを説明する図である。同図中、ＲＤはリード、ＣＭＤはコマンド、網掛け部は先読みデータを示す。又、▲１▼がＤＲＡＭの最初の状態、▲２▼がＤＲＡＭの次の状態を示す。
【００６９】
このように、リード処理において、ゾーン毎に回転数を即座に切り替えるのでなく、ＤＲＡＭ上のリードヒット対象データを監視して、ヒット対象である場合のみ回転数を上げ、ヒット対象でなければ回転数を上げない。これにより、回転数変動中に読み込みコマンドを受け取っても、ＤＲＡＭ上のリードデータを転送することで、回転数変動がホスト装置に影響を及ぼさない。
【００７０】
尚、ホスト装置からの読み込みコマンドは、例えば次のようなものである。
＃Ａ１．読み込みコマンド:  ＬＢＡ＝１１００ｈ／ブロック数＝１０ｈ
＃Ａ２．読み込みコマンド:  ＬＢＡ＝１１１０ｈ／ブロック数＝１０ｈ
＃Ａ３．読み込みコマンド:  ＬＢＡ＝１１２０ｈ／ブロック数＝１０ｈ
…
＃Ａｎ．読み込みコマンド:  ＬＢＡ＝(１１００ｈ＋１０ｈ×ｎ)／ブロック数＝１０ｈ
次に、ホスト装置からゾーン１に対しての書き込みコマンド＃Ｂ１が来ると、ステップＳ５１の判定結果はＮＯとなる。ステップＳ５９は、ライトデータをホスト装置からＤＲＡＭに転送し、ステップＳ６０は、転送残りがないか否かを判定する。ステップＳ６０の判定結果がＮＯであると、ステップＳ６３は回転数の変動（切り替え）はなしとして、ライト処理へ進む。他方、ステップＳ６０の判定結果がＹＥＳであると、ステップＳ６１は転送の正常終了をホスト装置へ報告し、ステップＳ６２は、回転数を上げ、ライト処理へと進む。
【００７１】
つまり、この場合、ＤＲＡＭ上にライトデータが在るか確認するが、最初はライト中でないので、ＤＲＡＭ上にライトデータがない。そこで、書き込みコマンド＃Ｂ１のライトデータをＤＲＡＭに転送すると共に光ディスク７２に書き込む。続いて、転送終了と同時にホスト装置に正常終了を報告する。この時、光ディスク７２上とホスト装置に対する動作が一致している必要がないため、光ディスク７２上の動作はホスト装置動作から見えなくなる。そこで、このタイミングで回転数を変動させる。
【００７２】
図１５は、第１実施例における回転数アップ処理とライトデータの流れを説明する図である。同図中、ＷＲＴはライト、ＣＭＤはコマンド、網掛け部はＤＲＡＭ内の空き領域を示す。又、▲１▼がＤＲＡＭの最初の状態、▲２▼がＤＲＡＭの次の状態を示す。
【００７３】
このように、ライト処理において、ゾーン毎に回転数を即座に切り替えるのでなく、ＤＲＡＭ上の空き容量を監視して、ＤＲＡＭの空き容量がある場合のみ回転数を上げ、空き容量がなければ回転数を上げない。これにより、回転数変動中に書き込みコマンドを受け取っても、ＤＲＡＭの空き領域にライトデータを転送することで、回転数変動がホスト装置に影響を及ぼさない。
【００７４】
尚、ホスト装置からの書き込みコマンドは、例えば次のようなものである。
＃Ｂ１．書き込みコマンド:  ＬＢＡ＝１１００ｈ／ブロック数＝１０ｈ
＃Ｂ２．書き込みコマンド:  ＬＢＡ＝１１１０ｈ／ブロック数＝１０ｈ
＃Ｂ３．書き込みコマンド:  ＬＢＡ＝１１２０ｈ／ブロック数＝１０ｈ
…
＃Ｂｎ．書き込みコマンド:  ＬＢＡ＝(１１００ｈ＋１０ｈ×ｎ)／ブロック数＝１０ｈ
次に、本発明になる記憶装置の第２〜第７実施例を説明する。記録装置の第２〜第７実施例の構成は、図１及び図２に示す記憶装置の第１実施例の構成と同じであり、その図示は省略する。記憶装置の第２〜第７実施例では、本発明が光ディスク装置に適用されている。又、記憶装置の第２〜第７実施例は、本発明になる回転制御方法の第２〜第７実施例を採用する。
【００７５】
図１６は、第２実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図１６中、図１３と同一ステップには同一符号を付し、その説明は省略する。又、コマンドが書き込みコマンドの場合に行われるステップの図示は省略する。
【００７６】
本実施例では、図２０と共に後述するように、ＤＲＡＭ領域を一区画として、一区画＝２００ｈブロック数とする。又、ホスト装置から求められる転送速度は０．４Ｍｂｙｔｅ／ｓであるものとする。尚、以下の説明中、ＢＣはブロックを示す。
【００７７】
図１６において、ステップＳ５４の後、ステップＳ６０は、ＤＲＡＭ上にリードヒット対象データが例えば８０％以上あるか否かを判定する。ステップＳ６０の判定結果がＮＯであると、処理はステップＳ５８へ進み、ＹＥＳであると、処理はステップＳ５５へ進む。
【００７８】
つまり、先ずホスト装置からゾーン１に対しての読み込みコマンド＃Ｃ１が発行されると、ＤＲＡＭ上にリードデータが在るかを確認する。最初は、読み込みコマンド＃Ｃ１に対するデータがＤＲＡＭ上にないので、光ディスク７２から読み込みコマンド＃Ｃ１のデータを読み込む。続いて、光ディスク装置側では、先読み動作にて、読み込みコマンド＃Ｃ１に続くデータをＤＲＡＭ上に読み込む。
【００７９】
次に、ホスト装置から読み込みコマンド＃Ｃ２が発行されたとする。この場合、前回と同様に、ＤＲＡＭ上にリードデータが在るか確認する。この時、先読み動作にて３０ｈブロック数のデータがＤＲＡＭ上に読み込まれているため、読み込みコマンド＃Ｃ２のデータを光ディスク７２から読み出さずに、ＤＲＡＭ上からホスト装置に転送することが可能である。上記第１実施例では、このタイミングで回転数を変動させたが、ＤＲＡＭ上にＬＢＡ＝１１００ｈ〜ＬＢＡ＝１１３Ｆｈまでのデータしかなく、回転数変動中にＤＲＡＭ上に読み込まれていない場所に対しての読み込みコマンドが来る可能性がある。そうすると、回転数変動後、光ディスク７２からの読み込みを行うことになるため、ホスト装置に対する転送が遅れてしまう。
【００８０】
ＤＲＡＭ領域にリードデータを多く保持していれば、ＤＲＡＭ上からホスト装置への転送を行うことができるため、本実施例ではＤＲＡＭ領域にＷ％以上の読み込みコマンドが読み込まれている場合に対して回転数変動を行う。例えば、Ｗを８０％とし、ＤＲＡＭ領域が２００ｈなので、１９０ｈ以上のリードデータがＤＲＡＭ上にある場合に回転数を変動する。
【００８１】
図１７は、リードヒット対象データとＤＲＡＭの空き領域を示す図である。図１７中、＃１，…は、読み込みコマンドを示し、「空き」はＤＲＡＭの空き領域は又、図１８は、リードヒット対象データを管理するテーブルを示す図である。図１８中、＃１，…は、読み込みコマンドを示し、ＢＣ数はブロック数を示し、「先頭ＬＢＡのＡＤＲ」は先頭ＬＢＡが格納されるＤＲＡＭ上のアドレスを示す。図１８に示すテーブルは、ＭＰＵ１２の内部メモリに格納されていても、メモリ１８内のＳＲＡＭ等に格納されていても良い。
【００８２】
尚、後述する第３実施例以降の各実施例においても、図１７及び図１８と同様の符号を使用して説明をする。
【００８３】
図１９は、ステップＳ６０において、ＤＲＡＭ上のリードヒット対象データの量を調べる処理を説明するフローチャートである。同図中、ステップＳ６１は、リードヒット対象ブロック（ＢＣ）数（Ｅ０ｈ）を、例えば読み込みコマンド＃１のＢＣ数と、読み込みコマンド＃２のＢＣ数と、読み込みコマンド＃３のＢＣ数と、読み込みコマンド＃４のＢＣ数の和に設定する。ステップＳ６２は、リードヒット対象ＢＣ数（Ｅ０ｈ）が、例えばＤＲＡＭの総容量の８０％（１９０ｈ）以上であるか否かを判定し、判定結果がＹＥＳであると回転数変動可能と判断されて処理はステップＳ５５へ進み、ＮＯであると回転数変動不可と判断されて処理はステップＳ５８へ進む。
【００８４】
読み込みコマンド＃Ｃ１５までの読み込みコマンドに対して同様に処理すると、図２０に示すようにＤＲＡＭ上にリードヒット対象データが１９０ｈ以上になる。このタイミングで、回転数を変動する。図２０は、第２実施例における回転数アップ処理とＤＲＡＭ上のリードヒット対象データを説明する図である。同図中、ＲＤはリード、ＣＭＤはコマンド、網掛け部は先読みデータを示す。
【００８５】
このように、リード処理において、ＤＲＡＭ上にリードヒット対象データがあっても、ゾーン毎に即座に切り替えるのでなく、ＤＲＡＭ上にリードヒット対象データがＤＲＡＭのＷ％以上なければ回転数を上げない。これにより、回転数変動中に読み込みコマンドを受け取っても、ＤＲＡＭ上のリードデータをホスト装置へ転送することで、回転数変動がホスト装置に影響を及ぼすことがない。
【００８６】
尚、ホスト装置からの読み込みコマンドは、例えば次のようなものである。
＃Ｃ１．  読み込みコマンド:  ＬＢＡ＝１１００ｈ／ブロック数＝１０ｈ
＃Ｃ２．  読み込みコマンド:  ＬＢＡ＝１１１０ｈ／ブロック数＝１０ｈ
＃Ｃ３．  読み込みコマンド:  ＬＢＡ＝１１８０ｈ／ブロック数＝１０ｈ
＃Ｃ４．  読み込みコマンド:  ＬＢＡ＝１１９０ｈ／ブロック数＝１０ｈ
＃Ｃ５．  読み込みコマンド:  ＬＢＡ＝１２００ｈ／ブロック数＝１０ｈ
＃Ｃ６．  読み込みコマンド:  ＬＢＡ＝１２１０ｈ／ブロック数＝１０ｈ
＃Ｃ７．  読み込みコマンド:  ＬＢＡ＝１２８０ｈ／ブロック数＝１０ｈ
＃Ｃ８．  読み込みコマンド:  ＬＢＡ＝１２９０ｈ／ブロック数＝１０ｈ
＃Ｃ９．  読み込みコマンド:  ＬＢＡ＝１３００ｈ／ブロック数＝１０ｈ
＃Ｃ１０．読み込みコマンド:  ＬＢＡ＝１３１０ｈ／ブロック数＝１０ｈ
＃Ｃ１１．読み込みコマンド:  ＬＢＡ＝１３８０ｈ／ブロック数＝１０ｈ
＃Ｃ１２．読み込みコマンド:  ＬＢＡ＝１３９０ｈ／ブロック数＝１０ｈ
＃Ｃ１３．読み込みコマンド:  ＬＢＡ＝１４００ｈ／ブロック数＝１０ｈ
＃Ｃ１４．読み込みコマンド:  ＬＢＡ＝１４１０ｈ／ブロック数＝１０ｈ
＃Ｃ１５．読み込みコマンド:  ＬＢＡ＝１４８０ｈ／ブロック数＝１０ｈ
＃Ｃ１６．読み込みコマンド:  ＬＢＡ＝１４９０ｈ／ブロック数＝１０ｈ
…
＃Ｃｎ-1．読み込みコマンド:  ＬＢＡ＝１１３０ｈ／ブロック数＝１０ｈ
＃Ｃｎ．  読み込みコマンド:  ＬＢＡ＝１１９０ｈ／ブロック数＝１０ｈ
…
図２１は、第３実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図２１中、図１３と同一ステップには同一符号を付し、その説明は省略する。又、コマンドが書き込みコマンドの場合に行われるステップの図示は省略する。
【００８７】
本実施例では、図２６と共に後述するように、ＤＲＡＭ領域を一区画として、一区画＝２００ｈブロック数とする。又、ホスト装置から求められる転送速度は０．４Ｍｂｙｔｅ／ｓであるものとする。又、光ディスク７２の回転数変動に要する時間、即ち、回転数を切り替えてから回転数が安定するまでに要する時間は、例えば０．５秒（ｓ）であるものとする。更に、ＤＲＡＭ上のリードヒット対象データをシーケンシャルデータに限定して、上記第２実施例と同様にＤＲＡＭ上に一定以上データが溜まった場合に回転数の変動を実行する。
【００８８】
図２１において、ホスト装置から発行されたコマンドが読み込みコマンドの場合、ステップＳ６９は、リード用統計情報更新処理を行って後述するシーケンシャルブロック数の総数Ｔを更新し、処理はステップＳ５２へ進む。又、ステップＳ５４の後、ステップＳ７０は、Ｔが統計情報基準値ｋ以上であるか否かを判定する。ステップＳ７０の判定結果がＮＯであると、処理はステップＳ５８へ進み、ＹＥＳであると、処理はステップＳ７１へ進む。ステップＳ７１は、ＤＲＡＭ上にリードヒット対象データが例えば８０％以上あるか否かを判定する。ステップＳ７１の判定結果がＮＯであると、処理はステップＳ５８へ進み、ＹＥＳであると、処理はステップＳ５５へ進む。
【００８９】
つまり、先ずホスト装置からゾーン１に対しての読み込みコマンド＃Ｄ１が発行されると、アクセスパターンとしてＬＢＡとブロック数の情報を、リード用の統計情報としてにメモリ１８内のＳＲＡＭ又はＤＲＡＭに記憶しておく。最初は、読み込みコマンド＃Ｄ１に対するデータはＤＲＡＭ上にないので、光ディスク７２から読み込みコマンド＃Ｄ１のデータを読み込む。続いて、光ディスク装置側は先読み動作にて、読み込みコマンド＃Ｄ１に続くデータをＤＲＡＭ上に読み込む。次に、ホスト装置から読み込みコマンド＃Ｄ２が発行されると、前回と同様に、アクセスパターンとしてＬＢＡとブロック数の情報を、リード用の統計情報として記憶し、ＤＲＡＭ上にリードデータが在るかを確認する。この時、先読み動作にて４０ｈブロック数のデータがＤＲＡＭ上に読み込まれているため、読み込みコマンド＃Ｄ２のデータを光ディスク７２から読み出さずに、ＤＲＡＭ上からホスト装置へ転送する。
【００９０】
次に、ホスト装置から読み込みコマンド＃Ｄ３が発行されると、前回と同様に処理を行う。以後、読み込みコマンド＃Ｄ１０までの読み込みコマンドに対して同様に処理を行うと、統計情報は基準値ｋに達する。基準値ｋは、いくつか考えられるが、ここでは読み込みコマンドがシーケンシャルでその処理ブロック数の合計が１００ｈ以上になるとシーケンシャルリードアクセスと決定する。この状態で、ＤＲＡＭ上にリードヒット対象データがＤＲＡＭ領域のＸ％以上溜まると、回転数変動を行う。本実施例では、Ｘを８０％とするとＤＲＡＭ上にリードヒット対象データが１９０ｈ以上になった場合となり、リードヒット対象データが１２０ｈなので、ここでは回転数変動を行わない。読み込みコマンド＃Ｄ２３を受け取ると、図２６に示すようにＤＲＡＭ領域に１９０ｈ以上のシーケンシャルリードヒット対象データがあるので、このタイミングで回転数を変動させる。図２６は、第３実施例における回転数アップ処理とリードデータの流れを説明する図である。同図中、ＲＤはリード、ＣＭＤはコマンド、網掛け部は先読みデータを示す。又、▲１▼〜▲５▼は、夫々ＤＲＡＭの最初の状態から読み込み済みのデータを転送する状態までを示す。
【００９１】
図２２は、ステップＳ６９のリード用統計情報更新処理を説明するフローチャートである。同図中、Ｒは読み込みコマンドの最終ＬＢＡ、Ｓは前回の読み込みコマンドの最終ＬＢＡ、Ｒはシーケンシャルブロック数の総数を示す。
【００９２】
図２２において、ステップＳ７２は、Ｐを読み込みコマンドの先頭ＬＢＡに設定し、ステップＳ７３は、Ｑを読み込みコマンドのブロック数に設定する。ステップＳ７４は、Ｐ+ＱをＲとして設定する。ステップＳ７５は、１個目の読み込みコマンドであるか否かを判定し、判定結果がＮＯであると、処理はステップＳ７６へ進む。ステップＳ７６は、ＰがＳと連続しているか否かを判定する。ステップＳ７６の判定結果がＹＥＳであると、ステップＳ７７は、Ｔ+ＱをＴに設定することでＴ値を増加させる。他方、ステップＳ７５の判定結果がＹＥＳ、又は、ステップＳ７６の判定結果がＮＯの場合には、ステップＳ７８は、０をＴに設定することでＴ値をクリアする。ステップＳ７７又はステップＳ７８の後、ステップＳ７９は、ＲをＳに設定することでＳ値を更新し、処理は終了する。
【００９３】
図２３は、リードヒット対象データとＤＲＡＭの空き領域を示す図である。又、図２４は、リードヒット対象データを管理するテーブルを示す図である。
【００９４】
図２５は、ステップＳ７１において、ＤＲＡＭ上のリードヒット対象データの量を調べる処理を説明するフローチャートである。同図中、ステップＳ８１は、リードヒット対象ブロック（ＢＣ）数（７０ｈ）を、例えば読み込みコマンド＃４のＢＣ数に設定する。ステップＳ８２は、リードヒット対象ＢＣ数（７０ｈ）が、例えばＤＲＡＭの総容量の８０％（１９０ｈ）以上であるか否かを判定し、判定結果がＹＥＳであると回転数変動可能と判断されて処理はステップＳ５５へ進み、ＮＯであると回転数変動不可と判断されて処理はステップＳ５８へ進む。
【００９５】
このように、リード処理において、シーケンシャルリードアクセスを検出することで、回転数変動中にホスト装置からくるコマンドを特定する。特定したリードデータがＤＲＡＭ領域のＸ％以上の場合に回転数を上げることで、回転数変動がホスト装置に影響を及ぼすことがない。
【００９６】
尚、ホスト装置からの読み込みコマンドは、例えば次のようなものである。
＃Ｄ１．  読み込みコマンド:  ＬＢＡ＝１１００ｈ／ブロック数＝２０ｈ
＃Ｄ２．  読み込みコマンド:  ＬＢＡ＝１１２０ｈ／ブロック数＝２０ｈ
＃Ｄ３．  読み込みコマンド:  ＬＢＡ＝１１４０ｈ／ブロック数＝２０ｈ
＃Ｄ４．  読み込みコマンド:  ＬＢＡ＝１１６０ｈ／ブロック数＝２０ｈ
＃Ｄ５．  読み込みコマンド:  ＬＢＡ＝１１８０ｈ／ブロック数＝２０ｈ
＃Ｄ６．  読み込みコマンド:  ＬＢＡ＝１１Ａ０ｈ／ブロック数＝２０ｈ
＃Ｄ７．  読み込みコマンド:  ＬＢＡ＝１１Ｃ０ｈ／ブロック数＝２０ｈ
＃Ｄ８．  読み込みコマンド:  ＬＢＡ＝１１Ｅ０ｈ／ブロック数＝２０ｈ
＃Ｄ９．  読み込みコマンド:  ＬＢＡ＝１２００ｈ／ブロック数＝２０ｈ
＃Ｄ１０．読み込みコマンド:  ＬＢＡ＝１２２０ｈ／ブロック数＝２０ｈ
＃Ｄ１１．読み込みコマンド:  ＬＢＡ＝１２４０ｈ／ブロック数＝２０ｈ
＃Ｄ１２．読み込みコマンド:  ＬＢＡ＝１２６０ｈ／ブロック数＝２０ｈ
＃Ｄ１３．読み込みコマンド:  ＬＢＡ＝１２８０ｈ／ブロック数＝２０ｈ
…
＃Ｄｎ．  読み込みコマンド:  ＬＢＡ＝(１１００ｈ＋２０ｈ×ｎ)／ブロック数＝２０ｈ
図２７は、第４実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図２７中、図１３と同一ステップには同一符号を付し、その説明は省略する。又、コマンドが読み込みコマンドの場合に行われるステップの図示は省略する。
【００９７】
本実施例では、図３２と共に後述するように、ＤＲＡＭ領域を一区画として、一区画＝２００ｈブロック数とする。又、ホスト装置から求められる転送速度は０．４Ｍｂｙｔｅ／ｓであるものとする。又、光ディスク７２の回転数変動に要する時間、即ち、回転数を切り替えてから回転数が安定するまでに要する時間は、例えば０．５秒（ｓ）であるものとする。更に、ＤＲＡＭ上のリードヒット対象データをシーケンシャルデータに限定して、上記第１実施例と同様にＤＲＡＭ上に一定以上空きがある場合に回転数の変動を実行する。
【００９８】
図２７において、ホスト装置から発行されるコマンドが書き込みコマンドであると、ステップＳ８５は、ライト用統計情報更新処理を行って後述するシーケンシャルブロック数の総数Ｙを更新し、処理はステップＳ５９へ進む。又、ステップＳ６１の後、ステップＳ８６は、Ｙが統計情報基準値ｌ以上であるか否かを判定する。ステップＳ８６の判定結果がＮＯであると、処理はステップＳ６３へ進み、ＹＥＳであると、処理はステップＳ８７へ進む。ステップＳ８７は、ＤＲＡＭ上に例えば８０％以上の空き領域あるか否かを判定する。ステップＳ８７の判定結果がＮＯであると、処理はステップＳ６３へ進み、ＹＥＳであると、処理はステップＳ６２へ進む。
【００９９】
つまり、先ずホスト装置からゾーン１に対しての書き込みコマンド＃Ｅ１が発行されると、アクセスパターンとしてＬＢＡとブロック数の情報を、ライト用の統計情報としてメモリ１８内のＤＲＡＭ又はＳＲＡＭに記憶しておく。最初は、ＤＲＡＭ上にライトデータがないため、書き込みコマンド＃Ｅ１のライトデータをＤＲＡＭに転送してからホスト装置に正常終了を報告する。シーケンシャルアクセスを意識しない第１実施例においては、このタイミングで回転数変動を行っていたが、本実施例では、シーケンシャルライトアクセスの場合に限って回転数変動を行うため、ここでは回転数変動を行わない。
【０１００】
次に、ホスト装置から書き込みコマンド＃Ｅ２が発行されると、前回と同様にアクセスパターンとしてＬＢＡとブロック数を統計情報として記憶する。又、ＤＲＡＭ上には１Ｆ０ｈ分の空き領域があるため、書き込みコマンド＃Ｅ２のライトデータを空きＤＲＡＭ域に転送し、ホスト装置に正常終了を報告する。以後、書き込みコマンド＃Ｅ１０までの書き込みコマンドに対して同様の処理すると、統計情報は基準値ｌに達する。基準値ｌは、いくつか考えられるが、ここでは書き込みコマンドがシーケンシャルで、その処理ブロック数の合計が１００ｈ以上になるとシーケンシャルライトアクセスと決定する。この状態で、ＤＲＡＭ領域のＸ％以上が空き領域であると、回転数変動行う。本実施例では、例えばＸを８０％とすると、ＤＲＡＭ領域の空き領域が１９０ｈ以上の場合とり、ここではＥ０ｈしかないので回転数変動を行わない。書き込みコマンド＃Ｄ２３を受け取ると、図３２に示すようにＤＲＡＭ上に１９０ｈ以上の空き領域があるので、このタイミングで回転数を変動させる。図３２は、第４実施例における回転数アップ処理とライトデータの流れを説明する図である。同図中、ＷＲＴはライト、ＣＭＤはコマンド、網掛け部はＤＲＡＭ上の空き領域を示す。又、▲１▼〜▲５▼は、夫々ＤＲＡＭの最初の状態からＤＲＡＭ上に１Ｅ０ｈの空き領域が得られる状態までを示す。
【０１０１】
図２８は、ステップＳ８５のライト用統計情報更新処理を説明するフローチャートである。同図中、Ｗは書き込みコマンドの最終ＬＢＡ、Ｘは前回の書き込みコマンドの最終ＬＢＡ、Ｙはシーケンシャルブロック数の総数を示す。
【０１０２】
図２８において、ステップＳ９１は、Ｕを書き込みコマンドの先頭ＬＢＡに設定し、ステップＳ９２は、Ｖを書き込みコマンドのブロック数に設定する。ステップＳ９３は、Ｕ+ＶをＷとして設定する。ステップＳ９４は、１個目の書き込みコマンドであるか否かを判定し、判定結果がＮＯであると、処理はステップＳ９５へ進む。ステップＳ９５は、ＷがＵと連続しているか否かを判定する。ステップＳ９５の判定結果がＹＥＳであると、ステップＳ９６は、Ｙ+ＶをＹに設定することでＹ値を増加させる。他方、ステップＳ９４の判定結果がＹＥＳ、又は、ステップＳ９５の判定結果がＮＯの場合には、ステップＳ９７は、０をＹに設定することでＹ値をクリアする。ステップＳ９６又はステップＳ９７の後、ステップＳ９８は、ＷをＸに設定することでＸ値を更新し、処理は終了する。
【０１０３】
図２９は、ライトデータとＤＲＡＭの空き領域を示す図である。又、図３０は、ライトデータを管理するテーブルを示す図である。
【０１０４】
図３１は、ステップＳ８７において、ＤＲＡＭ上の空き容量を調べる処理を説明するフローチャートである。同図中、ステップＳ１０１は、ライトデータ総ブロック（ＢＣ）数（Ｅ０ｈ）を、例えば書き込みコマンド＃１のＢＣ数と、書き込みコマンド＃２のＢＣ数と、書き込みコマンド＃３のＢＣ数と、書き込みコマンド＃４のＢＣ数との和に設定する。ステップＳ１０２は、ＤＲＡＭ上の空き容量（１２０ｈ）を、例えばＤＲＡＭの総容量（２００ｈ）からライトデータＢＣ数（Ｅ０ｈ）を減算した値に設定する。ステップＳ１０３は、ＤＲＡＭ上の空き領域が、例えばＤＲＡＭの総容量の８０％（１９０ｈ）以上であるか否かを判定し、判定結果がＹＥＳであると回転数変動可能と判断されて処理はステップＳ６２へ進み、ＮＯであると回転数変動不可と判断されて処理はステップＳ６３へ進む。
【０１０５】
このように、ライト処理において、シーケンシャルライトアクセスを検出することで、回転数変動による効果を得ることができる。又、ＤＲＡＭにＸ％以上の空き領域があれば回転数変動を行うので、回転数変動がホスト装置に影響を及ぼすことはない。
【０１０６】
尚、ホスト装置からの書き込みコマンドは、例えば次のようなものである。
＃Ｅ１．  書き込みコマンド:  ＬＢＡ＝１１００ｈ／ブロック数＝２０ｈ
＃Ｅ２．  書き込みコマンド:  ＬＢＡ＝１１２０ｈ／ブロック数＝２０ｈ
＃Ｅ３．  書き込みコマンド:  ＬＢＡ＝１１４０ｈ／ブロック数＝２０ｈ
＃Ｅ４．  書き込みコマンド:  ＬＢＡ＝１１６０ｈ／ブロック数＝２０ｈ
＃Ｅ５．  書き込みコマンド:  ＬＢＡ＝１１８０ｈ／ブロック数＝２０ｈ
＃Ｅ６．  書き込みコマンド:  ＬＢＡ＝１１Ａ０ｈ／ブロック数＝２０ｈ
＃Ｅ７．  書き込みコマンド:  ＬＢＡ＝１１Ｃ０ｈ／ブロック数＝２０ｈ
＃Ｅ８．  書き込みコマンド:  ＬＢＡ＝１１Ｅ０ｈ／ブロック数＝２０ｈ
＃Ｅ９．  書き込みコマンド:  ＬＢＡ＝１２００ｈ／ブロック数＝２０ｈ
＃Ｅ１０．書き込みコマンド:  ＬＢＡ＝１２２０ｈ／ブロック数＝２０ｈ
＃Ｅ１１．書き込みコマンド:  ＬＢＡ＝１２４０ｈ／ブロック数＝２０ｈ
＃Ｅ１２．書き込みコマンド:  ＬＢＡ＝１２６０ｈ／ブロック数＝２０ｈ
＃Ｅ１３．書き込みコマンド:  ＬＢＡ＝１２８０ｈ／ブロック数＝２０ｈ
…
＃Ｅｎ．  書き込みコマンド:  ＬＢＡ＝(１１００ｈ＋２０ｈ×ｎ)／ブロック数＝２０ｈ
ところで、光ディスク７２の回転数を変動させた場合、回転数が安定するまでに一定の時間がかかる。そこで、以下に説明する実施例では、回転数の切り替えを最小限に抑えることで、データ転送効率を更に向上させる。
【０１０７】
図３３は、第５実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図３３中、図１３及び図２１と同一ステップには同一符号を付し、その説明は省略する。
【０１０８】
本実施例では、図３４及び図３５に示すように、ＤＲＡＭ領域４００ｈを二区画に分け、一区画＝２００ｈブロック数とする。本実施例は、上記第１〜第３実施例によって回転数を上昇させた後に、高回転状態を継続させるものである。第１〜第３実施例では、使用するＤＲＡＭは１つであるが、本実施例では、１つのＤＲＡＭの領域を２つの領域ＤＲＡＭ＃１，ＤＲＡＭ＃２として用いるか、或いは，２つのＤＲＡＭの夫々の領域ＤＲＡＭ＃１，ＤＲＡＭ＃２を使用する。
【０１０９】
又、図３４及び図３５は、夫々第５実施例における回転数アップ処理後の高回転継続の流れを説明する図である。これらの図中、ＲＤはリード、ＷＲＴはライト、ＣＭＤはコマンド、網掛け部はＤＲＡＭ上の空き読みデータ、ハッチング部はＤＲＡＭ上の空き領域を示す。又、▲１▼〜▲５▼は、夫々ＤＲＡＭの空き領域へライトデータを転送した最初の状態からＤＲＡＭ上に先読みデータが１９０ｈ以上読み込まれた状態までを示す。
【０１１０】
図３３において、ステップＳ５７の後、ステップＳ１１１は、回転数を下げ、リード処理へ進む。他方、ステップＳ５１の判定結果がＮＯであると、ステップＳ１１２は、ＤＲＡＭ上に空き領域があるか否かを判定する。ステップＳ１１２の判定結果がＹＥＳであると、ステップＳ１１３は、ＤＲＡＭ上の空き領域にホスト装置からのライトデータを転送する。又、ステップＳ１１４は、ホスト装置へ正常終了報告を行い、ライト処理は待機状態となる。
【０１１１】
ステップＳ１１２の判定結果がＮＯであると、ステップＳ１１５は先読みを停止し、ステップＳ１１６は、ＤＲＡＭ上の空き領域にホスト装置からのライトデータを転送する。又、ステップＳ１１７は、ホスト装置に正常終了報告を行い、ステップＳ１１８は、回転数を下げ、ライト処理へ進む。
【０１１２】
先読みが停止されると、ステップＳ１２０は、未書き込みデータがあるか否かを判定し、判定結果がＮＯであると、ホスト装置からのコマンド待ち状態となる。他方、ステップＳ１２０の判定結果がＹＥＳであると、ライト処理は待機状態となる。
【０１１３】
ライト処理が待機状態となって、ステップＳ１１９で例えば２秒の待機時間が経過すると、ライト処理へ進む。
【０１１４】
つまり、先ず例えば上記第３実施例によって回転数が上げられた後、ホスト装置からゾーン０に対しての書き込みコマンド＃Ｆ１が発行されると、空いているＤＲＡＭ領域を確認する。領域ＤＲＡＭ＃１は、ゾーン１に対して高回転数で先読みを行っているため、領域ＤＲＡＭ＃２にライトデータを転送する。転送終了後、正常終了をホスト装置に報告するが、書き込み処理を直ちには行わず、領域ＤＲＡＭ＃１の先読み動作を継続する。
【０１１５】
次に、ホスト装置から読み込みコマンド＃Ｆ２が発行されると、リード用統計情報を更新した後、ＤＲＡＭ上にリードデータが在るか確認する。ここでは、先読み動作にて４０ｈブロック数のデータが領域ＤＲＡＭ＃１上に読み込まれているため、領域ＤＲＡＭ＃１上からホスト装置へリードデータを転送する。
【０１１６】
以後、書き込みコマンド＃Ｆ６１までのコマンドに対して同様の処理をすると、ＤＲＡＭ上に空いている領域がなくなる。ここで、先読み動作を停止させ、ゾーン０の回転数に切り替えてから、領域ＤＲＡＭ＃２のライトデータを光ディスク７２に書き込む。
【０１１７】
領域ＤＲＡＭ＃２の書き込みが終了すると、領域ＤＲＡＭ＃２に空きができるため、書き込みコマンド＃Ｆ６１のライトデータを転送する。このライトデータの転送終了後、ホスト装置へ正常終了を報告するが、直ちには書き込み処理を行わず、ホスト装置からのコマンドをｍ秒間待つ。本実施例では、ｍ＝２とする。従って、２秒以内にホスト装置から読み込みコマンド＃Ｆ６２が発行されると、領域ＤＲＡＭ＃１上にリードデータが在るため、リード用統計情報を更新した後、リードデータを領域ＤＲＡＭ＃１からホスト装置へ転送する。
【０１１８】
以後、読み込みコマンド＃Ｆ６５までのコマンドに対して同様の処理を行い、読み込みコマンド＃Ｆ６６に対しては、ＤＲＡＭ上に読み込みコマンド＃Ｆ６６のリードデータがないため、光ディスク７２から読み込む。続いて、読み込みコマンド＃Ｆ６６に続くデータの先読み動作を行う。読み込みコマンド＃Ｆ６６以降のコマンドに対して同様の処理を行うと、領域ＤＲＡＭ＃１上のリードヒット対象データが１２０ｈ以上になり、シーケンシャルアクセスであるため、上記第３実施例の場合と同様に再び回転数変動を行う。
【０１１９】
以後、前回と同様の処理を行い、ホスト装置から２秒以内にコマンドが来なければ、ＤＲＡＭ上のライトデータを光ディスク７２に書き込む。このように、読み込みコマンドによって回転数を上げた場合、現在のゾーン以外の、特に回転数をダウンするゾーンに対してのコマンドが来ると、そのコマンドに対する実動作をできるだけ後回しに処理することで、上昇した回転数を継続させ、回転数変動によるランダムアクセス性能及び転送速度の低下を防ぎ、転送効率を更に向上することができる。
【０１２０】
尚、ホスト装置からのコマンドは、例えば次のようなものである。
＃Ｆ１．    書き込みコマンド:  ＬＢＡ＝  １００ｈ／ＢＣ数＝２０ｈ
＃Ｆ２．    読み込みコマンド:  ＬＢＡ＝１１２０ｈ／ＢＣ数＝２０ｈ
＃Ｆ３．    読み込みコマンド:  ＬＢＡ＝１１４０ｈ／ＢＣ数＝２０ｈ
＃Ｆ４．    書き込みコマンド:  ＬＢＡ＝  １２０ｈ／ＢＣ数＝２０ｈ
＃Ｆ５．    読み込みコマンド:  ＬＢＡ＝１１６０ｈ／ＢＣ数＝２０ｈ
＃Ｆ６．    読み込みコマンド:  ＬＢＡ＝１１８０ｈ／ＢＣ数＝２０ｈ
＃Ｆ７．    書き込みコマンド:  ＬＢＡ＝  １４０ｈ／ＢＣ数＝２０ｈ
＃Ｆ８．    読み込みコマンド:  ＬＢＡ＝１１Ａ０ｈ／ＢＣ数＝２０ｈ
＃Ｆ９．    読み込みコマンド:  ＬＢＡ＝１１Ｃ０ｈ／ＢＣ数＝２０ｈ
…
＃Ｆｎ    ．書き込みコマンド:  ＬＢＡ＝１００ｈ＋２０×ｎｈ  ／ＢＣ数＝２０ｈ
…
＃Ｆｍ    ．読み込みコマンド:  ＬＢＡ＝１１２０ｈ＋２０×ｍｈ／ＢＣ数＝２０ｈ
＃Ｆｍ＋１．読み込みコマンド:  ＬＢＡ＝１１２０ｈ＋４０×ｎｈ／ＢＣ数＝２０ｈ
図３６は、第６実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。同図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図３６中、図２７及び図３３と同一ステップには同一符号を付し、その説明は省略する。
【０１２１】
本実施例では、図３７及び図３８に示すように、ＤＲＡＭ領域４００ｈを二区画に分け、一区画＝２００ｈブロック数とする。本実施例は、上記第１又は第４実施例によって回転数を上昇させた後に、高回転状態を継続させるものである。第１又は第４実施例では、使用するＤＲＡＭは１つであるが、本実施例では、１つのＤＲＡＭの領域を２つの領域ＤＲＡＭ＃１，ＤＲＡＭ＃２として用いるか、或いは，２つのＤＲＡＭの夫々の領域ＤＲＡＭ＃１，ＤＲＡＭ＃２を使用する。
【０１２２】
又、図３７及び図３８は、夫々第６実施例における回転数アップ処理後の高回転継続の流れを説明する図である。これらの図中、ＷＲＴはライト、ＣＭＤはコマンド、ハッチング部はＤＲＡＭ上の空き領域を示す。又、▲１▼〜▲５▼は、夫々ＤＲＡＭの空き領域へライトデータを転送した最初の状態からゾーン０への書き込みが行われる状態までを示す。
【０１２３】
図３６において、ホスト装置から書き込みコマンドが発行されると、ステップＳ８５はライト用統計情報更新処理を行い、処理はステップＳ１１２へ進む。他方、ライト処理が終了すると、未書き込みデータがあるか否かを判定し、判定結果がＮＯであると、ホスト装置からのコマンド待ち状態となる。ステップＳ１２０の判定結果がＹＥＳであると、ステップＳ１２２は、前回と同じゾーンのライトデータがあるか否かを判定し、判定結果がＹＥＳであると、ライト処理は終了する。ステップＳ１２２の判定結果がＮＯであると、ホスト装置からのコマンド待ち状態となる。ライト処理が待ち状態となって、ステップＳ１１９で例えば２秒の書き込み待機時間が経過すると、ライト処理は終了する。
【０１２４】
つまり、先ず例えば第４実施例によって回転数が上げられた後、ホスト装置からゾーン０に対しての書き込みコマンド＃Ｇ１が発行されると、ライト用統計情報を更新した後、空いているＤＲＡＭ領域を確認する。ここで、領域ＤＲＡＭ＃１は、ゾーン１に対して高回転数で書き込み（ＬＢＡ＝１３Ｃ０ｈ〜１６１Ｆｈ）を行っているため、領域ＤＲＡＭ＃２にライトデータを転送する。この転送終了後、正常終了をホスト装置へ報告する。続いて、ホスト装置からゾーン１に対しての書き込みコマンド＃Ｇ２が発行されると、前回と同様にライト用統計情報を更新した後、空いている領域ＤＲＡＭ＃２にライトデータを転送し、正常終了をホスト装置へ報告する。以後、書き込みコマンド＃Ｇ７までの書き込みコマンドに対しても同様の処理を行う。
【０１２５】
領域ＤＲＡＭ＃１の書き込みが終了すると、引き続き高回転で書き込み処理可能なゾーン１に対してのライトデータ＃Ｇ２を優先的に書き込む。続いて、ホスト装置からゾーン０に対しての書き込みコマンド＃Ｇ８が発行されると、前回と同様にライト用統計情報を更新した後、書き込みを終了した領域ＤＲＡＭ＃１にライトデータを転送し、正常終了をホスト装置へ報告する。以後、書き込みコマンド＃Ｇ１３までの書き込みコマンドに対しても同様の処理を行う。
【０１２６】
書き込みコマンド＃Ｇ２に対する書き込み終了後、引き続きゾーン１に対してのライトデータ（＃Ｇ４／＃Ｇ６／＃Ｇ８／＃Ｇ１０／＃Ｇ１２）を優先して書き込み、高回転を維持する。ゾーン１に対する書き込みが全て終了すると、ゾーン０に対する書き込み処理を直ちには行わず、ホスト装置からのコマンドをｍ秒間待つ。本実施例では、例えばｍ＝２とする。従って、２秒以内に、ホスト装置からゾーン１に対する書き込みコマンドが発行されれば、引き続きゾーン１に対する書き込み処理を優先して行う。逆に、ゾーン１以外の書き込みコマンドが発行されると、ＤＲＡＭの空いている領域にライトデータを転送し、前回と同様に２秒間待ってから回転数を変動し、ゾーン０の書き込みを行う。又、ホスト装置からゾーン１、或いは、他のゾーンに対しての書き込みコマンドが発行され、回転数変動可能な場合には、上記第４実施例のようにライト用統計情報とＤＲＡＭ領域の空き状態に応じて回転数を上げる。
【０１２７】
このように、書き込みコマンドによって回転数を上げた場合、現在のゾーン以外の、特に回転数をダウンするゾーンに対してのコマンドが来ると、そのコマンドに対する実動作をできるだけ後回しに処理することで、上昇した回転数を継続させ、回転数変動によるランダムアクセス性能及び転送速度の低下を防ぎ、転送効率を更に向上することができる。
【０１２８】
尚、ホスト装置からの書き込みコマンドは、例えば次のようなものである。
＃Ｇ１．    書き込みコマンド:  ＬＢＡ＝  １００ｈ／ＢＣ数＝２０ｈ
＃Ｇ２．    書き込みコマンド:  ＬＢＡ＝１７００ｈ／ＢＣ数＝２０ｈ
＃Ｇ３．    書き込みコマンド:  ＬＢＡ＝  １２０ｈ／ＢＣ数＝２０ｈ
＃Ｇ４．    書き込みコマンド:  ＬＢＡ＝１７２０ｈ／ＢＣ数＝２０ｈ
＃Ｇ５．    書き込みコマンド:  ＬＢＡ＝  １４０ｈ／ＢＣ数＝２０ｈ
＃Ｇ６．    書き込みコマンド:  ＬＢＡ＝１７４０ｈ／ＢＣ数＝２０ｈ
＃Ｇ７．    書き込みコマンド:  ＬＢＡ＝  １６０ｈ／ＢＣ数＝２０ｈ
＃Ｇ８．    書き込みコマンド:  ＬＢＡ＝１７６０ｈ／ＢＣ数＝２０ｈ
＃Ｇ９．    書き込みコマンド:  ＬＢＡ＝  １８０ｈ／ＢＣ数＝２０ｈ
＃Ｇ１０．  書き込みコマンド:  ＬＢＡ＝１７８０ｈ／ＢＣ数＝２０ｈ
＃Ｇ１１．  書き込みコマンド:  ＬＢＡ＝  １Ａ０ｈ／ＢＣ数＝２０ｈ
＃Ｇ１２．  書き込みコマンド:  ＬＢＡ＝１７Ａ０ｈ／ＢＣ数＝２０ｈ
＃Ｇ１３．  書き込みコマンド:  ＬＢＡ＝  １Ｃ０ｈ／ＢＣ数＝２０ｈ
…
図３９及び図４０は、第７実施例におけるＤＲＡＭ内の状態に基づく回転数の制御を説明するフローチャートである。これらの図に示す処理は、ＭＰＵ１２により行われ、図５に示すアクセスの連続性判断の要否を判定するステップＳ１１と関連している。図３９及び図４０中、図２７及び図３６と同一ステップには同一符号を付し、その説明は省略する。
【０１２９】
本実施例では、図４１及び図４２に示すように、ＤＲＡＭ領域４００ｈを二区画に分け、一区画＝２００ｈブロック数とする。本実施例は、上記第１又は第４実施例によって回転数を上昇させた後に、高回転状態を継続させるものである。第１又は第４実施例では、使用するＤＲＡＭは１つであるが、本実施例では、１つのＤＲＡＭの領域を２つの領域ＤＲＡＭ＃１，ＤＲＡＭ＃２として用いるか、或いは，２つのＤＲＡＭの夫々の領域ＤＲＡＭ＃１，ＤＲＡＭ＃２を使用する。
【０１３０】
又、図４１及び図４２は、夫々第７実施例における既存回転数での優先ライト処理と回転数アップ処理の流れを説明する図である。これらの図中、ＷＲＴはライト、ＣＭＤはコマンドを示す。又、▲１▼〜▲４▼は、夫々ＤＲＡＭが書き込みコマンド＃Ｉ１〜＃Ｉ３のライトデータを保持中に書き込みコマンド＃Ｈ１〜のライトデータを上位装置から受領する最初の状態から、回転数を上げて書き込みコマンド＃Ｈ１〜のライトデータを光ディスク７２に書き込む状態までを示す。尚、５０１は、今回ホスト装置から受領してＤＲＡＭに転送された書き込みコマンド＃Ｈ１〜のライトデータを示し、５０２は、既にＤＲＡＭに転送されて保持されている書き込みコマンド＃Ｉ１〜＃Ｉ３のライトデータを示す。説明の便宜上、書き込みコマンド＃Ｉ１，＃Ｉ２のライトデータはゾーン０に書き込まれ、書き込みコマンド＃Ｉ３のライトデータはゾーン２に書き込まれ、書き込みコマンド＃Ｈ１〜のライトデータはゾーン５に書き込まれるものとする。
【０１３１】
図３９に示す処理は、ホスト装置から書き込みコマンドが発行され、ステップＳ８５がライト用統計情報更新処理を実行する際の光ディスク７２の回転数が、通常モードの、上げられていない回転数である点を除けば、処理は図３６の場合と同じである。
【０１３２】
又、図４０に示す処理は、ライト処理が終了してステップＳ８６が実行される際の光ディスク７２の回転数が、通常モードの、上げられてない回転数である点を除けば、処理は図２７の場合と実質的に同じである。ただし、図４０の処理の場合、ステップＳ８７の判定結果がＮＯであると、ステップＳ１３１が回転数変動不可と判断してからステップＳ６３へ進み、ステップＳ８７の判定結果がＹＥＳであると、ステップＳ１３２で回転数変動可能と判断してからステップＳ１２２へ進む。又、ステップＳ１２２の判定結果がＮＯであると、処理はステップＳ６３へ進み、ＹＥＳであると、処理はステップＳ６２へ進む。
【０１３３】
つまり、ホスト装置からの書き込みコマンドは、例えば次のようなものであるものとする。
…
＃Ｉ１．    書き込みコマンド:  ＬＢＡ＝      ０ｈ／ＢＣ数＝２０ｈ・・・ゾーン０
＃Ｉ２．    書き込みコマンド:  ＬＢＡ＝    ２０ｈ／ＢＣ数＝２０ｈ・・・ゾーン０
＃Ｉ３．    書き込みコマンド:  ＬＢＡ＝２０００ｈ／ＢＣ数＝２０ｈ・・・ゾーン２
…
＃Ｈ１．    書き込みコマンド:  ＬＢＡ＝１１００ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ２．    書き込みコマンド:  ＬＢＡ＝１１２０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ３．    書き込みコマンド:  ＬＢＡ＝１１４０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ４．    書き込みコマンド:  ＬＢＡ＝１１６０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ５．    書き込みコマンド:  ＬＢＡ＝１１８０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ６．    書き込みコマンド:  ＬＢＡ＝１１Ａ０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ７．    書き込みコマンド:  ＬＢＡ＝１１Ｃ０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ８．    書き込みコマンド:  ＬＢＡ＝１１Ｅ０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ９．    書き込みコマンド:  ＬＢＡ＝１２００ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ１０．  書き込みコマンド:  ＬＢＡ＝１２２０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ１１．  書き込みコマンド:  ＬＢＡ＝１２４０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ１２．  書き込みコマンド:  ＬＢＡ＝１２６０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
＃Ｈ１３．  書き込みコマンド:  ＬＢＡ＝１２８０ｈ／ＢＣ数＝２０ｈ・・・ゾーン５
…
＃Ｈｎ．    書き込みコマンド:  ＬＢＡ＝（１１００ｈ+２０ｈ×ｎ）／ＢＣ数＝２０ｈ・・・ゾーン５
…
この場合、書き込みコマンド＃Ｈ１〜により回転数変動条件を満たす場合、ＤＲＡＭが回転数変動対象ゾーン以外のライトデータを保持していると、回転数変動を行わずに、回転数変動対象ゾーン以外のライトデータを既存の回転数で優先して光ディスク７２に書き込む。つまり、書き込みコマンド＃Ｉ１，＃Ｉ２のライトデータがゾーン０に書き込まれ、書き込みコマンド＃Ｉ３のライトデータがゾーン２に書き込まれる。回転数変動対象ゾーン以外のライトデータを全て光ディスク７２に書き込んでから、回転数変動対象ゾーンのライトデータを、回転数をアップしてから光ディスク７２に書き込む。これにより、書き込みコマンド＃Ｈ１〜のライトデータが、回転数を上げてからゾーン５に書き込まれる。
【０１３４】
これにより、例えば上記第４実施例において、ホスト装置から連続する書き込みコマンドを受領した際、他のゾーンに対する書き込みコマンドのライトデータをＤＲＡＭに保持している状態であり、且つ、連続する書き込みコマンドによる回転数変動条件を満足する場合には、他のゾーンに対する書き込みを既存の（現状の）回転数で優先して書き込むことで、回転数変動回数を少なくして、回転数変動による性能低下を防止する。
【０１３５】
又、上記各実施例では、本発明が光磁気ディスクを用いる光ディスク装置に適用されているが、他の相変化型の光ディスクや磁気ディスク等のディスク状記録媒体を用いる装置にも同様に適用可能であることは、言うまでもない。又、記録媒体の形状は、ディスク形状に限定されず、上記実施例におけるディスクと同様な螺旋状又は略同心円状のトラックを有するカード形状等であっても良い。
【０１３６】
尚、本発明は、以下に付記する発明をも包含するものである。
【０１３７】
（付記１）  半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体の回転を制御する回転制御方法であって、
該記録媒体にライトするライトデータを一時的に格納及び／又は該記録媒体からリードされたリードデータを一時的に格納するバッファメモリ内の状態を検出する検出ステップと、
半径方向に分割された複数のエリアのうち、アクセスされたエリアに応じて、前記検出ステップで検出された状態に基いたタイミングで該記録媒体の回転数を切り替え制御する制御ステップとを含むことを特徴とする、回転制御方法。
【０１３８】
（付記２）  前記制御ステップは、リードアクセス時には前記バッファメモリ内で前記リードデータが占有する容量が第１の容量以上となると回転数を切り替えると共に、ライトアクセス時には前記バッファメモリ内の空き容量が第２の容量以上となると回転数を切り替えることを特徴とする、（付記１）記載の回転制御方法。
【０１３９】
（付記３）  前記制御ステップは、同じ回転数を用いるアクセスを優先してから回転数を切り替えることを特徴とする、（付記１）又は（付記２）記載の回転制御方法。
【０１４０】
（付記４）  前記制御ステップは、回転数を切り替える条件が満足された一定遅延時間後に初めて回転数の切り替えを行うことを特徴とする、（付記１）〜（付記３）のいずれか１項記載の回転制御方法。
【０１４１】
（付記５）  半径方向に分割された複数のゾーンを有するＣＡＶ方式の記録媒体に対して情報の記録及び／又は再生を行う記憶装置であって、
該記録媒体にライトするライトデータを一時的に格納及び／又は該記録媒体からリードされたリードデータを一時的に格納するバッファメモリと、
該バッファメモリ内の状態を検出する検出手段と、
半径方向に分割された複数のエリアのうち、アクセスされたエリアに応じて、前記検出手段で検出された状態に基いたタイミングで該記録媒体の回転数を切り替え制御する制御手段とを備えたことを特徴とする、記憶装置。
【０１４２】
（付記６）  前記制御手段は、リードアクセス時には前記バッファメモリ内で前記リードデータが占有する容量が第１の容量以上となると回転数を切り替え、及び／又は、ライトアクセス時には前記バッファメモリ内の空き容量が第２の容量以上となると回転数を切り替えることを特徴とする、（付記５）記載の記憶装置。
【０１４３】
（付記７）  前記制御手段は、同じ回転数を用いるアクセスを優先してから回転数を切り替えることを特徴とする、（付記５）又は（付記６）記載の記憶装置。
【０１４４】
（付記８）  前記制御手段は、回転数を切り替える条件が満足された一定遅延時間後に初めて回転数の切り替えを行うことを特徴とする、（付記５）〜（付記７）のいずれか１項記載の記憶装置。
【０１４５】
（付記９）  前記記録媒体を第１の回転数で回転する通常モードと、該記録媒体の任意のエリアよりインナ側のエリアへのアクセスの際には該記録媒体を前記第１の回転数より高い１又は複数の第２の回転数で回転する高速モードとを有し、
前記制御手段は、回転数を前記第１の回転数と前記第２の回転数との間で切り替えることを特徴とする、（付記５）〜（付記８）のいずれか１項記載の記憶装置。
【０１４６】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは、言うまでもない。
【０１４７】
【発明の効果】
本発明によれば、記録媒体の使用状況に応じて、データ転送速度及びランダムアクセス性能を最適に設定可能とすることのできる回転制御方法及び記憶装置を実現できる。又、バッファメモリの使用状況を検出することにより、回転数切り替え（変動）時間がホスト装置から見えなくなるため、ホスト装置に対する転送レートを落とすことなく、所望の転送レートを確保することができる。
【図面の簡単な説明】
【図１】本発明になる記録装置の第１実施例の構成を示すブロック図である。
【図２】エンクロージャの概略構成を示す断面図である。
【図３】光記録媒体上のゾーンと、データ転送レートと、光記録媒体の回転数との関係を示す図である。
【図４】光記録媒体上のゾーンに対するデータ転送レート及び光記録媒体の回転数の関係を示す図である。
【図５】第１実施例におけるＭＰＵの動作を説明するフローチャートである。
【図６】第１実施例におけるＭＰＵの動作を説明するフローチャートである。
【図７】光記録媒体上のゾーンと、記録／再生クロック周波数と、光記録媒体の回転数との関係を示す図である。
【図８】光記録媒体上のゾーンと、記録／再生パワーと、光記録媒体の回転数との関係を示す図である。
【図９】偏心加速度情報切り替え処理を説明するフローチャートである。
【図１０】偏心加速度情報切り替え処理を説明する図である。
【図１１】光記録媒体上に設けられたバッファ領域を説明する図である。
【図１２】各ゾーン毎の物理ブロックアドレスと回転数の関係を示す図である。
【図１３】第１実施例における回転数制御を説明するフローチャートである。
【図１４】第１実施例における回転数アップ処理とリードデータの流れを説明する図である。
【図１５】第１実施例における回転数アップ処理とライトデータの流れを説明する図である。
【図１６】第２実施例における回転数の制御を説明するフローチャートである。
【図１７】リードヒット対象データとＤＲＡＭの空き領域を示す図である。
【図１８】リードヒット対象データを管理するテーブルを示す図である。
【図１９】ＤＲＡＭ上のリードヒット対象データの量を調べる処理を説明するフローチャートである。
【図２０】第２実施例における回転数アップ処理とＤＲＡＭ上のリードヒット対象データを説明する図である。
【図２１】第３実施例における回転数の制御を説明するフローチャートである。
【図２２】リード用統計情報更新処理を説明するフローチャートである。
【図２３】リードヒット対象データとＤＲＡＭの空き領域を示す図である。
【図２４】リードヒット対象データを管理するテーブルを示す図である。
【図２５】ＤＲＡＭ上のリードヒット対象データの量を調べる処理を説明するフローチャートである。
【図２６】第３実施例における回転数アップ処理とリードデータの流れを説明する図である。
【図２７】第４実施例における回転数の制御を説明するフローチャートである。
【図２８】ライト用統計情報更新処理を説明するフローチャートである。
【図２９】ライトデータとＤＲＡＭの空き領域を示す図である。
【図３０】ライトデータを管理するテーブルを示す図である。
【図３１】ＤＲＡＭ上の空き容量を調べる処理を説明するフローチャートである。
【図３２】第４実施例における回転数アップ処理とライトデータの流れを説明する図である。
【図３３】第５実施例における回転数の制御を説明するフローチャートである。
【図３４】第５実施例における回転数アップ処理後の高回転継続の流れを説明する図である。
【図３５】第５実施例における回転数アップ処理後の高回転継続の流れを説明する図である。
【図３６】第６実施例における回転数の制御を説明するフローチャートである。
【図３７】第６実施例における回転数アップ処理後の高回転継続の流れを説明する図である。
【図３８】第６実施例における回転数アップ処理後の高回転継続の流れを説明する図である。
【図３９】第７実施例における回転数の制御を説明するフローチャートである。
【図４０】第７実施例における回転数の制御を説明するフローチャートである。
【図４１】第７実施例における既存回転数での優先ライト処理と回転数アップ処理の流れを説明する図である。
【図４２】第７実施例における既存回転数での優先ライト処理と回転数アップ処理の流れを説明する図である。
【符号の説明】
１０      コントロールユニット
１１      エンクロージャ
１２      ＭＰＵ
１４      ＯＤＣ
１６      ＤＳＰ
１８      メモリ
２０      ライトＬＳＩ回路
２４      リードＬＳＩ回路
【図１】
0003831189.tif 000002
【図２】
0003831189.tif 000003
【図３】
0003831189.tif 000004
【図４】
0003831189.tif 000005
【図５】
0003831189.tif 000006
【図６】
0003831189.tif 000007
【図７】
0003831189.tif 000008
【図８】
0003831189.tif 000009
【図９】
0003831189.tif 000010
【図１０】
0003831189.tif 000011
【図１１】
0003831189.tif 000012
【図１２】
0003831189.tif 000013
【図１３】
0003831189.tif 000014
【図１４】
0003831189.tif 000015
【図１５】
0003831189.tif 000016
【図１６】
0003831189.tif 000017
【図１７】
0003831189.tif 000018
【図１８】
0003831189.tif 000019
【図１９】
0003831189.tif 000020
【図２０】
0003831189.tif 000021
【図２１】
0003831189.tif 000022
【図２２】
0003831189.tif 000023
【図２３】
0003831189.tif 000024
【図２４】
0003831189.tif 000025
【図２５】
0003831189.tif 000026
【図２６】
0003831189.tif 000027
【図２７】
0003831189.tif 000028
【図２８】
0003831189.tif 000029
【図２９】
0003831189.tif 000030
【図３０】
0003831189.tif 000031
【図３１】
0003831189.tif 000032
【図３２】
0003831189.tif 000033
【図３３】
0003831189.tif 000034
【図３４】
0003831189.tif 000035
【図３５】
0003831189.tif 000036
【図３６】
0003831189.tif 000037
【図３７】
0003831189.tif 000038
【図３８】
0003831189.tif 000039
【図３９】
0003831189.tif 000040
【図４０】
0003831189.tif 000041
【図４１】
0003831189.tif 000042
【図４２】
0003831189.tif 000043