(57)【特許請求の範囲】
【請求項１】
1394インターフェースと、データ変換器と、SCSIインターフェースとを備え、1394プロトコルとSCSIプロトコルとの間のデータ転送時にデータの変換処理を行うインターフェース変換装置であって、
前記データ変換器は、
前記1394プロトコルとSCSIプロトコルとを独立して制御する制御部と、
前記1394インターフェースとSCSIインターフェースとの間でデータを転送するＤＭＡコントローラーと、
前記1394インターフェース、SCSIインターフェース及びＤＭＡコントローラーを制御する中央処理部と、を備え、
前記中央処理部は、
前記1394プロトコルで動作するホスト機器からのリセット要求発生時に、前記SCSIプロトコルで動作するSCSIデバイスをリセットすることなくバスフリーフェーズとする第三の処理部を備えたことを特徴とするインターフェース変換システム。
【請求項２】
前記中央処理部は、
前記1394インターフェースでのデータエラー発生時に、前記1394プロトコルで動作するホスト機器にエラー報告することなく、データの再転送を行う第一の処理部を備えたことを特徴とする請求項１記載のインターフェース変換システム。
【請求項３】
前記中央処理部は、
前記SCSIインターフェースでのデータエラー発生時に、前記1394プロトコルで動作するホスト機器にエラー報告することなく、データの再転送を行う第二の処理部を備えたことを特徴とする請求項１または２記載のインターフェース変換システム。
【請求項４】
前記中央処理部は、
前記1394プロトコルで動作するホスト機器から出力されるコマンドを分割して、前記SCSIプロトコルで動作するSCSIデバイスに発行する第四の処理部を備えたことを特徴とする請求項１乃至３のいずれか１つに記載のインターフェース変換システム。
【請求項５】
1394インターフェースと、
SCSIインターフェースと、
前記1394インターフェースと前記SCSIインターフェースとの間でデータを転送するＤＭＡコントローラーと、
前記1394インターフェース、前記SCSIインターフェース及び前記ＤＭＡコントローラーを制御する中央処理部と、を備えるデータ変換器と、
を含むインターフェース変換システムのデータ転送方法であって、
前記中央処理部は、
1394ホスト機器とSCSIデバイスとの間のデータ転送時に、1394ホスト機器からのリセット要求が発行されたとき、SCSIデバイスをリセットすることなくバスフリーフェーズとすることを特徴とするデータ転送方法。
【請求項６】
1394インターフェースと、
SCSIインターフェースと、
前記1394インターフェースと前記SCSIインターフェースとの間でデータを転送するＤＭＡコントローラーと、
前記1394インターフェース、前記SCSIインターフェース及び前記ＤＭＡコントローラーを制御する中央処理部と、を備えるデータ変換器と、
を含むインターフェース変換システムのデータ転送方法であって、
前記中央処理部は、
1394ホスト機器からSCSIデバイスへのデータ転送時に、1394ホスト機器からのリセット要求が発行されたとき、SCSIデバイスにATN信号をアサートし、SCSIデバイスから当該コマンドで転送するデータの空書き込みを行ってSCSIデバイスをメッセージＯＵＴフェーズに移行させ、次いでAbort信号をSCSIデバイスに入力してバスフリーフェーズとして、SCSIデバイスをリセットすることなく、通常処理に復帰させることを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、IEEE1394規格のインターフェースを備えた機器と、SCSI規格のインターフェースを備えた機器との間でデータ転送を行う場合に使用されるインターフェース変換装置に関するものである。
【０００２】
ホスト機器であるIEEE1394規格のインターフェースを備えた機器と、SCSI規格のインターフェースを備えた機器とでデータ転送を行う場合、ホスト機器の指示に基づいて、コマンドを受け渡し、データを送受信し、ステータスを返すという動作をしていると、データ転送効率の向上は望めず、エラーが発生した場合の復旧処理にも時間を要し、システム全体のパフォーマンスが低下する。データ転送を効率よく行うためには、IEEE1394機器と、SCSI機器との間のデータ転送を効率よく仲介するインターフェース変換装置が必要となる。
【０００３】
【従来の技術】
近年、高速シリアルバスインターフェースの規格であるIEEE1394準拠のインターフェースを搭載した機器が年々増加し始めている。このIEEE1394インターフェースは、電源が投入された状態で、バスの接続あるいは取外しが可能となっている。
【０００４】
一方、コンピュータと周辺機器を接続するための高速インターフェース規格であるSCSIは、これまでにハードディスクドライブやＣＤ−ＲＯＭドライブ・スキャナー等、数多くのパソコン周辺機器に採用され、普及が進んでいる。
【０００５】
IEEE1394インターフェースを有するwindows（Ｒ）等のＯＳを搭載したホストＰＣと、SCSIインターフェースを備えたデバイスとを接続する場合、異なるインターフェースを仲介するようなデータ変換を行うインターフェース変換装置が必要である。
【０００６】
従来の1394−SCSI間のインターフェース変換装置は、図１６に示すように、データ変換器１と、1394側のＩ／Ｆコントローラー２及びSCSI側のＩ／Ｆコントローラー３とから構成される。
【０００７】
そして、Ｉ／Ｆコントローラー２がホストＰＣ４に接続され、Ｉ／Ｆコントローラー３がSCSIデバイス５に接続される。
このようなインターフェース変換装置では、データの切り貼り程度の簡単なフォーマット変換により、IEEE1394とSCSIとの異なるインターフェース間でのデータ転送を行っている。
【０００８】
これは、IEEE1394インターフェース上で利用されているＳＢＰ２と呼ばれるプロトコルが、SCSIプロトコルをベースとして作られているため、転送されてくるデータのフォーマットが異なっていても、処理手順やデータの内容に共通性を持っていることによる。
【０００９】
すなわち、IEEE1394インターフェース及びSCSIインターフェースでは、図１７に示すように、コマンドフェッチ（取り込み）動作（ステップ１）と、コマンドに基づくデータ転送動作（ステップ２）と、データ転送動作終了後のステータス報告（ステップ３）とを繰り返す共通の処理手順で動作する。
【００１０】
具体的には、図２０に示すように、1394側インターフェースでは、IEEE1394インターフェースで動作するホストＰＣからのコマンドORB（Operation request Block）の取り込み動作と、そのコマンドに基づくデータ転送動作と、データ転送終了後のステータス報告動作とを繰り返す。
【００１１】
また、SCSIインターフェース側では、上記コマンドORBの取り込み動作に対応するＣＭＤフェーズと、データ転送動作に対応するデータＩＮ／ＯＵＴフェーズと、ステータス報告動作に対応するステータスフェーズ及びメッセージフェーズとを繰り返す。
【００１２】
コマンドORBは、命令の指示を行うパケットフォーマットであり、図１８に示すように、データの大きさ、転送速度、ページサイズ、データサイズ等の各種データ領域と、command block領域に実際の実行コマンドが書き込まれている。
【００１３】
command blockの内容は、SCSIデバイスに送られるコマンドと同一である。従って、インターフェース変換装置において、コマンドORBの取り込み動作時には、データ変換器１でcommand block領域部分を切り出して、SCSIデバイス側に転送すればよい。
【００１４】
コマンドORBの取り込み動作に続くデータ転送動作時には、データ変換器１は実行コマンドに基づいてホストＰＣ４から受け取ったデータ、あるいはSCSIデバイス５から受け取ったデータを加工することなく転送する。
【００１５】
ステータス報告動作時には、インターフェース変換装置ではSCSIデバイス側から前記実行コマンドに対するステータス及びメッセージ報告を受け取ると、その内容を1394側インターフェースのステータスFIFOフォーマットに反映させて、ホストＰＣ４に転送する。
【００１６】
具体的には、ステータス及びメッセージ報告の内容を、図１９に示すステータスFIFOフォーマットのcommand set-dependent領域に反映させて転送する。
また、1394側のホストＰＣ４では、Windows（Ｒ）等のＯＳ上でＳＰＢ２プロトコルを制御するドライバが動作し、その１つのドライバで、接続されるすべてのＳＰＢ２対応IEEE1394デバイスを制御している。
【００１７】
従って、接続されたSCSIデバイスに対するコマンドやデータの出力開始タイミングあるいはエラー処理を開始するタイミングは、ホストＰＣ４の動作状態によって変動する。
【００１８】
【発明が解決しようとする課題】
上記のようなインターフェース変換装置では、次に示すような問題点がある。
（１）ホストＰＣ４からSCSIデバイス５にコマンドあるいはデータを転送する場合、1394インターフェース側では正常に転送しているのに、SCSIインターフェース側でエラーが発生すると、ホストＰＣ４に対しエラー報告をする必要がある。
（２）SCSIデバイス５からホストＰＣ４にデータを転送する場合、SCSIインターフェース側では正常に転送しているのに、1394インターフェース側でエラーが発生すると、ホストＰＣ４に対しエラー報告をする必要がある。
（３）エラーが発生した場合、ホストＰＣ４からの指示を待って復旧処理を行うため、復旧完了までに時間を要する。特に、データ転送動作時にエラーが発生すると、データの転送レートが低下し、システムのパフォーマンス低下を招く。
（４）1394インターフェース側若しくはSCSIインターフェース側でエラーが発生した場合、当該コマンドで行ったデータ転送を最初からやり直す（リトライ）必要がある。
（５）ホストＰＣ４でのコマンドORBの取り込み動作、そのコマンドに基づくデータ転送動作、及びデータ転送終了後のステータス報告動作の各動作の開始タイミングに対し、SCSIデバイスでのＣＭＤフェーズ、データ入出力フェーズ及びステータスフェーズの開始タイミングのずれが大きくなると、SCSIインターフェース側でエラーが発生していないにも関わらず、ホストＰＣ４がエラーと認識してしまい、復旧処理が必要となる。
【００１９】
この発明の目的は、1394インターフェースとSCSIインターフェースとの間でのデータ転送動作のパフォーマンスを向上させ得るインターフェース変換装置を提供することにある。
【００２０】
【課題を解決するための手段】
図１に示すように、インターフェース変換装置は、1394インターフェース１１,１２と、データ変換器１４，１５，１６と、SCSIインターフェース１３とを備え、1394プロトコルとSCSIプロトコルとの間のデータ転送時にデータの変換処理を行う。前記データ変換器は、前記1394プロトコルとSCSIプロトコルとを独立して制御する制御部１４，１６を備えた。
【００２１】
また、前記データ変換器は、前記1394インターフェース１１,１２とSCSIインターフェース１３との間でデータを転送するＤＭＡコントローラー１５と、前記1394インターフェース１１，１２、SCSIインターフェース１３及びＤＭＡコントローラー１５を制御する中央処理部１４と、前記中央処理部１４に接続されたメモリー１６とから構成される。中央処理部１４は、1394プロトコルで動作するホスト機器からのリセット要求発生時に、SCSIプロトコルで動作するSCSIデバイスをリセットすることなくバスフリーフェーズとする第三の処理部を備えた。
【００２２】
【発明の実施の形態】
図１は、この発明を具体化したインターフェース変換装置の概要を示す。1394ＰＨＹ１１は、1394機器と接続するための物理層機能を備え、1394インターフェースバスを介して1394ホストＰＣ４（ホスト機器）に接続される。
【００２３】
1394ＰＨＹ１１に接続される1394ＬＩＮＫ１２は、リンク層機能を備え、1394ＰＨＹ１１が送受信するデータやパケットに対し、管理及び制御を行う。前記1394ＰＨＹ１１と1394ＬＩＮＫ１２とで、1394インターフェースが構成される。
【００２４】
SCSIコントローラー１３は、SCSIインターフェースバスを介してターゲットとなるSCSIデバイス５に接続され、SCSIデバイス５とのデータの送受信を制御する。
【００２５】
ＭＰＵ１４は、前記1394ＬＩＮＫ１２、SCSIコントローラー１３に接続されるとともに、ＤＭＡ（Direct Memory Access）コントローラー１５及びメモリー１６に接続される。そして、ＭＰＵ１４はメモリー１６内に格納されているプログラムに基づいて動作して、1394ＬＩＮＫ１２、SCSIコントローラー１３、ＤＭＡコントローラー１５及びメモリー１６の動作を制御し、かつ監視する。また、メモリー１６は1394ＬＩＮＫ１２、ＭＰＵ１４及びSCSIコントローラー１３を経由するデータを一時的に格納するメモリーとして使用される。
【００２６】
前記ＤＭＡコントローラー１５は、通常のデータ転送動作時に、ＭＰＵ１４を介することなく、1394ＬＩＮＫ１２とSCSIコントローラー１３との間のデータ転送を行うものである。そして、前記ＭＰＵ１４、ＤＭＡコントローラー１５及びメモリー１６で制御部が構成される。
【００２７】
図２は、インターフェース変換装置において、データ転送動作中に何らかのエラーが発生した場合のＭＰＵ１４の動作を示す。
データ転送動作中に、ＭＰＵ１４は1394ＰＨＹ１１、1394ＬＩＮＫ１２及びSCSIコントローラー１３の動作を監視している（ステップ１）。そして、1394インターフェースでのエラーの発生、SCSIインターフェースでのエラーの発生あるいは1394ホストＰＣ４からのリセット要求の発生を検出すると（ステップ２）、第一の処理部として動作して1394インターフェースのエラー処理（ステップ３）を行い、第二の処理部としてSCSIインターフェースのエラー処理（ステップ４）を行い、あるいは第三の処理部として1394ホストＰＣ４からのリセット要求に対する処理（ステップ５）を行って、ステップ１に復帰する。
（1394インターフェースでエラーが検出された場合のエラー処理）
ステップ３の内容を図３に従って説明する。1394インターフェースでエラーが検出されると、ＭＰＵ１４は、ステップ６〜８とステップ９，１０とのいずれかの処理を選択する。
【００２８】
ステップ６では、エラーが検出されると、SCSIターゲットデバイス５へのデータ転送動作を終結させる。次いで、1394ホストＰＣ４にエラー報告を行い（ステップ７）、1394ホストＰＣ４からの指示を待つ状態（ステップ８）となってエラー処理を終了する。
【００２９】
ステップ９では、データ転送動作中にエラーが発生したパケットについて、そのパケットの再送受信を行い、その再送受信が正常に行われると、続くパケットの通常のデータ転送を再開して（ステップ１０）、エラー処理を終了する。
【００３０】
ステップ６〜８は、従来のインターフェース変換装置と同様な処理であり、ステップ６〜８とステップ９，１０のいずれを選択するかは、エラーの内容に基づいてＭＰＵ１４が選択する。
（SCSIインターフェースでエラーが検出された場合のエラー処理）
前記ステップ４の内容を図４に従って説明する。SCSIインターフェースでエラーが検出されると、ＭＰＵ１４は、ステップ１１〜１３とステップ１４〜１６とのいずれかの処理を選択する。
【００３１】
ステップ１１では、エラーが検出されると、SCSIターゲットデバイスへのデータ転送動作を終結させる。次いで、図１９に示すステータスFIFOフォーマットに基づいて1394ホストＰＣ４にエラー報告を行い（ステップ１２）、1394ホストＰＣ４からの指示を待つ状態（ステップ１３）となってエラー処理を終了する。
【００３２】
ステップ１４では、エラーが検出されると、ステップ１１と同様に、SCSIターゲットデバイス５へのデータ転送動作を終結させる。
次いで、ステップ１４で中止したコマンドをSCSIターゲットデバイス５に再発行するか、若しくはデータ転送中止以降の領域に対するコマンドを発行する（ステップ１５）。
【００３３】
そして、ステップ１５で発行したコマンドに合わせて、データの転送動作を再開して（ステップ１６）、エラー処理を終了する。
ステップ１１〜１３は、従来のインターフェース変換装置と同様な処理であり、ステップ１１〜１３とステップ１４〜１６のいずれを選択するかは、エラーの内容に基づいてＭＰＵ１４が選択する。
（1394ホストＰＣ４からリセット要求が入力された場合の処理）
前記ステップ５の内容を図５に従って説明する。1394ホストＰＣ４からリセット要求が入力されると、ＭＰＵ１４はステップ１７〜１９の処理動作と、ステップ２０，２１の処理動作のいずれかを選択して行う。いずれを選択するかは、1394ホストＰＣ４からの要求内容（Management ORBの内容）に基づいて決定される。
【００３４】
Management ORBの内容が、Abort Task、Abort Task Set、Logical Unit Reset、Target Reset、Logoutのいずれかである場合には、ＭＰＵ１４はステップ１７〜１９の処理動作を行う。
【００３５】
すなわち、Management ORBの入力に基づいて、SCSIデバイス５とのデータ転送動作を終了し（ステップ１７）、そのManagement ORBに対する応答パケットを1394ホストＰＣ４に出力する（ステップ１８）。次いで、1394ホストＰＣ４からの次の指示を待つ状態となる（ステップ１９）。
【００３６】
一方、1394ホストＰＣ４から入力されるManagement ORBの内容が、上記以外の内容であれば、ＭＰＵ１４はそのManagement ORBに対する応答パケットを1394ホストＰＣ４に出力し（ステップ２０）、データ転送を再開する（ステップ２１）。
（SCSIターゲットデバイス５に対するのデータ転送終結処理）
図６は、前記ステップ６，１１，１７におけるデータ転送終結処理の処理内容を示す。SCSIターゲットデバイス５に対するのデータ転送終結処理は、エラーの内容あるいは1394ホストＰＣ４からのリセット要求の内容に基づいて、ステップ２２，２３と、ステップ２４〜２６と、ステップ２７〜２９とのいずれかがＭＰＵ１４により選択される。
【００３７】
ステップ２２では、当該SCSIデバイス５に対しリセット処理を行い、そのSCSIデバイス５をバスフリーフェーズとして（ステップ２３）、データ転送終結処理を終了する。この動作は従来のインターフェース変換装置と同様である。
【００３８】
ステップ２４では、データ転送終結処理の開始とともに、ダミーデータによるデータ転送動作（Padding転送）を開始し、当該コマンドに対応するデータ転送動作を完了させる。
【００３９】
次いで、ステップ２４の動作に基づいて、メッセージＩＮフェーズでCommand Complete応答を確認し、ステータスＩＮフェーズでGood応答を確認して、データ転送が終了したことを確認し（ステップ２５）、さらにSCSIデバイス５がバスフリー状態となったことを確認して（ステップ２６）、データ転送終結処理を終了する。
【００４０】
ステップ２７では、ATN信号をアサートし、ダミーデータによるデータ転送動作（Padding転送）を開始し、当該コマンドに対応するデータ転送動作を完了させる。
【００４１】
次いで、ステップ２７の動作に基づいて、SCSIデバイス５がメッセージＯＵＴフェーズに移行すると、SCSIデバイス５に対しAbort信号を出力する（ステップ２８）。
【００４２】
そして、さらにSCSIデバイス５がバスフリー状態となったことを確認して（ステップ２９）、データ転送終結処理を終了する。
（1394ホストＰＣ４からコマンドを受信した場合の処理内容）
図７は、インターフェース変換装置が1394ホストＰＣ４からコマンドを受信した場合のＭＰＵ１４の第四の処理部としての動作を示す。
【００４３】
すなわち、インターフェース変換装置が1394ホストＰＣ４からコマンドを受信すると、ＭＰＵ１４は受信したCommand ORBパケットが、どのようなコマンドか、あるいは転送データ量がどのくらいであるかの解析を行う（ステップ３０）。
【００４４】
次いで、ＭＰＵ１４はステップ３１，３２若しくはステップ３３のいずれかの処理を行う。
ステップ３１では、受信したコマンドを分割して１つのコマンドあたりの転送データ量を少なくしたり、あるいは１つのコマンドあたりの転送データ量を少なくするための代替コマンドを生成する等の処理を行う。
【００４５】
次いで、ステップ３２ではステップ３１で生成されたコマンドをSCSIデバイス５に順次発行して、データ転送動作に移行する。
ステップ３３では、ステップ３０で解析したコマンドを加工することなく、そのままSCSIデバイス５に発行する。
【００４６】
ステップ３０に続いて、ステップ３１，３２とステップ３３のいずれを実行するかは、受信したコマンドの内容と、SCSIデバイス５や1394ホストＰＣ４の性能に応じて選択される。
（SCSIデバイス５にコマンドを発行する場合の処理内容）
図８は、インターフェース変換装置からSCSIデバイス５にコマンドを発行してデータ転送動作を開始する場合のＭＰＵ１４の第五の処理部としての動作を示す。
【００４７】
この処理動作は、ステップ３４，３５と、ステップ３６〜３８のいずれかが選択される。
ステップ３４で、SCSIデバイス５へのコマンド発行に続いて、SCSIデバイス５のデータフェーズへの移行を検出すると、ステップ３５で1394ホストＰＣ４に転送データを要求し、データ転送動作を開始する。
【００４８】
ステップ３６では、SCSIデバイス５へのコマンド発行に続いて、1394ホストＰＣ４に直ちに転送データを要求する。次いで、1394ホストＰＣ４から転送されるデータをメモリー１６に一時格納する（ステップ３７）。
【００４９】
そして、SCSIデバイス５がデータフェーズに移行すると、メモリー１６に格納されたデータからSCSIデバイス５に順次転送して(ステップ３８)、データ転送動作を行う。
【００５０】
ステップ３４，３５と、ステップ３６〜３８のいずれを選択するかは、SCSIデバイス５の性能に応じてＭＰＵ１４により決定される。
次に、上記のように構成されたインターフェース変換装置の動作を説明する。
【００５１】
図９は、図３に示すステップ９，１０において、1394ホストＰＣ４からSCSIデバイス５へデータ転送を行う場合のエラー処理動作を示す。データ転送時には、インターフェース変換装置から1394ホストＰＣ４への読み出し要求信号（Read Request）に基づいて、パケット毎に1394ホストＰＣ４からインターフェース変換装置内のＤＭＡコントローラー１５を介してデータＯＵＴフェーズであるSCSIデバイス５にデータが転送される。
【００５２】
そして、1394ホストＰＣ４からインターフェース変換装置に転送されたデータにエラーが検出されると、ＭＰＵ１４はエラーを含むパケットを破棄し、1394ホストＰＣ４に再度同一データの読み出し要求信号を出力し、再送されたデータが正常であれば、当該データをSCSIデバイス５に転送する。この後は、通常のデータ転送動作に復帰する。
【００５３】
図１０は、図３に示すステップ９，１０において、SCSIデバイス５から1394ホストＰＣ４へデータ転送を行う場合のエラー処理動作を示す。データは、データＩＮフェーズであるSCSIデバイス５からインターフェース変換装置に転送され、インターフェース変換装置からホストＰＣに書き込み要求信号（Write Request）が出力されて、データが1394ホストＰＣ４に転送される。このとき、転送データはＤＭＡコントローラー１５を介して転送される。
【００５４】
そして、データが1394ホストＰＣ４に正常に転送されると、1394ホストＰＣ４からインターフェース変換装置に書き込み応答信号（Write Response）が入力され、このような動作が繰り返される。ＤＭＡコントローラー１５では、書き込み応答信号が入力されるまで、前転送データを保持している。
【００５５】
インターフェース変換装置から1394ホストＰＣ４にデータを転送する際、1394インターフェースでエラーが発生すると、ＭＰＵ１４はエラーが発生したパケットと同一のデータをＤＭＡコントローラー１５から読み出し、再度1394ホストＰＣ４に対し転送動作を行う。
【００５６】
このとき、SCSIデバイス５からインターフェース変換装置へのデータ転送動作を中断しない。そして、1394ホストＰＣ４へのデータの再送に成功すれば、続くデータの転送動作を引き続いて行う。
【００５７】
図１１は、図４に示すステップ１４〜１６において、1394ホストＰＣ４からSCSIデバイス５へデータ転送を行う場合のエラー処理動作を示す。データ転送時には、インターフェース変換装置から1394ホストＰＣ４への読み出し要求信号（Read Request）に基づいて、パケット毎に1394ホストＰＣ４からインターフェース変換装置内のＤＭＡコントローラー１５を介してデータＯＵＴフェーズであるSCSIデバイス５にデータが転送される。
【００５８】
そして、SCSIインターフェースでデータにエラーが検出されると、ＭＰＵ１４は1394ホストＰＣ４へのエラー報告を行うことなく、データの転送動作を中止し、当該転送動作の実行コマンドを再度SCSIデバイス５に発行する。
【００５９】
そして、ＭＰＵ１４は1394ホストＰＣ４へ読み出し要求信号を出力し、当該コマンドによるSCSIデバイス５への転送動作を最初からやり直す。
図１２は、図４に示すステップ１４〜１６において、SCSIデバイス５から1394ホストＰＣ４へデータ転送を行う場合のエラー処理動作を示す。データは、データＩＮフェーズであるSCSIデバイス５からインターフェース変換装置に転送され、インターフェース変換装置からホストＰＣに書き込み要求信号（Write Request）が出力されて、データが1394ホストＰＣ４に転送される。
【００６０】
そして、データが1394ホストＰＣ４に正常に転送されると、1394ホストＰＣ４からインターフェース変換装置に書き込み応答信号（Write Response）が出力され、このような動作が繰り返される。
【００６１】
SCSIデバイス５から1394ホストＰＣ４にデータを転送する際、SCSIインターフェースでエラーが発生すると、ＭＰＵ１４は1394ホストＰＣ４へエラー報告することなく、図６に示すステップ２７〜２９にしたがって動作し、SCSIデバイス５に対しATN信号をアサートする。
【００６２】
そして、SCSIデバイス５から当該実行コマンドに対応する残りのデータの空読み出し（Padding転送）を行って、SCSIデバイス５をメッセージＯＵＴフェーズに移行させる。
【００６３】
SCSIデバイス５のメッセージＯＵＴフェーズへの移行に基づいて、ＭＰＵ１４はSCSIデバイス５にAbortメッセージを出力して実行中のコマンドを中止させ、SCSIデバイス５をバスフリーフェーズに移行させる。
【００６４】
SCSIデバイス５がバスフリーフェーズに移行すると、ＭＰＵ１４はエラー発生時の実行コマンドを再度SCSIデバイス５に発行し、SCSIデバイス５から1394ホストＰＣへのデータ転送を再開する。
【００６５】
図１３は、図５に示すステップ１７〜１９において、1394ホストＰＣ４からLogical Unit ResetのManagement ORBが発行された場合の処理動作を示す。
1394ホストＰＣ４からSCSIデバイス５にデータを転送中に、1394ホストＰＣ４からLogical Unit ResetのManagement ORBのフェッチ要求（Write Request）が出力されると、ＭＰＵ１４はその要求に応答し（Write Response）、次いでManagement ORBのフェッチ動作（Read Request，Read Response）を行う。
【００６６】
次いで、SCSIデバイス５をリセットすることなく、図６に示すステップ２７〜２９に示すように、SCSIデバイス５にATN信号をアサートし、SCSIデバイス５に空書き込み（Padding転送）を行い、メッセージＯＵＴフェーズに移行後、Abort信号を出力してバスフリーフェーズに移行させる。そして、通常の処理に復帰する。
【００６７】
図１４は、図７に示すステップ３０〜３２において、SCSIデバイス５から1394ホストＰＣ４にデータ転送を行う場合を示す。
1394ホストＰＣ４からCommand ORBを受け取り、そのコマンドの内容が例えばRead10コマンドで転送量が１０MByteである場合、ＭＰＵ１４はそのコマンドの変換を行い、例えばRead10コマンドで転送量が１Mbyteの１０個のコマンドに分割する。
【００６８】
そして、分割したコマンドをSCSIデバイス５に順次発行して、データ転送動作を繰り返す。
従って、転送量の大きいコマンドは、転送量の小さい複数のコマンドに分割されて実行される。
【００６９】
図１５は、図８に示すステップ３６〜３８において、1394ホストＰＣ４からSCSIデバイス５にデータ転送を行う場合を示す。
1394ホストＰＣ４からCommand ORBを受け取り、そのコマンドをSCSIデバイス５に発行した後、SCSIデバイス５がコマンドフェーズからデータＯＵＴフェーズに移行するまでの間、インターフェース変換装置では1394ホストＰＣ４から読み出したデータをメモリー１６に格納する。
【００７０】
そして、SCSIデバイス５がデータＯＵＴフェーズに移行した後、まずメモリー１６に格納されているデータをSCSIデバイス５に転送し、次いで通常の転送動作に移行する。
【００７１】
このような動作により、SCSIデバイス５のコマンドフェーズからデータＯＵＴフェーズへの移行が遅い場合にも、1394ホストＰＣ４がSCSIデバイス５の処理動作をエラーと判定することなく、1394ホストＰＣ４からのデータ読み出し動作を遅滞なく行うことができる。
【００７２】
上記のように構成されたインターフェース変換装置では、次に示す作用効果を得ることができる。
（１）図９に示すように、1394ホストＰＣ４からSCSIデバイス５にデータを転送する場合、1394インターフェースでエラーが発生しても、1394ホストＰＣ４にエラー報告することなく、エラーが発生したデータと同じデータを再送することにより、SCSIデバイス５へのデータ転送を継続することができる。従って、コマンドを最初からやり直す必要がないので、データ転送効率を向上させることができる。
（２）図１０に示すように、SCSIデバイス５から1394ホストＰＣ４にデータを転送する場合、1394インターフェースでエラーが発生しても、1394ホストＰＣ４にエラー報告することなく、エラーが発生したデータと同じデータをＤＭＡコントローラー１５から読み出して再送することにより、SCSIデバイス５から1394ホストＰＣ４へのデータ転送を継続することができる。従って、1394ホストＰＣ４の指示を待つことなくデータ転送を継続することができるので、データ転送効率を向上させることができる。
（３）図１１に示すように、1394ホストＰＣ４からSCSIデバイス５にデータを転送する場合、SCSIインターフェースでエラーが発生しても、1394ホストＰＣ４にエラー報告することなく、SCSIデバイス５にコマンドを再発行することにより、1394ホストＰＣ４からSCSIデバイス５へのデータ転送を最初からやり直すことができる。従って、1394ホストＰＣ４にエラー報告し、1394ホストＰＣ４の指示を待って転送動作をやり直す従来の処理動作に比較して、転送効率を向上させることができる。
（４）図１２に示すように、SCSIデバイス５から1394ホストＰＣ４にデータを転送する場合、SCSIインターフェースでエラーが発生しても、1394ホストＰＣ４にエラー報告することなく、SCSIデバイス５に対し空読み出しを行ってバスフリーフェーズとし、次いでSCSIデバイス５にコマンドを再発行することにより、SCSIデバイス５から1394ホストＰＣ４へのデータ転送を最初からやり直すことができる。従って、1394ホストＰＣ４にエラー報告し、1394ホストＰＣ４の指示を待って転送動作をやり直す従来の処理動作に比較して、転送効率を向上させることができる。
（５）図１３に示すように、データ転送中にSCSIデバイス５のリセット要求が入力されても、SCSIデバイス５をリセットすることなく、通常動作に復帰させることができる。従って、SCSIデバイス５を通常動作へ速やかに復帰させて、データ転送効率を向上させることができる。
（６）図１４に示すように、データ転送量の大きいコマンドを、データ転送量の小さい複数のコマンドに分割して実行することができる。従って、データ転送時におけるエラーの発生により、コマンドを再実行する場合、重複して転送するデータ量を少なくして、データ転送効率を向上させることができる。
（７）図１５に示すように、SCSIデバイス５においてコマンドフェーズからデータＯＵＴフェーズへの移行が遅く、1394ホストＰＣ４からのデータの読み出し開始動作に対し、SCSIデバイス５へのデータ転送動作の開始が遅れる場合にも、1394ホストＰＣ４から読み出されたデータを一旦メモリー１６に格納することで、1394ホストＰＣ４によりSCSIデバイス５がエラーであると判定されることを回避することができる。従って、エラーの発生を防止して、データ転送効率を向上させることができる。
（８）エラーが発生した場合、1394ホストＰＣ４からの指示を待つことなく、エラー回復処理を行うことができるので、データ転送効率を向上させることができる。
（９）1394ホストＰＣ４とSCSIデバイス５との異なるインターフェースプロトコルを個別に制御することができるので、1394ホストＰＣ４とSCSIデバイス５との性能の違いによる問題を吸収することができる。
（１０）1394インターフェースあるいはSCSIインターフェースでエラーが発生した場合、コマンドの再実行を必要最低限として、データ転送効率を向上させることができる。
（１１）1394インターフェースで発生したエラーをSCSIインターフェースに伝えることなく、エラー回復処理を行うことができる。また、SCSIインターフェースで発生したエラーを1394インターフェースに伝えることなくエラー回復処理を行うことができる。
（１２）通常のデータ転送動作時には、ＭＰＵ１４の処理動作を介することなく、ＤＭＡコントローラー１５を介してデータ転送を行うことができるので、データ転送速度を向上させることができる。
【００７３】
上記各実施の形態は、次に示すように変更することもできる。
・インターフェース変換装置に複数のSCSIデバイス５を接続し、1394ホストＰＣ４とターゲットとして選択されたSCSIデバイスとの間でデータ転送動作を行うようにしてもよい。
（付記１）1394インターフェースと、データ変換器と、SCSIインターフェースとを備え、1394プロトコルとSCSIプロトコルとの間のデータ転送時にデータの変換処理を行うインターフェース変換装置であって、前記データ変換器には、前記1394プロトコルとSCSIプロトコルとを独立して制御する制御部を備えたことを特徴とするインターフェース変換システム。
（付記２）前記データ変換器は、前記1394インターフェースとSCSIインターフェースとの間でデータを転送するＤＭＡコントローラーと、前記1394インターフェース、SCSIインターフェース及びＤＭＡコントローラーを制御する中央処理部とを備えることを特徴とする付記１記載のインターフェース変換システム。（２）
（付記３）前記中央処理部にメモリーを接続したことを特徴とする付記２記載のインターフェース変換システム。
（付記４）前記中央処理部は、前記1394インターフェースでのデータエラー発生時に、前記1394プロトコルで動作するホスト機器にエラー報告することなく、データの再転送を行う第一の処理部を備えたことを特徴とする付記２記載のインターフェース変換システム。
（付記５）  前記中央処理部は、前記SCSIインターフェースでのデータエラー発生時に、前記1394プロトコルで動作するホスト機器にエラー報告することなく、データの再転送を行う第二の処理部を備えたことを特徴とする付記２乃至４の少なくともいずれかに記載のインターフェース変換システム。
（付記６）前記中央処理部は、前記ホスト機器からのリセット要求発生時に、前記SCSIプロトコルで動作するSCSIデバイスをリセットすることなくバスフリーフェーズとする第三の処理部を備えた特徴とする付記２乃至５の少なくともいずれかに記載のインターフェース変換システム。
（付記７）前記中央処理部は、前記1394プロトコルで動作するホスト機器から出力されるコマンドを分割して、前記SCSIプロトコルで動作するSCSIデバイスに発行する第四の処理部を備えたことを特徴とする付記２乃至６のいずれかに記載のインターフェース変換システム。
（付記８）前記中央処理部は、前記1394プロトコルで動作するホスト機器から出力されるコマンドを前記SCSIデバイスに転送し、前記コマンドに基づいて前記ホスト機器から転送されるデータを前記メモリーに格納し、前記SCSIデバイスがデータフェーズに移行した後に、前記メモリーに格納されたデータから順次SCSIデバイスに転送する第五の処理部を備えたことを特徴とする付記２乃至７のいずれかに記載のインターフェース変換システム。
（付記９）1394ホスト機器とSCSIデバイスとの間のデータ転送時に、1394インターフェース若しくはSCSIインターフェースでデータエラーが発生したとき、1394ホスト機器にエラー報告することなく、またはSCSIデバイスの動作をリセットすることなくデータの再転送を行うことを特徴とするデータ転送方法。
（付記１０）1394ホスト機器とSCSIデバイスとの間のデータ転送時に、1394ホスト機器からのリセット要求が発行されたとき、SCSIデバイスをリセットすることなくバスフリーフェーズとすることを特徴とするデータ転送方法。
（付記１１）1394ホスト機器とSCSIデバイスとの間のデータ転送時に、1394ホスト機器からコマンドが発行されたとき、当該コマンドを複数のコマンドに分割してSCSIデバイスに発行することを特徴とするデータ転送方法。
（付記１２）  1394ホスト機器からSCSIデバイスへのデータ転送時に、1394ホスト機器からSCSIデバイスにコマンドが発行されたとき、SCSIデバイスがデータフェーズに移行するまでの間、1394ホスト機器から読み出されるデータをメモリーに格納し、SCSIデバイスがデータフェーズに移行した後は、メモリーに格納されたデータから順次SCSIデバイスに転送することを特徴とするデータ転送方法。
（付記１３）1394ホスト機器からSCSIデバイスへのデータ転送時に、1394インターフェースでデータエラーが発生したとき、エラーを含むパケットを破棄し、1394ホスト機器から再度同一データを読み出してSCSIデバイスに転送することを特徴とするデータ転送方法。
（付記１４）SCSIデバイスから1394ホスト機器へのデータ転送時に、1394インターフェースでデータエラーが発生したとき、エラーが発生したパケットと同一データを再度1394ホスト機器に転送して、データ転送を継続することを特徴とするデータ転送方法。
（付記１５）1394ホスト機器からSCSIデバイスへのデータ転送時に、SCSIインターフェースでエラーが発生したとき、1394ホスト機器にエラー報告することなく、当該転送動作の実行コマンドを再度SCSIデバイスに発行して、当該コマンドのデータ転送をはじめからやり直すことを特徴とするデータ転送方法。
（付記１６）SCSIデバイスから1394ホスト機器へのデータ転送時に、SCSIインターフェースでエラーが発生したとき、SCSIデバイスにATN信号をアサートし、SCSIデバイスから当該コマンドで転送するデータの空読み出しを行ってSCSIデバイスをメッセージＯＵＴフェーズに移行させ、次いでAbort信号をSCSIデバイスに入力してバスフリーフェーズとし、エラー発生時の実行コマンドを再度SCSIデバイスに発行して、当該コマンドのデータ転送をはじめからやり直すことを特徴とするデータ転送方法。
（付記１７）1394ホスト機器からSCSIデバイスへのデータ転送時に、1394ホスト機器からのリセット要求が発行されたとき、SCSIデバイスにATN信号をアサートし、SCSIデバイスから当該コマンドで転送するデータの空書き込みを行ってSCSIデバイスをメッセージＯＵＴフェーズに移行させ、次いでAbort信号をSCSIデバイスに入力してバスフリーフェーズとして、SCSIデバイスをリセットすることなく、通常処理に復帰させることを特徴とするデータ転送方法。
【００７４】
【発明の効果】
以上詳述したように、この発明は1394インターフェースとSCSIインターフェースとの間でのデータ転送動作のパフォーマンスを向上させ得るインターフェース変換装置を提供することができる。
【図面の簡単な説明】
【図１】  一実施の形態のインターフェース変換装置を示すブロック図である。
【図２】  インターフェース変換装置の動作を示すフローチャート図である。
【図３】  インターフェース変換装置の動作を示すフローチャート図である。
【図４】  インターフェース変換装置の動作を示すフローチャート図である。
【図５】  インターフェース変換装置の動作を示すフローチャート図である。
【図６】  インターフェース変換装置の動作を示すフローチャート図である。
【図７】  インターフェース変換装置の動作を示すフローチャート図である。
【図８】  インターフェース変換装置の動作を示すフローチャート図である。
【図９】  インターフェース変換装置の動作を示す説明図である。
【図１０】  インターフェース変換装置の動作を示す説明図である。
【図１１】  インターフェース変換装置の動作を示す説明図である。
【図１２】  インターフェース変換装置の動作を示す説明図である。
【図１３】  インターフェース変換装置の動作を示す説明図である。
【図１４】  インターフェース変換装置の動作を示す説明図である。
【図１５】  インターフェース変換装置の動作を示す説明図である。
【図１６】  従来のインターフェース変換装置を示す概要図である。
【図１７】  従来のインターフェース変換装置のデータ転送動作を示す説明図である。
【図１８】  コマンドORBを示す説明図である。
【図１９】  ステータスブロックを示す説明図である。
【図２０】  1394インターフェースとSCSIインターフェースの動作を示す説明図である。
【符号の説明】
１１        1394インターフェース（1394ＰＨＹ）
１２        1394インターフェース（1394ＬＩＮＫ）
１３        SCSIインターフェース（SCSIコントローラー）
１４        データ変換器、制御部（ＭＰＵ）
１５        データ変換器（ＤＭＡコントローラー）
１６        データ変換器、制御部（メモリー）
【図１】
0004098987.tif 000002
【図２】
0004098987.tif 000003
【図３】
0004098987.tif 000004
【図４】
0004098987.tif 000005
【図５】
0004098987.tif 000006
【図６】
0004098987.tif 000007
【図７】
0004098987.tif 000008
【図８】
0004098987.tif 000009
【図９】
0004098987.tif 000010
【図１０】
0004098987.tif 000011
【図１１】
0004098987.tif 000012
【図１２】
0004098987.tif 000013
【図１３】
0004098987.tif 000014
【図１４】
0004098987.tif 000015
【図１５】
0004098987.tif 000016
【図１６】
0004098987.tif 000017
【図１７】
0004098987.tif 000018
【図１８】
0004098987.tif 000019
【図１９】
0004098987.tif 000020
【図２０】
0004098987.tif 000021