(57)【要約】複合ＡＴＡおよびＳＡＴＡコントローラ（制御装置）を提供する。この制御装置は、ＡＴＡ準拠のパラレル記憶装置（１３５，１４０）との間のデータ転送を制御する制御ユニット（３００−３３０）と、ＳＡＴＡ準拠のシリアル記憶装置（２２０，２２５）との間のデータ転送を制御する制御ユニット（３３５，３４０）とを備える。この制御装置はパラレル記憶装置およびシリアル記憶装置との間のデータ転送を同時に実行可能である。制御装置のハードウェアの相当の部分を再利用することによって、複合制御装置はコスト対効果の高い形態で実現できる。
2006508413.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に対する、および／または記憶装置からのデータ転送を制御する制御装置であって、
ＡＴＡ（Advanced Technology Attachment）準拠のパラレル記憶装置（１３５，１４０）に対する、および／またはそれからのデータ転送を制御する第１制御ユニット（３００−３３０）と、
ＳＡＴＡ（シリアルＡＴＡ）準拠のシリアル記憶装置（２２０，２２５）に対する、および／またはそれからのデータ転送を制御する第２制御ユニット（３３５，３４０）とを備え、
前記パラレル記憶装置および前記シリアル記憶装置に対する、および／またはそれらからのデータ転送を並行して実行する能力を持つ、制御装置。
【請求項２】
前記第２制御ユニットは、２つのＳＡＴＡ記憶装置に対して、および／またはそれからのデータ転送の制御をマスタ／スレーブエミュレーションモードで実行するように構成され、前記マスタ／スレーブエミュレーションモードにおいては一方のＳＡＴＡ記憶装置はホストコンピュータに対してマスタとして表示され、他方のＳＡＴＡ記憶装置はスレーブとして表示され、両方がホストバスアドレスの同じセットにおいてアクセス可能である、請求項１記載の制御装置。
【請求項３】
前記第１制御ユニットは、一つのパラレルポートに接続された２つのパラレルＡＴＡ記憶装置に対する、および／またはそれからのデータ転送を制御するように構成され、前記パラレルポートにおいて一方の装置がマスタとなり、他方の装置がスレーブとなる、請求項１記載の制御装置。
【請求項４】
前記パラレル記憶装置および前記シリアル記憶装置を特定する特定データを記憶するポートマップレジスタ（３４０）と、
前記特定データによって示される前記パラレル記憶装置および前記シリアル記憶装置に対する接続を確立するポート切り替えユニット（３３５）をさらに備える、請求項１記載の制御装置。
【請求項５】
前記ポートマップレジスタはソフトウェアによって書き換え可能である、請求項４記載の制御装置。
【請求項６】
前記第１制御ユニットは１つのパラレルポートに接続された２つのＡＴＡ記憶装置に対する、および／またはそれからのデータ転送を制御するように構成され、前記パラレルポートにおいて一方の記憶装置はマスタとなり、他方の記憶装置はスレーブとなり、
前記ポートマップレジスタは、どちらの記憶装置がマスタなのか、またはスレーブなのかを特定するマスタ／スレーブ特定データを記憶するように接続されている、請求項４記載の制御装置。
【請求項７】
記憶装置に対する、および／または記憶装置からのデータ転送を制御する制御装置の制御方法であって、
前記制御装置に接続されたＡＴＡ（Advanced Technology Attachment）準拠のパラレル記憶装置に対する、および／またはそれからのデータ転送を実行するステップと、
前記制御装置に接続されたＳＡＴＡ（シリアルＡＴＡ）準拠シリアル記憶装置に対する、および／またはそれからのデータ転送を実行するステップとを含み、
前記ＡＴＡ準拠のパラレル記憶装置に対する、および／またはそれからのデータ転送と、ＳＡＴＡ準拠シリアル記憶装置に対する、および／またはそれからのデータ転送とは並行して行われる方法。
【請求項８】
前記パラレル記憶装置および前記シリアル記憶装置を特定する特定データを、前記制御装置のポートマップレジスタ（３４０）に記憶するステップと、
前記特定データによって示される前記パラレル記憶装置および前記シリアル記憶装置に対する接続を確立するために前記制御装置のポートを切り替えるステップとをさらに含む、請求項７記載の方法。
【請求項９】
前記ポートマップレジスタはソフトウェアによって書き換え可能である、請求項８記載の方法。
【請求項１０】
１つのパラレルポートに接続された２つのパラレルＡＴＡ記憶装置に対する、および／またはそれからのデータ転送を制御するように構成され、前記パラレルポートにおいて一方の記憶装置はマスタとなり、他方の記憶装置はスレーブとなり、
前記ポートマップレジスタは、どちらの記憶装置がマスタなのか、またはスレーブなのかを特定するマスタ／スレーブ特定データを記憶する、請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に記憶装置への、および／または記憶装置からのデータ転送に関し、特にＡＴＡ（Advanced Technology Attachment）およびＳＡＴＡ（シリアルＡＴＡ）コントローラに関する。
【背景技術】
【０００２】
コンピュータシステムにおいては、ハードディスクおよびＣＤまたはＤＶＤ、テープデバイス、大容量リムーバブルデバイス、ｚｉｐドライブおよびＣＤＲＷドライブのようなその他のドライブは、それらのデバイスへの、およびそれらのデバイスからのデータ転送を実行するための物理的および論理的な要件を定義するインターフェイスを介して、コンピュータに接続される記憶装置（記憶デバイス）である。現代のコンピュータシステムで使用されているもっとも一般的なインターフェイスの一つは、ＩＤＥ（Integrated Drive Electronics）として一般的によく知られているものである。このＩＤＥドライブインターフェイス（より正確にはＡＴ（Advanced Technology）Ａｔｔａｃｈｍｅｎｔ（ATA）インターフェイスと呼ばれる）の開発は１９８６年に始まり、１９８８年ごろに標準化されている。ディスクドライブをＰＣ（Personal Computer）アーキテクチャに「取り付け」するための方法を提供するこの規格はさらに開発が続けられ、最近ではＡＴＡ／ＡＴＡＰＩ，ＥＩＤＥ，ＡＴＡ−２，ＦａｓｔＡＴＡ，Ｕｌｔｒａ  ＡＴＡ，Ｕｌｔｒａ  ＤＭＡ，  ＡＴＡ−４およびその他の様々な多数の規格が作られている。これらの規格はすべて、パラレル記憶装置を接続するための記憶（ストレージ）インターフェイスを定義するものであって、以下ではＡＴＡ準拠のものと呼ぶ。
【０００３】
パラレルＡＴＡインターコネクトは、他との比較における単純さ、高性能、低コストのために、デスクトップおよびモバイルコンピュータにおける支配的な内部記憶装置用相互接続であったが、ＡＴＡ準拠のインターフェイスは性能を向上させ続ける能力に限界をもたらす多くの制限を持つ。そのような制限としては、５ボルトの信号要件、ピン数の多さなどがある。パラレルＡＴＡインターフェイスのこれらのおよび他の特徴は、そのようなインターフェイスが、過去には実現していた速度倍増をさらに何回か実現するように拡張できないことの原因となっており、したがってこのインターフェイスはその性能限界に近づいている。
【０００４】
この理由から、および次の１０年において拡張可能な性能を提供するために、次世代のＡＴＡ規格として、シリアルＡＴＡ（ＳＡＴＡ）が開発されている。ＳＡＴＡはパラレルＡＴＡ物理ストレージインターフェイスに対する革新的な代替技術であって、現在のＡＴＡと１００％ソフトウェア互換性を持つように設計されているが、ずっと少ないピン数を持ち、より薄く、より柔軟性に富んだケーブルを実現している。ソフトウェア互換性が保たれているので、現在のドライバおよびオペレーティングを変更する必要がない。さらに、ピン数が少なくなるために、マザーボードおよびそのチップセットならびにその他の集積シリコン部品の設計に恩恵をもたらす。
【０００５】
上述のように、ＳＡＴＡのインターフェイスの主要な特徴の一つは、パラレルＡＴＡコントローラとのソフトウェア互換性である。このことは、標準のＡＴＡとシリアルＡＴＡ（ＳＡＴＡ）との接続性をそれぞれ示す図１および図２を比較することによってよりよく理解することができる。
【０００６】
最初に図１を参照する。図１はＡＴＡ準拠のパラレル記憶デバイスが、当該デバイスへの、および当該デバイスからのデータ転送を可能にするためにコンピュータシステムにどのように接続されるかを示す。このコンピュータシステムは当該コンピュータで走っている主ソフトウェアであるオペレーティングシステム１１５を含む。ユーザーに対して情報を提供し、入力を受け取るユーザーインターフェイスを一般的に有する、複数のアプリケーションプログラム１００，１０５，１１０をさらに含んでいてもよい。もちろん、ユーザーインターフェイスを持たないアプリケーションプログラムも存在しうる。さらに、拡張ソフトウェアコンポーネントである、またはオペレーティングシステム１１５の一部であるドライバソフトウェア１２０も一般に提供され、特にＡＴＡ準拠のハードウェアと相互に作用するように実行される。
【０００７】
このハードウェアは、パラレルポート１３０を介してデバイス１３５，１４０とデータ信号を交換するＡＴＡアダプタ１２５を含む。このＡＴＡアダプタ１２５はＡＴＡコントローラとも呼ばれ、しばしばパラレルポート１３０と一緒にされている。
【０００８】
図２は、ＳＡＴＡインターフェイスを持つコンピュータシステムの対応する部分を描いたものである。アプリケーションプログラム１００，１０５，１１０、オペレーティングシステム１１５、ドライバ１２０は変更の必要がない。ハードウェア側では、ＳＡＴＡアダプタ２００が設けられ、シリアルデバイス２２０，２２５と信号を交換するために一以上のシリアルポート２１０，２１５に接続されている。つまり、ＳＡＴＡが利用可能なコンピュータシステムは、デバイスおよびポートがシリアル化され、適切なＳＡＴＡ準拠アダプタ２００が設けられているという点で図１のシステムとは異なっている。このアダプタのさらに詳細について焦点を合わせると、このＳＡＴＡアダプタ２００は、データ信号のパラレル・シリアルおよびシリアル・パラレル変換を実行するパラレル／シリアルコンバータ２０５を備えるＡＴＡアダプタ１２５を含むものとして理解されることがわかる。
【０００９】
オペレーティングシステム１１５においても、ドライバソフトウェア１２０においてもＳＡＴＡ規格に対する特別な対応は必要ないので、図２のインターフェイスは図１の技術とソフトウェア互換である。従って、ＳＡＴＡは棚ぼた式の解決方法（drop-in solution）なのであって、手持ちのソフトウェアはなんらの修正もなしに新しいアーキテクチャで動く。この特徴および上述の他の特長が与えられ、さらにＳＡＴＡ準拠のコントローラおよびデバイスは従来のユニットとほぼ同じコストになることを勘定に入れると、ＳＡＴＡはいずれパラレルＡＴＡインターフェイスを完全に置き換えることが期待される。業界におけるＳＡＴＡの受け入れは段階的な移行経過をたどり、いずれかの時点でパラレルおよびシリアルＡＴＡの両方の能力が利用可能になる。
【００１０】
この技術はソフトウェア互換であり、かつオペレーティングシステム透過性を持つにもかかわらず、ＳＡＴＡの電気回路およびコネクタは従来のＡＴＡインターフェイスのそれらとは異なっている。この理由から、コンピュータシステムにおけるハードディスクおよび他の記憶デバイスの前方および後方互換性を促進するためにアダプタが提供される。例えば、ＳＡＴＡ対ＡＴＡブリッジがハードディスクおよび記憶システムにおいて使用可能であり、ＡＴＡ対ＳＡＴＡブリッジがマザーボード、アドインカード、ドライブテスト装置において使用可能である。しかしながら、そのような従来の解決方法は多くの追加ハードウェア部品を必要とし、製造コストの増加につながる。
【発明の開示】
【発明の概要】
【００１１】
本発明の一実施形態は、記憶装置に対する、および／または記憶装置からのデータ転送を制御する制御装置である。この制御装置は、ＡＴＡ準拠のパラレル記憶装置（デバイス）との間のデータ転送を制御する第１制御ユニットを備える。さらに、この制御装置はＳＡＴＡ準拠のシリアル記憶装置（デバイス）との間のデータ転送を制御する第２制御ユニットを備える。この制御装置はパラレルデバイスおよびシリアルデバイスとの間のデータ転送を同時に実行する能力を持つ。
別の実施形態において、前記第１制御ユニットは、２つのパラレルＡＴＡ記憶装置との間のデータ転送を制御するように構成されており、前記第２制御ユニットは、２つのＳＡＴＡ記憶装置との間のデータ転送を制御するように構成されている。
別の実施形態において、前記制御装置は前記第１制御ユニットを動作停止（ディスエーブル）にして、ＳＡＴＡ記憶装置との間のデータ転送のみを可能に（イネーブルに）することができる。
別の実施形態において、前記制御装置は前記第２制御ユニットを動作停止（ディスエーブル）にして、パラレルＡＴＡ記憶装置との間のデータ転送のみを可能に（イネーブルに）することができる。
別の実施形態において、本装置は、ＳＡＴＡ記憶装置が前記制御装置に接続されているかどうかを決定するように構成される。
別の実施形態において、本装置は、前記決定されたＳＡＴＡ記憶装置に関する情報をホストコンピュータに提供するように構成されている。
別の実施形態において、前記第２制御ユニットはパラレルデータをシリアルデータに、および／またはシリアルデータをパラレルデータに変換してＳＡＴＡ記憶装置との間のデータ転送を可能にすることができる。
別の実施形態において、本装置は集積回路チップである。
【００１２】
本発明の他の実施形態は、記憶装置に対する、および／または記憶装置からのデータ転送を制御する制御装置の制御方法である。本方法は、制御装置に接続されたＡＴＡ準拠のパラレル記憶装置との間のデータ転送を実行するステップを含む。本方法は、制御装置に接続されたＳＡＴＡ準拠シリアル記憶装置との間のデータ転送を実行するステップをさらに含む。ＡＴＡ準拠のパラレル記憶装置との間のデータ転送およびＳＡＴＡ準拠シリアル記憶装置との間のデータ転送は並行して行われる。
別の実施形態において、２つのＳＡＴＡ記憶装置との間のデータ転送はマスタ／スレーブエミュレーションモードで実行され、一方のＳＡＴＡ記憶装置はホストコンピュータに対してマスタとして表示され、他方のＳＡＴＡ記憶装置はスレーブとして表示され、両方がホストバスアドレスの同じセットにおいてアクセス可能である。
別の実施形態において、制御装置の一つのパラレルポートに接続された２つのパラレルＡＴＡ記憶装置との間のデータ転送は、パラレルポートにおいて一方の装置がマスタとなり、他方の装置がスレーブとなるように制御される。
別の実施形態において、２つのＡＴＡ準拠パラレル記憶装置との間のデータ転送が制御され、２つのＳＡＴＡ準拠シリアル記憶装置との間のデータ転送が制御される。
別の実施形態において、本方法は、ＳＡＴＡ記憶装置が前記制御装置に接続されているかどうかを決定するステップをさらに含む。
別の実施形態において、本方法は、前記決定されたＳＡＴＡ記憶装置に関する情報をホストコンピュータに提供するステップをさらに含む。
別の実施形態において、前記ＳＡＴＡ準拠シリアル記憶装置との間でデータ転送を実行するステップは、パラレルデータをシリアルデータに、および／またはシリアルデータをパラレルデータに変換するステップを含む。
【００１３】
添付の図面は、本発明の本質を説明する目的において、本明細書に組み合わされ、その一部を構成する。これらの図面は、本発明がいかに製造され、および使用されるかを示す例示され、説明される実施形態のみに本発明を限定するものと解釈するべきではない。別の特徴および利点は、添付の図面に示され、後述の本発明の詳細な説明において明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明の例示としての実施形態を以下図面を参照して説明する。類似の要素および構造は、同様の参照番号で示される。
【００１５】
図面、特に図３を参照する。図３は、一実施形態に従ったＡＴＡコントローラのハードウェア要素を示す。このコントローラはターゲットインターフェイスユニット３０５およびソースインターフェイスユニット３１０を含む。両方のインターフェイスはホストインターフェイス３００に接続され、ソフトウェアドライバ１２０による要求（リクエスト）およびデータを交換する。ドライバ１２０はターゲットインターフェイスユニット３０５を用いて、設定の目的でコントローラにアクセスすることができる。一方、ソースインターフェイス３１０を用いて、記憶装置との間でデータの読み出しまたは書き込みを行うためにデータアクセスを実行することができる。
【００１６】
さらに、マスタ制御ユニット３２５とスレーブ制御ユニット３３０のどちらが、ターゲットインターフェイス３０５とソースインターフェイス３１０のどちらかへのアクセスを許可されるのか、またはその逆を制御するバスマスタエンジン３２０が設けられる。マスタ制御ユニット３２５およびスレーブ制御ユニット３３０は、２つのパラレルデバイス（一方がマスタで他方がスレーブ）を接続できるパラレルポートを制御する従来のＡＴＡコントローラ１２５に似た形態で構成することが可能である。
【００１７】
さらに、デバイスに対するコマンドを配送し、デバイスからのステータスを報知（ポスト）するのに用いられるインターフェイスレジスタを含むシャドウレジスタブロック３１５が設けられる。このシャドウレジスタブロック３１５の名前の由来は、標準ＡＴＡエミュレーションを実行するために、従来のデバイスレジスタの内容を保護する（shadow）レジスタセットを含んでいることにある。本実施形態では、このコントローラはＳＡＴＡ規格に定められたマスタ／スレーブエミュレーションモードで動作する。つまり、２つの分離したシリアルポート２１０，２１５における２つのシリアルデバイスが、ホストバスアドレスの同じセットにおいてマスタおよびスレーブとしてアクセスされるようにホストソフトウェアに対して示される。
【００１８】
この機能を実現するために、パラレルおよびシリアルポート１３０，２１０，２１５の間を切り替えるのに使用できるポート割り当てユニット３３５が設けられる。このポート割り当てユニット３３５はさらにパラレルポート１３０に接続されたマスタおよびスレーブ装置を正しい制御ユニット３２５，３３０に接続する。さらに、上述したように本実施形態のコントローラはマスタ／スレーブエミュレーションモードで動作するので、シリアルポート２１０，２１５に接続されたシリアル装置はマスタ制御ユニット３２５またはスレーブ制御ユニット３３０のいずれかに接続される。ポート割り当てユニット３３５によって実行される他の機能はパラレル／シリアルコンバータ２０５の機能である。つまり、それはパラレル・シリアルデータ信号変換またはその逆を実行する。
【００１９】
図３からわかるように、ポート割り当てユニット３３５はポートマップレジスタ３４０からさらに入力を受信する。実際にはレジスタセットであるポートマップレジスタ３４０はパラレルおよびシリアルポート１３０，２１０，２１５のどれがアクティブになっているのかを示す、ポート特定データを記憶する。一般的には、どのポートもアクティブではない状態を含め、ポートをいくつでもアクティブにできるし、パラレルおよびシリアルポートのすべてをアクティブにできる、ことに注意してもらいたい。
【００２０】
別の実施形態では、ポートマップレジスタ３４０およびポート割り当てユニット３３５は、図３のＡＴＡコントローラが次の設定中のいずれかで動作できるようにする。第１設定では、０，１または２つのパラレルＡＴＡデバイスを駆動できる。他の設定では、０，１または２つのシリアルＡＴＡデバイスを駆動できる。最後に、３番目の設定では、１つのパラレルおよび１つのシリアルデバイスを駆動できる。
【００２１】
使用されるポートを定義しているポート特定データ、または設定を記憶するポートマップレジスタ３４０はターゲットインターフェイス３０５に接続されており、それによってドライバ１２０は再設定を行うためにレジスタに対してアクセスできることに注意してもらいたい。つまり、この実施形態をシリアルポートによる既存のパラレルＡＴＡコントローラにまで拡張して、それによってコスト対効果の高い、ソフトウェアによって設定可能な複合シリアル／パラレルＡＴＡコントローラを実装するために相当数のパラレルＡＴＡコントローラハードウェアを再利用することが可能になる。
【００２２】
コントローラ全体を従来のＡＴＡコントローラとして動作するように再設定することも可能であるし、また従来のＳＡＴＡコントローラとして動作するように再設定することも可能である。つまり、本コントローラが従来のＡＴＡコントローラのように振る舞うモードと、それが従来のＳＡＴＡコントローラのように振る舞うモードとの間での切り替えを可能にするように、ソフトウェアによる再設定が可能である。さらに、本実施形態に従ったコントローラはパラレルデバイスおよびシリアルデバイスに並行してデータ転送を実行するように構成することができる。つまり、本実施形態のコントローラは、ソフトウェアによる再構成を実行するだけでどのような接続モードにも設定することができる、カメレオンのような装置である。
【００２３】
さらに、前記モードの一つにおいて、パラレルデバイスとシリアルデバイスとを同時に動作させることもできる。パラレル記憶装置およびシリアル記憶装置への、および／またはそれらからの並行データ転送は、従来のＡＴＡインターフェイス制御回路によって生成される従来のＡＴＡ制御信号を扱うことを可能にし、追加のペイロードバッファを加えるようにＳＡＴＡトランスポート層状態機械を拡張することで実現できることに注意してもらいたい。
【００２４】
上述のように、ポートマップレジスタ３４０は、ソフトウェア１００，１０５，１１０，１１５，１２０による構成の設定および再設定を可能にする。これには、パラレルデバイスまたはシリアルデバイスに対する、マスタデバイスまたはシリアルデバイスもしくはその両方の設定も含まれる。さらに、ＳＡＴＡ規格で定義されているように、本コントローラはＳＡＴＡポートステータスおよびエラーレジスタに対するリード・ライトプロセスを許可するために必要なレジスタを備えていてもよい。
【００２５】
図４は、図３の実施形態に従ったＡＴＡコントローラを動作させるプロセスを示すフローチャートである。ステップ４００では、ソフトウェアにより、シリアルＡＴＡ装置が接続されているかどうかを、例えばＳＡＴＡポートステータスレジスタを読み出すことでチェックする。次に、ステップ４０５で、このソフトウェアはポートマップレジスタ３４０を設定する。ステップ４００および４０５は、コントローラの初期化の際に実行可能であることに注意してほしい。
【００２６】
ドライバ１２０からの働きかけに応答して、または記憶装置の一つからの要求に応答して、ステップ４１０において、ポート割り当てユニット３３５は、適切なポート１３０，２１０，２１５を切り替えるためのポート切り替えユニットとして動作する。もしすでに正しいポートがアクティブになっている場合は、このステップは省略可能である。記憶装置へのアクセスが可能になると、ステップ４１５でデータ転送が実行される。
【産業上の利用可能性】
【００２７】
本発明は、パーソナルコンピュータなどの大量生産品におけるデータ通信を飛躍的に拡張することが可能である。
【図面の簡単な説明】
【００２８】
【図１】ＡＴＡ準拠の記憶装置に接続された従来のコンピュータシステムの図。
【図２】ＳＡＴＡ準拠の記憶装置に接続された従来のコンピュータシステムの図。
【図３】一実施形態に従ったＡＴＡコントローラの構成要素を示す図。
【図４】図３のＡＴＡコントローラの動作プロセスを示すフローチャート。
【図１】
2006508413.tif 000003
【図２】
2006508413.tif 000004
【図３】
2006508413.tif 000005
【図４】
2006508413.tif 000006
【国際調査報告】
2006508413.tif 000007
2006508413.tif 000008