(57)【特許請求の範囲】
【請求項１】
データの集まりから成る複数のデータブロックが同期信号をそれぞれ伴なって記録されている記録媒体ディスクからデータを読み出すように構成されたディスク記憶装置と、
前記ディスク記憶装置から読み出した複数のデータブロックを一時的に記憶する容量を有し且つ前記ディスク記憶装置のアクセス時間よりも短いアクセス時間を有しているバッファメモリと、
ホスト装置から供給されたコマンドに従って所望データブロックを前記バッファメモリから前記ホスト装置にＤＭＡ転送するためのＤＭＡコントロ−ラとを有するデ−タ記憶装置において、
前記バッファメモリに格納されたデータブロックの識別信号とこのデータブロックが格納されている前記バッファメモリのアドレスとの関係を示す情報、及び前記データブロック又は前記識別信号のエラーを示すエラー情報を格納するための管理メモリと、
前記ディスク記憶装置の出力から前記同期信号を検出する同期信号検出回路と、
ＣＰＵ（中央処理装置）を有し、このＣＰＵを使用して、前記ディスクのデータブロックを先読して前記バッファメモリに格納するための第１の処理と、前記ホスト装置から供給されたリードアクセスコマンドを解読して前記ホスト装置によって要求されたデータブロックを前記バッファメモリから前記ホスト装置に前記ＣＰＵを介さずに直接に転送するための第２の処理と、前記同期信号検出回路で検出された同期信号に応答して前記ディスクから読み出したデータブロックの識別信号とこのデータブロックが格納された前記バッファメモリのアドレスとの関係を示す情報及び前記エラー情報を作成して前記管理メモリに格納するための第３の処理とを実行するように形成され、且つ前記バッファメモリから前記ホスト装置にデータを転送していない期間の少なくとも一部において前記第３の処理を禁止し、前記バッファメモリから前記ホスト装置にデータを転送している期間において前記第３の処理を許可するように形成されている制御手段と
を備えたデータ記憶装置。
【請求項２】
前記バッファメモリから前記ホスト装置へのデータブロックの転送は、ＳＣＳＩ規格のインタフェースに従って少なくともバスフリー・フェーズ区間とセレクション・フェーズ区間とコマンド・フェーズ区間とデータ・フェーズ区間とステータス・フェーズ区間とメッセージ・フェーズ区間とを有して行うものであり、
前記セレクション・フェーズ区間と前記コマンド・フェーズ区間内のコマンドが転送されていない区間と前記データ・フェーズ区間内のデータが転送されていない区間と前記ステータス・フェーズ区間内のステータスが転送されていない区間と前記メッセージ・フェーズ区間内のメッセージが転送されていない区間との内の少なくとも１つの区間で前記第３の処理を禁止し、前記バスフリ−・フェ−ズ区間と前記コマンド・フェーズ区間内のコマンドが転送されている区間と前記データ・フェーズ区間内のデータが転送されている区間と前記ステータス・フェーズ区間内のステータスが転送されている区間と前記メッセージ・フェーズ区間内のメッセージが転送されている区間との内の少なくとも１つの区間で前記第３の処理を許可するように前記制御手段が構成されていることを特徴とする請求項１記載のデータ記憶装置。
【請求項３】
１つの前記データ・フェーズ区間に複数のデータブロックを転送することが可能であり、前記バスフリ−・フエ−ズ区間と前記コマンド・フェース区間内のコマンドが転送されている区間と前記データ・フェーズ区間内のデータが転送されている区間と前記ステータス・フェーズ区間内のステータスが転送されている区間と前記メッセージ・フェーズ区間内のメッセージが転送されている区間の全部で前記第３の処理が許可され、その他の区間の全部で前記第３の処理が禁止されることを特徴とする請求項２記載のデータ処理装置。
【請求項４】
更に、前記第３の処理が禁止されている区間中における前記同期信号の発生回数を計数する割込み処理待回数計数手段と、規定回数を示す信号を発生する規定回数設定手段と、前記割込み処理待回数計数手段の出力と前記規定回数設定手段から発生した規定回数を示す信号とを比較して前記割込み処理待回数計数手段の出力が前記規定回数以上を示している時に前記第３の処理の禁止を解除するための指令を発生する比較手段とを有する請求項１記載のデータ記憶装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ディスク記憶装置とバッファメモリ即ちキャッシュメモリとを有するデータ記憶装置に関する。
【０００２】
【従来の技術】
代表的なＣＤ−ＲＯＭ駆動装置はキャッシュメモリを有する。キャッシュメモリにディスクから読み取られたデータブロックを予め格納即ち蓄積しておくと、アクセス時間の短縮が可能になる。
キャッシュメモリを設ける場合には、キャッシュメモリとここに格納されたデータとの関係を示す情報を格納するための管理メモリが必要になる。管理メモリはキャッシュメモリのアドレス又はエリアに対応するアドレス又はエリアを有し、キャッシュメモリのアドレスとここに格納されたデータブロックとの関係、データブロックの誤りの有無等を示すステータス情報を保持している。従って、ホスト装置が任意の論理アドレスのデータブロックを要求した時に、ＣＤ−ＲＯＭ駆動装置は管理メモリに基づいて要求されたデータブロックがキャッシュメモリのどこに格納されているかを判断し、キャッシュメモリからホスト装置に要求されたデータブロックを転送する。
【０００３】
【発明が解決しようとする課題】
ところで、キャッシュメモリからホスト装置へデータブロックを転送するための処理、ディスクからキャッシュメモリにデータを転送し且つ管理メモリにデータを格納するための処理はＣＰＵ（中央処理装置）を含むマイクロコンピュータ又はマイクロプロセッサによって実行される。これ等の処理は１つのＣＰＵを交互に使用して行われる。従来の代表的な方法では、ＣＤ−ＲＯＭから同期信号を検出し、この同期信号が検出される毎にＣＰＵに割込み信号を与え、管理メモリに格納するための管理データの作成及び管理メモリに対する管理データの格納を行っている。ＣＰＵに管理データのための割込みがかかるとホスト装置の要求している処理の中断が生じ、結果としてキャッシュメモリを使用することによるアクセス時間の短縮効果が軽減することがあった。なお、ＣＤ−ＲＯＭ駆動装置は汎用の音楽用ＣＤ駆動装置の走査速度の２倍又は４倍で走査するように構成されている。４倍速度で駆動する場合には同期信号の間隔が３．３ｍsec となり、ひんぱんにＣＰＵに対して割込みが生じ、ホスト装置に対するデータ転送の遅れが大きくなる。
【０００４】
そこで、本発明の目的は、バッファメモリ用管理データの作成のためのＣＰＵに対する割込み処理によつてリードアクセス時間の遅れが生じることを防ぐことができるデータ記憶装置を提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するための本発明は、データの集まりから成る複数のデータブロックが同期信号をそれぞれ伴なって記録されている記録媒体ディスクからデータを読み出すように構成されたディスク記憶装置と、 前記ディスク記憶装置から読み出した複数のデータブロックを一時的に記憶する容量を有し且つ前記ディスク記憶装置のアクセス時間よりも短いアクセス時間を有しているバッファメモリと、ホスト装置から供給されたコマンドに従って所望データブロックを前記バッファメモリから前記ホスト装置にＤＭＡ転送するためのＤＭＡコントロ−ラとを有するデ−タ記憶装置において、前記バッファメモリに格納されたデータブロックの識別信号とこのデータブロックが格納されている前記バッファメモリのアドレスとの関係を示す情報、及び前記データブロック又は前記識別信号のエラーを示すエラー情報を格納するための管理メモリと、前記ディスク記憶装置の出力から前記同期信号を検出する同期信号検出回路と、ＣＰＵ（中央処理装置）を有し、このＣＰＵを使用して、前記ディスクのデータブロックを先読して前記バッファメモリに格納するための第１の処理と、前記ホスト装置から供給されたリードアクセスコマンドを解読して前記ホスト装置によって要求されたデータブロックを前記バッファメモリから前記ホスト装置に前記ＣＰＵを介さずに直接に転送するための第２の処理と、前記同期信号検出回路で検出された同期信号に応答して前記ディスクから読み出したデータブロックの識別信号とこのデータブロックが格納された前記バッファメモリのアドレスとの関係を示す情報及び前記エラー情報を作成して前記管理メモリに格納するための第３の処理とを実行するように形成され、且つ前記バッファメモリから前記ホスト装置にデータを転送していない期間の少なくとも一部において前記第３の処理を禁止し、前記バッファメモリから前記ホスト装置にデータを転送している期間において前記第３の処理を許可するように形成されている制御手段とを備えたデータ記憶装置に係わるものである。
なお、請求項２に示すようにＳＣＳＩ規格に従うデータ転送におけるバスフリ−・フェ−ズ区間、コマンド転送区間、データ転送区間、ステータス転送区間、メッセージ転送区間の内の少なくとも１つの区間に第３の処理を許可し、セレクション・フェーズ区間、コマンド・フェーズ区間中のコマンド非転送区間、データ・フェーズ区間内のデータ非転送区間、ステータス・フェーズ区間中のステータス非転送区間、メッセージ・フェーズ区間中のメッセージ非転送区間の内の少なくとも１つで第３の処理を禁止することができる。
また、請求項３に示すように、１つのデータ・フェーズ区間に複数のデータブロックを転送する場合には、請求項２で述べた禁止のための少なくとも１つの区間を全部の区間に変更することが望ましい。
また、請求項４に示すように、更に、前記第３の処理が禁止されている区間中における前記同期信号の発生回数を計数する割込み処理待回数計数手段と、規定回数を示す信号を発生する規定回数設定手段と、前記割込み処理待回数計数手段の出力と前記規定回数設定手段から発生した規定回数を示す信号とを比較して前記割込み処理待回数計数手段の出力が前記規定回数以上を示している時に前記第３の処理の禁止を解除するための指令を発生する比較手段とを有することが望ましい。
【０００６】
【発明の作用及び効果】
各請求項の発明によれば、ＣＰＵによる管理データのための第３の処理が制限される。従って、ホスト装置からのコマンドの処理即ちホスト装置へのデータ転送処理が第３の処理によって妨害される程度が低くなり、結果としてリードアクセス時間を短縮することができる。
【０００７】
【第１の実施例】
次に、図１〜図１０を参照して本発明の実施例に係わるデータ記憶装置を説明する。
図１はホスト装置１とこの外部記憶装置としてのデータ記憶装置２との組み合せを示す。ホスト装置１はＣＰＵ（中央処理装置）、ＲＡＭ（ランダム・アクセス・メモリ）、ＲＯＭ（リード・オンリ・メモリ）、キーボード、ディスプレイ、ＳＣＳＩアダプタ等を含む周知のホストコンピュータであり、データ記憶装置２に対して所望のデータを要求し、データ記憶装置２から読み出されたデータブロックをＲＡＭに格納するように構成されたものである。
【０００８】
データ記憶装置２はＣＤ−ＲＯＭ駆動装置３とバッファメモリ即ちキャッシュメモリ４と誤り検出訂正回路５と制御手段としてのマイコン（マイクロコンピュータ）６とＤＭＡＣ（Direct  Memory  Access  Controller）即ちＤＭＡコントローラ７とデータバス８とアドレスバス９と制御バス１０とＳＣＳＩ（Small  Computer  System  Interface）規格のインタフェース１１とから成り、ＳＣＳＩバス１８によってホスト装置１に接続されている。マイコン６はＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、管理メモリ１５、バス１６、及びバス制御回路１７とから成る。ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、管理メモリ１５、バス制御回路１７はバス１６で相互に接続されている。バス制御回路１７はデータバス８、アドレスバス９、制御バス１０にも接続されている。また、ＤＭＡコントローラ７もマイコンのバス１６に接続されている。
【０００９】
ＣＤ−ＲＯＭ駆動装置３は図２に示すように、光学ピットの配列によってディジタル信号即ちＰＣＭ信号から成る複数のデータブロックが渦巻状トラック形態に記録されたコンパクトディスク即ち記録媒体ディスク２１と、レーザビームをディスク２１に投射してピットを光学的に読み取る光学的読み取り装置としての光学ピックアップ２２と、ディスク２１をＣＬＶ走査するように回転するためのモータ２３と光学ピックアップ２２に接続された増幅器２４と、増幅器２４に接続された光学ピットを示す高周波（ＲＦ）信号検出回路２５と、このＲＦ信号検出回路２５に接続された同期信号検出回路２６と、この同期信号検出回路２６の出力段に設けられたＥＦＭ復調器を含む信号処理回路２７と、ピックアップ２２及びモータ２３を制御するためのディスク走査系制御回路２８とを有する。信号処理回路２７の出力ライン２７ａは図１の誤り検出訂正回路５に接続されている。信号処理回路２７に接続されたライン２７ｂは信号処理に必要な制御信号を図１のマイコン６から入力させるためにマイコン６のバス制御回路１７に接続されている。同期信号検出回路２６はディスク走査系制御回路２８に接続されていると共に、ライン２６ａを介して図１のバス制御回路１７に接続されている。図２のディスク走査系制御回路２８に接続されているライン２８ａはディスク走査系制御回路２８に図１のマイコン６から制御信号を与えるために図１のバス制御回路１７に接続されている。図２のＣＤ−ＲＯＭ駆動装置３はマイコン６からの指令に応答してディスク２１から光学的にデータを読み取って図１の誤り検出訂正回路５に送る周知のＣＤ−ＲＯＭプレーヤである。
【００１０】
図２のディスク２１には、例えば図３に示すフレーム構成でデータブロックが記録されている。ＣＤ−ＲＯＭにはモード０、モード１及びモード３と呼ばれている３種類のフレーム構成があるが、図３にはモード１のフレームが示されている。このモード１のフレームは１２バイトの同期信号区間Ｓと、４バイトのヘッダ区間Ｈと、２０４８バイトのデータブロック区間ＤＴと、２８８バイトの補助データ区間とから成る。ヘッダ区間Ｈは、分、秒、クロック番号（フレーム番号）が記録された３バイトのブロックアドレス区間ＢＡとフレームのモードを示す情報が記録された１バイトのモード区間Ｍとから成る。また、補助データ区間Ｅは例えばＣＲＣビットから成る４バイトのエラー検出信号区間Ｅ1 と８バイトのスペースＧと２７６バイトのエラー訂正信号区間Ｅ2 とから成る。なお、エラー訂正信号区間Ｅ2 はＰパリティ区間とＱパリティ区間とから成る。
【００１１】
図１のキャッシュメモリ４、誤り検出訂正回路５、ＤＭＡコントローラ７及びインタフェース１１はデータバス８、アドレスバス９及び制御バス１０にそれぞれ接続されている。従って、キャッシュメモリ４は誤り検出訂正回路５を介してＣＤ−ＲＯＭ駆動装置３に接続されていると共にインタフェース１１を介してホスト装置１に接続されていることになる。
【００１２】
キャッシュメモリ４はＣＤ−ＲＯＭ駆動装置３のアクセス時間よりも短いアクセス時間を有する半導体メモリから成る例えば６４キロバイトのＲＡＭであり、図４に模式的に示すように周知のリングバッファ形式に構成されている。即ち、キャッシュメモリ４は、図４に示すように例えば第１〜第２２のエリアＡ1 〜Ａ22を概念的にリング状に有する。エリアＡ1 〜Ａ22のそれぞれは１データブロック（例えば２３５２バイト）を格納することができる記憶容量を有する。各エリアＡ1 〜Ａ22は論理アドレス、ステータス、実（主）データサイズ等を格納する副フィールドと実データ（主データ）を格納する主フィールドとをそれぞれ有する。図４において、データブロックは、エリアＡ1 、Ａ2 、Ａ3 ・・・Ａ22の順序で書き込まれる。図４においてはエリアＡ15からエリアＡ22までの８個のエリアがデータブロック格納済のエリアとして示され、エリアＡ1 からエリアＡ14までの１４個のエリアがデータブロックが格納されていない空エリアとして示されている。なお、キャッシュメモリ４はこれに対するデータブロックの書き込みとこれとは異なるデ−タブロックの読み出しを同時に行うことができるように構成されている。また、キャッシュメモリ４はアドレスカウンタを含み、このアドレスカウンタはクロック信号によってインクリメントされ、オーバーフローしないように構成されている。従って、キャッシュメモリ４は循環アクセス可能なリングバッファメモリとして機能する。
【００１３】
管理メモリ１５は図５に示すようにキャッシュメモリ４と同様にＣＤ−ＲＯＭ駆動装置３よりもアクセス時間の短い半導体メモリによってリングバッファ形式に構成されたＲＡＭであり、キャッシュメモリ４のエリアＡ1 〜Ａ22に対応したエリアＢ1 〜Ｂ22を有する。管理メモリ１５のエリアＢ1 〜Ｂ22はキャッシュメモリ４のエリアＡ1 〜Ａ22の管理データを格納するように構成されているので、エリアＢ15からＢ22までが管理データ格納済エリアであり、エリアＢ1 〜Ｂ14が管理データ空エリアである。また、エリアＢ15が先頭格納済エリアであり、エリアＢ22が最終格納済エリアである。なお、ＣＰＵ１２による管理データの作成の遅れによってエリアＢ15〜Ｂ22のすべてに管理データを格納できないこともある。
【００１４】
管理メモリ１５に格納する管理データは例えば図６に示す時間及びブロック番号で示されているデータブロックの識別信号としてのブロックアドレスＢＡと、転送元アドレスと、管理メモリ１５の管理データのエラーの有無を示すエラー情報Ｘ3 、及び図６に示されていないデータブロックの連続の先頭のデータブロックか否かを示す情報（１Ｘ）と、キャッシュメモリ４におけるデータブロックの連続の最終データブロックであるか否かを示す情報（２Ｘ）と、誤り検出訂正回路５で訂正されたデータブロックであるか否かを示す情報（Ｘ２）である。上記の転送元アドレスとは、キュシュメモリ４におけるデ−タブロックが格納されている領域の先頭アドレスである。この実施例では１デ−タブロックのバイト数が２３５２であるので、転送元アドレスは例えば図６に示すように格納される。
なお、データブロックが格納されているキャッシュメモリ４のエリア番号を示す管理データを管理メモリ１５に格納することもできる。しかし、図４及び図５においては管理メモリ１５のエリアＢ1 〜Ｂ22をキャッシュメモリＡ1 〜Ａ22に対応させることによってキャッシュメモリ４のエリア番号の格納が省略されている。
【００１５】
図５及び図６ではエリアＢ15〜Ｂ22に第１〜第８のデータブロックに係わる管理データが格納済であり、エリアＢ1 〜Ｂ14には管理データが未格納とされている。しかし、図４においてキャッシュメモリ４のエリアＡ22までデータブロックが格納されているにも拘らず管理データ作成のためのＣＰＵ１２に対する割込みの遅れによってキャッシュメモリ４の例えばエリアＡ22の管理データが未作成であり、管理メモリ１５のエリアＢ22に全ての管理データを格納することができない場合も生じる。この場合にはエリアＢ22のための管理データを、割込み禁止が解除された後に作成し、エリアＢ22に格納する。
【００１６】
図１のインタフェース１１はＳＣＳＩ規格に従うものであるので、周知のバスフリー・フェーズ、セレクション・フェーズ、コマンド・フェーズ、データ・フェーズ（データ・アウト及びデータ・インフェーズ）、ステータス・フェーズ、メッセージ・フェーズ（メッセージ・アウト及びメッセージ・インフェーズ）を有してデータブロックを転送する。図７はコマンド・フェーズからメッセージ・インフェ−ズまでの制御バス１０の状態を示す。なお、制御バス１０はＣ／Ｄ（Control ／Data）信号、Ｉ／Ｏ（Input ／Output）信号及びＭＳＧ（Message ）信号を伝送する。各フェーズはＣ／Ｄ信号、Ｉ／Ｏ信号、ＭＳＧ信号の組み合せによって決定される。なお、制御バス１０は、上記の信号の他にＡＣＫ（Acknowlede）信号即ち応答信号、ＲＥＱ（Request ）信号即ち転送要求信号、ＢＳＹ（Busy）信号即ちバス使用状態信号、ＳＥＬ（Select）信号即ちターゲット選択信号、ＲＳＴ（Reset ）信号即ちリセット指示信号、リード制御信号、ライト制御信号等も伝送する。図７に記載されていないバスフリー・フェーズはバス使用状態信号ＢＳＹ及び選択信号ＳＥＬが偽であることによって判定される。また、セレクション・フェーズは選択信号ＳＥＬが真であることによって判定される。
【００１７】
ＤＭＡコントローラ７はアドレス発生回路、ＡＣＫ信号発生回路、リード／ライト制御信号発生回路等を含み、キャッシュメモリ４からホスト装置１に対するデータのＤＭＡ転送を司る。即ち、インタフェース１１からのＲＥＱ信号を受信した後にＡＣＫ信号を発生し、インタフェース１１にライト指令を与え、キャッシュメモリ４にリード指令を与える。
【００１８】
【動作】
図１のデータ記憶装置２の基本的動作をまず説明する。
ホスト装置１がデータ記憶装置２に対して所望のデータブロックを要求する。この際、一般には論理アドレスによって所望データブロックを特定する。データ記憶装置２はホスト装置１の要求即ちコマンドを解読し、ＣＤ−ＲＯＭ駆動装置３をシーク動作させ、光学ピックアップ２２を所望トラック位置に位置決めし、所望データブロックを含むフレームを読み取る。ＣＤ−ＲＯＭ駆動装置３から読み出されたデータブロックは誤り検出訂正回路５を通ってキャッシュメモリ４に一時格納された後にマイコン６とＤＭＡコントローラ７とによるＤＭＡ制御のもとに、インタフェース１１を介してホスト装置１に送られる。
【００１９】
ディスク２１からのデータブロックの読み出しは、先読み方法で実行される。即ち、ホスト装置１が要求したデータブロックの後に続くデータブロックはホスト装置１が次に要求する可能性が高いので、これを予め読み出してキャッシュメモリ４に格納する。これにより、ホスト装置１が次に要求したデータブロックがキャッシュメモリ４に既に格納されている場合には、アクセス時間の長いディスク２１からデータブロックを読み出さずにアクセス時間の短いキャッシュメモリ４からデータブロックを読み出してホスト装置１に転送することができ、アクセス時間の短縮を図ることができる。
【００２０】
マイコン６はディスク２１からデータブロックを読み出してキャッシュメモリ４に格納するための第１の処理と、ホスト装置１から供給されたリードアクセスコマンドを解読してホスト装置１によって要求されたデータブロックをキャッシュメモリ４からホスト装置１にＤＭＡ転送するための第２の処理と、図２の同期信号検出回路２６で検出された同期信号に応答して管理メモリ１５に格納するための管理データを作成するための第３の処理とを実行する。従来の方法では同期信号が検出されると第３の処理が優先的に実行された。この結果、第２の処理の遅れが生じる可能性があった。そこで、本発明に従う装置では従来の欠点を解決するために第３の処理に制限をつけている。図８は第３の処理の制限を説明するためのものである。第３の処理はマイコン６のＣＰＵ１２に対する割込みによって実行される。まず、同期信号検出回路２６から図８（Ａ）に示すように６．６ｍｓの周期で同期信号が発生したとすれば、ここに接続された割込み信号作成手段（図示せず）は同期信号に応答して図８（Ｂ）の割込み信号を発生し、これをＣＰＵ１２に供給する。ＣＰＵ１２はこれに応答して第３の処理（割込み処理）を実行するが、無条件には実行しないで図８（Ｅ）に示すように制限をつけて実行する。図８（Ｅ）においてｔ0 〜ｔ2 、ｔ4 〜ｔ5 、ｔ8 〜ｔ9 、ｔ11〜ｔ12、及びｔ14〜ｔ15の期間は第３の処理即ちＣＰＵの割込み処理の実行が許可されている期間であり、ｔ2 〜ｔ4 、ｔ5 〜ｔ8 、ｔ9 〜ｔ11、ｔ12〜ｔ14、及びｔ15〜ｔ16がＣＰＵの割込み処理の実行が禁止即ち制限されている期間である。このＣＰＵ割込み処理（第３の処理）の許可及び禁止は図８（Ｄ）のバス・フェーズ及び情報転送期間に依存して決定されている。
【００２１】
次に、ＣＰＵ割込み処理（第３の処理）とバス・フェーズとの関係を詳しく説明する。この実施例ではキャッシュメモリ４のデータブロックをホスト装置１にＳＣＳＩインタフェース１１を介してＤＭＡ転送する。ＳＣＳＩ規格に従うデータ転送は、図８（Ｄ）に示すようにｔ1 〜ｔ2 のバスフリー・フェーズとｔ2 〜ｔ3 のセレクション・フェーズとｔ3 〜ｔ6 のコマンド・フェーズとｔ6 〜ｔ10のデータ・フェーズとｔ10〜ｔ13のステータス・フェーズとｔ13〜ｔ16のメッセージ・フェーズとを順次に有して実行される。ＣＰＵ１２が管理データを処理するための割込み処理（第３の処理）は図８（Ｅ）から明らかなように、ｔ2 〜ｔ3 のセレクション・フェーズ区間、ｔ3 〜ｔ5 のコマンド・フェーズ区間内のｔ3 〜ｔ4 のコマンド転送待区間及びｔ5 〜ｔ6 の空区間、ｔ6 〜ｔ10のデータ・フェーズ区間内のｔ6 〜ｔ8 のデータ転送待区間及びｔ9 〜ｔ10の空区間、ｔ10〜ｔ12のステータス区間のｔ10〜ｔ11のステータス転送待区間及びｔ12〜ｔ13の空区間、ｔ13〜ｔ16のメッセージ・フェーズ区間内のｔ13〜ｔ14のメッセージ転送待区間及びｔ15〜ｔ16の空区間では禁止され、ｔ１〜ｔ2のバスフリ−・フェ−ズ区間、ｔ4 〜ｔ5 のコマンド転送区間、ｔ8 〜ｔ9 のデータ転送区間、ｔ11〜ｔ12のステータス転送区間、及びｔ14〜ｔ15のメッセージ転送区間では許可される。マイコン６は、選択信号ＳＥＬが真であることによってｔ2 〜ｔ3 のセレクション・フェーズを検出してｔ2 〜ｔ3 で割込み処理（第３の処理）を禁止し、また、ｔ3 〜ｔ6 のコマンド・フェーズ区間を図７に示すＣ／Ｄ＝１、Ｉ／Ｏ＝０、ＭＳＧ＝０の論理によって検出し、且つデータ転送開始を示す信号としての転送要求信号ＲＥＱをｔ4 時点で検出することによってｔ3 〜ｔ4 のコマンド待区間を検出して割込み処理（第３の処理）を禁止し、またｔ4 の転送要求信号ＲＥＱの検出とｔ5 のデータ転送終了を示す信号としての応答信号ＡＣＫの検出によってコマンド転送区間ｔ4 〜ｔ5 を検出し、割込み処理（第３の処理）を許可し、またコマンド転送終了によって応答信号ＡＣＫが発生してからデータ・フェーズまでの空区間ｔ5 〜ｔ6 を応答信号ＡＣＫとフェーズ転換とに基づいて検出し、このｔ5 〜ｔ6 区間で割込み処理（第３の処理）を禁止し、また、ｔ7 〜ｔ10のデータ・フェーズ区間を図７のデータ・フェーズ・インのＣ／Ｄ＝０、Ｉ／Ｏ＝１、ＭＳＧ＝０の論理によって検出し且つ転送要求信号ＲＥＱの発生をｔ8 で検出してｔ6 〜ｔ8 のデータ転送待区間を検出し、このｔ6 〜ｔ8 においても割込み処理を禁止し、ｔ8 で転送要求信号ＲＥＱ及びｔ9 での転送終了を示す応答信号ＡＣＫの検出に基づいてｔ8 〜ｔ9 のデータ転送区間を特定してこの区間では割込み処理を許可し、また、応答信号ＡＣＫが検出されたｔ9 から次のステータス・フェーズの開始時点ｔ10までのデータ転送空区間では割込み処理を禁止し、ｔ9 〜ｔ13のステータス・フェーズ区間を図７のＣ／Ｄ＝１、Ｉ／Ｏ＝１、ＭＳＧ＝０の論理によって検出すると共にステータス転送要求信号ＲＥＱが発生する時点ｔ11を検出してｔ10〜ｔ11のステータス待区間を検出し、この区間でも割込みを禁止し、ｔ11の転送要求信号ＲＥＱとｔ12の応答信号ＡＣＫの検出によってｔ11〜ｔ12のステータス転送区間を検出し、この区間では割込み処理を許可し、ｔ12の応答信号ＡＣＫの検出とｔ13のフェーズの転換とによって空区間ｔ12〜ｔ13を検出して割込み処理を禁止し、また、ｔ13〜ｔ16のメッセージ・フェーズ区間を図７のメッセージ・フェーズ・インのＣ／Ｄ＝１、Ｉ／Ｏ＝１、ＭＳＧ＝１の論理によって検出すると共にｔ14のメッセージ転送要求信号ＲＥＱの検出によってｔ13〜ｔ14のメッセージ転送待区間を検出して割込み処理を禁止し、ｔ14のメッセージ転送要求信号ＲＥＱの検出とｔ15のメッセージ転送終了を示す応答信号ＡＣＫの検出によってｔ14〜ｔ15のメッセージ転送区間を検出し、この区間では割込みを許可し、またｔ15の応答信号ＡＣＫの検出時点からメッセージ・フェーズの終了時点ｔ16までは割込みを禁止し、ｔ16からは割込処理を許可する。図８（Ｅ）の各割込み禁止区間の時間長は図８（Ａ）の同期信号の１周期以下である。
上述のように割込み禁止区間を設けると、例えば図８のｔ7 の同期信号に応答して割込み信号が発生しても、ｔ5 〜ｔ8 の禁止信号によって割込みが抑制され、ｔ7 よりも遅れたｔ8 で許可される。従って、キャッシュメモリ４からホスト装置１へのデータ転送のための処理（第２の処理）を先読みの管理データの作成のための処理（第３の処理）に妨害されずに迅速に進めることができる。この結果、平均的に見てアクセス時間の短縮を図ることができる。
【００２２】
次に、ディスク２１からキャッシュメモリ４にデータブロックを転送し且つ管理メモリ１５に管理データを格納する動作の流れを図９を参照して説明する。
マイコン６はディスク２１からデータブロックを読み出すための指令を受け、図９のステップ３０でデータブロック読み取りのためのプログラムをスタートさせる。次にステップ３１においてデータブロックをキャッシュメモリ４に対して格納し、またヘッダ情報（ブロックアドレス）、転送元アドレス、及びステータス等を管理メモリ１５に格納する。
次に、ステップ３２において、管理メモリ１５の管理データ格納エリアのポインタ即ち格納位置を更新する。
【００２３】
次に、ステップ３３でデータエラーの有無を判断する。即ち、誤り検出訂正回路５において図３のエラー検出信号Ｅ1 に基づいて再生データのエラーの有無を検出し、エラー訂正信号Ｅ2 によって訂正可能なものを訂正し、訂正不可能なデータブロックの有無を判断する。ステップ３３で訂正不可能なエラーが検出された時にはステップ３４でエラーを示す信号（エラーコード）の作成等のエラー処理をし、ステップ３５でキャッシュメモリ４に対するデータブロックの格納を停止する。
【００２４】
ステップ３３で訂正不可能なデータエラーが検出されなかった時には、ステップ３６に進み、キャッシュメモリ４が満杯か否かが判断される。キャッシュメモリ４が満杯の時にはステップ３７においてキャッシュメモリ４に対するデータブロックの格納を停止する。
【００２５】
ステップ３６でキャッシュメモリ４が満杯でないことが検出された時には、ステップ３８でキャッシュメモリ４が空になりそうか否かを判定する。即ち、ステップ３８ではキャッシュメモリ４におけるデータブロックの格納量が所定値以下か否かが判断される。このステップ３８でキャッシュメモリ４のデータブロックの格納量が所定値よりも多いことを示すＮＯの出力が得られた時には、ステップ３９に進んで図８（Ｅ）に示すＣＰＵ１２に対する管理データの処理（第３の処理）のための割込みが禁止されている区間であるか否かを判断する。ステップ３９において禁止されていない区間を示すＮＯの出力の場合にはステップ４０に進んで管理データのための処理（第３の処理）の割込みをＣＰＵ１２にかけ、管理データのための処理を実行する。ステップ３９において割込みが禁止されていることを示すＹＥＳの出力が得られた時にはステップ４１で割込み待ちを示すフラグをセットする。
【００２６】
なお、ステップ３８でキャッシュメモリ４のデータブロックの格納量が所定量以下であると判断されてＹＥＳの出力が得られた時にはステップ３９を介さずに直ちにステップ４０の割込み処理に移る。即ち、割込み処理の禁止により管理データの作成が遅れて既にキャッシュメモリ４に読み込まれているにもかかわらずデータ転送できない状態のデータブロックが増加することによってキャッシュメモリ４が論理的に空になりそうな時には、図８（Ｅ）の禁止区間を無視して管理データのための処理（第３の処理）をＣＰＵ１２で実行する。この第３の処理を優先的に実行すると、キャッシュメモリ４に未転送のまま蓄積されたデータブロックを転送して次のデータブロックの管理データの処理が可能になり、キャッシュメモリ４に次のデータブロックを格納することができる。これにより、キャッシュメモリ４に適当量の先読みデータブロックを格納することができ、アクセス時間の短縮効果を確保することができる。図９において、ステップ３５、３７、４０、４１の後はステップ４２の終了となる。
【００２７】
図１０及び図１１は図９のステップ４０を詳しく説明したフローチャートである。図９のステップ４０の管理データのための割込み処理（第３の処理）は、管理メモリ１５に格納されたデータ又はＣＰＵ１２のレジスタで保持しているデータ等に基づいて実行される。まず、図１０のステップ５１において管理メモリ１５の値が有効か否かが判断される。有効と判断された場合には次のステップ５２において分、秒、ブロック番号で示すブロックアドレスが正常か否かが判断される。即ち、ディスク２１に記録されているデータブロック即ちフレームのためのブロックアドレスか又はこれ以外のブロックアドレスかによってブロックアドレスが適正のものか否かを判断する。ステップ５２から正常の出力が得られた時には次のステップ５３で目的とするデータブロックか否かが判断される。即ち、ホスト装置１で要求されたデータブロックと同一又はこの近傍のデータブロックであるか否かによって目的ブロック又は適切な先読みデータブロックであるか否かを判断する。ステップ５１、５２、５３において否定の出力即ちＮＯの出力が得られた時には図１０のラインＬ1 と図１１のラインＬ1 とを通って図１１のステップ５４に移り、エラー情報Ｘ３を作成して管理メモリ１５のステータスの欄に格納する。
【００２８】
ステップ５３で目的とするデータブロックであると判断された時には、次のステップ５５で訂正可能なエラーか否かが判断される。即ち、ステップ５５ではステップ５２のブロックアドレス等の管理データが訂正可能か否かが判断される。訂正可能な場合は訂正して次のステップ５６に移る。ＣＤ−ＲＯＭのフォーマットが正常か否かが判断される。ＣＤ−ＲＯＭの場合、図３に示すモード１のフォーマットの他に、モード０、及びモード２の信号フォーマットがあり、またＣＤ−Ｉ又はＣＤ−ＲＯＭＸＡと呼ばれているものにフォーム１又はフォーム２と呼ばれている信号フォーマットがある。図１０のステップ５６はディスク２１から再生された信号が上述のようなフォーマットに従っているか否かが判断される。ステップ５５及び５６においてＮＯの出力が得られた時には図１０のラインＬ2 と図１１のラインＬ2 とを通って図１１のステップ５７によってエラー情報Ｘ３を作成して管理メモリ１５に格納する。
【００２９】
ステップ５６から正常の出力が得られた時には次のステップ５９でこのフレームのデータブロックが誤り検出訂正回路５で訂正されたデータブロックであるか否かが判断され、誤り訂正ブロックである時にはステップ６０で誤り訂正ブロックであることを示す訂正ブロック情報Ｘ２を管理メモリ１５に格納する。ステップ５９からＮＯの出力が得られた時及びステップ６０の処理が終了した時には図１０のラインＬ3 と図１１のラインＬ3 とを通って図１１のステップ６１に移る。
【００３０】
図１１のステップ６１では再生されたデータブロックが一連のデータブロック列の先頭ブロックか否かが判断され、先頭ブロックの場合にはステップ６２でこれを示す先頭ブロック情報１Ｘを示す信号を作り、管理メモリ１５に格納する。
【００３１】
ステップ６１からＮＯの出力が得られた時、又はステップ６２の処理が終了した時には、ステップ６３で再生されたデータブロックが一連のデータブロック列の最終ブロックか否かが判定される。最終ブロックの場合にはステップ６４においてこれを示す最終ブロック情報２Ｘを作成して管理メモリ１５に格納する。
【００３２】
ステップ６３で最終ブロックでないことを示すＮＯの出力が得られた時、又はステップ６４の処理が終了した時、又はステップ５７の処理が終了した時にはステップ６５において次のブロックアドレスにインクリメントする。即ち、次のデータブロック及びこの管理データの格納動作に移る。
【００３３】
【第２の実施例】
次に、図１２〜図１４を参照して第１の実施例のデータ記憶装置の一部を変形した第２の実施例のデータ記憶装置を説明する。但し、第２の実施例において第１の実施例と共通する事項についての説明は省略する。即ち、第２の実施例のデータ記憶装置の基本的構成は図１と同一であるので、この図示を省略して図１を参照して第２の実施例を説明する。また、第２の実施例の動作のタイミングチャートを示す図１３（Ａ）〜（Ｅ）は第１の実施例の図８（Ａ）〜（Ｅ）と実質的に同一であるので、この詳しい説明を省略する。また、第２の実施例においてディスク２１からキャッシュメモリ４にデータブロックを格納し、管理メモリ１５に管理データを格納する動作の流れを示す図１４において図９と実質的に同一のステップには同一の符号を付けてその説明を省略する。なお、図１３におけるバス・フェーズの状態転換時点ｔ1 、ｔ2 、ｔ3 〜ｔ6 、ｔ8 〜ｔ16は図８と同一記号で示され、同期信号発生時点はｔs1、ｔs2で示されている。
【００３４】
図１２は第２の実施例のデータ記憶装置の制御手段の一部を機能的に示すブロック図である。第２の実施例のデータ記憶装置は、図１２に示す割込み処理待回数計数手段７３と規定回数設定手段７４と比較手段７５を図１のデータ記憶装置２のＣＰＵ１２に含めた他は図１と同一である。図１の実施例のデータ記憶装置２においても図１２の割込み信号作成手段７１及び割込み禁止信号形成手段７２に相当するものは設けられており、図８（Ｂ）の割込み信号の形成及び図８（Ｅ）の禁止信号の形成が行われている。第２の実施例における図１２の割込み信号作成手段７１及び割込み禁止信号形成手段７２も第１の実施例と同様に図１３（Ｂ）の割込み信号及び図１３（Ｅ）の禁止信号を形成する。
【００３５】
ところで、第２の実施例ではＣＤ−ＲＯＭ駆動装置３においてディスク２１のレーザビームによる走査速度は標準のオーディオ用ＣＤの４倍に設定されている。従って、図１３（Ａ）の同期信号の周期は図８の半分の３．３ｍｓであり、図１３（Ｂ）の管理データ作成のための割込み信号が短い周期で発生する。このため、場合によっては、図１３（Ｅ）に示すＣＰＵ割込み処理（第３の処理）の禁止区間の時間長が同期信号の周期より長くなることがある。図１３において、例えばｔ2 〜ｔ4 の禁止区間は同期信号の周期よりも長くなっている。このような場合には、ＣＰＵ割込み処理（第３の処理）の禁止区間に複数の同期信号パルスが発生する恐れがある。もし、バス・フェーズのみに依存して管理データ作成のためのＣＰＵ割込み処理（第３の処理）を禁止すると、この禁止期間が同期信号の周期に比べて長くなり過ぎ、ディスク２１からキャッシュメモリ４へのデータブロックの格納及び管理メモリ１５への管理データの格納に遅れが生じ、全体的に見てアクセス時間の短縮効果が低下する恐れがある。そこで、第２の実施例では、ＣＰＵ割込み処理（第３の処理）の禁止区間中に発生する図１３（Ｂ）の割込み信号の回数を計測し、これが所定回数以上になったら図１３（Ｅ）の禁止区間を無視してＣＰＵ割込み処理を実行する。
【００３６】
図１２の割込み処理待回数計数手段７３は、図１３（Ｂ）の割込み信号が発生した時に図１３（Ｅ）の禁止区間であるか否かを判定し、禁止区間を示す出力が得られた時にはこの出力の発生回数を計数するものである。なお、割込み信号が連続的に禁止区間に位置する場合のみ計数を更新させる。規定回数設定手段７４は割込み処理を優先させることを決定するための処理待回数を示す信号を発生する手段である。比較手段７５は処理待回数計数値と規定回数値とを比較し、規定回数値以上になった時に優先的にＣＰＵ割込み処理を実行するための指令を発生する。規定回数設定手段７４の規定回数はキャッシュメモリ４及び管理メモリ１５のデータブロックを格納する最大エリア数（図４及び図５では２２）以下から選択された適当な値に設定される。
【００３７】
図１４は図９と同一の方法で第２の実施例のデータ記憶装置の動作を示すフローチャートである。図１４は図９に処理待規定回数以上か否かを判定するステップ８０を加えた他は図９と同一である。処理待規定回数以上か否かの判定ステップ８０はキャッシュメモリが空になりそうか否かの判定ステップ３８と割込み処理が禁止されているか否かの判定ステップ３９との間に付加され、図１２で機能的に示す比較手段７５に基づく判定をなす。このステップ８０で規定回数以上の出力が得られた時にはステップ４０の割込み処理に移行し、規定回数以上でないことを示す出力が得られた時には次のステップ３９に移行する。
【００３８】
【第３の実施例】
次に、図１５及び図１６を参照して第３の実施例のデータ記憶装置を説明する。但し、第３の実施例のデータ記憶装置の基本的構成は図１と同一であるので、図示及びこの説明を省略する。第３の実施例のデータ記憶装置は図１のＣＰＵ１２による処理内容において第１の実施例と相違しているがその他は第１の実施例と同一に構成されている。
【００３９】
第３の実施例ではキャッシュメモリ４からホスト装置１へデータブロックを１ブロック単位でＤＭＡ転送するように構成されている。また、第３の実施例では管理メモリ１５に格納する管理データの作成のためのＣＰＵ１２への割込み処理の許可区間と禁止区間が図１５（Ｅ）に示すように設定されている。第３の実施例は上記２つの変更点以外は第１の実施例と同一である。
【００４０】
ＣＰＵ割込み処理（第３の処理）の許可区間は図１５（Ｃ）のキャッシュメモリ４からホスト装置１へのデータ転送の開始時点ｔ5 から所定時間Ｔ1 が終了する迄の区間及びバスフリ−・フェ−ズ区間である。この所定時間Ｔ1 は１データブロックの転送所要時間ｔ5 〜ｔ8 よりも短く設定されている。ＣＰＵ割込み処理禁止区間はバスフリ−・フェ−ズ区間ｔ11〜ｔ12を除く許可区間の終了時点ｔ7 から次のデータブロックの転送開始時点ｔ16迄である。この第３の実施例においても、ディスク２１からデータブロックを再生することによって図１５（Ａ）に示すように同期信号が検出され、これに同期して図１５（Ｂ）に示すように割込み信号が発生する。しかし、例えばｔ13時点に示すように割込み信号によって直ちに割込み処理が開始するとは限らず、図１５（Ｅ）の禁止区間が終了した後に開始する。
【００４１】
図１５（Ｅ）の許可区間及び禁止区間は図１５（Ｄ）のバス・フェーズとデータ転送要求信号ＲＥＱと応答信号ＡＣＫに基づいて決定される。即ち、割込み処理の許可の開始時点即ち禁止区間の終了時点はデータ・フェーズｔ4 〜ｔ9 の中のデータ転送要求信号ＲＥＱが発生した時点にほぼ一致している。許可区間の終了時点ｔ7 はデータ転送の終了を示す信号即ちデータ・フェーズにおける応答信号ＡＣＫが発生するよりも前に設定されている。なお、図１５におけるｔ1 〜ｔ2 及びｔ11〜ｔ12のバスフリー・フェーズ、ｔ2 〜ｔ3 及びｔ12〜ｔ１３のセレクション・フェーズ、ｔ3 〜ｔ4 及びｔ14〜ｔ15のコマンド・フェーズ、ｔ4 〜ｔ9 及びｔ15以後のデータ・フェーズは図８と同様なものである。
【００４２】
図１６は図１５（Ｅ）の割込み処理の禁止、許可を決定するための制御手段を機能的に示すブロック図である。この図１６から明らかなように図２に示したと同様な同期信号検出回路２６で図１５（Ａ）の同期信号が形成され、これに基づいて割込み信号作成手段９１が図１５（Ｂ）の割込み信号を作成しても、これがそのまま割込み信号としてＣＰＵ１２に付与されずにＡＮＤゲート９２で制限されて付与される。図１６のデータブロック転送開始検出手段９３は図１５のｔ5 時点を検出する。タイマ９４はカウンタから成り、ｔ5 時点の検出信号に応答して所定時間Ｔ1 の計数を開始し、所定時間Ｔ1 を示す信号を出力する。またバスフリ−・フェ−ズ区間検出手段９６は図１５のｔ1 〜ｔ2 区間及びｔ11〜ｔ12区間を検出する。割込み処理禁止信号作成手段９５はタイマ９４の出力とバスフリ−・フェ−ズ区間検出手段９６の出力に応答して図１５（Ｅ）の出力を発生する。
【００４３】
この実施例においても、同期信号に基づいて管理データ作成のための割込み処理が無制限に生じないので、キャッシュメモリ４からホスト装置１へのデータ転送の遅れを防ぐことができる。
【００４４】
【変形例】
本発明は上述の実施例に限定されるものでなく、例えば次の変形が可能なものである。
（１）  ＤＭＡコントローラ７をホスト装置１側に設けることができる。
（２）  管理メモリ１５をＲＡＭ１４の一部を兼用するように構成することができる。
（３）  コマンド、データ、ステータス、メッセージの転送区間をデータ転送要求信号ＲＥＱと応答信号ＡＣＫに基づかないで、これ等のデータ転送を直接又は間接に検出するデータ転送開始検出手段とデータ転送終了検出手段とを設け、これから得られる検出信号によって決定することができる。
（４）  バス・フェ−ズに周知のア−ピトレ−ション・フェ−ズ、及びリセレクションフェ−ズのいずれか一方又は両方を付加することができる。
【図面の簡単な説明】
【図１】第１の実施例のホスト装置とデータ記憶装置とを示すブロック図である。
【図２】図１のＣＤ−ＲＯＭ駆動装置を示すブロック図である。
【図３】図２のＣＤ−ＲＯＭディスクの信号フォーマットを示す図である。
【図４】図１のキャッシュメモリのデータ格納エリアの構成を説明的に示す図である。
【図５】図１の管理メモリのデータ格納エリアの構成を説明的に示す図である。
【図６】図５の管理メモリのエリアと管理データとの関係を示す図である。
【図７】バスフェーズと制御信号の関係を示す図である。
【図８】同期信号、割込み信号、キャッシュメモリのデータ格納、バスフェーズ、ＣＰＵ割込み処理の時間関係を示す図である。
【図９】ディスクからキャッシュメモリ及び管理メモリにデータを転送する動作の流れを説明するための図である。
【図１０】図９の割込み処理のステップを詳しく示す図である。
【図１１】図１０の割込み処理に連続する処理を示す図である。
【図１２】第２の実施例のデータ記憶装置の制御手段の一部を機能的に示すブロック図である。
【図１３】第２の実施例のデータ記憶装置における同期信号、割込み信号、キャッシュメモリのデータ格納、バスフェーズ、ＣＰＵ割込み処理の時間関係を示す図である。
【図１４】第２の実施例のデータ記憶装置の動作の流れを示す図である。
【図１５】第３の実施例のデータ記憶装置における同期信号、割込み信号、ホスト装置へのデータ転送、バスフェーズ、ＣＰＵ割込み処理の時間関係を示す図である。
【図１６】第３の実施例のデータ記憶装置における割込み処理の許可及び禁止の制御手段を示すブロック図である。
【符号の説明】
２    データ記憶装置
３    ＣＤ−ＲＯＭ駆動装置
４    キャッシュメモリ
１５  管理メモリ
【図１】
0003655372.tif 000002
【図２】
0003655372.tif 000003
【図３】
0003655372.tif 000004
【図４】
0003655372.tif 000005
【図５】
0003655372.tif 000006
【図６】
0003655372.tif 000007
【図７】
0003655372.tif 000008
【図８】
0003655372.tif 000009
【図９】
0003655372.tif 000010
【図１０】
0003655372.tif 000011
【図１１】
0003655372.tif 000012
【図１２】
0003655372.tif 000013
【図１３】
0003655372.tif 000014
【図１４】
0003655372.tif 000015
【図１５】
0003655372.tif 000016
【図１６】
0003655372.tif 000017