(57)【要約】【課題】接続された装置を互いに認識させ、接続することができるインタフェース変換装置を提供すること。【解決手段】インタフェース変換装置１は、ＵＳＢとＡＴＡＰＩに対応する第１コマンド変換装置２１と、ＵＳＢとＡＴＡに対応する第２コマンド変換装置２２とを備える。切換装置１６は、接続された第２の機器３が持つインタフェースを診断し、その診断結果に基づいて第１又は第２コマンド変換装置２１，２２を制御回路１２を介して第２の機器３に接続する。【選択図】　　　図１
2004126707.tif 000002
【特許請求の範囲】
【請求項１】
第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、
第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、
接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換える診断及び切換手段と、
を備えたことを特徴とするインタフェース変換装置。
【請求項２】
前記診断及び切換手段は、前記接続された機器に対してコマンドを発行し、該機器のステータス情報に基づいて該機器が持つインタフェースを診断することを特徴とする請求項１記載のインタフェース変換装置。
【請求項３】
第１及び第２のコマンド変換手段の少なくとも一方は、第１のインタフェースを介して入力されるコマンドを、対応する第２又は第３のインタフェースのコマンドに変換するか否かを判定する判定手段を備え、該判定結果に基づいて変換しない場合に前記第１のインタフェースを介してエラーステータスを出力することを特徴とする請求項１又は２記載のインタフェース変換装置。
【請求項４】
第１のインタフェースと第２のインタフェースとの間でステータスを変換する第１のステータス変換手段と、
第１のインタフェースと第３のインタフェースとの間でステータスを変換する第２のステータス変換手段と、を備え、
前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換えることを特徴とする請求項１乃至３のうちの何れか一項に記載のインタフェース変換装置。
【請求項５】
第１のインタフェースと第２のインタフェースとの間でデータを変換する第１のデータ変換手段と、
第１のインタフェースと第３のインタフェースとの間でデータを変換する第２のデータ変換手段と、を備え、
前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換えることを特徴とする請求項１乃至４のうちの何れか一項に記載のインタフェース変換装置。
【請求項６】
第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに対して暗号化・復号化処理を施すことを特徴とする請求項５記載のインタフェース変換装置。
【請求項７】
第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに誤り訂正符号を付加して出力することを特徴とする請求項５記載のインタフェース変換装置。
【請求項８】
第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに所定のデータパターンを含むか否かを判定し、含む場合にはその入力データの出力を停止することを特徴とする請求項５記載のインタフェース変換装置。
【請求項９】
第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、
第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、を備え、
接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換えることを特徴とするインタフェース変換方法。
【請求項１０】
前記接続された機器に対して第２のインタフェースに対応するコマンドと前記第３のインタフェースに対応するコマンドを順次発行し、各コマンドにそれぞれ対する該機器のステータス情報に基づいて該機器が持つインタフェースを診断することを特徴とする請求項９記載のインタフェース変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インタフェース変換装置及びインタフェース変換方法に関するものである。
【０００２】
近年、インタフェースの進化は著しいものがあり、既存の装置は新しいインタフェースへの対応を常に求められている。そのため、主装置と周辺装置の双方に新たなインタフェースを搭載しなければならない。例えば、周辺装置を新たなインタフェースを備えた周辺装置に置き換える場合、主装置に新たなインタフェースを備える必要がある。しかし、インタフェースを備えた主装置を新規に開発するには時間がかかるため、新規に開発することなく新しいインタフェースに対応するためにインタフェース変換装置が求められている。
【０００３】
【従来の技術】
従来、パソコン等を構成する主装置や周辺機器は、従来のインタフェースとしてＡＴＡＰＩやＡＴＡ等のインタフェースを備え、それらにより主装置と周辺機器とはデータ通信が可能に接続されている（例えば、特許文献１参照）。
【０００４】
近年、周辺機器の接続・切離しを容易に行うためにＵＳＢ２．０インタフェースを、主装置や周辺機器に備えるようになってきている。
近年、主装置や周辺機器には、ＵＳＢ２．０インタフェース（以下、単にＵＳＢ）を備えたものが出回るようになってきている。ＵＳＢは、２つの機器の電源を投入した状態で互いを接続又は切り離すことができるため、多くの機器で用いられるようになってきている。
【０００５】
ところで、ＵＳＢを備えた主装置や周辺機器を新規に開発するには時間がかかる。このため、それらの装置には、ＡＴＡＰＩやＡＴＡをＵＳＢに変換するインタフェース変換装置が搭載される。
【０００６】
インタフェース変換装置は、ＵＳＢと１つのインタフェースの間でコマンド／ステータス／データを変換する。即ち、１つのインタフェース変換装置は、ＵＳＢで規定されたコマンド／ステータス／データをＡＴＡＰＩで規定されたそれらに変換する。また、別のインタフェース変換装置は、ＵＳＢで規定されたコマンド／ステータス／データをＡＴＡで規定されたそれらに変換する。
【０００７】
これらのインタフェース変換装置を用いることで、ＵＳＢを備えた主装置や周辺機器を早期に開発することができる。
【０００８】
【特許文献１】
米国特許第５７１５２７４明細書
【０００９】
【発明が解決しようとする課題】
ところで、ＡＴＡＰＩとＡＴＡは、接続するコネクタ形状が同一であるため、適合していないインタフェース装置を接続してしまうことがある。例えば、ＵＳＢとＡＴＡＰＩとのコマンド／ステータス／データを変換するインタフェース変換装置を、ＡＴＡのコネクタに接続してしまうことがある。しかしながら、ＡＴＡＰＩとＡＴＡは、信号線の配列／使用するコマンド等が異なるため、ＵＳＢを備えた機器と、当該インタフェース変換装置を備えた機器との間の通信ができたりできなかったりするという問題があった。
【００１０】
本発明は上記問題点を解決するためになされたものであって、その目的は接続された装置を互いに認識させ、接続することができるインタフェース変換装置及びインタフェース変換方法を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明は、第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換える診断及び切換手段と、を備えた。従って、第１のインタフェースを持つ機器と接続された機器とを互いに認識され接続される。
【００１２】
請求項２に記載の発明は、前記診断及び切換手段は、前記接続された機器に対してコマンドを発行し、該機器のステータス情報に基づいて該機器が持つインタフェースを診断する。従って、接続された機器が容易に診断される。
【００１３】
請求項３に記載の発明は、第１及び第２のコマンド変換手段の少なくとも一方は、第１のインタフェースを介して入力されるコマンドを、対応する第２又は第３のインタフェースのコマンドに変換するか否かを判定する判定手段を備え、該判定結果に基づいて変換しない場合に前記第１のインタフェースを介してエラーステータスを出力する。従って、第２又は第３のインタフェースが対応しないコマンドに対する応答が早くなる。
【００１４】
請求項４に記載の発明のように、第１のインタフェースと第２のインタフェースとの間でステータスを変換する第１のステータス変換手段と、第１のインタフェースと第３のインタフェースとの間でステータスを変換する第２のステータス変換手段と、を備え、前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換える。
【００１５】
請求項５に記載の発明のように、第１のインタフェースと第２のインタフェースとの間でデータを変換する第１のデータ変換手段と、第１のインタフェースと第３のインタフェースとの間でデータを変換する第２のデータ変換手段と、を備え、前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換える。
【００１６】
請求項６に記載の発明は、第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに対して暗号化・復号化処理を施す。従って、その暗号化したデータを記録した機器が第３者に渡っても、データの漏洩が防がれる。
【００１７】
請求項７に記載の発明は、第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに誤り訂正符号を付加して出力する。従って、データの信頼性が向上する。
【００１８】
請求項８に記載の発明は、第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに所定のデータパターンを含むか否かを判定し、含む場合にはその入力データの出力を停止する。例えばデータパターンをウィルスとした場合、そのウィルスの汚染が防がれ、データの安全性が向上する。
【００１９】
請求項９に記載の発明は、第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、を備え、接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換えるようにした。従って、第１のインタフェースを持つ機器と接続された機器とを互いに認識され接続される。
【００２０】
請求項１０に記載の発明は、前記接続された機器に対して第２のインタフェースに対応するコマンドと前記第３のインタフェースに対応するコマンドを順次発行し、各コマンドにそれぞれ対する該機器のステータス情報に基づいて該機器が持つインタフェースを診断する。従って、接続された機器が容易に診断される。
【００２１】
【発明の実施の形態】
以下、本発明を具体化した一実施の形態を図１〜図１０に従って説明する。
図１は、インタフェース変換装置１のブロック回路図である。
【００２２】
このインタフェース変換装置１は、第１のインタフェースとしてのＵＳＢ２．０インタフェース（以下、単にＵＳＢ）を備えた第１の機器２（ホスト装置）と接続されている。また、インタフェース変換装置１は、第２のインタフェースとしてのＡＴＡＰＩインタフェース（以下、単にＡＴＡＰＩ）又は第３のインタフェースとしてのＡＴＡインタフェース（以下、単にＡＴＡ）を備えた第２の機器３（周辺装置）との間に接続されている。つまり、インタフェース変換装置１は第１の機器２と第２の機器３の間に接続されている。インタフェース変換装置１は、ＵＳＢとＡＴＡＰＩとの間、及びＵＳＢとＡＴＡとの間でコマンド／ステータス／データを変換する。
【００２３】
インタフェース変換装置１は、第１及び第２制御回路１１，１２、コマンド変換回路１３、ステータス変換回路１４、データ変換回路１５、診断及び切換手段としてのインタフェース診断および切換装置（以下、単に切換装置という）１６を備える。
【００２４】
第１制御回路１１は、ＵＳＢインタフェースに対応する制御回路であり、信号送信時には内部で扱う電気信号をＵＳＢ規格の電気信号に変換して出力し、信号受信時にはＵＳＢ規格の電気信号を装置内部で扱う電気信号に変換する。第２制御回路１２は、ＡＴＡＰＩ及びＡＴＡインタフェースに対応する制御回路であり、信号送信時には内部で扱う電気信号をＡＴＡＰＩ及びＡＴＡ規格の電気信号に変換して出力し、信号受信時にはＡＴＡＰＩ及びＡＴＡ規格の電気信号を装置内部で扱う電気信号に変換する。
【００２５】
コマンド変換回路１３は、第１及び第２のコマンド変換手段としての第１及び第２コマンド変換装置２１，２２と切換回路２３とから構成されている。第１コマンド変換装置２１はＵＳＢとＡＴＡＰＩとの間でコマンドを変換し、第２コマンド変換装置２２はＵＳＢとＡＴＡとの間でコマンドを変換する。切換回路２３は、第１切換信号Ｓ１に応答して第１又は第２コマンド変換装置２１，２２を第１及び第２制御回路１１，１２に接続する。
【００２６】
ステータス変換回路１４は、第１及び第２のステータス変換手段としての第１及び第２ステータス変換装置２４，２５と切換回路２６とから構成されている。第１ステータス変換装置２４はＵＳＢとＡＴＡＰＩとの間でステータスを変換し、第２ステータス変換装置２５はＵＳＢとＡＴＡとの間でステータスを変換する。切換回路２６は、第２切換信号Ｓ２に応答して第１又は第２ステータス変換装置２４，２５を第１及び第２制御回路１１，１２に接続する。
【００２７】
データ変換回路１５は、第１及び第２のデータ変換手段としての第１及び第２データ変換装置２７，２８と切換回路２９とから構成されている。第１データ変換装置２７はＵＳＢとＡＴＡＰＩとの間でデータを変換し、第２データ変換装置２８はＵＳＢとＡＴＡとの間でデータを変換する。切換回路２９は、第３切換信号Ｓ３に応答して第１又は第２データ変換装置２７，２８を第１及び第２制御回路１１，１２に接続する。
【００２８】
切換装置１６は、インタフェース変換装置１に接続された第２の機器３が持つインタフェースを診断し、その診断結果に基づいて第１〜第３切換信号Ｓ１〜Ｓ３を生成する。具体的には、切換装置１６は、第２制御回路１２を介して第２の機器３に対してコマンドを送信し、その応答に基づいて第２の機器３が持つインタフェースを診断する。そして、切換装置１６は、第２の機器３が持つインタフェースに対応する変換装置を第２制御回路１２に接続するように各切換信号Ｓ１〜Ｓ３を生成する。
【００２９】
このように、本実施形態のインタフェース変換装置１は、接続されうるＡＴＡとＡＴＡＰＩにそれぞれ対応した第１及び第２コマンド変換装置２１，２２、第１及び第２ステータス変換装置２４，２５、第１及び第２データ変換装置２７，２８を備える。そして、切換装置１６は、接続された第２の機器３の属性としてその第２の機器３が持つインタフェースを診断し、該診断結果に基づいて各変換装置２１，２２、２４，２５、２７，２８の一方を選択して第２制御回路１２を介して第２の機器３に接続するようにした。そのため、接続された第２の機器３に最適な変換装置を自動的に選ぶため、確実に第１の機器２と第２の機器３とを接続することができる。
【００３０】
次に、第１及び第２コマンド変換装置２１，２２の構成を説明する。
図２は、第１コマンド変換装置２１の一部ブロック回路図である。
第１コマンド変換装置２１は、複数（図では４つ）のメモリ３１〜３４と、選択回路３５と、判定手段としての判定回路３６と、変換回路３７とを備える。各メモリ３１〜３４には、ＵＳＢを介して第１の機器２から受け取るコマンドが順次格納される。
【００３１】
選択回路３５は各メモリ３１〜３４に格納されたコマンドに応じて、それらのメモリ３１〜３４のうちの一つを選択し、選択されたメモリに格納されたコマンドが判定回路３６に出力される。例えば、選択回路３５は、コマンドを実行する第２の機器３における実行順序に応じてメモリ３１〜３４に格納された複数のコマンドの選択順序を決定する。第２の機器３において実行するコマンドの順序により、複数のコマンドの実行時間の合計が短くなる場合がある。従って、選択回路３５は、第２の機器３における実行時間が短くなるように各メモリ３１〜３４に格納されたコマンドを選択する。
【００３２】
判定回路３６は、入力されるコマンドを変換するか否かを判定する。そして、判定回路３６は、変換するコマンドの場合にはそのコマンドを変換回路３７に出力し、変換しないコマンドの場合にはエラー応答出力信号を対応するステータス変換回路１４に出力する。
【００３３】
詳述すると、判定回路３６は、図示しないテーブルからエラー応答するコマンドリストを入力し、メモリ３１〜３４から入力されるコマンドがリストのコマンドと一致するか否かを判定する。そして、判定回路３６は、入力されるコマンドとリストのコマンドとが一致しない場合にはそのコマンドを変換回路３７に出力し、それらが一致する場合にはエラー応答出力信号ＳＥＲをステータス変換回路１４に出力する。
【００３４】
図１のステータス変換回路１４の第１ステータス変換装置２４は、エラー応答出力信号ＳＥＲに応答してエラーステータスを第１の機器２に出力する。即ち、第１の機器２から第２の機器３がサポートしないコマンドを送出した場合、インタフェース変換装置１はそのコマンドを判定してエラーステータスを第１の機器２へ送信する。この構成により、インタフェース変換装置１におけるコマンドの変換処理を実行しないことと、第２の機器３にコマンドが到達しないことにより、応答時間が短くなる、即ち応答性が向上する。
【００３５】
変換回路３７はフォーマット変換のみを行う。即ち、ＵＳＢのコマンドは複数バイトのデータであり、そのコマンドにはＡＴＡのコマンドが含まれている（同一のコードにて同じ動作を示す）。従って、第１コマンド変換装置２１の変換回路３７は、ＵＳＢのコマンドからＡＴＡのコマンドを抜き出して出力する。
【００３６】
第２コマンド変換装置２２は第１コマンド変換装置２１と同様に構成され、第１コマンド変換装置２１と比較して変換回路３７の動作が異なっている。第２コマンド変換装置２２の変換回路３７はテーブル３７ａを持ち、該テーブル３７ａにはＵＳＢのコマンドとＡＴＡＰＩのコマンドとが対応付けて記憶されている。即ち、ＵＳＢのコマンドとＡＴＡＰＩのコマンドでは、実質的に同じ動作を行うために異なるコードが用いられる。変換回路３７は、そのテーブル３７ａの内容を参照して入力されるＵＳＢのコマンドをＡＴＡＰＩのコマンドに変換して出力する。
【００３７】
次に、第１及び第２データ変換装置２７，２８の構成を説明する。
図３は、第１データ変換装置２７のブロック回路図である。尚、第２データ変換装置２８の構成は第１データ変換装置２７の構成と同じであるため、図面及び説明を省略する。
【００３８】
第１データ変換装置２７は、データ確認装置４１、誤り訂正符号装置４２、暗号化装置４３、復号化装置４４を含む。
データ確認装置４１は、ＵＳＢからのデータとデータパターンとが入力される。データパターンは、ウィルスのパターンであり、予めメモリ等の記憶回路に設定されている。データ確認装置４１は、データにデータパターンと一致する部分が存在するか否かを確認し、データパターンと一致する部分を含むデータの出力を停止し、データパターンと一致する部分を含まないデータを誤り訂正符号装置４２に出力する。即ち、データ確認装置４１は、ウィルスチェックを行い、ウィルスを含まないデータのみを出力する。これにより、第２の機器３にウィルスが入るのを防止する。
【００３９】
誤り訂正符号装置４２は、ＥＣＣ等の誤り訂正符号とＣＲＣ等の誤り検出符号の少なくとも一方を入力データに付加して出力する。また、誤り訂正符号装置４２は、入力データに含まれる誤り訂正符号、誤り検出符号を用いてその入力データに生じた誤りの検出・訂正を行い、その処理後のデータを出力する。この誤り訂正符号装置４２により、第１の機器２と第２の機器３との間のデータ転送の信頼性が向上する。
【００４０】
暗号化装置４３は、入力データを所定のアルゴリズムによって暗号化したデータを出力する。復号化装置４４は、暗号化装置４３と逆のアルゴリズムによって入力データを復号化したデータを出力する。
【００４１】
暗号化装置４３により暗号化したデータを第２の機器３に出力する。第２の機器３をハードディスク（ＨＤＤ）とした場合、ＵＳＢを備えた第１の機器２から入力されるデータを暗号化してＨＤＤに記録する。逆に、ＨＤＤから読出したデータを復号化装置４４により復号処理し、その処理後のデータを第１の機器２に出力する。
【００４２】
このようにすると、第２の機器３（ＨＤＤ）のみが第３者に渡った場合、ＨＤＤには暗号化されたデータが記録されているため、そのデータをＨＤＤから読出してもにも第３者がデータの内容を確認することができず、情報の漏洩を防ぐことができる。
【００４３】
次に、切換装置１６の動作を図４に従って説明する。
図４は、切換装置１６の診断動作を示すフローチャートである。
切換装置１６は、先ず、機器確認コマンド（Ｉｄｅｎｔｉｆｙ　Ｄｅｖｉｃｅ　Ｃｏｍｍａｎｄ）　を第２の機器３に対して発行する（ステップ５１）。この機器確認コマンドはＡＴＡを備えた機器に対応するコマンドである。次に、切換装置１６は、第２の機器３のステータス情報、即ちステータスレジスタの内容を読み込み、その読み込んだデータのエラービットを確認する（ステップ５２）。そのエラービットが「１」の場合には、コマンドが不正である（サポートしていない）ことを示す。従って、エラービットが「１」ではない（Ｎｏ）の場合、切換装置１６は、第２の機器３がＡＴＡを備えたデバイスであることを確認する（ステップ５３）。
【００４４】
一方、ステップ５２においてエラービットが「１」の場合、切換装置１６は、機器確認パケットコマンド（Ｉｄｅｎｔｉｆｙ　Ｐａｃｋｅｔ　Ｄｅｖｉｃｅ　Ｃｏｍｍａｎｄ）　を第２の機器３に対して発行する（ステップ５４）。この機器確認コマンドはＡＴＡＰＩを備えた機器に対応するコマンドである。次に、切換装置１６は、第２の機器３のステータスレジスタの内容を読み込み、その読み込んだデータのエラービットを確認する（ステップ５５）。そのエラービットが「１」の場合には、コマンドが不正である（サポートしていない）ことを示す。従って、エラービットが「１」ではない（Ｎｏ）の場合、切換装置１６は、第２の機器３がＡＴＡＰＩを備えたデバイスであることを確認する（ステップ５６）。
【００４５】
ステップ５５においてエラービットが「１」の場合、切換装置１６は第２の機器３がＡＴＡ及びＡＴＡＰＩを備えていない不明なデバイスであると判断し、各変換装置２１，２２，２４，２５，２７，２８を第１及び第２制御回路１１，１２に接続しない（ステップ５７）。
【００４６】
図５，６は、第１コマンド変換装置２１の動作説明図である。
図５に示すように、ＵＳＢのコマンドブロック６１ａは、３１バイトのデータからなる。
【００４７】
第１コマンド変換装置２１は、入力データの１〜４バイト目のデータとコマンドブロック６１ａのデータサイズからＵＳＢコマンドであることを識別する。５〜８バイト目のデータはタグコードであり、第１コマンド変換装置２１はこれをステータス応答のために当該装置２１に備えた記憶領域に記憶する。９〜１２バイト目は転送サイズであり、データ転送に利用される。１３バイト目はデータの転送フラグであり、１４バイト目のデータは第１の機器２の論理デバイス番号を示し、１５バイト目は次に続くコマンドの有効なバイト数を示す。
【００４８】
第１コマンド変換装置２１は、１６〜２７バイト目を第２の機器３に出力するＡＴＡＰＩのコマンドのためのデータ６２ａとして抽出する。この時、第１コマンド変換装置２１は、１５バイト目の有効データ数を無視している。これは、第２の機器３に出力するＡＴＡＰＩのコマンドがＵＳＢのコマンドブロック６１ａの有効データ部分と一致するからである。
【００４９】
第１コマンド変換装置２１は、図２の判定回路３６において、抽出した１２バイトのデータ６２ａが第２の機器３のＡＴＡＰＩがサポートするコマンドであるか否かを判定する。図５において、１６バイト目のデータは「１２ｈ」（ｈは１６進数を示し、図には「１２」のみを示す）であり、これはＡＴＡＰＩがサポートするコマンドである。従って、第１コマンド変換装置２１は、データ６２ａから図２の変換回路３７にてＡＴＡＰＩパケット６３ａを生成し、これを出力する。
【００５０】
図６に示すように、ＵＳＢのコマンドブロック６１ｂの１６〜２７バイト目を抽出したデータ６２ｂの先頭のデータが「２５ｈ」の場合、これはＡＴＡＰＩがサポートしないコマンドである。従って、第１コマンド変換装置２１の判定回路３６（図２）は、これを変換しないコマンドと判定し、出力しない。従って、ＡＴＡＰＩパケット６３ｂは作成されない。そして、判定回路３６は、第１の機器２に対してエラー応答をするべくエラー応答出力信号ＳＥＲを出力する。
【００５１】
図７，８は、第２コマンド変換装置２２の動作説明図である。
第１コマンド変換装置２１と同様に、第２コマンド変換装置２２は、ＵＳＢのコマンドブロック６４ａの１６〜２７バイト目を抽出する。そして第２コマンド変換装置２２は、１６バイト目のデータからコマンド部分を変換するか否かを判定する。
【００５２】
図７に示すコマンドブロック６４ａの場合、１６バイト目のデータは「２８ｈ」であり、これはＡＴＡがサポートするコマンドである。従って、第２コマンド変換装置２２は、抽出したデータ６５ａからテーブル３７ａ（図２）を用いてＡＴＡのコマンド６６ａを生成する。
【００５３】
第２コマンド変換装置２２は、抽出したデータ６５ａがデータ転送を伴うコマンドの場合、２３，２４バイト目のデータ転送数を確認する。このデータ転送数が２５６セクタを超える場合、第２コマンド変換装置２２は、複数のコマンドに分割して発行する。この時、第２コマンド変換装置２２は、アドレスをインクリメントしたＡＴＡのコマンド６７ａを生成する。
【００５４】
図８に示すＵＳＢのコマンドブロック６４ｂの場合、１６バイト目のデータは「１２ｈ」であり、これはＡＴＡがサポートしないコマンドである。従って、第２コマンド変換装置２２は、抽出したデータ６５ｂを変換しない、即ち判定回路は、この抽出したデータ６５ｂを変換回路に出力しない。従って、ＡＴＡのコマンド６６ｂ，６７ｂは生成されない。そして、判定回路は、第１コマンド変換装置２１の判定回路３６と同様に、第１の機器２に対してエラー応答をするべくエラー応答出力信号ＳＥＲを出力する。
【００５５】
図９は、第１ステータス変換装置２４の動作説明図である。
予め、インタラプトリクエスト信号（ＩＮＴＲＱ信号）アサートするように第２の機器３のＡＴＡＰＩを設定しておく。ＡＴＡＰＩはエラー発生時もしくはコマンド終了時にＩＮＴＲＱをアサートするため、第１ステータス変換装置２４は、その都度、第２の機器３に備えられたステータスレジスタ７１をリードする。そして、第１ステータス変換装置２４は、ステータスレジスタ７１の内容に基づいてＵＳＢのステータスブロック７２を生成する。
【００５６】
ステータスレジスタ７１のビット７が「０」のときはこのステータスレジスタ７１が有効であるため、ビット０でエラービットによりエラーの有無を判断する。ビット０が「０」の場合にはエラー無しであり、それが「１」の場合にはエラーが発生している。第１ステータス変換装置２４は、ステータスレジスタ７１のビット０に基づいてステータスブロック７２の１３バイト目を設定する。ビット０の「０」を「００ｈ」に、「１」を「０１ｈ」に変換する。
【００５７】
第１ステータス変換装置２４は、ＵＳＢのステータスブロック７２の９〜１２バイト目の残り転送数に、変換したときのＵＳＢ側の残り転送数を設定し、５〜８バイト目には第１コマンド変換装置２１で保持したタグコード（例えば図５のＵＳＢのコマンドブロック７２の５〜８バイト目）を格納する。そして、第１ステータス変換装置２４は、ステータスブロック７２の１〜４バイト目にＵＳＢのステータスを示す識別コードを格納し、第１の機器２（ＵＳＢホスト）に転送する。
【００５８】
図１０は、第２ステータス変換装置２５の動作説明図である。
第２ステータス変換装置２５は、第２コマンド変換装置２２で発行したコマンドが終了する毎に第２の機器３のステータスレジスタ７３をリードする。この時、第２ステータス変換装置２５は、ステータスレジスタ７３のビット０の内容に基づいて、エラーが発生している場合に残り転送セクタ数をＵＳＢのステータスブロック７４の９〜１２バイト目に格納する。そして、第２ステータス変換装置２５は、ステータスブロック７４の１３バイト目に「０１ｈ」を格納する。ステータスブロック７４の５〜８バイト目には、第２コマンド変換装置２２で保持したタグコードを格納する。そして、第２ステータス変換装置２５は、ステータスブロック７４の１〜４バイト目にＵＳＢのステータスを示す識別コード（シグネチャ）を格納し、エラー応答をするべくステータスブロック７４を第１の機器２（ＵＳＢホスト）に転送する。
【００５９】
ＵＳＢのコマンドブロックに示すコマンドが全て正常に終了したとき、第２ステータス変換装置２５は、ＵＳＢのステータスブロック７４の９〜１３バイト目に「００ｈ」を格納する。そして、第２ステータス変換装置２５は、５〜８バイト目に第２コマンド変換装置２２で保持したタグコードを格納し、１〜４バイト目にＵＳＢのステータスを示す識別コードをいれてステータス応答をする。
【００６０】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）インタフェース変換装置１は、ＵＳＢとＡＴＡＰＩに対応する第１コマンド変換装置２１と、ＵＳＢとＡＴＡに対応する第２コマンド変換装置２２とを備える。切換装置１６は、接続された第２の機器３が持つインタフェースを診断し、その診断結果に基づいて第１又は第２コマンド変換装置２１，２２を制御回路１２を介して第２の機器３に接続するようにした。その結果、接続した第２の機器３に対応して第１コマンド変換装置２１と第２コマンド変換装置２２とを切換えることで、第１の機器２と第２の機器３とを確実に接続することができる。
【００６１】
（２）第１及び第２コマンド変換装置２１，２２は、判定回路３６を備え、該判定回路３６は、ＵＳＢからのコマンドをＡＴＡＰＩ又はＡＴＡのコマンドに変換するか否かを判断し、変換しない場合にはエラー応答出力信号ＳＥＲを出力する。第１又は第２ステータス変換装置２４，２５は、そのエラー応答出力信号ＳＥＲに応答してエラーステータスを第１の機器２に出力するようにした。その結果、ＡＴＡＰＩ又はＡＴＡでサポートしていないコマンドに対する応答をインタフェース変換装置１が行うため、応答性を改善することができる。
【００６２】
（３）第１及び第２データ変換装置２７，２８はデータ確認装置４１を備え、入力されたデータに所定のデータパターンと一致する部分があるか否かを確認し、一致する部分がある場合にはそのデータを出力しないようにした。その結果、ウィルス等の不正なデータを発見し、それを第１又は第２の機器２，３へ転送することを防ぐことができる。
【００６３】
（４）第１及び第２データ変換装置２７，２８は、誤り訂正符号装置４２を備え、誤り訂正符号，誤り検出符号をデータに付加して出力するようにした。その結果、各インタフェースでのデータ誤りを防ぐことができる。
【００６４】
（５）第１及び第２データ変換装置２７，２８は暗号化装置４３と復号化装置４４を備え、データの暗号化・復号化を行うようにした。その結果、暗号化したデータを記録したＨＤＤ等の第２の機器３が第３者に渡っても、読み出したデータが暗号化されているのでそのデータの漏洩を防止することができる。
【００６５】
尚、前記実施形態は、以下の態様に変更してもよい。
・上記実施形態では、インタフェースの各種変換処理をインタフェース変換装置１、即ちハードウェアにて行うようにしたが、そのインタフェース変換装置１が持つ機能の一部をソフトウェアにて実行するようにしてもよい。
【００６６】
即ち、図１１に示すように、インタフェース変換装置８１は、変換部８２とＭＰＵ８３とを含み、それらは１つのチップ上に形成されている。変換部８２は上記実施形態と同様に、第１及び第２制御回路１１，１２、コマンド変換回路１３、ステータス変換回路１４、データ変換回路１５を含む。ＭＰＵ８３は、インタフェース診断及び切換装置として機能するプログラム８４を実行する。このプログラム８４は、ＭＰＵ８３が持つメモリやＭＰＵ８３がアクセスするメモリに予め記憶されている。
【００６７】
ＭＰＵ８３がインタフェース診断および切換装置としての機能を実行することで、診断のためのシーケンスや発行コマンドを容易に変更することができるようになる。また、インタフェース診断および切換装置としての機能は、第２の機器３を接続した時や電源投入時に実行すればよく、常時動作させる必要がない。従って、このインタフェース診断および切換装置としての機能をハードウェアにて実現しないことで、インタフェース変換装置８１（変換部８２）の電力消費を低減することができる。
【００６８】
・上記実施形態では、コマンド／ステータス／データをＵＳＢとＡＴＡ及びＡＴＡＰＩの間で変換するようにしたが、少なくともコマンドを変換すればＵＳＢとＡＴＡ及びＡＴＡＰＩの間で通信が可能となる。従って、図１のインタフェース変換装置１からステータス変換回路１４とデータ変換回路１５の少なくとも一方を省略して実施しても良い。また、図１２に示すように、インタフェース変換装置８１ａを、第１及び第２制御回路１１，１２、コマンド変換回路１３、ステータス変換回路１４を含む変換部８２ａとＭＰＵ８３とから構成しても良い。
【００６９】
・上記実施形態において、インタフェース変換装置１が持つ変換のための機能及び診断のための機能をソフトウェアにて実行するようにしても良い。
即ち、図１３に示すように、インタフェース変換装置８１ｂは、変換部８２ａとＭＰＵ８３ａとを含み、それらは１つのチップ上に形成されている。変換部８２は、第１及び第２制御回路１１，１２を含む。ＭＰＵ８３は、インタフェース診断及び切換装置として機能する診断プログラム８４、コマンド変換回路として機能するコマンド変換プログラム８５、テータス変換回路として機能するステータス変換プログラム８６を実行する。尚、データ変換回路として機能するデータ変換プログラムを実行する構成としてもよい。これらのプログラム８４，８５，８６は、ＭＰＵ８３ａが持つメモリやＭＰＵ８３ａがアクセスするメモリに予め記憶されている。
【００７０】
コマンド変換プログラム８５は、第１コマンド変換装置として機能するプログラム９１と、第２コマンド変換装置として機能するプログラム９２と、切換回路として機能するプログラム９３とから構成される。ＭＰＵ８３ａは、プログラム９１を実行して第１のインタフェースと第２のインタフェースの間でコマンドを変換し、プログラム９２を実行して第１のインタフェースと第３のインタフェースの間でコマンドを変換する。プログラム９３は、診断プログラム８４からの指示に基づいてプログラム９１とプログラム９２との実行を入れ替える（例えば、ＭＰＵ８３ａが実行する命令を示すポインタを切換える）。
【００７１】
ステータス変換プログラム８６は、第１ステータス変換装置として機能するプログラム９４と、第２ステータス変換装置として機能するプログラム９５と、切換回路として機能するプログラム９６とから構成される。ＭＰＵ８３ａは、プログラム９４を実行して第１のインタフェースと第２のインタフェースの間でステータスを変換し、プログラム９５を実行して第１のインタフェースと第３のインタフェースの間でステータスを変換する。プログラム９６は、診断プログラム８４からの指示に基づいてプログラム９４とプログラム９５との実行を入れ替える（例えば、ＭＰＵ８３ａが実行する命令を示すポインタを切換える）。
【００７２】
このように構成すれば、第１の機器２や第２の機器３が持つインタフェースが変更された場合にも、それに対応する変換のためのプログラムのみを入れ替えればよいので、容易に短時間で新たなインタフェースに対応することができる。
【００７３】
・上記各実施形態において、ＡＴＡに適合させる変換処理と、ＡＴＡＰＩに適合させる変換処理の双方をハードウェア又はソフトウェアにて実行するようにしたが、ＡＴＡとＡＴＡＰＩの一方をハードウェアにて実現し、他方をソフトウェアにて実現するようにしても良い。
【００７４】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）　第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、
第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、
接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換える診断及び切換手段と、
を備えたことを特徴とするインタフェース変換装置。（１）
（付記２）　前記診断及び切換手段は、前記接続された機器に対してコマンドを発行し、該機器のステータス情報に基づいて該機器が持つインタフェースを診断することを特徴とする付記１記載のインタフェース変換装置。（２）
（付記３）　第１及び第２のコマンド変換手段の少なくとも一方は、第１のインタフェースを介して入力されるコマンドを、対応する第２又は第３のインタフェースのコマンドに変換するか否かを判定する判定手段を備え、該判定結果に基づいて変換しない場合に前記第１のインタフェースを介してエラーステータスを出力することを特徴とする付記１又は２記載のインタフェース変換装置。（３）
（付記４）　前記第１及び第２のコマンド変換手段の少なくとも一方は、相互のコマンドが対応付けられて記憶されたテーブルを用いて該コマンドを変換することを特徴とする付記１乃至３のうちの何れか一つに記載のインタフェース変換装置。
（付記５）　第１のインタフェースと第２のインタフェースとの間でステータスを変換する第１のステータス変換手段と、
第１のインタフェースと第３のインタフェースとの間でステータスを変換する第２のステータス変換手段と、を備え、
前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換えることを特徴とする付記１乃至４のうちの何れか一つに記載のインタフェース変換装置。（４）
（付記６）　第１のインタフェースと第２のインタフェースとの間でデータを変換する第１のデータ変換手段と、
第１のインタフェースと第３のインタフェースとの間でデータを変換する第２のデータ変換手段と、を備え、
前記診断及び切換手段は、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のステータス変換手段と前記第２のステータス変換手段とを切換えることを特徴とする付記１乃至５のうちの何れか一つに記載のインタフェース変換装置。（５）
（付記７）　第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに対して暗号化・復号化処理を施すことを特徴とする付記６記載のインタフェース変換装置。（６）
（付記８）　第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに誤り訂正符号を付加して出力することを特徴とする付記６記載のインタフェース変換装置。（７）
（付記９）　第１及び第２のデータ変換手段の少なくとも一方は、データ変換時に入力データに所定のデータパターンを含むか否かを判定し、含む場合にはその入力データの出力を停止することを特徴とする付記６記載のインタフェース変換装置。（８）
（付記１０）　第１のインタフェースと第２のインタフェースとの間でコマンドを変換する第１のコマンド変換手段と、
第１のインタフェースと第３のインタフェースとの間でコマンドを変換する第２のコマンド変換手段と、を備え、
接続された機器が前記第２のインタフェースを持つか前記第３のインタフェースを持つかを診断し、該診断結果に基づき該機器が持つインタフェースに対応して前記第１のコマンド変換手段と第２のコマンド変換手段とを切換えることを特徴とするインタフェース変換方法。（９）
（付記１１）　前記接続された機器に対して第２のインタフェースに対応するコマンドと前記第３のインタフェースに対応するコマンドを順次発行し、各コマンドにそれぞれ対する該機器のステータス情報に基づいて該機器が持つインタフェースを診断することを特徴とする付記１０記載のインタフェース変換方法。（１０）
（付記１２）　第１及び第２のコマンド変換手段の少なくとも一方は、第１のインタフェースを介して入力されるコマンドを、対応する第２又は第３のインタフェースのコマンドに変換するか否かを判定する判定手段を備え、該判定結果に基づいて変換しない場合に前記第１のインタフェースを介してエラーステータスを出力することを特徴とする付記１０又は１１記載のインタフェース変換方法。
【００７５】
【発明の効果】
以上詳述したように、本発明によれば、接続された装置を互いに認識させ、接続することができる。
【図面の簡単な説明】
【図１】一実施形態のインタフェース変換装置のブロック回路図である。
【図２】コマンド変換装置のブロック回路図である。
【図３】データ変換装置のブロック回路図である。
【図４】インタフェース診断の処理フローチャートである。
【図５】第１コマンド変換装置の動作説明図である。
【図６】第１コマンド変換装置の動作説明図である。
【図７】第２コマンド変換装置の動作説明図である。
【図８】第２コマンド変換装置の動作説明図である。
【図９】第１ステータス変換装置の動作説明図である。
【図１０】第２ステータス変換装置の動作説明図である。
【図１１】別のインタフェース変換装置のブロック回路図である。
【図１２】別のインタフェース変換装置のブロック回路図である。
【図１３】別のインタフェース変換装置のブロック回路図である。
【符号の説明】
１　インタフェース変換装置
２　機器（第１のインタフェースを持つ機器）
３　機器（第２又は第３のインタフェースを持つ機器）
１６　診断及び切換手段（インタフェース診断および切換装置）
２１　第１のコマンド変換手段（第１コマンド変換装置）
２２　第２のコマンド変換手段（第２コマンド変換装置）
２４　第１のステータス変換手段（第１ステータス変換装置）
２５　第２のステータス変換手段（第２ステータス変換装置）
２７　第１のデータ変換手段（第１データ変換装置）
２８　第２のデータ変換手段（第２データ変換装置）
【図１】
2004126707.tif 000003
【図２】
2004126707.tif 000004
【図３】
2004126707.tif 000005
【図４】
2004126707.tif 000006
【図５】
2004126707.tif 000007
【図６】
2004126707.tif 000008
【図７】
2004126707.tif 000009
【図８】
2004126707.tif 000010
【図９】
2004126707.tif 000011
【図１０】
2004126707.tif 000012
【図１１】
2004126707.tif 000013
【図１２】
2004126707.tif 000014
【図１３】
2004126707.tif 000015