(57)【要約】  【課題】  ホストコンピュータ側でストローブ信号のプロトコル違反が発生した場合に、データ転送を終了することが可能なデータ転送方法およびデータ転送システムを提供する。  【解決手段】  ホストコンピュータから受信したストローブ信号を、ストローブ信号に先立って受信し保存してあるＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して、正常ストローブ信号か異常ストローブ信号かを判断し、異常ストローブ信号のとき異常ストローブ信号の受信する数が予め決めた数に達したらデータ転送をしないでＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、ホストコンピュータに送信することを特徴とする（２０５〜２０９）。【選択図】  図２
2005173956.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから受信したストローブ信号によるデータ処理をしたデータを、ホストコンピュータにデータ転送するデータ転送方法において、前記ホストコンピュータから受信したストローブ信号を、該ストローブ信号に先立って受信し保存してあるＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して、正常ストローブ信号か異常ストローブ信号かを判断し、該異常ストローブ信号のとき該異常ストローブ信号の受信する数が予め決めた数に達したらデータ転送をしないで前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とするデータ転送方法。
【請求項２】
請求項１記載のデータ転送方法において、前記ホストコンピュータから受信したストローブ信号が前記異常ストローブ信号のときは、直ちに前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とするデータ転送方法。
【請求項３】
ホストコンピュータから受信したストローブ信号によるデータ処理をしたデータを、ホストコンピュータにデータ転送するデータ転送システムにおいて、前記ホストコンピュータから受信したストローブ信号を、該ストローブ信号に先立って受信し保存してあるＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して、正常ストローブ信号か異常ストローブ信号かを判断し、該異常ストローブ信号のとき該異常ストローブ信号の受信する数が予め決めた数に達したらデータ転送をしないで前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とするデータ転送システム。
【請求項４】
請求項３記載のデータ転送システムにおいて、前記ホストコンピュータから受信したストローブ信号が前記異常ストローブ信号のときは、直ちに前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とするデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータとドライブ装置間のデータ転送方法およびそのデータ転送方法を有するデータ転送システムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ等のホストコンピュータと光ディスク装置等のドライブ装置間のデータ転送を行うインターフェース(Ｉ／Ｆ)の代表例として、スカジー(ＳＣＳＩ)とアタ／アタピ(ＡＴＡ／ＡＴＡＰＩ)があり、ＳＣＳＩは、データバスにパリティビットを設けてデータ転送時のデータ誤りを検出することができるが、ＡＴＡ／ＡＴＡＰＩは、エラー検出用ビットが無く、ＡＴＡＰＩケーブルの物理的特性などによるインピーダンスの影響や高速データ転送にて、ホストコンピュータとドライブ装置間でデータ転送中にデータ誤りが発生することがあるという問題があった。ＡＴＡ／ＡＴＡＰＩの詳細は例えば非特許文献１に記載されている。
【０００３】
本問題に対する対応例として、従来、ホストコンピュータからドライブ装置へ転送中にデータ誤りの発生有無を診断するホストインターフェース診断処理が知られている。この処理方法では、ホストコンピュータが選択したデータ転送モードを用いて所定のデータをドライブ装置へ送信し、ドライブ装置にて、ホストコンピュータから受信した所定のデータと、予めホストコンピュータからの命令に基づいて作成してある比較用データとを比較し、比較結果が同じでない場合はエラーが発生したと判断して、ホストコンピュータとの間の上記選択したデータ転送モードによるデータの送受信を禁止し、比較結果が同じ場合は、エラーが発生していないと判断して、データの送受信を行う。この処理方法は、例えば特許文献１に記載されている。
【０００４】
【非特許文献１】ＣＱ出版株式会社発行、「ＡＴＡ（ＩＤＥ）／ＡＴＡＰＩの徹底研究」、Ｐ８〜２５。
【０００５】
【特許文献１】特開２００２−４１４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、このデータ転送方法では、データ転送のひとつのＰＩＯ（プログラム・インプット・アウトプット）データ転送において、ホストコンピュータ側で、ノイズや誤動作などにより、ストローブ信号のプロトコル違反が発生する場合について、何ら考慮されていない。
【０００７】
ストローブ信号は、レジスタまたはデータを読み書きするために読み書きのタイミングをコントロールする信号であり、ＰＩＯデータ転送においては、ドライブ装置→ホストコンピュータの転送方向を示すＩＯＲ-信号と、ホストコンピュータ→ドライブ装置の転送方向を示すＩＯＷ-信号の２種類の信号を使う。
【０００８】
ストローブ信号のプロトコル違反が発生して、ストローブ信号のドライブ装置→ホストコンピュータの転送方向を示すＩＯＲ-信号や、ホストコンピュータ→ドライブ装置の転送方向を示すＩＯＷ-信号に誤りが生じた場合、ドライブ装置側が誤ったストローブ信号によるデータ処理をしてしまい、誤ったストローブ信号によるデータ処理をしたデータと正常なストローブ信号によるデータ処理をしたデータとが混在して、以後の転送データが破綻してデータ転送を終了することができないという課題がある。
【０００９】
本発明の目的は、ホストコンピュータ側でストローブ信号のプロトコル違反が発生した場合に、データ転送を終了することが可能なデータ転送方法およびデータ転送システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明による請求項１記載のデータ転送方法は、ホストコンピュータから受信したストローブ信号によるデータ処理をしたデータを、ホストコンピュータにデータ転送するデータ転送方法において、前記ホストコンピュータから受信したストローブ信号を、該ストローブ信号に先立って受信し保存してあるＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して、正常ストローブ信号か異常ストローブ信号かを判断し、該異常ストローブ信号のとき該異常ストローブ信号の受信する数が予め決めた数に達したらデータ転送をしないで前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とする。
【００１１】
本発明による請求項２記載のデータ転送方法は、請求項１記載のデータ転送方法において、前記ホストコンピュータから受信したストローブ信号が前記異常ストローブ信号のときは、直ちに前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とする。
【００１２】
本発明による請求項３記載のデータ転送システムは、ホストコンピュータから受信したストローブ信号によるデータ処理をしたデータを、ホストコンピュータにデータ転送するデータ転送システムにおいて、前記ホストコンピュータから受信したストローブ信号を、該ストローブ信号に先立って受信し保存してあるＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して、正常ストローブ信号か異常ストローブ信号かを判断し、該異常ストローブ信号のとき該異常ストローブ信号の受信する数が予め決めた数に達したらデータ転送をしないで前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とする。
【００１３】
本発明による請求項４記載のデータ転送システムは、請求項３記載のデータ転送システムにおいて、前記ホストコンピュータから受信したストローブ信号が前記異常ストローブ信号のときは、直ちに前記ＡＴＡ／ＡＴＡＰＩコマンドに対するエラー終了通知を、前記ホストコンピュータに送信することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ホストコンピュータ側でストローブ信号のプロトコル違反が発生した場合に、データ転送を終了することが可能なデータ転送方法およびデータ転送システムを得ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づき本発明による実施の形態について説明する。
【００１６】
図１は、本発明に係るデータ転送方法を有するデータ転送システムの実施の形態の構成図である。
【００１７】
図１において、データ転送システムは、ホストコンピュータ１とドライブ装置２とが通信線３を介して互いにデータ転送可能に接続されている。
【００１８】
ホストコンピュータ１は、マイコン（マイクロコンピュータ）１１とメモリ１２とＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ１３を備え、ドライブ装置２は、ＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１とＤＳＰ（デジタル・シグナル・プロセッサ）２２とメモリ２３とマイコン（マイクロコンピュータ）２４を備える。
【００１９】
ＤＳＰ２２は、その内部に異常ストローブカウンタ２２−１とバイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ２２−２とインタラプト  リーズン（ＩＮＴＥＲＲＵＰＴ  ＲＥＡＳＯＮ）レジスタ２２−３とステイタス（ＳＴＡＴＵＳ）レジスタ２２−４を備える。これらのレジスタのうち、異常ストローブカウンタ２２−１以外のレジスタ２２−２〜２２−４は、ＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ１３用のＤＳＰ２２に、ＡＴＡ／ＡＴＡＰＩレジスタとして従来より内蔵されているレジスタである。
【００２０】
図２は、本発明に係るデータ転送方法の例を示すフローチャート図である。この図２は、ドライブ装置２がホストコンピュータ１からＡＴＡ／ＡＴＡＰＩコマンドを受信してからＡＴＡ／ＡＴＡＰＩコマンドに基づく終了をホストコンピュータ１に送信までのフローチャートを示す図である。
【００２１】
まずステップ２０１で、ホストコンピュータ１からのＡＴＡ／ＡＴＡＰＩコマンドをＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してＤＳＰ２２が受信して、ＡＴＡ／ＡＴＡＰＩコマンドの内容をメモリ２３に保存する。
【００２２】
次にステップ２０２で、受信したＡＴＡ／ＡＴＡＰＩコマンドで要求されたデータ転送の全バイト数例えば２０バイトの転送すべきデータ（ドライブ装置２の情報等）を、ＤＳＰ２２が作成してメモリ２３に保存する。
【００２３】
次にステップ２０３で、ＤＳＰ２２の異常ストローブカウンタ２２−１の初期化をする。初期設定値は例えば転送１回あたりのバイト数の１／２にする。（ストローブ信号１発につき２バイトのデータ転送をすると規格で決められているので、１回のデータ転送で発生する予定の総ストローブ信号数に相当する）。転送１回あたりのバイト数が例えば２０バイトの場合、初期設定値を１０に、マイコン（マイクロコンピュータ）２４が設定する。
【００２４】
次にステップ２０４で、データ転送を起動する。データ転送の起動は、バイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ２２−２に、転送１回あたりのバイト数を例えば２０に、マイコン（マイクロコンピュータ）２４が設定する。
【００２５】
またインタラプト  リーズン（ＩＮＴＥＲＲＵＰＴ  ＲＥＡＳＯＮ）レジスタ２２−３に、ＡＴＡ／ＡＴＡＰＩコマンドの内容によって決められたデータ転送方向を、マイコン（マイクロコンピュータ）２４が設定する。
【００２６】
さらにステイタス（ＳＴＡＴＵＳ）レジスタ２２−４のビジーをクリアしてデータリクエスト（ＤＲＱ）を、マイコン（マイクロコンピュータ）２４がセットする。
【００２７】
このことで、ＤＳＰ２２内のＡＴＡ／ＡＴＡＰＩの各レジスタの設定が完了し、データ転送の準備が完了したことを、マイコン（マイクロコンピュータ）２４がＤＳＰ２２とＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してホストコンピュータ１に通知する。
【００２８】
次にステップ２０５で、ホストコンピュータ１からのストローブ信号をＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してＤＳＰ２２が受信する。
【００２９】
次にステップ２０６で、受信したストローブ信号が異常ストローブ信号であるかどうかを、マイコン（マイクロコンピュータ）２４がメモリ２３に保存しているＡＴＡ／ＡＴＡＰＩコマンドの内容と比較して判断する。
【００３０】
例えばＡＴＡ／ＡＴＡＰＩコマンドがドライブ装置→ホストコンピュータの転送方向を示すＩＯＲ-信号であった場合、受信したストローブ信号がＩＯＲ-信号であるときは正常ストローブ信号と判断し、受信したストローブ信号がＩＯＷ-信号であるときは異常ストローブ信号と判断する。
【００３１】
異常ストローブ信号と判断したとき、次のステップ２０７で、異常ストローブカウンタ２２−１の初期設定値を１減算する処理、例えば初期設定値１０を１減算する処理を、マイコン（マイクロコンピュータ）２４が行う。
【００３２】
次にステップ２０８で、異常ストローブカウンタ２２−１の減算した値が０であるかを、マイコン（マイクロコンピュータ）２４が判断する。
【００３３】
減算した値が０でないと判断したときはステップ２０５に戻り、減算した値が０であると判断したときは、ステップ２０９で、ステップ２０１でのＡＴＡ／ＡＴＡＰＩコマンドの受信に対するエラー終了通知を、マイコン（マイクロコンピュータ）２４がＤＳＰ２２とＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してホストコンピュータ１に送信する。
【００３４】
ステップ２０６で、受信したストローブ信号が正常ストローブ信号と判断したときは、ステップ２１０で、正常ストローブ信号に従いメモリ２３に保存してあるデータ転送１回あたりの全バイト数例えば２０バイトのうちの最初の２バイトを取り出すという、正常なストローブ信号によるデータ処理をしたデータのデータ転送を、マイコン（マイクロコンピュータ）２４がＤＳＰ２２とＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してホストコンピュータ１に行う。
【００３５】
次にステップ２１１で、ＤＳＰ２２が転送したバイト数が転送１回あたりの全バイト数例えば２０の数になり転送が終了したかを、マイコン（マイクロコンピュータ）２４がバイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ２２−２の内容と比較して判断する。
【００３６】
転送が終了していないと判断したときはステップ２０５に戻り、ステップ２０６で次に受信したストローブ信号が正常ストローブ信号と判断したときは、ステップ２１０で、次の２バイトを取り出すという、正常なストローブ信号によるデータ処理をしたデータのデータ転送を、ホストコンピュータ１に行う。
【００３７】
転送が終了したと判断したときは、ステップ２１２で、ＡＴＡ／ＡＴＡＰＩコマンドで要求されたデータ転送の全バイト数例えば２０バイトのデータ転送が終了したかを、マイコン（マイクロコンピュータ）２４が判断する。
【００３８】
ＡＴＡ／ＡＴＡＰＩコマンドで要求されたデータ転送の全バイト数例えば２０バイトのデータ転送が終了していないと判断したときはステップ２０３に戻り、残りのバイトのデータ転送を行う。
【００３９】
ＡＴＡ／ＡＴＡＰＩコマンドで要求されたデータ転送の全バイト数例えば２０バイトのデータ転送が終了したと判断したときは、ステップ２１３で、ステップ２０１でのＡＴＡ／ＡＴＡＰＩコマンドの受信に対する正常終了通知を、マイコン（マイクロコンピュータ）２４がＤＳＰ２２とＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ２１を介してホストコンピュータ１に送信する。
【００４０】
なお、上記のステップ２０４で、バイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ２２−２に、データ転送１回あたりのバイト数を１０に設定した場合は、ステップ２１１では、バイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ２２−２に設定してある転送１回あたりのバイト数が１０の数になり１回のデータ転送が終了したかを判断し、転送が終了したと判断したときは、ステップ２１２で、ＡＴＡ／ＡＴＡＰＩコマンドで要求されたデータ転送の全バイト数例えば２０バイトのデータ転送が終了したかを判断する。
【００４１】
また、上記のステップ２０３において、異常ストローブカウンタ２２−１の初期設定値を１に設定した場合は、ステップ２０６で始めて異常ストローブ信号と判断したとき、ステップ２０７で異常ストローブカウンタが０となるので、受信したストローブ信号が異常ストローブ信号のときはデータ転送をしないで、直ちに、ステップ２０９で、ステップ２０１でのＡＴＡ／ＡＴＡＰＩコマンドの受信に対するエラー終了通知をホストコンピュータ１に送信する。
【図面の簡単な説明】
【００４２】
【図１】本発明に係るデータ転送方法を有するデータ転送システムの実施の形態の構成図である。
【図２】本発明に係るデータ転送方法の例を示すフローチャート図である。
【符号の説明】
【００４３】
１…ホストコンピュータ、２…ドライブ装置、３…通信線、１１…マイコン（マイクロコンピュータ）、１２…メモリ、１３，２１…ＡＴＡ／ＡＴＡＰＩ  Ｉ／Ｆ、２２…ＤＳＰ（デジタル・シグナル・プロセッサ）、２２−１…異常ストローブカウンタ、２２−２…バイト  カウント（ＢＹＴＥ  ＣＯＵＮＴ）レジスタ、２２−３…インタラプト  リーズン（ＩＮＴＥＲＲＵＰＴ  ＲＥＡＳＯＮ）レジスタ、２２−４…ステイタス（ＳＴＡＴＵＳ）レジスタ、２３…メモリ、２４…マイコン（マイクロコンピュータ）。
【図１】
2005173956.tif 000003
【図２】
2005173956.tif 000004