(57)【要約】　　　（修正有）【課題】簡素化されたケーブリング／信号ルーティング、ホットプラギング、及び受動センター面を備えた記憶アレイ内での安価なＩＤＥディスクドライブを特定する。【解決手段】１つ以上のＩＤＥディスクドライブを有するデータ記憶システムであって、各ＩＤＥディスクドライブはＵＳＢ−ＩＤＥコントローラに接続され、ＵＳＢ−ＩＤＥコントローラは１つ以上のＵＳＢコントローラに接続される。ＵＳＢ−ＩＤＥコントローラはディスクドライブキャリアに組込まれるので、ディスクキャリアの挿入または除去は、ＵＳＢデバイスとしての挿入／除去に直接対応する。ハブを用いて最大１２７のＵＳＢデバイスを単一のＵＳＢコントローラに接続でき、多数のＵＳＢコントローラによりシステムを増大させ得る。ＵＳＢのシンプルなワイヤインターフェイスとＩＤＥに対するＵＳＢの延長距離により、記憶アレイのための受動センター面の設計が可能となり、課題が達成される。【選択図】　　　　図２
2004005429.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとＩＤＥデバイスとの間のデータ通信のためのＵＳＢシステムであって、
複数のＩＤＥデバイスと、
複数のＵＳＢ−ＩＤＥブリッジとを含み、各ＩＤＥデバイスは、それぞれのＵＳＢ−ＩＤＥブリッジに接続され、前記ＵＳＢシステムはさらに、
ＵＳＢコントローラを含み、ＵＳＢ−ＩＤＥブリッジはＵＳＢコントローラに接続され、プロセッサはＵＳＢコントローラを介してＩＤＥデバイスと通信を行なうことができる、ＵＳＢシステム。
【請求項２】
ＩＤＥデバイスのうちの少なくとも１つはハードディスクドライブを含む、請求項１に記載のシステム。
【請求項３】
１つ以上のＵＳＢハブをさらに含み、各ＵＳＢハブは２つ以上のＵＳＢ−ＩＤＥブリッジとＵＳＢコントローラとの間で接続される、請求項１に記載のシステム。
【請求項４】
各ＩＤＥデバイスはホットプラギング内で利用され得る、請求項１に記載のシステム。
【請求項５】
１つ以上のＩＤＥデバイスは、システムが動作している間にシステムから切断され得る、請求項１に記載のシステム。
【請求項６】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥデバイスは、システムが動作している間にＵＳＢコントローラに接続され得る、請求項１に記載のシステム。
【請求項７】
いくつかのＵＳＢ−ＩＤＥブリッジとＵＳＢコントローラのうちの１つとの間で接続される少なくとも１つのＵＳＢハブをさらに含み、プロセッサはＵＳＢコントローラおよびＵＳＢハブを介してＩＤＥデバイスと通信を行なうことができる、請求項１に記載のシステム。
【請求項８】
１つ以上のＩＤＥデバイスは、システムが動作している間に、システムから切断され得る、請求項７に記載のシステム。
【請求項９】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥデバイスは、システムが動作している間に、ハブに接続され得る、請求項１に記載のシステム。
【請求項１０】
データ通信のために多数のＩＤＥデバイスをプロセッサに接続するための方法であって、
多数のＵＳＢ−ＩＤＥブリッジを提供するステップと、
各ＩＤＥデバイスをＵＳＢ−ＩＤＥブリッジのそれぞれに接続するステップと、
ＵＳＢコントローラを提供するステップと、
ＵＳＢ−ＩＤＥブリッジをＵＳＢコントローラに接続するステップとを含み、プロセッサはＵＳＢコントローラを介してＩＤＥデバイスと通信を行なうことができる、多数のＩＤＥデバイスをプロセッサに接続するための方法。
【請求項１１】
ＩＤＥデバイスのうちの少なくとも１つはディスクドライブを含む、請求項１０に記載の方法。
【請求項１２】
１つ以上のＩＤＥデバイスをＵＳＢ−ＩＤＥブリッジにホットプラギングするステップをさらに含む、請求項１０に記載の方法。
【請求項１３】
システムが動作している間に、１つ以上のＩＤＥデバイスをシステムから切断するステップをさらに含む、請求項１０に記載の方法。
【請求項１４】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥデバイスを、システムが動作している間に、ＵＳＢコントローラに接続するステップをさらに含む、請求項１０に記載の方法。
【請求項１５】
少なくとも１つのＵＳＢハブを提供するステップと、
各ハブをＵＳＢコントローラに接続するステップと、
各ハブがＵＳＢコントローラと２つ以上のＵＳＢ−ＩＤＥコントローラとの間で接続されるように、２つ以上のＵＳＢ−ＩＤＥコントローラを各ハブに接続するステップとをさらに含む、請求項１０に記載の方法。
【請求項１６】
システムが動作している間に、１つ以上のＩＤＥデバイスをシステムから切断するステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥデバイスを、システムが動作している間に、ハブのうちの１つに接続するステップをさらに含む、請求項１５に記載の方法。
【請求項１８】
データ記憶システムであって、
複数のＩＤＥ記憶デバイスと、
複数のＵＳＢ−ＩＤＥブリッジとを含み、各ＩＤＥ記憶デバイスはそれぞれのＵＳＢ−ＩＤＥブリッジに接続され、前記データ記憶システムはさらに、
ＵＳＢコントローラを含み、ＵＳＢ−ＩＤＥブリッジは、ＵＳＢコントローラに接続され、プロセッサは、ＵＳＢコントローラを介してＩＤＥ記憶デバイスと通信を行なうことができる、データ記憶システム。
【請求項１９】
各ＩＤＥディスクドライブおよび対応するＵＳＢ−ＩＤＥブリッジがそれぞれのキャリア内に格納されるように、各ＩＤＥデータ記憶デバイスのためのキャリアをさらに含む、請求項１８に記載のデータ記憶システム。
【請求項２０】
１つ以上のＩＤＥ記憶デバイスは、システムが動作している間に、システムから切断され得る、請求項１８に記載のデータ記憶システム。
【請求項２１】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥディスクデバイスは、システムが動作している間に、ＵＳＢコントローラに接続され得る、請求項１８に記載のデータ記憶システム。
【請求項２２】
いくつかのＵＳＢ−ＩＤＥブリッジとＵＳＢコントローラのうちの１つとの間に接続される少なくとも１つのＵＳＢハブをさらに含み、プロセッサはＵＳＢコントローラおよびＵＳＢハブを介してＩＤＥデバイスと通信を行なうことができる、請求項１８に記載のデータ記憶システム。
【請求項２３】
１つ以上のＵＳＢハブをさらに含み、各ＵＳＢハブは２つ以上のＵＳＢ−ＩＤＥブリッジとＵＳＢコントローラとの間に接続される、請求項１８に記載のデータ記憶システム。
【請求項２４】
少なくとも１つ以上のＩＤＥ記憶デバイスは、システムが動作している間に、システムから切断され得る、請求項２３に記載のデータ記憶システム。
【請求項２５】
対応するＵＳＢ−ＩＤＥブリッジに結合される少なくとも１つの追加のＩＤＥ記憶デバイスは、システムが動作している間に、ＵＳＢハブのうちの１つに接続され得る、請求項２３に記載のデータ記憶システム。
【請求項２６】
対応するＵＳＢ−ＩＤＥブリッジおよび関連のハブに結合される少なくとも１つの追加のＩＤＥ記憶デバイスは、システムが動作している間に、ＵＳＢコントローラに接続され得る、請求項２３に記載のデータ記憶システム。
【請求項２７】
対応するＵＳＢ−ＩＤＥブリッジおよび関連のハブに結合される少なくとも１つのＩＤＥ記憶デバイスは、システムが動作している間に、ＵＳＢコントローラから切断され得る、請求項２３に記載のデータ記憶システム。
【発明の詳細な説明】
【０００１】
【発明の分野】
この発明は、データ記憶デバイス、具体的には、ディスクアレイに関する。
【０００２】
【発明の背景】
集積駆動エレクトロニクス（Ｉｎｔｅｇｒａｔｅｄ　Ｄｒｉｖｅ　Ｅｌｅｃｔｒｏｎｉｃｓ）（ＩＤＥ）バスは一般に、ハードディスクドライブ、フロッピー（Ｒ）ディスクドライブ、およびＣＤ　ＲＯＭドライブ等の大容量記憶装置のインターフェイスとなる二次的なバスとして実現される。ＩＤＥバスは依然として、パーソナルコンピュータシステムでの大容量記憶装置のための最も広く採用されたバスアーキテクチャである。ＩＤＥコントローラによって、最大２つのＩＤＥデバイスがサポートされ得る。２つのＩＤＥデバイスが１つのＩＤＥコントローラに接続されるならば、ＩＤＥプロトコルに従うと、一方のデバイスが「マスタ」とされ、他方が「スレーブ」とされる。また、２つのＩＤＥコントローラが同時に同じコンピュータに組込まれるならば、一方のバスコントローラが「プライマリ」とされ、他方が「セカンダリ」とされる。マスタ／スレーブおよびプライマリ／セカンダリという指示によって、多数のＩＤＥデバイスとバスとの間の複雑なやり取りが容易になる。
【０００３】
既存のディスクドライブアレイは、ＳＣＳＩまたはファイバチャネルディスクドライブと比較して、コスト節約のために多数のＩＤＥディスクドライブを用いる。ＩＤＥディスクドライブを用いて記憶アレイを構築する場合、ＩＤＥバスのいくつかの限界が即座に明らかとなる。ＩＤＥバスは、バス当り２つのＩＤＥデバイスしか許容せず、アレイが多数のＩＤＥバスを含むことを必要とする。ＩＤＥバスは、高速応用（ＵＤＭＡ　６６、ＵＤＭＡ　１００、ＵＤＭＡ　１３３）のために１８インチの長さに限定されている。ＩＤＥバスは、デバイスの「ホットプラギング」のための備えを有さない。さらに、ＩＤＥバスは並列バスであるため、トレースルーティングは複雑になる。
【０００４】
このような従来の記憶アレイは、多数のＩＤＥコントローラ、ＡＳＩＣ、またはＦＰＧＡを用いる。ＩＤＥのバスの長さの限界のために、このような記憶アレイは、コントローラをディスクドライブそれら自体にできるだけ近く、典型的には、記憶格納装置のセンター面（ｃｅｎｔｅｒ　ｐｌａｎｅ）上に、位置付けなければならない。これは、非常に複雑で、かつアクティブなセンター面につながり、デバイスのフィールドの実用性に大きな影響を与える。さらに、故障した、および置き換えのディスクドライブの「ホットプラギング」に対処するために、追加的な回路が加えられなければならない。なぜならば、「ホットプラギング」は、ＩＤＥディスクドライブとの非互換性のために、ＩＤＥバス仕様の範囲外にあるためである。
【０００５】
【発明の簡単な概要】
この発明によって、上述の限界が軽減される。バスアーキテクチャの１つの種類、ユニバーサルシリアルバス（ＵＳＢ）は、典型的には、特別なＵＳＢコネクタを介して、ビデオカメラ、モデム、ジョイスティック、キーボード、マウス、および他の入力／出力装置等のコンピュータの外側の周辺デバイスをサポートする。多数の周辺デバイスを同時にサポートすることに加えて、ＵＳＢアーキテクチャはさらに、周辺デバイスのホットプラギングをサポートする。ユニバーサルシリアルバスは、中央のＵＳＢコントローラを用いて動作してすべてのバストラフィックを仲裁し、さらにはルーティングする。
【０００６】
ＵＳＢバスは、ファイバチャネルまたはウルトラＳＣＳＩと比べて比較的低いスループットを有するが、ＵＳＢ構成要素の低コストのために、それは、以下のような応用において非常に望ましい。すなわち、多数の比較的遅いデバイスが用いられるか、または多数の比較的速いデバイスが用いられるが所与のいずれかの時間にはサブセットのみがアクティブであるようないずれかの応用において、非常に望ましい。
【０００７】
１つの実施例では、この発明は、１つ以上のＩＤＥデバイスを含むシステムを提供し、各ＩＤＥデバイスはＵＳＢ−ＩＤＥコントローラに接続され、ＵＳＢ−ＩＤＥコントローラは、１つ以上のＵＳＢコントローラに接続される。ＵＳＢは高速低コストのシリアルバスアーキテクチャであり、これは、「ホットプラギング」を提供し、最大１２７のデバイスをサポートし、最大１５メートルの長さのケーブルをサポートする。ＵＳＢアーキテクチャは、ポイントツーポイント、共有帯域幅アーキテクチャである。ハブデバイスを用いて追加的なデバイスがＵＳＢコントローラに接続され得る。
【０００８】
１つの局面では、この発明に従ったデータ記憶システムは、多数のＩＤＥディスクドライブを含み、各ディスクドライブはＵＳＢ−ＩＤＥコントローラに接続される。データ記憶システム（アレイ）内では、ＵＳＢ−ＩＤＥコントローラはディスクドライブキャリアに組み込まれる。記憶アレイに与えられる論理インターフェイスは、あくまでＵＳＢであり、ドライブキャリアの挿入または除去は、ＵＳＢデバイスの挿入／ＵＳＢバスからの除去に直接的に対応する。ハブを用いて最大１２７のＵＳＢデバイスを単一のＵＳＢコントローラに関連付けることもでき、多数のＵＳＢコントローラを用いて全システムを増大させることもできる。ＵＳＢのシンプルな４つのワイヤインターフェイスおよびＩＤＥに対するＵＳＢの延長された長さを用いることによって、記憶アレイのための受動センター面設計が、この発明によって可能となる。内部相互接続としてＵＳＢを用いることによって、簡素化されたケーブリング／信号ルーティング、「ホットプラギング」、および受動センター面を備えた記憶アレイ内での安価なＩＤＥディスクドライブの使用が可能となる。
【０００９】
この発明のこれらの、および他の特徴、局面、および利点は、以下の説明、添付の請求項、および添付の図を参照することによって理解されるだろう。
【００１０】
［詳細な説明］
この発明は、ここで説明されるように、ユニバーサルシリアルバス（ＵＳＢ）シリアルバスアーキテクチャを用いる。ＵＳＢアーキテクチャは、典型的には、ＵＳＢコネクタを介して、ビデオカメラ、モデム、ジョイスティック、キーボード、マウス、および他の入力／出力デバイス等の周辺デバイスをサポートする。多数の周辺デバイスを同時にサポートすることに加えて、ＵＳＢアーキテクチャはさらに、周辺デバイスの「ホットプラギング」をサポートする。ユニバーサルシリアルバスは、中央のＵＳＢコントローラを用いて動作してすべてのバストラフィックを仲裁し、さらにはルーティングする。
【００１１】
たとえば、ＵＳＢ２．０は、高速（４８０メガビット／秒）の低コストのシリアルバスアーキテクチャであり、これは、「ホットプラギング」を提供し、最大１２７のデバイスをサポートし、さらには最大１５メートルのケーブルの長さをサポートする。さらに、ＵＳＢアーキテクチャは、ポイントツーポイント、共有帯域幅アーキテクチャであり、ＵＳＢハブデバイスを用いて追加的なＵＳＢデバイスがＵＳＢコントローラに接続され得る。
【００１２】
図１および図２を参照して、この発明に従ったＵＳＢシステム１０の２つの実施例の例示的なブロック図が示される。システム１０は、１つ以上のＩＤＥデバイス１２と（ここで用いられるように、ＩＤＥデバイスはＩＤＥ／ＡＴＡデバイスを含む）、ＩＤＥデバイス１２に対応する１つ以上のＵＳＢ−ＩＤＥコントローラ１４（ＵＳＢ−ＡＴＡブリッジまたはプロトコルコンバータ）と、任意で、必要に応じて１つ以上のＵＳＢハブ１６と、プロセッサ（ＣＰＵ）２０に接続され得る、図示されるように相互接続され得る１つ以上のＵＳＢコントローラ１８（好ましくは、ＵＳＢ２．０）とを含む。ＵＳＢバス１１は、ＵＳＢコントローラ１８とＵＳＢハブ１６との間の接続、またはＵＳＢハブ１６とＵＳＢ−ＡＴＡブリッジ１４との間の接続、もしくはＵＳＢコントローラ１８とＵＳＢ−ＡＴＡブリッジ１４との間の直接接続である。ＵＳＢコントローラ１８とＣＰＵ２０との間の接続１５は、ＰＣＩバスであり得る。
【００１３】
各ＩＤＥデバイス１２は、ディスクドライブ（ＨＤＤ）、ＣＤ　ＲＯＭ、ＣＲＲＷ、ＤＶＤ、およびテープデバイス等のいくつかのデバイスのうちのいずれかを含み得る。したがって、この発明は、ここでの説明でのＩＤＥデバイスとして用いられるディスクドライブ（ＨＤＤ）に限定されていない。さらに、異なるＩＤＥデバイスがシステム内で用いられ得る。
【００１４】
図３を参照して、この発明は、１つの実施例では、データ記憶アレイ２４として示され、これは、多数のＩＤＥディスクドライブ１２を含み、各々はＵＳＢ−ＩＤＥコントローラ１４（ＵＳＢ−ＩＤＥブリッジまたはプロトコルコンバータ）に接続される。ＵＳＢ−ＩＤＥコントローラ１４は、図１および図２で示されるように、ＵＳＢコントローラ１８に直接接続されるか、またはハブ１６を介して接続され得る。図３の例では、記憶アレイ２４内では、ＵＳＢ−ＩＤＥコントローラ１４は、ディスクドライブキャリア２２に組み込まれる（たとえば、図２）。各ＩＤＥディスクドライブ１２は、ＵＳＢ−ＩＤＥコントローラ１４を介して、ＵＳＢコントローラ１８またはＵＳＢハブ１６に接続され、これにより、ＵＳＢコントローラ１８にＵＳＢデバイスとして見える。記憶アレイ２４に与えられる論理インターフェイスは、ＵＳＢであり、ディスクドライブキャリア２２の挿入または除去は、ＵＳＢデバイスの挿入／ＵＳＢバスからの除去（「ホットプラギング」）に直接的に対応する。
【００１５】
さらに、多数のＵＳＢコントローラ１８を用いて全システム帯域幅が増大され得る。ＵＳＢアーキテクチャのシンプルな４つのワイヤインターフェイスおよびＩＤＥに対するＵＳＢ接続の延長された長さを用いることによって、この発明は、記憶システム２４のための受動センター面設計の設計を可能にする。
【００１６】
１つの局面では、ケーブルは実際には用いられず、すべてのＵＳＢ信号は、プリント回路板トレースによって運ばれ、標準ではないコネクタが用いられる。たとえば、４８０Ｍビット／秒のデバイスのみが用いられる１つの構成等では、制御ソフトウェアが用いられ得、ハブデバイス上の分割トランザクションはサポートされなくてもよい。同様に、ＵＳＢバス１１は、この発明のこの局面では内部バスであるため、いつＩＤＥデバイス１２が挿入または除去され得るかが知られる。たとえば、特定の基準が満たされる場合（たとえば、フロントパネル２５がデータ記憶システム２４から除去される場合）、デバイス１２は、挿入（プラグイン）されるか、または除去（アンプラグ）され得る。したがって、たとえば、フロントカバー２５が定位置にあると認識されている場合、バス１１を絶えずポーリングしてデバイスの挿入または除去を判断する必要はない（一例では、「ホール効果」スイッチを用いることによって、フロントパネル１２がいつ除去されたのかを判断できる）。これによって、かなりの量のバスオーバーヘッドが減じられ、これはより高いスループットにつながる。別の局面では、標準のＵＳＢ実現例に基づいて、デバイスの挿入／除去のための通常のポーリングが行なわれる。
【００１７】
ここでのＵＳＢシステムによって、多様なデバイス（たとえば、記憶デバイス）の容易な接続が可能となり、使いやすい「ホットプラギング」が提供される。この発明は、デバイスの「ホットスワップ」を可能にし、変化を起こす前にシステムの電源を切ることなく、または何も行なうことなしに、たとえば、ディスクドライブ１２は記憶アレイ２４に差込まれるか、または除去され得る。
【００１８】
ハブ１６を用いて最大１２７のＵＳＢデバイスを単一のＵＳＢコントローラ１８に関連付けることもできる（ハブを用いてデバイス同士をつなげることによって、多数のデバイスが容易に単一のＵＳＢコントローラに追加され得る）。したがって、ハブは、ＵＳＢポートの数を増加させて他のＵＳＢデバイスを接続するＵＳＢデバイスである。装着可能なデバイスの最大数は、バス上のハブの数で減じられる。ハブは、自己および／またはバスによる電力供給の最速デバイスである。典型的には、ホストコントローラの物理的なポートは、バーチャルルートハブによって処理される。このハブは、ホストコントローラのデバイスドライバによってシミュレートされ、バストポロジーを統一する助けとなる。したがって、すべてのポートが、ＵＳＢサブシステムのハブドライバによって同様に処理され得る。
【００１９】
一例では、ＵＳＢコントローラ１８は、信号ソースであるルートを含み、記憶デバイスはダウンストリームハブを有して信号を終了させる。ハブ１６は、通信のすべてを行なう。中間ハブが構成内に含まれてもよく、これは、任意で追加的な電力をそれらのダウンストリームハブに提供し得るか、またはアップストリームハブによって提供されるものを単に分配し得る。
【００２０】
ＩＤＥ−ＵＳＢコネクタ１８を備えたディスクドライブ１２がＵＳＢコントローラ／バスに接続されると、ルートハブは、新しいデバイスの存在を検知し、たとえば、「パイプ０」、デフォルト物理デバイス通信チャネル上のデバイスとまず通信する。パイプは、デバイスの物理的接続を維持するハブアーキテクチャのデータサブバンドである。デバイスが一旦認識されると、ルートハブはデバイスに対して質問を行なってそれが何であるのか、さらにはパイプ０上でそれが何を行なうことができるのかを見つけ出す。
【００２１】
次に、ＵＳＢ−ＩＤＥポート／コネクタ１８上のすべてのデバイス１２が列挙され、各々に独自のデバイス数が割当てられ、これは、物理デバイス通信のための対応するパイプ数も含む。ホスト２０は、プログラム命令をロードしてデバイス１２を制御し、その情報の流れを処理する。ハブ１６はその時実行しており、情報は、ＵＳＢコントローラ１８へと、およびＵＳＢコントローラ１８から、信号リードを介して渡される。列挙プロセスは、デバイスがＵＳＢバスにプラグインされるか、またはＵＳＢバスから除去されるたびに、開始される。
【００２２】
異なる目的のために用いられ得るために、異なる種類のＵＳＢデバイスが存在する。まず、デバイスは、自己電力供給されてもよく、バス電力供給されてもよく、または両方であってもよい。ＵＳＢは、そのデバイスに最大、たとえば、５００ｍＡの電源を提供し得る。バス上にバス電力供給のデバイスのみが存在するならば、最大電力消費は超過し得るため、自己電力供給デバイスが存在する。このようなデバイスは、それら自体の電源を有する必要がある。両方の電力の種類をサポートするデバイスは、外部電源を装着するときには、自己電力供給モードに切換えられ得る。システムが独立言語型（ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ）である例では（たとえば、図３）、ＵＳＢの「自己電力供給バス」特徴は必要とされない。
【００２３】
最大通信速度は、特定のＵＳＢデバイスで異なり得る。ＵＳＢ仕様は、低速デバイスと最速デバイスとの間で決定する。（マウス、キーボード、およびジョイスティック等の）低速デバイスは、１．５Ｍビット／ｓで通信し、限られた能力しか有さない。（オーディオシステムおよびビデオシステム等の）最速デバイスは、１２Ｍビット／ｓの最大９０％を用いることができ、これはプロトコルオーバーヘッドを含めた約１０Ｍビット／ｓである。さらに、ＵＳＢ２．０は、４８０Ｍビット／秒の伝送レートまたは６０Ｍバイト／秒の理論上の最大値を提供する。ディスクデバイス１２は、ＵＳＢのバルクメッセージプロトコルを用い得、プロトコルオーバーヘッドを勘案し、理論上の最大スループットは、５３Ｍバイト／秒であり得る。
【００２４】
内部相互接続としてＵＳＢを用いることによって、簡素化されたケーブリング／信号ルーティング、「ホットプラギング」、および完全に受動のセンター面を備えたディスクアレイ２４内での安価なＩＤＥディスクドライブ１２の使用が可能となる。
【００２５】
この発明は、ＩＤＥデバイス（たとえば、ディスクドライブ）を用いる異なるシステムに適用可能である。図５では、例示的なデータ記憶システム２４は、３つの主要な構成要素、ハウジング３０内のコントローラ（たとえば、ホストまたはＣＰＵ）２０、左レールディスクドライブ２６、および右レールディスクドライブ２８を含む。図４で示されるように、各レールは、たとえば、５つのディスクドライブパック３２を含み、各ディスクドライブパック３２は、たとえば、３つのディスクドライブ１２を含み、各ディスクドライブ１２は、ＩＤＥデバイスの一例である。図５の例示的なブロック図を参照して、ドライブパック３２内の各ＩＤＥディスクドライブ１２は、ドライブハウジング／キャリア内のＵＳＢ−ＡＴＡプロトコルコンバータ／ブリッジ（つまり、ＩＤＥ−ＵＳＢコントローラ）に対している。各ドライブパックのためのＵＳＢ−ＡＴＡコンバータは、ＵＳＢハブに接続され、ＵＳＢハブは、図示されるように、ＵＳＢホストコントローラに接続される。
【００２６】
この例では、データ記憶システム１４は、事実上、安価なＡＴＡディスクドライブ１２を用いてテープライブラリをエミュレートする「バーチャルライブラリ」システムである。可能な限り低価格で（たとえば、データバックアップのための）データ記憶装置を提供することが非常に望ましく、そのために、ＡＴＡディスクドライブ１２を用いることは、ＳＣＳＩまたはファイバチャネルディスクドライブのいずれよりも、より魅力的である。
【００２７】
従来、ＵＳＢアーキテクチャは、物理的なケーブルを用いる周辺装置の外部装着のために用いられてきた。しかし、この発明に従うと、ＵＳＢアーキテクチャは、多数のＩＤＥ／ＡＴＡデバイス１２（たとえば、ディスクアレイデータ記憶装置）のための内部相互接続トポロジーで利用され、従来のＡＴＡディスクアレイの不利な点を軽減する。このようにして、この発明は、ＡＴＡケーブル／信号の長さの制約を取除き、（ＡＴＡ仕様にはない）ホットプラギングを提供し、さらにはＡＴＡ信号ルーティング問題を解消する。ホットプラギングを用いることにより、ディスクドライブ１２および接続されるＵＳＢ−ＩＤＥブリッジ１４（ならびに任意のハブ１６）を含む個別のディスクドライブキャリア２２は、データ記憶システム２４に接続され得、データ記憶システム２４から切断され得る。図２で示されるように、ＨＤＤキャリア２２は、単一のＵＳＢ−ＩＤＥブリッジ１４およびその関連のディスクドライブ１２、またはハブ１６およびいくつかの（たとえば、２つ、３つ、…）ＵＳＢ−ＩＤＥブリッジ１４ならびにそれらの関連のＩＤＥディスクドライブ１２の組合せを含み得る。
【００２８】
ＵＳＢは、ホットプラギングおよびプラグアンドプレイをサポートする。プラグアンドプレイは、装着されるデバイスの種類とモデルおよびベンダーの詳細とをホストシステムが照会することを可能にするＵＳＢ規格内に含まれるデバイス記述子を介して達成される。これによって、ホストオペレーティングシステムは、何のデバイスが装着されているかを判断でき、さらには自動的に適切なデバイスドライバをロードできる。ホットプラギングとは、システムが実行している（動作している）間に、デバイスを装着（プラグ接続）するか、またはシステムからデバイスを除去（アンプラグ）する能力である。これは、ディスクアレイにとって非常に重要である。なぜならば、それによって、システムがまだ実行している間に（つまり、ホストシステムの通常の動作を妨害することなく）、故障した構成要素の交換が可能となるためである。ＲＡＩＤ保護を用いる従来のディスクアレイデータ記憶システムは、ＲＡＩＤセット内で１つのディスクドライブの故障しか許容できず、そのため、システムは、第１のディスクドライブの故障からそれが交換されるまでの期間は、データ損失を受けやすい。したがって、可能な限り迅速に、故障した構成要素を取替えることが非常に望ましい。この発明に従ったホットプラギングによって、ホストの静止を待つことなくシステムがまだ動作している間のこの交換が可能となる。
【００２９】
図６（ａ）−（ｂ）および図７（ａ）−（ｂ）は、この発明の方法の実施例の例示的なフローチャートを示す。図６（ａ）−（ｂ）のフローチャートは、ここでは、図１に関連して説明され、１つの実施例では、この発明の方法は、多数のＩＤＥデバイス１２を提供するステップ（ステップ４０）と、多数のＵＳＢ−ＩＤＥブリッジ１４を提供するステップ（ステップ４２）と、各ＩＤＥデバイス１２を対応のＵＳＢ−ＩＤＥブリッジ１４に接続するステップ（ステップ４４）と、少なくとも１つのＵＳＢコントローラ１８を提供するステップ（ステップ４６）と、ブリッジをＵＳＢコントローラ１８に接続するステップ（ステップ４８）とを含む。図６（ｂ）のステップに従うと、システム１０の動作が開始され（ステップ５０）、その後、追加のＩＤＥデバイス１２が、追加のＵＳＢ−ＩＤＥブリッジ１４に結合され（ステップ５２）、システム１９が動作している間にシステム１０に接続される（たとえば、ブリッジ１４をＵＳＢコントローラ１８またはハブ１６に接続する）（ステップ５４）。さらに、システム１０が動作している間に、ＩＤＥデバイス１２はシステム１０から切断される（たとえば、ＩＤＥデバイス１２および対応するＵＳＢ−ＩＤＥブリッジ１４をＵＳＢコントローラ１８またはハブ１６から切断する）（ステップ５６）。
【００３０】
図７（ａ）−（ｂ）のフローチャートが、ここで図２と関連して説明され、別の実施例では、この発明の方法は、多数のＩＤＥデバイス１２を提供するステップ（ステップ６０）と、多数のＵＳＢ−ＩＤＥブリッジ１４および少なくとも１つのハブ１６を提供するステップ（ステップ６２）と、各ＩＤＥデバイス１２を対応のＵＳＢ−ＩＤＥブリッジ１４に接続し、さらには２つ以上のブリッジ１４を各ハブ１６に接続するステップ（ステップ６４）と、少なくとも１つのＵＳＢコントローラ１８を提供するステップ（ステップ６６）と、各ハブ１６をＵＳＢコントローラ１８に接続するステップ（ステップ６８）とを含む。図７（ｂ）のステップに従うと、システム１０の動作が開始され（ステップ７０）、その後、対応するＵＳＢ−ＩＤＥブリッジ１４およびハブ１６に結合される追加のＩＤＥデバイス１２（ステップ７２）が、システムが動作している間に、システム１９に接続される（たとえば、ハブ１６をＵＳＢコントローラ１８に接続する）（ステップ７４）。さらに、システム１０が動作している間に、１つ以上のＩＤＥデバイス１２がシステム１０から切断される（たとえば、ＩＤＥデバイス１２、対応するＵＳＢ−ＩＤＥブリッジ１４、およびハブ１６の組合せをＵＳＢコントローラ１８から切断する）（ステップ７６）。
【００３１】
この発明は、その特定の好ましい局面を参照して非常に詳細に説明されてきたが、他の局面も可能である。したがって、添付の請求項の思想および範囲は、ここに包含される好ましい局面の説明に限定されるべきではない。
【図面の簡単な説明】
【図１】この発明に従ったシステムの実施例の例示的なブロック図である。
【図２】この発明に従ったシステムの別の実施例の例示的なブロック図である。
【図３】この発明の別の局面に従った例示的なデータ記憶システムの概略斜視図である。
【図４】図３のディスクドライブをより詳細に示した図である。
【図５】図３のデータ記憶システムのアーキテクチャのブロック図である。
【図６】記憶システム内の内部アーキテクチャとしてユニバーサルシリアルバスを用いるための方法における異なる実施例のステップのフローチャートを示す図である。
【図７】記憶システム内の内部アーキテクチャとしてユニバーサルシリアルバスを用いるための方法における異なる実施例のステップのフローチャートを示す図である。
【符号の説明】
１０　ＵＳＢシステム、１２　ＩＤＥデバイス、１４　ＵＳＢ−ＩＤＥブリッジ、１８　ＵＳＢコントローラ、２０　ＣＰＵ。
【図１】
2004005429.tif 000003
【図２】
2004005429.tif 000004
【図３】
2004005429.tif 000005
【図４】
2004005429.tif 000006
【図５】
2004005429.tif 000007
【図６】
2004005429.tif 000008
【図７】
2004005429.tif 000009
【外国語明細書】
2004005429.tif 000010
2004005429.tif 000011
2004005429.tif 000012
2004005429.tif 000013
2004005429.tif 000014
2004005429.tif 000015
2004005429.tif 000016
2004005429.tif 000017
2004005429.tif 000018
2004005429.tif 000019
2004005429.tif 000020
2004005429.tif 000021
2004005429.tif 000022
2004005429.tif 000023
2004005429.tif 000024
2004005429.tif 000025
2004005429.tif 000026
2004005429.tif 000027
2004005429.tif 000028
2004005429.tif 000029
2004005429.tif 000030
2004005429.tif 000031
2004005429.tif 000032