(57)【特許請求の範囲】
【請求項１】
記憶媒体が交換自在で、かつ上位装置とのデータの転送が行われる可換媒体型記憶装置において、
前記上位装置からのリードコマンドで指示された記憶媒体の所定のアドレスからデータを読み出すリード手段と、
記憶媒体が挿入される前に、前記リードコマンドで指示されたアドレス情報を記憶し、リードコマンドが発行される毎に更新されるアドレス情報記憶手段と、
前記アドレス情報記憶手段に格納されたアドレス情報を有効又は無効とする管理を行う管理手段と、
前記記憶媒体に対して最初のリードコマンドが発行される前に、前記リード手段がアドレス情報記憶手段に記憶された有効なアドレス情報に対応するデータを記憶媒体から読み出す制御を実行する制御手段と、
前記記憶媒体から読み出されたデータを格納するデータ格納手段と、
を備えてなることを特徴とする可換媒体型記憶装置。
【請求項２】
前記アドレス情報記憶手段が記憶するアドレス情報は、アドレス及び処理ブロック数であることを特徴とする請求項１記載の可換媒体型記憶装置。
【請求項３】
前記記憶媒体の制御領域から読み出して記憶媒体の識別情報を獲得する識別情報獲得手段を備え、
前記アドレス情報記憶手段は、前記識別情報獲得手段より得られた前記識別情報に対応付けて前記アドレス情報を記憶することを特徴とする請求項１または２記載の可換媒体型記憶装置。
【請求項４】
前記アドレス情報記憶手段は、格納された複数のアドレス情報を、そのアドレス情報に対応するデータの総合的な位置付けの距離が短くなるように再配列することを特徴とする請求項１〜３記載のうちいずれか一項記載の可換媒体型記憶装置。
【請求項５】
前記アドレス情報記憶手段は、一時記憶メモリ又は不揮発性メモリで構成されてなることを特徴とする請求項１〜４記載のうちいずれか一項記載の可換媒体型記憶装置。
【請求項６】
光ディスク媒体が交換自在で、かつ上位装置とのデータの転送が行われる光ディスク装置において、
前記上位装置からのリードコマンドで指示された前記光ディスク媒体の所定のアドレスからデータを読み出す再生手段と、
光ディスク媒体が挿入される前に、前記リードコマンドで指示されたアドレス情報を記憶し、リードコマンドが発行される毎に更新されるアドレス情報記憶手段と、
前記アドレス情報記憶手段に格納されたアドレス情報を有効又は無効とする管理を行う管理手段と、
前記光ディスク媒体に対して最初のリードコマンドが発行される前に、前記再生手段がアドレス情報記憶手段に記憶された有効なアドレス情報に対応するデータを光ディスク媒体から読み出す制御を実行する制御手段と、
前記光ディスク媒体から読み出されデータを格納するデータ格納手段と、
を備えてなることを特徴とする光ディスク装置。
【請求項７】
前記光ディスク媒体の制御領域から読み出して前記光ディスク媒体の識別情報を獲得する識別情報獲得手段を備え、
前記アドレス情報記憶手段は、前記識別情報獲得手段より得られた前記識別情報に対応付けて前記アドレス情報を記憶することを特徴とする請求項６記載の光ディスク装置。
【請求項８】
前記識別情報獲得手段は、上位装置からのコマンドにより前記光ディスク媒体の識別情報を獲得することを特徴とする請求項７記載の光ディスク装置。
【請求項９】
記憶媒体の交換自在な可換媒体型記憶装置により上位装置からのリードコマンドに応じて前記記憶媒体からデータを読み出し、該データの転送を行うデータ転送制御方法において、
前記上位装置からのリードコマンドで指示された記憶媒体に対するアドレス情報を記憶するステップと、
前記記憶されたアドレス情報を有効または無効とするステップと、
記憶媒体が可換媒体型記憶装置に挿入された後で、かつ記憶媒体に対して最初のリードコマンドが発行される前に、前記有効なアドレス情報に対応するデータを前記記憶媒体から読み出すステップと、
前記読み出されたデータを格納するステップと、
前記アドレス情報を更新するステップと、
を備えることを特徴とするデータ転送制御方法。
【請求項１０】
前記上位装置からの指示を受け該アドレス情報の最新のものを有効とし、該上位装置より無効の指示が発行されるまで該アドレス情報を前記アドレス情報記憶手段に保持させることを特徴とする請求項９記載のデータ転送制御方法。
【請求項１１】
光ディスク媒体の交換自在な光ディスク装置が上位装置からのリードコマンドに応じて前記記憶媒体によりデータを読み出し、該データの転送を行うデータ転送制御方法において、
前記上位装置からのリードコマンドで指示された光ディスク媒体に対するアドレス情報を記憶するステップと、
前記記憶されたアドレス情報を有効または無効とするステップと、
光ディスク媒体が光ディスク装置に挿入された後で、かつ光ディスク媒体に対して最初のリードコマンドが発行される前に、前記有効なアドレス情報に対応するデータを前記光ディスク媒体から読み出すステップと、
前記読み出されたデータと格納するステップと、
前記アドレス情報を更新するステップとを備えることを特徴とするデータ転送制御方法。
【請求項１２】
前記光ディスク媒体が光ディスク装置に挿入された後に、前記光ディスク媒体の識別情報を獲得するステップと、
前記識別情報に対応付けて前記アドレス情報を記憶するステップとを更に備えることを特徴とする請求項１１記載のデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、交換自在な媒体のローディング後にデータ読み出しを行う可換媒体型記憶装置に関する。
近年、可換媒体型記憶装置を備える上位装置で構成される情報処理システムでは、上位装置と記憶装置との間でアクセスの高速化が要求されている。そのため、媒体種別やＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）  に拘わらず媒体ローディング後のデータ読み出しの高速化が望まれている。
【０００２】
【従来の技術】
従来、媒体交換可能な記憶装置としての磁気ディスク装置、光ディスク装置、ＣＤ−ＲＯＭ装置等では、記憶ディスク等の媒体がローディングされるとデフェクト管理情報などを読み出した後、上位装置からのコマンド指示があるまでコマンド待ち状態となり、コマンドを受領したときに初めて処理が開始される。
【０００３】
すなわち、自動的に媒体のマウントを認識しないコンピュータシステムでは、一般的に媒体がロードされた後にオペレータがファイルアクセスするまではその媒体にアクセスすることができず、オペレータが媒体上のファイルにアクセスしたときにＯＳが最初にシステム管理情報の読み出しを行い、その後に本来のオペレータの目的にファイル操作のための処理を行う。
【０００４】
また、ＯＳによってはホストコンピュータより一定時間間隔で所有のコマンドを発行して媒体ローディング後に当該コマンドの処理（システム管理情報等の読み出し等）を行う。
そこで、図１７に、従来の媒体ローディング時における処理の一例のフローチャートを示す。図１７において、まず電源投入又はリセットが行われると（ステップ（Ｓ）２０１）、媒体投入されているかが媒体ローディング機構が備えるセンサにより判断され（Ｓ２０２）、媒体投入されていないときにコマンドが発行されているかが判断される（Ｓ２０３）。コマンドが発行されていればコマンド処理が行われる（Ｓ２０４）。
【０００５】
媒体が投入されていると、スピンドルモータの回転駆動等の媒体ローディング処理が行われ（Ｓ２０５）、媒体が排出されたか、又は排出指示があったか否かが判断され（Ｓ２０６）、排出指示があった場合には排出処理が行われる（Ｓ２０７）。
【０００６】
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ２０８）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され（Ｓ２０９）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ２１０）、Ｓ２０６に戻る。
【０００７】
発行コマンドがリードコマンドの場合、例えばＯＳ管理情報のリードの場合には、読み出しヘッドをリード指示のアドレスに位置付けし、データを読み出してバッファに格納し、そしてバッファより上位装置にデータ転送を行うリード処理が行われ（Ｓ２１１）、Ｓ２０６に戻る。
【０００８】
このように、上位装置よりリードコマンドが発行されてからＯＳ管理情報等のリードが行われるものである。
【０００９】
【発明が解決しようとする課題】
しかし、上述のように、媒体投入後に上位装置よりリードコマンドが発行された後にヘッドのシーク動作等のメカニカルな動作が行われることから、上位装置からのアクセスに対して応答が遅くなり、アクセスの高速化を図ることができないという問題がある。特に光ディスク装置においては、媒体投入後に発光パワーの調整、トラッキング、フォーカシング等の光学ヘッドの調整が必要であることから、アクセスの高速化を図ることができないという問題がある。
【００１０】
ところで、上位装置と記憶装置との間のアクセスの高速化を図るものとして、例えば特開昭６２−２７４４６号公報、特開平１−１６６２４０号公報、特開平１−１２２４８８号公報等に記載されている方法が知られている。
特開昭６２−２７４４６号公報は、システムの立ち上げ時に予め中央処理装置（上位装置）からの指示（コマント）に基づいて非常注プログラムを読み出してＲＡＭ（ランダムアクセスメモリ）記憶回路に転送させるものであり、上述のように媒体のローディング後に中央処理装置からの指示かあってからシーク動作等が行われて媒体ローディング後のアクセスに対して応答が遅くなるという問題がある。
【００１１】
また、特開平１−１６６４２０号公報は、不揮発性メモリ（磁気ディスク）に格納されているプログラムを、該不揮発性メモリに格納されているロード情報ファイルを読み出してその内容に従って不揮発性メモリから作業メモリ（バッファ）を介さずに直接主メモリに転送するものであり、上記と同様にロード情報ファイルの読み取り要求によりシーク動作等が行われて媒体ローディング後のアクセスに対して応答が遅くなるという問題がある。
【００１２】
さらに、特開平２−１２２４８８号公報は、ディスクローディング時に予め所定アドレスのデータを読み出すものであり、これによってもホストシステムからの読出し命令があってからアクセス手段によりシーク動作等が行われ、命令待ちから読出し命令発行による時間を要するという問題があると共に、媒体の変更（フォーマット等の変更）やオペレーションシステムの変更に対処することができないという問題がある。
【００１３】
そこで、本発明は上記課題に鑑みなされたもので、媒体種別及びオペレーションシステムを問わずに媒体ローディング後の媒体アクセスの高速化を図る可換媒体型記憶装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記課題を解決するために、請求項１では、記憶媒体が交換自在で、かつ上位装置とのデータの転送が行われる可換媒体型記憶装置において、前記上位装置からのリードコマンドで指示された記憶媒体の所定のアドレスからデータを読み出すリード手段と、記憶媒体が挿入される前に、前記リードコマンドで指示されたアドレス情報を記憶し、リードコマンドが発行される毎に更新されるアドレス情報記憶手段と、前記アドレス情報記憶手段に格納されたアドレス情報を有効又は無効とする管理を行う管理手段と、前記記憶媒体に対して最初のリードコマンドが発行される前に、前記リード手段がアドレス情報記憶手段に記憶された有効なアドレス情報に対応するデータを記憶媒体から読み出す制御を実行する制御手段と、前記記憶媒体から読み出されたデータを格納するデータ格納手段と、を備えてなる可換媒体型記憶装置が構成される。
【００１５】
請求項２では、前記アドレス情報記憶手段が記憶するアドレス情報は、アドレス及び処理ブロック数である。
請求項３では、前記記憶媒体の制御領域から読み出して前記記憶媒体の識別情報を獲得する識別情報獲得手段を備え、前記アドレス情報記憶手段は、前記識別情報獲得手段より得られた前記識別情報に対応付けて前記アドレス情報を記憶する。
【００１６】
請求項４では、前記アドレス情報記憶手段は、格納された複数のアドレス情報を、そのアドレス情報にして対応するデータの総合的な位置付けの距離が短くなるように再配列なる。
請求項５では、前記アドレス情報記憶手段は、一時記憶メモリ又は不揮発性メモリで構成されてなる。
【００１７】
請求項６では、光ディスク媒体が交換自在で、かつ上位装置とのデータの転送が行われる光ディスク装置において、前記上位装置からのリードコマンドで指示された前記光ディスク媒体の所定のアドレスからデータを読み出す再生手段と、光ディスク媒体が挿入される前に、前記リードコマンドで指示されたアドレス情報を記憶し、リードコマンドが発行される毎に更新されるアドレス情報記憶手段と、前記アドレス情報記憶手段に格納されたアドレス情報を有効又は無効とする管理を行う管理手段と、前記光ディスク媒体に対して最初のリードコマンドが発行される前に、前記再生手段がアドレス情報記憶手段に記憶された有効なアドレス情報に対応するデータを光ディスク媒体から読み出す制御を実行する制御手段と、前記光ディスク媒体から読み出されデータを格納するデータ格納手段と、を備えてなることを特徴とする光ディスク装置が構成される。
【００１８】
請求項７では、前記光ディスク媒体の制御領域から読み出して前記光ディスク媒体の識別情報を獲得する識別情報獲得手段を備え、前記アドレス情報記憶手段は、前記識別情報獲得手段より得られた前記識別情報に対応付けて前記アドレス情報を記憶する。
請求項８では、識別情報獲得手段は、上位装置からのコマンドにより前記光ディスク媒体の識別情報を獲得する。
【００１９】
請求項９では、記憶媒体の交換自在な可換媒体型記憶装置により上位装置からのリードコマンドに応じて前記記憶媒体からデータを読み出し、該データの転送を行うデータ転送制御方法において、前記上位装置からのリードコマンドで指示された記憶媒体に対するアドレス情報を記憶するステップと、前記記憶されたアドレス情報を有効または無効とするステップと、記憶媒体が可換媒体型記憶装置に挿入された後で、かつ記憶媒体に対して最初のリードコマンドが発行される前に、前記有効なアドレス情報に対応するデータを前記記憶媒体から読み出すステップと、前記読み出されたデータを格納するステップと、前記アドレス情報を更新するステップと、を備えるデータ転送制御方法が構成される。
【００２０】
請求項１０では、前記上位装置からの指示を受け該アドレス情報の最新のものを有効とし、該上位装置より無効の指示が発行されるまで該アドレス情報を前記アドレス情報記憶手段に保持させる。
【００２１】
請求項１１では、光ディスク媒体の交換自在な光ディスク装置が上位装置からのリードコマンドに応じて前記記憶媒体によりデータを読み出し、該データの転送を行うデータ転送制御方法において、前記上位装置からのリードコマンドで指示された光ディスク媒体に対するアドレス情報を記憶するステップと、前記記憶されたアドレス情報を有効または無効とするステップと、光ディスク媒体が光ディスク装置に挿入された後で、かつ光ディスク媒体に対して最初のリードコマンドが発行される前に、前記有効なアドレス情報に対応するデータを前記光ディスク媒体から読み出すステップと、前記読み出されたデータと格納するステップと、前記アドレス情報を更新するステップとを備えるデータ転送制御方法が構成される。
請求項１２では、前記光ディスク媒体が光ディスク装置に挿入された後に、前記光ディスク媒体の識別情報を獲得するステップと、前記識別情報に対応付けて前記アドレス情報を記憶するステップとを更に備える。
【００２３】
【作用】
上述のように請求項１乃至５の発明では、上位装置からのリードコマンドで指示されたアドレスからデータを交換自在な記憶媒体より読み出したアドレス及び処理ブロック数のアドレス情報を識別情報に対応させて一時記憶メモリ又は不揮発性メモリのアドレス情報記憶手段に記憶させ、アドレス情報に応じて読み出されたデータをデータ格納手段に格納させ、アドレス情報が有効か無効かを管理しつつ、リードコマンドで指示されるアドレス情報に対応するデータが格納されているときには格納されているデータを転送する。これにより、上位装置からのリードコマンドに対して迅速に応答され、媒体ローディング後の媒体アクセスの高速化を図ることが可能となる。
【００２４】
請求項６乃至８の発明では、上記記憶媒体を光ディスクとして光ディスク装置に適用する。これにより、上位装置からのリードコマンドに対して迅速に応答し、媒体ローディング後の媒体アクセスの高速化を図る光ディスク装置を実現することが可能となる。
【００２５】
請求項９乃至１２の発明では、媒体ローディング直後のコマンド待ち時にアドレス情報に応じたデータをデータ格納手段に格納させ、リードコマンドで指示されたアドレスのアドレス情報を無効の指示まで記憶すると共に、媒体識別情報を記憶し、リードコマンドで指示されるアドレス情報に対応するデータがデータ格納手段に格納されていないときには読み出しデータを転送し、該データが格納されているときには格納されているデータを転送する。これにより、上位装置からのリードコマンドに対して迅速に応答され、媒体ローディング後の媒体アクセスの高速化を図ることが可能となる。
【００２６】
請求項１３の発明では、請求項９乃至１２の記憶媒体を光ディスク装置と上位装置との間で上記データ転送を行う。これにより、光ディスク装置において、上位装置からのリードコマンドに対して迅速に応答し、媒体ローディング後の媒体アクセスの高速化を図ることが可能となる。
【００２７】
【実施例】
図２に、本発明の第１実施例のブロック構成図を示す。図２には可換媒体型の記憶装置としての光ディスク装置１１を示しており、光ディスクの媒体１２が光交換自在なものである。なお、本実施例では光ディスク装置を示すが、磁気ディスクを媒体とする磁気ディスク装置、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を媒体とするＣＤ−ＲＯＭ装置等にも適用することができるものである。
【００２８】
図２において、光ディスク装置１１は、媒体１２が媒体ローディング機構１３でローディングされ、ＳＰＭ（スピンドルモータ）１４により所定回転数で回転される。この媒体ローディング機構１３及びＳＰＭ１４によりローディング手段を構成する。なお、媒体ローディング機構１３には媒体１２の投入を検知するセンサが備えられる。
【００２９】
媒体１２に記録されているデータ等はリード回路１５で制御される光ヘッド１６により読み出され、光ヘッド１６はポジショナ１７により媒体１２の読み出しを行うブロックに位置決め制御が行われる。このリード回路１５、光ヘッド１６及びポジショナ１７でリード手段又は再生手段を構成する。
【００３０】
上記リード手段で読み出されたデータは格納手段であるバッファ１８に一時格納され、インタフェース回路１９を介して上位装置であるホストコンピュータ２０にデータ転送される。これらは、光ディスクの媒体１２の識別情報を獲得する識別情報獲得手段、アドレス情報の無効、有効を管理する管理手段、ホストコンピュータ２０にデータを転送する転送制御手段を備えるＭＰＵ（マイクロプロセッサ）２１により制御される。なお、バッファ１８の容量は、データ３２ブロック分で例えば２５６Ｋバイトを要し、５１２Ｋバイト設定すれば十分である。
【００３１】
ＭＰＵ２１はキャッシュメモリ２２を備えると共に、バッファ管理テーブルやキャッシュ管理テーブルとして一時記憶メモリのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）  ２３ａと、ＲＡＭ又は不揮発性メモリとしてのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）によるアドレス情報記憶手段であるリードパターンテーブル２３ｂとを備える。リードパターンテーブル２３ｂは媒体１２が同種のときにはＲＡＭを、後述するように複数種のときにはＥＥＰＲＯＭを使用することで、電源のオン、オフに対応している。
【００３２】
なお、リードパターンテーブル２３ｂにはリードパターンテーブル格納ポインタ及びリードパターンテーブル読み出しポインタを備える。ポインタは新しいデータを格納するとき、又は読み出すときの場所を示すものである。
リードパターンテーブル２３ｂには後述するようにホストコンピュータ２０からのリードコマンドで指示される読み出しアドレス及び読み出しブロック数のリードパターンが記憶される。なお、ホストコンピュータ２０はＲＯＭ２４を備えており、ＯＳにおける適宜リードコマンドのリードパターンが記録される（後述する）。
【００３３】
そこで、図３に、媒体ローディング後の処理シーケンスの説明図を示す。図３（Ａ）は電源投入時（又はリセット時）の媒体ローディング後のリードコマンドに対する処理を示したもので、媒体投入されるとローディング処理（媒体ローディング機構１３によるローディング及びＳＰＭ１４の回転駆動）が行われ、その後アクセス系コマンド待ち状態となる。この状態のときにホストコンピュータ２０よりＴｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙコマンドが発行されて媒体１２が装着された状態か否か等が確認され、確認後にホストコンピュータ２０に終了報告がなされる。また、Ｒｅａｄ  Ｃａｐａｃｉｔｙコマンドが発行されて媒体１２の容量に関する情報を読み取り、読み取り後に終了報告がなされる。
【００３４】
ホストコンピュータ２０より、ＯＳが管理エリア情報等を読み込むためのリードコマンドが発行されると、リードコマンドで指示されるブロックアドレス（読み出しアドレス）と処理ブロック数（読み出しブロック数）をリードパターンテーブル２３の１番目の領域に記憶させると共に、光ヘッド１６を該当ブロックに位置付けし、読み出しを行ってデータをバッファ１８に一時格納した後、ホストコンピュータ２０にデータ転送を行い、終了報告を行う。
【００３５】
続いて、次のリードコマンドが発行されると、当該リードコマンドで指示されるブロックアドレスと処理ブロック数がリードパターンテーブル２３の２番目の領域に格納されると共に、光ヘッド１６を該当ブロックに位置付けし、読み出しを行ってデータをバッファ１８に一時格納した後、データ転送を行い、終了報告を行う。
【００３６】
さらに、次のリードコマンドが発行されると、当該リードコマンドで指示されるブロックアドレスと処理ブロック数がリードパターンテーブル２３の３番目の領域に格納されると共に、光ヘッド１６を該当ブロックに位置付けし、読み出しを行ってデータをバッファ１８に一時格納した後、データ転送を行い、終了報告を行うものである。
【００３７】
また、図３（Ｂ）は媒体ローディング後に、図３（Ａ）においてブロックアドレスと処理ブロック数が記憶されたリードパターンテーブル２３に従い先読みを行う場合の処理を示したもので、媒体投入されてローディング処理が行われた後、直ちにリードパターンテーブル２３ｂの１番目の領域のブロックアドレスと処理ブロック数に従って光ヘッド１６を該当ブロックに位置付けし、データ読み出しを行ってバッファ１８に格納する。バッファ１８への格納アドレスはバッファ管理テーブル（ＲＡＭ２３ａ）に記憶される。
【００３８】
続いて、リードパターンテーブル２３ｂの２番目の領域のブロックアドレスと処理ブロック数に従って光ヘッド１６を該当ブロックに位置付けし、データ読み出しを行ってバッファ１８に格納する。同様に、バッファ１８への格納アドレスはバッファ管理テーブル（ＲＡＭ２３ａ）に記憶される。
【００３９】
さらに、リードパターンテーブル２３ｂの３番目の領域のブロックアドレスと処理ブロック数に従って光ヘッド１６を該当ブロックに位置付けし、データ読み出しを行ってバッファ１８に格納する。そして、バッファ１８への格納アドレスはバッファ管理テーブル（ＲＡＭ２３ａ）に記憶される。
【００４０】
これら先読みを行っている間は、ホストコンピュータ２０からＴｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙコマンド及びＲｅａｄ  Ｃａｐａｃｉｔｙコマンドが発行されてそれぞれの確認、読み出しが行われる。
そこで、ホストコンピュータ２０より１番目のリードコマンドが発行されると、このリードコマンドで指示されるブロックアドレスと処理ブロック数がキャッシュメモリ２２に記憶され、リードパターンテーブル２３ｂの１番目のリードコマンドに該当するデータがバッファ１８に格納されているか否かが判断され、格納されていればキャッシュヒットとしてバッファ１８に格納された対応するデータをホストコンピュータ２０に転送し、終了報告を行う。
【００４１】
同様に、２番目、３番目のリードコマンドで指示されるブロックアドレスと処理ブロック数についても各処理単位でキャッシュメモリ２２に記憶され、リードパターンテーブル２３ｂの２番目、３番目のリードコマンドに該当するデータがバッファ１８に格納されているか否かが判断され、格納されていればキャッシュヒットとしてバッファ１８に格納された対応するデータをホストコンピュータ２０に転送し、終了報告を行うものである。
【００４２】
また、図４に、リードパターンテーブルの説明図を示す。図４に示すリードパターンテーブル２３ｂには、一例としてホストコンピュータ２０からＯＳに応じて順次発行されるリードコマンドに対する１〜ｎ番目のコマンド情報におけるブロックアドレスＡ１〜Ａｎ、処理ブロック数Ｂ１〜Ｂｎ、及び有効フラグＦ１〜Ｆｎが記録される。有効フラグはｉ（１≦ｉ≦ｎ）番目のコマンド情報が有効か否かを示すもので、先読み時に当該有効フラグが確認されるものである。
【００４３】
因みに、リードパターンテーブル２３ｂの容量は、例えば制御フラグで２バイト、アドレスで４バイト、ブロック数（ブロック長）で２バイトであり、１０コマンド分で８０バイトあればよく、総て記憶した後に重複分の排除や順番の入れ換えを行う。
【００４４】
そこで、図５に、電源投入後の最初の（装置立ち上げ後の第一回目）媒体ローディング時の処理フローチャートを示す。また、図６に、電源投入後の２回目以降の媒体ローディング時の処理フローチャートを示す。
図５において、電源投入時又はリセット処理後に（Ｓ１１）、媒体ローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され（Ｓ１２）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かを判断し（Ｓ１３）、コマンド発行されていればコマンド処理を行う（Ｓ１４）。例えば、ＯＳによっては一定時間間隔でＴｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙコマンドが発行される場合もある。
【００４５】
媒体が投入されていると、スピンドルモータの回転駆動等の媒体ローディング処理が行われ（Ｓ１５）リードパターンテーブル格納ポインタをクリアする（Ｓ１６）。そして、媒体が排出されたか、又は排出指示があったか否かが判断され（Ｓ１７）、排出指示かあった場合には排出処理が行われる（Ｓ１８）。次の媒体投入で図５の処理フローに移行する。
【００４６】
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ１９）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され、（Ｓ２０）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ２１）、Ｓ１７に戻る。
【００４７】
リードコマント（１番目）のときには、リードパターンテーブル格納ポインタが規定値を越えているか否かが判断され（Ｓ２２）、越えていなければリードコマンドより読み取りブロックのアドレスとブロック数情報を取り出し、図４に示すようにリードパターンテーブル２３ｂに１番目のコマンド情報として記憶されると共に（Ｓ２３）、リードパターンテーブル格納ポインタをインクリメントする（Ｓ２４）。
【００４８】
その後、及びＳ２２においてリードパターンテーブル格納ポインタが規定値を越えている場合には、読み出しヘッドをリード指示のアドレスに位置付けし、データを読み出してバッファに格納し、そしてバッファより上位装置にデータ転送を行うリード処理が行われ（Ｓ２５）、Ｓ１７に戻ってｎ番目のリードコマンド発行、処理まで繰り返すものである。
【００４９】
続いて、図５における媒体が排出された次の状態では、図６において、媒体ローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され（Ｓ３１）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ３２）、コマンド発行されていればコマンド処理を行う（Ｓ３３）。
【００５０】
媒体１２が投入されると媒体ローディング処理を行い（Ｓ３４）、リードパターンテーブル読み出しポインタをクリアし（Ｓ３５）、リードパターンテーブル読み出しポインタが規定値を越えたか否かが判断されて（Ｓ３６）、越えていなければリードパターンテーブル２３ｂより１番目のコマンド情報を読み出す（Ｓ３７）。
【００５１】
この１番目のコマンド情報が有効フラグにより有効の場合に、リードパターンテーブル読み出しポインタをインクリメントし（Ｓ３８）、光ヘッド１６の該当ブロックへの位置付けを行い、データを読み出してバッファ１８に格納するプリフェッチ処理を行う（Ｓ３９）。これらをリードパターン読み出しポインタが規定値（ｎ）を越えるまで、すなわち格納されているｎ番目のコマンド情報におけるプリフェッチ処理を繰り返す。
【００５２】
リードパターンテーブル読み出しポインタが規定値を越えた場合には、媒体１２が排出されたか、又は排出指示があったか否かが判断され（Ｓ４０）、排出指示があった場合には排出処理が行われて（Ｓ４１）、Ｓ３１の状態に戻る。
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ４２）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され（Ｓ４３）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ４４）、Ｓ４０の状態に戻る。
【００５３】
バッファ１８はＲＡＭ２３ａのバッファ管理テーブルで管理されており、当該リードコマンドで指示されたブロックのデータがバッファ１８に読み込まれているか否かが該バッファ管理テーブルで判断され（Ｓ４５）、読み込まれていないときには、キャッシュミスとして光ヘッド１６の位置付け、データ読み出し、バッファ格納、データ転送のリード処理を行う（Ｓ４６）。これにより、次のコマンドで同じアドレスを読み出す場合に利用することができるものである。
【００５４】
バッファ１８に当該データが格納されている場合には、キャッシュヒットとして、バッファ１８よりホストコンピュータ２０にデータ転送のリード処理を行う（Ｓ４７）。
これらを、媒体１２の排出まで発行されるｎ個のリードコマンドについて繰り返すものである（Ｓ４０〜Ｓ４７）。
【００５５】
このように、電源投入時及びリセット処理後の最初の媒体ローディング処理完了後にホストコンピュータ２０から発行されるリードコマンドの発行パターンを記憶し、次回からの媒体ローディング時から当該リードパターンのリード処理を自動的に実行することにより、ホストコンピュータ２０からのリードコマンド要求に対して迅速に応答することができ、媒体ローディング後の媒体アクセスに対して高速化を図ることができるものである。これは、使用されるＯＳにおける媒体ローディング後に発行されるリードコマンドのリードパターンに変更が少ないことに基づくものである。
【００５６】
なお、リードコマンドが多い場合、又はメモリ容量に制限がある場合には、媒体ローディングの第一回目、第二回目程度の数回分を保持する程度でもよい。この場合、媒体ローディング直後のリードコマンドに対するアクセスをキャッシュで応答させておき、その間、発光パワー調整等の光学系の調整を行うことができる。ユーザにとってはメカニカルな調整時間を気にせずに、直ちに媒体１２からデータを得ることができるものである。
【００５７】
ところで、上記実施例では、媒体ローディング直後にデータ記憶することを示したが、直後でなくてもホストコンピュータ２０からのコマンド待ちの時に行ってもよい。
次に、図７に本発明の第２実施例の処理シーケンスの説明図を示す。図７は、媒体ローディング後にリードパターンテーブル２３ｂに従って先読みを行う場合を示したもので、図３（Ａ）を前提として図３（Ｂ）に対応するものである。
【００５８】
媒体投入されてローディング処理が行われた後、直ちにリードパターンテーブル２３ｂの１番目〜３番目の領域のブロックアドレスと処理ブロック数に従って光ヘッド１６を該当ブロックに位置付けし、データ読み出しを行ってバッファ１８に格納することは図３（Ｂ）と同様である。
【００５９】
そこで、ホストコンピュータ２０より１番目のリードコマンドが発行されると、このリードコマンドで指示されるブロックアドレスと処理ブロック数がキャッシュメモリ２２に記憶されると共に、リードパターンテーブル２３ｂの１番目の領域に記憶（オーバライト）され、１番目のリードコマンドに該当するデータがバッファ１８に格納されているかが判断されて、格納されていればキャッシュヒットとして当該バッファ１８に格納された対応するデータをホストコンピュータ２０に転送し、終了報告を行う。
【００６０】
同様に、２番目、３番目のリードコマンドで指示されるブロックアドレスと処理ブロック数についても各処理単位でキャッシュメモリ２２に記憶されると共に、リードパターンテーブル２３ｂの２番目、３番目の領域に記憶され、リードパターンテーブル２３ｂの２番目、３番目のリードコマンドに該当するデータがバッファ１８に格納されているか否かで判断されて、格納されていればキャッシュヒットとしてバッファ１８に格納された対応するデータをホストコンピュータ２０に転送し、終了報告を行うものである。
【００６１】
すなわち、ホストコンピュータ２０より発行されるリードコマンドで指示されるブロックアドレス及び処理ブロック数の情報をその都度リードパターンテーブル２３ｂに記憶して更新させていくものである。
そこで、図８に、第２実施例の処理フローチャートを示す。また、図９に第２実施例の先読み処理のフローチャートを示す。図８において、電源投入時又はリセット処理後（Ｓ５１）、媒体ローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され（Ｓ５２）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ５３）、コマンド発行されていればコマンド処理を行う（Ｓ５４）。
【００６２】
媒体１２が投入されると媒体ローディング処理を行い（Ｓ５５）、リードパターンテーブル２３ｂの有効フラグＦ１〜Ｆｎ（図４参照）で有効か無効かを判断し（Ｓ５６）、有効であればリードパターンテーブル２３ｂのリードパターンに従って先読み処理を行う（Ｓ５７、図９で詳述する）。
【００６３】
先読み処理が行われ、また有効フラグにより無効であっても処理が移行し、リードパターンテーブル格納ポインタを初期状態にクリアし、コマンド待ち状態となる（Ｓ５８）。そして、媒体が排出されたか又は排出指示があったか否かが常に判断され（Ｓ５９）、排出指示があった場合には排出処理が行われて（Ｓ６０）、Ｓ５２に戻る。
【００６４】
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され、（Ｓ６１）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され、（Ｓ６１）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ６３）、Ｓ５９に戻る。
【００６５】
リードコマンド（１番目）のときには、リードパターンテーブル格納ポインタが規定値を越えているか否かが判断され、（Ｓ６４）、越えていなければリードコマンドより読み取りブロックのアドレスとブロック数情報を取り出し、図４に示すようにリードパターンテーブル２３ｂに１番目のコマンド情報として記憶されると共に（Ｓ６５）、リードパターンテーブル格納ポインタをインクリメントする（Ｓ６５）。
【００６６】
また、Ｓ６６でリードパターンテーブルに格納ポインタをインクリメントし、又はＳ６４でリードパターンテーブル格納ポインタが規定値を越えている場合には、当該リードコマンドで指示されたブロックのデータがバッファ１８に読み込まれているか否かが該バッファ管理テーブルで判断され（Ｓ６７）、読み込まれていないときには、キャッシュミスとして光ヘッド１６の位置付け、データ読み出し、バッファ格納、データ転送のリード処理を行う（Ｓ６８）。
【００６７】
バッファ１８に当該データが格納されている場合には、キャッシュヒットとして、バッファ１８よりホストコンピュータ２０にデータ転送のリード処理を行う（Ｓ６９）。
これらを、媒体１２の排出まで発行されるｎ個のリードコマンドについて繰り返すもので、リードコマンドが発行される都度、規定値までリードパターンテーブル２３ｂを更新し、所定のリード処理が行われるものである（Ｓ５９〜Ｓ６９）。
【００６８】
ここで、図８におけるＳ５７の先読み処理は、図９に示すように、リードパターンテーブル読み出しポインタをクリアし、（Ｓ７１）、リードパターンテーブル読み出しポインタが規定値を越えたか否かが判断されて（Ｓ７２）、越えていなければリードパターンテーブル２３ｂにより１番目のコマンド情報を読み出す（Ｓ７３）。
【００６９】
この１番目のコマンド情報が有効フラグにより有効の場合に、リードパターンテーブル読み出しポインタをインクリメントし、（Ｓ７４）、光ヘッド１６の該当ブロックへの位置付けを行い、データを読み出してバッファ１８に格納するプリフェッチ処理を行う（Ｓ７５）。これらをリードパターン読み出しポインタが規定値（ｎ）を越えるまで、すなわち格納されているｎ番目のコマンド情報におけるプリフェッチ処理を繰り返す。
【００７０】
リードパターンテーブル読み出しポインタが規定値を越えた場合には、図８のＳ５８に移行する。
このように、媒体ローディング処理時に毎回、ホストコンピュータ２０から発行されるリードコマンドの発行パターンを記憶し、次回の媒体ローディング時には当該パターンのリード処理を自動的に実行することにより、ホストコンピュータ２０からのリードコマンド要求に対して迅速に応答することができ、高速化を図ることができるものである。
【００７１】
次に、図１０に、本発明の第３実施例における最初の媒体ローディング時の処理フローチャートを示す。また、図１１に、第３実施例における２回目以降の媒体ローディング時の処理フローチャートを示す。
第３実施例は、光ディスク装置１１において、記憶容量や物理的なエンボスフォーマットが異なる２種類以上の媒体１２を使用する場合を示したもので、リードパターンテーブル２３ｂは、媒体種別ごとのテーブルが用意される。また、媒体１２の種別（例えば、メーカ名、製造番号等）は、媒体１２のコントロールトラック又はＤＭＡ（Ｄｅｆｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｒｅａ）  領域に書き込まれたＳＡ（サーフェース・アナリシス）情報等に記録されており、これを読み込むことによってＭＰＵ２１により判別される。
【００７２】
図１０において、電源投入時又はリセット処理後に（Ｓ８１）、媒体ローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され（Ｓ８２）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ８３）、コマンド発行されていればコマンド処理を行う（Ｓ８４）。
【００７３】
媒体１２が投入されていると、スピンドルモータの回転駆動等の媒体ローディング処理が行われ（Ｓ８５）、投入された媒体１２の種別が判断される（Ｓ８６）。そして、ロードされている媒体１２に対応するリードパターンテーブル格納ポインタをクリアする（Ｓ８７）。また、媒体が排出されたか、又は排出指示があったか否かをが判断され（Ｓ８８）、排出指示かあった場合には排出処理が行われる（Ｓ８９）。次の媒体投入で図５の処理フローＢに移行する。
【００７４】
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ９０）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され、（Ｓ９３）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ９２）、Ｓ８８に戻る。
【００７５】
リードコマンド（１番目）のときには、ロードされている媒体１２のリードパターンテーブル格納ポインタが規定値を越えているか否かが判断され（Ｓ９２）、越えていなければリードコマンドより読み取りブロックのアドレスとブロック数情報を取り出し、リードパターンテーブル２３ｂの対応するテーブルに１番目のコマンド情報として記憶されると共に（Ｓ９４）、ロードされている媒体１２のリードパターンテーブル格納ポインタをインクリメントする（Ｓ９５）。
【００７６】
その後、及びＳ２２において当該リードパターンテーブル格納ポインタが規定値を越えている場合には、読み出しヘッドを、リード指示のアドレスに位置付けし、データを読み出してバッファに格納し、そしてバッファより上位装置にデータ転送を行うリード処理が行われ（Ｓ９６）、Ｓ８８に戻ってｎ番目のリードコマンド発行、処理まで繰り返すものである。
【００７７】
続いて、図１０における媒体が排出された次の状態では、図１１において、媒体ローディング機構１３のセンサによって媒体１２が投入されているが否かが判断され（Ｓ１０１）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ１０２）、コマンド発行されていればコマンド処理を行う（Ｓ１０３）。
【００７８】
媒体１２が投入されると媒体ローディング処理を行い（Ｓ１０４）、媒体１２の種別を判定する（Ｓ１０５）。ロードされた媒体１２のリードパターンテーブル読み出しポインタをクリアし（Ｓ１０６）、当該リードパターンテーブル読み出しポインタが規定値を越えたか否かが判断されて（Ｓ１０７）、越えていなければリードパターンテーブル２３ｂの該当テーブルより１番目のコマンド情報を読み出す（Ｓ１０８）。
【００７９】
この１番目のコマンド情報が有効フラグにより有効の場合に、ロードされた媒体１２のリードパターンテーブル読み出しポインタをインクリメントし（Ｓ１０９）、光ヘッド１６の該当ブロックへの位置付けを行い、データを読み出してバッファ１８に格納するプリフェッチ処理を行う（Ｓ１１０）。これらをロードされた媒体１２のリードパターン読み出しポインタが規定値（ｎ）を越えるまで、すなわち格納されているｎ番目のコマンド情報におけるプリフェッチ処理を繰り返す。
【００８０】
ロードされた媒体１２のリードパターンテーブル読み出しポインタが規定値を越えた場合には、媒体１２が排出されたか、又は排出指示があったか否かが判断され（Ｓ１１１）、排出指示があった場合には排出処理が行われて（Ｓ１１２）、Ｓ１０１の状態に戻る。
【００８１】
媒体が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ１１３）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され（Ｓ１１４）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ１１５）、Ｓ１１１の状態に戻る。
【００８２】
バッファ１８はＲＡＭ２３ａのバッファ管理テーブルで管理されており、当該リードコマンドで指示されたブロックのデータがバッファ１８に読み込まれているか否かが該バッファ管理テーブルで判断され（Ｓ１１６）、読み込まれていないときにはキャッシュミスとして光ヘッド１６の位置付け、データ読み出し、バッファ格納、データ転送のリード処理を行う（Ｓ１１７）。
【００８３】
バッファ１８に当該データが格納されている場合には、キャッシュヒットとして、バッファ１８よりホストコンピュータ２０にデータ転送のリード処理を行う（Ｓ１１８）。
これらを、媒体１２の排出まで発行されるｎ個のリードコマンドについて繰り返すものである（Ｓ１１１〜Ｓ１１８）。
【００８４】
一般に、媒体１２の記録容量が異なる場合、ＯＳの媒体投入時のファイル管理情報のアドレスが変わる場合があり、これによって全種類の媒体で一義的に同じリードパターンテーブル２３ｂを使用することは上記プリフェッチ処理による先読みデータのヒット率を低下させることになることから、本実施例のように種別の異なるごとにリードパターンテーブル２３ｂにテーブルを用意することで対処することができるものである。もちろん、このようにすることで媒体種別を問わずに、第１実施例と同様に媒体のローディング後のホストコンピュータ２０からの媒体アクセスの高速化を図ることができるものである。
【００８５】
また、図１２に、第３実施例のテーブル更新の処理フローチャートを示す。図１２は、複数種別の場合におけるテーブル内容の更新の場合を示したもので、図８に対応するものである。図１２において、電源投入時又はリセット処理後（Ｓ１２１）、媒体ローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され、（Ｓ１２２）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ１２３）、コマンド発行されていればコマンド処理を行う（Ｓ１２４）。
【００８６】
媒体１２が投入されると媒体ローディング処理が行われた後に（Ｓ１２５）、媒体１２の種別が判定される（Ｓ１２６）。ロードされた媒体１２に該当するリードパターンテーブル２３ｂのテーブルの有効フラグＦ１〜Ｆｎ（図４参照）で有効か無効かを判断し（Ｓ１２７）、有効であればロードされた媒体１２のリードパターンテーブル２３ｂのリードパターンに従って先読み処理を行う（Ｓ１２８）。Ｓ１２８の先読み処理は図９と同様である。
【００８７】
続いて、先読み処理が行われ、また有効フラグにより無効であっても処理が移行し、ロードされた媒体１２のリードパターンテーブル格納ポインタを初期状態にクリアし、コマンド待ち状態となる（Ｓ１２９）。そして、媒体が排出されたか否か、又は排出指示があったか否かが常に判断され（Ｓ１３０）、排出指示があった場合には排出処理が行われて（Ｓ１３１）、Ｓ１２２に戻る。
【００８８】
媒体が排出されていない場合には上位装置よりコマンドが発行された否かが判断され（Ｓ１３２）、発行されていなければコマンド待ち状態となる。コマンドか発行されると、当該コマンドがリードコマンドか否かが判断され（Ｓ１３３）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ１３４）、Ｓ１３０に戻る。
【００８９】
リードコマンド（１番目）のときには、ロードされた媒体１２のリードパターンテーブル格納ポインタが規定値を越えているか否かが判断され（Ｓ１３５）、越えていなければリードコマンドより読み取りブロックのアドレスとブロック数情報を取り出し、ロードされた媒体１２のリードパターンテーブル２３ｂのテーブルに１番目のコマンド情報として記憶されると共に（Ｓ１３６）、ロードされた媒体１２のリードパターンテーブル格納ポインタをインクリメントする（Ｓ１３７）。
【００９０】
また、Ｓ１３７でリードパターンテーブルに格納ポインタをインクリメントし、又はＳ１３５でロードされた媒体１２のリードパターンテーブル格納ポインタが規定値を越えている場合には、当該リードコマンドで指示されたブロックのデータがバッファ１８に読み込まれているか否かが該バッファ管理テーブルで判断され（Ｓ１３８）、読み込まれていないときには、キャッシュミスとして光ヘット１６の位置付け、データ読み出し、バッファ格納、データ転送のリード処理を行う（Ｓ１３９）。
【００９１】
バッファ１８に当該データが格納されている場合には、キャッシュヒットとして、バッファ１８よりホストコンピュータ２０にデータ転送のリード処理を行う（Ｓ１４０）。
これらを、媒体１２の排出まで発行されるｎ個のリードコマンドについて繰り返すもので、リードコマンドが発行される都度、規定値までロードされた媒体１２のリードパターンテーブル２３ｂの内容を更新し、所定のリード処理が行われるものである。（Ｓ１３０〜Ｓ１４０）。
【００９２】
このように、複数種別の媒体１２を使用する場合であっても、ホストコンピュータ２０からのリードコマンド要求に対して迅速に応答することができ、高速化を図ることができるものである。
次に、図１３に、本発明の第４実施例のリードパターンテーブルの説明図を示す。図１３（Ａ）はホストコンピュータ２０から発行されたリードコマンドのパターンテーブルを示したもので、例えばＲＯＭ２４（図２）に記憶される。図１３（Ｂ）は先読みを行うときのリードパターンテーブル２３ｂの内容を示したものである。
【００９３】
いま、図１３（Ａ）に示すように、ホストコンピュータ２０よりリードコマンドにおけるアドレスが０−１００−２０の順番で発行された場合に、光ディスク装置１１側のリードパターンテーブル２３ｂでは、アドレス０−２０−１００のように並び換えを行う。例えば、図１３（Ａ）での移動距離が１２０であるのに対して図１３（Ｂ）では１００となる。これにより、光ヘッド１６をポジショナ１７で移動させる際に、総合的な位置付けの距離が短かくなって最適化させることができるものである。
【００９４】
なお、並び換え操作は、例えばキャッシュメモリ２２にリードパターンを移してキャッシュ管理に基づいて行い、媒体ローディング時の一連のリードパターンをリードパターンテーブル２３ｂに記憶した直後でもよく、また次の媒体ローディング完了後でもよい。
【００９５】
そこで、図１４に、第４実施例における媒体ローディング時の処理フローチャートを示す。図１４のフローチャートは、媒体が第３実施例のように複数種別を使用し、さらに、リードコマンドごとにリードパターンテーブルを更新する場合のものとして説明するが、第１及び第２実施例においても適用することができるものである。
【００９６】
図１４において、電源投入時又はリセット処理後（Ｓ１４１）、媒体のローディング機構１３のセンサによって媒体１２が投入されているか否かが判断され（Ｓ１４２）、媒体１２が投入されていないときにはホストコンピュータ２０よりコマンドが発行されているか否かが判断され（Ｓ１４３）、コマンド発行されていればコマンド処理を行う（Ｓ１４４）。
【００９７】
媒体１２が投入されると媒体ローディング処理が行われた後に（Ｓ１４５）、媒体１２の種別が判定される（Ｓ１４６）。ロードされた媒体１２に該当するリードパターンテーブル２３ｂのテーブルの有効フラグＦ１〜Ｆｎ（図１３参照）で有効か無効かを判断し（Ｓ１４７）、有効であれば、図１３に示す最適化処理がなされ（Ｓ１４８）、ロードされた媒体１２のリードパターンテーブル２３ｂのリードパターンに従って先読み処理を行う（Ｓ１４９）。Ｓ１４９の先読み処理は図９と同様である。
【００９８】
続いて、先読み処理が行われ、また有効フラグにより無効であっても処理が移行し、ロードされた媒体１２のリードパターンテーブル格納ポインタを初期状態にクリアし、コマンド待ち状態となる（Ｓ１５０）。そして、媒体１２が排出されたか又は排出指示があったか否かが常に判断され（Ｓ１５１）。排出指示があった場合には、排出処理が行われて（Ｓ１５２）、Ｓ１４２に戻る。
【００９９】
媒体１２が排出されていない場合には上位装置よりコマンドが発行されたか否かが判断され（Ｓ１５３）、発行されていなければコマンド待ち状態となる。コマンドが発行されると、当該コマンドがリードコマンドか否かが判断され（Ｓ１５４）、リードコマンドでない場合、例えばライトコマンド等の場合にはライト等のコマンド処理が行われ（Ｓ１５５）、Ｓ１５１に戻る。
【０１００】
リードコマンド（１番目）のときには、ロードされた媒体１２のリードパターンテーブル格納ポインタが規定値を越えているか否かが判断され（Ｓ１５６）、越えていなければリードコマンドより読み取りブロックのアドレスとブロック数情報を取り出し、ロードされた媒体１２のリードパターンテーブル２３ｂに１番目のコマンド情報として記憶されると共に（Ｓ１５７）ロードされた媒体１２のリードパターンテーブル格納ポインタをインクリメントする（Ｓ１５８）。
【０１０１】
また、Ｓ１５８でリードパターンテーブル格納ポインタをインクリメントし、又はＳ１５６でロードされた媒体１２のリードパターンテーブル格納ポインタが規定値を越えている場合には、当該リードコマンドで指示されたブロックのデータがバッファ１８に読み込まれているか否かが該バッファ管理テーブルで判断され（Ｓ１５９）、読み込まれていないときには、キャッシュミスとして光ヘッド１６の位置付け、データ読み出し、バッファ格納、データ転送のリード処理を行う（Ｓ１６０）。
【０１０２】
バッファ１８に当該データが格納されている場合には、キャッシュヒットとして、バッファ１８よりホストコンピュータ２０にデータ転送のリード処理を行う（Ｓ１６１）。
これらを、媒体１２の排出まで発行されるｎ個のリードコマンドについて繰り返すもので、リードコマンドが発行される都度、規定値までロードされた媒体１２のリードパターンテーブル２３ｂのテーブルを更新し、所定のリード処理が行われるものである（Ｓ１５１〜Ｓ１６１）。
【０１０３】
このように、最適化処理を行うことによってシーク時間を短縮することができ、かつ複数種別の媒体１２を使用する場合であっても、ホストコンピュータ２０からのリードコマンド要求に対して迅速に応答することができ、高速化を図ることができるものである。
【０１０４】
次に、図１５に、本発明の第５実施例の処理フローチャートを示す。図１５（Ａ），（Ｂ）はホストコンピュータ２０より発行されるＯＳに基づくファイル管理情報を読み出すためのリードコマンドで指示される総てのブロックアドレス及び処理ブロック数のリードパターンを一括して受け取る場合を示している。
【０１０５】
図１５（Ａ）において、電源投入時又はリセット処理後に（Ｓ１７１）、ホストコンピュータ２０より発行する総てのリードコマンドのリードパターン（ブロックアドレス及び処理ブロック数群）を送出させて受け取り（Ｓ１７２）、これをリードパターンテーブル２３ｂに記憶させる（Ｓ１７３）。
【０１０６】
そして、媒体ローディング処理後に、当該リードパターンテーブル２３ｂのリードパターンに従ってデータの先読み、プリフェッチ処理を行うもので、その処理フローＡは図６と同様である。
また、図１５（Ｂ）は、媒体１２が複数種別の場合であり、まず電源投入時又はリセット処理後に（Ｓ１８１）、ホストコンピュータ２０から発行する媒体種別ごとの総てのリードコマンドのリードパターンを送出させて受け取り（Ｓ１８２）、これをリードパターンテーブル２３ｂの媒体種別ごとのテーブルにそれぞれに記憶させる（Ｓ１８３）。
【０１０７】
そして、媒体ローディング処理後に、ロードされた媒体１２に対応するリードパターンテーブル２３ｂのテーブルのリードパターンに従ってデータの先読み、プリフェッチ処理を行うもので、その処理フローＢは図１１と同様である。
これにより、最初の媒体ローディング後からデータの先読み、プリフェッチ処理が可能となって、さらなる高速化を図ることが可能となる。また、第４実施例のように最適化処理を行わせてもよい。
【０１０８】
次に、図１６に、本発明の第６実施例におけるリードパターン保持の処理フローチャートを示す。
第６実施例では、媒体ローディングごとにＯＳのコマンドシーケンスが変わる場合があり、コマンドシーケンスが変わるとバージョンの異なるＯＳを起動する場合や複数種類のＯＳが動作可能なシステムでは前述の先読みパターン（プリフェッチパターンであり、リードパターンに基づく）が変わり、先読みデータのヒット率の低下、性能低下を招くのを防止するためのものである
図１６において、ホストコンピュータ２０が予め最も使用頻度の高いＯＳや媒体で媒体ローディング処理を実施させ（Ｓ１９１）、以降の媒体ローディング時の性能（先読みデータのヒット率）を監視して評価する（Ｓ１９２）。これにより、最も効率のよいプリフェッチパターンとなる組み合せを見出すことができる。
【０１０９】
そして、最も効率のよいプリフェッチパターンとなる組み合せのリードパターンをホストコンピュータ２０からの指示で電源オフまで有効としてリードパターンテーブル（ＲＡＭで構成するものとする）２３ｂに記憶させる（Ｓ１９３）。この状態で、ホストコンピュータ２０から当該プリフェッチパターン（リードパターン）の無効の指示があるまで（Ｓ１９４）保持される。これにより、リードパターンテーブル２３ｂを電源オフまで変更しないことで当該プリフェッチパターンを保持することができる。
【０１１０】
そして、ホストコンピュータ２０（オペレータの入力）より無効の指示が発行されると（Ｓ１９４）、当該リードパターンテーブル２３ｂのリードパターンを無効とするものである（Ｓ１９５）。すなわち、ポストコンピュータ２０からの指示があるまでリードパターンの最新のものを有効とするものである。もちろんホストコンピュータ２０が自動的に監視することもでき、また光ディスク装置１１のコントローラで有効・無効の監視を行ってもよい。光ディスク１１側で行う場合にはホストコンピュータ２０の処理能力を低下させることはない。
【０１１１】
ここで、リードパターンテーブル２３ｂをＥＥＰＲＯＭの不揮発性メモリで構成すると、新たに不揮発性メモリの記憶を無効とする指示がホストコンピュータ２０よりあるまで保持され、これにより電源投入時から上記リードパターンテーブル２３ｂのリードパターンが直ちに有効とすることができるものである。もちろんホストコンピュータ２０が自動的に監視することもでき、また光ディスク装置１１のコントローラで有効、無効の監視を行ってもよい。光ディスク装置１１側で行う場合にはホストコンピュータ２０の処理能力を低下させることはない。
【０１１２】
なお、上述のような複数種別の媒体に適用することも可能であり、媒体種別ごとに最も効率のよいリードパターンを設定することができるものである。
このように、光ディスク装置において、予めデータを記憶しておけば、媒体ローディング時にすぐにアクセスがきてもその記憶データで対応し、その間に制御情報を読み出し、光学系の調整を行うことができ、次のアクセスに対して準備することができる。
【０１１３】
本発明は、光ディスク装置において、光ディスク媒体からの反射光により再生している為、光ヘッド及び光ディスク媒体への粉塵の付着や光ディスク媒体の偏心等によりエラーが生じやすいことから、エラーを防止しアクセス効率を上げる為に有効な方法である。
【０１１４】
さらに、通常は光ディスク媒体から再生して情報取り出し、エラーの発生のみ格納データを利用し、その間にエラー修復を行うことも可能である。
尚、媒体の識別情報は制御領域に記憶されている。また、制御領域には、フォーマット情報、欠陥情報、リード／ライト用発光パワー情報、製番等の媒体固有情報が記憶されている。
【０１１５】
【発明の効果】
以上のように請求項１乃至５の発明によれば、上位装置からのリードコマンドで指示されたアドレスからデータを交換自在な記憶媒体より読み出したアドレス及び処理ブロック数のアドレス情報を識別情報に対応させて一時記憶メモリ又は不揮発性メモリのアドレス情報記憶手段に記憶させ、アドレス情報に応じて読み出されたデータをデータ格納手段に格納させ、アドレス情報が有効か無効かを管理しつつ、リードコマンドで指示されるアドレス情報に対応するデータが格納されているときには格納されているデータを転送することにより、上位装置からのリードコマンドに対して迅速に応答され、媒体ローディング後の媒体アクセスの高速化を図ることができる。
【０１１６】
請求項６乃至８の発明によれば、上記記憶媒体を光ディスクとして光ディスク装置に適用することにより、上位装置からのリードコマンドに対して迅速に応答し、媒体ローディング後の媒体アクセスの高速化を図る光ディスク装置を実現することができる。
【０１１７】
請求項９乃至１２の発明によれば、媒体ローディング直後のコマンド待ち時にアドレス情報に応じたデータをデータ格納手段に格納させ、リードコマンドで指示されたアドレスのアドレス情報を無効の指示まで記憶すると共に、媒体識別情報を記憶し、リードコマンドで指示されるアドレス情報に対応するデータがデータ格納手段に格納されていないときには読み出しデータを転送し、該データが格納されているときには格納されているデータを転送することにより、上位装置からのリードコマンドに対して迅速に応答され、媒体ローディング後の媒体アクセスの高速化を図ることができる。
【０１１８】
請求項１３の発明によれば、請求項９乃至１２の記憶媒体を光ディスク装置と上位装置との間で上記データ転送を行うことにより、光ディスク装置において、上位装置からのリードコマンドに対して迅速に応答し、媒体ローディング後の媒体アクセスの高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の第１実施例のブロック構成図である。
【図３】媒体ローディング後の処理シーケンスの説明図である。
【図４】リードパターンテーブルの説明図である。
【図５】電源投入後の媒体ローディング時の処理フローチャートである。
【図６】電源投入後の２回目以降の媒体ローディング時の処理フローチャートである。
【図７】本発明の第２実施例のシーケンスの説明図である。
【図８】第２実施例の処理フローチャートである。
【図９】第２実施例の先読み処理のフローチャートである。
【図１０】本発明の第３実施例における最初の媒体ローディング時の処理フローチャートである。
【図１１】第３実施例における２回目以降の媒体ローディング時の処理フローチャートである。
【図１２】第３実施例のテーブル更新の処理フローチャートである。
【図１３】本発明の第４実施例のリードパターンテーブルの説明図である。
【図１４】第４実施例における媒体ローディング時の処理フローチャートである。
【図１５】本発明の第５実施例の処理フローチャートである。
【図１６】本発明の第６実施例におけるリードパターン保持の処理フローチャートである。
【図１７】従来の媒体ローディング時における処理の一例のフローチャートである。
【符号の説明】
１１  光ディスク装置
１２  媒体
１３  媒体ローディング機構
１４  ＳＰＭ
１５  リード回路
１６  光ヘッド
１７  ポジショナ
１８  バッファ
１９  インタフェース回路
２０  ホストコンピュータ
２１  ＭＰＵ
２２  キャッシュメモリ
２３ａ  ＲＡＭ
２３ｂ  リードパターンテーブル
２４  ＲＯＭ
【図１】
0003597247.tif 000002
【図２】
0003597247.tif 000003
【図３】
0003597247.tif 000004
【図４】
0003597247.tif 000005
【図５】
0003597247.tif 000006
【図６】
0003597247.tif 000007
【図７】
0003597247.tif 000008
【図８】
0003597247.tif 000009
【図９】
0003597247.tif 000010
【図１０】
0003597247.tif 000011
【図１１】
0003597247.tif 000012
【図１２】
0003597247.tif 000013
【図１３】
0003597247.tif 000014
【図１４】
0003597247.tif 000015
【図１５】
0003597247.tif 000016
【図１６】
0003597247.tif 000017
【図１７】
0003597247.tif 000018