(57)【要約】【課題】データ・ストーレジ・システムにおける多数パスのバス及びコンポーネント相互接続及び切り離しを得るデータ・ストーレジ・システム及び方法を提供する。【解決手段】データ・ストーレジ・システムを複数のデータ・ストーレジ装置及びこれらのデータ・ストーレジ装置を接続するためのコネクタを含む多数ディスク・アッセンブリと、複数のデータ・ストーレジ装置を制御する少なくとも１つのディスク・コントローラと、複数のデータ・ストーレジ装置をデータ・ストーレジ・システムに選択的に接続する少なくとも１つの構造物とを含み、当該システムにエラーを発生した場合は、そのエラーを発生した部分を特定し、これを選択的に当該システムから切り離して当該システムの再構築をすることにより、システム・パフォーマンスの維持を図る。【選択図】図１０
2005293595.tif 000002
【特許請求の範囲】
【請求項１】
データ・ストーレジ・システムにおいて、
内部に配置され、複数の信号を提供し、かつ複数のデータ・ストーレジ装置の各データ・ストーレジ用に少なくとも１独立信号を有する、少なくとも１コネクタを含むように内部に配置された複数のデータ・ストーレジ装置を有する多数ディスク・アッセンブリを有し、
少なくとも１コネクタと係合する、取り付けコネクタを有するアッセンブリを受け入れるようにされた多数ディスク・アッセンブリ・レセプタクルを有し、
少なくとも１ディスク・コントローラを有し、
少なくとも１つの構築可能な構造物を有し、該構造物が第１の構成にあるときに、前記ディスク・コントローラに前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置用の少なくとも１つの独立信号を選択的に接続することができ、かつ前記構造物が他の構成のときに、少なくとも１つの独立信号を選択的に切り離すことができる、ことを備えた
データ・ストーレジ・システム。
【請求項２】
前記少なくとも１つの構造物は、ポート・バイパス・コントローラを備えた請求項１記載のデータ・ストーレジ・システム。
【請求項３】
前記少なくとも１つの構造物は、クロス・ポイント・スイッチを備えた請求項１記載のデータ・ストーレジ・システム。
【請求項４】
前記少なくとも１つの構造物は、ホスト・システムにより構築可能である請求項１記載のデータ・ストーレジ・システム。
【請求項５】
前記少なくとも１つのディスク・コントローラと外部インターフェースとの間で信号を搬送する少なくとも１つのインターフェース・コントローラと、前記少なくとも１つの構造物を構成するように動作可能な少なくとも１つのインターフェース・コントローラを更に備えた請求項１記載のデータ・ストーレジ・システム。
【請求項６】
前記少なくとも１つのコネクタは、前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置用の少なくとも２つの独立信号を有する請求項１記載のデータ・ストーレジ・システム。
【請求項７】
第２の構造物を有し、
第２のディスク・コントローラを有し、前記少なくとも１つの構造物が前記少なくとも１つのディスク・コントローラに対して前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置用に前記少なくとも２つの独立信号のうちの第１信号を接続するように構築可能であり、かつ前記第２の構造物が前記少なくとも１つのディスク・コントローラに対して前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置用に前記少なくとも２つの独立信号のうちの第２信号を接続するように構築可能であること
を更に備えた請求項６記載のデータ・ストーレジ・システム。
【請求項８】
前記少なくとも１つのディスク・コントローラと外部インターフェースとの間の信号を搬送し、かつ前記少なくとも１つの構造物及び前記構造物を構築するように動作可能な少なくとも１つのインターフェース・コントローラを備えた請求項７記載のデータ・ストーレジ・システム。
【請求項９】
前記少なくとも１つのディスク・コントローラ及び前記第２のディスク・コントローラと外部インターフェースとの間の信号を搬送し、かつ前記少なくとも１つの構造物及び前記第２構造物を構築するように動作可能である第２のインターフェース・コントローラを備えた請求項８記載のデータ・ストーレジ・システム。
【請求項１０】
多数ディスク・アッセンブリにおいて、
前記ディスク・アッセンブリに配置された複数のデータ・ストーレジ装置を有し、
前記ディスク・アッセンブリからの信号を前記ディスク・アッセンブリが受け入れるようにされた取り付け具に通信するコネクタを有し、
前記コネクタと通信する前記ディスク・アッセンブリに配置された構造物を有し、前記コネクタは、前記コネクタの少なくとも１つの信号に対して前記複数のデータ・ストーレジ装置のうちの少なくとも１つのデータ・ストーレジ装置を選択的に接続し、かつ切り離すように構築可能であることを備えたディスク・アッセンブリ。
【請求項１１】
取り外し可能なデータ・ストーレジ・アッセンブリにおいて、
データ・ストーレジ・アッセンブリに配置された複数対として配列された複数のデータ・ストーレジ装置を有し、前記データ・ストレージ・アッセンブリは少なくとも２対のデータ・ストレージ装置を有し、
複数のデータ・ストーレジ装置のうちの各データ・ストーレジ装置用に少なくとも１つの独立信号のために外部通信を提供するコネクタを有する、
取り外し可能なデータ・ストーレジ・アッセンブリ。
【請求項１２】
データ・ストーレジ・システムにおいて、
複数の２重ポート付きデータ・ストーレジを含み、かつ取り付け具に少なくとも１つの信号を通信する少なくとも１つのコネクタを有し、かつ前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置を前記少なくとも第１の信号へ接続するように構築可能な構造物を有し、かつ前記他のデータ・ストーレジ装置が前記信号に接続された状態を維持している間に、前記複数のデータ・ストーレジ装置のうちの少なくとも１つのデータ・ストーレジ装置を切り離すように構築可能な多数のディスク・アッセンブリと、
前記アッセンブリを受け入れるように適応され、かつ前記少なくとも１つのコネクタを係合する取り付けコネクタを有する多数のディスク・アッセンブリ・レセプタクルと、
前記取り付けコネクタを介して前記複数のデータ・ストーレジ装置のうちの少なくとも１つのデータ・ストーレジ装置をアクセス可能な少なくとも１つのディスク・コントローラと
を備えたデータ・ストーレジ・システム。
【請求項１３】
前記複数のデータ・ストーレジ装置は、複数対に配列されると共に各対の前記構造物が前記少なくとも１つの信号に各対のデータ・ストーレジ装置を接続するように構築可能である請求項１２記載のデータ・ストーレジ・システム。
【請求項１４】
データ・ストーレジ・システムにおいて、
複数の２重デュアル・ポート式データ・ストーレジを含み、かつ取り付け具に少なくとも２つの独立信号を通信する少なくとも１つのコネクタを有し、かつ前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置の第１ポートを前記少なくとも２つの独立信号のうちの第１信号へ接続するように構築可能な第１の構造物を有し、かつ前記データ・ストーレジ装置の各データ・ストーレジ装置の第２ポートを前記少なくとも２つの独立信号の第２の信号へ接続するように構築可能な第２の構造物を有する多数ディスク・アッセンブリと、
前記少なくとも１つのコネクタを係合する取り付けコネクタを有する前記アッセンブリを受け入れるようにされた多数ディスク・アッセンブリ・レセプタクルと、
前記取り付けコネクタを介して前記複数のデータ・ストーレジ装置のうちの少なくとも１つのデータ・ストーレジ装置をアクセス可能な少なくとも１つのディスク・コントローラと
を有するデータ・ストーレジ・システム。
【請求項１５】
前記複数のデータ・ストーレジ装置は複数対に配列されると共に、各対のデータ・ストーレジ装置が前記第１の構造物に接続された第１ポートを有し、かつ各対のデータ・ストーレジ装置が前記第２の構造物に接続された第２ポートを有し、前記第１の構造物が前記第１の信号に各対のデータ・ストーレジ装置を接続し、かつ切り離すように構築可能であり、かつ前記第２の構造物が前記第２の信号に各対のデータ・ストーレジ装置を接続し、かつ切り離すように構築可能である請求項１４記載のデータ・ストーレジ・システム。
【請求項１６】
２つのポートを有すると共に、前記２つのポートのうちの第１ポートを前記第１の信号に接続し、かつ前記第２の信号に接続された前記２つのポートのうちの第２ポートを有する第２のディスク・コントローラ
を更に備えた請求項１４記載のデータ・ストーレジ・システム。
【請求項１７】
データ・ストーレジ・システムにおいて、
複数のデータ・ストーレジ装置、少なくとも１つの構造物、及び内部に配置された少なくとも１つのディスク・コントローラを含み、かつ少なくとも１つの信号を取り付け具に通信する少なくとも１つのコネクタを有する多数ディスク・アッセンブリであって、前記構造物が前記ディスク・コントローラに前記複数のデータ・ストーレジ装置の各データ・ストーレジ装置を接続するように構築可能であり、前記ディスク・コントローラが前記少なくとも１つの信号に接続される前記多数ディスク・アッセンブリと、
前記ディスク・アッセンブリに適応され、かつ前記少なくとも１つのディスク・コントローラと信号の通信をする前記少なくとも１つのコネクタを係合する取り付けコネクタを有する多数ディスク・アッセンブリ・レセプタクルと
を備えたデータ・ストーレジ・システム。
【請求項１８】
前記複数のデータ・ストーレジ装置は、少なくとも２つのデータ・ストーレジ装置の複数のグループにそれぞれ配列され、かつ前記少なくとも１つの構造物は前記少なくとも１つのディスク・コントローラに前記複数のグループの各グループを接続し、かつ切り離すように構築可能である請求項１７記載のデータ・ストーレジ・システム。
【請求項１９】
データ・ストーレジ・システムにおいて、
複数のデュアル・ポート式データ・ストーレジ装置、第１のディスク・コントローラ、内部に配置された第２のディスク・コントローラを含み、かつ取り付け具に少なくとも信号を通信する少なくとも１つのコネクタを有する多数ディスク・アッセンブリであって、前記複数のデータ・ストーレジ装置はそれぞれ前記第１の構造物に接続された第１ポートを有し、かつ前記第２の構造物に接続された第２ポートを有し、前記第１のディスク・コントローラ及び前記第２のディスク・コントローラはデュアル・ポート式であり、かつそれぞれは前記第１の構造物に接続された第１ポートを有し、かつ前記第２の構造物に接続された第２ポートを有し、前記第１のディスク・コントローラは前記少なくとも２つの信号の第１の信号に接続され、かつ前記第２のディスク・コントローラは前記少なくとも２つの信号の第２の信号に接続されている前記多数ディスク・アッセンブリと、
前記アッセンブリを受け入れるように適応された多数ディスク・アッセンブリ・レセプタクルと
を備えた前記データ・ストーレジ・システム。
【請求項２０】
前記複数のデータ・ストーレジ装置は、少なくとも２つのデータ・ストーレジ装置の複数のグループに配列され、かつ前記少なくとも第１の構造物は前記複数のグループの各グループを前記第１のディスク・コントローラに接続し、かつ切り離すように構築可能である請求項１９記載のデータ・ストーレジ・システム。
【請求項２１】
少なくとも２つの電圧レギュレータを更に備え、前記少なくとも２つの電圧レギュレータのうちの第１の電圧レギュレータは、前記第１の構造物に電力を供給し、かつ前記少なくとも２つの電圧レギュレータのうちの第２の電圧レギュレータは、前記第２の構造物に電力を供給する請求項１９記載のデータ・ストーレジ・システム。
【請求項２２】
前記コネクタと前記第１のディスク・コントローラ及び前記第２のディスク・コントローラとの間に配置された２つのインターフェース・コントローラを更に備え、前記２つのインターフェース・コントローラの第１のディスク・コントローラは、第１のバスを使用して前記第１のディスク・コントローラに接続され、かつ第２のバスを使用して前記第２のディスク・コントローラに接続され、前記第１のインターフェース・コントローラ及び前記第２のインターフェース・コントローラは、前記第１の信号及び前記第２の信号に接続される請求項１９記載のデータ・ストーレジ・システム。
【請求項２３】
多数ディスク・アッセンブリ・レセプタクル及び前記アッセンブリに接続された少なくとも１つの構造物にインストールされた複数のデータ・ストーレジ装置を含む多数ディスク・アッセンブリと、前記アッセンブリに接続された少なくとも１つの構造物とを有するデータ・ストーレジ・システムを構築する方法において、
前記データ・ストーレジ・システムにおけるエラーを検出し、
動作不能であるとして前記アッセンブリに含まれている前記複数のデータ・ストーレジ装置のうちの１つのデータ・ストーレジ装置を認識し、
前記少なくとも１つのデータ・ストーレジ装置を切り離すように前記少なくとも１つの構造物を構築する、ステップ
を備えた前記方法。
【請求項２４】
前記少なくとも１つの構造物を構築する前記ステップは、ポート・バイパス・コントローラを構築することを更に含む請求項２３記載の方法。
【請求項２５】
前記少なくとも１つの構造物を構築する前記ステップは、クロス・ポイント・スイッチを構築することを更に備えた請求項２３記載の方法。
【請求項２６】
前記少なくとも１つの構造物を構築する前記ステップは、マルチプレクサを構築することを更に備えた請求項２３記載の方法。
【請求項２７】
前記少なくとも１つのデータ・ストーレジ装置から電力を除去することを更に備えた請求項２３記載の方法。
【請求項２８】
データ・ストーレジ・システムにおいて、
複数のデータ・ストーレジ装置を含み、かつ前記複数のデータ・ストーレジ装置の各対のデータ・ストーレジ装置に関する少なくとも１個別信号ラインを提供するコネクタを有する多数ディスク・アッセンブリと、
ディスク・コントローラ及び内部に配置された構造物を有するホスト・システムに接続された取り付け具であって、前記アッセンブリを受け入れるように適応した多数ディスク・アッセンブリ・レセプタクルを有し、かつそれらの間で信号を通信する前記取り付け具と、
前記ストーレジ・システムにおけるエラーを検出し、かつ前記アッセンブリにおける動作不能のデータ・ストーレジ装置を認識し、かつ前記動作不能のデータ・ストーレジ装置を切り離すために構造物を構築するように動作可能なコンピュータ・プログラムと
を備えたデータ・ストーレジ・システム。
【請求項２９】
データ・ストーレジ・システムにおいて、
複数のデータ・ストーレジ装置、及び前記アッセンブリの外部の信号を通信するコネクタの少なくとも１つの信号へ前記データ・ストーレジの各データ・ストーレジ装置を接続及び切り離すように構築可能とされる少なくとも１つの構造物を含む多数ディスク・アッセンブリと、
内部に配置されたディスク・コントローラを有し、かつ前記アッセンブリを受け入れ、かつこれらと通信するように適応した多数ディスク・アッセンブリを有する取り付け具と、
前記ストーレジ・システムにおけるエラーを検出し、かつ前記アッセンブリにおける動作不能のデータ・ストーレジ装置を認識する共に、前記動作不能のデータ・ストーレジ装置を切り離すように前記少なくとも１つの構造物を構築するコンピュータ・プログラム・コードと
を備えた前記データ・ストーレジ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してデータ・ストーレジ・システムに関し、特にフォールト・トレラント・データ・ストーレジ・システムにおけるストーレジ・コンポーネントの相互接続システム及び方法に関する。
【背景技術】
【０００２】
データ・ストーレジ・システムは、１以上のディスク・ドライブを１以上のディスク・コントローラに接続し、１以上のディスク・コントローラをホスト即ちネットワーク・インターフェースに接続してなるものでよい。例えばディスク・ドライブ、コントローラ、コネクタ及びワイヤリングのようなストーレジ・システムの各コンポーネントは、システムにおける潜在的な故障箇所である。例えばパーソナル・コンピュータのように、いくつかのシステムは、コントローラ、バス又はコネクタが故障した場合に、データに対するアクセス不能となる恐れがある。データに対するアクセスは、故障したコンポーネントを修理若しくは交換する、又はディスク・ドライブを他のシステムにインストールしてデータをアクセスしなければならないことがある。ディスク・ドライブの故障は、通常、記憶データの損失に至る。大規模のストーレジ・システムは、ドライブ故障の場合にデータを損失しないように、複数のドライブにまたがってデータを分配させるＲＡＩＤのような冗長な方法を採用することもできる。ＲＡＩＤシステムにおいて、故障したドライブからのデータは、ミラー・ドライブからコピーされてもよく、又は動作しているドライブ上のデータ及びパリティ情報から再構築されてもよい。ディスク又はディスク・コントローラの故障後、システムは、故障したコンポーネントを交換又は修理するまで、低下したパフォーマンス条件により動作することがしばしばある。バスの故障は、データをアクセスするために、ドライブを取り外し、かつ他の取り付け具即ちシステムにドライブをインストールしなければならないことがある。
【０００３】
フォールト・トレランスのレベル、ストーレジ容量、動作寿命及びデータの使用可能性(data availability)は、ストーレジ・システムの価値に対する重要な決定要因である。フォールト・トレランスは、データの完全さ及びデータ・アクセスを維持している間に発生するディスク、コントローラ、及びバスの故障回数（順次的及び同時）に関連して表されてもよい。ストーレジ容量は、ディスク・ドライブ、各ドライブの容量、及び使用したデータ符号化方法の数を反映している。ドライブ数が増加すれば、相互接続数及び故障の可能性は増加する。ストーレジ・システムの動作寿命は、コンポーネントの寿命、及びシステムのフォールト・トレランス・レベルに反映される。予備ディスク・ドライブは、ディスク・ドライブの故障後に、システムの動作を拡張するためにコピーされた、又は再構築されたデータをストアするために採用されてもよい。データの使用可能性は、データ転送速度、フォールト・トレランス、及び１以上のコンポーネント故障後におけるシステム・パフォーマンスの観点から表されてもよい。
【０００４】
ストーレジ・システムの商業的な実行可能性は、フォールト・トレランスの所望レベル、ストーレジ容量、動作寿命及びデータの使用可能性を得るために設計者により実行された構成上の決定及びコンポーネントの選択を反映している。非常に長いＭＴＢＦ（mean time between failure：平均故障間隔）率を有するコンポーネントは、システム・コストに逆効果となる恐れがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の実施例は、データ・ストーレジ・システムにおけるフォールト・トレランスを提供し、かつ単一点の故障を除去するために採用可能な冗長ストーレジ・システム構成及び分離方法を提供する。
【課題を解決するための手段】
【０００６】
従って、本発明の実施例は、内部に配置され、複数の信号を提供し、かつ複数のデータ・ストーレジ装置の各データ・ストーレジ用に少なくとも１独立信号を有する少なくとも１コネクタを有する複数のデータ・ストーレジ装置を含む多数のディスク・アッセンブリと、少なくとも１コネクタと係合する取り付けコネクタを有するアッセンブリを受け入れるようにされた多数のディスク・アッセンブリ・レセプタクルと、少なくとも１ディスク・コントローラと、構造物(fabric)が第１の構成にあるときはディスク・コントローラに複数のデータ・ストーレジ装置の各データ・ストーレジ装置に関する少なくとも１独立信号を選択的に接続することができ、かつ構造物が他の構成にあるときは少なくとも１独立信号を選択的に切り離すことができるように構成可能な少なくとも１構造物とを備えたデータ・ストーレジ・システムを含むものでもよい。
【０００７】
更に、本発明の実施例は、ディスク・アッセンブリに配置された複数のデータ・ストーレジ装置と、ディスク・アッセンブリからの信号をディスク・アッセンブリを受け入れるようにされた取り付け具に通信するコネクタと、ディスク・アッセンブリに配置され、コネクタの少なくとも１信号に対して複数のデータ・ストーレジ装置のうちの少なくとも１データ・ストーレジ装置を選択的に接続し、かつ切り離すように構築可能にコネクタと通信する構造物とを有する多数のディスク・アッセンブリを更に備えていてもよい。
【０００８】
更に、本発明の実施例は、少なくとも２対のデータ・ストーレジ装置を有するアッセンブリに配置された複数対として配列された複数のデータ・ストーレジ装置と、複数のデータ・ストーレジ装置のうちの各データ・ストーレジ装置に関する少なくとも１独立信号のために外部通信を提供するコネクタとを備えた取り外し可能なデータ・ストーレジ・アッセンブリを更に備えていてもよい。
【０００９】
更に、本発明の実施例は、複数のデュアル・ポート式データ・ストーレジを含み、かつ少なくとも２独立信号を取り付け具へ通信する少なくとも１コネクタを有し、かつ複数のデータ・ストーレジ装置の各データ・ストーレジ装置の第１ポートを少なくとも２つの独立信号のうちの第１の信号へ接続するように構築可能な第１の構造物を有し、かつ前記データ・ストーレジ装置の各データ・ストーレジ装置の第２ポートを少なくとも２つの独立信号の第２の信号へ接続するように構築可能な第２の構造物を有する多数のディスク・アッセンブリと、少なくとも１コネクタを係合する取り付けコネクタを有するアッセンブリを受け入れるようにされた多数のディスク・アッセンブリ・レセプタクルと、取り付けコネクタを介して複数のデータ・ストーレジ装置のうちの少なくとも１データ・ストーレジ装置をアクセス可能な少なくとも１ディスク・コントローラとを有するデータ・ストーレジ・システムを更に備えてもよい。
【００１０】
更に、本発明の実施例は、多数のディスク・アッセンブリ・レセプタクル及びアッセンブリに接続された少なくとも１構造物にインストールされた複数のデータ・ストーレジ装置を含む多数のディスク・アッセンブリと、アッセンブリに接続された少なくとも１構造物を有するデータ・ストーレジ・システムを構築する方法を更に備えるることができ、方法は、データ・ストーレジ・システムにおけるエラーを検出し、動作不能であるとしてアッセンブリに含まれている複数のデータ・ストーレジ装置のうちの１データ・ストーレジ装置を認識し、少なくとも１データ・ストーレジ装置を切り離すように少なくとも１構造物を構築する、ステップを備える。
【００１１】
加えて、本発明の実施例は、複数のデータ・ストーレジ装置を含み、かつ複数のデータ・ストーレジ装置の各対のデータ・ストーレジ装置に関する少なくとも１個別信号ラインを提供するコネクタを有する多数のディスク・アッセンブリを有し、ディスク・コントローラ及び内部に配置された構造物を有するホスト・システムに接続された取り付け具を有し、該取り付け具はアッセンブリを受け入れるように適応した多数のディスク・アッセンブリ・レセプタクルを有し、かつそれらの間で信号を通信し、ストーレジ・システムにおけるエラーを検出し、かつアッセンブリにおける動作不能のデータ・ストーレジ装置を認識し、さらに動作不能のデータ・ストーレジ装置を切り離すために構造物を構築するように動作可能なコンピュータ・プログラムを備えたデータ・ストーレジ・システムを備えてもよい。
【００１２】
更に、本発明の実施例は、複数のデータ・ストーレジ装置、及びアッセンブリの外部の信号を通信するコネクタの少なくとも１信号へデータ・ストーレジの各データ・ストーレジ装置を接続及び切り離すように構築可能とされる少なくとも１構造物を含む多数のディスク・アッセンブリと、内部に配置されたディスク・コントローラを有し、かつアッセンブリを受け入れ、かつこれらと通信するように適応した多数のディスク・アッセンブリを有する取り付け具と、ストーレジ・システムにおけるエラーを検出し、かつアッセンブリにおける動作不能のデータ・ストーレジ装置を認識する共に、動作不能のデータ・ストーレジ装置を切り離すように少なくとも１構造物を構築するコンピュータ・プログラム・コードとを備えたデータ・ストーレジ・システムを更に備えてもよい。
【実施例】
【００１３】
本発明の実施例は、冗長なコンポーネント及びデータ・パスと共に、バス又はコンポーネントが故障した後に、データ・アクセスを維持できるようにストーレジ・サブシステム内の故障点の切り離しを提供する。故障は、例えばディスク・ドライブのような動作部分を有するコネクタ及びコンポーネントにおいて最も頻繁に発生する恐れがある。一般的に、集積回路のような電子的なコンポーネントは、コネクタ又はディスク・ドライブよりも低い故障率を示すと思われる。
【００１４】
本発明の実施例は、キャビネット取り付け具にインストールされた単一又は多数のディスク・アレーを採用したシステムと、取り外し可能にインストール可能な多数のディスク・アッセンブリを採用したシステムとを含む異なったストーレジ・アーキテクチャーに適用可能である。多数のディスク・アッセンブリは、異なる内部データ・ストーレジ装置、コンポーネント及び配置を含み得る所定のサイズ、形状及びコネクタ構成を取り外せるようにインストール可能なユニットとして定義される。一実施例において、多数のディスク・アッセンブリは、第１の数の３．５インチ（8.88ミリメートル）ディスクを備えてもよく、同時に他の実施例は、異なる数の２．５インチ（6.35ミリメートル）ディスクを備えてもよい。種々多数のディスク・アッセンブリ実施例は、単一の取り付け具設計にインストールされてもよい。これは、単一の取り付け具（キャビネット、棚等）を使用して種々のストーレジ容量、データ速度及び処理能力のシステムを制作可能にする。多数のディスク・アッセンブリの実施例は、複数のディスク及び複数のコネクタのみを含む複数のユニットから、複数のディスク、１以上の構造物、１以上のディスク・コントローラ、及び１以上のインターフェース・コントローラを備えた複数のユニットまでの範囲で、複合構造に変更してもよい。多数のディスク・アッセンブリの実施例は、例えば同一のコネクタを採用している間に、簡単な複数のストーレジ装置からインテリジェント・コントローラに及ぶ装置を使用可能にさせるファイバ・チャネルのようなインターフェースを採用してもよい。ホスト及び他のシステムにおいて動作するコンピュータ・プログラム・コードは、多数のディスク・アッセンブリの複雑さを反映している。多数のディスク・アッセンブリは、簡単なシステム・アッセンブリを簡単化及びアップグレードしてもよく、かつ無線周波数放射の可能性を低減し得る。多数のディスク・アッセンブリ・レセプタクルは、棚、ラック、エンクロージャ又は他の取り付け具におけるレセプタクルとして定義され、これらには、内部のアーキテクチャー内において変更可能とされる個別的な多数のディスク・アッセンブリを取り外し可能にインストールできる。本発明の実施例は、多数のディスク・アッセンブリを「メンテナンス・フリー」のストーレジ装置と見なし得るストーレジ・システムを形成するために採用されてもよい。多数のディスク・アッセンブリの実施例は、バス、コントローラ及び１以上のドライブまたはそのいずれかが故障した後であっても、ユーザの介入なしに延長期間について動作可能となるように、１以上の予備ドライブ、多数のバス及び予備コントローラ容量を提供し得る。本発明の実施例は、コンポーネント故障後に高いパフォーマンスの動作を得るために十分なレベルのフォールト・トレランスを提供し得る。
【００１５】
図１は、シングル・ポートによるデータ・ストーレジ・システムの構成を示す。システム１００は、ホスト１０２、ディスク・アレー・コントローラ“Ａ”１０４、ディスク・アレー・コントローラ“Ｂ”１０６、バス“Ａ”１０８、バス“Ｂ”１１０、“Ａ”ドライブ・アレー１１２、及び“Ｂ”ドライブ・アレー１１４を備えている。ドライブ・アレーは、互いに５ドライブを有するものとして説明される。“Ａ”ドライブ・アレー１１２及び“Ｂ”ドライブ・アレー１１４は、単一ポートであり、バス“Ａ”１０８又はバス“Ｂ”１１０に対して単一のインターフェースを提供する。ディスク・アレー・コントローラ“Ａ”１０４及びディスク・アレー・コントローラ“Ｂ”１０６は、１以上のバスによりホスト１０２に接続され、かつデュアル・ポート式であり、これらは２つのディスク・ドライブ・バス・インターフェースをそれぞれ提供する。各ドライブ・アレー・コントローラのインターフェースは、コントローラのうちの一方が故障したときに、いずれかのコントローラがバス“Ａ”１０８及びバス“Ｂ”１１０の両者上の通信をサポートできるように、構築される。各アレーにおけるディスク・ドライブ数、及びアレーにおけるドライブのデータ転送速度に従って、システムは、複数のコントローラのうちの一コントローラが故障した後、遅いデータ速度で動作してもよい。バス“Ａ”１０８又はバス“Ｂ”１１０のいずれかの故障、関連するコネクタ、又は接続されているコンポーネントによるバス信号の不良は、バスに取り付けられた配列に記憶されたデータに対するアクセスを完全に禁止する。このようなバス“Ａ”１０８、バス“Ｂ”１１０、及びバスを損なう恐れがある関連のコネクタ及び取り付けコンポーネントは、故障の単独点を表す。記憶データの再生には、バスを修理すること、又はディスク・ドライブを取り外し、取り付け具に機能しているバスをインストールすることが必要である。データの入手可能性の観点から、図１のアーキテクチャーは、コントローラの故障、又はバスに影響しないディスク故障の場合に入手可能性が低下し、かつバス故障、又はバスに影響するディスク又はコントローラの故障の場合にデータの入手可能性を失う恐れがある。
【００１６】
図２は、デュアル・ポート・データ・ストーレジ・システムのアーキテクチャーを示す。システム２００は、ホスト２０２、ディスク・アレー・コントローラ“Ａ”２０４、ディスク・アレー・コントローラ“Ｂ”２０６、バス“Ａ”２０８、バス“Ｂ”２１０、及び“Ｂ”ドライブ・アレー２１２を備えている。“Ｂ”ドライブ・アレー２１２におけるディスクは、デュアル・ポート式であり、それぞれバス“Ａ”２０８及びバス“Ｂ”２１０に単一インターフェースを提供するデュアル・ポートを提供する。ディスク・アレー・コントローラ“Ａ”２０４及びディスク・アレー・コントローラ“Ｂ”２０６は、少なくとも１バスにより、かつ好ましい実施例においては、少なくとも２つのバスにより、ホスト２０２に接続されている。ディスク・アレー・コントローラ“Ａ”２０４及びディスク・アレー・コントローラ“Ｂ”２０６は、デュアル・ポート式であり、それぞれ２つのディスク・ドライブ・バス・インターフェースを提供する。各ドライブ・アレー・コントローラのインターフェースは、バス“Ａ”２０８及びバス“Ｂ”２１０の両者における通信をサポートできるように構築されており、コントローラのうちのいずれか一方が故障したときに、連続動作を提供する。“Ｂ”ドライブ・アレー２１２のデュアル・ポートの特性は、アレーにおける使用可能性がいずれかのドライブ・アレー・コントローラと通信可能にすることである。バス又はコントローラが故障した場合でも、システムはデータ・アクセスを提供し続ける。アクセスは転送速度及びアレーにおけるドライブ数に従って速度が低下する恐れがある。図２に示すアーキテクチャーは、図１のシステムと比較すると、バスの故障後に継続したデータ使用可能性を維持する利点があるが、しかしデュアル・ポート・ディスク・ドライブを使用することによるコストの増加がある。図１及び図２のアーキテクチャーは、例えば、ＳＣＳＩ、直列ＳＣＳＩ、直列ＡＴＡ、又は光ファイバ・チャネルのような並列又は直列バス・インターフェースを使用してシステムを表すことができる。
【００１７】
図３は、ループ・ストーレジ・システムの構成を示す。システム３００は、ホスト３０２、ドライブ・アレー・コントローラ３０４、バス３０６、及びドライブ・アレー３０８を備えている。ドライブ・アレー・コントローラ３０４は、１以上のバスによりホスト３０２に接続されている。バス３０６は、ドライブ・アレー・コントローラ３０４、及びループにおけるドライブ・アレー３０８の各ドライブを直列に相互接続している。ドライブ・アレー・コントローラ３０４及びドライブ・アレー３０８は、バス３０６のループを形成するように入力ポート及び出力ポートを接続している。図３のシステムは、ディスク故障が発生したときに動作を継続することができ、バスの動作に影響しない。バス、コントローラの故障、又はバスの動作を中断させるディスク故障は、データの使用可能性の損失に帰結し、データをアクセスするためにバス、コントローラ又はディスク・ドライブの修理、又は他の取り付け具にドライブのインストールを必要とする。
【００１８】
図４は、交換式のシングル・ポートによるディスク・ドライブを採用したストーレジ・システムの構成を示す。システム４００は、ホスト４０２、ディスク・コントローラ“Ａ”４０４、ディスク・コントローラ“Ｂ”４０６、スイッチ・コントロール４０８、バス“Ａ”４１０、バス“Ｂ”４１２、ディスク・ドライブ４１４〜４２２及びスイッチング装置４２４〜４３２を備えている。ディスク・コントローラ“Ａ”４０４及びディスク・コントローラ“Ｂ”４０６は、１以上のバスによりホスト４０２に接続されており、かつそれぞれ２ディスク・ドライブ・バスを提供するデュアル・ポート式である。バス“Ａ”４１０及びバス“Ｂ”４１２は、ディスク・コントローラ“Ａ”４０４及びディスク・コントローラ“Ｂ”４０６の両者に接続されている。他の実施例（図示なし）において、第１のディスク・コントローラがバス“Ａ”４１０を備え、かつ第２のディスク・コントローラがバス“Ｂ”４１２を備えた２つのシングル・ポート・ディスク・コントローラを使用してもよい。スイッチング装置４２４〜４３２は、スイッチ・コントロール４０８により制御され、かつバス“Ａ”４１０又はバス“Ｂ”４１２にディスク・ドライブ４１４〜４２２を従属接続している。スイッチング装置４２４〜４３２は、クロス・ポイント・スイッチを含むが、限定されることなく、任意形式のスイッチング装置、ポート・マルチプレクサ等であってもよい。スイッチ・コントロールは、スイッチング装置４２４〜４３２をホスト４０２に接続する１以上のバスを設けてもよく、かつＩ２Ｃバス、ＲＳＣ２３２、又は他の直列又は並列バスを設けてもよい。代わって、スイッチング装置は、ディスク・コントローラ“Ａ”４０４、ディスク・コントローラ“Ｂ”４０６、又は両者により制御されてもよい。他の実施例おいて、スイッチ・コントロールは、バス“Ａ”４１０及びバス“Ｂ”４１２またはそのいずれかを採用してもよい。従って、スイッチング装置は、ホスト４０２により、バス“Ａ”４１０又はバス“Ｂ”４１２を介してホスト４０２により直接制御されてもよく、バス“Ａ”４１０又はバス“Ｂ”４１２により制御されてもよい。図４のアーキテクチャーは、多数のディスク及び図示よりもスイッチング装置を採用してもよい。図４の構成は、図示よりも多数のディスク及びスイッチング装置を採用してもよい。
【００１９】
スイッチング装置は、各ドライブがバス“Ａ”４１０又はバス“Ｂ”４１２のいずれかを採用するように、各ドライブに対して個別的に構築され得る。これによって、バス故障の場合に通信を維持可能にし、かつバス間で負荷を平衡可能にする。図４の構成は、バス、ディスク又はコントローラ故障の場合に連続した動作を提供する。更に、スイッチング装置４２４〜４３２は、両者のバスからディスク・ドライブを切り離し可能にする。ディスク故障、又はバスの動作を不良にするディスク故障の場合に、関連したスイッチング装置は、ドライブを両者のバスから切り離すように構築されてもよい。図４に示すスイッチング方法は、各ドライブの各ポートを選択的にバス“Ａ”４１０、バス“Ｂ”４１２に接続できる、又は両者のバスから切り離せるデュアル・ポート式ドライブに適用されてもよい。代わって、第３のバスは、バス故障の場合に更に高い転送速度を提供するように採用されてもよい。
【００２０】
図５は、交換式のシングル・ポートによるディスク・ドライブを採用したストーレジ・システムの構成を示す。システム５００は、ホスト５０２、ディスク・コントローラ“Ａ”５０４、ディスク・コントローラ“Ｂ”５０６、ディスク・コントローラ“Ｃ”５０８、スイッチ・コントロール５１０、バス“Ａ”５２０、バス“Ｂ”５２２、バス“Ｃ”５２４、及びドライブ／スイッチング・ユニット５１２から始まり、ドライブ／スイッチング・ユニット５２６で終わる複数のドライブ／スイッチング・ユニットを備えている。これらの実施例は、特定数のドライブ／スイッチング・ユニットに限定されない。ドライブ／スイッチング・ユニット５１２は、デュアル・ポート式ドライブ５１４、デュアル・ポート式ドライブ５１４の第１ポートに接続された第１のスイッチング装置５１６、及びデュアル・ポート式ドライブ５１４の第２ポートに接続された第２のスイッチング装置５１８を備えている。ストーレジ装置５１６は、ドライブ５１４の第１ポートをバス“Ａ５２０”、バス“Ｂ”５２２又はバス“Ｃ”５２４に接続可能にする。同様に、スイッチング装置５１８は、ドライブ５１４の第１ポートをバス“Ａ”５２０、バス“Ｂ”５２２又はバス“Ｃ”５２４に接続可能にしている。これらのスイッチング装置は、制御ロジック、例えば１２Ｃのようなバス・インターフェース、又はホスト５０２を各スイッチング装置の機能を制御可能にする他の回路のであってもよいスイッチ・コントロール５１０を介して制御される。代わって、スイッチ・コントロール５１０は、１以上のディスク・コントローラ、又は１以上のバスに接続されてもよい。ディスク・コントローラ“Ａ”５０４、ディスク・コントローラ“Ｂ”５０６及びディスク・コントローラ“Ｃ”５０８は、１以上のバスによりホスト５０２に接続され、かつそれぞれ２つのディスク・ドライブ・バスを提供するデュアル・ポート式である。バス“Ａ”５２０〜５２４は、バスを動作不良にする１ディスク・コントローラの故障の場合に、全てのバスが可動状態に留まるようにして、ディスク・コントローラ“Ａ”５０４〜５０８のうちの異なるディスク・コントローラの２つのポートにそれぞれ接続される。図５の構成の他の実施例おいて、各ディスク・ドライブの第１ポートに接続されたスイッチング装置は、第１のスイッチ・コントロールにより制御され、かつ各ドライブの第２ポートに接続されたスイッチング装置は、第２のスイッチ・コントロールに接続される。第１及び第２のスイッチ・コントロールは、ホストにより直接制御可能とされ、スイッチ・コントロールに接続された１以上のディスク・コントローラを介してホストにより制御可能とされ、又は１以上のディスク・コントローラにより接続可能とされる。スイッチング装置は、複数のバスのうちの一バスに対して複数のドライブ・ポート接続するように採用されてもよく、又は全てのバスからポートを分離するために採用されてもよい。スイッチング装置は、スイッチング、マルチプレクサ、ポート・コントローラ、クロス・ポイント・スイッチ、構造物等を含む前述の機能を提供するように構築可能な任意の装置を備えてもよい。
【００２１】
図５の構成は、１以上のディスク・コントローラの故障後に、システム動作を継続可能にする。加えて、図５の構成は、パフォーマンスを最適化するためにデータ負荷を複数のディスク・コントローラ間に分散可能にする。ディスク・ドライブ数と、ディスク・ドライブ、バス及びディスク・コントローラのデータ速度とに従って、図５の構成は、ディスク・ドライブ、バス又はディスク・コントローラの故障後の近最適パフォーマンス(near optimum performance)を提供することができる。従って、以上の構成は、ディスク・コントローラのバスの故障後に継続して高いパフォーマンスが望ましいシステムに採用されてもよい。
【００２２】
図６は、ループ・バイパス・ストーレジ・システムの構成を示す。システム６００は、ホスト６０２、ディスク・コントローラ６０４、スイッチ・コントロール６０６、ドライブ６０８〜６１６、スイッチング装置６１８〜６２６及びバス６３０を備えている。ディスク・コントローラ６０４は、１以上のバスによりホスト６０２に接続されている。バス６３０は、それぞれ関連するドライブをバス６３０に直列接続するか、又はドライブをバイパスするスイッチング装置６１８〜６２６の各スイッチング装置に、ディスク・コントローラ６０４を直列接続する。全てのスイッチング装置がイネーブルされると、全てのドライブが直列接続される。これらのスイッチング装置は、スイッチ・コントロール６０６を介してホスト６０２により、又はディスク・コントローラ６０４により制御され得る。図６に示す構成は、ディスク故障、又はバス動作に影響するディスク故障の場合に、故障したドライブがバイパスされ得る、又はシステムが動作し続けられるように、ディスク接続を個別的にバイパス可能にする。スイッチング装置６１８〜６２６は、複数のディスクを直列接続又はバイパスできる任意形式のものでよい。スイッチング装置６１８〜６２６及びスイッチ・コントロール６０６は、単一ユニットとして実施されてもよい。スイッチング装置６１８〜６２６及びスイッチ・コントロール６０６は、ポート・バイパス・コントローラを備えてもよい。
【００２３】
ループ・バイパス方法は、１以上のドライブを切り離すために採用されてもよい。１以上のドライブは、ポート・バイパス・コントローラの各ポートに接続されてもよい。図７は、各バイパス・コントローラ・ポートに接続された２つのドライブを有するループ・バイパス・ストーレジ・システムを示す。システム７００は、ホスト７０２、ディスク・コントローラ７０４、ディスク・ドライブ７０６〜７２４、・バイパス・コントローラ７２６及びバス７２８を備えている。これらのドライブは、ドライブ７０６、７０８がポート・バイパス・コントローラ７２６の第１ポートに接続され、ドライブ７１０、７１２が第２ポートに接続され、ドライブ７１４、７１６が第２ポートに接続され、ドライブ７１８、７２０が更に他のポートに接続され、かつドライブ７２２、７２４が更に他のポートに接続されるように、複数対に配列される。バス７２８は、ディスク・コントローラ７０４をポート・バイパス・コントローラ７２６に接続する。他の実施例おいて、２つのバスは、バス故障の場合に、冗長性を提供するように、ディスク・コントローラ及びポート・バイパス・コントローラを接続してもよい。任意又はポート・バイパス・コントローラ７２６のポートは、ドライブ故障、又はバスを不良にするドライブ故障の場合に切り離せるように、信号が接続された２つのドライブを介してポートに転送可能に、又はポートをバイパス可能にさせるように構築されてもよい。図７はポート・バイパス・コントローラ７２６の各ポートに接続された２つのドライブを示しているが、本発明の範囲内で２つ以上のドライブが接続されてもよい。図７はポート・バイパス・コントローラを採用しているが、説明した機能を発生する任意の装置及び構成を採用してもよい。
【００２４】
ループ・バイパス構成は、各ドライブがデュアル・ポート式である場合に、各ポートに接続される複数のドライブを採用することができる。図８は、各ポートに接続された２つのデュアル・ポート式ドライブを有するループ・バイパス・システムを示す。システム８００は、ホスト８０２、ディスク・コントローラ８０４、ディスク・コントローラ８０６、ポート・バイパス・コントローラ８０８、バス８１０、ポート・バイパス・コントローラ８１２、バス８１４及びディスク・ドライブ８１６〜８２４を備えている。ディスク・コントローラ８０４及びディスク・コントローラ８０６は、１以上のバスを介してホスト８０２にそれぞれ接続されている。ディスク・コントローラ８０４は、バス８１０を介してポート・バイパス・コントローラ８０８に接続されている。ディスク・コントローラ８０６は、バスｂを介してポート・バイパス・コントローラ８１２に接続されている。他の実施例おいて、１以上のバスは、ディスク・コントローラ８０４をポート・バイパス・コントローラ８０８に接続してもよく、かつ１以上のバスは、ディスク・コントローラ８０６をポート・バイパス・コントローラ８１２に接続してもよい。他の実施例おいて、各ディスク・コントローラは、両ポート・バイパス・コントローラを接続してもよい。ディスク・ドライブ８１６〜８２４は、デュアル・ポート式であり、かつ各ドライブがポート・バイパス・コントローラ８０８に接続された第１ポートを有し、かつポート・バイパス・コントローラ８１２に接続された第２ポートを有する。従って、各ディスク・ドライブは、第１ポートにおけるバス８１０、又はドライブの第２ポート上のバス８１４、又は両方のバスにより形成されたループに接続するように個別的に構築されてもよい。ディスク故障、又はバス信号を損なうディスク故障の場合には、ポート・バイパス・コントローラ８０８、又はポート・バイパス・コントローラ８１２の構成、又は両ポート・バイパス・コントローラの構成によってドライブを切り離してもよい。ディスク・コントローラ、バス故障、コネクタ故障、又はポート・バイパス・コントローラの故障の場合には、機能しているディスク・コントローラ、バス又はポート・バイパス・コントローラを使用してドライバからデータをアクセスしてもよい。
【００２５】
２つ以上のデュアル・ポート式であるディスク・ドライブは、ポート・バイパス・コントローラの各ポートに接続されもよい。図９は、ポート・バイパス・コントローラに接続された２つのデュアル・ポート装置を有するループ・バイパス・ストーレジ・システムを示す。システム９００は、ホスト９０２、ディスク・コントローラ９０４、バス９０６、ポート・バイパス・コントローラ９０８、ディスク・ドライブ９１０〜９２８、ディスク・コントローラ９３０、バス９３２、及びポート・バイパス・コントローラ９３４を備えている。ディスク・コントローラ９０４及びディスク・コントローラ９３０は、１以上のバスによりホスト９０２に接続されている。ディスク・コントローラ９０４は、バス９０６を介してポート・バイパス・コントローラ９３４に接続されている。ディスク・コントローラ９３０は、バス９３２を介してポート・バイパス・コントローラ９３４に接続されている。ディスク・ドライブ９１０〜９２８は、デュアル・ポート式であり、かつ各ドライバは、ポート・バイパス・コントローラ９０８に接続された第１ポート、及びポート・バイパス・コントローラ９３４に接続された第２ポートを有する。他の実施例おいて、ディスク・コントローラ９０４は、更にポート・バイパス・コントローラ９３４に接続されており、かつディスク・コントローラ９３０もポート・バイパス・コントローラ９０８に接続されている。ポート・バイパス・コントローラ９０８及び９３４は、ディスク・ドライブ・ポートに対する接続を確立するように、又はディスク・ドライブに対する接続をバイパスするように個別的に構築可能であり、ディスク故障又はポート接続を損なう故障の場合に各ドライブを切り離せるようにしている。ディスク・ドライブはデュアル・ポート式であり、かつ２つのポート・バイパス・コントローラを採用しているので、ディスク・コントローラ故障の場合に、図９のシステムは連続した動作が得られる。
【００２６】
図１０は、多数パスの冗長ストーレジ・システムを示す。システム１０００は、ホスト１００２、ホスト・バス“Ａ”１００４、ホスト・バス“Ｂ”１００６、ディスク・コントローラ“Ａ”１００８、ディスク・コントローラ”Ｂ”１０１０、構造物・バス“Ａ”１０１２、構造物・バス“Ｂ”１０１４、構造物“Ａ”１０１６、構造物“Ｂ”１０１８、及びディスク・ドライブ１０２０〜１０２８を備えている。ディスク・コントローラ“Ａ”１００８、及びディスク・コントローラ“Ｂ”１０１０は、ホスト・バス“Ａ”１００４及びホスト・バス“Ｂ”１００６によりホスト１００２に共に接続されている。ディスク・ドライブ１０２０〜１０２８は、構造物“Ａ”１０１６に接続された第１ポート及び構造物“Ｂ”１０１８に接続された第２ポートによりそれぞれデュアル・ポート式である。構造物“Ａ”１０１６及び構造物“Ｂ”１０１８は、ファイバ・チャネル構造物、スイッチ、マルチプレクサ、クロス・ポイント・スイッチ等を含む任意かつ全てのスイッチ形式及びスイッチング方法を含むものであってもよい。構造物はアドレス・マップド制御(address mapped control)を有してもよく、かつディスク・コントローラ“Ａ”１００８又はディスク・コントローラ“Ｂ”１０１０を介してホスト１００２により制御されてもよい。代わって、個別的なバス、又は例えばＩ２Ｃのような複数のバス（図示なし）は、ホスト１００２から構造物“Ａ”１０１６及び構造物“Ｂ”１０１８へ制御及び構成情報を転送させてもよい。更に、構造物“Ａ”１０１６及び構造物“Ｂ”１０１８は、ディスク・コントローラ“Ａ”１００８及びディスク・コントローラ“Ｂ”１０１０またはそのいずれかにより全体的にも部分的に制御及び構築されてもよい。構成及び制御タスクは、ホスト１００２とディスク・コントローラ“Ａ”１００８及びディスク・コントローラ“Ｂ”１０１０またはそのいずれかとの間で共有されてもよい。
【００２７】
図１１は、他の多数パスの冗長ストーレジ・システムを示す。システム１０００は、システム・インターフェース１１０２、システム・バス“Ａ”１１０４、システム・バス“Ｂ”１１０６、インターフェース・コントローラ“Ａ”１１０８、インターフェース・コントローラ“Ｂ”１１１０、インターフェース・バス“Ａ”１１１２、インターフェース・バス“Ｂ”１１１４、ディスク・コントローラ“Ａ”１１１６、ディスク・コントローラ“Ｂ”１１１８、構造物バス“Ａ”１１２０、構造物バス“Ｂ”１１２２、構造物“Ａ”１１２４、構造物“Ｂ”１１２６、構造物制御バス“Ａ”１１２８、構造物制御バス“Ｂ”１１３０、及びドライブ・グループ１１３２〜１１４０を備えている。インターフェース・コントローラ“Ａ”１１０８及びインターフェース・コントローラ“Ｂ”１１１０は、システム・バス“Ａ”１１０４及びシステム・バス“Ｂ”１１０６に接続する。２つのシステム・バスは、冗長な通信パスを含み、複数のシステム・バスのうちの一システム・バスが故障した場合に、両インターフェース・コントローラと連続した通信を可能にする。インターフェース・コントローラ“Ａ”１１０８及びインターフェース・コントローラ“Ｂ”１１１０は、インターフェース・バス“Ａ”１１１２及びインターフェース・バス“Ｂ”１１１４を介してディスク・コントローラ“Ａ”１１１６及びディスク・コントローラ“Ｂ”１１１８に接続されており、複数のインターフェース・バスのうちの一インターフェース・バスが故障した場合に、いずれかのインターフェース・コントローラと、いずれかのディスク・コントローラとの間で連続した通信を可能にさせる。ディスク・コントローラ“Ａ”１１１６及びディスク・コントローラ“Ｂ”１１１８は、構造物バス“Ａ”１１２０及び“Ａ”ドライブ・アレー１１２２を介して構造物“Ａ”１１２４及び構造物“Ｂ”１１２６に接続され、複数の構造物バスのうちの一構造物バスが故障した場合に、いずれかの構造物コントローラと、いずれかの構造物との間で連続した通信を提供する。構造物制御バス“Ａ”１１２８及び構造物制御バス“Ｂ”１１３０は、インターフェース・コントローラ“Ａ”１１０８からインターフェース・コントローラ“Ｂ”１１１０から“Ａ”ドライブ・アレー１１２４及び構造物“Ｂ”１１２６へ冗長な制御パスを設け、かついずれかの構造物制御バスが故障した場合に、いずれかのインターフェース・コントローラによりいずれかの構造物の構築を可能にする。構造物“Ａ”１１２４は、個別的な接続によりドライブ・グループ１１３２〜１１４０の各ドライブ・グループに接続される。ドライブ・グループにおけるドライブは、デュアル・ポート式である。構造物“Ｂ”１１２６は個別的な接続によりドライブ・グループ１１３２〜１１４０における各グループに接続されている。構造物“Ａ”１１２４は、デュアル・ポート式ドライブ、又は各ドライブ・グループを備えた複数のドライブのうちの第１ポートに接続され、かつ“Ｂ”ドライブ・アレー１１２６は、デュアル・ポート式ドライブ、又は各ドライブ・グループを備えた複数のドライブのうちの第２ポートに接続される。システム・バス、インターフェース・バス、構造物バス、構造物制御バス、及びドライブ・グループ接続の双対性は、システムにおけるあらゆるデータ・パスに対して独立性又は冗長パスを提供する。バスの双対性に関連したインターフェース・コントローラ、ディスク・コントローラ、及び構造物の双対性は、インターフェース・コントローラが故障した場合に、連続した動作が得られる。従って、図１１に示したシステムは、バス、コントローラ又は構造物に関して単一点の故障は存在しない。
【００２８】
バス、コネクタ、ディスク・ドライブ、構造物及びコントローラに加えて、隔離及び冗長方法は、システムがシステムの動作不能になりかねない単一点の故障が存在しないように、ストーレジ・システムにおける電力分配に適用されてもよい。図１２は、冗長な多数パスのストーレジ・システムの電力分配を示す。電力は、コネクタ１２０２を介して供給される。代わって、１以上のコネクタを採用してもよい。コネクタ内でコンタクト・ピン以上が同様電圧を提供してもよく、１本のピンが接続に失敗した、又は所望の以上の抵抗より高い場合に、パスの双対性が得られる。電力バス“Ａ”１２０４は、ローカル・レギュレータ１２０８に電力を供給し、ローカル・レギュレータ１２１２は、オプションとしてローカル・レギュレータ１２１６により示すように、１以上の付加的なローカル・レギュレータに対して電力を供給してもよい。ローカル・レギュレータ１２０８は構造物“Ａ”１２０６に電力を供給する。ローカル・レギュレータ１２１２は構造物“Ｂ”１２１０に電力を供給する。オプションのローカル・レギュレータ１２１６は、ディスク・コントローラ１２１４に電力を供給してもよい。他のローカル・レギュレータ（図示なし）は、付加的なディスク・コントローラ、及びインターフェース・コントローラ、離散的な回路、又は例えば環境モニタのような他の回路に電力を供給してもよい。ローカル・レギュレータは、ディスク・ドライブと比較して比較的に低電力を消費する集積回路のようなコンポーネントに、所望の電圧に調節された電力を供給するように採用されてもよい。冗長なインターフェース・コントローラを有するシステム、ディスク・コントローラ及び構造物は、データをアクセスするために冗長なコンポーネントを採用することができるので、各コンポーネント用にローカル・レギュレータを採用することもでき、単独のレギュレータ故障の場合に連続したシステム動作が得られる。更に、図１２のコネクタ１２０２は、電力バス“Ｂ”１２１８に接続された１本以上のピンを有する。電力バス“Ｂ”１２１８は、電圧レギュレータ１２２０及び１２２２に電力を供給する。レギュレータ１２２０及び１２２２は、いずれかのレギュレータにより電力を供給できるように接続され、かつダイオード又は他のコンポーネントのような切り離し回路を含むものでもよい。代わって、レギュレータ１２２０及び１２２２は、各レギュレータをイネーブル又はディスエーブル状態にすることが可能な入力信号を含むものでもよい。レギュレータは、書き込み可能レジスタ、Ｉ２Ｃバス、又は他の信号線により制御されてもよい。電圧レギュレータ１２２０及び１２２２は、調節電力を制御１２２４、制御１２２８及びオプションとして制御１２３２により表す１以上の付加的な制御に供給される。制御１２２４はディスク・グループ１２２６に対する電力を制御する。制御１２２８はディスク・グループ１２３０に対する電力を制御する。制御１２３２はディスク・グループ１２３４に対する電力を制御する。付加的な制御ユニット（図示なし）は、付加的なディスク・グループ、又は環境モニタ、ファンのような他のコンポーネントに対する電力制御してもよい。制御１２２４、１２２８、１２３２及び他の制御は、スイッチ、ヒューズ、ブレーカ、トランジスタ（電界効果トランジスタ、ＳＣＲ（シリコン制御トランジスタ）又はディスク・グループ若しくは他のコンポーネントに対して選択的に電力を供給するように採用された任意の他の装置を含む）を備えてもよい。制御は、電流及び電圧またはそのいずれの検知を含むものでよく、かつ自動的な方法又は制御信号に応答して動作してもよい。図１２は、電力冗長及び切り離し方法が、レギュレータの故障後に利用可能な状態を維持するように、及び故障したドライブを含むグループにおける１以上のディスク・ドライブに対する電力を遮断してシステムにおける電力を浪費しない又は過度の電力を流すコンポーネントを切り離すように、データ・ストーレジ・システムのコンポーネントに適用可能であること示す。前述のように、故障したドライブ又はディスク・グループからのデータは、予備容量を使用してコピー又は再構築され、かつセーブ可能とされる。従って、本発明の実施例は、データの損失に帰結する単独ポイントの故障がないデータ・ストーレジ・システムを提供することができる。挿入用語構造物は、データ・ストーレジ装置とディスク・コントローラとの間の構築可能な接続を提供することができる任意形式を示し、かつファイバ・チャネル構造物、スイッチ、クロス・ポイント・スイッチ、マルチプレクサ、ポート・バイパス・コントローラ及び他の装置を含まなければならない。構造物は、図に示されたスイッチ、スイッチング装置、又はポート・バイパス・コントローラを置換してもよい。
【００２９】
以上の図は、スイッチ、スイッチング装置、ポート・バイパス・スイッチ及び構造物を含み、データ・ストレージ装置とディスク・コントローラとの間で構築可能な接続を提供した。
【００３０】
本発明の実施例は、複数のスイッチング装置を備え、かつ単一ユニットとしてキャビネット又は他の取り付け具から挿入又は取り外される多数のディスク・アッセンブリ（ＭＤＡ）に都合良く採用可能とされる。ＭＤＡは、スイッチング装置を含むことができ、スイッチング装置及び構造物を含むことができ、スイッチング装置、構造物及びディスク・コントローラを含むことができ、又はデータ・ストーレジ装置、構造物及びディスク・コントローラを含むことができ、又はデータ・ストーレジ装置、構造物、ディスク・コントローラ及びインターフェース・コントローラを含むことができる。換言すれば、図により例示された本発明の実施例は、ＭＤＡに配置されたコンポーネントと、キャビネット、棚又は他の取り付け具に配置されるコンポーネントとの間で分割されてもよい。このような分割は、ＭＤＡのサイズ、コネクタ数、インターフェース形式、バス信号の駆動力及び他の要素を反映させることができる。いくつかの実施例において、ＭＤＡは、横方向に搭載されたストーレジ・システムを採用してもよく、そのデバイスは、少なくとも１ストーレジ装置本体の最長軸がＭＤＡをキャビネット、棚又は他の取り付け具に挿入する方向に対して直交して搭載される。これらの実施例は、例えばディスク・ドライブのようなストーレジ装置のコネクタがバックプレーン上に配置されたコネクタと直接係合できるようにして、中間のコネクタ、ケーブル等、及び中間接続によりもたらされる故障の可能性がある追加ポイントをなくす。
【００３１】
ホスト・システム及び１以上のインターフェース・コントローラ、またはそのいずれか、さらに１以上のディスク・コントローラにおいて動作するコンピュータ・プログラム・コードは、本発明の構造物を構築するために採用されてもよい。構造物は、１以上のホスト・コンピュータにおいて動作するコンピュータ・プログラム・コードにより制御されてもよい。このようなプログラム・コードは、パフォーマンス監視及び負荷平衡機能を含むものでもよい。構造物の構築は、例えばトランザクション処理又はビデオ・ストリームのように提供されたサービスを反映させるように、検出された故障の結果として、又は負荷、データ形式、データ・サイズ、データ・ストーレジ・フォーマット、所望の応答時間等を含む他の条件に応答して実行されてもよい。１以上のディスク・コントローラは、複数の構造物を制御してもよい。ディスク・コントローラにおいて動作するコンピュータ・プログラム・コードは、故障又は他の条件に応答して構造物を構築してもよい。複数の構造物の構築は、１以上のホスト・コンピュータと１以上のディスク・コントローラとの間で共有される。前述のように、スイッチ・コントロールは、Ｉ２Ｃのような１以上の制御バスを採用してもよく、１以上のディスク・バス又は両者を採用してもよい。構造物は、１以上のディスク・アレー・バス上の装置としてマッピングされてもよく、かつ１以上の構造物用の制御信号は、ディスク・アレー又はバスを介して搬送されてもよい。いくつかの図は、個別的なスイッチ・コントロール・ブロックを示す。いくつかの実施例おいて、スイッチ・コントロール・ブロックは、一対の構造物であってもよい。
【００３２】
図１３はホスト及びディスク・コントローラまたはそのいずれかにおいて動作するシステム構成コンピュータ・プログラム・コードにより実行されるステップを示す。図１３の処理は、図１０及び図１１に示すようなシステムに適用可能とされる。処理１３００はステップ１３００から開始され、チェックを実行してエラー条件が存在するか否かを判断する。エラー条件は、例えばディスク・ドライブ、ディスク・コントローラ又はホスト・システムにより検出された読み出し又は書き込みエラーのようなエラーを含むものでもよい。ディスク・ドライブによりエラーが検出されたときは、エラーをディスク・コントローラに報告してもよく、かつディスク・コントローラによりチェックされてもよく、及びホスト・システムまたはそのいずれかに転送されてもよい。ディスク・コントローラがエラーを検出したときは、エラーをチェックしてもよく、かつホスト・システムまたはそのいずれかに転送されてもよい。代わって、エラーは、ホスト・システムによって検出されてもよい。ステップ１３０４において、テストを実行してホストがシステム・バス“Ａ”を使用してインターフェース・コントローラ“Ａ”と通信できるか否かを判断してもよい。ステップ１３０６において、テストを実行してホストがシステム・バス“Ｂ”を使用してインターフェース・コントローラ“Ａ”と通信できるか否かを判断してもよい。ステップ１３０８において、テストを実行してホストがシステム・バス“Ａ”を使用してインターフェース・コントローラ“Ｂ”と通信できるか否かを判断してもよい。ステップ１３１０において、テストを実行してホストがシステム・バス“Ａ”を使用してインターフェース・コントローラ“Ｂ”と通信できるか否かを判断してもよい。ステップ１３０４〜１３１０は、システム・バス“Ａ”及びシステム・バス“Ｂ”を使用してインターフェース・コントローラ“Ａ”及びインターフェース・コントローラ“Ｂ”と通信できるか否かを判断する。ステップ１３１２において、ステップ１３０４〜１３１０により検出されたエラーをホスト又は他のシステムに報告する。ステップ１３１４において、例えば報告されたエラーを再点検するようなチェックを実行してホスト又は他のシステムが少なくとも１インターフェース・コントローラと通信することができるか否かを判断する。ホスト又は他のシステムが少なくとも１インターフェース・コントローラと通信できないのであれば、ステップ１３１６において処理を終了する。ホスト又は他のシステムは少なくとも１インターフェース・コントローラと通信することができるとステップ１３１４において実行したチェックが判断したときは、処理をステップ１３１８に継続させ、テストを実行し、ディスク・コントローラ“Ａ”を使用してディスク・コントローラ“Ａ”をアクセスできるか否かを判断する。ステップ１３２０において、テストを実行し、インターフェース・バス“Ｂ”を使用してディスク・コントローラ“Ａ”をアクセスできるか否かを判断する。ステップ１３２２において、テストを実行し、インターフェース・バス“Ａ”を使用してディスク・コントローラ“Ｂ”をアクセスできるか否かを判断する。ステップ１３２４において、テストを実行し、インターフェース・バス“Ｂ”を使用してディスク・コントローラ“Ｂ”をアクセスできるか否かを判断する。ステップ１３２６において、ステップ１３１８〜１３２４により検出されたエラーを報告する。ステップ１３２８において、テスト結果をチェックして少なくとも１ディスク・コントローラをアクセスできるか否かを判断する。どのディスク・コントローラもアクセスできないときは、ステップ１３３０において処理を終了する。少なくとも１ディスク・コントローラをアクセスできるときは、処理がステップ１３３２に行き、テストを実行し、ディスク・コントローラ“Ａ”を使用して構造物“Ａ”をアクセスできるか否かを判断する。ステップ１３３４において、テストを実行し、構造物“Ｂ”を使用して構造物“Ａ”をアクセスできるか否かを判断する。ステップ１３３６において、テストを実行し、構造物“Ａ”を使用して構造物“Ｂ”をアクセスできるか否かを判断する。ステップ１３３８において、テストを実行し、構造物“Ｂ”を使用して構造物“Ｂ”をアクセスできるか否かを判断する。ステップ１３４０において、ステップ１３３２〜１３３８において検出されたエラーを報告する。ステップ１３４２において、テスト結果をチェックして少なくとも１構造物をアクセスできるか否かを判断する。どの構造物もアクセスできないときは、ステップ１３４４において処理を終了する。少なくとも１構造物をアクセスできるときは、処理をステップ１３４６に継続させる。ステップ１３４６において、テストを実行して構造物“Ａ”は取り付けられている全てのドライブをアクセスできるか否かを判断する。このようなテストは、ドライブ・レジスタの読み出し及び書き込みまたはそのいずれか、さらに、ドライブ媒体のデータ読み出し及び書き込みまたはそのいずれかを含むものでもよい。全てのドライブがアクセス不能又は正しく動作しないときは、ステップ１３４８において１以上のドライブを切り離すように構造物“Ａ”を構築し、次に処理をステップ１３５０に継続させる。ステップ１３４６において、テストを実行して全てのドライブがアクセス可能であり、かつ正しく動作すると判断したときは、処理をステップ１３５０に継続させる。ステップ１３５０において、テストを実行して構造物“Ｂ”が取り付けられた全てのドライブをアクセスできるか否かを判断する。いくつかのドライブをアクセスできない、又は正しく動作しないときは、ステップ１３５２において１以上のドライブを切り離すように構造物“Ｂ”を構築し、次に処理をステップ１３５４に継続させる。ステップ１３５４におい、アクセス不能又は故障したドライブからのデータを再構築又はコピーし、かつ他の装置に格納してもよく、又はフォールト・トレランスが得られるように、他のシステムに格納してもよい。入出力コマンドは、再マッピングされて、機能しているインターフェース・コントローラ、ディスク・コントローラ又は構造物を前のテストにより認識されたように利用してもよい。次に、ステップ１３５６において処理を終了する。ステップ１３５０においてテストを実行して全てのドライブがアクセス可能であり、かつ正しく動作すると判断したときは、処理をステップ１３５６に継続させる。ステップ１３５０において、テストを実行して全てのドライブがアクセス可能であり、かつ正しく動作すると判断したときは、ステップ１３５６において処理を終了する。更に、実行したテストの結果は、電力が故障したコンポーネントに供給されないように、例えば図１２に示した電力回路を構築するために採用されてもよい。実行されるテスト、実行されるテストの順序、構造物の構成、データの再構築、及び入出力の再マッピングは、構造物又は複数の構造物のポートに取り付けられたディスク・ドライブの数を含め、ホスト・バスの数、インターフェース・コントローラ、ディスク・コントローラ、構造物の数及び形式、及びディスク・ドライブの数を含むストーレジ・システムの構成に従って変更されてもよい。報告されたエラーの形式は、テスト又はテスト・セットを選択するために使用されてもよい。代わって、報告されたエラーに続き、テストの範囲は、ストーレジ・サブシステムの総合条件を判断するように実行してもよい。種々のシステム・コンポーネントの動作が予め定めた順序により実行されるテストの階層的な順序が存在してもよい。図１３において実行されたテストは、ホスト又は他のシステムにより実行されてもよく、又はストーレジ・サブシステム内のコンポーネントにより実行されてもよい。テストを実行するコンピュータ・プログラム・コードは、システムの個々のコンポーネントに存在してもよく、又は他のシステム又は他のコンポーネントから転送されてもよい。テストは、コンポーネントにおいてセルフ・テストのコンピュータ・プログラム・コードの実行を含むものでもよい。例えば、ディスク・ドライブは、パワー・オンのセルフ・テスト・ルーチンを含むものでもよく、かつこのようなルーチンは、ディスク・ドライブの動作をチェックするために図１３において実行されたテストの一部として実行されてもよい。
【００３３】
本発明の実施例は、ストーレジ・キャビネット、仕切り、棚等のように取り付け具にインストール及び取り外し可能なメンテナンス・フリーの多数のディスク・ストーレジ・アッセンブリを提供するように、採用されてもよい。多数のインターフェース・コントローラ、ディスク・コントローラ、バス及び構造物は、ディスク、ディスク・コントローラ、インターフェース・コントローラ、コネクタ又はバスの故障後の連続動作を可能とする。多数のドライブを有するシステムは、バス又はディスク・コントローラが故障した後、システム・パフォーマンスを高く維持できるように、 図５に示すように、第３のバスを採用してもよい。本発明の精神内でディスク・ドライブの数、ディスク・コントローラ、インターフェース・コントローラ、バス、スイッチング装置の形式及びその制御を含め、開示した実施例の種々の置換が可能である。
【００３４】
以上の説明は、本発明の実施例を説明するためにディスク・ドライブ及びディスク・コントローラを採用して種々の説明をしたものであった。本発明の実施例は、特定数のストーレジ装置に限定されず、かつストーレジ媒体の形式及びバスの形式を含むデータ・ストーレジ装置に限定されない。ディスク・コントローラは、ストーレジ装置からデータをアクセスするために採用された任意形式のコントローラに関連する必要がある。更に、ディスク・コントローラは、ＲＡＩＤ、ＥＣＣ又は他のフォーマットのようなフォールト・トレラント・データ・フォーマット機能を提供してもよい。データ・ストーレジ装置は、限定されることなく、ハード・ディスク、光ドライブ、固体メモリ・デバイス等を含むＲＡＭドライブを含む電気的、磁気的、光学的又は化学的データ・ストーレジ装置を含む任意形式のデータ・ストーレジ装置を備えていてもよく、かつそれらの組み合わせを含むものでもよく、更に揮発性及び不揮発性データ・ストーレジ装置の組み合わせを含むものでもよい。１以上のディスク・コントローラと１以上のストーレジ装置とを相互接続する構造物又は複数の構造物は、複数のディスク・コントローラと複数のスイッチ・コントロールとの間で構築可能な接続を可能にする任意の装置又は複数装置であってもよく、かつインターフェース形式及びデータ・フォーマット変換を含むものでもよい。例えば、構造物は、直列取り付けＳＣＳＩストーレジ装置及びインターフェース信号をコントローラに通信されるファイバ・チャネル信号に変換してもよい。インターフェース・コントローラは、インターフェース形式及びデータ・フォーマット変換を提供してもよく、更に１以上の構造物を構築するようにコンピュータ・プログラム・コードを実行してもよい。
【００３５】
本発明の以上の説明は、図示及び説明を目的として提供された。これは、余すことなく、又は本発明を開示したそのものフォームに制限されることを意図するものではなく、他の変更及び変形は以上の技術に照らして可能である。実施例は、本発明の原理及びその実際的なアプリケーションを最もよく説明するために選択し、説明したものであり、従って当該技術分野に習熟する者が意図した特定の使用に適しているとされる種々の実施例及び種々の変更において、本発明を最もよく利用可能にさせる。添付する請求項は、本発明の他の代替的な実施例を含むと解釈されることを意図している。
【図面の簡単な説明】
【００３６】
【図１】シングル・ポートによるデータ・ストーレジ・システムの構成を示す図。
【図２】デュアル・ポート式データ・ストーレジ・システムの構成を示す図。
【図３】ループ・ストーレジ・システムの構成を示す図。
【図４】交換式のシングル・ポートによるディスク・ドライブを採用したストーレジ・システムの構成を示す図。
【図５】交換式のシングル・ポートによるディスク・ドライブを採用したストーレジ・システムの構成を示す図。
【図６】ループ・バイパス・ストーレジ・システムの実施例を示す図。
【図７】各バイパス・コントローラ・ポートに接続された２ドライブを有するループ・バイパス・ストーレジ・システムを示す図。
【図８】各ポートに接続された２つのデュアル・ポート装置を有するループ・バイパス・ストーレジ・システムを示す図。
【図９】ポート・バイパス・コントローラに接続された２つのデュアル・ポート装置を有するループ・バイパス・ストーレジ・システムを示す図。
【図１０】多数パスの冗長ストーレジ・システムを示す図。
【図１１】他の多数パスの冗長ストーレジ・システムを示す図。
【図１２】多数パスの冗長ストーレジ・システムの電力分配を示す図。
【図１３】ホスト及びディスク・コントローラまたはそのいずれかにおいて動作するシステム構成コンピュータ・プログラム・コードにより実行されるステップを示す図。
【符号の説明】
【００３７】
１００２  ホスト
１００４  ホスト・バス“Ａ”
１００６  ホスト・バス“Ｂ”
１００８  ドライブ・アレー・コントローラＡ
１０１０  ドライブ・アレー・コントローラＢ
１０１２  構造物バス“Ａ”
１０１４  構造物バス“Ｂ”
１０１６、１０１８  構造物
１０２０、１０２２、１０２４、１０２６、１０２８  ドライブ
【図１】
2005293595.tif 000003
【図２】
2005293595.tif 000004
【図３】
2005293595.tif 000005
【図４】
2005293595.tif 000006
【図５】
2005293595.tif 000007
【図６】
2005293595.tif 000008
【図７】
2005293595.tif 000009
【図８】
2005293595.tif 000010
【図９】
2005293595.tif 000011
【図１０】
2005293595.tif 000012
【図１１】
2005293595.tif 000013
【図１２】
2005293595.tif 000014
【図１３】
2005293595.tif 000015