(57)【要約】      （修正有）【課題】機器間のデータ転送は、完了するまで当該データ転送にバスが占有される。そのためデータ転送中に転送されるデータがバッファにない場合、当該バッファに転送されるデータが蓄積されるまでは、バスにデータが流れていないにも関わらず、データ転送にバスが占有されている。【解決手段】擬似終了指示を生成する転送監視部４０１を設け、転送監視部は、バッファ４０４のデータ蓄積量に基づいてデータ転送の終了指示を生成する。【選択図】図１
2004258986.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置と複数の記録装置がバスを介して接続されると共に、上記データ処理装置と特定の記録装置間でのデータ転送が実行されるデータ転送システムにおいて、
上記記録装置が、
記録媒体と、
上記記録媒体と上記データ処理装置間で転送されるデータを一時的に格納するバッファと、
上記バッファのデータ蓄積量に基づいて、上記データ転送の擬似終了指示を生成する転送監視部とを備え、
上記データ処理装置は、
上記擬似終了指示が生成されると、上記データ転送が中途であっても当該データ転送を擬似終了するとともにバスを解放する転送制御部を備えたことを特徴とするデータ転送システム。
【請求項２】
上記転送制御部は、上記擬似終了指示により特定のデータ転送を擬似終了すると、当該擬似終了に係るデータ転送とは別のデータ転送において未転送データの転送を実行する請求項１に記載のデータ転送システム。
【請求項３】
上記データ処理装置は、上記擬似終了中の未転送データの再開情報を格納する擬似終了情報格納部を備え、
上記転送制御部は、上記再開情報を用いて、上記別のデータ転送を再開する請求項２に記載のデータ転送システム。
【請求項４】
上記データ転送が、上記データ処理装置に蓄積されたデータを上記記録媒体に転送することである請求項１に記載のデータ転送システム。
【請求項５】
上記転送監視部は、上記バッファの空き容量が所定以下になると、上記擬似終了指示を生成する請求項４に記載のデータ転送システム。
【請求項６】
上記転送監視部は、上記バッファから上記記録媒体へのデータの書込エラーが発生すると、上記終了指示を生成する請求項４に記載のデータ転送システム。
【請求項７】
上記転送監視部は、上記擬似終了指示が生成されたか、終了指示が生成されたかを示す原因情報を保持し、
上記転送制御部が、上記原因情報に基づいて、上記別のデータ転送の転送形態を決定する請求項５又は６に記載のデータ転送システム。
【請求項８】
上記データ転送が、上記記録媒体に記録されたデータを上記データ処理装置に転送することである請求項１に記載のデータ転送システム。
【請求項９】
上記転送監視部は、上記バッファのデータ蓄積量が所定以下になると、上記擬似終了指示を生成する請求項８に記載のデータ転送システム。
【請求項１０】
上記転送監視部は、上記記録媒体から上記バッファへのデータの読出エラーが発生すると、上記擬似終了指示を生成する請求項８に記載のデータ転送システム。
【請求項１１】
上記転送監視部は、上記擬似終了指示が生成されたのか終了指示が生成されたのかを示す原因情報を保持し、
上記転送制御部が、上記原因情報に基づいて、上記別のデータ転送の転送形態を決定する請求項９又は１０に記載のデータ転送システム。
【請求項１２】
上記記録装置と上記データ処理装置が、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）にて定められたインターフェースを持つデバイスである請求項１に記載のデータ転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置と、バスを介してデータ処理装置に接続された複数の記録装置とで行われるデータ転送システムに関する。
【０００２】
【従来の技術】
ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）に適合したインターフェース（以下、「ＡＴＡインターフェース」という）を用いた記録装置が低価格で入手できることから、ＡＴＡインターフェースを用いた記録装置がコンピュータやＡＶ機器における情報記録によく用いられる。ＡＴＡインターフェースを用いた記録装置に対するデータ転送を制御するデータ処理装置は、１台で最大２台の記録装置のデータ転送を制御することができる。しかしながら、上記データ処理装置が一方の記録装置とデータ転送を開始すると、当該データ転送が完了するかエラー終了するまで、上記データ処理装置と２台の記録装置を接続するバスが当該データ転送に占有される。
【０００３】
ところで記録装置は、上記データ処理装置から転送されたデータを一旦バッファに格納して、その後ハードディスクやＣＤ等の記録媒体に書き込むようになっている。一般的に上記データ処理装置と記録装置間の通信速度に比べ、記録装置の記録媒体に対するデータの書込速度は遅いために、上記バッファが上記データ処理装置から転送されたデータでいっぱいになることがある。このような場合、上記データ処理装置と記録装置間でのデータ転送は一時的に中断されて上記記録装置はウエイト状態となり、上記バッファに所定以上の空き容量ができるまで、当該データ転送が中断される。しかし、データ転送の中断中もバスは、上記データ転送に占有されたままである。したがってウエイト状態の間、上記データ転送にバスが占有されているので、データ処理装置は、他方の記録装置ともデータ転送することができず、ウエイト状態の間はバスにデータを流すことができない。
【０００４】
また、記録装置は、記録媒体に書き込まれたデータをデータ処理装置に転送する場合、記録媒体からデータを一旦上記バッファに読み出し、上記データ処理装置に転送する。上記データ処理装置と記録装置間の通信速度に比べ、記録装置の記録媒体に対するデータの読出速度は遅いため、上記バッファに上記データ処理装置へ転送するデータが無くなることがある。このような場合も、上記データ処理装置と記録装置間でのデータ転送は一時的に中断されて上記記録装置はウエイト状態となり、バスにデータが流れない時間が発生する。
【０００５】
ウエイト状態の発生を防止するために、ＡＴＡにおいては、転送されるデータを格納する空き領域がバッファにできた時点で書き込みを実行させるコマンドとして、ＷＲＩＴＥ  ＤＭＡ  ＱＵＥＵＥコマンド等が定義されている。このＱＵＥＵＥコマンドが上記データ処理装置から発行されると、記録装置はＱＵＥＵＥコマンドを受け取っても直ぐにはデータ転送を開始せず、転送されるデータを格納するための空きが上記バッファにできた時点で上記データ処理装置にデータ転送の準備ができたことを通知する。
【０００６】
上記通知を受け取ると、上記データ処理装置は、記録装置とのデータ転送を開始するためのＳＥＲＶＩＣＥコマンドを発行して、データ転送を行なう。このように転送されるデータを格納するための空きバッファにできてからデータ転送を行なうので、ＱＵＥＵＥコマンドを使用することで上記ウエイト状態の発生が防止される。
【０００７】
また、特開２００１−２１６７２３号公報には、上記データ処理装置が、記録媒体に書き込むデータを上記バッファの格納単位のデータブロックに分割し、記録装置の書込速度に応じて上記データブロック単位でデータを記録装置に転送する方法が開示されている。この方法では、上記バッファに１データブロック分の空きができた時点でデータブロックの転送を行ない、且つ１つのデータブロックの転送を１つのデータ転送で行なうことで、上記のようなウエイト状態を防いでいる。
【０００８】
【特許文献１】
特開２００１−２１６７２３号公報
【０００９】
【発明が解決しようとする課題】
しかし、特開２００１−２１６７２３号公報に開示されている方法では、記録装置のバッファの容量及び書込速度を予め上記データ処理装置が知っておく必要がある。しかし、記録装置は多種多様であるため、この方法を用いて上記ウエイト状態の発生を防止することは実質上不可能である。また、書込速度はシーク時間や、書き込みのリトライ回数にも依存し、シーク時間やリトライ回数を上記データ処理装置が予想することは不可能である。
【００１０】
また、ＱＵＥＵＥコマンドでは、上述のように転送されるデータ量の空き容量が上記バッファにできてから転送を行なうために、当該バッファの容量以上のデータに対しては使用することができない。
【００１１】
そこで、本発明は、バッファの容量に依存せず、上記ウエイト状態が発生しないデータ転送システムを提供することを目的とする。
【００１２】
【課題を解決しようとする手段】
本発明は、データ処理装置と複数の記録装置がバスを介して接続されると共に、上記データ処理装置と特定の記録装置間でのデータ転送が実行されるデータ転送システムを前提としている。上記記録装置は、記録媒体と、上記記録媒体と上記データ処理装置間で転送されるデータを一時的に格納するバッファを備えている。更に、上記記録装置は、上記バッファのデータ蓄積量に基づいて、上記データ処理装置と行なうデータ転送が中途であっても終了かどうか判断し、データ転送を終了すると判断すると、擬似終了指示を生成する転送監視部を備えている。
【００１３】
一方、上記データ処理装置は、上記擬似終了指示が生成されると、上記バスをデータ転送の占有から解除する擬似終了を行う転送制御部を備えている。
【００１４】
上述のように上記データ処理装置と記録装置間の通信速度と、記録装置の記録媒体へのデータの書込速度が異なるために、バッファのデータ蓄積量が変化する。データ蓄積量が所定以上となると、上記転送監視部は擬似終了指示を生成する。擬似終了指示が生成されると、データ転送が中途であってもデータ転送が終了されて、バスのデータ転送による占有が解除される。
【００１５】
このように、バッファのデータ蓄積量が所定以上となり、データを格納する領域が少なくなると、バスがデータ転送の占有から解除されるので、従来のようなウエイト状態が発生することが無くなる。
【００１６】
よって、本発明においては、ウエイト状態を未然に防ぎ、バスの占有を解除することで、従来ではウエイト状態となっている時間に、上記データ処理装置は他の記録装置とのデータ転送を行なうことができる。
【００１７】
【発明の実施の形態】
（実施の形態１）
本実施の形態におけるデータ転送システムは、図１に示すように記録装置４００と記録装置４１０と、これらの２台の記録装置とバス３００を介して接続されたデータ処理装置１００から構成される。バス３００はＡＴＡ規格に対応するバスであり、記録装置４００、４１０はＡＴＡで定められたインターフェースを採用したハードディスクドライブ、ＭＯドライブ、ＣＤ−ＲＯＭドライブ等である。
【００１８】
上記データ処理装置１００が備える転送制御部１０１は、ＣＰＵ等１５１からのデータの転送の指示を受けると、当該指示に従って上記記録装置４００、４１０におけるデータの入出力を行なう。
【００１９】
ＣＰＵ１５１からの指示としては、記録装置４００、４１０に格納されたデータを読み出す読出指示や、データ処理装置１００に蓄積されたデータを記録装置４００、４１０に書き込む書込指示等がある。
【００２０】
上記転送制御部１０１は、上記ＣＰＵ１５１から例えば書込指示が転送されると、当該書込指示から、データの書き込み先となる記録装置を特定する情報を抽出する。当該情報が記録装置４００を特定すると、上記転送制御部１０１は、当該転送制御部１０１と記録装置４００間で行われる未完了のデータ転送があるかどうかを確認するために終了情報格納部１０２を参照する（図２、Ｓ２０１）。
【００２１】
上記終了情報格納部１０２は、当該転送制御部１０１と記録装置４００間で行われるデータ転送が完了しているか、中途であるかを示す第１の転送完了フラグ１０８が保持されている。第１の転送完了フラグ１０８の値が、データ転送が完了していることを示す値（以下では、「１」とする）である場合、上記転送制御部１０１は新たなデータ転送を行なう。第１の転送完了フラグ１０８の値がデータ転送が完了していないことを示す「０」である場合、上記転送制御部１０１は、新たなデータ転送の実行よりも中途であるデータ転送の再開を優先して行なう。
【００２２】
なお、上記終了情報格納部１０２には、当該転送制御部１０１ともう一方の記録装置４１０間で行われるデータ転送が完了しているか、中途であるかを示す第２の転送完了フラグ１０９も保持されている。
【００２３】
第１の転送完了フラグ１０８の値が「１」であるとすると、上記転送制御部１０１は、ＣＰＵ１５１から転送された書込指示から、データの書き込み先の先頭アドレスと、当該データのサイズを抽出する（図２、Ｓ２０２）。先頭アドレスとサイズを抽出すると、上記転送制御部１０１は、ＡＴＡに定められているように、先頭アドレスとサイズを記録装置４００に転送し、その後、書込命令を記録装置４００に転送する（図２、Ｓ２０３）。
【００２４】
上記転送制御部１０１から転送された先頭アドレス、サイズ、書込命令は、上記記録装置４００が備えるバス制御部４０２にて受信され、当該バス制御部４０２にて書込読出制御部４０３に転送される。
【００２５】
書込命令を受信すると、上記書込読出制御部４０３は転送監視部４０１に書込命令を受信した旨を通知する（図２、Ｓ２０４）。当該通知を受信すると、上記転送監視部４０１は、書込命令を受信したことを通知するための転送要求信号（本実施の形態では、ＡＴＡ規格に対応するバス３００を用いているので、本実施の形態では、ＤＭＡＲＱ信号となる）をアサートする（図２、Ｓ２０５）。また、上記通知を受信すると、上記転送監視部４０１は、上記転送制御部１０１から記録媒体４０５に転送されるデータを一時的に格納するバッファ４０４の空き容量の監視を開始する。
【００２６】
上記転送監視部４０１は、監視を開始した時点の上記バッファ４０４の空き容量に基づいて、上記書込命令を実行可能かどうか判断する（図２、Ｓ２０６）。この判断に、例えば空き容量が上記バッファ４０４の書込単位以上であるかどうかを用いる。これは、一般的にバッファ４０４から記録媒体４０５への書込速度は、バス３００の通信速度に比べて遅く、空き容量が上記書込単位より小さい場合、上記転送制御部１０１から転送されるデータを上記バッファ４０４に格納することが出来ない場合が発生するためである。
【００２７】
よって、空き容量が書込単位より小さい場合、上記転送監視部４０１は、実行不可能と判断し、空き容量が書込単位以上の場合のみ、実行可能と判断する。
【００２８】
この判断において、上記転送監視部４０１が、実行可能と判断すると、上記転送監視部４０１は、転送準備信号（本実施の形態では、ＡＴＡ規格に対応するバス３００を用いているので、本実施の形態ではＤＤＭＡＲＤＹ信号となる）をアサートする（図２、Ｓ２０７）。
【００２９】
一方、実行不可能と判断すると、上記転送監視部４０１は、ＤＤＭＡＲＤＹ信号をネゲートする。ＤＤＭＡＲＤＹ信号がネゲートされると上記転送制御部１０１は、書込指示から抽出した上記先頭アドレスとサイズを記録装置４００のＩＤに対応付けて上記終了情報格納部１０２に格納する（図２、Ｓ２１０）。そして、上記転送制御部１０１は、上記第１の転送完了フラグ１０８の値をデータ転送が完了していない旨を示す「０」にして、ＣＰＵ１５１からの書込指示を全く行なわずに、後述するように、当該書込指示を再度実行する（図２、Ｓ２１１→終了）。
【００３０】
上記転送監視部４０１にてＤＭＡＲＱ信号がアサートされ、ＤＤＭＡＲＤＹ信号がアサートされると、上記転送制御部１０１は、上記バス３００を占有し、上記書込命令の対象となるデータ転送を実行する（図２、Ｓ２０８）。そして、上記転送制御部１０１は、上記データ処理装置１００が備えるデータ蓄積部１０３に蓄積されたデータを所定のサイズのデータブロックに分割し、先頭データブロックを記録装置４００に転送する（図２、Ｓ２０９）。
【００３１】
上記転送制御部１０１から転送された先頭データブロックは、上記バス３００を介して、上記バス制御部４０２に受信される（図３、Ｓ３０１）。当該バス制御部４０２は受信した先頭データブロックを上記バッファ４０４に格納する。
【００３２】
上述のように、上記書込読出制御部４０３には、ステップ２０３において上記転送制御部１０１から先頭アドレス、サイズ、書込命令が転送されている。そこで、上記書込読出制御部４０３は、上記バッファ４０４に先頭データブロックが格納されると、当該先頭データブロックを上記記録媒体４０５の上記先頭アドレスの示す位置に書き込む（図３、Ｓ３０２）。
【００３３】
先頭データブロックを書き込んでいる時に、上記書込読出制御部４０３は、記録媒体４０５の傷等によって書込エラーが発生するかどうかを監視し、書込エラーが発生した場合、書込エラーが発生した旨を上記転送監視部４０１に通知する（図３、Ｓ３０３→Ｄ）。
【００３４】
また、上記転送監視部４０１は、上述のように上記バッファ４０４の状態を監視しており、先頭データブロックがバッファ４０４に格納されてから、バッファ４０４の空き容量が所定以下（例えば、書込単位以下）となるかどうか監視している（図３、Ｓ３０４）。
【００３５】
先頭データブロックが記録媒体４０５に書き込まれている途中に、上記書込エラーが発生した場合はデータ転送は（後述するように）中途で終了する。また、バッファ４０４の空き容量が所定以下となったことが検出された場合、後述するような処理が行われてデータ転送が擬似終了する。
【００３６】
書込エラーの発生やバッファ４０４の空き容量が所定以下となることが検出されずに、先頭データブロック全てを記録媒体４０５に書き込むと、上記書込読出制御部４０３は、これまでに上記記録媒体４０５に格納したデータブロックの合計サイズが書込命令と共に転送されたサイズに達したかどうか判断する（図３、Ｓ３０５→Ｓ３０６）。この判断は、書込命令の対象となるデータ全てを記録媒体４０５に格納したかどうかの判断である。
【００３７】
上記書込読出制御部４０３は、この判断結果を上記転送監視部４０１に通知する。通知された判断結果が、上記合計サイズが書込命令と共に転送されたサイズに達していないことを示す場合、上記転送監視部４０１は、ＤＭＡＲＱ信号をアサートしたままにし、ＤＤＭＡＲＤＹ信号をアサートしたままにする（図３、Ｓ３０７）。
【００３８】
上記転送制御部１０１は、先頭データブロックを転送した後に、ＤＭＡＲＱ信号がアサートされており、ＤＤＭＡＲＤＹ信号がアサートされていると、２番目のデータブロックを上記記録装置４００に転送する（図４、Ｓ４０１→Ｓ４０２）。
【００３９】
２番目のデータブロックも先頭データブロックと同じように、上記バッファ４０４に一時的に格納されて、上記書込読出制御部４０３にて上記記録媒体４０５に書き込まれる（図３、Ｓ３０１→Ｓ３０２→…→Ｓ３０５）。
【００４０】
もちろん２番目のデータブロックがバッファ４０４に格納されてから記録媒体４０５に書き込まれる間、上記書込読出制御部４０３は、書込エラーが発生するかどうかを監視し、上記転送監視部４０１は、バッファ４０４の空き容量を監視している。
【００４１】
上記書込読出制御部４０３は、２番目のデータブロックを全て記録媒体４０５に書き込むと、上記合計サイズが書込命令と共に転送されたサイズに達したかどうか判断する（図３、Ｓ３０５→Ｓ３０６）。
【００４２】
この判断の結果が、上記合計サイズが書込命令と共に転送されたサイズに達していないを示す場合、上記転送監視部４０１は、ＤＭＡＲＱ信号をアサートしたままにし、ＤＤＭＡＲＤＹ信号をアサートしたままにする（図３、Ｓ３０７）。
【００４３】
上記転送制御部１０１は、２番目のデータブロックを転送した後に、ＤＭＡＲＱ信号がアサートされており、ＤＤＭＡＲＤＹ信号がアサートされていると、３番目のデータブロックを上記記録装置４００に転送する（図４、Ｓ４０１→Ｓ４０２）。
【００４４】
以上のようにして、データブロックが上記転送制御部１０１から記録装置４００に転送される。
【００４５】
そして、全てのデータブロックが記録媒体４０５に書き込まれると、判断ステップ３０６における結果が、上記合計サイズが書込命令と共に転送されたサイズに達したとなる。この結果が書込読出制御部４０３から上記転送監視部４０１に通知されると、当該転送監視部４０１は、ＤＭＡＲＱ信号とＤＤＭＡＲＤＹ信号をネゲートする（図３、Ｓ３０８）。
【００４６】
次に、上記転送監視部４０１は、後述するエラーフラグの値をデータ転送が完了したことを示す値に、後述する擬似終了フラグの値をデータ転送が擬似終了していない値にする。なお、本実施の形態においては初期状態のエラーフラグの値は、データ転送が完了したことを示す値であり、擬似終了フラグの値は、データ転送が擬似終了していない値である。したがって、上述のように現段階までエラーフラグと擬似終了フラグの値は書き換えられていないので、ここでは上記転送監視部４０１は、エラーフラグと擬似終了フラグの値を書換えない（図３、Ｓ３０９）。そして最後に、上記転送監視部４０１は、割込信号を上記転送制御部１０１に転送する（図３、Ｓ３１０）。
【００４７】
上記転送制御部１０１は、割込信号が転送されると、上記転送監視部４０１に後述するエラーフラグが立っているかどうかを問い合わせる（図５、Ｓ５０１）。上述のように、現段階まではエラーフラグは立てられていないので、上記転送監視部４０１はエラーフラグが立っていないことを上記転送制御部１０１に通知する。
【００４８】
上記転送制御部１０１は、エラーフラグが立っていないことが通知されると、バス３００の占有を解除する（図５、Ｓ５０２）。そして、上記転送制御部１０１は、上記第１の転送フラグ１０８の値をデータ転送が完了したことを示す値（ここでは「１」のまま）にする（図５、Ｓ５０３）。
【００４９】
これにより、ＣＰＵ１５１から転送された書込指示に対するデータ転送が完了する。
【００５０】
ところで上記判断ステップ３０４において、上記転送監視部４０１が、バッファの空き容量が所定量以下となることを検出すると、当該転送監視部４０１は、当該転送監視部４０１に備えられた状態レジスタ４０６にデータ転送が中途で終了する擬似終了が発生したことを示す原因情報となる擬似終了フラグを立てる（図３、Ｓ３０４→図６、Ｓ６０１）。次に、上記転送監視部４０１は、現段階で記録媒体４０５に書き込まれたデータブロックの次のデータブロックが書き込まれるアドレスを上記書込読出制御部４０３から取得し、当該アドレスを再開情報として当該転送監視部４０１に備えられたアドレスレジスタ４０８に格納する（図６、Ｓ６０２）。アドレスを格納すると、ＡＴＡで定められたエラーレジスタ４０７にデータ転送が完了していない旨を示す原因情報となるエラーフラグを立てる（図６、Ｓ６０３）。
【００５１】
エラーフラグを立てると、上記転送監視部４０１は、ＤＭＡＲＱ信号と、ＤＤＭＡＲＤＹ信号をネゲートする（図６、Ｓ６０４）。そして上記転送監視部４０１は割込信号を擬似終了指示として上記転送制御部１０１に転送する（図６、Ｓ６０５）。
【００５２】
上記割込信号が転送されると、上記転送制御部１０１は、上記転送監視部４０１にエラーフラグが立っているか否かを問い合わせる（図５、Ｓ５０１）。ステップ６０３においてエラーフラグが立てられているので、上記転送監視部４０１はエラーフラグが立っていることを上記転送制御部１０１に通知する。
【００５３】
上記転送制御部１０１は、エラーフラグが立っていることが通知されると、上記転送監視部４０１に擬似終了フラグが立っているかどうかを問い合わせる（図５、Ｓ５０４）。ステップ６０１において擬似終了フラグが立てられているので、上記転送監視部４０１は擬似終了フラグが立っていることを通知する。
【００５４】
擬似終了フラグが立っている旨の通知を受けると、上記転送制御部１０１は、上記アドレスレジスタ４０８に格納されたアドレスを取得する。アドレスレジスタ４０８に格納されたアドレスを取得する方法は、例えばＡＴＡにて定められた方法を用いる。
【００５５】
以上のように、記録装置４００に中断フラグとエラーフラグを保持させるだけで、上記転送制御部１０１は、書込指示に対するデータ転送が完了したか、或いは中途で終了したかを判断することができる。
【００５６】
上記転送制御部１０１は取得したアドレスに基づいて、未だ転送されていないデータのサイズを求め、当該アドレスとサイズを記録装置４００のＩＤと対応づけて上記終了情報格納部１０２に格納する（図５、Ｓ５０５）。そして転送制御部１０１は、上記バス３００の占有を解除する（図５、Ｓ５０６）。占有を解除すると、上記転送制御部１０１は、第１の転送完了フラグ１０８を、データ転送が中途であることを示す値（以下では、「０」）にする（図５、Ｓ５０７）。
【００５７】
これにより、書込命令の対象となるデータの転送が中途の場合であっても、バッファ４０４の空き容量が小さくなり、バッファ４０４に転送されるデータを格納する領域が小さくなると、データ転送が終了されてバス３００の占有が解除される。そのため、従来のようなウエイト状態を未然に防ぐことができる。
【００５８】
したがって、バスがデータ転送から解除されるために、図８に示すように、従来ではウエイト状態であって当該データ転送以外の処理にバスを使用できない時間に、上記データ処理装置１００は、もう一方の記録装置４１０と行なうことができる。
【００５９】
以上のように中途でデータ転送を終了した場合、或いは、上述したように、ステップ２０６においてバッファ４０４の空き容量が所定以下であるために、ＣＰＵ１５１からの書込指示を全く行なわなかった場合において、未転送データを転送するために、上記転送制御部１０１は、所定間隔毎に上記第１の転送完了フラグ１０８、上記第２の転送完了フラグ１０９の値を参照する（図２、Ｓ２０１）。例えば、バス３００を介してのデータ転送が全く行われていないときに、上記転送制御部１０１は、第１の転送完了フラグ１０８の値が「０」であることを検出すると、以下のようにしてデータ転送の再開する。
【００６０】
まず、上記転送制御部１０１は、上記終了情報格納部１０２から、記録装置４００のＩＤと対応づけられたアドレスとサイズを取得する（図２、Ｓ２０２→Ｓ２１２）。
【００６１】
アドレスとサイズを取得すると、上記転送制御部１０１は、取得したアドレスを先頭アドレスとし、当該先頭アドレスとサイズを記録装置４００に転送し、その後上記書込命令を転送する（図２、Ｓ２０３）。
【００６２】
上記転送制御部１０１から転送された先頭アドレス、サイズ、書込命令は、上述のようにバス制御部４０２にて受信され、当該バス制御部４０２にて書込読出制御部４０３に転送される。
【００６３】
書込命令を受信すると、上記書込読出制御部４０３は転送監視部４０１に書込命令を受信した旨を通知する（図２、Ｓ２０４）。当該通知を受信すると、上記転送監視部４０１は、ＤＭＡＲＱ信号をアサートし、バッファ４０４の空き容量の監視を開始する（図２、Ｓ２０５）。
【００６４】
上記転送監視部４０１は、上述のように監視を開始した時点の上記バッファ４０４の空き容量に基づいて、上記書込命令を実行可能かどうか判断する（図２、Ｓ２０６）。バッファ４０４の空き容量が所定以上有れば、上記転送監視部４０１は、ＤＤＭＡＲＤＹ信号をアサートする（図２、Ｓ２０７）。一方、の空き容量が所定以上なければ、上記転送監視部４０１は、ＤＤＭＡＲＤＹ信号をネゲートする。ＤＤＭＡＲＤＹ信号がネゲートされると、上記転送制御部１０１は、上記のようにデータ転送を行なわない（図２、Ｓ２０６→終了）。
【００６５】
上記転送制御部１０１は、ＤＭＡＲＱ信号がアサートされ、ＤＤＭＡＲＤＹ信号がアサートされると、上記バス３００を占有し、未転送データのデータ転送を実行する（図２、Ｓ２０８）。そして、上記転送制御部１０１は、未転送データにおいて、先頭となるデータブロックを上記データ蓄積部１０３から取得して記録装置４００に転送する（図２、Ｓ２０９）。
【００６６】
このようにデータ転送が再開された後に転送されるデータブロックは、中断前に転送されたデータブロックと同じように、上記バッファ４０４に一時的に格納された後、書込読出制御部４０３にて記録媒体４０５に書き込まれる。上記書込読出制御部４０３は、データブロックを記録媒体４０５に書き込むと、再開後に上記記録媒体４０５に格納したデータブロックの合計サイズが、上記終了情報格納手段１０２から上記書込読出制御部４０３に書込命令と共に転送されたサイズに達したかどうか判断する（図３、Ｓ３０５→Ｓ３０６）。
【００６７】
ここで中断前のデータ転送にて転送されなかった未転送データ全が記録媒体４０５に書き込まれると、当該判断結果は上記合計サイズが書込命令と共に転送されたサイズに達したとなる。また、当該結果が、上記合計サイズが書込命令と共に転送されたサイズに達していないである場合、上記転送監視部４０１は、中断前のデータ転送と同じようにして、上記転送制御部１０１に次のデータブロックの転送を行なう。
【００６８】
また、上記判断結果が、上記合計サイズが書込命令と共に転送されたサイズに達したであれば、上記転送監視部４０１は、ＤＭＡＲＱ信号とＤＤＭＡＲＤＹ信号とをネゲートする（図３、Ｓ３０８）。
【００６９】
上記のようにデータ転送が中途で終了したときに、ステップ６０１、６０３において、擬似終了フラグとエラーフラグが立てられているので、上記転送監視部４０１は、ＤＭＡＲＱ信号とＤＤＭＡＲＤＹ信号をネゲートすると、中断フラグとエラーフラグの値を立っていない状態に書き換える（図３、Ｓ３０９）。そして上記転送監視部４０１は、割込信号を上記転送制御部１０１に転送する（図３、Ｓ３１０）。
【００７０】
そして、上記転送制御部１０１は、上記のようにエラーフラグが立っていないことを上記転送監視部４０１から取得し、バス３００の占有を解除する（図５、Ｓ５０１→Ｓ５０２）。なお、データ転送を中途で終了したときに、ステップ５０７において第１の転送完了フラグ１０８の値が「０」に書き換えられている。そのため、データ転送を再開することで、ＣＰＵ１５１からの書込指示に対するデータ転送を完了した場合、ステップ５０３において第１の転送完了フラグ１０８の値を「１」に書き換える（図５、Ｓ５０３）。これにより、データ転送が完了したことになる。
【００７１】
また、判断ステップ３０３において書込エラーが発生すると、上記書込読出制御部４０３は、書込エラーが発生した旨を上記転送監視部４０１に通知する。書込エラーが発生した旨が通知されると、ＡＴＡに定められ通りに、上記転送監視部４０１は、エラーレジスタ４０７にエラーフラグを立てる（図７、Ｓ７０１）。そして、上記転送監視部４０１は、ＤＭＡＲＱ信号をネゲートし、ＤＤＭＡＲＤＹ信号をネゲートし、終了指示としての割込信号を転送制御部１０１に転送する（図７、Ｓ７０２→Ｓ７０３）。
【００７２】
割込信号が転送されると、上記転送制御部１０１は、上記転送監視部４０１にエラーフラグが立っているか否かを問い合わせる（図５、Ｓ５０１）。ステップ８０１においてエラーフラグを立てているので、上記転送監視部４０１はエラーフラグが立っていることを通知する。
【００７３】
上記転送制御部１０１は、エラーフラグが立っていることが通知されると、上記転送監視部４０１に擬似終了フラグが立っているかどうかを問い合わせる（図５、Ｓ５０４）。上述のように擬似終了フラグを立てていないので、上記転送監視部４０１は擬似終了フラグが立っていないことを通知する。
【００７４】
擬似終了フラグが立っていないことの通知を受けると、上記転送制御部１０１は、書込エラーが発生した場合の処理を行なう（図５、Ｓ５０８）。この処理は、ＡＴＡにて定められた方法である。
【００７５】
そして、上記処理が終わると、上記転送制御部１０１は、上記第１の転送完了フラグ１０８の値を「０」に書き換える（図５、Ｓ５０７）。
【００７６】
書込エラーの発生した場合、記録装置４００の記録媒体４０５が傷等によって、データの書き込みや読出しができなくなっていることがある。そこで、例えば書込エラーが発生した場合、上記転送制御部１０１は、ＣＰＵ１５１等に記録媒体４０５が使用不可となったことを通知して、ＣＰＵ１５１から当該データの書込先の新たな指示を受けて、当該指示に従って、データ転送を行なうようにしてもよい。
【００７７】
（実施の形態２）
実施の形態１においては、ＣＰＵ１５１から書込指示がある場合について説明したが、本実施の形態においては読出指示がある場合について説明する。
【００７８】
上記転送制御部１０１は、上記ＣＰＵ１５１から読出指示が転送されると、当該読出指示の対象となるデータが格納された記録装置を特定する情報を当該読出指示から抽出する。例えば当該情報が記録装置４１０である場合、上記転送制御部１０１は、上記第２の転送完了フラグ１０９の値を参照する（図９、Ｓ９０１）。
【００７９】
ここで第２の転送完了フラグ１０９の値が「１」とすると、上記転送制御部１０１は、ＣＰＵ１５１から転送された読出指示から、読み出すデータの先頭アドレスと、当該データのサイズを抽出する（図９、Ｓ９０２）。先頭アドレスとサイズを抽出すると、上記転送制御部１０１は、ＡＴＡに定められているように、先頭アドレスとサイズを記録装置４１０に転送し、その後、読出命令を記録装置４１０に転送する（図９、Ｓ９０３）。
【００８０】
上記転送制御部１０１から転送された先頭アドレス、サイズ、読出命令は、上記記録装置４１０が備えるバス制御部４１２にて受信され、当該バス制御部４１２にて書込読出制御部４１３に転送される。
【００８１】
読出命令を受信すると、上記書込読出制御部４１３は、転送監視部４１１に読出命令を受信した旨を通知する（図９、Ｓ９０４）。当該通知を受信すると、上記転送監視部４１１は、ＤＭＡＲＱ信号をアサートする（図９、Ｓ９０５）。また、上記通知を受信すると、これ以降上記転送監視部４１１は、バッファ４１４のデータ蓄積量を監視する。
【００８２】
上記転送監視部４１１は、監視を開始した時点の上記バッファ４１４のデータ蓄積量に基づいて、上記読出命令を実行可能かどうか判断する（図９、Ｓ９０６）。この判断に、データ蓄積量が上記バッファ４１４の読出単位以上有るかどうかを用いる。これは、一般的に記録媒体４１５からバッファ４１４への読出速度は、バス３００の通信速度に比べて遅く、データ蓄積量が上記読出単位より小さい場合、上記転送制御部１０１に転送するデータを確保できない場合が発生するためである。データの蓄積量が、読出単位より小さい場合、上記転送監視部４１１は、実行不可能と判断し、データ蓄積量が読出単位より大きい場合、実行可能と判断する。
【００８３】
この判断において、上記転送監視部４１１は、実行可能と判断すると、上記転送制御部１０１に実行可能であることを通知する。当該通知を受信すると、上記転送制御部１０１は、転送制御部１０１と記録装置４１０間のデータ転送にバス３００を占有させる（図９、９０７）。そして上記転送制御部１０１は、上記書込読出制御部４１３にバス３００を占有させたことを通知する。
【００８４】
一方、実行不可能と判断すると、上記転送監視部４１１は、上記転送制御部１０１に実行不可能であることを通知する。実行不可能であることが通知されると、上記転送制御部１０１は、読出指示から抽出した上記先頭アドレスとサイズを記録装置４１０のＩＤと対応付けて上記終了情報格納部１０２に格納する（図９、Ｓ９０９）。そして、上記転送制御部１０１は、上記第２の転送完了フラグ１０９の値を「０」にして、ＣＰＵ１５１からの読出指示を全く行なわずに、後述するように当該読出指示を再度実行する（図９、Ｓ９１０→終了）。
【００８５】
バス３００を占有させたことが通知されると、上記書込読出制御部４１３は、上記先頭アドレスが示す位置からデータを読み出す（図９、Ｓ９０８）。そして、上記書込読出制御部４１３は、読み出したデータをバッファ４１４の読出単位のデータブロックに分割し、データブロックを転送制御部１０１に転送する。
【００８６】
上記転送制御部１０１は、データブロックを受信すると、当該データブロックを上記データ蓄積部１０３に格納する。
【００８７】
実施の形態１のデータ書込時と同様に、上記書込読出制御部４１３は、記録媒体４１５からデータを読み出している際に、記録媒体４１５の傷等によって読出エラーが発生するかどうかを監視する（図１０、Ｓ１００１）。上記書込読出制御部４１３は、読出エラーが発生すると、読出エラーが発生した旨を上記転送監視部４１１に通知する。
【００８８】
また、上記転送監視部４１１は、上述のように上記バッファ４１４のデータ蓄積量を監視しており、記録媒体４１５からデータが読み出されている時に、バッファ４１４のデータ蓄積量が所定以下となるかどうか監視している（図１０、Ｓ１００２）。
【００８９】
データが読み出されている時に、上記読出エラーや、バッファ４１４のデータ蓄積量が所定以下となったことが検出された場合、後述するような処理が行われてデータ転送が中途で終了される。
【００９０】
また上記書込読出制御部４１３は、データをバッファ４１４に読み出す際に、読み出したデータ量が読出命令と共に転送されたサイズに達したかどうか判断している（図１０、Ｓ１００３）。読出命令と共に転送されたサイズ分読み出したと判断すると、上記書込読出制御部４１３は、データの読み出しを終了し、読み出しを終了した旨を上記転送監視部４１１に通知する。
【００９１】
読み出しを終了した旨が通知されると、上記転送監視部４１１は、ＤＭＡＲＱ信号をネゲートする（図１０、Ｓ１００４）。次に、上記転送監視部４１１は、上記エラーフラグの値をデータ転送がエラー終了していないことを示す値に、上記擬似終了フラグの値をデータ転送が中途で終了していない値にする。なお、本実施の形態においては初期状態では、エラーフラグの値はデータ転送がエラー終了していないことを示す値であり、擬似終了フラグの値はデータ転送が中途で終了していない値である。上述のように現段階までエラーフラグと擬似終了フラグは書き換えられていないので、ここでは、上記転送監視部４１１は、エラーフラグと擬似終了フラグの値を書換えない（図１０、Ｓ１００５）そして最後に、上記転送監視部４１１は割込信号を上記転送制御部１０１に転送する（図１０、Ｓ１００６）。
【００９２】
上記転送制御部１０１は、割込信号が転送されると、上記転送監視部４１１にエラーフラグが立っているかどうかを問い合わせる（図１１、Ｓ１１０１）。上述のように、現段階まではエラーフラグは立てられていないので、上記転送監視部４１１はエラーフラグが立っていないことを上記転送制御部１０１に通知する。
【００９３】
エラーフラグが立っていないことが通知されると、上記転送制御部１０１は、バス３００の占有を解除する（図１１、Ｓ１１０２）。そして上記第１の転送フラグ１０８の値を「１」のままにしておく（図１１、Ｓ１１０３）。これによりＣＰＵ１５１からの読出指示が完了したことになる。
【００９４】
ところで上記判断ステップ１００２において、上記転送監視部４１１が、バッファ４１４の空き容量が所定以下となることを検出すると、当該転送監視部４１１は、状態レジスタ４１６にデータ転送が中途で終了したことを示す擬似終了フラグを立てる（図１０、Ｓ１００２→図１２、Ｓ１２０１）。次に、上記転送監視部４１１は、現段階で記録媒体４１５から読み出されたデータの次に読み出されるデータのアドレスを上記書込読出制御手段４１３から取得する。上記転送監視部４１１は、取得したアドレスをアドレスレジスタ４１８に格納する（図１２、Ｓ１２０２）。アドレスを格納すると、上記転送監視部４１１は、エラーレジスタ４１７にエラー終了した旨を示すエラーフラグを立てる（図１２、Ｓ１２０３）。
【００９５】
エラーフラグを立てると、上記転送監視部４１１は、ＤＭＡＲＱ信号をネゲートして、擬似終了指示となる割込信号を上記転送制御部１０１に転送する（図１２、Ｓ１２０４→Ｓ１２０５）。
【００９６】
上記割込信号が転送されると、上記転送制御部１０１は、上記転送監視部４１１にエラーフラグが立っているか否かを問い合わせる（図１１、Ｓ１１０１）。ステップ１２０３においてエラーフラグが立てられているので、上記転送監視部４１１はエラーフラグが立っていることを通知する。
【００９７】
上記転送制御部１０１は、エラーフラグが立っていることが通知されると、上記転送監視部４１１に擬似終了フラグが立っているかどうかを問い合わせる（図１１、Ｓ１１０４）。ステップ１２０１において擬似終了フラグが立てられてているので、上記転送監視部４１１は擬似終了フラグが立っていることを通知する。
【００９８】
擬似終了フラグが立っていることの通知を受けると、上記転送制御部１０１は、ＡＴＡにて定められた方法で、上記アドレスレジスタ４１８に格納されたアドレスを取得する。上記転送制御部１０１は取得したアドレスに基づいて、未だ記録媒体から読み出されていない未転送データのサイズを求め、当該アドレスとサイズを記録装置４１０のＩＤと対応づけて上記終了情報格納部１０２に格納する（図１１、Ｓ１１０５）。
【００９９】
そして転送制御部１０１は、上記データ転送による上記バス３００の占有を解除する（図１１、Ｓ１１０６）。占有を解除すると、上記転送制御部１０１は、第２の転送完了フラグ１０９の値を、データ転送が中途であることを示す値（以下では、「０」）にする（図１１、Ｓ１１０７）。
【０１００】
これにより、読出命令の対象となるデータの転送が中途の場合であっても、バッファ４１４のデータ蓄積量が小さくなり、転送制御部１０１に転送するデータが少なくなると、データ転送が終了されてバス３００の占有が解除される。そのため、従来のようなウエイト状態の発生を未然に防ぐことができる。
【０１０１】
以上のように中途で終了したデータ転送を再開するために、またはステップ９０６にてバッファ４１４のデータ蓄積量が所定以下であるために実行されなかった読出指示を再度実行するために、上記転送制御部１０１は、所定時間毎に上記第２の転送完了フラグ１０９の値を参照する（図９、Ｓ９０１）。例えば、バス３００を介してのデータ転送が全く行われていないときに、上記転送制御部１０１は、第２の転送完了フラグ１０９の値が「０」であることを検出すると、以下のようにしてデータ転送の再開する。
【０１０２】
まず、上記転送制御部１０１は、上記終了情報格納部１０２から、記録装置４１０と対応づけられたアドレスとサイズを取得する（図９、Ｓ９０２→Ｓ９１０）。
【０１０３】
アドレスとサイズを取得すると、上記転送制御部１０１は、取得したアドレスを先頭アドレスとし、当該先頭アドレスとサイズを記録装置４１０に転送し、その後上記読出命令を転送する（図９、Ｓ９０３）。
【０１０４】
上記転送制御部１０１から転送された先頭アドレス、サイズ、読出命令は、上述のようにバス制御部４１２にて受信され、当該バス制御部４１２にて書込読出制御部４１３に転送される。
【０１０５】
読出命令を受信すると、上記書込読出制御部４１３は転送監視部４１１に読出命令を受信した旨を通知する（図９、Ｓ９０４）。当該通知を受信すると、上記転送監視部４１１は、ＤＭＡＲＱ信号をアサートし、バッファ４１４のデータ蓄積量の監視を開始する（図９、Ｓ９０５）。
【０１０６】
上記転送監視部４１１は、上述のように監視を開始した時点の上記バッファ４１４のデータ蓄積量に基づいて、上記読出命令を実行可能かどうか判断する（図９、Ｓ９０６）。バッファ４１４のデータ蓄積量が所定以上あれば、上記転送監視部４１１は、上記転送制御部１０１に読出命令を実行可能であることを通知する。
【０１０７】
一方、データ蓄積量が所定以上でなければ、上記転送監視部４１１は、上記転送制御部１０１に実行不可能であることを通知する。実行不可能である通知を受信すると、上記転送制御部１０１は、上記のように読出指示から抽出した上記先頭アドレスとサイズを記録装置４１０に対応付けて上記終了情報格納部１０２に格納する（図９、Ｓ９０９）。そして、上記第２の転送完了フラグ１０９の値を「０」にしたままにする（図９、Ｓ９１０→終了）。
【０１０８】
一方上記転送制御部１０１は、読出命令を実行可能であることが通知されると、上記バスを占有し、未転送データのデータ転送を実行する（図９、Ｓ９０７）。そして、上記転送制御部１０１は、バス３００を占有させたことを上記書込読出制御部４１３に通知する。
【０１０９】
バス３００が占有されたことが通知されると、上記書込読出制御部４１３は、上記先頭アドレスが示す位置からデータをバッファ４１４に読み出す（図９、Ｓ９０８）。そして、上記書込読出制御部４１３は、読み出したデータをバッファ４１４の読出単位のデータブロックに分割して転送制御部１０１に転送する。
【０１１０】
上記書込読出制御部４１３は、再開後にバッファ４１４に読み出したデータの合計サイズが、再開後に上記書込読出制御部４１３に読出命令と共に転送されたサイズに達したかどうか判断する（図１０、Ｓ１００３）。
【０１１１】
上述のように全てのデータを記録媒体４１５から読み出すと、当該判断結果は、上記合計サイズが読出命令と共に転送されたサイズに達したとなる。当該結果が、上記合計サイズが読出命令と共に転送されたサイズに達したである場合、上記転送監視部４１１は、ＤＭＡＲＱ信号をネゲートする（図１０、Ｓ１００４）。
【０１１２】
上記のようにデータ転送が中途で終了したときに、ステップ１２０１、１２０３において、擬似終了フラグとエラーフラグが立てられているので、転送監視部４１１は、中断フラグとエラーフラグの値を立っていない状態に書き換える（図１０、Ｓ１００５）。そして上記転送監視部４１１は、割込信号を上記転送制御部１０１に転送する（図１０、Ｓ１００６）。
【０１１３】
そして、上記転送制御部１０１は、上記のようにしてバス３００の占有を解除する（図１１、Ｓ１１０１→Ｓ１１０２）。なお、データ転送を中途で終了したときに、ステップ１１０７において第２の転送完了フラグ１０９の値が「０」に書き換えられている。そのため、データ転送を再開することで、ＣＰＵ１５１からの読出指示に対するデータ転送を完了した場合、ステップ１１０３において第２の転送完了フラグ１０９の値を「１」に書き換える（図１１、Ｓ１１０３）。これにより読出命令に対応するデータの読み出しが完了する。
【０１１４】
また、判断ステップ１００１において読出エラーが発生すると、上記書込読出制御部４１３は、読出エラーが発生した旨を上記転送監視部４１１に通知する。読出エラーが発生した旨が通知されると、ＡＴＡに定められ通りに、上記転送監視部４１１は、エラーレジスタ４１７にエラーフラグを立てる（図１３、Ｓ１３０１）。そして、上記転送監視部４１１は、ＤＭＡＲＱ信号をネゲートし、終了指示としての割込信号を転送制御部１０１に転送する（図１３、Ｓ１３０２→Ｓ１３０３）。
【０１１５】
割込信号が転送されると、上記転送制御部１０１は、上記転送監視部４１１にエラーフラグが立っているか否かを問い合わせる（図１１、Ｓ１１０１）。ステップ１３０１においてエラーフラグを立てているので、上記転送監視部４１１はエラーフラグが立っていることを通知する。
【０１１６】
上記転送制御部１０１は、エラーフラグが立っていることが通知されると、上記転送監視部４１１に擬似終了フラグが立っているかどうかを問い合わせる（図１１、Ｓ１１０４）。上述のように擬似終了フラグを立てていないので、上記転送監視部４１１は擬似終了フラグが立っていないことを通知する。
【０１１７】
擬似終了フラグが立っていないことの通知を受けると、上記転送制御部１０１は、書込エラーが発生した場合の処理を行なう（図１１、Ｓ１１０８）。この処理は、ＡＴＡにて定められた方法である。
【０１１８】
そして、上記処理が終わると、上記転送制御部１０１は、上記第２の転送完了フラグ１０９の値を「０」に書き換える（図１１、Ｓ１１０７）。
【０１１９】
また、読出エラーが発生した場合、記録装置４１０の記録媒体４１５が傷等によって、記録媒体４１５からデータの読み出しができなくなっていることがある。そこで読出エラーが発生した場合、上記転送制御部１０１は、ＣＰＵ１５１等に記録媒体４１５が使用不可となったことを通知して、ＣＰＵ１５１から新たな指示を受けて、当該指示に従って、データ転送を行なうようにしてもよい。
【０１２０】
以上のように本発明を用いることで、データを記録媒体４１５から読み出すときにも、ウエイト状態の発生を未然に防止することができる。
【０１２１】
また、上記では転送制御部１０１が、データ転送が正常に終了したのか、書込エラーまたは読出エラーで終了したのか、バッファのデータ蓄積量が所定値となったことで終了したのかを知るために、エラーフラグ及び擬似終了フラグを原因情報として上記転送監視部４０１、４１１が保持している。
【０１２２】
これらのフラグを保持することに代えて、上記転送監視部４０１、４１１は割込信号を上記転送制御部１０１に転送する際に、データ転送が、正常に終了したのか、書込エラーまたは読出エラーで終了したのか、バッファのデータ蓄積量が所定値となったことで終了したのかを上記転送制御部１０１に通知してもよい。
【０１２３】
なお上記においては、記憶装置４００、４１０としてＡＴＡに対応した記憶装置４００、４１０を用いた場合について説明したが、本発明に用いられる記憶装置は、ＡＴＡに対応した記憶装置に限定されるものではない。
【０１２４】
【発明の効果】
本発明においては、ウエイト状態を未然に防ぎ、バスの占有を解除することで、従来ではウエイト状態となっている時間に、上記データ処理装置は他の記録装置とのデータ転送を行なうことができる。
【０１２５】
また、ウエイト状態を防ぐことで、従来ではデータ転送できなかった時間に、データ転送を行なうことができるので、バスを有効に利用することができ、データ転送の効率が向上する。
【図面の簡単な説明】
【図１】本発明のデータ転送システムのブロック図
【図２】データ処理装置と記録装置間のデータ転送の手順を示すフローチャート
【図３】記録装置におけるデータ転送の手順を示すフローチャート
【図４】データ処理装置におけるデータ転送の手順を示すフローチャート
【図５】データ処理装置におけるデータ転送の手順を示すフローチャート
【図６】記録装置におけるデータ転送の手順を示すフローチャート
【図７】記録装置におけるデータ転送の手順を示すフローチャート
【図８】ウエイト状態がある場合と無い場合のデータ転送のタイミングを示す図
【図９】データ処理装置と記録装置間のデータ転送の手順を示すフローチャート
【図１０】記録装置におけるデータ転送の手順を示すフローチャート
【図１１】データ処理装置におけるデータ転送の手順を示すフローチャート
【図１２】記録装置におけるデータ転送の手順を示すフローチャート
【図１３】記録装置におけるデータ転送の手順を示すフローチャート
【符号の説明】
１００  データ処理装置
１０１  転送制御部
１０８  第１の転送完了フラグ
１０９  第２の転送完了フラグ
４００、４１０  記録装置
４０１、４１１  転送監視部
４０２、４１２  バス制御部
４０３、４１３  書込読出制御部
４０４、４１４  バッファ
４０５、４１５  記録媒体
４０６、４１６  状態レジスタ
４０７、４１７  エラーレジスタ
４０８、４１８  アドレスレジスタ
【図１】
2004258986.tif 000003
【図２】
2004258986.tif 000004
【図３】
2004258986.tif 000005
【図４】
2004258986.tif 000006
【図５】
2004258986.tif 000007
【図６】
2004258986.tif 000008
【図７】
2004258986.tif 000009
【図８】
2004258986.tif 000010
【図９】
2004258986.tif 000011
【図１０】
2004258986.tif 000012
【図１１】
2004258986.tif 000013
【図１２】
2004258986.tif 000014
【図１３】
2004258986.tif 000015