(57)【要約】【課題】パラレル接続用デバイス装置、シリアル接続用デバイスのいずれもが共通のパラレルコネクタを介して接続できるようにする。【解決手段】ホスト側には、パラレルＡＴＡホストコントローラ１００、シリアルＡＴＡホストコントローラ１０５を有する。コントローラ１００にはＡＴＡに準拠した４０ピンコネクタの該当する信号線と接続されている。一方、コントローラ１０５は、受信、送信に仕様するそれぞれ一対の差動信号をアサインするため、パラレルコントローラ１００における受信用の信号の中で、パラレルインタフェース中のＤＭＡＲＱ、ＩＯＲＤＹの組を送信用、ＩＮＴＲＱ、ＩＯＣＳ１６を受信用として割り当てる。これら２つコントローラはシリアルＡＴＡインタフェース選択回路１０６に供給する信号で制御する。【選択図】　図１
2004029963.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に搭載され、パラレルコネクタを介してデバイス装置と接続を行うデバイス接続用インタフェース装置であって、
前記パラレルコネクタの各信号線に接続されるパラレルデバイス用の第１のデバイスコントローラと、
前記パラレルコネクタの信号線中の一部分に接続されるシリアルデバイス用の第２のデバイスコントローラと、
ホストからの要求に応じて、前記第１、第２のデバイスコントローラの一方をアクティブ、他方をインアクティブに選択する選択回路と
を備えることを特徴とするデバイス接続用インタフェース装置。
【請求項２】
前記第２のデバイスコントローラと前記パラレルコネクタに接続する信号線は、前記第１のデバイスコントローラに接続される信号線の中の受信用信号線であることを特徴とする請求項１に記載のデバイス接続用インタフェース装置。
【請求項３】
前記デバイス装置は、ＡＴＡ／ＡＴＡＰＩ規格準拠のデバイスであって、
前記第２のデバイスコントローラが有する送信用端子及び受信用端子に接続される信号線は、差動信号として利用する前記パラレルコネクタ中の隣接した一対の信号線であることを特徴とする請求項２に記載のデバイス接続用インタフェース装置。
【請求項４】
前記第２のデバイスコントローラが有する送信側端子ＨＴには、前記パラレルコネクタのホスト側における信号線ＤＭＡＲＱ、ＩＯＲＤＹの組、或いは、信号線ＩＮＴＲＱ、ＩＯＣＳ１６の組の内、いずれか一方の信号線の組を差動信号線ＨＴ＋、ＨＴ−に割り当て、受信側端子ＨＲには、前記ＨＴ＋、ＨＴ−に割り当てた信号線の組とは異なる、他方の信号線の組を差動信号線ＨＲ＋、ＨＲ−に割り当てることを特徴とする請求項３に記載のデバイス接続用インタフェース装置。
【請求項５】
電源投入時には、前記第１のデバイスコントローラがアクティブにし、第２のデバイスコントローラをインアクティブにし、
第１の段階ではパラレル接続のデバイスが接続されているか否かを判断し、パラレル接続デバイスが非接続であると判断した場合に、第２のデバイスコントローラをアクティブにして、シリアル接続デバイスが接続されているか否かを判断する手段を備えることを特徴とする請求項４に記載のデバイス接続用インタフェース装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデバイス接続用インタフェース装置、特に、ハードディスクドライブ装置、ＣＤ−ＲＯＭ装置等をホストコンピュータに接続するためのＡＴＡ／ＡＴＡＰＩ規格準拠のインターフェース装置に関するものである。
【０００２】
【従来の技術】
従来、いわゆるパーソナルコンピュータ（以下、ＰＣ）においては、一般的に、ハードディスクドライブ装置、ＣＤ−ＲＯＭ装置等のデバイスを接続する為のインタフェースとして、ＡＮＳＩ（Ａｍｅｒｉｃａｎ　Ｎａｔｉｏｎａｌ　Ｓｔａｎｄａｒｄｓ　Ｉｎｓｔｉｔｕｔｅ）において、その仕様が規定されているＡＴＡ／ＡＴＡＰＩ規格、『ＡＴ　Ａｔｔａｃｈｍｅｎｔ−５　ｗｉｔｈ　Ｐａｃｋｅｔ　Ｉｎｔｅｒｆａｃｅ』（以下、パラレルＡＴＡ規格と表記）が採用されている。
【０００３】
これは４０ピンのコネクタを用い、ホストＣＰＵと親和性の高い、簡単なパラレルインタフェースで、安価にハードディスクドライブ等の大容量記憶装置を接続する事を目的として策定されたものである。上記のパラレルＡＴＡ規格においては、４０ピンのコネクタに配された双方向の８／１６ビットのデータバスを介し、同じく４０ピンのコネクタ内に配された、デバイス装置内の制御レジスタをアドレスする為のアドレス線、ホスト装置側とデバイス装置側で確実にデータ転送を行う為に使用する各種の制御線を用いて、ホスト側装置の制御により、高速なデータ転送を実現する。
【０００４】
【発明が解決しようとする課題】
ところで、近年、ハードディスク装置、ＤＶＤ−ＲＯＭに代表される可換型メディア等の大容量化に伴い、より高速なデータ転送が求められるとともに、このようなデバイスを、より簡単に、装置に着脱する仕組みが求められている。このような状況を鑑み、前者の課題に対しては、ＡＮＳＩにおいて、従来のパラレルインタフェースではなく、低電圧差動信号を用いた新しい高速シリアルインタフェース規格が検討され、２００１年１０月に、『Ｓｅｒｉａｌ　ＡＴＡ／Ｈｉｇｈ　Ｓｐｅｅｄ　Ｓｅｒｉａｌｉｚｅｄ　ＡＴ　Ａｔｔａｃｈｍｅｎｔ　ｓｐｅｃｉｆｉｃａｔｉｏｎ』（以下、シリアルＡＴＡ規格と表記）として正式にリリースされた。
【０００５】
この規格は、従来のパラレルＡＴＡ規格と、アプリケーション層での互換性を保ち、トランスポート層、リンク層、物理層の下位層のみをシリアルＡＴＡ規格対応に変更することで、ソフトウェア開発の負荷を軽減して、パラレルＡＴＡ規格から、容易にシリアルＡＴＡ規格へと移行できるように考慮されている。
【０００６】
しかしながら、パラレルＡＴＡ規格、シリアルＡＴＡ規格ともに、同一筐体内におけるホスト装置とデバイス装置とのインタフェース規格として規定されている為、コネクタ形状には互換性がない。
【０００７】
一方、従来、ノート型ＰＣ等では、信号線自体はパラレルＡＴＡ規格に準拠しているが、パラレルＡＴＡ規格に規定されているコネクタに比較し、より挿抜に適した、独自形状の小型コネクタを用いることにより、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ装置等を交換可能とした手法を採用している。また、同様の手法により、パラレルＡＴＡ規格を採用したリムーバブルハードディスクドライブ装置等が一部メーカにより製品化されている。
【０００８】
前述のごとく、今後、ハードディスク、ＣＤ−ＲＯＭ装置等のデバイス装置は、より高速で、かつ、信号線が少ない為に装置間の接続も容易なシリアルＡＴＡ規格への移行が進んで行く事は想像に難くないが、しばらくの期間は、旧規格のパラレルＡＴＡ規格対応品と、新規格のシリアルＡＴＡ規格対応品が混在するであろう事も想像に難くない。ところで、特に前述のごとき、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、リムーバブルハードディスクドライブ等の可換型デバイスに対応したホスト装置においては、移行期間、および移行後も含め、従来のパラレルＡＴＡ規格対応デバイス装置と、新しいシリアルＡＴＡ規格対応デバイス装置との間で、コネクタ形状も含めて互換性を保つことが望ましい。
【０００９】
本発明はかかる課題に鑑みなされたものであり、パラレル接続用デバイス装置及びシリアル接続用デバイスを共通のパラレルコネクタを介して接続できるようにするデバイス接続用インタフェース装置を提供しようとするものである。更に、また、ホスト及びデバイス側ともにダメージを被ることがないデバイス接続用インタフェース装置を提供しようとするものである。
【００１０】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明のデバイス接続用インタフェース装置は以下の構成を備える。すなわち、
ホスト装置に搭載され、パラレルコネクタを介してデバイス装置と接続を行うデバイス接続用インタフェース装置であって、
前記パラレルコネクタの各信号線に接続されるパラレルデバイス用の第１のデバイスコントローラと、
前記パラレルコネクタの信号線中の一部分に接続されるシリアルデバイス用の第２のデバイスコントローラと、
ホストからの要求に応じて、前記第１、第２のデバイスコントローラの一方をアクティブ、他方をインアクティブに選択する選択回路とを備える。
【００１１】
また、本発明の好適な実施態様に従えば、デバイス接続用インタフェース装置は、
・複数の信号線よりなる双方向のデータバスと、前記データバスを介して、前記ホスト装置と前記デバイス装置間で、データ転送を行う際に、データフローを制御する為に、前記ホスト装置から前記デバイス装置に対して出力される、前記ホスト装置から見た、複数の出力制御信号線と、前記デバイス装置から前記ホスト装置に対して出力される、前記ホスト装置から見た、複数の入力制御信号線を含む、第一のパラレルインタフェースと、
前記第一のパラレルインタフェースにおける、前記複数の入力制御信号線の何れかに多重化された、前記ホスト装置から前記デバイス装置に対してシリアルデータを出力する、前記ホスト装置から見た、少なくとも一つの、出力用シリアル通信信号線と、前記デバイス装置から前記ホスト装置に対してシリアルデータを出力する、前記ホスト装置から見た、少なくとも一つの、入力用シリアル通信信号線を含む、第二のシリアルインタフェースを有し、
電源投入後、最初の状態においては、前記第一のパラレルインタフェースが動作可能な活性化状態に初期化され、前記第二のシリアルインタフェースの信号線は、非活性化状態に初期化されることにより、初期状態において、ホスト装置側の出力信号と、デバイス装置側の出力信号とが衝突しないように動作することにより、それぞれの送受信バッファを破壊しないように動作する。
【００１２】
初期化後、まず、前記第一のパラレルインタフェースを介してのデバイス認識を試み、前記第一のパラレルインタフェースによるデバイス認識により、デバイス装置と通信できた場合には、そのままの状態でインターフェスを使用し、デバイス装置と通信できなかった場合には、前記第一のパラレルインタフェースの信号線を、非活性化状態に変更し、前記第二のシリアルインタフェースの信号線を動作可能なように活性化状態に変更して、再初期化を行う。
【００１３】
再初期化後、今度は、前記第二のシリアルインタフェースを介してのデバイス認識を試み、前記第二のシリアルインタフェースによるデバイス認識により、デバイス装置と通信できた場合には、そのままの状態でインターフェスを使用し、デバイス装置と通信できなかった場合には、前記第二のシリアルインタフェースの信号線を再び、非活性化状態に変更し、このインタフェースを未使用状態に設定するように動作することにより、確実に、かつ安全に両方式のインタフェースに対応する。
【００１４】
さらに、前記第二のシリアルインタフェースにおける、出力用シリアル通信信号線ならびに入力用シリアル通信信号線が、それぞれ差動信号伝送方式である場合は、それぞれ対を成す差動信号線が、前記第一のパラレルインタフェースの、前記コネクタ上における物理的配置が、最も近接する２本であるように信号線を配置することにより、耐ノイズ性の高い実装を実現する。
【００１５】
また、前記ホスト装置と前記デバイス装置を、コネクタを介して接続する第一のパラレルインタフェースは、ＡＴＡ／ＡＴＡＰＩ規格準拠のパラレルＡＴＡインタフェースであり、前記第二のシリアルインタフェースは、ＡＴＡ／ＡＴＡＰＩ規格準拠のシリアルＡＴＡインタフェースである場合、より具体的には、前記パラレルＡＴＡインタフェースにおける、ＤＭＡＲＱ信号線、ＩＮＴＲＱ信号線、ＩＯＲＤＹ信号線、およびＩＯＣＳ１６−信号線を、前記シリアルＡＴＡインターフェスにおける、前記出力用シリアル通信信号線ＨＴ＋／ＨＴ、ならびに前記入力用シリアル通信信号線ＨＲ＋／ＨＲ−と多重することにより、パラレルＡＴＡインタフェースと同一形状のコネクタを使用しながら、パラレルＡＴＡインタフェースと、シリアルＡＴＡインタフェースの両方式に対応したホスト装置を実現する事が可能となる。
【００１６】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１７】
図１は、本実施形態にけるホスト装置側のパラレルＡＴＡ規格、シリアルＡＴＡ規格両方式対応インタフェースの構成図である。
【００１８】
図において、１００は、パラレルＡＴＡホストコントローラであり、ＰＣＩバス２０６を介して、後述のホスト装置内のＣＰＵ２０１により実行されるプログラムに従い動作し、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４（デバイスはハードディスクドライブ、ＣＤＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ等）を介して接続するパラレルＡＴＡ規格準拠のデバイス装置の制御、データの読み書き等を行う。パラレルＡＴＡホストコントローラ１００の内部に関しての詳細な説明は省略するが、図示の如く、ＣＳＥＬ、ＣＳ［１：０］−、ＤＤ［１５：０］等々、パラレルＡＴＡ規格に準拠した各種の信号が直接、後述のバッファを介して、入出力される。なお、上述の説明、および以下の説明において、例えばデータバス信号線のように、複数の信号線を一纏めに表記する場合には、次の表記規則に則り説明を行う。
ｘｘ［ｍ：ｎ］　：　ｘｘは信号名。ｍ、ｎはｘｘ信号線のそれぞれ上限と下限の信号番号である。
【００１９】
ところで、本説明においては、パラレルＡＴＡ規格において規定されている各種信号線の役割、動作タイミング等に関しては、ＡＮＳＩの規格書に詳細が記されているので説明しないが、図７、図８、図９及び図１１、図１２に、ＡＮＳＩの規格書から抜粋した資料を掲載する。図１１は、ホスト側コネクタ（ＨｏｓｔＩ／Ｏ　ｃｏｎｎｅｃｔｏｒ）と、デバイス側コネクタ（Ｄｅｖｉｃｅ　Ｉ／Ｏ　ｃｏｎｎｅｃｔｏｒ）の間を接続する信号の信号名、ピン配置、信号の向き、およびニーモニックを示した表である。図７は、図１１を補足する図であり、図１１において、アスタリスク（＊）マークの付された三本の信号線ＳＰＳＹＮＣ：ＣＳＥＬ、ＰＤＩＡＧ−、およびＤＡＳＰ−の、装置間接続を示した図である。図１２は、デバイス装置側から見た、ニーモニック、ピン配置、信号の向き、信号名称を示した表である。図８は、ホスト装置（ＨＯＳＴ）と、ＡＴＡコントローラ（ＣＯＮＴＲＯＬＬＥＲ）およびデバイス装置（ＤＲＩＶＥ）の関係の一例を示した図であり、同図においては、ＨＯＳＴとＣＯＮＴＲＯＬＬＥＲ間のインタフェースがＡＴＡインタフェースとなっている。図９は、一般的なＰＣ（ＨＯＳＴ）におけるＡＴＡコントローラ（ＡＤＡＰＴＥＲ）、およびデバイス装置（ＤＲＩＶＥ０、およびＤＲＩＶＥ１）との関係の一例を示した図であり、同図においては、ＡＤＡＰＴＥＲとＤＲＩＶＥ０、およびＤＲＩＶＥ１間のインタフェースがＡＴＡインタフェースとなっている。
【００２０】
さて、説明を図１に戻す。１０１ａ、１０１ｄ、１０１ｅ、１０１ｈ、１０１ｊ、１０１ｌは、パラレルＡＴＡ規格の信号レベルに準拠した出力バッファであり、それぞれの入力端子は、パラレルＡＴＡホストコントローラ１００の、ＣＳ［１：０］、ＤＡ［２：０］、ＤＭＡＣＫ、ＤＩＯＲ−、ＤＩＯＷ−、ＲＥＳＥＴ−端子に接続してある。また、それぞれの出力端子は、パラレルＡＴＡホストコントローラ１００の信号名に対応する、ホスト側コネクタ１０２の各端子に接続してある。
【００２１】
同様に、１０１ｃ、１０１ｆ、１０１ｇ、１０１ｉ、１０１ｋは、パラレルＡＴＡ規格の信号レベルに準拠した入力バッファであり、それぞれの出力端子は、パラレルＡＴＡホストコントローラ１００の、ＤＡＳＰ−、ＤＭＡＲＱ、ＩＮＴＲＱ，ＩＯＲＤＹ、ＩＯＣＳ１６−端子に接続してある。また、それぞれの入力端子は、パラレルＡＴＡホストコントローラ１００の信号名に対応する、ホスト側コネクタ１０２の、各端子に接続してある。
【００２２】
１０１ｂは、双方向バッファであり、一方の入出力端子は、パラレルＡＴＡホストコントローラ１００のＤＤ［１５：０］端子に接続してあり、他方の入出力端子は、ホスト側コネクタ１０２のＤＤ［１５：０］端子に接続してある。また、図示はしないが、双方向バッファ１０１ｂは、パラレルＡＴＡホストコントローラ１００から出力される制御線により、バッファの信号転送方向が決定される。
【００２３】
１０５は、実施形態におけるシリアルＡＴＡホストコントローラであり、前述のシリアルＡＴＡホストコントローラ１００同様、ＰＣＩバス２０６を介して、後述のホスト装置内のＣＰＵ２０１により実行されるプログラムに従い動作し、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４を介して接続するシリアルＡＴＡ規格準拠のデバイス装置の制御、データの読み書き等を行う。シリアルＡＴＡホストコントローラ１０５の内部に関しても、詳細な説明は省略するが、図示の如く、シリアルＡＴＡ規格に準拠した、ＨＴ（Ｈｏｓｔ　Ｔｒａｎｓｍｉｔｔｅｒ　ｓｉｇｎａｌ）、ＨＲ（Ｈｏｓｔ　Ｒｅｃｅｉｖｅｒ　ｓｉｇｎａｌ）の各信号が、直接、後述のバッファを介して、入出力される。シリアルＡＴＡ規格において規定されている、各種信号線の役割、動作タイミング等に関しても、ＡＮＳＩの規格書に詳細が記されているので、ここでは説明しない。
【００２４】
なお、実施形態ではパラレルＡＴＡの信号の一部分に、ＡＴＡホスト側の送信信号線ＨＴ及び受信信号線ＨＲを割り当てるので、利用できる信号線はホスト側のパラレルＡＴＡにおける入力用信号線を利用することになる。
【００２５】
図１０及び図１３に、ＡＮＳＩのシリアルＡＴＡ規格書から抜粋した、信号名称、およびＡＮＳＩ規格に準拠したコネクタを使用した場合のピン番号を記す。シリアルＡＴＡではシリアル転送に差動信号を用いるので、一対の信号の組は互いに近接した位置にあることが望ましい。
【００２６】
１０７は、差動入力バッファであり、差動入力バッファ１０７のプラス側入力端子Ｘ１は、前記入力バッファ１０１ｇの入力端子、およびホスト側コネクタ１０２の３１番ピン、ＩＮＴＲＱ：ＨＲ＋端子に接続してある。差動入力バッファ１０７の、もう一方の入力端子、すなわちマイナス側入力端子Ｘ２は、前記入力バッファ１０１ｋの入力端子、およびホスト側コネクタ１０２の３２番ピン、ＩＯＣＳ１６−：ＨＲ−端子に接続してある。さらに、差動入力バッファ１０７の出力端子Ｙは、前記シリアルＡＴＡコントローラ１０５のＨＲ入力端子に接続してある。
【００２７】
１０８は、差動出力バッファであり、差動出力バッファ１０８の入力端子は、前記シリアルＡＴＡコントローラ１０５のＨＴ出力端子に接続されており、差動入力バッファ１０８のプラス側出力端子Ｙ１は、前記入力バッファ１０１ｆの入力端子、およびホスト側コネクタ１０２の２１番ピン、ＤＭＡＲＱ：ＨＴ＋端子に接続してある。差動出力バッファ１０８の、もう一方の出力端子、すなわちマイナス側出力端子Ｙ２は、前記入力バッファ１０１ｉの入力端子、およびホスト側コネクタ１０２の２７番ピン、ＩＯＲＤＹ：ＨＴ−端子に接続してある。差動入力バッファ１０７、および差動出力バッファ１０８のイネーブル信号Ｇは、後述のシリアルＡＴＡインタフェース選択回路１０６の出力信号Ｑに接続してある。該イネーブル信号の値がローレベルであれば、差動入力バッファ１０７、および差動出力バッファ１０８は非アクティブ状態となり、その出力はハイインピーダンス状態となるように動作する。
【００２８】
１０６は、シリアルＡＴＡインタフェース選択回路であり、動作に関しては後述するが、ホスト装置の電源投入直後は、差動入力バッファ１０７、差動出力バッファ１０８のイネーブル信号Ｇを非アクティブ状態とするように動作し、ホスト装置内のＣＰＵ２０１により実行されるプログラムに従い、差動入力バッファ１０７、差動出力バッファ１０８のイネーブル信号Ｇをアクティブ状態とするようにも動作する。
【００２９】
図２は、本発明を実施したパラレルＡＴＡインタフェース、およびシリアルＡＴＡインタフェース両方式対応ディスクコントローラを搭載したホスト装置の構成図である。図において、２００は、パーソナルコンピュータ装置であり、２０１は、システム全体を制御するＣＰＵである。
【００３０】
２０２は、一般的にノースブリッジと呼ばれているブロックであり、ＣＰＵ２０１のローカルバスを、メモリバス２２５、グラフィックスバス（ＡＧＰ）２２４を介して、それぞれ、メインメモリモジュール２０４、グラフィックスコントローラ２０５へと接続している。メインメモリモジュール２０４はノースブリッジを介して、ＣＰＵ２０１と接続され、ＣＰＵ２０１のプログラム実行に必要なプログラムコードの保持、プログラムの実行状態を保持するスクラッチパドメモリとして機能する。グラフィックスコントローラ２０５は、グラフィックスバス（ＡＧＰ）２２４を介して、ＣＰＵ２０１と接続され、ＣＰＵ２０１により実行されたプログラムの指示により、グラフィックコントローラ２０５に接続されたビデオメモリ（ＶＲＡＭ）２３１に様々な描画を行うと同時に、ビデオメモリ２３１に描画された表示画像データを、ラスターデータとして読み出し、ビデオコネクタ２１２、ビデオケーブル２３３を介して、ディスプレイ２１８へと表示出力するように動作する。
【００３１】
２０３は、一般的にサウスブリッジと呼ばれているブロックであり、内部バス２３２を介してノースブリッジ２０２と接続しており、ノースブリッジ２０２と連動することにより、ホスト装置２００に、様々な入出力装置を接続する為のＰＣＩ拡張バス２０６と、システムの初期化、および起動に必要なＢＩＯＳ　ＲＯＭ２２６の読み出し、および実行を制御するように動作する。また、サウスブリッジ２０３内には、汎用入出力ポート（ＧＰＩＯ）を有しており、該汎用入出力ポートを使用して、ホスト装置内各部の制御を行う。尚、上記構成において、ノースブリッジ、サウスブリッジは一般にチップセットとして呼ばれるものであり、中には、これらを１チップで実現しているものもある。
【００３２】
２３４は、前記汎用入出力ポートの出力信号であり、前述のシリアルＡＴＡインタフェース選択回路１０６の動作を制御するのに使用する。
【００３３】
２２６は、ＢＩＯＳ　ＲＯＭであり、システムの起動、および初期化に必要なプログラムコードを保持しており、サウスブリッジ２０３を介して、ＣＰＵ２０１に接続されている。
【００３４】
２０６は、ＰＣＩバスであり、図示はしないが、サウスブリッジ２０３内のＰＣＩホストブリッジにより制御される。
【００３５】
１０９は、前述のパラレルＡＴＡ、シリアルＡＴＡ両方式対応インタフェース回路１を搭載したディスクコントローラであり、ＰＣＩバス２０６を介して、ＣＰＵ２０１により実行されたプログラムの指示により動作し、コネクタ１０２、ケーブル１０３を介して、ハードディスクドライブ装置２０７を制御する。
【００３６】
２０９は、イーサネット（登録商標）コントローラであり、イーサネット（登録商標）コネクタ２１７を介して、ＬＡＮ２２３に接続している。イーサネット（登録商標）コントローラ２０９は、ＰＣＩバス２０６を介して、ＣＰＵ２０１により実行されたプログラムの指示により動作し、ＬＡＮ２２３上に接続されている他の装置と通信を行う。
【００３７】
２１０は、サウンドコントローラであり、前述のディスクコントローラ１０９、イーサネット（登録商標）コントローラ２０９と同様に、ＰＣＩバス２０６を介して、ＣＰＵ２０１により実行されたプログラムの指示により、スピーカ接続コネクタ２１５、スピーカ接続ケーブル２２９を介して接続したスピーカ２２１に音声を出力したり、コネクタ２１６、マイクケーブル２３０を介して接続されたマイク２２２により、音声を入力するように動作する。
【００３８】
２１１は、ＵＳＢホストコントローラであり、同様に、ＰＣＩバス２０６を介して、ＣＰＵ２０１により実行されたプログラムの指示により、ＵＳＢコネクタ２１３、および２１４、ＵＳＢケーブル２２７、２２８を介して接続したＵＳＢキーボード２１９、ＵＳＢマウス２２０の制御を行う。
【００３９】
図６は、シリアルＡＴＡインタフェース選択回路１０６の構成図である。図において６０１は、フリップフロップであり、データ入力端子Ｄには、前述のサウスブリッジ２０３内の汎用入出力ポート（ＧＰＩＯ）から出力される制御信号２３４が接続されている。またフリップフロップ６０１のクロック入力端子には、図示はしないが、ＣＰＵ２０１に供給されているのと同じクロック信号が供給されており、該クロック信号のフォーリングエッジで、前記データ入力端子Ｄに接続された制御信号２３４の値をラッチして、出力端子Ｑに、その値を出力するように動作する。フリップフロップ６０１の出力端子Ｑは、前述のように、差動入力バッファ１０７、および差動出力バッファ１０８のイネーブル信号Ｇに接続してある。フリップフロップ６０１のＳ端子（セット端子）は、電源電圧Ｖｃｃにプルアップされており、常に非アクティブ状態に保たれている。フリップフロップ６０１のＲ端子（リセット端子）には、該Ｒ端子と電源電圧Ｖｃｃ間に接続された抵抗６０３と、該Ｒ端子とＧＮＤ（グラウンド）間に接続されたキャパシタ６０４が接続されている。前記抵抗６０３と前記キャパシタ６０４の働きにより、電源投入時には、該Ｒ端子がアクティブ状態となり、フリップフロップ６０１の出力Ｑは、電源投入直後は、ローレベルとなる。したがって、前述のように、電源投入直後の初期状態においては、差動入力バッファ１０７、および差動出力バッファ１０８は、非アクティブ状態となり、差動入力バッファ１０７、および差動出力バッファ１０８の出力はハイインピーダンス状態に保たれる。
【００４０】
図５は、シリアルＡＴＡインタフェース選択回路１０６の動作に着目して示したフローチャートである。このフローチャートに係るプログラムは、実施形態におけるホストコントローラが、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ　Ｂｕｓ）カードに搭載されるのであれば、そのカード上にＢＩＯＳ−ＲＯＭとして搭載すれば良いし、マザーボードに搭載するのであれば、マザーボードのＢＩＯＳＲＯＭに搭載すればよい。ただし、接続されたデバイスからブートしないのであれば（ＢＩＯＳ−ＲＯＭを持たない場合）、ＯＳが起動した後、そのＯＳ上で同処理のドライバを実行させるようにしても良い。
【００４１】
以下、図面に沿って、該ＡＴＡディスクコントローラのインタフェースタイプ、および動作モード決定の処理に関して説明する。
【００４２】
最初に、ステップＳ１において、ＰＣＩバス２０６を介して、シリアルＡＴＡホストコントローラ１０５内の制御レジスタにコマンドを書き込むことにより、シリアルＡＴＡホストコントローラ１０５を非アクティブ状態に設定する。次いで、制御信号２３４がローレベルとなるように、サウスブリッジ２０３内の汎用出力ポートにデータを書き込んだ後、ステップＳ２に進む。前述の如く、制御信号２３４をローレベルに設定することにより、シリアルＡＴＡインタフェース選択回路１０６の出力Ｑはローレベルとなり、結果、差動入力バッファ１０７、および差動出力バッファ１０８は、非アクティブ状態となり、差動入力バッファ１０７、および差動出力バッファ１０８の出力はハイインピーダンスになる。
【００４３】
ステップＳ２においては、ＰＣＩバス２０６を介して、パラレルＡＴＡホストコントローラ１００内の制御レジスタにコマンドを書き込むことにより、パラレルＡＴＡホストコントローラ１００をアクティブ状態に設定し、ステップＳ３に進む。つまり、この段階では実施形態のコントローラはパラレルＡＴＡとして機能することになる。
【００４４】
ステップＳ３においては、パラレルＡＴＡ対応のＡＴＡデバイスが接続されていないかチェックする為に、ＡＴＡデバイスの必須コマンド、『ＩＤＥＮＴＩＦＹ　ＤＥＶＩＣＥ』コマンドをパラレルＡＴＡホストコントローラ１００、ホスト側コントローラのバッファ１０１ａ〜１０１ｌ、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４、後述のデバイス側コントローラのバッファ３００ａ〜３００ｌを介して、デバイス装置内の制御レジスタに書き込む。もし、この際、デバイス側コネクタに、パラレルＡＴＡ対応デバイスが接続されている場合は、図３に示した信号線により、パラレルＡＴＡデバイス装置と接続される。同図において、３００ａ、３００ｄ、３００ｅ、３００ｈ、３００ｊ、３００ｌは、パラレルＡＴＡ規格の信号レベルに準拠した入力バッファであり、それぞれの出力端子は、パラレルＡＴＡデバイス装置の、各信号線に該当する端子に接続している。３００ｃ、３００ｆ、３００ｇ、３００ｉ、３００ｋは、パラレルＡＴＡ規格の信号レベルに準拠した出力バッファであり、それぞれの入力端子は、パラレルＡＴＡデバイス装置の、各信号線に該当する端子に接続している。３００ｂは、双方向バッファであり、パラレルＡＴＡデバイス装置のＤＤ［１５：０］端子に接続している。この場合、接続されているデバイス装置がＡＴＡデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。
【００４５】
ステップＳ４においては、ステップＳ３において発行した『ＩＤＥＮＴＩＦＹＤＥＶＩＣＥ』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップＳ６に進み、応答が無い場合は、ステップＳ５に進む。ステップＳ６に進んだ場合は、前述のように、デバイス側装置がパラレルＡＴＡインタフェースを搭載したＡＴＡデバイスであることが分かるので、ＡＴＡディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
ＩＦ＿ＴＹＰＥ　：＝　Ｐａｒａ＿ＡＴＡ
ＤＥＶ＿ＴＹＰＥ　：＝　ＡＴＡ
として設定し、ステップＳ１９へ進み、初期化処理を終わる。
【００４６】
ところで、この２つパラメータは、ＡＴＡディスクコントローラのデバイスドライバ内で使用されるもので、それぞれ、次の値を取り得る。
ＩＦ＿ＴＹＰＥ　：　Ｐａｒａ＿ＡＴＡ、Ｓｅｒ＿ＡＴＡ、又は、ＮＯＴ＿ＵＳＥＤ
ＤＥＶ＿ＴＹＰＥ　：　ＡＴＡ、ＡＴＡＰＩ、又はＮＯＮＥ
また、それぞれのパラメータの意味は下記のようになる。
Ｐａｒａ＿ＡＴＡ：接続されているデバイスはパラレルＡＴＡインタフェースを有す。
Ｓｅｒ＿ＡＴＡ：接続されているデバイスはシリアルＡＴＡインタフェースを有す。
ＮＯＴ＿ＵＳＥＤ：デバイスは接続されていない。
ＡＴＡ：接続されているデバイスはＡＴＡデバイスである。
ＡＴＡＰＩ：接続されているデバイスはＡＴＡＰＩデバイスである。
ＮＯＮＥ：ＡＴＡ、ＡＴＡＰＩの何れでもない。
【００４７】
さて、一方、ステップＳ５においては、ＡＴＡＰＩデバイスの必須コマンド、『ＩＤＥＮＴＩＦＹ　ＰＡＣＫＥＴ　ＤＥＶＩＣＥ』コマンドをパラレルＡＴＡホストコントローラ１００、ホスト側コントローラのバッファ１０１ａ〜１０１ｌ、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４、デバイス側コントローラのバッファ３００ａ〜３００ｌを介して、デバイス装置内の制御レジスタに書き込む。この場合、接続されているデバイス装置が、パラレルＡＴＡインタフェースを有する、ＡＴＡＰＩデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。ステップＳ７においては、ステップＳ５において発行した『ＩＤＥＮＴＩＦＹ　ＰＡＣＫＥＴ　ＤＥＶＩＣＥ』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップＳ９に進み、応答が無い場合は、ステップＳ８に進む。ステップＳ９に進んだ場合は、前述のように、デバイス側装置がパラレルＡＴＡインタフェースを搭載したＡＴＡＰＩデバイスであることが分かるので、ＡＴＡディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
ＩＦ＿ＴＹＰＥ　：＝　Ｐａｒａ＿ＡＴＡ
ＤＥＶ＿ＴＹＰＥ　：＝　ＡＴＡＰＩ
として設定し、ステップＳ１９へ進み、初期化処理を終わる。
【００４８】
また、ステップＳ７において、パラレルデバイスとしての正しい応答がないと判断した場合、処理はステップＳ８に進む。
【００４９】
この段階では、接続されているデバイスがシリアルＡＴＡデバイスである、或いは、デバイスが接続されていない状況を意味することになる。
【００５０】
そこで、ステップＳ８において、ＰＣＩバス２０６を介して、パラレルＡＴＡホストコントローラ１００内の制御レジスタにコマンドを書き込むことにより、パラレルＡＴＡホストコントローラ１００を非アクティブ状態に設定し、ステップＳ１０に進む。
【００５１】
ステップＳ１０においては、ＰＣＩバス２０６を介して、シリアルＡＴＡホストコントローラ１０５内の制御レジスタにコマンドを書き込むことにより、シリアルＡＴＡホストコントローラ１０５をアクティブ状態に設定する。次いで、制御信号２３４がハイレベルとなるように、サウスブリッジ２０３内の汎用出力ポートにデータを書き込んだ後、ステップＳ１１に進む。前述の如く、制御信号２３４をハイレベルに設定することにより、シリアルＡＴＡインタフェース選択回路１０６の出力Ｑはハイレベルとなり、結果、差動入力バッファ１０７、および差動出力バッファ１０８は、アクティブ状態となる。
【００５２】
上記の如く、ステップＳ８に進んだ段階で、デバイス側コネクタ１０４には、少なくとも、パラレルＡＴＡインタフェースを有するデバイスは接続されていない事が確認されているので、差動出力バッファ１０８をアクティブにしても、デバイス側コントローラのバッファが破壊、あるいはデバイス側装置が誤動作することを、確実に避ける事ができる。ステップＳ１１においては、シリアルＡＴＡ対応のＡＴＡデバイスが接続されていないかチェックする為に、ＡＴＡデバイスの必須コマンド、『ＩＤＥＮＴＩＦＹ　ＤＥＶＩＣＥ』コマンドをシリアルＡＴＡホストコントローラ１０５、ホスト側コントローラの差動バッファ１０７、１０８、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４、後述のデバイス側コントローラの差動バッファ４００、４０１を介して、デバイス装置内の制御レジスタに書き込む。もし、この際、デバイス側コネクタに、シリアルＡＴＡ対応デバイスが接続されている場合は、図４に示した信号線により、シリアルＡＴＡデバイス装置と接続される。同図において、４００は、シリアルＡＴＡ規格の信号レベルに準拠した差動入力バッファであり、その出力端子は、シリアルＡＴＡデバイス装置の、ＤＲ信号線に接続している。４０１は、シリアルＡＴＡ規格の信号レベルに準拠した差動出力バッファであり、その入力端子は、シリアルＡＴＡデバイス装置の、ＤＴ信号線に接続している。この場合、接続されているデバイス装置がＡＴＡデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。ステップＳ１２においては、ステップＳ１１において発行した『ＩＤＥＮＴＩＦＹ　ＤＥＶＩＣＥ』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップＳ１４に進み、応答が無い場合は、ステップＳ１３に進む。ステップＳ１４に進んだ場合は、前述のように、デバイス側装置がシリアルＡＴＡインタフェースを搭載したＡＴＡデバイスであることが分かるので、ＡＴＡディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
ＩＦ＿ＴＹＰＥ　：＝　Ｓｅｒ＿ＡＴＡ
ＤＥＶ＿ＴＹＰＥ　：＝　ＡＴＡ
として設定し、ステップＳ１９へ進み、初期化処理を終わる。この二つのパラメータの意味は、前述の通りである。
【００５３】
ステップＳ１３においては、ＡＴＡＰＩデバイスの必須コマンド、『ＩＤＥＮＴＩＦＹ　ＰＡＣＫＥＴ　ＤＥＶＩＣＥ』コマンドをシリアルＡＴＡホストコントローラ１０５、ホスト側コントローラの差動バッファ１０７、１０８、ホスト側コネクタ１０２、接続ケーブル１０３、デバイス側コネクタ１０４、デバイス側コントローラの差動バッファ４００、４０１を介して、デバイス装置内の制御レジスタに書き込む。この場合、接続されているデバイス装置が、シリアルＡＴＡインタフェースを有する、ＡＴＡＰＩデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。
【００５４】
ステップＳ１５においては、ステップＳ１３において発行した『ＩＤＥＮＴＩＦＹ　ＰＡＣＫＥＴ　ＤＥＶＩＣＥ』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップＳ１７に進み、応答が無い場合は、ステップＳ１８に進む。ステップＳ１７に進んだ場合は、前述のように、デバイス側装置がシリアルＡＴＡインタフェースを搭載したＡＴＡＰＩデバイスであることが分かるので、ＡＴＡディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
ＩＦ＿ＴＹＰＥ　：＝　Ｓｅｒ＿ＡＴＡ
ＤＥＶ＿ＴＹＰＥ　：＝　ＡＴＡＰＩ
として設定し、ステップＳ１９へ進み、初期化処理を終わる。
【００５５】
ステップＳ１８に到達した場合は、何れのデバイスも接続されていない事を意味するので、ＡＴＡディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを
ＩＦ＿ＴＹＰＥ　：＝　ＮＯＴ＿ＵＳＥＤ
ＤＥＶ＿ＴＹＰＥ　：＝　ＮＯＮＥ
として設定し、ステップＳ１９へ進み、初期化処理を終わる。以上の処理により、適切な動作モードを選択することが出来る。
【００５６】
以上説明してきたように本発明によれば、非常に簡単、かつ安価な方法で、従来のパラレルＡＴＡインタフェースと互換性を保ちつつ、パラレルＡＴＡインタフェースと、シリアルＡＴＡインタフェース両対応のＡＴＡコントローラを実現できる。以上の説明は、ＡＴＡインタフェースを例にあげたが、他の異なるインタフェース規格にも適用可能であることは言うまでもない。
【００５７】
尚、ホスト側を上記のような構成にすることで、例えば、シリアルＡＴＡデバイスが、シリアルインタフェース（コネクタ）のみを備えている場合、それに接続するコネクタを有し、図１に示すシリアル通信に用いる信号線を抜き出したケーブルを用意すれば、それでもってシリアルＡＴＡデバイスを利用することが可能になる。すなわち、ホスト側のハードウェアをそのまま活用でき、無駄なコネクタを用意する必要もない。
【００５８】
【発明の効果】
以上説明したように本発明によれば、パラレル接続用デバイス装置、シリアル接続用デバイスのいずれもが共通のパラレルコネクタを介して接続できるようになる。
【図面の簡単な説明】
【図１】パラレルＡＴＡ、およびシリアルＡＴＡ両対応インタフェースの構成図である。
【図２】ホスト装置の全体構成図である。
【図３】本発明によるディスクコントローラとパラレルＡＴＡインタフェース搭載デバイス装置の接続に関わるブロックの構成図である。
【図４】本発明によるディスクコントローラとシリアルＡＴＡインタフェース搭載デバイス装置の接続に関わるブロックの構成図である。
【図５】本発明によるディスクコントローラの動作を説明するフローチャートである。
【図６】シリアルＡＴＡインタフェース選択回路の構成図である。
【図７】「ＡＴ　Ａｔｔａｃｈｍｅｎｔ−５　ｗｉｔｈ　Ｐａｃｋｅｔ　Ｉｎｔｅｒｆａｃｅ」の接続形態を示す図である。
【図８】「ＡＴ　Ａｔｔａｃｈｍｅｎｔ−５　ｗｉｔｈ　Ｐａｃｋｅｔ　Ｉｎｔｅｒｆａｃｅ」の接続形態を示す図である。
【図９】「ＡＴ　Ａｔｔａｃｈｍｅｎｔ−５　ｗｉｔｈ　Ｐａｃｋｅｔ　Ｉｎｔｅｒｆａｃｅ」の接続形態を示す図である。
【図１０】「Ｓｅｒｉａｌ　ＡＴＡ／Ｈｉｇｈ　Ｓｐｅｅｄ　Ｓｅｒｉａｌｉｚｅｄ　ＡＴ　Ａｔｔａｃｈｍｅｎｔ　ｓｐｅｆｉｃｉｃａｔｉｏｎ」の接続仕様を示す図である。
【図１１】「ＡＴ　Ａｔｔａｃｈｍｅｎｔ−５　ｗｉｔｈ　Ｐａｃｋｅｔ　Ｉｎｔｅｒｆａｃｅ」におけるホスト側コネクタとデバイス側コネクタとの関係を示す図である。
【図１２】デバイス装置側から見たコネクタのピンアサインを示す図である。
【図１３】「Ｓｅｒｉａｌ　ＡＴＡ／Ｈｉｇｈ　Ｓｐｅｅｄ　Ｓｅｒｉａｌｉｚｅｄ　ＡＴ　Ａｔｔａｃｈｍｅｎｔ　ｓｐｅｃｉｆｉｃａｔｉｏｎ」におけるコネクタのピンアサインを示す図である。
【図１】
2004029963.tif 000003
【図２】
2004029963.tif 000004
【図３】
2004029963.tif 000005
【図４】
2004029963.tif 000006
【図５】
2004029963.tif 000007
【図６】
2004029963.tif 000008
【図７】
2004029963.tif 000009
【図８】
2004029963.tif 000010
【図９】
2004029963.tif 000011
【図１０】
2004029963.tif 000012
【図１１】
2004029963.tif 000013
【図１２】
2004029963.tif 000014
【図１３】
2004029963.tif 000015