(57)【特許請求の範囲】
【請求項１】
円盤状記録媒体が装着され、該装着された円盤状記録媒体を回転駆動する回転駆動手段と、
上記円盤状記録媒体に対して情報データの再生を行なう再生手段と、
少なくとも上記回転駆動手段と上記再生手段を制御する制御手段と、
上記再生手段を通じて再生された情報データを一時的に保持する記憶手段と、
上記記憶手段に記憶された情報データを上記制御手段からの読出し要求に従って外部装置に転送し、かつ、外部装置からの要求を受信するインターフェース手段と、
上記外部装置からの拡張メモリ予約要求に基づいて、上記記憶手段の記憶領域を上記転送バッファ領域と上記拡張メモリ領域に論理的に割り付ける拡張メモリ予約手段とを有する再生装置において、
上記記憶装置の記憶領域が、データ転送元が円盤状記録媒体である転送バッファ領域と、
データ転送元が任意であり、かつデータ保持部分に対するデータ置換が禁止された拡張メモリ領域に割り付けられていることを特徴とする再生装置。
【請求項２】
上記円盤状記録媒体上における予め決定された所定アドレスに対するデータ読出し要求時に、初回要求時のみ上記円盤状記録媒体上の該当アドレスのデータを上記拡張メモリ領域を介して上記外部装置に転送し、２回目以降の読出し要求時に、上記拡張メモリ領域に保持されているデータを上記外部装置に転送する第１の転送手段と、
上記円盤状記録媒体上における上記所定アドレス以外のデータ読出し要求時に、上記円盤状記録媒体上の該当アドレスのデータを上記転送バッファ領域を介して上記外部装置に転送する第２の転送手段とを有することを特徴とする請求項１又は２記載の再生装置。
【請求項３】
上記外部装置からの領域間転送要求に基づいて、上記転送バッファ領域に一時的に保持されているデータを拡張メモリ領域に転送する第３の転送手段を有することを特徴とする請求項１又は２記載の再生装置。
【請求項４】
上記外部装置からのデータ書込み要求に基づいて、上記外部装置から転送されたデータを上記拡張メモリ領域に書き込むデータ書込み手段を有することを特徴とする請求項１〜３いずれか１記載の再生装置。
【請求項５】
上記外部装置からの予約解除要求に基づいて、上記拡張メモリ予約手段による上記記憶手段に対しての上記転送バッファ領域と上記拡張メモリ領域との論理的割り付けを解除して、上記記憶手段の記憶領域全体又は当該要求に係る拡張メモリ領域を転送バッファ領域とする予約解除手段を有することを特徴とする請求項１記載の再生装置。
【請求項６】
上記記憶手段のうち、少なくとも上記拡張メモリ領域が不揮発性の半導体メモリにて構成されていることを特徴とする請求項１記載の再生装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、円盤状記録媒体、例えばＣＤ−ＲＯＭや相変化型光ディスク並びに光磁気ディスクに対して情報データの再生を行なう再生装置に関し、特に円盤状記録媒体から再生された情報データを一時的に保持して外部に接続された例えばホストコンピュータに転送するようにした再生装置に関する。
【０００２】
【従来の技術】
近時、コンピュータを利用したデータ処理において、大容量のデータを扱うことができる補助記憶装置の利用が不可欠となっている。特に、画像データや音声データ並びに辞書データ等を扱ったデータ処理においては、予め決められた背景画像やアイコン画像又はキャラクタ画像をモニタ上に映し出していわゆるＧＵＩ（グラフィカル・ユーザ・インターフェース）によるコンピュータ操作やコンピュータ・ゲーム並びに辞書及び辞典代わりに使用できる電子ブック等に利用されている。
【０００３】
上記画像データ等はデータ容量が膨大となることから、大容量のデータを記録することができる再生専用の光ディスク（ＣＤ−ＲＯＭ）の利用が一般的となりつつある。
【０００４】
このような状況において、光ディスクに記録されたデータを効率よくホストコンピュータに転送できるように、現在では、光ディスクの再生装置内に半導体メモリを組み込むようにしている。即ち、光ディスクからのデータをこの半導体メモリにて一時的に蓄積させることにより、バースト的なデータ転送レートが向上するからである。
【０００５】
一般的に、ホストコンピュータが光ディスクに対してデータの読出し要求を行なうことで、データが上記半導体メモリ内に蓄積されたとしても、データの蓄積は一時的なものである。それは、次回のデータ読出し指定が現在半導体メモリに蓄積されているデータの範囲以外の場合、即ち、光ディスク上の読出しアドレスが異なっている場合、半導体メモリに記憶された過去のデータは消去され、新たに光ディスクから読み出された指定のデータが蓄積されるからである。
【０００６】
【発明が解決しようとする課題】
ところで、光ディスクからデータを読み出す場合、あるアドレスのデータを頻繁に読み出す場合と、任意のアドレスをランダムに読み出す場合がある。このような場合において、従来の再生装置は、光ディスクから読み出したデータを半導体メモリに一旦格納してホストコンピュータに転送するようにしているため、光ディスク上の読出し頻度の高いアドレスのデータを読み出してホストコンピュータに転送した後に、光ディスク上のランダムなアドレスのデータを読み出してホストコンピュータに転送した場合、半導体メモリには後者のデータが占有されてしまうことから、再び読出し頻度の高いアドレスのデータを読み出す場合は、再度光ディスクから当該アドレスのデータを読み出さなくてはならない。
【０００７】
このようなことから、従来の再生装置におけるデータのアクセス時間は、再生装置の平均アクセス時間に依存するようになり、データ転送効率の向上を図るために組み込んだ半導体メモリの効果を十分に発揮させることができないという問題が生じていた。
【０００８】
本発明は、上記の課題に鑑みてなされたもので、その目的とするところは、データ転送効率の向上を図るために組み込まれた半導体メモリの効果を十分に発揮させることができ、光ディスク上のデータを効率よくホストコンピュータに転送させることができる再生装置を提供することにある。
【０００９】
また、本発明の他の目的は、ホストコンピュータが所有するメモリの容量が不足する場合に、再生装置内の半導体メモリをホストコンピュータの外部記憶装置として利用することができる再生装置を提供することにある。
【００１０】
また、本発明の他の目的は、再生装置に関するプログラム作成データ及びホストコンピュータに関するプログラム作成データを電源停止後も記憶させることができ、システム保守を容易に行なうことができる再生装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、円盤状記録媒体Ｄが装着され、この装着された円盤状記録媒体Ｄを回転駆動する回転駆動手段２と、円盤状記録媒体Ｄに対して情報データの再生を行なう再生手段（光ピックアップ３，ＲＦアンプ部２１，復調回路２２及びデコーダ２４等）と、少なくとも回転駆動手段２と再生手段を制御する制御手段（メカニズムコントローラ２８，システムコントローラ２９及びサーボ制御部２７）と、上記再生手段を通じて再生された情報データＤｒを一時的に保持する記憶手段２６と、この記憶手段２６に記憶された情報データを上記制御手段からの読出し要求に従って外部装置３１に転送するインターフェース手段２５とを有する再生装置において、上記記憶手段２６の記憶領域を、データ転送元が円盤状記録媒体Ｄである転送バッファ領域ＴＺと、データ転送元が任意であり、かつデータ保持部分に対するデータ置換が禁止された拡張メモリ領域ＥＺに割り付けて構成する。
【００１２】
この場合、外部装置３１からの拡張メモリ予約要求に基づいて、記憶手段２６の記憶領域を転送バッファ領域ＴＺと拡張メモリ領域ＥＺに論理的に割り付ける拡張メモリ予約手段（予約要求手段７６及び予約処理手段９６）を設けるようにしてもよい。
【００１３】
また、円盤状記録媒体Ｄ上における予め決定された所定アドレスに対するデータ読出し要求時に、初回要求時のみ円盤状記録媒体Ｄ上の該当アドレスのデータを拡張メモリ領域ＥＺを介して外部装置３１に転送し、２回目以降の読出し要求時に、上記拡張メモリ領域ＥＺに保持されているデータを外部装置３１に転送する第１の転送手段（拡張読出し要求手段７８及び拡張読出し処理手段９８）と、円盤状記録媒体Ｄ上における所定アドレス以外のデータ読出し要求時に、円盤状記録媒体Ｄ上の該当アドレスのデータを転送バッファ領域ＴＺを介して外部装置３１に転送する第２の転送手段（読出し要求手段７７及び読出し処理手段９７）とを設けるようにしてもよい。
【００１４】
また、外部装置３１からの領域間転送要求に基づいて、転送バッファ領域ＴＺに一時的に保持されているデータを拡張メモリ領域ＥＺに転送する第３の転送手段（ブロック転送要求手段７９及びブロック転送処理手段９９）を設けるようにしてもよい。
【００１５】
また、外部装置３１からのデータ書込み要求に基づいて、外部装置３１から転送されたデータを拡張メモリ領域ＥＺに書き込むデータ書込み手段（拡張書込み要求手段８０及び拡張書込み処理手段１００）を設けるようにしてもよい。
【００１６】
また、外部装置３１からの予約解除要求に基づいて、拡張メモリ予約手段（予約要求手段７６及び予約処理手段９６）による記憶手段２６に対しての転送バッファ領域ＴＺと拡張メモリ領域ＥＺとの論理的割り付けを解除して、記憶手段２６の記憶領域全体又は当該要求に係る拡張メモリ領域ＥＺを転送バッファ領域ＴＺとする予約解除手段（予約解除処理手段１０２）を設けるようにしてもよい。
【００１７】
なお、記憶手段２６のうち、拡張メモリ領域ＥＺを不揮発性の半導体メモリにて構成するようにしてもよい。
【００１８】
【作用】
本発明に係る再生装置においては、回転駆動手段２に装着された円盤状記録媒体Ｄが回転駆動手段２によって回転駆動され、再生手段を通じて円盤状記録媒体Ｄに記録された情報データが再生される。
【００１９】
上記再生手段にて再生された情報データは、記憶手段２６の記憶領域のうち、転送バッファ領域ＴＺに一時的に蓄積され、その後、インターフェース手段２５を通じて外部装置３１に転送される。この転送バッファ領域ＴＺに対してはそのデータ転送元が円盤状記録媒体Ｄであることから、専ら再生手段を通じて再生された円盤状記録媒体Ｄ上のデータが一時的に蓄積されることになる。この場合、過去のデータは消去され、現在のデータが上書きされることになる。
【００２０】
一方、上記再生手段にて再生されたデータは、記憶手段２６の記憶領域のうち、拡張メモリ領域ＥＺにも蓄積される。転送バッファ領域ＴＺの場合と異なり、蓄積されたデータ保持部分へのデータ置換が禁止されることから、過去のデータ消去されて現在のデータが上書きされるということがない。即ち、一度拡張メモリ領域ＥＺに蓄積されたデータは、その後の円盤状記録媒体Ｄからのデータ読出しに影響されずに該拡張メモリ領域ＥＺ上に保持されることになる。
【００２１】
従って、円盤状記録媒体Ｄ上の読出し頻度の高いアドレスのデータを拡張メモリ領域ＥＺに蓄積させ、それ以外のアドレスのデータを転送バッファ領域ＴＺに一時的に蓄積させるようにすれば、読出し頻度の高いアドレスのデータを外部装置３１に転送する場合、いちいち再生手段を通じて円盤状記録媒体Ｄ上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域ＥＺに蓄積されているデータを直接外部装置３１に転送させることができることになる。
【００２２】
その結果、再生装置に対するデータアクセス時間が再生装置の平均アクセス時間に依存するということがなくなり、該平均アクセス時間以上の性能を疑似的に発揮させることが可能となる。
【００２３】
このようなことから、本発明に係る再生装置においては、データ転送効率の向上を図るために組み込まれた記憶手段２６（例えば半導体メモリ）の効果を十分に発揮させることができ、円盤状記録媒体Ｄ上のデータを効率よく外部装置３１に転送させることができるようになる。
【００２４】
また、拡張メモリ領域ＥＺのデータ転送元が任意であることから、外部装置３１から転送されたデータもこの拡張メモリ領域ＥＺに蓄積させることが可能となる。この場合、外部装置３１が所有するメモリの容量が不足する場合に、この拡張メモリ領域ＥＺを外部装置３１の外部記憶装置として利用することが可能となる。
【００２５】
また、上記構成において、外部装置３１からの拡張メモリ予約要求に基づいて、記憶手段２６の記憶領域を転送バッファ領域ＴＺと拡張メモリ領域ＥＺに論理的に割り付ける拡張メモリ予約手段を設けた場合においては、外部装置３１からの拡張メモリ予約要求がない場合は、記憶領域がそのまま転送バッファ領域ＴＺとして使用されることになり、円盤状記録媒体Ｄからのデータが記憶領域を介して外部装置３１に転送されることになる。
【００２６】
そして、外部装置３１からの拡張メモリ予約要求に基づき拡張メモリ予約手段を通じて、記憶領域が転送バッファ領域ＴＺと拡張メモリ領域ＥＺに論理的に割り付けられ、その後は、上述したようなデータアクセスが転送バッファ領域ＴＺ及び拡張メモリ領域ＥＺを通して行なわれる。即ち、円盤状記録媒体Ｄ上のランダムなアドレスのデータを円盤状記録媒体Ｄから転送バッファ領域ＴＺを介して外部装置３１に転送し、読出し頻度の高いアドレスのデータを拡張メモリ領域ＥＺを通して外部装置３１に転送する。また、外部装置３１からのデータを拡張メモリ領域ＥＺに蓄積させる。
【００２７】
このように、上記構成においては、記憶手段２６の記憶領域を、データ転送元が円盤状記録媒体Ｄのみである転送バッファ領域ＴＺとして使用するだけでなく、その一部の領域を、データ転送元が任意である拡張メモリ領域ＥＺとして使用したい場合に、外部装置３１からの拡張メモリ予約要求を与えるだけで実現できることになるため、再生装置に内蔵された記憶手段２６（半導体メモリ）を十分に活用させることができ、該記憶手段２６による効果を十分に発揮させることができる。
【００２８】
また、上記構成において、円盤状記録媒体Ｄ上における予め決定された所定アドレスに対するデータ読出し要求時に、初回要求時のみ円盤状記録媒体Ｄ上の該当アドレスのデータを拡張メモリ領域ＥＺを介して外部装置３１に転送し、２回目以降の読出し要求時に、拡張メモリ領域ＥＺに保持されているデータを外部装置３１に転送する第１の転送手段と、円盤状記録媒体Ｄ上における上記所定アドレス以外のデータ読出し要求時に、円盤状記録媒体Ｄ上の該当アドレスのデータを転送バッファ領域ＴＺを介して外部装置３１に転送する第２の転送手段とを設けるようにした場合は、以下の動作を行なうことになる。
【００２９】
円盤状記録媒体Ｄ上の予め決定された所定アドレス以外のデータの読出し要求があった場合、再生手段を通じて再生されたデータが第２の転送手段を通じ、記憶手段２６における記憶領域の転送バッファ領域ＴＺを介して外部装置３１に転送される。次回以降、所定アドレス以外のデータを外部装置３１に転送する場合も、再生手段にて再生された上記アドレスのデータが第２の転送手段を通じ、転送バッファ領域ＴＺを介して外部装置３１に転送される。即ち、転送バッファ領域ＴＺにおけるデータが順次上書きされながら外部装置３１へのデータ転送が行なわれる。
【００３０】
一方、円盤状記録媒体Ｄ上の予め決定された所定アドレスのデータの読出し要求があった場合は、まず、初回要求時において、再生手段を通じて再生された上記アドレスのデータが第１の転送手段を通じて記憶手段２６における記憶領域の拡張メモリ領域ＥＺに蓄積され、更にこの第１の転送手段を通じて拡張メモリ領域ＥＺに蓄積されているデータが外部装置３１に転送されることになる。
【００３１】
次回以降、所定アドレスのデータを外部装置３１に転送する場合においては、拡張メモリ領域ＥＺに蓄積されているデータが第１の転送手段を通じてそのまま外部装置３１に転送されることになる。即ち、所定アドレスのデータを外部装置３１に転送する場合、いちいち再生手段を通じて円盤状記録媒体Ｄ上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域ＥＺに蓄積されているデータを直接外部装置３１に転送させることができることになる。
【００３２】
また、上記構成において、外部装置３１からの領域間転送要求に基づいて、転送バッファ領域ＴＺに一時的に保持されているデータを拡張メモリ領域ＥＺに転送する第３の転送手段を設けた場合においては、例えば後発的に決定された円盤状記録媒体Ｄ上の第２の所定アドレスのデータが第２の転送手段を通じて転送バッファ領域に蓄積された際に、外部装置３１からの領域間転送要求に基づいて、転送バッファ領域ＴＺ内のデータが第３の転送手段を通じて拡張メモリ領域ＥＺに転送されることになる。
【００３３】
これは、後発的に読出し頻度の高いアドレスが判明した場合に有効となる。即ち、読出し頻度の高いアドレスは、最初から判明している場合と、再生装置の使用経過によって、後発的に判明する場合がある。本発明は、この後発的に判明した読出し頻度の高いアドレスのデータが第２の転送手段を通じて転送バッファ領域に蓄積された際に、第３の転送手段を通じて拡張メモリ領域ＥＺに転送蓄積させることが可能となり、次回以降、上記後発的に判明した読出し頻度の高いアドレスのデータを転送する際には、円盤状記録媒体Ｄからではなく拡張メモリ領域ＥＺに蓄積されているデータを外部装置３１に転送できることになる。その結果、再生装置と外部装置３１間のデータ転送を更に効率よく行なわせることができる。
【００３４】
また、上記構成において、外部装置３１からのデータ書込み要求に基づいて、外部装置３１から転送されたデータを拡張メモリ領域ＥＺに書き込むデータ書込み手段を設けた場合においては、外部装置３１からのデータ書込み要求に基づいて、データ書込み手段を通じて外部装置３１から転送されたデータをこの拡張メモリ領域ＥＺに蓄積させることが可能となる。この場合、外部装置３１が所有するメモリの容量が不足する場合に、この拡張メモリ領域ＥＺを外部装置の外部記憶装置として利用することが可能となる。
【００３５】
また、上記構成において、外部装置３１からの予約解除要求に基づいて、拡張メモリ予約手段による記憶手段２６に対しての転送バッファ領域ＴＺと拡張メモリ領域ＥＺとの論理的割り付けを解除して、記憶手段２６の記憶領域全体又は当該要求に係る拡張メモリ領域ＥＺを転送バッファ領域ＴＺとする予約解除手段を設けた場合においては、以下のような場合に有効となる。
【００３６】
即ち、頻繁にデータアクセスを行なう必要がない固定データが記録された円盤状記録媒体Ｄ（例えば、円盤状記録媒体Ｄに記録されているデータがシーケンシャルファイル形式である場合など）に対するアクセスにおいて、予約解除手段によって記録領域全体又は当該要求に係る拡張メモリ領域ＥＺを転送バッファ領域ＴＺとすることにより、１回のデータ転送サイズを大きくすることができ、上記のような円盤状記録媒体Ｄに対するアクセス時間を効率よく短縮することができる。
【００３７】
また、上記構成において、記憶手段２６のうち、拡張メモリ領域ＥＺを不揮発性の半導体メモリにて構成した場合においては、再生装置においてプログラム動作によって作成されたデータ、例えば次に読出すアドレスや各種パラメータ並びに外部装置においてプログラム動作によって作成されたデータ、例えば後発的に判明した読出し頻度の高いアドレスや各種パラメータ等をデータ書込み手段を通じて拡張メモリ領域ＥＺに書き込むことにより、電源停止後や突然の電源断においても、上記データを保持することができ、その後のシステム保守を容易に行なうことが可能となる。
【００３８】
【実施例】
以下、本発明に係る再生装置を、ホストコンピュータの外部記憶装置として再生専用の光ディスク（ＣＤ−ＲＯＭ）を記録媒体とするＣＤ−ＲＯＭドライブ装置に適用した実施例（以下、単に実施例に係る再生装置と記す）を図１〜図５５を参照しながら説明する。
【００３９】
この実施例に係る再生装置は、図１に示すように、先端に光ディスクＤが装着されるターンテーブル１を有し、このターンテーブル１に装着された光ディスクＤを例えばＣＬＶ（線速度一定）方式で一方向に回転させるスピンドルモータ２と、この回転する光ディスクＤに対して情報信号の再生を行う光ピックアップ３と、この光ピックアップ３からの再生信号Ｓｒを復調して再生データとして外部に送出する信号処理系４を有して構成されている。
【００４０】
光ディスクＤは、記録された情報信号に基づいて凹凸パターン、即ち位相ピットが同心円もしくは螺旋状に形成されたトラックが一方の面に形成されている。具体的には、光透過性を有するポリカーボネートやＰＭＭＡ等のような合成樹脂材からなるディスク基板と、このディスク基板の一方の面に形成された位相ピットを被覆するように形成されたＡｌやＡｕ等の金属からなる反射膜と、この反射膜を保護することを目的として上記反射膜を被覆するように形成された保護層とにより形成されている。
【００４１】
更に、この光ディスクＤは、その内周部分にこの光ディスクＤの属性、例えばトラックピッチやトラック数などのトラックに関するデータ、即ちＴＯＣデータが凹凸パターンによるピット情報として記録されており、このＴＯＣデータが記録されたシステム領域を除いた部分に位相ピットによる画像データや音声データ並びに辞書データ等のＲＯＭデータが記録されている。
【００４２】
光ピックアップ３は、例えばリニアモータ５及びガイド軸６を主体とする既知の光ピックアップ用スライド機構７によって、光ディスクＤの径方向に移動自在とされ、その内部に少なくともレーザ光の光源である半導体レーザ（図示せず）と、この半導体レーザから出射されたレーザ光Ｌを光ディスクＤの記録面に集光させる対物レンズ８と、半導体レーザから出射されたレーザ光Ｌの光ディスクＤでの反射光を検出して電気信号（即ち、再生信号）に変換する光検出器（図示せず）と、上記反射光を半導体レーザからの出射光と空間的に分離するビームスプリッタ（図示せず）を有して構成されている。
【００４３】
上記対物レンズ８は、簡単な構成の二次元アクチェータ９によって、光ディスクＤの接離方向及び光ディスクＤの径方向にそれぞれ微小範囲で移動可能とされている。この二次元アクチュエータ９は、例えばフォーカス・コイル、トラッキング・コイル及びマグネット（共に図示せず）からなる磁気回路にて構成されている。
【００４４】
なお、上記光ピックアップ３内には、上記光検出器のほかに、レーザ光Ｌの光強度を検出するための別の光検出器が配されており、この光検出器からの検出信号は、光ピックアップ３の外部に設けられた光強度制御回路（ＡＰＣ回路）１０に供給されるようになっている。このＡＰＣ回路１０は、上記光検出器からの検出信号に基づいて、レーザ光源が安定に発振するようにレーザ光源の出力を制御するものである。
【００４５】
一方、信号処理系４は、図１に示すように、ＲＦアンプ部２１、復調回路２２、Ｄ／Ａ変換器２３、デコーダ２４、インターフェース・プロトコル・コントローラ（以下、単にＩ／Ｆコントローラと記す）２５、データバッファ２６、サーボ制御部２７、メカニズムコントローラ２８及びこれら各種回路を制御するシステムコントローラ２９を有し、更に、本実施例においては、上記Ｉ／Ｆコントローラ２５の後段にインターフェース・バス３０を介してホストコンピュータ３１が接続されている。それぞれマイクロプロセッシングユニットにて構成されたメカニズム・コントローラ２８及びシステムコントローラ２９は、内部バス３２にて互いに接続されている。
【００４６】
また、光ディスクＤを回転駆動するスピンドルモータ２の前段には、このスピンドルモータ２に対して駆動電流を供給するためのモータ駆動回路４１が接続され、対物レンズ８を微小範囲に移動させる二次元アクチュエータ９の前段には、それぞれフォーカス・コイル及びトラッキング・コイルに励磁電流を供給するためのフォーカス用駆動回路４２及びトラッキング用駆動回路４３が接続されている。また、光ピックアップ用スライド機構７の駆動源であるモータ５の前段には、このモータ５に対して駆動電流を供給するためのモータ駆動回路４４が接続されている。
【００４７】
ＲＦアンプ部２１は、光ピックアップ３における上記光検出器からの再生信号Ｓｒを増幅し、更に、この再生増幅信号から情報信号成分Ｓｉとフォーカスエラー信号成分Ｓｆとトラッキングエラー信号成分Ｓｔとに分離する。また、このＲＦアンプ部２１の後段には、復調回路２２とサーボ制御部２７が接続されて、上記情報信号成分Ｓｉが復調回路２２に供給され、フォーカスエラー信号成分Ｓｆ及びトラッキングエラー信号成分Ｓｔがサーボ制御部２７に供給されるようになっている。
【００４８】
復調回路２２は、ＲＦアンプ部２１からの情報信号成分ＳｉをＥＦＭ復調し、更にエラー訂正等の復号化処理を行なってデジタルの再生データＤｉに変換する回路である。また、この復調回路２２には、上記情報信号成分Ｓｉから基準信号を抽出し、この基準信号に基づいて、光ディスクＤをマスタリングされたのと同じ線速度で回転駆動させるためのスピンドルサーボエラー信号Ｓｓを生成してモータ駆動回路４１に出力するスピンドルサーボエラー信号生成回路（図示せず）が組み込まれている。
【００４９】
サーボ制御部２７は、その内部に、フォーカス・サーボ回路、トラッキング・サーボ回路及び光ピックアップ用スライド機構のモータに対してサーボ制御を行うモータ用サーボ回路等（共に図示せず）が組み込まれており、これら各種サーボ回路は、それぞれメカニズムコントローラ２８からのサーボ制御に関するデータ（サーボゲイン等）や駆動信号などのサーボ駆動制御信号並びにＲＦアンプ部２１からのフォーカスエラー信号成分Ｓｆとトラッキングエラー信号成分Ｓｔが入力されるようになっている。
【００５０】
そして、このサーボ制御部２７中、上記フォーカス・サーボ回路は、ＲＦアンプ部２１からのフォーカスエラー信号成分Ｓｆ、具体的には、光ディスクＤに形成されたミラー面へのレーザ光照射に伴う該ミラー面からの反射光量に応じた検出信号をＲＦアンプ部２１にて所定の演算を行なって得た信号Ｓｆに基づいて、光ピックアップ３の二次元アクチュエータ９を駆動・制御することにより、対物レンズ８を光ディスクＤの接離方向に移動させてその焦点調整を行う回路である。
【００５１】
サーボ制御部２７中、上記トラッキング・サーボ回路は、ＲＦアンプ部２１からのトラッキングエラー信号成分Ｓｔ、具体的には、光ディスクＤに形成されている例えば案内溝の検出に伴う検出信号をＲＦアンプ部２１にて所定の演算を行なって得た信号に基づいて、光ピックアップ３の二次元アクチュエータ９を駆動・制御することにより、対物レンズ８を光ディスクＤの径方向に移動させてそのトラッキング調整を行う回路である。
【００５２】
サーボ制御部２７中、上記モータ用サーボ回路は、メカニズム・コントローラ２８からのシーク動作要求、トラックジャンプ要求及びステップジャンプ要求に基づいて光ピックアップ用スライド機構７のモータ５を駆動することにより、光ピックアップ３を所望のトラックに移動させる回路である。
【００５３】
デコーダ２４は、復調回路２２から出力された再生データＤｉをホストコンピュータ３１が取り扱うコード形態、即ちＲＯＭデータＤｒに変換する回路である。また、このデコーダ２４からは、ＲＯＭデータＤｒに対応するアドレスデータ（以下、ＲＯＭアドレスデータと記す）Ｄａｒが得られるようになっている。Ｄ／Ａ変換器２３は、復調回路２２から出力された再生データＤｉをアナログの再生信号Ｓａに変換する回路であり、特に、光ディスクＤに記録されたデータが音声データであって、アナログの音声信号Ｓａとして取り出す場合に有効である。
【００５４】
メカニズムコントローラ２８は、復調回路２２から出力される再生データＤｉのうち、サブコードアドレスデータＤａが入力されるようになっている。
【００５５】
このメカニズムコントローラ２８の代表的な動作としては、例えばホストコンピュータ３１からのシステムコントローラ２９への読出し要求の入力に基づいて、システムコントローラ２９からメカニズムコントローラ２８に対して読出し制御信号が出力される。
【００５６】
メカニズムコントローラ２８は、上記システムコントローラ２９からの読出し制御信号の入力と、復調回路２２から入力されるサブコードアドレスデータＤａに基づいて、要求アドレス（読出しアドレス）に対応するトラックより１つ手前のトラックまで光ピックアップ３をシーク動作、トラックジャンプ動作又はステップジャンプ動作するように制御する。
【００５７】
目標トラックの手前１トラックになった段階から、システムコントローラ２９は、デコーダ２４からのＲＯＭアドレスデータＤａｒとホストコンピュータ３１からの読出しアドレスデータとを判別して、メカニズムコントローラ２８に対し、判別結果に応じた読出し制御信号を出力し、メカニズムコントローラ２８を通じて読出しアドレスに対応する部分に光ピックアップ３を引き込む。
【００５８】
そして、光ピックアップ３が読出しアドレスに対応したトラックに位置した時点で、システムコントローラ２９がメカニズムコントローラ２８に対して読出し信号を出力する。メカニズムコントローラ２８は、システムコントローラ２９からの読出し信号の入力に基づいてＲＦアンプ部２１及び復調回路２２に対して制御用データＤｃを出力する。これによって、該トラックに記録されているデータが再生されることになる。
【００５９】
そして、復調回路２２から再生データＤｉがデコーダ２４に供給されている段階において、ＲＯＭアドレスデータＤａｒがシステムコントローラ２９に供給されることにより、要求のあったアドレスのデータのみがＩ／Ｆコントローラ２５を介してデータバッファ２６に転送されることになる。
【００６０】
ここで、上記データバッファ２６は、例えばＤＲＡＭ又はＳＲＡＭ等の半導体メモリにて構成され、例えば、図２（ａ）に示すように、データバッファ２６における記憶領域の先頭論理アドレス（相対セクタアドレス）から所定論理アドレス（相対セクタアドレス）までが転送バッファ領域ＴＺとして割り付けられ、上記所定論理アドレス＋１から最終論理アドレスまでが拡張メモリ領域（斜線で示す）ＥＺとして割り付けられる。もちろん図２（ａ）で示す割り付け以外に、図２（ｂ）に示すように、複数の拡張メモリ領域ＥＺが割り付けられる場合もある。
【００６１】
デコーダ２４からの再生データＤｉは、通常は、上記データバッファ２６のうち、転送バッファ領域ＴＺに蓄積される。この転送バッファ領域ＴＺに蓄積された再生データＤｉは、その後、Ｉ／Ｆコントローラ２５を介してホストコンピュータ３１に転送されることになる。
【００６２】
そして、本実施例に係る再生装置が備えるコマンドとしては、以下のようなものが用意される。
(1) 予約コマンド
(2) 読出しコマンド
(3) 拡張読出しコマンド
(4) ブロック転送コマンド
(5) 拡張書込みコマンド
(6) 拡張転送コマンド
(7) 予約解除コマンド
【００６３】
これらのコマンドは、 (2)の読出しコマンドを除いて、データバッファ２６の使い方を選択するためのものである。ホストコンピュータ３１からの入力される上記コマンドは再生装置で一般的に使われているＳＣＳＩ（Small Computer System Interface ）等のインターフェース・プロトコルに従って、Ｉ／Ｆコントローラ２５に送られる。
【００６４】
Ｉ／Ｆコントローラ２５は、ホストコンピュータ３１からのコマンドを受信した後、システムコントローラ２９に例えば割込み信号を用いてコマンドを受け取ったことを知らせる。システムコントローラ２９は、この割込み信号によりホストコンピュータからコマンドが送られたことを認識し、その後、Ｉ／Ｆコントローラ２５からコマンドを受け取る。コマンドを受け取ったシステムコントローラ２９は、コマンドの内容を解釈してコマンドに応じた処理を実行する。
【００６５】
以下に、コマンドの詳細を述べる。なお、ここでは図２で示すデータバッファ２６の記憶領域におけるアドレスを光ディスクＤにおける１セクタ分のデータに対応した論理アドレスであるものとして扱っている。
【００６６】
(1) 予約コマンド
データバッファ２６の記憶領域に拡張メモリ領域を予約する。このコマンドは、拡張メモリの開始論理アドレスと終了論理アドレスをパラメータとして持つ。これによって、拡張メモリの開始論理アドレスから終了論理アドレスまでの領域は拡張メモリ領域ＥＺとして、残りの領域は転送バッファ領域ＴＺとして使用される。
【００６７】
(2) 読出しコマンド
ホストコンピュータ３１が、光ディスクＤからの再生データＤｉをＲＯＭデータＤｒとして転送バッファ領域ＴＺを経由して読み出すためのコマンドである。
【００６８】
この読出しコマンドは、光ディスクＤから読み出すデータの先頭アドレスと読み出すデータのセクタ数をパラメータとして持つ。このコマンドをシステムコントローラ２９が受け取ったら、該システムコントローラ２９は、まず、要求されたデータが転送バッファ領域ＴＺに記憶されているかどうかを確認する。転送バッファ領域ＴＺに要求のデータが存在すれば、そのデータをＩ／Ｆコントローラ２５を経由させてホストコンピュータ３１に転送する。
【００６９】
要求のデータが転送バッファ領域ＴＺに存在しなければ、メカニズムコントローラ２８に対して光ディスクＤの検索をするように内部バス３２経由で指示する。メカニズムコントローラ２８は、ＲＦアンプ部２１、サーボ制御部２７、復調回路２２をそれぞれ制御して光ディスクＤの該当アドレスからデータを再生させる。
【００７０】
得られた再生データＤｉは、デコーダ２４によってＲＯＭデータＤｒに変換される。同時にシステムコントローラ２９には再生データＤｉをデコードした結果得られるＲＯＭアドレス情報Ｄａｒが得られる。システムコントローラ２９は、このＲＯＭアドレス情報Ｄａｒに基づいてホストコンピュータ３１から要求されたデータのみを転送バッファ領域ＴＺに転送するようにＩ／Ｆコントローラ２５を制御する。
【００７１】
転送バッファ領域ＴＺに要求されたデータが蓄えられると、この蓄積されたデータは、Ｉ／Ｆコントローラ２５を経由してホストコンピュータ３１に転送される。
【００７２】
(3) 拡張読出しコマンド
拡張メモリ領域ＥＺの指定領域に光ディスクＤからのデータを転送して、該指定領域ＥＺに蓄積されたデータをホストコンピュータ３１に転送するためのコマンドである。手順は、上記「(2) 読出しコマンド」で述べたものに等しい
【００７３】
(4) ブロック転送コマンド
転送バッファ領域ＴＺ内のデータを拡張メモリ領域ＥＺの指定領域に転送するためのコマンドである。このコマンドによって、転送バッファ領域ＴＺ内のデータ転送開始論理アドレスと転送セクタ数及び拡張メモリ領域ＥＺ内の書込み開始論理アドレスが指定される。
【００７４】
(5) 拡張書込みコマンド
拡張メモリ領域ＥＺの指定領域にホストコンピュータ３１からのデータを書き込むためのコマンドである。このコマンドによって、拡張メモリ領域ＥＺ内の書込み開始論理アドレスと転送セクタ数が指定された後に、ホストコンピュータ３１からデータが送信される。
【００７５】
(6) 拡張転送コマンド
拡張メモリ領域ＥＺの指定領域のデータをホストコンピュータ３１に転送するためのコマンドである。このコマンドによって、拡張メモリ領域ＥＺ内の読出し開始論理アドレスと転送セクタ数が指定された後に、ホストコンピュータ３１にデータが転送される。
【００７６】
(7) 予約解除コマンド
拡張メモリ領域ＥＺの予約領域を解除して、データバッファ２６の記憶領域全体あるいは予約解除の対象となってる拡張メモリ領域ＥＺを転送バッファ領域ＴＺにするコマンドである。このコマンドによって、拡張メモリ領域ＥＺの開始論理アドレスが指定される。
【００７７】
以下、上記コマンドによる再生装置の動作、特にデータバッファ２６に対するデータの受渡しを主体とした動作を、Ｉ／Ｆコントローラ２５のハード構成、機能ブロック及びフローチャート、並びにシステムコントローラ２９のハード構成、機能ブロック及びフローチャートを参照しながら説明する。
【００７８】
まず、Ｉ／Ｆコントローラ２５のハード構成を図３に基づいて説明すると、このＩ／Ｆコントローラ２５は、各種プログラムが登録されたプログラムＲＯＭ５１と、このプログラムＲＯＭ５１から読み出されたプログラムの動作用領域として使用される動作用ＲＡＭ５２と、外部回路（デコーダ２４，ホストコンピュータ３１，システムコントローラ２９）からのデジタルデータやプログラムにて作成された可変データが格納されるデータＲＡＭ５３と、外部回路からの入力データが供給される入力ポート５４と、データＲＡＭ５３に格納されたデータを外部回路に出力するための出力ポート５５と、これら各種回路を制御するＣＰＵ（制御装置及び論理演算装置）５６を有して構成されている。
【００７９】
上記各種回路は、ＣＰＵ５６から導出されたデータバスＤＢを介して各回路間のデータの受渡しが行なわれ、更にＣＰＵ５６から導出された制御バス（図示せず）を介してそれぞれＣＰＵ５６にて制御されるように構成されている。また、デコーダ２４，ホストコンピュータ３１，システムコントローラ２９からの各種デジタルデータは、入力ポート５４を介してデータバスＤＢに供給されるようになっている。
【００８０】
次に、システムコントローラ２９のハード構成を図７に基づいて説明すると、このシステムコントローラ２９は、各種プログラムが登録されたプログラムＲＯＭ６１と、このプログラムＲＯＭ６１から読み出されたプログラムの動作用領域として使用される動作用ＲＡＭ６２と、外部回路（Ｉ／Ｆコントローラ２５，メカニズムコントローラ２８）からのデジタルデータやプログラムにて作成された可変データが格納されるデータＲＡＭ６３と、外部回路からの入力データが供給される入力ポート６４と、データＲＡＭ６３に格納されたデータを外部回路に出力するための出力ポート６５と、これら各種回路を制御するＣＰＵ（制御装置及び論理演算装置）６６を有して構成されている。
【００８１】
上記各種回路は、ＣＰＵ６６から導出されたデータバスＤＢを介して各回路間のデータの受渡しが行なわれ、更にＣＰＵ６６から導出された制御バス（図示せず）を介してそれぞれＣＰＵ６６にて制御されるように構成されている。また、Ｉ／Ｆコントローラ２５，メカニズムコントローラ２８からの各種デジタルデータは、入力ポート６４を介してデータバスＤＢに供給されるようになっている。
【００８２】
次に、Ｉ／Ｆコントローラ２５及びシステムコントローラ２８の動作について詳細に説明する。
【００８３】
まず、Ｉ／Ｆコントローラ２５においては、図５のステップＳ１において、電源投入と同時に初期動作、例えばＩ／Ｆコントローラ２５内のシステムチェックやメモリチェック及びセットアップ等が行なわれる。
【００８４】
その後、ステップＳ２において、プログラムＲＯＭ５１から、ホストコンピュータ３１からのコマンドをシステムコントローラ２９に出力し、更にシステムコントローラ２９からの上記コマンドに応じたパラメータに基づいてデータ転送処理を行なう手段７１（図４参照）であるデータ転送処理プログラムが読み出されて動作用ＲＡＭ５２に書き込まれると同時に、上記プログラムの動作中において作成されたデータを一時的に保存するためや、これらプログラムを構成する各ルーチンの変数の受渡しなどに用いられる作業領域が動作用ＲＡＭ５２中に割り付けられる。
【００８５】
上記動作用ＲＡＭ５２に読み出されたデータ転送処理プログラム７１は、図４に示すように、各種判別を行なう判別手段７２と、ホストコンピュータ３１からのコマンドを受け取るコマンド受取り手段７３と、コマンド受取り手段７３にてコマンドを受け取ったことに基づいてシステムコントローラ２９に対して割り込み信号を出力する割り込み信号出力手段７４と、上記コマンドに応じた処理に分岐させるための手段である各種要求処理手段７５とを有して構成されている。
【００８６】
上記各種要求処理手段７５において上記コマンドに応じて選択的に活性化される手段は以下の通りである。
【００８７】
▲１▼  ホストコンピュータ３１からの予約コマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からの情報テーブルを受け取って、この情報テーブルのデータに基づいてデータバッファ２６に拡張メモリ領域ＥＺを論理的に割り付ける予約要求手段７６
▲２▼  ホストコンピュータ３１からの読出しコマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からのパラメータに応じて光ディスクＤからの再生データ（ＲＯＭデータ）をデータバッファ２６の転送バッファ領域ＴＺを介してホストコンピュータ３１に転送する読出し要求手段７７
▲３▼  ホストコンピュータ３１からの拡張読出しコマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からのパラメータに応じて光ディスクＤからの再生データをデータバッファ２６の拡張メモリ領域ＥＺを介してホストコンピュータ３１に転送する拡張読出し要求手段７８
▲４▼  ホストコンピュータ３１からのブロック転送コマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からのパラメータに応じて転送バッファ領域ＴＺのデータをデータバッファ２６の拡張メモリ領域ＥＺに書き込むブロック転送要求手段７９
▲５▼  ホストコンピュータ３１からの拡張書込みコマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からのパラメータに応じてホストコンピュータ３１からの転送データを拡張メモリ領域ＥＺに書き込む拡張書込み要求手段８０
▲６▼  ホストコンピュータ３１からの拡張転送コマンドをシステムコントローラ２９に出力し、かつシステムコントローラ２９からのパラメータに応じて拡張メモリ領域ＥＺのデータをホストコンピュータ３１に転送する拡張転送要求手段８１
▲７▼  ホストコンピュータ３１からの予約解除コマンドをシステムコントローラ２９に出力するコマンド出力手段８２
【００８８】
そして、図５のフローチャートにおけるステップＳ３において、判別手段７２を通じて、ホストコンピュータ３１から要求があったかどうか、即ちコマンドが入力されたかどうかの判別が行なわれる。このステップＳ３での判別は、ホストコンピュータ３１からのコマンドが入力されるまで行なわれ、コマンド入力待ちとなる。
【００８９】
コマンドが入力された場合、次のステップＳ４に進み、コマンド受取り手段７３を通じて、ホストコンピュータ３１からのコマンドを受け取り、データＲＡＭ５３のコマンド格納領域に格納する。次に、ステップＳ５において、割り込み信号出力手段７４を通じて、システムコントローラ２９にコマンドを受け取ったことを示す割り込み信号を出力する。
【００９０】
次に、ステップＳ６において、各種要求処理サブルーチン（各種要求処理手段）７５に入る。この各種要求処理サブルーチン７５は、図６に示すように、入力されたコマンドの指示内容に応じて、予約要求から拡張書込み要求までは、それぞれ対応するサブルーチン、即ち予約要求サブルーチン（予約要求手段７６）Ｓ１０１，読出し要求サブルーチン（読出し要求手段７７）Ｓ１０２，拡張読出し要求サブルーチン（拡張読出し要求手段７８）Ｓ１０３，ブロック転送要求サブルーチン（ブロック転送要求手段７９）Ｓ１０４，拡張書込み要求サブルーチン（拡張書込み要求手段８０）Ｓ１０５，拡張転送要求サブルーチン（拡張転送要求手段８１）Ｓ１０６に入り、予約解除要求である場合は、Ｓ１０７に進んでコマンド出力手段８２を通じてシステムコントローラ２９に今回のコマンドを出力する。
【００９１】
コマンドに応じた要求処理が終了すると、図５のメインルーチンに戻り、次のステップＳ７において、判別手段７２を通じて、プログラム終了要求があったかどうかの判別が行なわれる。この判別は、例えば電源ＯＦＦやメンテナンス割り込み（機能増設等に基づいてオンラインの環境下で新たなプログラムを移植する場合に行なわれる）などにおいて、終了要求があったかどうかで行なわれる。
【００９２】
そして、このステップＳ７においては、上記終了要求がない場合、ステップＳ３に戻って、再びコマンド入力待ちとなり、上記終了要求があった場合は、このデータ転送処理プログラムが終了することになる。
【００９３】
一方、システムコントローラ２９においては、図９のステップＳ２０１において、電源投入と同時に初期動作、例えばシステムコントローラ２９内のシステムチェックやメモリチェック及びセットアップ等が行なわれる。
【００９４】
その後、ステップＳ２０２において、プログラムＲＯＭ６１から、Ｉ／Ｆコントローラ２５からのコマンドを受け取り、この受け取ったコマンドに応じて各種テーブルを作成し、更にＩ／Ｆコントローラ２５に供給するためのパラメータを作成して、Ｉ／Ｆコントローラ２５に出力する手段９１（図８参照）であるコマンド処理プログラムが読み出されて動作用ＲＡＭ６２に書き込まれると同時に、上記プログラムの動作中において作成されたデータを一時的に保存するためや、これらプログラムを構成する各ルーチンの変数の受渡しなどに用いられる作業領域が動作用ＲＡＭ６２中に割り付けられる。
【００９５】
上記動作用ＲＡＭ６２に読み出されたコマンド処理プログラム９１は、図８に示すように、各種判別を行なう判別手段９２と、各種テーブルの内容やパラメータ等を初期化する初期化処理手段９３と、Ｉ／Ｆコントローラ２５からのコマンドを受け取るコマンド受取り手段９４と、入力されたコマンドに応じた処理に分岐させるための手段である各種要求処理手段９５とを有して構成されている。
【００９６】
上記各種要求処理手段９５において上記コマンドに応じて選択的に活性化される手段は以下の通りである。
【００９７】
▲１▼  Ｉ／Ｆコントローラ２５からの予約コマンドを受け取って、このコマンドに基づいて各種テーブルを作成してＩ／Ｆコントローラ２５に転送する予約処理手段９６
▲２▼  Ｉ／Ｆコントローラ２５からの読出しコマンドを受け取って、各種テーブルの修正を行ない、更に転送バッファ領域ＴＺの書込み開始論理アドレス等を有する読出し用パラメータを作成してＩ／Ｆコントローラ２５に出力する読出し処理手段９７
▲３▼  Ｉ／Ｆコントローラ２５からの拡張読出しコマンドを受け取って、各種テーブルの修正を行ない、更に拡張メモリ領域ＥＺの書込み開始論理アドレス等を有する拡張読出し用パラメータを作成してＩ／Ｆコントローラ２５に出力する拡張読出し処理手段９８
▲４▼  Ｉ／Ｆコントローラ２５からのブロック転送コマンドを受け取って、各種テーブルの修正を行ない、更に転送バッファ領域ＴＺの読出し開始論理アドレス及び拡張メモリ領域ＥＺの書込み開始論理アドレス等を有するブロック転送用パラメータを作成してＩ／Ｆコントローラ２５に出力するブロック転送処理手段９９
▲５▼  Ｉ／Ｆコントローラ２５からの拡張書込みコマンドを受け取って、各種テーブルの修正を行ない、更に拡張メモリ領域ＥＺの書込み開始論理アドレス等を有する拡張書込み用パラメータを作成してＩ／Ｆコントローラ２５に出力する拡張書込み処理手段１００
▲６▼  Ｉ／Ｆコントローラ２５からの拡張転送コマンドを受け取って、拡張メモリ領域ＥＺの読出し開始論理アドレス等を有する拡張転送用パラメータを作成してＩ／Ｆコントローラ２５に出力する拡張転送処理手段１０１
▲７▼  Ｉ／Ｆコントローラ２５からの予約解除コマンドを受け取って、各種テーブルに対して予約解除のための修正を行なう予約解除処理手段１０２
【００９８】
そして、図９のフローチャートにおけるステップＳ２０３において、初期化処理手段９３を通じて、各種テーブル及びパラメータを初期化する。例えばテーブルの開始レコードにＥＯＦ（エンド・オブ・ファイル）コードを格納し、各種データの格納領域に０を格納する。
【００９９】
次に、ステップＳ２０４において、判別手段９２を通じて、Ｉ／Ｆコントローラ２５から要求があったかどうか、即ちＩ／Ｆコントローラ２５から割り込み信号が入力されたかどうかの判別が行なわれる。このステップＳ２０４での判別は、Ｉ／Ｆコントローラ２５からの割り込み信号が入力されるまで行なわれ、割り込み信号入力待ちとなる。
【０１００】
割り込み信号が入力された場合、次のステップＳ２０５に進み、コマンド受取り手段９４を通じて、Ｉ／Ｆコントローラ２５からのコマンドを受け取り、データＲＡＭ６３のコマンド格納領域に格納する。
【０１０１】
次に、ステップＳ２０６において、各種要求処理サブルーチン（各種要求処理手段）９５に入る。このサブルーチン９５は、図１０に示すように、入力されたコマンドの指示内容に応じて、それぞれ対応するサブルーチン、即ち予約処理サブルーチン（予約処理手段９６）Ｓ３０１，読出し処理サブルーチン（読出し処理手段９７）Ｓ３０２，拡張読出し処理サブルーチン（拡張読出し処理手段９８）Ｓ３０３，ブロック転送処理サブルーチン（ブロック転送処理手段９９）Ｓ３０４，拡張書込み処理サブルーチン（拡張書込み処理手段１００）Ｓ３０５，拡張転送処理サブルーチン（拡張転送処理手段１０１）Ｓ３０６，予約解除処理サブルーチン（予約解除処理手段１０２）Ｓ３０７に入る。
【０１０２】
コマンドに応じた要求処理が終了すると、図９のメインルーチンに戻り、次のステップＳ２０７において、判別手段９２を通じて、プログラム終了要求があったかどうかの判別が行なわれる。この判別は、例えば電源ＯＦＦやメンテナンス割り込み（機能増設等に基づいてオンラインの環境下で新たなプログラムを移植する場合に行なわれる）などにおいて、終了要求があったかどうかで行なわれる。
【０１０３】
そして、このステップ２０７においては、上記終了要求がない場合、ステップＳ２０４に戻って、再びコマンド入力待ちとなり、上記終了要求があった場合は、このデータ転送処理プログラム９１が終了することになる。
【０１０４】
次に、ホストコンピュータ３１からの各コマンドに応じたＩ／Ｆコントローラ２５及びシステムコントローラ２９の動作について以下に説明する。
【０１０５】
［拡張メモリ領域の予約処理］
まず、ホストコンピュータ３１から予約コマンドがＩ／Ｆコントローラ２５に入力された場合は、各種要求処理サブルーチン７５から予約要求サブルーチン（予約要求手段７６）に入る。
【０１０６】
この予約要求手段７６は、図１１に示すように、各種判別を行なう判別手段１１１と、システムコントローラ２９にコマンドを出力するコマンド出力手段１１２と、システムコントローラ２９から転送されてくる各種テーブルを受け取る各種テーブル受取り手段１１３とを有して構成されている。
【０１０７】
そして、この予約要求手段７５は、まず、図１２のステップＳ４０１において、コマンド出力手段１１２を通じて、コマンド格納領域に格納されている予約コマンドデータをシステムコントローラ２９に出力する。
【０１０８】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの予約コマンドデータが入力された場合、図１０で示す各種要求処理サブルーチンから予約処理サブルーチン（予約処理手段９６）に入る。予約コマンドデータは、拡張メモリ領域ＥＺの開始論理アドレス（相対セクタアドレス）と拡張メモリ領域ＥＺの終了論理アドレス（相対セクタアドレス）から構成されている。
【０１０９】
この予約処理手段９６は、図１３に示すように、各種判別を行なう判別手段１２１と、データＲＡＭ６３の所定領域に展開される拡張情報テーブルを作成する拡張情報テーブル作成手段１２２と、データＲＡＭ６３の別の所定領域に展開される転送情報テーブルを作成する転送情報テーブル作成手段１２３と、各情報テーブル作成手段１２２及び１２３にて作成された拡張情報テーブル及び転送情報テーブルをＩ／Ｆコントローラ２５に転送するテーブル転送手段１２４とを有して構成されている。
【０１１０】
また、この予約処理手段９６は、上記各種手段のほか、拡張情報テーブル作成手段１２２又は転送情報テーブル手段１２３にて活性化されるテーブル読出し手段１２５及びＥＯＦコード格納手段１２６と、拡張情報テーブル作成手段１２２のみにて活性化されるテーブルバッファ格納手段１２７，セットビット処理手段１２８，残存セクタ数更新手段１２９及びレコード移動手段１３０と、転送情報テーブル作成手段１２３のみにて活性化されるアドレス格納手段１３１とを有する。
【０１１１】
上記テーブル読出し手段１２５は、拡張情報テーブル又は転送情報テーブルをそれぞれ１レコードずつ読み出す手段であり、上記ＥＯＦコード格納手段１２６は、各情報テーブルの最終レコードにＥＯＦコードを格納する手段である。また、上記テーブルバッファ格納手段１２７は、データＲＡＭ６３に展開されたテーブルバッファを拡張情報テーブルの該当レコードに格納する手段であり、上記セットビット処理手段１２８は、拡張情報テーブルの該当レコードの指示情報ビットをセットビット処理する手段であり、上記残存セクタ数更新手段１２９は、予約に基づく拡張メモリ領域ＥＺの拡大によって増加する拡張メモリ領域ＥＺのセクタ数を＋更新し、又は予約に基づく拡張メモリ領域ＥＺの拡大によって減少する転送バッファ領域ＴＺのセクタ数を−更新するための手段であり、上記レコード移動手段１３０は、拡張情報テーブルの該当レコード以降のレコード群を所定のレコードから始まるように移動させる手段である。
【０１１２】
ここで、拡張情報テーブルは、図５４（ａ）に示すように、予約数に応じたレコードを有して構成され、１つのレコードの内容は、最初の１ビット目が予約済みか予約解除かを示す指示情報ビットであり、１／０＝予約済み／予約解除を示す。また、このレコードには、上記指示情報ビットのほかに、開始論理アドレス（相対セクタアドレス）と終了論理アドレス（相対セクタアドレス）が格納される領域が割り付けられている。
【０１１３】
一方、転送情報テーブルは、図５４（ｂ）に示すように、拡張メモリ領域ＥＺの予約数と同じかその±１の数に応じたレコードを有して構成され、１つのレコードの内容は、開始論理アドレス（相対セクタアドレス）と終了論理アドレス（相対セクタアドレス）が格納される領域が割り付けられている。
【０１１４】
そして、この予約処理手段９６は、まず、図１４のステップＳ５０１において、コマンド格納領域に格納されているコマンドデータをテーブルバッファに展開する。このテーブルバッファは、図５４（ａ）で示す拡張情報テーブルの１レコードの構成と同じであり、このステップＳ５０１では、コマンドデータ（開始論理アドレスデータ及び終了論理アドレスデータ）を拡張情報テーブルの１レコードの配列順序に応じて格納し、更に予約済みビットをセットする。
【０１１５】
次に、ステップＳ５０２において、拡張情報テーブル作成サブルーチン（拡張情報テーブル作成手段）に入る。このサブルーチンは、図１５に示すように、まず、ステップＳ６０１において、拡張情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化、即ちインデックスレジスタｉに値「０」を格納する。また、図５４（ｃ）で示す情報フラグに「０」を格納する。この情報フラグは、最初の１ビット目がＥＯＦコード要求フラグであり、次の２ビット目がテーブル変更要求フラグである。
【０１１６】
次に、ステップＳ６０２において、テーブル読出し手段１２５を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。次に、ステップＳ６０３において、判別手段１２１を通じて、上記ｉレコード目のレコードの内容がＥＯＦコードであるか否かが判別される。
【０１１７】
ｉレコード目の内容がＥＯＦコードでない場合は、次のステップＳ６０４に進み、判別手段１２１を通じて、レコード移動が必要か否かが判別される。この判別は、テーブルバッファに格納されている今回の予約に係る開始論理アドレスがｉレコード目のレコードに格納されている開始論理アドレスよりも小さいか否かで行なわれる。
【０１１８】
今回の予約に係る開始論理アドレスがｉレコード目に係る開始論理アドレスよりも小さい場合は、次のステップＳ６０５に進み、レコード移動手段１３０を通じて、拡張情報テーブル中、ｉレコード目以降のレコード群を（ｉ＋１）レコード以降に移動させる。
【０１１９】
次に、ステップＳ６０６において、テーブルバッファ格納手段１２７を通じて、拡張情報テーブルのｉレコード目に今回のテーブルバッファを格納する。次に、ステップＳ６０７において、情報フラグのうち、テーブル変更フラグに「１」をセットする。
【０１２０】
一方、上記ステップＳ６０４において、今回の予約に係る開始論理アドレスがｉレコード目に係る開始論理アドレスよりも小でない場合は、ステップＳ６０８に進み、判別手段１２１を通じて、今度は今回の予約に係る開始論理アドレスがｉレコード目に係る開始論理アドレスと同じであるか否かが判別される。アドレス同士が同じであれば、次のステップＳ６０９に進み、判別手段１２１を通じて、今度は今回の予約に係る終了論理アドレスがｉレコード目に係る終了論理アドレスと同じでないかどうかが判別される。
【０１２１】
アドレス同士が同じでない場合は、ステップＳ６０６に進み、ステップＳ６０６以降の処理が行なわれ、アドレス同士が一致した場合は、ステップＳ６１０に進み、セットビット処理手段１２８を通じて、拡張情報テーブルのｉレコード目に係る指示情報ビットに「１」がセットされる。即ち、拡張メモリ領域ＥＺ中、ｉレコード目に格納されている開始論理アドレスから終了論理アドレスまでの領域が予約済みとして登録される。
【０１２２】
上記ステップＳ６０８において、今回の予約に係る開始論理アドレスがｉレコード目に係る開始論理アドレスと同じでない場合は、ステップＳ６１１に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳ６０２に戻って拡張情報テーブルの次のレコードを読み出し、ステップＳ６０３以降の処理を繰り返す。
【０１２３】
また、上記ステップＳ６０３において、ｉレコード目の内容がＥＯＦコードである場合は、ステップＳ６１２に進み、情報フラグのうち、ＥＯＦコード要求フラグに「１」をセットした後、ステップＳ６０６に進んで、該ステップＳ６０６以降の処理が行なわれる。
【０１２４】
ステップＳ６０７又はステップＳ６１０の処理が終了した後は、ステップＳ６１３に進み、判別手段１２１を通じて、情報フラグ中、ＥＯＦコード要求フラグが「１」であるか否かが判別される。
【０１２５】
ＥＯＦコード要求フラグが「１」である場合は、次のステップＳ６１４に進み、ＥＯＦコード格納手段１２６を通じて、拡張情報テーブルの（ｉ＋１）レコード目にＥＯＦコードを格納する。次にステップＳ６１５において、予約セクタ数更新手段１２９を通じて、拡張メモリ領域ＥＺの予約セクタ数を＋更新する。具体的には、今回の予約に係る終了論理アドレスから（予約開始論理アドレス−１）を差し引いた値をデータＲＡＭ６３に割り付けられた予約セクタ数格納領域に格納されている値と加算して、該予約セクタ数格納領域に格納することにより行なわれる。
【０１２６】
次に、ステップＳ６１６において、残存セクタ数更新手段１２９を通じて、転送バッファ領域ＴＺの残存セクタ数を−更新する。具体的には、データバッファの全セクタ数から上記ステップＳ６１５にて求めた予約セクタ数を差し引いた値をデータＲＡＭ６３に割り付けられている残存セクタ数格納領域に格納することにより行なわれる。
【０１２７】
なお、上記ステップＳ６１３において、ＥＯＦコード要求フラグが「０」である場合は、直接上記ステップＳ６１５に進み、該ステップＳ６１５以降の処理を行なう。そして、上記ステップＳ６１６の処理が終了した時点でこの拡張情報テーブル作成サブルーチン１２２が終了する。
【０１２８】
図１４のメインルーチンに戻って、上記ステップＳ５０２における拡張情報テーブル作成サブルーチン１２２が終了すると、次のステップＳ５０３に進み、判別手段１２１を通じて、情報フラグ中、テーブル変更要求フラグが「１」であるか否かが判別される。
【０１２９】
テーブル変更要求フラグが「１」である場合は、次のステップＳ５０４に進み、今度は転送情報テーブル作成サブルーチン１２３に入る。このサブルーチンは、図１６に示すように、まず、ステップＳ７０１において、拡張情報テーブルのレコード読出しインデックスであるインデックスレジスタｉと転送情報テーブルのレコード読出しインデックスであるインデックスレジスタｊ及びルーチン回数を示すインデックスであるインデックスレジスタｋをそれぞれ初期化する。即ち各インデックスレジスタｉ，ｊ及びｋに初期値「０」をそれぞれ格納する。
【０１３０】
次に、ステップＳ７０２において、テーブル読出し手段１２５を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。次に、ステップＳ７０３において、判別手段１２１を通じて、上記ｉレコード目のレコードの内容がＥＯＦコードであるか否かが判別される。
【０１３１】
ｉレコード目の内容がＥＯＦコードでない場合は、次のステップＳ７０４に進み、判別手段１２１を通じて、ｉレコード目が予約済みか否かが判別される。この判別は、ｉレコード目の指示情報ビットが「１」か「０」かで行なわれる。
【０１３２】
ｉレコード目が予約済みである場合は、次のステップＳ７０５に進み、判別手段１２１を通じて、今度はインデックスレジスタｋの値が「０」か否かが判別される。この判別処理は、拡張メモリ領域ＥＺの予約範囲が論理アドレス＝０から始まっているかどうかを知るために行なわれるもので、これは拡張メモリ領域ＥＺの予約範囲が論理アドレス＝０から始まっているか否かによって、転送バッファ領域ＴＺの割り付けが変わってくるからである。
【０１３３】
上記ステップＳ７０５において、インデックスレジスタｋの値が「０」である場合は、次のステップＳ７０６に進み、判別手段１２１を通じて、今度はｉレコード目に格納されている開始論理アドレスが「０」でないかどうかが判別される。上記開始論理アドレスが「０」でない場合は、次のステップＳ７０７に進み、アドレス格納手段１３１を通じて、転送情報テーブルの０レコード目にその開始論理アドレスとして「０」を格納し、終了論理アドレスとして上記ステップＳ７０２にて読み出した拡張情報テーブルのｉレコード目に係る開始論理アドレスから１を引いた値を格納する。
【０１３４】
次に、ステップＳ７０８において、アドレス格納手段１３１を通じて、転送情報テーブルの１レコード目にその開始論理アドレスとして上記読み出した拡張情報テーブルのｉレコード目に係る終了論理アドレスに１を加算した値を格納する。次に、ステップＳ７０９において、インデックスレジスタｊの補正を行なう。即ち、インデックスレジスタｊを＋１更新する。
【０１３５】
一方、上記ステップＳ７０６において、ｉレコード目に格納されている開始論理アドレスが「０」である場合は、ステップＳ７１０に進み、アドレス格納手段１３１を通じて、転送情報テーブルの０レコード目にその開始論理アドレスとして上記読み出した拡張情報テーブルのｉレコード目に係る終了論理アドレスに１を加算した値を格納する。
【０１３６】
また、上記ステップＳ７０５において、インデックスレジスタｋの値が「０」でない場合は、ステップＳ７１１に進み、アドレス格納手段１３１を通じて、転送情報テーブルの（ｊ−１）レコード目にその終了論理アドレスとして上記ステップＳ７０２にて読み出した拡張情報テーブルのｉレコード目に係る開始論理アドレスから１を引いた値を格納する。次に、ステップＳ７１２において、アドレス格納手段１３１を通じて、転送情報テーブルのｊレコード目にその開始論理アドレスとして上記読み出した拡張情報テーブルのｉレコード目に係る終了論理アドレスに１を加算した値を格納する。
【０１３７】
上記ステップ７０９，ステップＳ７１０又はステップＳ７１２の処理が終了した後、あるいは上記ステップＳ７０４において拡張情報テーブルのｉレコード目が予約済みでないと判別された場合は、次のステップＳ７１３に進み、各インデックスレジスタｉ，ｊ及びｋをそれぞれ＋１更新した後、再びステップＳ７０２に進んで拡張情報テーブルから次のレコードを読み出してステップＳ７０３以降の処理を繰り返す。
【０１３８】
他方、上記ステップＳ７０３において、ｉレコード目の内容がＥＯＦコードである場合は、図１７で示すステップＳ１４に進み、テーブル読出し手段１２５を通じて、今度は拡張情報テーブルから（ｉ−１）レコード目を読み出す。
【０１３９】
次に、ステップＳ７１５において、判別手段１２１を通じて、上記（ｉ−１）レコード目に格納されている終了論理アドレスがこのデータバッファ２６の最終論理アドレスと同じでないか否かが判別される。各アドレスが同じでない場合は、次のステップＳ７１６に進み、アドレス格納手段１３１を通じて、転送情報テーブルの（Ｊ−１）レコード目にその終了論理アドレスとしてデータバッファの最終論理アドレスを格納する。次に、ステップＳ７１７において、ＥＯＦコード格納手段１２６を通じて、転送情報テーブルのｊレコード目にＥＯＦコードを格納する。
【０１４０】
一方、上記ステップＳ７１５において、上記（ｉ−１）レコード目に格納されている終了論理アドレスとこのデータバッファの最終論理アドレスとが一致している場合は、ステップＳ７１８に進み、ＥＯＦコード格納手段１２６を通じて、転送情報テーブルの（ｊ−１）レコード目にＥＯＦコードを格納する。
【０１４１】
そして、これらステップＳ７１７又はステップＳ７１８が終了した時点でこの転送情報テーブル作成サブルーチン１２３が終了する。
【０１４２】
図１４のメインルーチンに戻って、上記ステップＳ５０４における転送情報テーブル作成サブルーチン１２３が終了した段階又はステップＳ５０３において情報フラグにおけるテーブル変更要求フラグが「０」と判別された場合は、次のステップＳ５０５に進み、テーブル転送手段１２４を通じて、Ｉ／Ｆコントローラに対し、拡張情報テーブル及び転送情報テーブルを転送してこの予約処理サブルーチン９６が終了し、同時に図８で示す各種要求処理サブルーチン９５が終了する。
【０１４３】
再び、Ｉ／Ｆコントローラ２５における図１２の予約要求サブルーチン７５に戻って、ステップＳ４０１におけるコマンド出力手段１１２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳ４０２に進む。このステップＳ４０２においては、判別手段１１１を通じて、システムコントローラ２９から各種情報テーブルが転送されたかどうかが判別される。即ち、テーブル転送待ちになる。
【０１４４】
システムコントローラ２９から各種情報テーブルが転送されると、次のステップＳ４０３に進み、各種テーブル受取り手段１１３を通じて、各種情報テーブル（即ち、拡張情報テーブル及び転送情報テーブル）をデータＲＡＭ５３内のそれぞれ対応するテーブル格納領域に格納する。この時点で予約要求サブルーチン７６が終了し、同時に各種要求処理サブルーチン７５も終了する。
【０１４５】
［転送バッファ領域を経由してのデータ転送処理］
次に、ホストコンピュータ３１から読出しコマンドがＩ／Ｆコントローラ２５に入力された場合は、各種要求処理サブルーチン７５から読出し要求サブルーチン（読出し要求手段）７７に入る。
【０１４６】
この読出し要求手段７７は、図１８に示すように、各種判別を行なう判別手段１４１と、システムコントローラ２９にコマンドを出力するコマンド出力手段１４２と、システムコントローラ２９から転送されてくる読出し用パラメータを受け取るパラメータ受取り手段１４３と、デコーダ２４から送られてくるＲＯＭデータＤｒを転送バッファ領域ＴＺに蓄積する蓄積要求手段１４４と、転送バッファ領域ＴＺに蓄積されたＲＯＭデータＤｒをホストコンピュータ３１に転送する転送要求処理手段１４５と、システムコントローラ２９に対して処理が完了したこと知らせる完了信号出力手段１４６とを有して構成されている。
【０１４７】
また、この読出し要求手段７７は、上記各種手段のほか、蓄積要求処理手段１４４又は転送要求処理手段１４５にて活性化されるテーブル読出し手段１４７及びパラメータ作成手段１４８と、蓄積要求処理手段１４４のみにて活性化される再生データ読込み手段１４９及び再生データ書込み手段１５０と、転送要求処理手段１４５のみにて活性化されるデータ読出し手段１５１及びデータ転送手段１５２とを有する。
【０１４８】
テーブル読出し手段１４７は、転送情報テーブルを１レコードずつ読み出す手段であり、パラメータ作成手段１４８は、今回蓄積要求のあったデータの終了アドレスをパラメータとしてシステムコントローラ２９に転送する手段である。また、再生データ読込み手段１４９は、入力ポート５４を介して供給されるデコーダ２４からのＲＯＭデータＤｒを１セクタ単位に読み込んで動作用ＲＡＭ５２あるいはデータＲＡＭ５３に割り付けられたワーキングエリアに格納する手段であり、再生データ書込み手段１５０は、上記ワーキングエリアに格納された再生データを１セクタ単位に転送バッファ領域ＴＺに書き込む手段である。また、データ読出し手段１５１は、入力ポート５４を介して供給される転送バッファ領域ＴＺからの蓄積データを１セクタ単位に読み出して動作用ＲＡＭ５２あるいはデータＲＡＭ５３に割り付けられたワーキングエリアに格納する手段であり、データ転送手段１５２は、上記ワーキングエリアに格納された蓄積データを１セクタ単位にホストコンピュータ３１に転送する手段である。
【０１４９】
そして、この読出し要求手段７７は、まず、図１９のステップＳ８０１において、コマンド出力手段１４２を通じて、コマンド格納領域に格納されている読出しコマンドデータをシステムコントローラ２９に出力する。
【０１５０】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの読出しコマンドデータが入力された場合、図１０で示す各種要求処理サブルーチンから読出し処理サブルーチン（読出し処理手段９７）Ｓ３０２に入る。読出しコマンドデータは、データを読み出すべき光ディスクＤ上のアドレスとそのセクタ数から構成されている。
【０１５１】
この読出し処理手段９７は、図２２に示すように、各種判別を行なう判別手段１６１と、入力ポート６４を介して送れられてくるＩ／Ｆコントローラ２５からのパラメータを受け取るためのパラメータ受取り手段１６２と、入力ポート６４を介して送れられてくるデコーダ２４からのＲＯＭアドレス情報Ｄａｒを読み出すためのアドレス情報読出し手段１６３と、データＲＡＭ６３の所定領域に展開される転送情報テーブル又は転送格納テーブルをそれぞれ１レコード単位に読み出すテーブル読出し手段１６４と、データの読出しを要求するための読出し用パラメータ及びホストコンピュータ３１へのデータ転送を要求するための転送用パラメータを作成してそれぞれＩ／Ｆコントローラ２５又はメカニズムコントローラ２８に転送するパラメータ作成手段１６５と、ＲＯＭデータＤｒを蓄積するべき転送バッファ領域ＴＺの開始論理アドレスを決定する論理アドレス決定手段１６６と、今回のコマンドデータ及びＩ／Ｆコントローラ２５からのパラメータに基づいて転送格納テーブルを作成する転送格納テーブル作成手段１６７と、Ｉ／Ｆコントローラ２５に対して各種要求を指示するための信号を出力する要求出力手段１６８とを有して構成されている。
【０１５２】
また、この読出し処理手段９７は、上記各種手段のほか、論理アドレス決定手段１６６にて活性化され、転送バッファ領域ＴＺのセクタ数を−更新するための残存セクタ数更新手段１６９と、転送格納テーブル作成手段１６７にて活性化され、転送格納テーブルにおける該当レコードの有効ビットをリセットするための有効ビットリセット手段１７０と、今回のコマンドデータが展開されたテーブルバッファを転送格納テーブルの該当レコードに格納するためのテーブルバッファ格納手段１７１と、転送格納テーブルの該当レコードにＥＯＦコードを格納するためのＥＯＦコード格納処理手段１７２とを有する。
【０１５３】
ここで、転送格納テーブルは、図５５（ｂ）に示すように、多数のレコードにて構成され、１つのレコードの内容は、最初の１ビット目が当該レコードが有効か無効かを示す指示情報ビットであり、１／０＝有効／無効を示す。また、このレコードには、上記指示情報ビットのほかに、読出し対象の光ディスク上のアドレスと転送バッファ領域上の開始論理アドレス（相対セクタアドレス）と終了論理アドレス（相対セクタアドレス）と転送情報テーブルの対応レコード数と読出し対象のセクタ数が格納される領域が割り付けられている。
【０１５４】
そして、この読出し処理手段９７は、まず、図２３のステップＳＢ０１において、コマンド格納領域に格納されているコマンドデータをテーブルバッファに展開する。このテーブルバッファは、図５５（ｂ）で示す転送格納テーブルの１レコードの構成と同じであり、このステップＳＢ０１では、コマンドデータ（光ディスク上のアドレス及びセクタ数）を転送格納テーブルの１レコードの配列順序に応じて格納する。
【０１５５】
次に、ステップＳＢ０２において、転送格納テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０１５６】
次に、ステップＳＢ０３において、テーブル読出し手段１６４を通じて、転送格納テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、転送格納テーブルからｉレコード目のレコードを読み出す。次に、ステップＳＢ０４において、判別手段１６１を通じて、上記ｉレコード目のレコードの内容がＥＯＦコードであるか否かが判別される。ｉレコード目の内容がＥＯＦコードでない場合は、次のステップＳＢ０５に進み、判別手段１６１を通じて、ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。
【０１５７】
有効である場合は、次のステップＳＢ０６に進み、判別手段１６１を通じて、今回要求のあった光ディスクＤ上のアドレスとｉレコード目に登録されている光ディスクＤ上のアドレスが一致しているか否かが判別される。一致している場合は、次のステップＳＢ０７に進み、判別手段１６１を通じて、今回要求のあったセクタ数がｉレコード目に登録されているセクタ数以下であるか否かが判別される。
【０１５８】
今回のセクタ数が登録セクタ数以下である場合は、次のステップＳＢ０８に進み、パラメータ作成手段１６５を通じて、転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、転送格納テーブルのｉレコード目に係る転送バッファ領域ＴＺ上の開始論理アドレスと転送情報テーブルに対応するレコード数と今回要求のセクタ数を格納する。
【０１５９】
一方、上記ステップＳＢ０７において、今回要求のセクタ数が登録セクタ数よりも大きいと判別された場合、あるいは上記ステップＳＢ０６において、今回要求の光ディスクＤ上のアドレスと登録アドレスとが不一致であると判別された場合、あるいは上記ステップＳＢ０５において、ｉレコード目の内容が無効であると判別された場合は、ステップＳＢ０９に進み、インデックスレジスタｉの＋更新を行なう。その後、上記ステップＳＢ０３に戻り、転送格納テーブルの次のレコードを読出してステップＳＢ０４以降の処理を繰り返す。
【０１６０】
また、上記ステップＳＢ０４において、ｉレコード目の内容がＥＯＦコードであると判別された場合は、図２４のステップＳＢ１０に進み、論理アドレス決定サブルーチン（論理アドレス決定手段）１６６に入る。この論理アドレス決定サブルーチン１６６は、図２５に示すように、まず、ステップＳＣ０１において、判別手段１６１を通じて、今回要求のセクタ数が転送バッファ領域ＴＺの残存セクタ数以下か否かが判別される。この判別は、データＲＡＭ６３に割り付けられている残存セクタ数格納領域内の値と今回要求のセクタ数とを比較することによって行なわれる。
【０１６１】
今回要求のセクタ数が残存セクタ数以下である場合、次のステップＳＣ０２に進み、インデックスレジスタｊに前回の終了論理アドレスに１を加算した値を格納する。具体的には、データＲＡＭに割り付けられている終了アドレス格納領域に格納されている前回Ｉ／Ｆコントローラから送られてきた転送バッファ領域ＴＺへのデータ蓄積に伴う終了論理アドレスに１を加算した値をインデックスレジスタｊに格納する。
【０１６２】
次に、ステップＳＣ０３において、残存セクタ数更新手段１６９を通じて、転送バッファ領域ＴＺの残存セクタ数を−更新する。具体的には、現在、残存セクタ数格納領域に格納されている値から今回要求のセクタ数を差し引いた値を再び残存セクタ数格納領域に格納することにより行なわれる。
【０１６３】
次に、ステップＳＣ０４において、転送情報テーブル及び拡張情報テーブルの各レコード読出しインデックスとなるインデックスレジスタｋを初期化する。即ち、インデックスレジスタｋに初期値「０」を格納する。次に、ステップＳＣ０５において、テーブル読出し手段１６４を通じて、転送情報テーブルからインデックスレジスタｋで示す番号のレコードを読み出す。即ち、転送情報テーブルからｋレコード目のレコードを読み出す。
【０１６４】
次に、ステップＳＣ０６において、テーブル読出し手段１６４を通じて、拡張情報テーブルからインデックスレジスタｋで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｋレコード目のレコードを読み出す。
【０１６５】
次に、ステップＳＣ０７において、判別手段１６１を通じて、インデックスレジスタｊの値が転送情報テーブルにおけるｋレコード目の開始論理アドレスと終了論理アドレスの間にあるかどうかが判別される。インデックスレジスタｊの値が開始論理アドレスと終了論理アドレスの間にある場合、次のステップＳＣ０８に進み、レジスタＡＤＤにインデックスレジスタｊの値を格納し、レジスタＲＣＤにインデックスレジスタｋの値を格納する。
【０１６６】
一方、上記ステップＳＣ０７において、インデックスレジスタｊの値が開始論理アドレスと終了論理アドレスの間にない場合は、ステップＳＣ０９に進み、判別手段１６１を通じて、今度はインデックスレジスタｊの値が拡張情報テーブルにおけるｋレコード目の開始論理アドレスと終了論理アドレスの間にあるかどうかが判別される。インデックスレジスタｊの値が開始論理アドレスと終了論理アドレスの間にある場合、次のステップＳＣ１０に進み、レジスタＡＤＤに上記終了論理アドレスに１を加算した値を格納し、レジスタＲＣＤにインデックスレジスタｋの値に１を加算した値を格納する。
【０１６７】
上記ステップＳＣ０９において、インデックスレジスタｊの値が拡張情報テーブルにおけるｋレコード目の開始論理アドレスと終了論理アドレスの間にない場合は、ステップＳＣ１１に進み、インデックスレジスタｋの＋１更新を行う。その後、上記ステップＳＣ０５に進んで、該ステップＳＣ０５以降の処理を繰り返す。
【０１６８】
他方、上記ステップＳＣ０１において、今回要求のセクタ数が転送バッファ領域ＴＺの残存セクタ数以下でないと判別された場合は、ステップＳＣ１２に進み、テーブル読出し手段１６４を通じて、転送情報テーブルの０レコード目を読み出す。そして、レジスタＡＤＤに該０レコード目の開始アドレスを格納し、レジスタＲＣＤに０を格納する。次に、ステップＳＣ１３において、残存セクタ数を最大にする。具体的には、残存セクタ数格納領域にデータバッファ２６の全セクタ数から予約セクタ数を差し引いた値を格納する。
【０１６９】
そして、上記ステップＳＣ０８での処理あるいは上記ステップＳＣ１０での処理あるいは上記ステップＳＣ１３での処理が終了した段階で、この論理アドレス決定サブルーチン１６６が終了する。
【０１７０】
図２４のメインルーチンに戻って、上記ステップＳＢ１０における論理アドレス決定サブルーチンが終了した段階で、次のステップＳＢ１１に進み、パラメータ作成手段１６５を通じて、メカニズムコントローラ２８に転送すべき読出し用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたメカ用読出しパラメータ格納領域に、テーブルバッファに格納されている今回要求の光ディスクＤ上のアドレスを格納することにより行なわれる。
【０１７１】
次に、ステップＳＢ１２において、パラメータ作成手段１６５を通じて、Ｉ／Ｆコントローラ２５に転送すべき読出し用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたＩ／Ｆ用読出しパラメータ格納領域に、レジスタＡＤＤに格納されている今回の開始論理アドレスと、レジスタＲＣＤに格納されている今回のレコード数（転送情報テーブルのレコード数）と、テーブルバッファに格納されている今回要求のセクタ数を格納することにより行なわれる。
【０１７２】
次に、ステップＳＢ１３において、パラメータ作成手段１６５を通じて、メカニズムコントローラ２８に対して読出し要求信号とメカ用読出しパラメータ格納領域に格納されている読出し用パラメータを出力する。また、同時にＩ／Ｆコントローラ２５に対して読出し要求信号とＩ／Ｆ用読出しパラメータ格納領域に格納されている読出し用パラメータを出力する。
【０１７３】
ここで、メカニズムコントローラ２８は、システムコントローラ２９からの読出し要求信号の入力に基づいて、読出し用パラメータから光ディスクＤ上のアドレスを取り出した後、光ピックアップ用スライド機構７を駆動制御して光ピックアップ３を要求のあったアドレスに対応するトラック位置まで搬送する。この段階で、メカニズムコントローラ２８は、ＲＦアンプ部２１に対して検出信号Ｓｒの入力を許可するように制御する。これによって、光ピックアップ３における光検出器からの検出信号ＳｒがＲＦアンプ部２１を介して復調回路２２に入力され、再生データＤｉとしてデコーダ２４に供給され、更にＲＯＭデータＤｒとしてＩ／Ｆコントローラ２５に供給されることになる。
【０１７４】
一方、デコーダ２４からは上記ＲＯＭデータＤｒに対応したＲＯＭアドレス情報Ｄａｒが得られ、該ＲＯＭアドレス情報Ｄａｒはシステムコントローラ２９に供給される。
【０１７５】
そして、システムコントローラ２９は、図２４におけるステップＳＢ１４において、アドレス情報読出し手段１６３を通じて、入力ポート６４を介して送られてくるデコーダ２４からのＲＯＭアドレス情報Ｄａｒを受け取る。
【０１７６】
次に、ステップＳＢ１５において、判別手段１６１を通じて、上記アドレス情報読出し手段１６３を通じて受け取られたアドレスと今回要求の光ディスクＤ上のアドレスとが一致しているかどうかが判別される。これらアドレス同士が一致するまでステップＳＢ１４及びステップＳＢ１５が繰り返される。
【０１７７】
アドレス同士が一致した場合は、次のステップＳＢ１６に進み、要求出力手段１６８を通じて、Ｉ／Ｆコントローラ２５に対し、蓄積要求信号を出力する。Ｉ／Ｆコントローラ２５は、この蓄積要求信号の入力に基づいてデコーダ２４からのＲＯＭデータＤｒを転送バッファ領域ＴＺ中、今回決定された開始論理アドレスから順次セクタ単位に蓄積する。そして、要求されたセクタ数分のＲＯＭデータＤｒが蓄積された段階でシステムコントローラ２９に対して蓄積完了信号を出力する。この動作についての詳細は後述する。
【０１７８】
図２４の処理ルーチンに戻り、上記ステップＳＢ１６にて蓄積要求信号を出力した後、次のステップＳＢ１７に進み、Ｉ／Ｆコントローラ２５からの蓄積完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から蓄積完了信号が入力された段階で次のステップＳＢ１８に進み、要求出力手段１６８を通じて、メカニズムコントローラ２８に対し、停止要求信号を出力する。メカニズムコントローラ２８は、システムコントローラ２９からの停止要求信号の入力に基づいて光ディスクＤに対する再生動作を停止するように各種回路を制御する。
【０１７９】
次に、ステップＳＢ１９において、パラメータ作成手段１６５を通じて、今度は転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、今回決定された開始論理アドレス，レコード数及び今回要求のセクタ数を格納する。
【０１８０】
次に、ステップＳＢ２０において、パラメータ作成手段１６５を通じて、Ｉ／Ｆコントローラ２５に対して転送要求信号とパラメータ格納領域に格納されている転送用パラメータを出力する。このステップＳＢ２０での処理は、上記ステップＳＢ１９の処理を終了した後のほか、図２３で示すステップＳＢ０８を終了した後においても行なわれることになる。
【０１８１】
ここで、Ｉ／Ｆコントローラ２５は、システムコントローラ２９からの転送要求信号の入力に基づいて、転送バッファ領域ＴＺ中、転送用パラメータに格納されている開始論理アドレスから順次ＲＯＭデータＤｒを読み出してホストコンピュータ３１側に転送する。そして、要求されたセクタ数分のＲＯＭデータＤｒがホストコンピュータ３１側に転送された段階でシステムコントローラ２９に対して転送完了信号を出力し、更にパラメータを出力する。この動作の詳細は後述する。
【０１８２】
図２４の処理ルーチンに戻り、上記ステップＳＢ２０にて転送要求信号を出力した後、次のステップＳＢ２１に進み、Ｉ／Ｆコントローラ２５からの転送完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から転送完了信号が入力された段階で次のステップＳＢ２２に進み、パラメータ受取り手段１６２を通じて、入力ポート６４を介して供給されるＩ／Ｆコントローラ２５からのパラメータを受取り、データＲＡＭ６３に割り付けられている終了アドレス格納領域に格納する。このパラメータの内容は、今回転送バッファ領域ＴＺに蓄積したＲＯＭデータＤｒの終了論理アドレスである。
【０１８３】
次に、ステップＳＢ２３において、転送格納テーブル作成サブルーチン（転送格納テーブル作成手段１６７）に入る。このサブルーチンは、図２６に示すように、まず、ステップＳＤ０１において、転送格納テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０１８４】
次に、ステップＳＤ０２において、レジスタＥＡＤに終了アドレス格納領域に格納されている今回の終了論理アドレスを格納する。次に、ステップＳＤ０３において、テーブル読出し手段１６４を通じて、転送格納テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、転送格納テーブルからｉレコード目のレコードを読み出す。
【０１８５】
次に、ステップＳＤ０４において、判別手段１６１を通じて、上記ｉレコード目のレコードの内容がＥＯＦコードであるか否かが判別される。ｉレコード目の内容がＥＯＦコードでない場合は、次のステップＳＤ０５に進み、判別手段１６１を通じて、今度はｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。
【０１８６】
有効である場合は、次のステップＳＤ０６に進み、転送格納テーブルのｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。次に、ステップＳＤ０７において、判別手段１６１を通じて、上記ｉレコード目に係る開始論理アドレスが、今回蓄積したデータの開始論理アドレスより小さいか又は終了論理アドレスよりも大きいか否かが判別される。
【０１８７】
上記ｉレコード目の開始論理アドレスがデータの開始論理アドレスより小さいか又は終了論理アドレスよりも大きい場合、次のステップＳＤ０８に進み、判別手段１６１を通じて、今度は上記ｉレコード目に係る終了論理アドレスが今回蓄積したデータの開始論理アドレスより小さいか又は終了論理アドレスよりも大きいか否かが判別される。
【０１８８】
上記ｉレコード目の開始論理アドレスがデータの開始論理アドレスより小さいか又は終了論理アドレスよりも大きい場合、次のステップＳＤ０９に進み、インデックスレジスタｉを＋１更新する。その後、上記ステップＳＤ０３に戻って、転送格納テーブルにおける次のレコードを読み出し、ステップＳＤ０４以降の処理を繰り返す。
【０１８９】
一方、上記ステップＳＤ０７において、上記ｉレコード目に係る開始論理アドレスが、今回蓄積したデータの開始論理アドレスと終了論理アドレスの間にあると判別された場合、あるいは上記ステップＳＤ０８において、上記ｉレコード目に係る終了論理アドレスが、今回蓄積したデータの開始論理アドレスと終了論理アドレスの間にあると判別された場合は、ステップＳＤ１０に進み、有効ビットリセット手段１７０を通じて、転送格納テーブルのｉレコード目における有効ビットをリセットして当該レコードを無効にする。
【０１９０】
そして、上記ステップＳＤ１０での処理が終了した段階、あるいは上記ステップＳＤ０５において、転送格納テーブルのｉレコード目の内容が無効であると判別された場合、あるいは上記ステップＳＤ０４において、転送格納テーブルのｉレコード目のレコードの内容がＥＯＦコードであると判別された場合は、次のステップＳＤ１１に進む。
【０１９１】
このステップＳＤ１１においては、テーブルバッファに所定のデータを格納する。具体的には、今回要求のあった光ディスクＤ上のアドレス及びセクタ数は、図２３で示すステップＳＢ０１にて既に格納処理されているため、その他のデータ、即ちレジスタＡＤＤに格納されている今回決定された転送バッファ領域ＴＺの開始論理アドレスとレジスタＥＡＤに格納されている今回転送バッファ領域ＴＺに蓄積されたデータの終了論理アドレスとレジスタＲＣＤに格納されている転送情報テーブルの対応レコード数がそれぞれ転送格納テーブルの１レコードの配列順序に応じて格納される。
【０１９２】
次に、ステップＳＤ１２において、転送格納テーブルのｉレコード目にテーブルバッファを格納する。そして、次のステップＳＤ１３において、ＥＯＦコード格納処理サブルーチン（ＥＯＦコード格納処理手段）１７２に入る。
【０１９３】
このサブルーチンは、図２７に示すように、まず、ステップＳＥ０１において、転送格納テーブルのレコード読出しインデックスとなるインデックスレジスタｉ，ｊ及びｋをそれぞれ初期化する。即ち、各インデックスレジスタｉ，ｊ及びｋにそれぞれ初期値「０」を格納する。
【０１９４】
次に、ステップＳＥ０２において、テーブル読出し手段１６４を通じて、転送格納テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、転送格納テーブルからｉレコード目のレコードを読み出す。次に、ステップＳＥ０３において、判別手段１６１を通じて、上記ｉレコード目のレコードの内容がＥＯＦコードであるか否かが判別される。
【０１９５】
ｉレコード目の内容がＥＯＦコードでない場合は、次のステップＳＥ０４に進み、判別手段１６１を通じて、ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。
【０１９６】
有効である場合は、次のステップＳＥ０５に進み、インデックスレジスタｋの値とインデックスレジスタｊの値を加算した値に１を加えた値をインデックスレジスタｋに格納する。次に、ステップＳＥ０６において、インデックスレジスタｊを初期化する。即ち、インデックスレジスタｊに初期値「０」を格納する。
【０１９７】
一方、上記ステップＳＥ０４において、転送格納テーブルのｉレコード目の内容が無効であると判別された場合は、ステップＳＥ０７に進み、インデックスレジスタｊを＋１更新する。
【０１９８】
そして、上記ステップＳＥ０６での処理あるいは上記ステップＳＥ０７での処理が終了した段階で次のステップＳＥ０８に進み、インデックスレジスタｉを＋１更新する。その後、上記ステップＳＥ０２に戻って、転送格納テーブルにおける次のレコードを読み出し、ステップＳＥ０３以降の処理を繰り返す。
【０１９９】
他方、上記ステップＳＥ０３において、転送格納テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＥ０９に進み、転送格納テーブルのｋレコード目と（ｋ＋１）レコード目にそれぞれＥＯＦコードを格納する。このステップＳＥ０９での処理が終了した段階でこのＥＯＦコード格納処理サブルーチン１７２が終了する。
【０２００】
そして、図２６の処理ルーチンに戻って、上記ステップＳＤ１３が終了した段階でこの転送格納テーブル作成サブルーチンが終了する。また、図２４のメインルーチンに戻って、上記ステップＳＢ２３における転送格納テーブル作成サブルーチンが終了した段階でこの読出し処理サブルーチンが終了し、同時に図１０で示す各種要求処理サブルーチンが終了する。
【０２０１】
再び、Ｉ／Ｆコントローラ２５における図１９の読出し要求サブルーチンに戻って、ステップＳ８０１におけるコマンド出力手段１４２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳ８０２に進む。
【０２０２】
このステップＳ８０２においては、判別手段１４１を通じて、システムコントローラ２９から要求信号の入力があったかどうかが判別される。即ち、要求信号入力待ちになる。システムコントローラ２９から要求信号が入力されると、次のステップＳ８０３に進み、判別手段１４１を通じて、今度はシステムコントローラ２９から入力された要求信号が読出し要求信号であるか否かが判別される。
【０２０３】
読出し要求信号である場合は、次のステップＳ８０４に進み、パラメータ受取り手段１４３を通じて、入力ポート５４を介して供給される読出し用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、データを蓄積すべき転送バッファ領域ＴＺの開始論理アドレスと転送情報テーブルの対応レコード数とセクタ数が格納されることになる。
【０２０４】
次に、ステップＳ８０５において、判別手段１４１を通じて、システムコントローラ２９からの蓄積要求信号の入力待ちとなる。システムコントローラ２９から蓄積要求信号の入力があった場合は、次のステップＳ８０６に進み、蓄積要求処理サブルーチン（蓄積要求処理手段）１４４に入る。このサブルーチンは、図２０に示すように、まず、ステップＳ９０１において、インデックスレジスタｉに初期値「０」を格納し、更にパラメータ格納領域に格納されているレコード数をインデックスレジスタｋに格納する。
【０２０５】
次に、ステップＳ９０２において、テーブル読出し手段１４７を通じて、転送情報テーブルからインデックスレジスタｋで示す番号のレコードを読み出す。即ち、転送情報テーブルからｋレコード目のレコードを読み出す。
【０２０６】
次に、ステップＳ９０３において、再生データ読込み手段１４９を通じて、入力ポート５４を介して供給されるデコーダ２４からのＲＯＭデータ（１セクタ）Ｄｒを読み込む。次に、ステップＳ９０４において、ＲＯＭデータを転送バッファ領域に蓄積するためのアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値を蓄積アドレスとしてインデックスレジスタｊに格納する。
【０２０７】
次に、ステップＳ９０５において、判別手段１４１を通じて、今回蓄積するデータの書込み対象領域が転送バッファ領域ＴＺ以外（即ち、拡張メモリ領域ＥＺ）であるかどうかが判別される。この判別は、インデックスレジスタｊの値が転送情報テーブルのｋレコード目における終了論理アドレスよりも大きいか否かで行なわれる。インデックスレジスタｊの値が上記終了論理アドレスよりも大きく、今回蓄積するデータの書込み対象領域が転送バッファ領域ＴＺ以外の場合は、次のステップＳ９０６に進み、インデックスレジスタｋを＋１更新する。
【０２０８】
次に、ステップＳ９０７において、テーブル読出し手段１４７を通じて、転送情報テーブルのｋレコード目を読み出し、該ｋレコード目に係る開始論理アドレスをインデックスレジスタｊに格納する。
【０２０９】
上記ステップＳ９０７での処理が終了した段階、あるいは上記ステップＳ９０５においてインデックスレジスタｊの値が転送情報テーブルのｋレコード目に係る終了論理アドレス以下である場合は、次のステップＳ９０８に進み、再生データ書込み手段１５０を通じて、ステップＳ９０３にて読み込んだＲＯＭデータ（１セクタ）をインデックスレジスタｊの値が示す転送バッファ領域ＴＺの論理アドレスに書き込む。
【０２１０】
次に、ステップＳ９０９において、インデックスレジスタｉを＋１更新する。次に、ステップＳ９１０において、判別手段１４１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳ９０３に進み、次のＲＯＭデータ（１セクタ）を読み込んで、ステップＳ９０４以降の処理を繰り返す。
【０２１１】
一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、次のステップＳ９１１に進み、パラメータ作成手段１４８を通じて、インデックスレジスタｊの値（終了論理アドレス）を終了アドレスパラメータ格納領域に格納する。そして、このステップＳ９１１での処理が終了した段階で、この蓄積要求処理サブルーチン１４４が終了する。
【０２１２】
図１９のメインルーチンに戻って、上記ステップＳ８０６における蓄積要求処理サブルーチン１４４が終了した段階で、次のステップＳ８０７に進み、完了信号出力手段１４６を通じて、システムコントローラ２９に対し蓄積完了信号を出力する。
【０２１３】
次に、ステップＳ８０８において、判別手段１４１を通じて、システムコントローラ２９から転送要求信号の入力があったかどうかが判別される。即ち、転送要求信号入力待ちになる。
【０２１４】
このステップＳ８０８において、システムコントローラ２９から転送要求信号が入力されると、あるいは上記ステップＳ８０３において、読出し要求ではないと判別された場合は、次のステップＳ８０９に進み、パラメータ受取り手段１４３を通じて、入力ポート５４を介して供給される転送用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、今回転送すべきデータが蓄積されている転送バッファ領域ＴＺの開始論理アドレスと転送情報テーブルの対応レコード数とセクタ数が格納されることになる。
【０２１５】
次に、ステップＳ８１０において、転送要求処理サブルーチン（転送要求処理手段）１４５に入る。このサブルーチンは、図２１に示すように、まず、ステップＳＡ０１において、インデックスレジスタｉに初期値「０」を格納し、更にパラメータ格納領域に格納されているレコード数をインデックスレジスタｋに格納する。
【０２１６】
次に、ステップＳＡ０２において、テーブル読出し手段１４７を通じて、転送情報テーブルからインデックスレジスタｋで示す番号のレコードを読み出す。即ち、転送情報テーブルからｋレコード目のレコードを読み出す。次に、ステップＳＡ０３において、転送バッファ領域からデータを読み出すべきアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値を読出しアドレスとしてインデックスレジスタｊに格納する。
【０２１７】
次に、ステップＳＡ０４において、判別手段１４１を通じて、今回転送するデータの読出し対象領域が転送バッファ領域ＴＺ以外（即ち、拡張メモリ領域ＥＺ）であるかどうかが判別される。この判別は、インデックスレジスタｊの値が転送情報テーブルのｋレコード目における終了論理アドレスよりも大きいか否かで行なわれる。インデックスレジスタｊの値が上記終了論理アドレスよりも大きく、今回転送するデータの読出し対象領域が転送バッファ領域ＴＺ以外の場合は、次のステップＳＡ０５に進み、インデックスレジスタｋを＋１更新する。
【０２１８】
次に、ステップＳＡ０７において、テーブル読出し手段１４７を通じて、転送情報テーブルのｋレコード目を読み出し、該ｋレコード目に係る開始論理アドレスをインデックスレジスタｊに格納する。
【０２１９】
上記ステップＳＡ０６での処理が終了した段階あるいは上記ステップＳＡ０４においてインデックスレジスタｊの値が転送情報テーブルのｋレコード目に係る終了論理アドレス以下である場合は、次のステップＳＡ０７に進み、データ読出し手段１５１を通じて、転送バッファ領域ＴＺ中、インデックスレジスタｊで示す論理アドレスに蓄積されているＲＯＭデータ（１セクタ）を読み出す。
【０２２０】
次に、ステップＳＡ０８において、データ転送手段１５２を通じて、上記ステップＳＡ０７において読み出した１セクタ分のＲＯＭデータをホストコンピュータ３１に転送する。次に、ステップＳＡ０９において、インデックスレジスタｉを＋１更新する。
【０２２１】
次に、ステップＳＡ１０において、判別手段１４１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＡ０３に進んで、読出しアドレスを更新して、ステップＳＡ０４以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合にこの転送要求処理サブルーチン１４５が終了する。
【０２２２】
図１９のメインルーチンに戻って、上記ステップＳ８１０における転送要求処理サブルーチン１４５が終了した段階で、次のステップＳ８１１に進み、完了信号出力手段１４６を通じて、システムコントローラ２９に対し、転送完了信号を出力すると同時にパラメータ作成手段１４８を通じて、終了アドレスパラメータ格納領域に格納されている終了論理アドレスをパラメータとしてシステムコントローラ２９に出力する。
【０２２３】
上記ステップＳ８１１での処理が終了した段階でこの読出し要求サブルーチン７７が終了し、同時に図６で示す各種要求処理サブルーチン７５が終了する。
【０２２４】
［拡張メモリ領域を経由してのデータ転送処理］
次に、ホストコンピュータ３１から拡張読出しコマンドがＩ／Ｆコントローラ２５に入力された場合は、図６において、各種要求処理サブルーチン７５から拡張読出し要求サブルーチン（拡張読出し要求手段７８）Ｓ１０３に入る。
【０２２５】
この拡張読出し要求手段７８は、図２８に示すように、各種判別を行なう判別手段１８１と、システムコントローラ２９にコマンドを出力するコマンド出力手段１８２と、システムコントローラ２９から転送されてくる読出し用パラメータを受け取るパラメータ受取り手段１８３と、デコーダ２４から送られてくるＲＯＭデータＤｒを拡張メモリ領域ＥＺに蓄積する蓄積要求手段１８４と、拡張メモリ領域ＥＺに蓄積されたＲＯＭデータＤｒをホストコンピュータ３１に転送する転送要求処理手段１８５と、システムコントローラ２９に対して処理が完了したこと知らせる完了信号出力手段１８６とを有して構成されている。
【０２２６】
また、この拡張読出し要求手段１８６は、上記各種手段のほか、蓄積要求処理手段１８４にて活性化される再生データ読込み手段１８７及び再生データ書込み手段１８８と、転送要求処理手段１８５にて活性化されるデータ読出し手段１８９及びデータ転送手段１９０とを有する。
【０２２７】
再生データ読込み手段１８７は、入力ポート５４を介して供給されるデコーダ２４からのＲＯＭデータＤｒを１セクタ単位に読み込んで動作用ＲＡＭ５２あるいはデータＲＡＭ５３に割り付けられたワーキングエリアに格納する手段であり、再生データ書込み手段１８８は、上記ワーキングエリアに格納されたＲＯＭデータＤｒを１セクタ単位に拡張メモリ領域ＥＺに書き込む手段である。また、データ読出し手段１８９は、入力ポート５４を介して供給される拡張メモリ領域ＥＺからのＲＯＭデータＤｒを１セクタ単位に読み出して動作用ＲＡＭ５２あるいはデータＲＡＭ５３に割り付けられたワーキングエリアに格納する手段であり、データ転送手段１９０は、上記ワーキングエリアに格納されたＲＯＭデータを１セクタ単位にホストコンピュータ３１に転送する手段である。
【０２２８】
そして、この拡張読出し要求手段７８は、まず、図２９のステップＳＦ０１において、コマンド出力手段１８２を通じて、コマンド格納領域に格納されている拡張読出しコマンドデータをシステムコントローラ２９に出力する。
【０２２９】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの拡張読出しコマンドデータが入力された場合、図１０で示す各種要求処理サブルーチン９５から拡張読出し処理サブルーチン（拡張読出し処理手段９８）Ｓ３０３に入る。読出しコマンドデータは、データを読み出すべき光ディスクＤ上のアドレスとＲＯＭデータＤｒを蓄積すべき拡張メモリ領域ＥＺの開始論理アドレスとセクタ数から構成されている。
【０２３０】
この拡張読出し処理手段９８は、図３２に示すように、各種判別を行なう判別手段２０１と、入力ポート６４を介して送れられてくるデコーダ２４からのＲＯＭアドレス情報Ｄａｒを読み出すためのアドレス情報読出し手段２０２と、データＲＡＭ６３の所定領域に展開される拡張情報テーブル又は拡張格納テーブルをそれぞれ１レコード単位に読み出すテーブル読出し手段２０３と、今回のコマンドデータに基づいて対応する拡張情報テーブルの該当レコードを検索する拡張情報テーブル検索手段２０４と、データの読出しを要求するための読出し用パラメータ及びホストコンピュータ３１へのデータ転送を要求するための転送用パラメータを作成してそれぞれＩ／Ｆコントローラ２５又はメカニズムコントローラ２８に転送するパラメータ作成手段２０５と、今回のコマンドデータに基づいて拡張格納テーブルを作成する拡張格納テーブル作成手段２０６と、拡張メモリ領域ＥＺへのデータ蓄積に伴って減少する予約セクタ数を−更新するための残存セクタ数更新手段２０７と、Ｉ／Ｆコントローラ２５に対して各種要求を指示するための信号を出力する要求出力手段２０８と、Ｉ／Ｆコントローラ２５に対してエラー信号を出力するためのエラー信号出力手段２０９とを有して構成されている。
【０２３１】
また、この拡張読出し処理手段９８は、上記各種手段のほか、拡張情報テーブル検索手段２０４にて活性化され、今回の蓄積対象の拡張メモリ領域ＥＺにおける蓄積可能セクタ数を計算するセクタ数計算手段２１０とを有する。
【０２３２】
ここで、拡張格納テーブルは、図５５（ａ）に示すように、多数のレコードにて構成され、１つのレコードの内容は、読出し対象の光ディスク上のアドレスと拡張メモリ領域上の開始論理アドレス（相対セクタアドレス）とセクタ数が格納される領域が割り付けられている。
【０２３３】
そして、この拡張読出し処理手段９８は、まず、図３３のステップＳＩ０１において、コマンド格納領域に格納されているコマンドデータをテーブルバッファに展開する。このテーブルバッファは、図５５（ａ）で示す拡張格納テーブルの１レコードの構成と同じであり、このステップＳＩ０１では、コマンドデータ（光ディスクＤ上のアドレス，拡張メモリ領域ＥＺ上の開始論理アドレス及びセクタ数）を拡張格納テーブルの１レコードの配列順序に応じて格納する。
【０２３４】
次に、ステップＳＩ０２において、判別手段２０１を通じて、現在、拡張メモリ領域ＥＺに少なくとも１つのＲＯＭデータＤｒが蓄積されているか否かが判別される。この判別は、データＲＡＭ６３上に割り付けられた蓄積ポイント格納領域に格納されている値が「０」であるか否かで行なわれる。
【０２３５】
上記蓄積ポイント格納領域内の値が「０」でない場合は、次のステップＳＩ０３に進み、拡張格納テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２３６】
次に、ステップＳＩ０４において、テーブル読出し手段２０３を通じて、拡張格納テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張格納テーブルからｉレコード目のレコードを読み出す。
【０２３７】
次に、ステップＳＩ０５において、判別手段２０１を通じて、今回要求のあった光ディスクＤ上のアドレスとｉレコード目に登録されている光ディスクＤ上のアドレスが一致しているか否かが判別される。一致している場合は、次のステップＳＩ０６に進み、判別手段２０１を通じて、今回要求のあったセクタ数がｉレコード目に登録されているセクタ数以下であるか否かが判別される。
【０２３８】
今回のセクタ数が登録セクタ数以下である場合は、次のステップＳＩ０７に進み、パラメータ作成手段２０５を通じて、転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、拡張格納テーブルのｉレコード目に係る拡張メモリ領域ＥＺ上の開始論理アドレスと今回要求のセクタ数を格納する。
【０２３９】
一方、上記ステップＳＩ０６において、今回要求のセクタ数が登録セクタ数よりも大きいと判別された場合、あるいは上記ステップＳＩ０５において、今回要求の光ディスクＤ上のアドレスと登録アドレスとが不一致であると判別された場合は、ステップＳＩ０８に進み、インデックスレジスタｉの＋更新を行なう。
【０２４０】
次に、ステップＳＩ０９において、判別手段２０１を通じて、拡張メモリ領域ＥＺに蓄積されているデータの検索がすべて終了したかどうかが判別される。この判別は、インデックスレジスタｉの値が蓄積ポイント格納領域内の値以上であるかどうかで行なわれる。インデックスレジスタｉの値が蓄積ポイント格納領域内の値より小さい場合は、上記ステップＳＩ０４に戻って、拡張格納テーブルの次のレコードを読出し、ステップＳＩ０５以降の処理を繰り返す。
【０２４１】
インデックスレジスタｉの値が蓄積ポイント格納領域内の値以上である場合は、次のステップＳＩ１０に進み、判別手段２０１を通じて、今度は今回要求のセクタ数が拡張メモリ領域の予約セクタ数以下か否かが判別される。この判別は、データＲＡＭ６３に割り付けられている予約セクタ数格納領域内の値と今回要求のセクタ数とを比較することによって行なわれる。
【０２４２】
今回要求のセクタ数が予約セクタ数以下である場合、次のステップＳＩ１１に進み、拡張情報テーブル検索サブルーチン（拡張情報テーブル検索手段２０４）に入る。一方、今回要求のセクタ数が予約セクタ数よりも大きい場合は、ステップＳＩ１２に進み、エラー信号出力手段２０９を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。このエラー信号は、Ｉ／Ｆコントローラ２５を介してホストコンピュータ３１に供給される。ホストコンピュータ３１は、上記エラー信号の供給に基づいて例えばこのホストコンピュータ３１に接続されているＣＲＴや液晶表示パネル等の表示装置を通じて、操作者にエラーがあったことを知らせる。
【０２４３】
ところで、上記ステップＳＩ１１における拡張情報テーブル検索サブルーチン２０４は、図３５に示すように、まず、ステップＳＪ０１において、格納情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２４４】
次に、ステップＳＪ０２において、テーブル読出し手段２０３を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。次に、ステップＳＪ０３において、判別手段２０１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＪ０４に進み、上記ｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。
【０２４５】
次に、ステップＳＪ０５において、判別手段２０１を通じて、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にあるか否かが判別される。
【０２４６】
今回要求の開始論理アドレスが上記アドレスの間にある場合は、次のステップＳＪ０６に進み、セクタ数計算手段２１０を通じて、拡張情報テーブルにて設定されたｉレコード目に係る拡張メモリ領域の上記今回要求の開始論理アドレス以降のセクタ数が計算される。具体的には、ｉレコード目に係る終了論理アドレスから今回要求の開始論理アドレスから１を差し引いた値を差し引くことにより行なわれる。このセクタ数はインデックスレジスタｋに格納される。
【０２４７】
次に、ステップＳＪ０７において、判別手段２０１を通じて、ｉレコード目に係る拡張メモリ領域の上記今回要求の開始論理アドレス以降のセクタ数が今回要求のセクタ数以上であるか否かが判別される。この判別は、インデックスレジスタｋの値が今回要求のセクタ数以上であるかどうかで行なわれる。インデックスレジスタｋの値が今回要求のセクタ数以上であれば、この拡張情報テーブル検索サブルーチン２０４が終了する。
【０２４８】
一方、上記ステップＳＪ０５において、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にないと判別された場合は、ステップＳＪ０８に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＪ０２に進んで、拡張情報テーブルの次のレコードを読み出し、ステップＳＪ０３以降の処理を繰り返す。
【０２４９】
他方、上記ステップＳＪ０７において、インデックスレジスタｋの値が今回要求のセクタ数よりも小さいと判別された場合、あるいは上記ステップＳＪ０３において、拡張情報テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＪ０９に進み、エラー信号出力手段２０９を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０２５０】
図３３のメインルーチンに戻って、上記ステップＳＩ１１における拡張格納テーブル作成サブルーチン２０４が終了すると、次のステップＳＩ１３に進み、拡張格納テーブル作成手段２０６を通じて、拡張格納テーブル中、蓄積ポイント格納領域内の値に対応するレコード目にテーブルバッファを格納する。次に、ステップＳＩ１４において、蓄積ポイント格納領域内の値を＋１更新する。
【０２５１】
次に、図３４で示すステップＳＩ１５において、パラメータ作成手段２０５を通じて、メカニズムコントローラ２８に転送すべき読出し用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたメカ用読出しパラメータ格納領域に、テーブルバッファに格納されている今回要求の光ディスクＤ上のアドレスを格納することにより行なわれる。
【０２５２】
次に、ステップＳＩ１６において、パラメータ作成手段２０５を通じて、Ｉ／Ｆコントローラ２５に転送すべき読出し用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたＩ／Ｆ用読出しパラメータ格納領域に、テーブルバッファに格納されている今回の開始論理アドレスと今回要求のセクタ数を格納することにより行なわれる。
【０２５３】
次に、ステップＳＢＩ１７において、メカニズムコントローラ２８に対し、要求出力手段２０８を通じて、読出し要求信号を出力すると同時に、パラメータ作成手段２０５を通じて、メカ用読出しパラメータ格納領域に格納されている読出し用パラメータを出力する。また、同時にＩ／Ｆコントローラ２５に対し、要求出力手段２０８を通じて、読出し要求信号を出力すると同時に、Ｉ／Ｆ用読出しパラメータ格納領域に格納されている読出し用パラメータを出力する。
【０２５４】
メカニズムコントローラ２８は、システムコントローラ２９からの読出し要求信号及び読出し用パラメータの入力により、該パラメータが示す光ディスクＤ上のアドレスに対応するトラックに光ピックアップ３を移動させるように制御する。そして、光ピックアップ３からの再生データＤｉがデコーダ２４にてＲＯＭデータＤｒに変換されてＩ／Ｆコントローラ２５に供給されることになる。また、デコーダ２４からは上記ＲＯＭデータＤｒに対応したＲＯＭアドレス情報Ｄａｒが得られ、該ＲＯＭアドレス情報Ｄａｒはシステムコントローラ２９に供給される。
【０２５５】
そして、システムコントローラ２９は、図３４のステップＳＩ１８において、アドレス情報読出し手段２０２を通じて、入力ポート６４を介して送られてくるデコーダ２４からのＲＯＭアドレス情報Ｄａｒを受け取る。次に、ステップＳＩ１９において、判別手段２０１を通じて、上記アドレス情報読出し手段２０２を通じて受け取られたアドレスと今回要求の光ディスクＤ上のアドレスとが一致しているかどうかが判別される。これらアドレス同士が一致するまでステップＳＩ１８及びステップＳＩ１９が繰り返される。
【０２５６】
アドレス同士が一致した場合は、次のステップＳＩ２０に進み、要求出力手段２０８を通じて、Ｉ／Ｆコントローラ２５に対し、蓄積要求信号を出力する。Ｉ／Ｆコントローラ２５は、この蓄積要求信号の入力に基づいてデコーダ２４からのＲＯＭデータＤｒを拡張メモリ領域ＥＺ中、今回決定された開始論理アドレスから順次セクタ単位に蓄積する。そして、要求されたセクタ数分のＲＯＭデータＤｒが蓄積された段階でシステムコントローラ２９に対して蓄積完了信号を出力する。この動作についての詳細は後述する。
【０２５７】
図３４の処理ルーチンに戻り、上記ステップＳＩ２０にて蓄積要求信号を出力した後、次のステップＳＩ２１に進み、Ｉ／Ｆコントローラ２５からの蓄積完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から蓄積完了信号が入力された段階で次のステップＳＩ２２に進み、要求出力手段２０８を通じて、メカニズムコントローラ２８に対し、停止要求信号を出力する。メカニズムコントローラ２８は、システムコントローラ２９からの停止要求信号の入力に基づいて光ディスクＤに対する再生動作を停止するように各種回路を制御する。
【０２５８】
次に、ステップＳＩ２３において、パラメータ作成手段２０５を通じて、今度は転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、今回決定された開始論理アドレス及び今回要求のセクタ数を格納する。
【０２５９】
次に、ステップＳＩ２４において、Ｉ／Ｆコントローラ２５に対し、要求出力手段２０８を通じて、転送要求信号を出力すると同時に、パラメータ作成手段２０５を通じて、パラメータ格納領域に格納されている転送用パラメータを出力する。このステップＳＩ２４での処理は、上記ステップＳＩ２３の処理を終了した後のほか、図３３で示すステップＳＩ０７を終了した後においても行なわれることになる。
【０２６０】
ここで、Ｉ／Ｆコントローラ２５は、システムコントローラ２９からの転送要求信号の入力に基づいて、拡張メモリ領域ＥＺ中、転送用パラメータに格納されている開始論理アドレスから順次ＲＯＭデータＤｒを読み出してホストコンピュータ３１側に転送する。そして、要求されたセクタ数分のＲＯＭデータＤｒがホストコンピュータ３１側に転送された段階でシステムコントローラ２９に対して転送完了信号を出力する。この動作の詳細は後述する。
【０２６１】
図３４の処理ルーチンに戻り、上記ステップＳＩ２４にて転送要求信号を出力した後、次のステップＳＩ２５に進み、Ｉ／Ｆコントローラ２５からの転送完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から転送完了信号が入力された段階で次のステップＳＩ２６に進み、残存セクタ数更新手段２０７を通じて、予約セクタ数を−更新する。具体的には、予約セクタ数格納領域に格納されている値から今回要求のセクタ数を差し引いた値を再び予約セクタ格納領域に格納することにより行なわれる。
【０２６２】
上記ステップＳＩ２６での処理が終了した段階でこの拡張読出し処理サブルーチン９８が終了し、同時に図１０で示す各種要求処理サブルーチン９５が終了する。
【０２６３】
再び、Ｉ／Ｆコントローラ２５における図２９の拡張読出し要求サブルーチン７８に戻って、ステップＳＦ０１におけるコマンド出力手段１８２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳＦ０２に進む。
【０２６４】
このステップＳＦ０２においては、判別手段１８１を通じて、システムコントローラ２９から要求信号の入力があったかどうかが判別される。即ち、要求信号入力待ちになる。システムコントローラ２９から要求信号が入力されると、次のステップＳＦ０３に進み、判別手段１８１を通じて、今度はシステムコントローラ２９から入力された要求信号が読出し要求信号であるか否かが判別される。
【０２６５】
読出し要求信号である場合は、次のステップＳＦ０４に進み、パラメータ受取り手段１８３を通じて、入力ポート５４を介して供給される読出し用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、データを蓄積すべき拡張バッファ領域ＥＺの開始論理アドレスとセクタ数が格納されることになる。また、このとき、インデックスレジスタｊに上記開始論理アドレスを格納する。
【０２６６】
次に、ステップＳＦ０５において、判別手段１８１を通じて、システムコントローラ２９からの蓄積要求信号の入力待ちとなる。システムコントローラ２９から蓄積要求信号の入力があった場合は、次のステップＳＦ０６に進み、蓄積要求処理サブルーチン（蓄積要求処理手段１８４）に入る。このサブルーチンは、図３０に示すように、まず、ステップＳＧ０１において、インデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２６７】
次に、ステップＳＧ０２において、拡張メモリ領域ＥＺ中、ＲＯＭデータＤｒを蓄積すべきアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値をインデックスレジスタｊに格納する。次に、ステップＳＧ０３において、再生データ読込み手段１８７を通じて、入力ポート５４を介して供給されるデコーダ２４からのＲＯＭデータ（１セクタ）Ｄｒを読み込む。
【０２６８】
次に、ステップＳＧ０４において、再生データ書込み手段１８８を通じて、上記ステップＳＧ０３にて読み込んだＲＯＭデータ（１セクタ）Ｄｒをインデックスレジスタｊの値が示す拡張メモリ領域の論理アドレスに書き込む。次に、ステップＳＧ０５において、インデックスレジスタｉを＋１更新する。
【０２６９】
次に、ステップＳＧ０６において、判別手段１８１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＧ０２に進み、インデックスレジスタｊに格納されている論理アドレスを更新して、ステップＳＧ０３以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、この蓄積要求処理サブルーチン１８４が終了する。
【０２７０】
図２９のメインルーチンに戻って、上記ステップＳＦ０６における蓄積要求処理サブルーチン１８４が終了した段階で、次のステップＳＦ０７に進み、完了信号出力手段１８６を通じて、システムコントローラ２９に対し蓄積完了信号を出力する。
【０２７１】
次に、ステップＳＦ０８において、判別手段１８１を通じて、システムコントローラ２９から転送要求信号の入力があったかどうかが判別される。即ち、転送要求信号入力待ちになる。
【０２７２】
このステップＳＦ０８において、システムコントローラ２９から転送要求信号が入力されると、あるいは上記ステップＳＦ０３において、読出し要求ではないと判別された場合は、次のステップＳＦ０９に進み、パラメータ受取り手段１８３を通じて、入力ポート５４を介して供給される転送用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、今回転送すべきデータが蓄積されている転送バッファ領域の開始論理アドレスとセクタ数が格納されることになる。また、このとき、インデックスレジスタｊに上記開始論理アドレスが格納される。
【０２７３】
次に、ステップＳＦ１０において、転送要求処理サブルーチン（転送要求処理手段１８５）に入る。このサブルーチンは、図３１に示すように、まず、ステップＳＨ０１において、インデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２７４】
次に、ステップＳＨ０２において、拡張メモリ領域ＥＺ中、データを転送すべきアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値をインデックスレジスタｊに格納する。次に、ステップＳＨ０３において、データ読出し手段１８９を通じて、拡張メモリ領域ＥＺ中、インデックスレジスタｊで示す論理アドレスに蓄積されているＲＯＭデータ（１セクタ）Ｄｒを読み出す。
【０２７５】
次に、ステップＳＨ０４において、データ転送手段１９０を通じて、上記ステップＳＨ０３において読み出した１セクタ分のＲＯＭデータＤｒをホストコンピュータ３１に転送する。次に、ステップＳＨ０５において、インデックスレジスタｉを＋１更新する。
【０２７６】
次に、ステップＳＨ０６において、判別手段１８１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＨ０２に進み、インデックスレジスタｊに格納されている論理アドレスを更新して、ステップＳＨ０３以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、この転送要求処理サブルーチン１８５が終了する。
【０２７７】
図２９のメインルーチンに戻って、上記ステップＳＦ１０における転送要求処理サブルーチン１８５が終了した段階で、次のステップＳＦ１１に進み、完了信号出力手段１８６を通じて、システムコントローラ２９に対し、転送完了信号を出力する。このステップＳＦ１１での処理が終了した段階でこの拡張読出し要求サブルーチン７８が終了し、同時に図６で示す各種要求処理サブルーチン７５が終了する。
【０２７８】
［転送バッファ領域→拡張メモリ領域へのブロック転送処理］
次に、ホストコンピュータ３１からブロック転送コマンドがＩ／Ｆコントローラ２５に入力された場合は、図６において、各種要求処理サブルーチン７５からブロック転送要求サブルーチン（ブロック転送要求手段７９）Ｓ１０４に入る。
【０２７９】
このブロック転送要求手段７９は、図３６に示すように、各種判別を行なう判別手段２２１と、システムコントローラ２９にコマンドを出力するコマンド出力手段２２２と、システムコントローラ２９から転送されてくる転送用パラメータを受け取るパラメータ受取り手段２２３と、転送バッファ領域に蓄積されたＲＯＭデータＤｒを転送用パラメータが示す論理アドレスから順次読み出すデータ読出し手段２２４と、データＲＡＭ５３の所定領域に展開される転送情報テーブルを１レコード単位に読み出すテーブル読出し手段２２５と、上記データ読出し手段２２４にて読み出したＲＯＭデータＤｒを転送用パラメータが示す論理アドレスから順次１セクタ単位に書き込むデータ書込み手段２２６と、システムコントローラ２９に対して処理が完了したこと知らせる完了信号出力手段２２７とを有して構成されている。
【０２８０】
そして、このブロック転送要求手段７９は、まず、図３７のステップＳＫ０１において、コマンド出力手段２２２を通じて、コマンド格納領域に格納されているブロック転送コマンドデータをシステムコントローラ２９に出力する。
【０２８１】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からのブロック転送コマンドデータが入力された場合、図１０で示す各種要求処理サブルーチン９５からブロック転送処理サブルーチン（ブロック転送処理手段９９）Ｓ３０４に入る。ブロック転送コマンドデータは、転送バッファ領域ＴＺに蓄積されているデータの転送元である光ディスクＤ上の先頭アドレスと、その先頭アドレスからの相対セクタ数と、読み出すべきデータのセクタ数と、読み出したデータを書き込むべき拡張メモリ領域ＥＺにおける開始論理アドレスとから構成されている。
【０２８２】
このブロック転送処理手段９９は、図３８に示すように、各種判別を行なう判別手段２３１と、今回のコマンドデータに基づいて対応する拡張情報テーブルの該当レコードを検索する拡張情報テーブル検索手段２３２と、今回のコマンドデータに基づいて対応する転送格納テーブルの該当レコードを検索する転送格納テーブル検索手段２３３と、拡張メモリ領域ＥＺへのデータ転送を要求するための転送用パラメータを作成してＩ／Ｆコントローラ２５に転送するパラメータ作成手段２３４と、今回のコマンドデータに基づいて拡張格納テーブルを作成する拡張格納テーブル作成手段２３５と、拡張メモリ領域ＥＺへのデータ蓄積に伴って減少する予約セクタ数を−更新するための残存セクタ数更新手段２３６と、Ｉ／Ｆコントローラ２５に対して各種要求を指示するための信号を出力する要求出力手段２３７と、Ｉ／Ｆコントローラ２５に対してエラー信号を出力するためのエラー信号出力手段２３８とを有して構成されている。
【０２８３】
また、このブロック転送処理手段９９は、拡張情報テーブル検索手段２３２又は転送格納テーブル検索手段２３３にて活性化され、データＲＡＭ６３の所定領域に展開される拡張情報テーブル又は転送格納テーブルをそれぞれ１レコード単位に読み出すテーブル読出し手段２３９と、今回の蓄積対象の拡張メモリ領域ＥＺにおける蓄積可能セクタ数を計算し、又は転送バッファ領域ＴＺに蓄積されている今回の転送対象のデータのセクタ数を計算するセクタ数計算手段２４０とを有する。
【０２８４】
そして、このブロック転送処理手段９９は、まず、図３９のステップＳＬ０１において、コマンド格納領域に格納されているコマンドデータをテーブルバッファに展開する。このテーブルバッファは、図５５（ａ）で示す拡張格納テーブルの１レコードの構成と同じであり、このステップＳＬ０１では、コマンドデータ（光ディスクＤ上のアドレス＋相対セクタ数，拡張メモリ領域ＥＺ上の開始論理アドレス及びセクタ数）を拡張格納テーブルの１レコードの配列順序に応じて格納する。
【０２８５】
次に、ステップＳＬ０２において、判別手段２３１を通じて、今回要求のセクタ数が拡張メモリ領域ＥＺの予約セクタ数以下か否かが判別される。この判別は、データＲＡＭ６３に割り付けられている予約セクタ数格納領域内の値と今回要求のセクタ数とを比較することによって行なわれる。
【０２８６】
今回要求のセクタ数が予約セクタ数以下である場合、次のステップＳＬ０３に進み、拡張情報テーブル検索サブルーチン（拡張情報テーブル検索手段２３２）に入る。このサブルーチンは、図４０に示すように、まず、ステップＳＭ０１において、拡張情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２８７】
次に、ステップＳＭ０２において、テーブル読出し手段２３９を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。
【０２８８】
次に、ステップＳＭ０３において、判別手段２３１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＭ０４に進み、判別手段２３１を通じて、今度は上記ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。有効である場合は、次のステップＳＭ０５に進み、上記ｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。
【０２８９】
次に、ステップＳＭ０６において、判別手段２３１を通じて、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にあるか否かが判別される。
【０２９０】
今回要求の開始論理アドレスが上記両アドレスの間にある場合は、次のステップＳＭ０７に進み、セクタ数計算手段２４０を通じて、拡張情報テーブルにて設定されたｉレコード目に係る拡張メモリ領域ＥＺの上記今回要求の開始論理アドレス以降のセクタ数が計算される。具体的には、ｉレコード目に係る終了論理アドレスから今回要求の開始論理アドレスから１を差し引いた値を差し引くことにより行なわれる。このセクタ数はインデックスレジスタｋに格納される。
【０２９１】
次に、ステップＳＭ０８において、判別手段２３１を通じて、ｉレコード目に係る拡張メモリ領域ＥＺの上記今回要求の開始論理アドレス以降のセクタ数が今回要求のセクタ数以上であるか否かが判別される。この判別は、インデックスレジスタｋの値が今回要求のセクタ数以上であるかどうかで行なわれる。インデックスレジスタｋの値が今回要求のセクタ数以上であれば、この拡張情報テーブル検索サブルーチン２３２が終了する。
【０２９２】
一方、上記ステップＳＭ０６において、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にないと判別された場合、あるいは上記ステップＳＭ０４において、ｉレコード目の内容が無効と判別された場合は、ステップＳＭ０９に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＭ０２に進んで、拡張情報テーブルの次のレコードを読み出し、ステップＳＭ０３以降の処理を繰り返す。
【０２９３】
他方、上記ステップＳＭ０８において、インデックスレジスタｋの値が今回要求のセクタ数よりも小さいと判別された場合、あるいは上記ステップＳＭ０３において、拡張情報テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＭ１０に進み、エラー信号出力手段２３８を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０２９４】
図３９のメインルーチンに戻って、上記ステップＳＬ０３における拡張情報テーブル検索サブルーチン２３２が終了すると、次のステップＳＬ０４に進み、転送格納テーブル検索サブルーチン（転送格納テーブル検索手段２３３）に入る。このサブルーチンは、図４１に示すように、まず、ステップＳＮ０１において、転送格納テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０２９５】
次に、ステップＳＮ０２において、テーブル読出し手段２３９を通じて、転送格納テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、転送格納テーブルからｉレコード目のレコードを読み出す。
【０２９６】
次に、ステップＳＮ０３において、判別手段２３１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＮ０４に進み、判別手段２３１を通じて、今度は上記ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。次のステップＳＮ０５に進み、判別手段２３１を通じて、今回要求の光ディスクＤ上のアドレスと、転送格納テーブルの上記ｉレコード目に格納されている光ディスクＤ上のアドレスとが同じであるか否かが判別される。
【０２９７】
両アドレス同士が一致している場合は、次のステップＳＮ０６に進み、セクタ数計算手段２４０を通じて、転送バッファ領域ＴＺ中、転送格納テーブルのｉレコード目に係るアドレスに蓄積されているＲＯＭデータＤｒの今回要求の相対セクタ以降のセクタ数が計算される。具体的には、ｉレコード目に係るセクタ数から今回要求の相対セクタ数を差し引くことにより行なわれる。求まったセクタ数はインデックスレジスタｋに格納される。
【０２９８】
次に、ステップＳＮ０７において、判別手段２３１を通じて、転送格納テーブルのｉレコード目に係るアドレスに蓄積されているＲＯＭデータＤｒの今回要求の相対セクタ以降のセクタ数が今回要求のセクタ数以上であるか否かが判別される。この判別は、インデックスレジスタｋの値が今回要求のセクタ数以上であるかどうかで行なわれる。インデックスレジスタｋの値が今回要求のセクタ数以上であれば、次のステップＳＮ０８に進み、ｉレコード目に係る転送バッファ領域ＴＺの開始論理アドレスをレジスタＡＤＤに格納する。そして、このステップＳＮ０８での処理が終了した段階でこの転送格納テーブル検索サブルーチン２３３が終了する。
【０２９９】
一方、上記ステップＳＮ０５において、両アドレスが不一致と判別された場合、あるいは上記ステップＳＮ０４において、ｉレコード目の内容が無効と判別された場合は、ステップＳＮ０９に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＮ０２に進んで、転送格納テーブルの次のレコードを読み出し、ステップＳＮ０３以降の処理を繰り返す。
【０３００】
他方、上記ステップＳＮ０７において、インデックスレジスタｋの値が今回要求のセクタ数よりも小さいと判別された場合、あるいは上記ステップＳＮ０３において、転送格納テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＮ１０に進み、エラー信号出力手段２３８を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０３０１】
図３９のメインルーチンに戻って、上記ステップＳＬ０４における転送格納テーブル検索サブルーチン２３３が終了すると、次のステップＳＬ０５に進み、パラメータ作成手段２３４を通じて、転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、レジスタＡＤＤに格納されている転送バッファ領域ＴＺの開始論理アドレスに今回要求の相対セクタ数を加算した値（即ち、転送バッファ領域ＴＺからのデータ読出し論理アドレス）と今回要求のセクタ数と今回要求の拡張メモリ領域ＥＺにおける開始論理アドレス（即ち、拡張メモリ領域ＥＺへのデータ書込み論理アドレス）を格納する。
【０３０２】
次に、ステップＳＬ０６において、Ｉ／Ｆコントローラ２５に対し、要求出力手段２３７を通じて、転送要求信号を出力すると同時に、パラメータ作成手段２３４を通じて、パラメータ格納領域に格納されている転送用パラメータを出力する。
【０３０３】
ここで、Ｉ／Ｆコントローラ２５は、システムコントローラ２９からの転送要求信号の入力に基づいて、転送バッファ領域ＴＺ中、転送用パラメータに格納されているデータ読出し論理アドレスから順次ＲＯＭデータＤｒを読み出して、この読み出したＲＯＭデータＤｒを、拡張メモリ領域ＥＺ中、転送用パラメータに格納されているデータ書込み論理アドレスから順次書き込む。そして、要求されたセクタ数分のＲＯＭデータＤｒが拡張メモリ領域ＥＺに書き込まれた段階でシステムコントローラ２９に対して転送完了信号を出力する。この動作の詳細は後述する。
【０３０４】
図３９の処理ルーチンに戻り、上記ステップＳＬ０６にて転送要求信号を出力した後、次のステップＳＬ０７に進み、Ｉ／Ｆコントローラ２５からの転送完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から転送完了信号が入力された段階で次のステップＳＬ０８に進み、拡張格納テーブル作成手段２３５を通じて、拡張格納テーブル中、蓄積ポイント格納領域内の値に対応するレコード目にテーブルバッファを格納する。次に、ステップＳＬ０９において、蓄積ポイント格納領域内の値を＋１更新する。
【０３０５】
次に、ステップＳＬ１０において、残存セクタ数更新手段２３６を通じて、予約セクタ数を−更新する。具体的には、予約セクタ数格納領域に格納されている値から今回要求のセクタ数を差し引いた値を再び予約セクタ格納領域に格納することにより行なわれる。
【０３０６】
一方、上記ステップＳＬ０２において、今回要求のセクタ数が予約セクタ数よりも大きい場合は、ステップＳＬ１１に進み、エラー信号出力手段２３８を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力する。
【０３０７】
上記ステップＳＬ１０での処理又は上記ステップＳＬ１１での処理が終了した段階で、このブロック転送処理サブルーチン９９が終了し、同時に図１０で示す各種要求処理サブルーチン９５が終了する。
【０３０８】
再び、Ｉ／Ｆコントローラ２５における図３７のブロック転送要求サブルーチン７９に戻って、ステップＳＫ０１におけるコマンド出力手段２２２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳＫ０２に進む。
【０３０９】
このステップＳＫ０２においては、判別手段２２１を通じて、システムコントローラ２９から要求信号の入力があったかどうかが判別される。即ち、要求信号入力待ちになる。システムコントローラ２９から要求信号が入力されると、次のステップＳＫ０３に進み、パラメータ受取り手段２２３を通じて、入力ポート５４を介して供給される転送用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、データを読み出すべき転送バッファ領域の開始論理アドレスとデータを蓄積すべき拡張バッファ領域の開始論理アドレスとセクタ数が格納されることになる。また、このとき、インデックスレジスタｊにデータを読み出すべき転送バッファ領域の開始論理アドレスが格納され、インデックスレジスタｋにデータを蓄積すべき拡張バッファ領域の開始論理アドレスが格納される。
【０３１０】
次に、ステップＳＫ０４において、インデックスレジスタｉと転送情報テーブルのレコード読出しインデックスとなるインデックスレジスタｐを初期化する。即ち、各インデックスレジスタｉ及びｐに初期値「０」を格納する。
【０３１１】
次に、ステップＳＫ０５において、テーブル読出し手段２２５を通じて、転送情報テーブルからインデックスレジスタｐで示す番号のレコードを読み出す。即ち、転送情報テーブルからｐレコード目のレコードを読み出す。次に、ステップＳＫ０６において、インデックスレジスタｐを＋１更新する。
【０３１２】
次に、ステップＳＫ０７において、判別手段２２１を通じて、今回要求のデータ読出し開始論理アドレス（インデックスレジスタｊの値）が上記ｐレコード目に係る開始論理アドレスと終了論理アドレスの間にあるか否かが判別される。今回要求のデータ読出し開始論理アドレスが上記両アドレスの間にない場合は、上記ステップＳＫ０５に戻って、転送情報テーブルの次のレコードを読み出し、ステップＳＫ０６以降の処理を繰り返す。
【０３１３】
上記ステップＳＫ０７において、今回要求のデータ読出し開始論理アドレスが上記両アドレスの間にあると判別された場合は、次のステップＳＫ０８に進み、転送バッファ領域から読み出すべきデータのアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値をインデックスレジスタｊに格納する。
【０３１４】
次に、ステップＳＫ０９において、判別手段２２１を通じて、インデックスレジスタｊの値が上記ｐレコード目に係る終了論理アドレスよりも大きいか否かが判別される。インデックスレジスタｊの値が読み出した当該レコード目に係る終了論理アドレスよりも大きい場合は、次のステップＳＫ１０に進み、転送情報テーブルのｐレコード目のレコードを読み出して、インデックスレジスタｊに該ｐレコード目に係る開始論理アドレスを格納する。次に、ステップＳＫ１１において、インデックスレジスタｐを＋１更新する。
【０３１５】
次に、ステップＳＫ１２において、データ読出し手段２２４を通じて、転送バッファ領域ＴＺ中、インデックスレジスタｊで示す論理アドレスに蓄積されているＲＯＭデータ（１セクタ）Ｄｒを読み出す。次に、ステップＳＫ１３において、データ書込み手段２２６を通じて、上記ステップＳＫ１２にて読み込んだＲＯＭデータ（１セクタ）Ｄｒをインデックスレジスタｋの値が示す拡張メモリ領域ＥＺの論理アドレスに書き込む。次に、ステップＳＫ１４において、インデックスレジスタｉ及びｋをそれぞれ＋１更新する。
【０３１６】
次に、ステップＳＫ１５において、判別手段２２１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。
【０３１７】
インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＫ０８に戻って、インデックスレジスタｊに格納されている論理アドレスを更新し、ステップＳＫ０９以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、次のステップＳＫ１６に進み、完了信号出力手段２２７を通じて、システムコントローラ２９に対し、転送完了信号を出力する。このステップＳＫ１６での処理が終了した段階でこのブロック転送要求サブルーチン７９が終了し、同時に図６で示す各種要求処理サブルーチン７５が終了する。
【０３１８】
［ホストコンピュータ→拡張メモリ領域へのデータ転送処理］
次に、ホストコンピュータ３１から拡張書込みコマンドがＩ／Ｆコントローラ２５に入力された場合は、図６において、各種要求処理サブルーチン７５から拡張書込み要求サブルーチン（拡張書込み要求手段８０）Ｓ１０５に入る。
【０３１９】
この拡張書込み要求手段８０は、図４２に示すように、各種判別を行なう判別手段２５１と、システムコントローラ２９にコマンドを出力するコマンド出力手段２５２と、システムコントローラ２９から転送されてくる転送用パラメータを受け取るパラメータ受取り手段２５３と、ホストコンピュータ３１から転送されてくるデータを読み出すデータ読出し手段２５４と、該データ読出し手段２５４にて読み出したホストコンピュータ３１からのデータを転送用パラメータが示す論理アドレスから順次１セクタ単位に書き込むデータ書込み手段２５５と、システムコントローラ２９に対して処理が完了したこと知らせる完了信号出力手段２５６とを有して構成されている。
【０３２０】
そして、この拡張書込み要求手段８０は、まず、図４３のステップＳＰ０１において、コマンド出力手段２５２を通じて、コマンド格納領域に格納されている拡張書込みコマンドデータをシステムコントローラ２９に出力する。
【０３２１】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの拡張書込みコマンドデータが入力された場合、図１０で示す各種要求処理サブルーチン９５から拡張書込み処理サブルーチン（拡張書込み処理手段１００）Ｓ３０５に入る。拡張書込みコマンドデータは、ホストコンピュータ３１からのデータを書き込むべき拡張メモリ領域ＥＺにおける開始論理アドレスと、該書き込むべきデータのセクタ数とから構成されている。
【０３２２】
この拡張書込み処理手段１００は、図４４に示すように、各種判別を行なう判別手段２６１と、今回のコマンドデータに基づいて対応する拡張情報テーブルの該当レコードを検索する拡張情報テーブル検索手段２６２と、拡張メモリ領域ＥＺへのデータ転送を要求するための転送用パラメータを作成してＩ／Ｆコントローラ２５に転送するパラメータ作成手段２６３と、今回のコマンドデータに基づいて拡張格納テーブルを作成する拡張格納テーブル作成手段２６４と、拡張メモリ領域ＥＺへのデータ蓄積に伴って減少する予約セクタ数を−更新するための残存セクタ数更新手段２６５と、Ｉ／Ｆコントローラ２５に対して各種要求を指示するための信号を出力する要求出力手段２６６と、Ｉ／Ｆコントローラ２５に対してエラー信号を出力するためのエラー信号出力手段２６７とを有して構成されている。
【０３２３】
また、この拡張書込み処理手段１００は、上記各種手段のほか、拡張情報テーブル検索手段２６２にて活性化され、データＲＡＭ６３の所定領域に展開される拡張情報テーブルを１レコード単位に読み出すテーブル読出し手段２６８と、今回の蓄積対象の拡張メモリ領域における蓄積可能セクタ数を計算するセクタ数計算手段２６９とを有する。
【０３２４】
そして、この拡張書込み処理手段１００は、まず、図４５のステップＳＱ０１において、コマンド格納領域に格納されているコマンドデータをテーブルバッファに展開する。このテーブルバッファは、図５５（ａ）で示す拡張格納テーブルの１レコードの構成と同じであり、このステップＳＬ０１では、コマンドデータ（拡張メモリ領域ＥＺ上の開始論理アドレス及びセクタ数）を拡張格納テーブルの１レコードの配列順序に応じて格納し、更にテーブルバッファの光ディスクＤ上のアドレスが格納される領域にホストコンピュータ３１からのデータであることを示すコードを格納する。
【０３２５】
次に、ステップＳＱ０２において、判別手段２６１を通じて、今回要求のセクタ数が拡張メモリ領域ＥＺの予約セクタ数以下か否かが判別される。この判別は、データＲＡＭ６３に割り付けられている予約セクタ数格納領域内の値と今回要求のセクタ数とを比較することによって行なわれる。
【０３２６】
今回要求のセクタ数が予約セクタ数以下である場合、次のステップＳＱ０３に進み、拡張情報テーブル検索サブルーチン（拡張情報テーブル検索手段２６２）に入る。このサブルーチンは、図４６に示すように、まず、ステップＳＲ０１において、拡張情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０３２７】
次に、ステップＳＲ０２において、テーブル読出し手段２６８を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。
【０３２８】
次に、ステップＳＲ０３において、判別手段２６１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＲ０４に進み、判別手段２６１を通じて、今度は上記ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。有効である場合は、次のステップＳＲ０５に進み、上記ｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。
【０３２９】
次に、ステップＳＲ０６において、判別手段２６１を通じて、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にあるか否かが判別される。
【０３３０】
今回要求の開始論理アドレスが上記両アドレスの間にある場合は、次のステップＳＲ０７に進み、セクタ数計算手段２６９を通じて、拡張情報テーブルにて設定されたｉレコード目に係る拡張メモリ領域ＥＺの上記今回要求の開始論理アドレス以降のセクタ数が計算される。具体的には、ｉレコード目に係る終了論理アドレスから今回要求の開始論理アドレスから１を差し引いた値を差し引くことにより行なわれる。このセクタ数はインデックスレジスタｋに格納される。
【０３３１】
次に、ステップＳＲ０８において、判別手段２６１を通じて、ｉレコード目に係る拡張メモリ領域ＥＺの上記今回要求の開始論理アドレス以降のセクタ数が今回要求のセクタ数以上であるか否かが判別される。この判別は、インデックスレジスタｋの値が今回要求のセクタ数以上であるかどうかで行なわれる。インデックスレジスタｋの値が今回要求のセクタ数以上であれば、この拡張情報テーブル検索サブルーチン２６２が終了する。
【０３３２】
一方、上記ステップＳＲ０６において、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にないと判別された場合、あるいは上記ステップＳＲ０４において、ｉレコード目の内容が無効と判別された場合は、ステップＳＲ０９に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＲ０２に進んで、拡張情報テーブルの次のレコードを読み出し、ステップＳＲ０３以降の処理を繰り返す。
【０３３３】
他方、上記ステップＳＲ０８において、インデックスレジスタｋの値が今回要求のセクタ数よりも小さいと判別された場合、あるいは上記ステップＳＲ０３において、拡張情報テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＲ１０に進み、エラー信号出力手段２６７を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０３３４】
図４５のメインルーチンに戻って、上記ステップＳＱ０３における拡張情報テーブル検索サブルーチン２６２が終了すると、次のステップＳＱ０４に進み、パラメータ作成手段２６３を通じて、転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、テーブルバッファに格納されている今回要求の拡張メモリ領域ＥＺ上の開始論理アドレスと今回要求のセクタ数を格納する。
【０３３５】
次に、ステップＳＱ０５において、Ｉ／Ｆコントローラ２５に対し、要求出力手段２６６を通じて、転送要求信号を出力すると同時に、パラメータ作成手段２６３を通じて、パラメータ格納領域に格納されている転送用パラメータを出力する。
【０３３６】
ここで、Ｉ／Ｆコントローラ２５は、システムコントローラ２９からの転送要求信号の入力に基づいて、ホストコンピュータ３１から転送されてくるデータを、拡張メモリ領域ＥＺ中、転送用パラメータに格納されている開始論理アドレスから順次書き込む。そして、要求されたセクタ数分のデータが拡張メモリ領域に書き込まれた段階でシステムコントローラ２９に対して転送完了信号を出力する。この動作の詳細は後述する。
【０３３７】
図４５のメインルーチンに戻り、上記ステップＳＱ０５にて転送要求信号を出力した後、次のステップＳＱ０６に進み、Ｉ／Ｆコントローラ２５からの転送完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から転送完了信号が入力された段階で次のステップＳＱ０７に進み、拡張格納テーブル作成手段２６４を通じて、拡張格納テーブル中、蓄積ポイント格納領域内の値に対応するレコード目にテーブルバッファを格納する。次に、ステップＳＱ０８において、蓄積ポイント格納領域内の値を＋１更新する。
【０３３８】
次に、ステップＳＱ０９において、残存セクタ数更新手段２６５を通じて、予約セクタ数を−更新する。具体的には、予約セクタ数格納領域に格納されている値から今回要求のセクタ数を差し引いた値を再び予約セクタ格納領域に格納することにより行なわれる。
【０３３９】
一方、上記ステップＳＱ０２において、今回要求のセクタ数が予約セクタ数よりも大きい場合は、ステップＳＱ１０に進み、エラー信号出力手段２６７を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力する。
【０３４０】
上記ステップＳＱ０９での処理又は上記ステップＳＱ１０での処理が終了した段階で、この拡張書込み処理サブルーチン１００が終了し、同時に図１０で示す各種要求処理サブルーチン９５が終了する。
【０３４１】
再び、Ｉ／Ｆコントローラ２５における図４３の拡張書込み要求サブルーチン８０に戻って、ステップＳＰ０１におけるコマンド出力手段２５２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳＰ０２に進む。
【０３４２】
このステップＳＰ０２においては、判別手段２５１を通じて、システムコントローラ２９から要求信号の入力があったかどうかが判別される。即ち、要求信号入力待ちになる。システムコントローラ２９から要求信号が入力されると、次のステップＳＰ０３に進み、パラメータ受取り手段２５３を通じて、入力ポート５４を介して供給される転送用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、ホストコンピュータ３１からのデータを蓄積すべき拡張バッファ領域の開始論理アドレスとセクタ数が格納されることになる。また、このとき、インデックスレジスタｊにデータを蓄積すべき拡張バッファ領域の開始論理アドレスが格納される。
【０３４３】
次に、ステップＳＰ０４において、インデックスレジスタｉを初期化する。即ち、各インデックスレジスタｉに初期値「０」を格納する。次に、ステップＳＰ０５において、拡張メモリ領域にデータを蓄積すべきアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値をインデックスレジスタｊに格納する。次に、ステップＳＰ０６において、データ読出し手段２５４を通じて、入力ポート５４を介して供給されるホストコンピュータ３１からのデータ（１セクタ）を読み出す。
【０３４４】
次に、ステップＳＰ０７において、データ書込み手段２５５を通じて、上記ステップＳＰ０６にて読み込んだホストコンピュータ３１からのデータ（１セクタ）をインデックスレジスタｋの値が示す拡張メモリ領域ＥＺの論理アドレスに書き込む。次に、ステップＳＰ０８において、インデックスレジスタｉ及びｋをそれぞれ＋１更新する。
【０３４５】
次に、ステップＳＰ０９において、判別手段２５１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。
【０３４６】
インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＰ０５に戻って、インデックスレジスタｊに格納されている論理アドレスを更新し、ステップＳＰ０６以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、次のステップＳＰ１０に進み、完了信号出力手段２５６を通じて、システムコントローラ２９に対し、転送完了信号を出力する。このステップＳＰ１０での処理が終了した段階でこの拡張書込み要求サブルーチン８０が終了し、同時に図６で示す各種要求処理サブルーチン７５が終了する。
【０３４７】
［拡張メモリ領域→ホストコンピュータへのデータ転送処理］
次に、ホストコンピュータ３１から拡張転送コマンドがＩ／Ｆコントローラ２５に入力された場合は、図６において、各種要求処理サブルーチン７５から拡張転送要求サブルーチン（拡張転送要求手段８１）Ｓ１０６に入る。
【０３４８】
この拡張転送要求手段は、図４７に示すように、各種判別を行なう判別手段２７１と、システムコントローラ２９にコマンドを出力するコマンド出力手段２７２と、システムコントローラ２９から転送されてくる転送用パラメータを受け取るパラメータ受取り手段２７３と、拡張メモリ領域ＥＺ中、転送用パラメータが示す論理アドレスに蓄積されたデータを読み出すデータ読出し手段２７４と、該データ読出し手段２７４にて読み出したデータをホストコンピュータ３１に転送するデータ転送手段２７５と、システムコントローラ２９に対して処理が完了したこと知らせる完了信号出力手段２７６とを有して構成されている。
【０３４９】
そして、この拡張転送要求手段８１は、まず、図４８のステップＳＳ０１において、コマンド出力手段２７２を通じて、コマンド格納領域に格納されている拡張転送コマンドデータをシステムコントローラ２９に出力する。
【０３５０】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの拡張転送コマンドデータが入力された場合、図１０で示す各種要求処理サブルーチン９５から拡張転送処理サブルーチン（拡張転送処理手段１０１）Ｓ３０６に入る。拡張転送コマンドデータは、データを読み出すべき拡張メモリ領域ＥＺの開始論理アドレスとセクタ数から構成されている。
【０３５１】
この拡張転送処理手段１０１は、図４９に示すように、各種判別を行なう判別手段２８１と、データＲＡＭ６３の所定領域に展開される拡張情報テーブルを１レコード単位に読み出すテーブル読出し手段２８２と、データの転送を要求するための転送用パラメータを作成してＩ／Ｆコントローラ２５に転送するパラメータ作成手段２８３と、Ｉ／Ｆコントローラ２５に対して各種要求を指示するための信号を出力する要求出力手段２８４と、Ｉ／Ｆコントローラ２５に対してエラー信号を出力するためのエラー信号出力手段２８５とを有して構成されている。
【０３５２】
そして、この拡張転送処理手段１０１は、まず、図５０のステップＳＴ０１において、拡張情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０３５３】
次に、ステップＳＴ０２において、テーブル読出し手段２８２を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。
【０３５４】
次に、ステップＳＴ０３において、判別手段２８１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＴ０４に進み、判別手段２８１を通じて、今度は上記ｉレコード目の内容が有効か無効かが判別される。この判別は、ｉレコード目の最初の１ビット目に「１」か「０」かどうかで行なわれる。有効である場合は、次のステップＳＴ０５に進み、上記ｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。
【０３５５】
次に、ステップＳＴ０６において、判別手段２８１を通じて、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にあるか否かが判別される。
【０３５６】
今回要求の開始論理アドレスが上記両アドレスの間にある場合は、次のステップＳＴ０７に進み、パラメータ作成手段２８３を通じて、転送用パラメータを作成する。具体的には、データＲＡＭ６３に割り付けられたパラメータ格納領域に、コマンド格納領域に格納されている今回要求の拡張メモリ領域上の開始論理アドレスと今回要求のセクタ数を格納する。
【０３５７】
次に、ステップＳＴ０８において、Ｉ／Ｆコントローラ２５に対し、要求出力手段２８４を通じて、転送要求信号を出力すると同時に、パラメータ作成手段２８３を通じて、パラメータ格納領域に格納されている転送用パラメータを出力する。
【０３５８】
ここで、Ｉ／Ｆコントローラ２５は、システムコントローラ２９からの転送要求信号の入力に基づいて、拡張メモリ領域ＥＺ中、転送用パラメータに格納されている開始論理アドレスから順次データを読み出してホストコンピュータ３１側に転送する。そして、要求されたセクタ数分のデータがホストコンピュータ３１側に転送された段階でシステムコントローラ２９に対して転送完了信号を出力する。この動作の詳細は後述する。
【０３５９】
図５０の処理ルーチンに戻り、上記ステップＳＴ０８にて転送要求信号を出力した後、次のステップＳＴ０９に進み、Ｉ／Ｆコントローラ２５からの転送完了信号の入力を待つ。Ｉ／Ｆコントローラ２５から転送完了信号が入力された段階でこの拡張転送処理サブルーチン１０１が終了し、同時に図１０で示す各種要求処理サブルーチン９５が終了する。
【０３６０】
一方、上記ステップＳＴ０６において、今回要求の開始論理アドレスが上記ｉレコード目に係る開始論理アドレスと終了論理アドレスの間にないと判別された場合、あるいは上記ステップＳＴ０４において、ｉレコード目の内容が無効と判別された場合は、ステップＳＴ１０に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＴ０２に進んで、拡張情報テーブルの次のレコードを読み出し、ステップＳＴ０３以降の処理を繰り返す。
【０３６１】
他方、ステップＳＴ０３において、拡張情報テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＴ１１に進み、エラー信号出力手段２８５を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０３６２】
再び、Ｉ／Ｆコントローラ２５における図４８の拡張転送要求サブルーチン８１に戻って、ステップＳＳ０１におけるコマンド出力手段２７２によるシステムコントローラ２９へのコマンドデータの出力が終了した後、次のステップＳＳ０２に進む。
【０３６３】
このステップＳＳ０２においては、判別手段２７１を通じて、システムコントローラ２９から転送要求信号の入力があったかどうかが判別される。即ち、要求信号入力待ちになる。システムコントローラ２９から転送要求信号が入力されると、次のステップＳＳ０３に進み、パラメータ受取り手段２７３を通じて、入力ポート５４を介して供給される転送用パラメータを受け取ってデータＲＡＭ５３に割り付けられているパラメータ格納領域に格納する。これによって、このパラメータ格納領域には、拡張メモリ領域ＥＺ中、ホストコンピュータ３１に転送すべきデータが蓄積されている開始論理アドレスとそのセクタ数が格納されることになる。また、このとき、インデックスレジスタｊに上記拡張バッファ領域の開始論理アドレスを格納する。
【０３６４】
次に、ステップＳＳ０４において、インデックスレジスタｉを初期化する。即ち、各インデックスレジスタｉに初期値「０」を格納する。次に、ステップＳＳ０５において、拡張メモリ領域からデータを読み出すべきアドレスを計算する。具体的には、インデックスレジスタｊの値とインデックスレジスタｉの値とを加算した値をインデックスレジスタｊに格納する。次に、ステップＳＳ０６において、データ読出し手段２７４を通じて、拡張メモリ領域ＥＺ中、インデックスレジスタｊで示す論理アドレスに蓄積されているデータ（１セクタ）を読み出す。
【０３６５】
次に、ステップＳＳ０７において、データ転送手段２７５を通じて、上記ステップＳＳ０６において読み出した１セクタ分のデータをホストコンピュータ３１に転送する。次に、ステップＳＳ０８において、インデックスレジスタｉを＋１更新する。次に、ステップＳＰ０９において、判別手段２７１を通じて、インデックスレジスタｉの値がパラメータ格納領域に格納されているセクタ数以上であるか否かが判別される。
【０３６６】
インデックスレジスタｉの値がセクタ数よりも小さい場合は、上記ステップＳＳ０５に戻って、インデックスレジスタｊに格納されている論理アドレスを更新し、ステップＳＳ０６以降の処理を繰り返す。一方、上記インデックスレジスタｉの値がセクタ数以上となった場合は、次のステップＳＳ１０に進み、完了信号出力手段２７６を通じて、システムコントローラ２９に対し、転送完了信号を出力する。このステップＳＳ１０での処理が終了した段階でこの拡張転送要求サブルーチン８１が終了し、同時に図６で示す各種要求処理サブルーチン７５が終了する。
【０３６７】
［拡張メモリ領域の予約解除処理］
次に、ホストコンピュータ３１から予約解除コマンドがＩ／Ｆコントローラ２５に入力された場合は、図６で示す各種要求処理サブルーチン７５（ステップＳ１０７）において、コマンド出力手段８２（図４参照）を通じて、コマンド格納領域に格納されている予約解除コマンドデータをシステムコントローラ２９に出力する。この段階でこの各種要求処理サブルーチン７５が終了する。
【０３６８】
システムコントローラ２９においては、Ｉ／Ｆコントローラ２５からの予約解除コマンドデータが入力された場合、図１０で示す各種要求処理サブルーチン９５から予約解除処理サブルーチン（予約解除処理手段１０２）Ｓ３０７に入る。予約解除コマンドデータは、現在予約されている拡張メモリ領域ＥＺの先頭論理アドレスにて構成されている。
【０３６９】
この予約解除処理手段１０２は、図５１に示すように、各種判別を行なう判別手段２９１と、データＲＡＭ６３の所定領域に展開される拡張情報テーブル又は拡張格納テーブルをそれぞれ１レコード単位に読み出すテーブル読出し手段２９２と、拡張格納テーブル中、拡張メモリ領域ＥＺの予約解除対象となっているレコードを削除処理するための拡張格納テーブル処理手段２９３と、拡張情報テーブルにおける該当レコードの有効ビットをリセットするための有効ビットリセット手段２９４と、Ｉ／Ｆコントローラ２５に対してエラー信号を出力するためのエラー信号出力手段２９６とを有して構成されている。
【０３７０】
また、この予約解除処理手段１０２は、上記各種手段のほか、拡張格納テーブル処理手段２９３にて活性化され、拡張格納テーブルの該当レコードを削除して全体のレコード群を移動処理するレコード削除移動手段２９５を有する。
【０３７１】
そして、この予約解除処理手段１０２は、まず、図５２のステップＳＵ０１において、拡張情報テーブルのレコード読出しインデックスとなるインデックスレジスタｉを初期化する。即ち、インデックスレジスタｉに初期値「０」を格納する。
【０３７２】
次に、ステップＳＵ０２において、テーブル読出し手段２９２を通じて、拡張情報テーブルからインデックスレジスタｉで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｉレコード目のレコードを読み出す。次に、ステップＳＵ０３において、判別手段２９１を通じて、上記ｉレコード目の内容がＥＯＦコードでないかどうかが判別される。ＥＯＦコードでない場合は、次のステップＳＵ０４に進み、上記ｉレコード目から開始論理アドレス及び終了論理アドレスを読み出す。
【０３７３】
次に、ステップＳＵ０５において、判別手段２９１を通じて、コマンド格納領域に格納されている今回要求の論理アドレスと上記ｉレコード目の開始論理アドレスが同じか否かが判別される。両アドレスが一致した場合は、次のステップＳＵ０６に進み、有効ビットリセット手段２９４を通じて、当該ｉレコード目の有効ビットをリセットしてこのｉレコード目を無効とする。
【０３７４】
次に、ステップＳＵ０７において、拡張格納テーブル処理サブルーチン（拡張格納テーブル処理手段２９３）に入る。このサブルーチンは、図５３に示すように、まず、ステップＳＶ０１において、拡張格納テーブルのレコード読出しインデックスとなるインデックスレジスタｊを初期化する。即ち、インデックスレジスタｊに初期値「０」を格納する。
【０３７５】
次に、ステップＳＶ０２において、テーブル読出し手段２９２を通じて、拡張格納テーブルからインデックスレジスタｊで示す番号のレコードを読み出す。即ち、拡張情報テーブルからｊレコード目のレコードを読み出す。
【０３７６】
次に、ステップＳＶ０３において、判別手段２９１を通じて、今回要求の論理アドレスがｉレコード目の開始論理アドレスと終了論理アドレスとの間にあるか否かが判別される。今回要求の論理アドレスが上記両アドレス間にある場合は、次のステップＳＶ０４に進み、レコード削除移動手段２９５を通じて、拡張格納テーブルのｊレコード目を削除し、更に（ｊ＋１）レコード目以降を移動させてｊレコード目以降とする。
【０３７７】
次に、ステップＳＶ０５において、上記レコード削除移動に伴いインデックスレジスタｊの値を補正する。上記ステップＳＶ０５での処理あるいは上記ステップＳＶ０３において、今回要求の論理アドレスがｉレコード目の開始論理アドレスと終了論理アドレスとの間にない場合は、次のステップＳＶ０６に進み、インデックスレジスタｊを＋１更新する。
【０３７８】
次に、ステップＳＶ０７において、判別手段２９１を通じて、全てのレコードについて処理が終了したか否かが判別される。この判別は、インデックスレジスタｊの値が蓄積ポイント格納領域に格納されている値以上であるか否かで行なわれる。インデックスレジスタの値が蓄積ポイント格納領域に格納されている値よりも小さい場合は、ステップＳＶ０２に戻って、拡張格納テーブルの次のレコードを読み出し、ステップＳＶ０３以降の処理を繰り返す。
【０３７９】
上記ステップＳＶ０７において、インデックスレジスタｊの値が蓄積ポイント格納領域に格納されている値以上であると判別された場合はこの拡張格納テーブル処理サブルーチン２９３が終了する。
【０３８０】
図５２のメインルーチンに戻って、上記ステップＳＵ０７における拡張格納テーブル処理サブルーチン２９３が終了した段階でこの予約解除処理サブルーチン１０２が終了し、同時に図１０で示す各種要求処理サブルーチン９５が終了する。
【０３８１】
一方、上記ステップＳＵ０５において、今回要求の論理アドレスと上記ｉレコード目に係る開始論理アドレスとが不一致であると判別された場合は、ステップＳＵ０８に進み、インデックスレジスタｉの＋１更新を行なう。その後、ステップＳＵ０２に進んで、拡張情報テーブルの次のレコードを読み出し、ステップＳＲ０３以降の処理を繰り返す。
【０３８２】
他方、上記ステップＳＵ０３において、拡張情報テーブルのｉレコード目の内容がＥＯＦコードであると判別された場合は、ステップＳＵ０９に進み、エラー信号出力手段２９６を通じて、Ｉ／Ｆコントローラ２５に対し、エラー信号を出力して強制終了する。
【０３８３】
このように、本実施例に係る再生装置においては、再生手段、即ち、光ピックアップ３→ＲＦアンプ部２１→復調回路２２→デコーダ２４を通じて再生されたＲＯＭデータＤｒが、データバッファ２６の記憶領域のうち、転送バッファ領域ＴＺに一時的に蓄積され、その後、Ｉ／Ｆコントローラ２５を通じてホストコンピュータ３１に転送される。この転送バッファ領域ＴＺに対してはそのデータ転送元が光ディスクＤであることから、専ら上記再生手段を通じて再生された光ディスクＤ上のデータが一時的に蓄積されることになる。この場合、過去のデータは消去され、現在のデータが上書きされることになる。
【０３８４】
特に、本実施例においては、複数個の拡張メモリ領域ＥＺがデータバッファ２６上にランダムに割り付けられたとしても、これら拡張メモリ領域ＥＺを疑似的にライトプロテクト領域として取り扱い、これら拡張メモリ領域ＥＺを避けて連続的にＲＯＭデータＤｒを転送バッファ領域ＴＺのみに蓄積するようにしているため、セクタサイズの大きいＲＯＭデータＤｒを拡張メモリ領域ＥＺの存在を気にせずにホストコンピュータ３１に転送させることが可能となる。
【０３８５】
また、転送バッファ領域ＴＺを経由してのデータ転送の際に、前回のデータ蓄積部分の終了論理アドレスの次のアドレスから今回のデータを蓄積させるようにして、これらのデータ情報（光ディスクＤ上のアドレス等）を転送格納テーブルに登録するようにしているため、データ転送の要求ごとに転送バッファ領域ＴＺにその要求にかかるデータがランダムに蓄積されることになる。即ち、転送バッファ領域ＴＺ上に光ディスクＤ上のアドレスが異なるデータが多数展開されることになる。このことから、読出し要求の際に、すでに転送バッファ領域ＴＺに蓄積されているデータを読み出す確率が増加することになり、読出し要求時のアクセスタイムを短縮化させることが可能となる。
【０３８６】
一方、上記再生手段にて再生されたＲＯＭデータＤｒは、データバッファ２６の記憶領域のうち、拡張メモリ領域ＥＺにも蓄積されるが、この場合、上記転送バッファ領域ＴＺへのデータ蓄積の場合と異なり、蓄積されたデータ保持部分へのデータ置換が禁止されることから、過去のデータ消去されて現在のデータが上書きされるということがない。即ち、一度拡張メモリ領域ＥＺに蓄積されたデータは、その後の光ディスクＤからのデータ読出しに影響されずに該拡張メモリ領域ＥＺ上に保持されることになる。
【０３８７】
従って、光ディスクＤ上の読出し頻度の高いアドレスのデータを拡張メモリ領域ＥＺに蓄積させ、それ以外のアドレスのデータを転送バッファ領域ＴＺに一時的に蓄積させるようにすれば、読出し頻度の高いアドレスのデータをホストコンピュータ３１に転送する場合、いちいち再生手段を通じて光ディスクＤ上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域ＥＺに蓄積されているデータを直接ホストコンピュータ３１に転送させることができることになる。
【０３８８】
その結果、再生装置に対するデータアクセス時間が再生装置の平均アクセス時間に依存するということがなくなり、該平均アクセス時間以上の性能を疑似的に発揮させることが可能となる。
【０３８９】
このようなことから、本実施例に係る再生装置においては、データ転送効率の向上を図るために組み込まれたデータバッファ２６（例えば半導体メモリ）の効果を十分に発揮させることができ、光ディスクＤ上のデータを効率よくホストコンピュータ３１に転送させることができるようになる。
【０３９０】
また、Ｉ／Ｆコントローラ２５及びシステムコントローラ２９へのホストコンピュータ３１からの拡張書込みコマンドの入力によって、ホストコンピュータ３１から転送されたデータもこの拡張メモリ領域ＥＺに蓄積させることが可能となる。この場合、ホストコンピュータ３１が所有するメモリの容量が不足する場合に、この拡張メモリ領域ＥＺをホストコンピュータ３１の外部記憶装置として利用することが可能となる。
【０３９１】
また、Ｉ／Ｆコントローラ２５及びシステムコントローラ２９に、上記ホストコンピュータ３１からの予約要求に基づいて、データバッファ２６の記憶領域を転送バッファ領域ＴＺと拡張メモリ領域ＥＺに論理的に割り付ける予約要求手段７６及び予約処理手段９６を設けるようにしているため、ホストコンピュータ３１からの予約要求がない場合は、記憶領域がそのまま転送バッファ領域ＴＺとして使用されることになり、光ディスクＤからのデータが記憶領域を介してホストコンピュータ３１に転送されることになる。
【０３９２】
そして、ホストコンピュータ３１からの予約要求に基づき予約要求手段７６及び予約処理手段９６を通じて、記憶領域が転送バッファ領域ＴＺと拡張メモリ領域ＥＺに論理的に割り付けられ、その後は、上述したようなデータアクセスが転送バッファ領域ＴＺ及び拡張メモリ領域ＥＺを通して行なわれる。即ち、光ディスクＤ上のランダムなアドレスのデータを光ディスクＤから転送バッファ領域ＴＺを介してホストコンピュータ３１に転送し、読出し頻度の高いアドレスのデータを拡張メモリ領域ＥＺを通してホストコンピュータ３１に転送することが可能となる。また、ホストコンピュータ３１からのデータを拡張メモリ領域ＥＺに蓄積させることも可能となる。
【０３９３】
このように、上記構成においては、データバッファ２６の記憶領域を、データ転送元が光ディスクＤのみである転送バッファ領域ＴＺとして使用するだけでなく、その一部の領域を、データ転送元が光ディスクＤでもありホストコンピュータ３１でもある拡張メモリ領域ＥＺとして使用したい場合に、ホストコンピュータ３１からの予約要求を与えるだけで実現できることになるため、再生装置に内蔵されたデータバッファ２６（半導体メモリ）を十分に活用させることができ、該データバッファ２６による効果を十分に発揮させることができる。
【０３９４】
また、上記構成において、光ディスクＤ上における予め決定された所定アドレスに対するデータ読出し要求時に、初回要求時のみ光ディスクＤ上の該当アドレスのデータを拡張メモリ領域ＥＺを介してホストコンピュータ３１に転送する拡張読出し要求手段７８及び拡張読出し処理手段９８と、２回目以降の読出し要求時に、拡張メモリ領域ＥＺに保持されているデータをホストコンピュータ３１に転送する拡張転送要求手段８１及び拡張転送処理手段１０１と、光ディスクＤ上における所定アドレス以外のデータ読出し要求時に、光ディスクＤ上の該当アドレスのデータを転送バッファ領域ＴＺを介してホストコンピュータ３１に転送する読出し要求手段７７及び読出し処理手段９７を設けるようにしているため、以下のような効果を奏することになる。
【０３９５】
光ディスクＤ上の予め決定された所定アドレス以外のデータの読出し要求があった場合、再生手段を通じて再生されたＲＯＭデータＤｒが読出し要求手段７７及び読出し処理手段９７を通じ、データバッファ２６における転送バッファ領域ＴＺを介してホストコンピュータ３１に転送される。次回以降、所定アドレス以外のデータをホストコンピュータ３１に転送する場合も、再生手段にて再生された上記アドレスのデータが読出し要求手段７７及び読出し処理手段９７を通じ、転送バッファ領域ＴＺを介してホストコンピュータ３１に転送される。即ち、転送バッファ領域ＴＺにおけるデータが順次上書きされながらホストコンピュータ３１へのデータ転送が行なわれる。
【０３９６】
一方、光ディスクＤ上の予め決定された所定アドレスのデータの読出し要求があった場合は、まず、初回要求時において、再生手段を通じて再生された上記アドレスのデータが拡張読出し要求手段７８及び拡張読出し処理手段９８を通じてデータバッファ２６における拡張メモリ領域ＥＺに蓄積され、更に拡張読出し要求手段７８及び拡張読出し処理手段９８を通じて上記拡張メモリ領域ＥＺに蓄積されているデータがホストコンピュータ３１に転送されることになる。
【０３９７】
次回以降、所定アドレスのデータをホストコンピュータ３１に転送する場合においては、拡張メモリ領域ＥＺに蓄積されているデータが今度は拡張転送要求手段８１及び拡張転送処理手段１０１を通じてそのままホストコンピュータ３１に転送されることになる。具体的に所定アドレスのデータをホストコンピュータ３１に転送する場合、いちいち再生手段を通じて光ディスクＤ上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域ＥＺに蓄積されているデータを直接ホストコンピュータ３１に転送させることができることになる。即ち、交替処理が実現できることになる。これは、データアクセス時間の大幅な短縮化につながる。
【０３９８】
また、上記構成において、ホストコンピュータ３１からのブロック転送要求に基づいて、転送バッファ領域ＴＺに一時的に保持されているデータを拡張メモリ領域ＥＺに転送するブロック転送要求手段７９及びブロック転送処理手段９９を設けた場合においては、例えば後発的に決定された光ディスクＤ上の第２の所定アドレスのデータが読出し要求手段７７及び読出し処理手段９７を通じて転送バッファ領域ＴＺに蓄積された際に、ホストコンピュータ３１からのブロック転送要求に基づいて、上記転送バッファ領域ＴＺ内のデータがブロック転送要求手段７９及びブロック転送処理手段９９を通じて拡張メモリ領域ＥＺに転送されることになる。
【０３９９】
これは、後発的に読出し頻度の高いアドレスが判明した場合に有効となる。即ち、読出し頻度の高いアドレスは、最初から判明している場合と、再生装置の使用経過によって、後発的に判明する場合がある。本実施例は、この後発的に判明した読出し頻度の高いアドレスのデータが読出し要求手段７７及び読出し処理手段９７を通じて転送バッファ領域ＴＺに蓄積された際に、ブロック転送要求手段７９及びブロック転送処理手段９９を通じて拡張メモリ領域ＥＺに転送蓄積させることが可能となり、次回以降、上記後発的に判明した読出し頻度の高いアドレスのデータを転送する際には、光ディスクＤからではなく拡張メモリ領域ＥＺに蓄積されているデータをホストコンピュータ３１に転送できることになる。その結果、再生装置とホストコンピュータ３１間のデータ転送を更に効率よく行なわせることができる。
【０４００】
また、このブロック転送要求においては、その要求コマンドとして、光ディスクＤ上のアドレスと相対セクタを有するようにしているため、転送バッファ領域ＴＺに蓄積されているデータのうち、ホストコンピュータ３１において、頻繁に使用される例えば係数データや演算用パラメータ等のデータのみを選択することが可能となり、更にこれらのデータをコマンドにて決定された所定の拡張メモリ領域ＥＺに蓄積させることが可能となる。
【０４０１】
また、上記構成において、ホストコンピュータ３１からのデータ書込み要求に基づいて、ホストコンピュータ３１から転送されたデータを拡張メモリ領域ＥＺに書き込む拡張書込み要求手段８０及び拡張書込み処理手段１００を設けるようにしているため、ホストコンピュータ３１からのデータ書込み要求に基づいて、拡張書込み要求手段８０及び拡張書込み処理手段１００を通じてホストコンピュータ３１から転送されたデータをこの拡張メモリ領域ＥＺに蓄積させることが可能となる。この場合、ホストコンピュータ３１が所有するメモリの容量が不足する場合に、この拡張メモリ領域ＥＺをホストコンピュータの外部記憶装置として利用することが可能となる。
【０４０２】
また、上記構成において、ホストコンピュータ３１からの予約解除要求に基づいて、上記予約要求手段７６及び予約処理手段９６によるデータバッファ２６に対しての転送バッファ領域ＴＺと拡張メモリ領域ＥＺとの論理的割り付けを解除して、要求対象の拡張メモリ領域ＥＺを転送バッファ領域ＴＺとする予約解除処理手段１０２を設けるようにしたので、以下の場合に有効になる。
【０４０３】
即ち、頻繁にデータアクセスを行なう必要がない固定データが記録された光ディスク（例えば、光ディスクに記録されているデータがシーケンシャルファイル形式である場合など）に対するアクセスにおいて、予約解除処理手段１０２によって当該要求に係る拡張メモリ領域ＥＺを転送バッファ領域ＴＺとすることにより、１回のデータ転送サイズを大きくすることができ、上記のような光ディスクＤに対するアクセス時間を効率よく短縮することができる。
【０４０４】
上記実施例においては、データバッファ２６をＤＲＡＭやＳＲＡＭの揮発性半導体メモリにて構成するようにしたが、以下の構成を採用することも可能である。即ち、データバッファ２６のうち、予め拡張メモリ領域ＥＺとなる記憶領域を決定（仕様設計段階等で決定させる）させておき、そのうち、転送バッファ領域ＴＺとなる部分を揮発性半導体メモリ（揮発性ＲＡＭ）にて構成し、拡張メモリ領域ＥＺとなる部分をフラッシュメモリやＥＥＰＲＯＭ等の不揮発性半導体メモリ（不揮発性ＲＡＭ）にて構成する。
【０４０５】
そして、Ｉ／Ｆコントローラ２５に、転送バッファ領域ＴＺ（揮発性ＲＡＭ）に対するアクセスを制御する第１のメモリコントローラと、拡張メモリ領域（不揮発性ＲＡＭ）に対するアクセスを制御する第２のメモリコントローラを設けて、システムコントローラ２９からの要求に応じて各メモリコントローラへの活性化を制御するようにしてもよい。
【０４０６】
この場合、再生装置においてプログラム動作によって作成されたデータ、例えば次に読出す論理アドレスや各種パラメータ並びにホストコンピュータ３１においてプログラム動作によって作成されたデータ、例えば後発的に判明した読出し頻度の高いアドレスや各種パラメータ等を拡張書込み要求手段８０及び拡張書込み処理手段１００を通じて拡張メモリ領域ＥＺに書き込むことにより、電源停止後や突然の電源断においても、上記データを保持することができ、その後のシステム保守を容易に行なうことが可能となる。
【０４０７】
上記実施例では、その光ディスクＤとしてＣＤ−ＲＯＭを主体に説明したが、その他、再生専用の相変化形光ディスクや光磁気ディスクに応用することが可能である。各光ディスクＤに対応させるためには、それぞれのフォーマットに合った演算回路を復調回路内に組み込むだけでよく、後の構成は図１で示すものと同じでよい。即ち、復調回路２２からは、光ディスクＤがいずれの場合も同じデータ形態で出力されるものであり、データバッファ２６へのアクセスにおいては、光ディスクＤの種類を気にしないで行なうことができるからである。
【０４０８】
【発明の効果】
上述のように、本発明に係る再生装置によれば、円盤状記録媒体が装着され、該装着された円盤状記録媒体を回転駆動する回転駆動手段と、上記円盤状記録媒体に対して情報データの再生を行なう再生手段と、少なくとも上記回転駆動手段と上記再生手段を制御する制御手段と、上記再生手段を通じて再生された情報データを一時的に保持する記憶手段と、上記記憶手段に記憶された情報データを上記制御手段からの読出し要求に従って外部装置に転送するインターフェース手段とを有する再生装置において、上記記憶装置の記憶領域を、データ転送元が円盤状記録媒体である転送バッファ領域と、データ転送元が任意であり、かつデータ保持部分に対するデータ置換が禁止された拡張メモリ領域に割り付けるようにしたので、円盤状記録媒体上の読出し頻度の高いアドレスのデータを拡張メモリ領域に蓄積させ、それ以外のアドレスのデータを転送バッファ領域に一時的に蓄積させるようにすることができ、その結果、読出し頻度の高いアドレスのデータを外部装置に転送する場合、いちいち再生手段を通じて円盤状記録媒体上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域に蓄積されているデータを直接外部装置に転送させることができることになる。
【０４０９】
これにより、再生装置に対するデータアクセス時間が再生装置の平均アクセス時間に依存するということがなくなり、該平均アクセス時間以上の性能を疑似的に発揮させることが可能となる。
【０４１０】
従って、本発明に係る再生装置においては、データ転送効率の向上を図るために組み込まれた記憶手段（例えば半導体メモリ）の効果を十分に発揮させることができ、円盤状記録媒体上のデータを効率よく外部装置に転送させることができるようになる。
【０４１１】
また、拡張メモリ領域のデータ転送元が任意であることから、外部装置から転送されたデータもこの拡張メモリ領域に蓄積させることが可能となる。この場合、外部装置が所有するメモリの容量が不足する場合に、この拡張メモリ領域を外部装置の外部記憶装置として利用することが可能となる。
【０４１２】
また、本発明に係る再生装置によれば、上記構成において、上記外部装置からの拡張メモリ予約要求に基づいて、上記記憶手段の記憶領域を上記転送バッファ領域と上記拡張メモリ領域に論理的に割り付ける拡張メモリ予約手段を設けるようにしたので、記憶手段の記憶領域を、データ転送元が円盤状記録媒体のみである転送バッファ領域として使用するだけでなく、その一部の領域を、データ転送元が任意である拡張メモリ領域として使用したい場合に、外部装置からの拡張メモリ予約要求を与えるだけで実現できることになるため、再生装置に内蔵された記憶手段（半導体メモリ）を十分に活用させることができ、該記憶手段による効果を十分に発揮させることができる。
【０４１３】
また、本発明に係る再生装置によれば、上記構成において、上記円盤状記録媒体上における予め決定された所定アドレスに対するデータ読出し要求時に、初回要求時のみ上記円盤状記録媒体上の該当アドレスのデータを上記拡張メモリ領域を介して上記外部装置に転送し、２回目以降の読出し要求時に、上記拡張メモリ領域に保持されているデータを上記外部装置に転送する第１の転送手段と、上記円盤状記録媒体上における上記所定アドレス以外のデータ読出し要求時に、上記円盤状記録媒体上の該当アドレスのデータを上記転送バッファ領域を介して上記外部装置に転送する第２の転送手段とを設けるようにしたので、所定アドレスのデータを外部装置に転送する場合、いちいち再生手段を通じて円盤状記録媒体上の該当アドレスからデータを読み出すという必要がなくなり、拡張メモリ領域に蓄積されているデータを直接外部装置に転送させることができることになる。
【０４１４】
また、本発明に係る再生装置は、上記構成において、上記外部装置からの領域間転送要求に基づいて、上記転送バッファ領域に一時的に保持されているデータを拡張メモリ領域に転送する第３の転送手段を設けるようにしたので、後発的に読出し頻度の高いアドレスが判明した場合に有効となる。即ち、読出し頻度の高いアドレスは、最初から判明している場合と、再生装置の使用経過によって、後発的に判明する場合がある。本発明は、この後発的に判明した読出し頻度の高いアドレスのデータが第２の転送手段を通じて転送バッファ領域に蓄積された際に、第３の転送手段を通じて拡張メモリ領域に転送蓄積させることが可能となり、次回以降、上記後発的に判明した読出し頻度の高いアドレスのデータを転送する際には、円盤状記録媒体からではなく拡張メモリ領域に蓄積されているデータを外部装置に転送できることになる。その結果、再生装置と外部装置間のデータ転送を更に効率よく行なわせることができる。
【０４１５】
また、本発明に係る再生装置によれば、上記構成において、上記外部装置からのデータ書込み要求に基づいて、上記外部装置から転送されたデータを上記拡張メモリ領域に書き込むデータ書込み手段を設けるようにしたので、外部装置からのデータ書込み要求に基づいて、データ書込み手段を通じて外部装置から転送されたデータをこの拡張メモリ領域に蓄積させることが可能となり、外部装置が所有するメモリの容量が不足する場合に、この拡張メモリ領域を外部装置の外部記憶装置として利用することが可能となる。
【０４１６】
また、本発明に係る再生装置は、上記構成において、上記外部装置からの予約解除要求に基づいて、上記拡張メモリ予約手段による上記記憶手段に対しての上記転送バッファ領域と上記拡張メモリ領域との論理的割り付けを解除して、上記記憶手段の記憶領域全体又は当該要求に係る拡張メモリ領域を転送バッファ領域とする予約解除手段を設けるようにしたので、頻繁にデータアクセスを行なう必要がない固定データが記録された円盤状記録媒体（例えば、円盤状記録媒体に記録されているデータがシーケンシャルファイル形式である場合など）に対するアクセスにおいて、上記予約解除手段によって記録領域全体又は当該要求に係る拡張メモリ領域を転送バッファ領域とすることにより、１回のデータ転送サイズを大きくすることができ、上記のような円盤状記録媒体に対するアクセス時間を効率よく短縮することができる。
【０４１７】
また、本発明に係る再生装置は、上記構成において、上記記憶手段のうち、上記拡張メモリ領域を不揮発性の半導体メモリにて構成するようにしたので、再生装置においてプログラム動作によって作成されたデータ、例えば次に読出すアドレスや各種パラメータ並びに外部装置においてプログラム動作によって作成されたデータ、例えば後発的に判明した読出し頻度の高いアドレスや各種パラメータ等をデータ書込み手段を通じて拡張メモリ領域に書き込むことにより、電源停止後においても上記データを保持することができ、その後のシステム保守を容易に行なうことが可能となる。
【図面の簡単な説明】
【図１】本発明に係る再生装置を、ホストコンピュータの外部記憶装置として再生専用の光ディスク（ＣＤ−ＲＯＭ）を記録媒体とするＣＤ−ＲＯＭドライブ装置に適用した実施例（以下、単に実施例に係る再生装置と記す）を示す構成図である。
【図２】本実施例に係る再生装置において、データバッファへの拡張メモリ領域の論理的割り付け例を示す説明図である。
【図３】Ｉ／Ｆコントローラのハード構成を示すブロック図である。
【図４】Ｉ／Ｆコントローラにおけるデータ転送処理手段を示す機能ブロック図である。
【図５】Ｉ／Ｆコントローラにおけるデータ転送処理手段の動作を示すフローチャートである。
【図６】Ｉ／Ｆコントローラにおける各種要求処理手段の動作を示すフローチャートである。
【図７】システムコントローラのハード構成を示すブロック図である。
【図８】システムコントローラにおけるコマンド処理手段を示す機能ブロック図である。
【図９】システムコントローラにおけるコマンド処理手段の動作を示すフローチャートである。
【図１０】システムコントローラにおける各種要求処理手段の動作を示すフローチャートである。
【図１１】Ｉ／Ｆコントローラにおける予約要求手段を示す機能ブロック図である。
【図１２】Ｉ／Ｆコントローラにおける予約要求手段の動作を示すフローチャートである。
【図１３】システムコントローラにおける予約処理手段を示す機能ブロック図である。
【図１４】システムコントローラにおける予約処理手段の動作を示すフローチャートである。
【図１５】システムコントローラの予約処理手段内における拡張情報テーブル作成手段の動作を示すフローチャートである。
【図１６】システムコントローラの予約処理手段内における転送情報テーブル作成手段の動作を示すフローチャート（その１）である。
【図１７】システムコントローラの予約処理手段内における転送情報テーブル作成手段の動作を示すフローチャート（その２）である。
【図１８】Ｉ／Ｆコントローラにおける読出し要求手段を示す機能ブロック図である。
【図１９】Ｉ／Ｆコントローラにおける読出し要求手段の動作を示すフローチャートである。
【図２０】Ｉ／Ｆコントローラの読出し要求手段内における蓄積要求手段の動作を示すフローチャートである。
【図２１】Ｉ／Ｆコントローラの読出し要求手段内における転送要求手段の動作を示すフローチャートである。
【図２２】システムコントローラにおける読出し処理手段を示す機能ブロック図である。
【図２３】システムコントローラにおける読出し処理手段の動作を示すフローチャート（その１）である。
【図２４】システムコントローラにおける読出し処理手段の動作を示すフローチャート（その２）である。
【図２５】システムコントローラの読出し処理手段内における論理アドレス決定処理手段の動作を示すフローチャートである。
【図２６】システムコントローラの読出し処理手段内における転送格納テーブル作成手段の動作を示すフローチャートである。
【図２７】システムコントローラの読出し処理手段内におけるＥＯＦコード格納処理手段の動作を示すフローチャートである。
【図２８】Ｉ／Ｆコントローラにおける拡張読出し要求手段を示す機能ブロック図である。
【図２９】Ｉ／Ｆコントローラにおける拡張読出し要求手段の動作を示すフローチャートである。
【図３０】Ｉ／Ｆコントローラの拡張読出し要求手段内における蓄積要求手段の動作を示すフローチャートである。
【図３１】Ｉ／Ｆコントローラの拡張読出し要求手段内における転送要求手段の動作を示すフローチャートである。
【図３２】システムコントローラにおける拡張読出し処理手段を示す機能ブロック図である。
【図３３】システムコントローラにおける拡張読出し処理手段の動作を示すフローチャート（その１）である。
【図３４】システムコントローラにおける拡張読出し処理手段の動作を示すフローチャート（その２）である。
【図３５】システムコントローラの拡張読出し処理手段内における拡張情報テーブル検索手段の動作を示すフローチャートである。
【図３６】Ｉ／Ｆコントローラにおけるブロック転送要求手段を示す機能ブロック図である。
【図３７】Ｉ／Ｆコントローラにおけるブロック転送要求手段の動作を示すフローチャートである。
【図３８】システムコントローラにおけるブロック転送処理手段を示す機能ブロック図である。
【図３９】システムコントローラにおけるブロック転送処理手段の動作を示すフローチャートである。
【図４０】システムコントローラのブロック転送処理手段内における拡張情報テーブル検索手段の動作を示すフローチャートである。
【図４１】システムコントローラのブロック転送処理手段内における転送格納テーブル検索手段の動作を示すフローチャートである。
【図４２】Ｉ／Ｆコントローラにおける拡張書込み要求手段を示す機能ブロック図である。
【図４３】Ｉ／Ｆコントローラにおける拡張書込み要求手段の動作を示すフローチャートである。
【図４４】システムコントローラにおける拡張書込み処理手段を示す機能ブロック図である。
【図４５】システムコントローラにおける拡張書込み処理手段の動作を示すフローチャートである。
【図４６】システムコントローラの拡張書込み処理手段内における拡張情報テーブル検索手段の動作を示すフローチャートである。
【図４７】Ｉ／Ｆコントローラにおける拡張転送要求手段を示す機能ブロック図である。
【図４８】Ｉ／Ｆコントローラにおける拡張転送要求手段の動作を示すフローチャートである。
【図４９】システムコントローラにおける拡張転送処理手段を示す機能ブロック図である。
【図５０】システムコントローラにおける拡張転送処理手段の動作を示すフローチャートである。
【図５１】システムコントローラにおける予約解除処理手段を示す機能ブロック図である。
【図５２】システムコントローラにおける予約解除処理手段の動作を示すフローチャートである。
【図５３】システムコントローラの予約解除処理手段内における拡張格納テーブル処理手段の動作を示すフローチャートである。
【図５４】拡張情報テーブル，転送情報テーブルの各レコードの構成及び情報フラグのビット構成を示す説明図である。
【図５５】拡張格納テーブル及び転送格納テーブルの各レコードの構成を示す説明図である。
【符号の説明】
Ｄ  光ディスク
２  スピンドルモータ
３  光ピックアップ
４  信号処理系
７  光ピックアップ用スライド機構
８  対物レンズ
９  二次元アクチュエータ
１０  ＡＰＣ回路
２１  ＲＦアンプ部
２２  復調回路
２３  Ｄ／Ａ変換器
２４  デコーダ
２５  Ｉ／Ｆコントローラ
２６  データバッファ
２７  サーボ制御部
２８  メカニズムコントローラ
２９  システムコントローラ
３１  ホストコンピュータ
ＴＺ  転送バッファ領域
ＥＺ  拡張メモリ領域
５６，６６  ＣＰＵ
５３，６３  データＲＡＭ
５４，６４  入力ポート
５５，６５  出力ポート
７１  データ転送処理手段
７５  各種要求処理手段
７６  予約要求手段
７７  読出し要求手段
７８  拡張読出し要求手段
７９  ブロック転送要求手段
８０  拡張書込み要求手段
８１  拡張転送要求手段
８２  コマンド出力手段
９１  コマンド処理手段
９５  各種要求処理手段
９６  予約処理手段
９７  読出し処理手段
９８  拡張読出し処理手段
９９  ブロック転送処理手段
１００  拡張書込み処理手段
１０１  拡張転送処理手段
１０２  予約解除処理手段
【図１】
0003687115.tif 000002
【図２】
0003687115.tif 000003
【図３】
0003687115.tif 000004
【図４】
0003687115.tif 000005
【図５】
0003687115.tif 000006
【図６】
0003687115.tif 000007
【図７】
0003687115.tif 000008
【図８】
0003687115.tif 000009
【図９】
0003687115.tif 000010
【図１０】
0003687115.tif 000011
【図１１】
0003687115.tif 000012
【図１２】
0003687115.tif 000013
【図１３】
0003687115.tif 000014
【図１４】
0003687115.tif 000015
【図１５】
0003687115.tif 000016
【図１６】
0003687115.tif 000017
【図１７】
0003687115.tif 000018
【図１８】
0003687115.tif 000019
【図１９】
0003687115.tif 000020
【図２０】
0003687115.tif 000021
【図２１】
0003687115.tif 000022
【図２２】
0003687115.tif 000023
【図２３】
0003687115.tif 000024
【図２４】
0003687115.tif 000025
【図２５】
0003687115.tif 000026
【図２６】
0003687115.tif 000027
【図２７】
0003687115.tif 000028
【図２８】
0003687115.tif 000029
【図２９】
0003687115.tif 000030
【図３０】
0003687115.tif 000031
【図３１】
0003687115.tif 000032
【図３２】
0003687115.tif 000033
【図３３】
0003687115.tif 000034
【図３４】
0003687115.tif 000035
【図３５】
0003687115.tif 000036
【図３６】
0003687115.tif 000037
【図３７】
0003687115.tif 000038
【図３８】
0003687115.tif 000039
【図３９】
0003687115.tif 000040
【図４０】
0003687115.tif 000041
【図４１】
0003687115.tif 000042
【図４２】
0003687115.tif 000043
【図４３】
0003687115.tif 000044
【図４４】
0003687115.tif 000045
【図４５】
0003687115.tif 000046
【図４６】
0003687115.tif 000047
【図４７】
0003687115.tif 000048
【図４８】
0003687115.tif 000049
【図４９】
0003687115.tif 000050
【図５０】
0003687115.tif 000051
【図５１】
0003687115.tif 000052
【図５２】
0003687115.tif 000053
【図５３】
0003687115.tif 000054
【図５４】
0003687115.tif 000055
【図５５】
0003687115.tif 000056