(57)【要約】アクティブストレージユニットおよびアクティブストレージアレイが提供される。アクティブストレージユニットは、プロセッサ、プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、およびアクティブストレージユニットをプログラムするためにプロセッサに通信可能に結合された再構成可能な論理回路を有するアクティブ制御ボードを含む。アクティブストレージユニットは、アクティブ制御ボードに通信可能に結合された複数のストレージデバイスをも含む。【選択図】図４ａ
2017531856.tif 000002
【特許請求の範囲】
【請求項１】
アクティブストレージユニットであって、
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、および前記アクティブストレージユニットをプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボード、ならびに
前記アクティブ制御ボードに通信可能に結合された複数のストレージデバイス、
を含むアクティブストレージユニット。
【請求項２】
前記アクティブ制御ボードは、前記プロセッサに通信可能に結合された、前記ストレージデバイスに格納されたデータのためにキャッシュを提供するように構成された不揮発性メモリモジュールをさらに含む、請求項１に記載のアクティブストレージユニット。
【請求項３】
前記プロセッサは、停電の場合に揮発性データを前記不揮発性メモリモジュールに書き込むように構成される、請求項２に記載のアクティブストレージユニット。
【請求項４】
停電の場合に緊急時電力を前記アクティブストレージユニットに提供するように構成された予備電源をさらに含む、請求項３に記載のアクティブストレージユニット。
【請求項５】
前記不揮発性メモリモジュールは、ソリッドステートドライブを含む、請求項２に記載のアクティブストレージユニット。
【請求項６】
前記アクティブ制御ボードは、オブジェクトおよびファイル転送プロトコルを解釈して前記ストレージデバイスへのまたは前記ストレージデバイスからの現実のデータ転送を実行させるように構成される、請求項１に記載のアクティブストレージユニット。
【請求項７】
前記アクティブ制御ボードは、分散型ファイルシステムソフトウェアを動作させるように構成されたオペレーティングシステムを含む、請求項１に記載のアクティブストレージユニット。
【請求項８】
前記ストレージデバイスは、ハードディスクドライブ（ＨＤＤ）、ハイブリッドＨＤＤ、ソリッドステートドライブ（ＳＳＤ）、およびハイブリッドＳＳＤから成る群のうちの少なくとも１つを含む、請求項１に記載のアクティブストレージユニット。
【請求項９】
前記アクティブ制御ボードは、自身に接続されている少なくとも１つの不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）モジュールを制御するように構成されたＮＶＲＡＭコントローラをさらに含む、請求項１に記載のアクティブストレージユニット。
【請求項１０】
前記アクティブ制御ボードは、前記プロセッサに通信可能に結合されたインターインテグレーテッドサーキット（Ｉ２Ｃ）をさらに含む、請求項１に記載のアクティブストレージユニット。
【請求項１１】
１つ以上のアクティブストレージユニットであって、各アクティブストレージユニットは、
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、および前記アクティブストレージユニットをプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボードと、
前記アクティブ制御ボードに通信可能に結合された複数のストレージデバイスと、を含む、前記１つ以上のアクティブストレージユニット、ならびに
前記１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェース接続し、これにより前記外部デバイスおよび前記１つ以上のアクティブストレージユニットの間で直接にデータ操作を可能にする１つ以上のスイッチ制御ボード、
を含むアクティブストレージアレイ。
【請求項１２】
前記１つ以上のアクティブストレージユニットおよび前記１つ以上のスイッチ制御ボードを受け入れるように構成されたバックプレーンボードをさらに含み、前記１つ以上のアクティブストレージユニットおよび前記１つ以上のスイッチ制御ボードは、前記バックプレーンボードに活線挿抜可能である、請求項１１に記載のアクティブストレージアレイ。
【請求項１３】
それぞれの１つ以上のアクティブストレージユニットおよび前記外部デバイスの間に各々インターフェース接続し、スイッチコントローラモジュールに通信可能に結合されたネットワークスイッチを各々含む複数のスイッチ制御ボードを含む、請求項１１に記載のアクティブストレージアレイ。
【請求項１４】
前記複数のスイッチ制御ボードは、分散型アクティブストレージアレイを形成するために、前記ネットワークスイッチを介して相互に協働するように構成される、請求項１３に記載のアクティブストレージアレイ。
【請求項１５】
前記１つ以上のスイッチ制御ボードは、各々、ネットワークスイッチに通信可能に結合され、前記１つ以上のアクティブ制御ボードの各々に配置された電力スイッチを介して前記１つ以上のアクティブ制御ボードを段階的にパワーオンするように構成されたシャーシ管理プロセッサを含む、請求項１１に記載のアクティブストレージアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してアクティブストレージユニットおよびアレイに関し、排他的にではないが、特に、ストレージサーバおよびレイド（ＲＡＩＤ：ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｉｓｋｓ）コントローラサブシステムの使用を無くするように構成され組み立てられたアクティブストレージユニットおよびアレイに関する。
【背景技術】
【０００２】
在来のデータセンタは、ふつう、インテリジェントな能力をほとんどあるいはまったく持たないストレージデバイスまたはボリュームを使用する。これらのストレージデバイスまたはボリュームは、能力のないデバイスとみなされ、簡単な読み出し／書き込み機能を実行し得るに過ぎない。これらをデータセンタで拡張可能に使用するためには、通例、ブロックベースのストレージデバイスを抽象化するためにストレージサーバにおいてシステムソフトウェアの積み重ねが必要とされる。複数のストレージデバイスを種々の論理ボリュームにグループ化し管理するためにＲＡＩＤコントローラも使用される。
【０００３】
図１ａは、在来のストレージアーキテクチャを図示するブロック図を示す。図１ｂは、図１ａのストレージアーキテクチャの典型的動作を図示するフローチャートを示す。ここで、２つのストレージサーバおよび２つのストレージアレイエンクロージャが示されているが、数はデータセンタのニーズに応じて変化し得る。各ストレージアレイエンクロージャは、それぞれのストレージサーバによって制御されるハードディスクドライブ（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）等の複数のストレージデバイスを含む。別の構成では、ストレージエンクロージャは、基礎を成すＨＤＤの論理ボリューム抽象化およびディスク障害の可能性に備えてのデータ保護を提供するためにＲＡＩＤコントローラを包含することができる。通例、ステップ１で、クライアントデバイスはメタデータサーバにデータマップを要求する。ステップ２で、メタデータは、データマップを取り出して、それをクライアントデバイスに送る。ステップ３ａで、クライアントデバイスはデータを第１ストレージサーバに送り、データはブロックに分解される。ステップ４ａ／４ｂ／４ｃ／４ｄで、それらのデータブロックは第１ストレージアレイエンクロージャのストレージデバイスに書き込まれる。幾つかのシステムでは、ステップ３ａと並行して、ステップ３ｂで、クライアントデバイスはデータを第２ストレージサーバに送り、データはやはりブロックに分解される。ステップ５ａ／５ｂ／５ｃ／５ｄで、それらのデータブロックは第２ストレージアレイエンクロージャのストレージデバイスに書き込まれる。
【０００４】
データ管理および処理からデータ記憶を分離する在来のアーキテクチャには、コストおよび拡張性の問題がある。データセンタにあるデータが多ければ多いほど、追加のストレージデバイスを管理しストレージ抽象化を提供するためにより多くのストレージサーバが必要になる。これは、多数のサーバのハードウェア経費に関してのみならずメインテナンスに関してもコストを増大させる。他方では、もしストレージサーバの数が同じままであるとすれば、ストレージノードの同じ量のリソースがより大量のストレージデータを処理しなければならないので、ストレージノードにおけるデータ管理およびパフォーマンスは低下するであろう。従って、システムパフォーマンスおよびコスト管理を均衡させるために、通常、犠牲を払わなければならない。
【０００５】
従って、上記の問題のうちの少なくとも幾つかに対処しようとするストレージアーキテクチャを提供する必要がある。
【発明の概要】
【０００６】
本発明の１つの側面によれば、アクティブストレージユニットが提供され、このアクティブストレージユニットは、
プロセッサ、プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、およびアクティブストレージユニットをプログラムするためにプロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボード、ならびに
アクティブ制御ボードに通信可能に結合された複数のストレージデバイス、
を含む。
【０００７】
アクティブ制御ボードは、さらに、プロセッサに通信可能に結合されてストレージデバイスに格納されたデータのためにキャッシュを提供するように構成された不揮発性メモリモジュールを含むことができる。
【０００８】
プロセッサは、停電の場合に不揮発性メモリモジュールに揮発性データを書き込むように構成され得る。
【０００９】
アクティブストレージユニットは、さらに、停電の場合にアクティブストレージユニットに非常用電力を提供するように構成された予備電源を含むことができる。
【００１０】
不揮発性メモリモジュールはソリッドステートドライブを含むことができる。
【００１１】
アクティブ制御ボードは、オブジェクトおよびファイル転送プロトコルを解釈してストレージデバイスへのまたはストレージデバイスからの現実のデータ転送を実行させるように構成され得る。
【００１２】
アクティブ制御ボードは、分散型ファイルシステムソフトウェアを動作させるように構成されたオペレーティングシステムを含むことができる。
【００１３】
ストレージデバイスは、ハードディスクドライブ（ＨＤＤ）、ハイブリッドＨＤＤ（ｈｙｂｒｉｄ  ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）およびハイブリッドＳＳＤ（ｈｙｂｒｉｄ  ＳＳＤ）から成る群のうちの少なくとも１つを含むことができる。
【００１４】
アクティブ制御ボードは、さらに、自身に接続されている少なくとも１つの不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：ｎｏｎ−ｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）モジュールを制御するように構成されたＮＶＲＡＭコントローラを含むことができる。
【００１５】
アクティブ制御ボードは、さらに、プロセッサに通信可能に結合されたインターインテグレーテッドサーキット（Ｉ２Ｃ：ｉｎｔｅｒ−ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）を含むことができる。
【００１６】
本発明の別の側面によれば、アクティブストレージアレイが提供され、アクティブストレージアレイは、
１つ以上のアクティブストレージユニットであって、
プロセッサ、プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、およびアクティブストレージユニットをプログラムするためにプロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボード、および
アクティブ制御ボードに通信可能に結合された複数のストレージデバイス、
をそれぞれ含む１つ以上のアクティブストレージユニット、ならびに
１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェース接続し、これにより外部デバイスおよび１つ以上のアクティブストレージユニットの間で直接にデータ操作を可能にする１つ以上のスイッチ制御ボード、
を含む。
【００１７】
アクティブストレージアレイは、さらに、１つ以上のアクティブストレージユニットおよび１つ以上のスイッチ制御ボードを受け入れるように構成されたバックプレーンボードを含むことができ、１つ以上のアクティブストレージユニットおよび１つ以上のスイッチ制御ボードはバックプレーンボードに活線挿抜可能である。
【００１８】
アクティブストレージアレイは複数のスイッチ制御ボードを含むことができ、その各々は、それぞれの１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェース接続し、スイッチコントローラモジュールに通信可能に結合されたネットワークスイッチを含む。
【００１９】
複数のスイッチ制御ボードは、分散型アクティブストレージアレイを形成するべく、ネットワークスイッチを介して相互に協働するように構成され得る。
【００２０】
１つ以上のスイッチ制御ボードは、各々、ネットワークスイッチに通信可能に結合され、１つ以上のアクティブ制御ボードの各々に配置された電力スイッチを介して１つ以上のアクティブ制御ボードを段階的にパワーオンするように構成されたシャーシ管理プロセッサを含むことができる。
【００２１】
単なる例として、図面と関連して、次の記述から本発明の実施形態がより良く理解されるとともに当業者にとっては明白であろう。
【図面の簡単な説明】
【００２２】
【図１ａ】在来のストレージアーキテクチャを図示するブロック図を示す。
【図１ｂ】図１ａのストレージアーキテクチャの典型的動作を図示するフローチャートを示す。
【図２】例示的実施形態による分散型アクティブストレージアーキテクチャを図示するブロック図を示す。
【図３ａ】例示的実施形態によるアクティブストレージアレイを図示する論理レベルのブロック図を示す。
【図３ｂ】図３ａのアクティブストレージアレイのハードウェアレベルのブロック図例を示す。
【図３ｃ】図３ａのアクティブストレージアレイの診断動作例を図示するフローチャートを示す。
【図４ａ】例示的実施形態によるアクティブストレージユニットの論理レベルのブロック図を示す。
【図４ｂ】図４ａのアクティブストレージユニットのハードウェアレベルのブロック図例を示す。
【図４ｃ】図４ａのアクティブストレージユニットのプラグアンドプレイ能力を図示するフローチャートを示す。
【図４ｄ】図４ａのアクティブストレージユニットにおけるデータ転送プロセス例を図示するフローチャートを示す。
【図５】例示的実施形態によるスイッチ制御ボードのハードウェアレベルのブロック図を示す。
【図６】例示的実施形態によるバックプレーンボードのハードウェアレベルのブロック図を示す。
【図７】例示的実施形態によるパワーパスボードのハードウェアレベルのブロック図を示す。
【図８】別の例示的実施形態によるアクティブストレージユニットのハードウェアレベルのブロック図を示す。
【図９】別の例示的実施形態によるアクティブストレージユニットのハードウェアレベルのブロック図を示す。
【図１０】別の例示的実施形態によるアクティブストレージユニットのハードウェアレベルのブロック図を示す。
【図１１】別の例示的実施形態によるアクティブストレージユニットのハードウェアレベルのブロック図を示す。
【図１２】さらに別の例示的実施形態によるアクティブストレージユニットのハードウェアレベルのブロック図を示す。
【図１３】例示的実施形態によるアクティブストレージアレイの物理的レイアウトを図示するブロック図を示す。
【発明を実施するための形態】
【００２３】
例示的実施形態は、分散型ファイルシステム（ＤＦＳ：ｄｉｓｔｒｉｂｕｔｅｄ  ｆｉｌｅ  ｓｙｓｔｅｍ）を有するオペレーティングシステム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）、ならびに、取り付けられているストレージデバイスおよび他の同様のインテリジェントストレージシステムを有する分散型ストレージシステムを自己構成する他のシステムおよびアプリケーションソフトウェアを動作させる処理およびメモリリソースを備えたインテリジェントストレージアレイエンクロージャ（ＩＳＡＥ：ｉｎｔｅｌｌｉｇｅｎｔ  ｓｔｏｒａｇｅ  ａｒｒａｙ  ｅｎｃｌｏｓｕｒｅ）システムを提供する。
【００２４】
ストレージアレイエンクロージャ内のハードウェア制御ボードの各々にＤＦＳソフトウェアを動作させるＯＳを組み込むことにより、該例示的実施形態におけるストレージアレイエンクロージャシステムは、接続されたストレージデバイス（ハードディスクドライブ（ＨＤＤ）またはソリッドステートドライブ（ＳＳＤ）、ならびに、ネットワークスイッチを通して到達し得る他の同様のインテリジェントストレージアレイエンクロージャシステムを有する分散型ストレージクラスタを自己構成することができる。アプリケーションおよびサーバは、ストレージサーバを必要とすることなくネットワークスイッチを介してＩＳＡＥに接続されたストレージデバイスへのデータ転送を直接実行することができる。
【００２５】
図２は、例示的実施形態による分散型アクティブストレージアーキテクチャを図示するブロック図を示す。図２を参照すると、該例示的実施形態において各アクティブストレージアレイ（インテリジェントストレージアレイエンクロージャ（ＩＳＡＥ）とも称される）２０６、２０７、２０８、２０９は複数のアクティブストレージユニット（ＡＳＵ：Ａｃｔｉｖｅ  Ｓｔｏｒａｇｅ  Ｕｎｉｔ）２１６、２１７、２１８、２１９および１つ以上のスイッチ制御ボード（ＳＣＢ：Ｓｗｉｔｃｈ  Ｃｏｎｔｒｏｌｌｅｒ  Ｂｏａｒｄ）２１０、２１１、２１２、２１３を含む。ＳＣＢ２１０、２１１、２１２、２１３は、内部の全てのＡＳＵ２１６、２１７、２１８、２１９を互いに接続し、それぞれのＩＳＡＥの中のストレージデバイス２３０にアクセスする外部クライアント２０１、２０２またはメタデータサーバ２０３、２０４のためにコネクションを提供する。これはイーサネット（登録商標）スイッチ２０５により実行することができ、これを通してメタデータサーバ２０３、２０４とのコネクション２２０、２２１、クライアント２０１、２０４、２２４とのコネクション２２２、２２３ならびにＩＳＡＥ２０６、２０７、２０８および２０９とのコネクション２４０〜２４４、２４５〜２４９、２５１〜２５５および２５６〜２６０をもたらすことができる。ＳＣＢ２１０、２１１、２１２、２１３は、コネクション２６１を経由してＡＳＵ２１４、２１６、２１７、２１８、２１９に通信可能に結合される。ストレージデバイス２３０は、ハードディスクドライブ（ＨＤＤ）、ハイブリッドハードディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、ハイブリッドソリッドステートドライブ、または、大記憶容量を有する任意の形の記憶媒体であり得る。各ＡＳＵ２１４は、アクティブ制御ボード（ＡＣＢ：Ａｃｔｉｖｅ  Ｃｏｎｔｒｏｌｌｅｒ  Ｂｏａｒｄ）２１５および複数のストレージデバイス２３０を含む。中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）および不揮発性メモリの急速な進歩に伴って、このような制御ボードは好都合に実装し得る。該制御ボードは、コスト効率性およびエネルギー効率性を目的としてストレージおよびデータ処理機能を得るべく構成される。一実施形態では、各ＡＣＢ２１５は、２つの１０ＧｂＥインターフェースを有する６ユニットの２．５”（インチ）ＨＤＤを駆動し、各ＩＳＡＥは３０ユニットのＡＳＵを含む。これにより１つのＩＳＡＥで合計１８０ユニットのＨＤＤとなる。
【００２６】
このアーキテクチャでは、クライアント２０１、２０２、２２４は、ストレージサーバを必要とせずにインテリジェントストレージアレイエンクロージャシステム２０６、２０７、２０８、２０９へ直接データ転送を行う。インテリジェントＡＣＢ２１５は、オブジェクトおよびファイル転送プロトコルを処理し解釈して、接続されているストレージデバイス２３０へのまたはストレージデバイス２３０からの現実のデータ転送を実行させることを含むストレージサーバに見出されるタスクの多くを実行するとともに、ストレージデバイス２３０を管理するための他のスマートファイルシステムおよびデータ操作機能を可能にするための計算およびメモリリソースを有する。ＡＣＢ２１５は、ＩＳＡＥの中およびスイッチネットワーク内の到達可能な他のＩＳＡＥの中の他のＡＣＢ２１５との分散型ストレージクラスタの構成およびメインテナンスを提供するＤＦＳソフトウェアを含む。ファイルシステムおよび他のシステム機能をＩＳＡＥ２０６、２０７、２０８、２０９の中に配置することによるストレージサーバの除去は、より環境負荷の少ない持続可能なデータセンタを目指して設備費用、エネルギー消費、スペースおよびサーバ保守の低減を伴うストレージリソースの拡張を行うにあたってコスト効率を改善することができる。
【００２７】
図３ａは、例示的実施形態によるアクティブストレージアレイ３００を図示する論理レベルのブロック図を示す。図３ｂは、図３ａのアクティブストレージアレイ３００のハードウェアレベルのブロック図例を示す。
【００２８】
アクティブストレージアレイ３００は、少なくとも１つの、典型的には複数の、アクティブストレージユニット（ＡＳＵ）３９７、３９８、３９４、１つ以上のスイッチ制御ボード（ＳＣＢ）３０１、３０２、複数の電源３３４、３３５、３３６、３３７、１つの予備電源３９５、および複数のファン３４０、３４１を含む。ＡＳＵ３９７、３９８、３９４は活線挿抜可能であり、バックプレーンボード（ＢＰＢ：Ｂａｃｋ  Ｐｌａｎｅ  Ｂｏａｒｄ）３１４上のソケット３１６、３１７に差し込まれる。ＳＣＢ３０１、３０２も活線挿抜可能で、スイッチインターフェースボード（ＳＩＢ：Ｓｗｉｔｃｈ  Ｉｎｔｅｒｆａｃｅ  Ｂｏａｒｄ）３１１のソケット３１２、３１３に差し込まれ、ＳＩＢ３１１はＢＰＢ３１４上のソケット３１５に取り付けられる。電源３３４、３３５、３３６、３３７は、活線挿抜可能であり、それぞれのパワーパスボード（ＰＰＢ：Ｐｏｗｅｒ  Ｐａｔｈ  Ｂｏａｒｄ）３３０、３３１に差し込まれる。ＰＰＢ３３０、３３１はＢＰＢ３１４上のソケット３３２、３３３に取り付けられる。ファン３４０、３４１、３９６は、活線挿抜可能であり、ＢＰＢ３１４上のソケット３３８、３３９に差し込まれる。
【００２９】
ネットワークコネクタ３０５、３０６、３０７、３０８、３８８、３８９は、アクティブストレージアレイ３００を外部ネットワークに接続し、コネクション３４２、３４３、３４４、３４５を介してＳＣＢ３０１、３０２に結合される。コネクタ３０３、３０４、３０９、３１０は、それぞれ、コネクション３４８、３４９、３４６、３４７を介してＳＣＢ３０１、３０２に結合される。コネクタ３０９、３１０は、ＲＪ４５または他の、内部スイッチのためにデバッグチャネルを提供する物理的イーサネットコネクションのコネクタであり得るが、ＲＳ２３２コネクタ３０３、３０４は管理マイクロプロセッサへのアクセスインターフェースを提供する。
【００３０】
各ＡＳＵ３９７、３９８、３９４は、２グループのネットワーク信号、ＡＳＵ３９７についての信号３５８／３６１およびＡＳＵ３９８についての信号３５９／３６２を提供する。１グループのネットワーク信号（ＡＳＵ３９７からの信号３５８、ＡＳＵ３９８からの信号３５９）は、ＢＰＢ３１４およびＳＩＢ３１１を介してＳＣＢ３０１へルーティングされ、他方のグループ（ＡＳＵ３９７からの信号３６１、ＡＳＵ３９８からの信号３６２）は、他方のＳＣＢ３０２へルーティングされる。この実装は、ネットワークルーティング経路にハードウェア冗長性を提供し、あるいはより多くのネットワークコネクションを加える。ＳＣＢの数は、例えばＡＳＵの数およびネットワークコネクションの数に応じて１から複数まで様々であるということが理解されるであろう。コネクション３６４は、ネットワークコネクション、例えば１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／ファイバーチャネル（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）／ＱＳＧＭＩＩ／ＳＧＭＩＩ、を介してＳＣＢ３０１、３０２を互いに接続する。
【００３１】
ＡＳＵ３９７、３９８、３９４は、コネクション３５２、３５３を介して電源３３４、３３５、３３６、３３７および予備電源３９５から電力を受ける。ＳＣＢ３０１、３０２は、コネクション３５０、３５１を介して電源３３４、３３５、３３６、３３７および予備電源３９５から電力を受ける。ファン３４０、３４１、３９６は、コネクション３５４、３５５を介して電源３３４、３３５、３３６、３３７および予備電源３９５から電力を受け、ＳＣＢ３０１、３０２は、コネクション３６９、３７０を介してファン速度を制御する。
【００３２】
パワー信号バス３７１は、電源３３４からのパワー信号バス３８３（これはパワー良好信号を含む）および電源３３５からのパワー信号バス３８４（これはパワー良好信号を含む）、および予備電力信号バス３９９（これはパワー良好信号を含む）をコネクタ３３２を介して管理バス３６５、３６６へ通過させる。パワー信号バス３７２は、電源３３６からのパワー信号バス３８５（これはパワー良好信号を含む）および電源３３７からのパワー信号バス３８６（これはパワー良好信号を含む）、および予備電力信号バス３９９（これはパワー良好信号を含む）をコネクタ３３３を介して管理バス３６５、３６６へ通過させる。図３には、電源３３４、３３５、３３６、３３７およびＰＰＢ３３０、３３１の間のコネクション３７９、３８０、３８１、３８２、予備電源３９５およびＰＰＢ３３０、３３１の間のコネクション３８７、ならびにＰＰＢ３３０、３３１およびソケット３３２、３３３の間のコネクション３５６、３５７も示されている。
【００３３】
図３ｃと関連してさらに詳しく記載されるように、動作中、ＳＣＢ３０１、３０２のうちの１つは、パワーをオンにするＡＣＢ−ＯＮ信号を管理バス３６５、３６６およびＡＳＵ管理バス３６７、３６８を介してＡＳＵ３９７、３９８、３９４へ送出する。ＳＣＢ３０１または３０２は、電源３３４、３３５、３３６、３３７からのピーク電力の要求を低減するためにＡＳＵ３９７、３９８、３９４を段階的にオンにする。
【００３４】
各ＡＳＵ３９７、３９８、３９４は、１つのアクティブ制御ボード（ＡＣＢ）３１８、３１９、１つのストレージインターフェースボード（ＳＩＢ）３２４、３２５および複数のストレージデバイス３２０、３２１、３２２、３２３、３９０、３９１を含む。ストレージデバイス３２０、３２１、３２２、３２３、３９０、３９１は、ハードディスクドライブ（ＨＤＤ）、ハイブリッドハードディスクドライブ（Ｈｙｂｒｉｄ  ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、ハイブリッドソリッドステートドライブ（Ｈｙｂｒｉｄ  ＳＳＤ）、または大記憶容量を有する任意の形の記憶媒体であり得る。ストレージデバイス３２０、３２１、３２２、３２３、３９０、３９１の各々は、ＳＩＢ３２４、３２５上のメディアコネクタ３２６、３２７、３２８、３２９、３９２、３９３に挿入される。ストレージデバイス３２０、３２１、３２２、３２３からのメディア信号３７３、３７４、３７５、３７６は、ＡＣＢ３１８、３１９へルーティングされるコレクションコネクション３７７、３７８へ集成される。記載されるように、ＡＣＢ、ストレージデバイスおよび集成されたコネクションはＡＳＵ３９７、３９８、３９４に含まれる。複数のＡＳＵはＳＣＢ３０１、３０２により結合される。記憶媒体３２０、３２１、３９０、３２２、３２３、３９１は、ＳＣＢ３０１、３０２上のネットワークコネクタ３５８、３５９、３６１、３６２、３６０、３６３を介してアクセスされる。ＡＳＵ３９７、３９８、３９４、ＳＣＢ３０１、３０２および電源３３４、３３５、３３６、３３７は活線挿抜可能である。ＢＰＢ３１４、ＰＰＢ３３０、３３１およびＳＩＢ３１１は、ドッキングならびに全ての信号および電源の引き回しのために使用される。単純で信頼できるストレージアーキテクチャを作るために、データ冗長化および複製がＡＳＵ間でソフトウェアにより実装される。
【００３５】
ＡＳＵ３９７、３９８、３９４の一実施形態は６個の２．５”ＨＤＤを含み、アクティブストレージアレイ３００の一実施形態は３０個のＡＳＵ３９７、３９８、３９４を含む。これは、１つのアクティブストレージアレイについて合計で１８０個の２．５”ＨＤＤを提供する。当業者に理解されるように、１ＡＳＵ当たりのＨＤＤの数および１ストレージアレイ当たりのＡＳＵの数は、変化し得る。
【００３６】
図３ａおよび３ｃと関連して、アクティブストレージアレイ３００の診断動作例を記載する。該例示的実施形態におけるアクティブストレージアレイ３００は、アクティブストレージユニットを段階的にパワーオンするように構成される。例えば、パワーアップ動作中、初めに、ＳＣＢのＣＰＵモジュールは、接続されているＡＳＵからのＡＣＢ−ＩＮ信号を検査する。次に、ＳＣＢのＣＰＵモジュールは、有効なＡＣＢ−ＩＮ信号を有するＡＳＵの１つのグループに、このグループのＡＳＵをパワーオンするためにＡＣＢ＿ＯＮ信号を送出し、このグループのＡＵＳへの電源が良好であるかどうか検査する。その結果が否定的であれば、この検査が反復される。結果が肯定的であれば、ＣＰＵモジュールは、次に、ＡＵＳの次のグループがあるかどうか検査する。ＡＳＵの別のグループがあれば、ＣＰＵモジュールは、パワーオンしてそのグループのＡＳＵのための電源を検査するステップを反復する。有効なＡＣＢ−ＩＮ信号を有するＡＳＵのグループがもはや無ければ、ＣＰＵモジュールは、全てのＡＳＵがパワーアップされていると報告する。
【００３７】
別の自己診断動作において、例えば、アクティブストレージアレイの正常稼働中、ＳＣＢのＣＰＵモジュールは、接続されているＡＳＵからのＡＣＢ−ＩＮ信号を重ねて検査する。非活性化されているＡＣＢ−ＩＮ信号があれば、ＣＰＵモジュールは、その信号を供給しているＡＳＵが取り外されていることを報告する。非活性化されているＡＣＢ−ＩＮ信号が無いか、または報告に成功したならば、ＣＰＵモジュールは、例えばスケジュールされている間隔を置いて、監視を続ける。一方、もし報告が失敗したならば、ＣＰＵモジュールは、エラーをユーザに知らせるためにエラーＬＥＤをオンにする。
【００３８】
図４ａは、例示的実施形態によるアクティブストレージユニット（ＡＳＵ）４００の論理レベルのブロック図を示す。図４ｂは、図４ａのアクティブストレージユニット４００のハードウェアレベルのブロック図例を示す。
【００３９】
ＡＳＵは、複数のストレージドライブに通信可能に結合されたアクティブ制御ボード（ＡＣＢ）を含む。図４ｂに示されているように、該例示的実施形態におけるＡＣＢは、少なくとも１つのメモリコントローラ４０３、４０４、４５６を伴う１つ以上のプロセッサコア４０１、４０２、４５５を有する。メモリコントローラ４０３、４０４、４５６は、コネクション４２９、４３０を介して自身に接続された作業メモリモジュール４０５、４０６を有する。ＡＣＢは、コネクション４３３、４３４、４３５、４３６を介してのネットワークバス４３１、４３２とのネットワークコネクションのための複数のネットワークモジュール４０７、４０８、４５４、例えば１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩチャネル、をも含み、ストレージインターフェースコントローラ４１０はコネクションファブリック４０９およびストレージコントローラ４１１、４１２、４５７の間のコネクション４３９を介してのインターフェースを提供する。ストレージコントローラ４１１、４１２、４５７は、３．５”ＨＤＤ、２．５”ＨＤＤおよびＳＳＤなどのストレージデバイス４１３、４１４を管理する。例えば、ストレージデバイス４１３、４１４は、コネクション４４０、４４１を介してストレージインターフェースコントローラ４１０に接続されるストレージコントローラ４１１、４１２、４５７にコネクション４４２、４４３を介して接続される。
【００４０】
ＡＣＢは、コネクション４５３を介してのＳＳＤ４２２へのＳＡＴＡ／ＰＣＩ−Ｅ、ＮＶＭｅインターフェースなどのインターフェース４１９をさらに含む。ＡＣＢは、コネクション４５１、４５２を介してＳＬＣ／ＭＬＣ／ＳＴＴ−ＭＲＡＭ、ＲＲＡＭ（登録商標）などの不揮発性メモリ（ＮＶＭ：ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）４２０、４２１、４５８に接続されたＮＶＭコントローラモジュール４１８をも含む。再構成可能な論理回路４１７は、オンフィールドおよびオンタイムのプログラマブルなオフローディングを提供し、カスタマイズされた使用法をサポートする。処理エンジンおよび他のメモリリソースを有するＡＣＢは、ＤＦＳおよび他のソフトウェアを動作させるためのＯＳおよびシステムスタックを具備している。ソフトウェアは、全体として、インテリジェントデータストレージおよびコンピューティングサービスを提供し、オンボードの、またはそれのネットワークインターフェースを通して接続されている、ローカルストレージおよび他のハードウェアリソースを管理する。
【００４１】
プロセッサコア４０１、４０２、４５５は、専用のチャネル４２５、４２６、４２７、４２８を介してメモリコントローラに接続される。ネットワークモジュール４０７、４０８、４５４、ストレージインターフェースコントローラ４１０、ダイレクトメモリアクセス（ＤＭＡ：ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）モジュール４９９、ＳＳＤインターフェース４１９、ＮＶＭコントローラ４１８、再構成論理回路４１７、ＡＳＩＣ４１６およびＧＰＩＯコントローラ４１５は、コネクションファブリック４０９経由でのメモリコントローラ４０３、４０４、４５６へのダイレクトチャネル４３７、４３８、４３９、４７９、４５０、４４９、４４８、４４７、４４６を有する。メモリコントローラ４０３、４０４、４５６は、ＳＴＴ−ＭＲＡＭ、ＭＲＡＭまたはＲＲＡＭのような低遅延ＮＶＲＡＭをサポートすることができる。ＮＶＲＡＭコントローラ４１８は、ＲＲＡＭまたはＳＬＣ／ＭＬＣフラッシュをサポートすることができる。ＳＳＤインターフェース４１９は、ＳＳＤを接続する。ＮＶＭは、ストレージデバイス４１３、４１４のためにハイブリッドおよび不揮発性キャッシュを提供する。
【００４２】
該例示的実施形態において、揮発性メモリの場合、電源異常は、揮発性メモリ内の重要なデータをデータ保護のためにＮＶＭ４２０、４２１、４５８またはＳＳＤ４２２またはストレージドライブ４１３、４１４に書き戻すようにＡＣＢをトリガする。さらに、ＡＣＢは、ＳＣＢ（図３ａ、３ｂ）のＣＰＵモジュールが電源からのピーク電流要求を低減するためにアクティブストレージアレイの複数のＡＳＵを段階的にオンにすることを可能にする電力スイッチ回路４２３を含む。ＡＣＢは、ＡＣＢ−ＩＮの信号をローレベルにすることによって、自身が入っていることをシャーシマネージャに知らせる。ＳＣＢのＣＰＵモジュールは、電力スイッチ４２３に対してＡＣＢ−ＯＮ４６１およびパワーＯＫ信号４６４をアサートし、電力スイッチ４２３はコネクション４７１およびコネクション４７０だけを接続させる。コネクション４７０は、コネクタ４８０を介して電源のパワー出力に接続される。管理バス４６０は、コネクタ４８０へのコネクションを管理する。電源は、電力回路４２４およびコネクション４７２、２７３を介してストレージコントローラ４１１、４１２、４５７に提供される。
【００４３】
ＣＰＵモジュールがパワーＯＫ信号４６４をディアサートすると、電力スイッチ４２３は、コネクション４７１を、予備電源からの電源であるコネクション４７５だけに接続する。パワーＯＫ信号４６４が非活性化されると、プロセッサコア４０１、４０２、４５５上で動作しているソフトウェアは、重要なデータをＮＶＭ４２０、４２１、４５８またはＳＳＤ４２２にバックアップするようにトリガされる。ＡＣＢは、０Ｖの電圧のＧＮＤ４４４に接続されているＡＣＢ−ＩＮ信号４６２をローレベルにすることによって、自身が差し込まれたことを管理マイクロプロセッサ５０３（図５）に知らせる。インターインテグレーテッドサーキット（Ｉ２Ｃ）コントローラ４７４は、コネクション４７６を介してプロセッサコア４０１、４０２、４５５に接続され、情報を交換するためにプロセッサコア４０１、４０２、４５５とＳＣＢのＣＰＵモジュール５０３（図５）との間に通信可能に結合されマスターモードおよびスレーブモードの両方として働く。
【００４４】
図４ｃは、図４ａのアクティブストレージユニット４００のプラグアンドプレイ能力を図示するフローチャートを示す。一実装例において、パワー信号が良好ならば、次のステップはハードウェアエラーがあるかどうか検査することである。ハードウェアエラーが無ければ、アクティブストレージユニット４００のハードウェア情報が収集されて、アクティブストレージユニットはハードウェアデータと共にアクティブ管理ノードに登録される。この登録が失敗すれば、アクティブストレージユニット４００は再び登録を試みるが、所定数Ｎ回の試みの後にもし登録が依然として成功していなければ、エラーＬＥＤがオンにされる。同様に、パワー信号が良好でないか、あるいはハードウェアエラーがあれば、ＬＥＤがオンにされる。
【００４５】
図４ｄは、図４ａのアクティブストレージユニット４００におけるデータ転送プロセス例を図示するフローチャートを示す。初めに、データが読まれ、次にマッピングテーブルが検査される。次に、アクティブストレージユニット４００は、データがキャッシュ（例えば、ＮＶＭまたはＳＳＤ）内に存在するか検査する。データがキャッシュ内にあるならば、そのデータは、イーサネットコネクションを介して送り出される前に読みだされてメモリへ移される。一方、もしデータがキャッシュ内に存在しなければ、データは、イーサネットコネクションを介して送り出される前にストレージデバイス（例えばＨＤＤ）から読みだされてメモリへ移される。
【００４６】
図５は、例示的実施形態によるスイッチ制御ボード（ＳＣＢ）５００のハードウェアレベルのブロック図を示す。ＳＣＢ５００は、ネットワークスイッチ５０１に通信可能に結合されたＣＰＵまたはマイクロコントローラユニット５０３およびネットワークスイッチ５０１に通信可能に結合されたスイッチコントローラモジュール５０２を含む。ＳＣＢネットワークスイッチ５０１は、内部ポート５３１、５３２、５４３、他のスイッチポート５３３および外部ポート５０６、５０７、５４４のデータスループットを均衡させるように構成される。スイッチコントローラモジュール５０２はネットワークスイッチ５０１を管理し、マイクロコントローラユニット５０３はパワーオンのシーケンス、ファン速度および他のシャーシ管理動作を管理する。各ＳＣＢ５００は、複数のＡＣＢをサポートするとともに外部コネクションのための数個のイーサネットポート５０６、５０７、５４４を提供するように構成される。ＳＣＢ５００は、データが外部ネットワークを通らずにＡＣＢ／ドライブ間で移動させられることを可能にし、これによりネットワーク輻輳を低減するととともにネットワークスループットを改善する。１つの可能な構成では、ＳＣＢ５００は、それぞれ１０ギガビットイーサネット（ＧｂＥ：Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ）を用いて３０個のＡＣＢに接続することができ、外部コネクションとして４×４０ＧｂＥポートを有する。１つのアクティブストレージアレイにおいて２つ以上のＳＣＢを用いることにより、冗長性が提供されるのでアクティブストレージアレイの信頼性を高めることができる。
【００４７】
シャーシ管理マイクロプロセッサ（すなわち、マイクロコントローラユニット５０３）はジャンパーを介してマスターまたはスレーブにセットされ、ファームウェアはイーサネットインターフェース５２０を介してアップグレード可能である。マイクロコントローラユニット５０３で動作するシャーシマネージャソフトウェアは、ＡＣＢ＿ＯＮを順次アサートすることによって各ＡＣＢをバッチ式に（すなわち段階的に）オンにすることができる。ＳＣＢ間のイーサネットリンクは、ＳＣＢ間のスループットを増やすためにトランキングしまたは集めて単一の論理リンクとすることができる。追加のＳＣＢは、より多くのＡＣＢおよびより多くの外部ネットワークポートコネクションを提供することができる。あるいは、複数のＳＣＢを統合して、オンボードの複数のイーサネットスイッチコントローラを有する単一のＳＣＢとすることもできる。マイクロコントローラユニット５０３は、コネクタ５０５、コネクション５１６、ラインドライブ５０８およびコネクション５１５を介してプログラムすることができる。マイクロコントローラユニット５０３には、Ｖｃｃ５１１、ＧＮＤ５１０、スイッチ５０４、およびコネクション５１２、５１３、５１４も接続されている。
【００４８】
コネクション５３１、５３２、５４３はネットワークコネクション、例えばコネクタ５３６およびＢＰＢを介してＡＣＢに接続される１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ｉｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩチャネル、である。コネクション５３３は、ネットワークコネクションを介して２つのＳＣＢを互いに接続する。電力回路５０９は、電源３３４、３３５、３３６、３３７（図３ｂ）からコネクション５３４およびコネクタ５３６を介して電源を得る。コネクション５２２、５２３、５４０は、コネクタ５３６、ＳＩＢ３１１（図３ｂ）およびＢＰＢ３１４（図３ｂ）を介してのＡＣＢのＡＣＢ−ＩＮからの入力である。コネクション５２４、５２５、５４１は、各ＡＣＢをオンまたはオフにするＭＣＵまたはＣＰＵモジュール５０３の出力のＡＣＢ−ＯＮ信号である。コネクション５２６、５２７、５４２は、ＦＡＮ、ＬＥＤ、ボタン、電源を制御する複数のＧＰＩＯおよびＩ２Ｃバスを含む。コネクション５２８およびコネクション５２９は、電源３３４、３３５、３３６、３３７（図３ｂ）からのパワー良好信号入力である。
【００４９】
図６は、例示的実施形態によるバックプレーンボード（ＢＰＢ）６００のハードウェアレベルのブロック図を示す。ＢＰＢ６００は、コネクタ６０４、６０５、６０６、６０７、６１０、６１１、６１２、６１３を介してＡＣＢの、コネクタ６０３を介してＳＣＢの、およびコネクタ６０１および６０２を介して電源の、活線挿抜をサポートする。ＢＰＢ６００は、コネクタ６０４、６０５、６０６、６０７、６１０、６１１、６１２、６１３を介してＡＣＢに、コネクタ６０３を介してＳＣＢに、ならびにコネクタ６０８および６０９を介してファンに、電力を供給する。ＢＰＢ６００は、さらに、ＡＣＢのコネクタ間の信号トレースをＳＣＢのコネクタへルーティングする。電力は列を成すＡＣＢに送られ、マイクロコントローラ５０３（図５）はアクティブストレージアレイのパワーアップ時に各列への電力を順にイネーブルするために使用される。
【００５０】
図７は、例示的実施形態によるパワーパスボード（ＰＰＢ）７００のハードウェアレベルのブロック図を示す。ＰＰＢ７００は、コネクタ７０１からのＡＣ／ＤＣ電力７１０およびコネクタ７０２からのＡＣ／ＤＣ電力７１２をコネクタ７０４にマージする。コネクタ７０３からの予備電力７１４もコネクタ７０４へ回される。電源のコネクタ７０１からのパワー信号バス７１１およびＡＣ／ＤＣ電源のコネクタ７０２からのパワー信号バス７１３はコネクタ７０４に直接接続される。コネクタ７０３からの予備電力信号バス７１５もコネクタ７０４へ回される。コネクタ７０４はＢＰＢ６００（図６）に差し込まれる。
【００５１】
図８は、別の例示的実施形態によるアクティブストレージユニット（ＡＳＵ）８００のハードウェアレベルのブロック図を示す。この実施形態では、ＡＣＢ８９０は、市販のシステムオンチップ（ＳＯＣ：Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）８９３およびデュアルポート１０ＧｂＥネットワークモジュール８０７を含む。ＳＯＣ８９３は、２〜８個のプロセッサ８０１、８０２および８５５を含み、１〜２個のメモリコントローラ８０３、８０４を有する。ＳｏＣの組み合わせは、１メモリコントローラを伴う２プロセッサコア、１メモリコントローラを伴う２組の２プロセッサコア、１メモリコントローラを伴う２組の４プロセッサを含む。メモリコントローラ８０３、８０４は、最大１６００ＭＴ／秒のＤＤＲ３メモリバス８２９、８３０を介してＤＤＲ３  ＤＲＡＭ８０５、８０６を接続する。ＳｏＣ８９３は、ＳＳＤインターフェース（Ｉ／Ｆ）８１９として機能する、ＳＳＤ８２２に接続されている２つのＳＡＴＡ３．０インターフェースをも含む。ＳｏＣ８９３は、ＢＩＯＳまたはｕｂｏｏｔもしくはブートアップ用ソフトウェアを格納するためにＳＰＩインターフェース８５１を介してＮＶＭＲＡＭ８２０を接続するＮＶＭＲＡＭコントローラ８１８として機能するＳＰＩコントローラをさらに含む。種々のコンポーネント間の通信を容易にするためにコネクションファブリック８０９が設けられる。
【００５２】
ＳＡＳ／ＳＡＴＡ  ＰＣＩ−Ｅコントローラ８１０は、ＰＣＩ−Ｅバス８３９を介してＳｏＣ８９３に接続される。コントローラ８１０は、ストレージコントローラ８１１、８１２および記憶媒体８１３、８１４、両者はコネクション８４２、８４３によって連結される、を含むＳＡＳ／ＳＡＴＡ  ＨＤＤ８９１、８９２、８５７を最大１６個駆動することができる。
【００５３】
ネットワークモジュール８０７は、ＰＣＩ−Ｅバス８３７を介してＳｏＣ８９３に接続される。ネットワークモジュール８０７は、２つのイーサネットポートを含み、１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／ＱＳＧＭＩＩ／ＳＧＭＩＩおよび８０２．３ａｐ  ＫＸ／ＫＸ４／ＫＲ仕様をサポートする。一方のポート信号８３３はコネクション８３１を介してＳＣＢ３０１（図３）に接続され、他方のポート信号８３４はコネクション８３２を介してＳＣＢ３０２（図３）に接続される。
【００５４】
動作中、シャーシ管理マイクロプロセッサ５０３（図５）からのパワーＯＫ信号８６４が非活性化されると、パワーＯＫ信号の非活性化は、重要なデータをＳＳＤ８２２のような不揮発性メモリに保存するとともに不要な動作を停止し、さらに最低パワーモードに移行してシャットダウンに備えるようにＨＤＤ８９１、８９２に知らせる準備をさせるべくプロセッサコア８０１、８０２をインターラプトするように最高優先順位のＧＰＩＯコントローラ８１５を介してＳｏＣ８９３をトリガしようとする。パワーＯＫ信号８６４の非活性化の期間中、予備電源８７５は、電力スイッチ８２３およびパワーＯＫ信号８６４の動作を通じて、ＡＣ／ＤＣ電源８７０に取って代わって短時間の間電力８７０を電力回路８２４を介してＡＳＵ８００に供給するように構成される。電力回路８２４は、１つの１２Ｖサプライ８７２および５Ｖサプライ８７３をＨＤＤ８９１、８９２に供給する。
【００５５】
ＡＣＢ８９０は、電源からのピーク電流の要求を低減するために管理マイクロプロセッサ５０３（図５）からのＡＣＢ−ＯＮ信号８６１が複数のＡＣＢを段階的にオンにすることを可能にする電力スイッチ８２３をも含む。ＡＣＢは、自身が差し込まれていることを管理マイクロプロセッサ５０３に、０Ｖの電圧を有するＧＮＤ８４４に接続されているＡＣＢ−ＩＮの信号８６２をローレベルにすることによって、知らせる。
【００５６】
管理バス８６０は、ＡＣＢ−ＯＮ信号８６１、パワーＯＫ信号８６４、ＡＣＢ−ＩＮ信号８６２およびＩ２Ｃバス８７７を含む。それは管理マイクロプロセッサ５０３（図５）に接続される。インターインテグレーテッドサーキット（Ｉ２Ｃ）コントローラ８７４は、コネクション８７６を介してプロセッサコア８０１、８０２、８５５に接続され、情報を交換するためにプロセッサコア８０１、８０２および８５５とＳＣＢのＣＰＵモジュール５０３（図５）との間に通信可能に結合するようにマスターモードおよびスレーブモードの両方として働く。
【００５７】
図９は、別の例示的実施形態によるアクティブストレージユニット（ＡＳＵ）９００のハードウェアレベルのブロック図を示す。この実施形態では、ＡＳＵ９００は、オフシェルフのＳｏＣ９９３および４×２．５ＧＢＡＳＥイーサネットを有するＡＣＢ９９０を含む。この構成は、外部ネットワークチップを除去することによってコストおよび電力を節約することができるけれども、ＢＰＢを介してのＳＣＢへの接続のためにより多くのイーサネットポートを必要とする。
【００５８】
ＳｏＣ９９３は、２〜８個のプロセッサ９２５、９２６を含み、１〜２個のメモリコントローラ９０３、９０４を有する。ＳｏＣの組み合わせは、１メモリコントローラを伴う２プロセッサコア、１メモリコントローラを伴う２組の２プロセッサコア、１メモリコントローラを伴う２組の４プロセッサを含む。メモリコントローラ９０３、９０４は、最大１６００ＭＴ／秒のＤＤＲ３メモリバス９２９、９３０を介してＤＤＲ３  ＤＲＡＭ９０５、９０６を接続する。ＳｏＣ９９３は、ＳＳＤ  Ｉ／Ｆ９１９として機能してＳＳＤ９２２に接続される２つのＳＡＴＡ３．０インターフェースを含む。ＳｏＣ９９３は、ＢＩＯＳまたはｕｂｏｏｔまたはブートアップソフトウェアを格納するようにＳＰＩインターフェース９５１を介してＮＶＭＲＡＭ９２０を接続するＮＶＭＲＡＭコントローラ９１８として機能するＳＰＩコントローラをも含む。
【００５９】
ＳＡＳ／ＳＡＴＡ  ＰＣＩ−Ｅコントローラ９１０は、ＰＣＩ−Ｅバス９３９を介してＳｏＣ９９３に接続され、ストレージコントローラ９１１、９１２および記憶媒体９１３、９１４を含む最大１６個のＳＡＳ／ＳＡＴＡ  ＨＤＤ９９１、９９２を駆動するように構成され、両者はコネクション９４２、９４３により連結される。
【００６０】
４ポートの２．５ＧｂＥネットワークモジュール９９４はＳｏＣ９９３の中に配置されている。２つのポート信号９３３、９３４はコネクション９３１を介してＳＣＢ３０１（図３）に接続され、他の２つのポート信号９９３、９９８はコネクション９３２を介してＳＣＢ３０２（図３）に接続される。
【００６１】
管理マイクロプロセッサ５０３（図５）からのパワーＯＫ信号９６４が非活性化されると、この非活性化は、重要なデータをＳＳＤ９２２のような不揮発性メモリに保存するとともに不要な動作を停止し、さらに最低パワーモードに移行してシャットダウンに備えるようにＨＤＤ９９１、９９２に知らせる準備をさせるべくプロセッサコアをインターラプトするように最高優先順位のＧＰＩＯコントローラ９１５を介してＳｏＣ９９３をトリガしようとする。パワーＯＫ信号９６４の非活性化の期間中、予備電源コネクション９７５は、ＡＣ／ＤＣ電源コネクション９７０に取って代わって短時間の間電力コネクション９７０を電力回路９２４を介してＡＳＵ９００に供給するように構成される。電力回路９２４は、１つの１２Ｖサプライ９７２および１つの５Ｖ９７３サプライをＨＤＤ９９１、９９２に供給する。
【００６２】
ＡＣＢ９９０は、電源からのピーク電流の要求を低減するために管理マイクロプロセッサ５０３からのＡＣＢ−ＯＮ信号９６１が複数のＡＣＢを段階的にオンにすることを可能にする電力スイッチ９２３を含む。例えば、ＡＣＢは、管理マイクロプロセッサ５０３に、自身が差し込まれていることを、０Ｖの電圧を有するＧＮＤ９４４に接続されているＡＣＢ−ＩＮ信号９６２をローレベルにすることによって、知らせることができる。
【００６３】
管理バス９６０は、ＡＣＢ−ＯＮ信号９６１、パワーＯＫ信号９６４、ＡＣＢ−ＩＮ信号９６２およびＩ２Ｃバス９７７を含む。それは管理マイクロプロセッサ５０３に接続される。Ｉ２Ｃコントローラ９７４は、コネクション９７６を介してプロセッサコア９０１、９０２に接続され、情報を交換するためにプロセッサコア９０１、９０２とＳＣＢのＣＰＵ５０３（図５）モジュールとの間に通信可能に結合するようにマスターモードおよびスレーブモードの両方として働く。
【００６４】
図１０は、別の例示的実施形態によるアクティブストレージユニット（ＡＳＵ）１０００のハードウェアレベルのブロック図を示す。この実施形態では、ＡＳＵ１０００は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）チップ１０９３の形のＡＣＢ１０９０を含む。ＦＰＧＡ１０９３は、２つのＡＲＭコア１００１、１００２、および、ＤＤＲ３  ＤＲＡＭ１００５に接続されている１つのメモリコントローラ１００３を含む。ＦＰＧＡ１０９３は、１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩまたはその他の２つのポートとして構成され得る２ポートのネットワークモジュール１０９４をも含む。ＦＰＧＡは、ストレージデバイス１０９１、１０９２がＳＡＴＡ  ＨＤＤ／ＳＳＤならば複数のＳＡＴＡコントローラとして、またはストレージデバイス１０９１、１０９２、１０５７がＳＡＳ  ＨＤＤならばＳＡＳコントローラとして、またはストレージデバイス１０９１、１０９２がＮＶＭｅストレージデバイスならばＮＶＭｅコントローラとして構成され得るプログラマブルなストレージインターフェースコントローラ１０１０をさらに含む。他の構成が可能である。さらに、ＦＰＧＡ１０９３は、コネクション１０５３を介してＳＳＤ１０２２に接続されるＳＡＴＡコントローラ、ＮＶＭｅコントローラもしくはＰＣＩ−Ｅまたはその他として構成され得る１つのＳＳＤ  Ｉ／Ｆ１０１９を含む。複数のＩＯ１０５１を介してＳＬＣフラッシュ／ＭＬＣフラッシュ／ＳＴＴ−ＭＲＡＭ／ＭＲＡＭ／ＲＲＡＭ／その他の不揮発性メモリチップ１０２０、１０２１、１０５８をサポートするＮＶＲＡＭコントローラ１０１８も統合されている。再構成可能な論理回路１０１７は、オンフィールドおよびオンタイムのプログラマブルなオフローディングを提供し、カスタマイズされた使用法をサポートする。
【００６５】
ここで、ネットワークモジュール１０９４はダイレクトチャネル１０３７を介してメモリコントローラ１００３に接続され、ストレージインターフェースコントローラ１０１０はダイレクトチャネル１０３９を介してメモリコントローラ１００３に接続され、再構成可能な論理回路１０１７はダイレクトチャネル１０４８を介してメモリコントローラ１００３に接続され、ＮＶＲＡＭコントローラ１０１８はダイレクトチャネル１０４９を介してメモリコントローラ１００３に接続され、ＳＳＤ  Ｉ／Ｆ１０１９はダイレクトチャネル１０５０を介してメモリコントローラ１００３に接続される。ＤＭＡ１０９９は、コネクションファブリック１１０９を管理しスイッチングすることによってメモリコントローラ１００３、ネットワークモジュール１０９４、ストレージインターフェースコントローラ１０１０、再構成可能な論理回路１０１７、ＮＶＲＡＭコントローラ１０１８およびＳＳＤ  Ｉ／Ｆ１０１９の間のデータ移動を制御する。
【００６６】
ネットワークモジュール１０９４は、２つのポートを含み、１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩおよび８０２．３ａｐ  ＫＸ／ＫＸ４／ＫＲ仕様をサポートする。１つのポート信号１０３３はコネクション１０３１を介してＳＣＢ３０１（図３）に接続され、他方のポート信号１０３４はコネクション１０３２を介してＳＣＢ３０２（図３）に接続される。
【００６７】
管理マイクロプロセッサ５０３（図５）からのパワーＯＫ信号１０６４が非活性化されると、その非活性化は、重要なデータをＳＳＤ１０２２またはＮＶＲＡＭ１０２０、１０２１、１０５８のような不揮発性メモリに保存するとともに不要な動作を停止し、さらに最低パワーモードに移行してシャットダウンに備えるようにストレージデバイス１０９１、１０９２、１０５７に知らせるべくプロセッサコア１００１、１００２をインターラプトするように最高優先順位のＧＰＩＯコントローラ１０１５を介してＦＰＧＡ１０９３をトリガする。パワーＯＫ信号１０６４の非活性化の期間中、予備電源コネクション１０７５は、ＡＣ／ＤＣ電源コネクション１０７０に取って代わって短時間の間電力コネクション１０７０を電力回路１０２４を介してＡＳＵ１０００に供給するように構成される。電力回路１０２４は、２つの異なる電源１０７２、１０７３をストレージデバイス１０９１、１０９２に供給するように構成される。
【００６８】
ＡＣＢ１０９０は、電源のためにピーク電流の要求を低減するために管理マイクロプロセッサ５０３からのＡＣＢ−ＯＮ１０６１信号が複数のＡＣＢ１０９０を段階的にオンにすることを可能にする電力スイッチ１０２３を用いて画定される。例えば、ＡＣＢ１０９０は、管理マイクロプロセッサ５０３に、自身が差し込まれていることを、０Ｖの電圧を有するＧＮＤ１０４４に接続されているＡＣＢ−ＩＮ信号１０６２をローレベルにすることによって、知らせる。管理バス１０６０は、ＡＣＢ−ＯＮ信号１０６１、パワーＯＫ信号１０６４、ＡＣＢ−ＩＮ１０６２およびＩ２Ｃバス１０７７を含み、管理マイクロプロセッサ５０３に接続される。Ｉ２Ｃコントローラ１０７４は、コネクション１０７６を介してプロセッサコア１００１、１００２に接続され、情報を交換するためにプロセッサコア１００１〜１００２とＳＣＢのＣＰＵモジュール５０３（図５）との間に通信可能に結合するようにマスターモードおよびスレーブモードの両方として働く。
【００６９】
図１１は、別の例示的実施形態によるアクティブストレージユニット（ＡＳＵ）１１００のハードウェアレベルのブロック図を示す。この実施形態では、ＡＳＵ１１００はカスタマイズされたＳｏＣ１１９３を有するＡＣＢを含む。ＳｏＣ１１９３は、２つ以上の６４ビットＡＲＭプロセッサコア１１５５もしくは他の低電力６４ビットプロセッサコア１１０１、１１０２、２つ以上のメモリコントローラ１１０３、１１０４、１１５６、１つ以上のネットワークモジュール１１０７、１１０８、１１５４、１つのストレージインターフェースコントローラ１１１０、ＮＶＭコントローラ１１１８、ＳＳＤ  Ｉ／Ｆ１１１９、ＡＳＩＣ  Ｉ／Ｆ１１８３および再構成可能な論理回路１１１７を含む。
【００７０】
各プロセッサコア１１０１、１１０２、１１５５は、１００ｎｓより短い待ち時間を有するダイレクトチャネル１１２５、１１２６を介してメモリコントローラ１１０３、１１０４、１１５６に接続される。各メモリコントローラ１１０３または１１０４または１１５６は、２バンクのメモリ１１０５および１１８２、１１０６および１１８１にも接続される。１バンクのメモリ１１８２または１１８１は、コネクション１１８３、１１８４を介してメモリコントローラ１１０３または１１０４に接続され、ＳｏＣ１１９３内に埋め込まれる。他方のバンクのメモリ１１０５、１１０６は、任意であり、ＡＣＢ１１９０に搭載される。メモリコントローラ１１０３、１１０４、１１５６はＤＲＲ３  ＤＲＡＭ／ＤＤＲ４  ＤＲＡＭ／ＳＴＴ−ＭＲＡＭ／ＲＲＡＭ／ＳＲＡＭ／ＭＲＡＭをサポートすることができる。
【００７１】
各ネットワークモジュール１１０７、１１０８、１１５４は、２つのポート１１３３および１１３４、１１３５および１１３６を含み、１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩおよび８０２．３ａｐ  ＫＸ／ＫＸ４／ＫＲ仕様をサポートする。１つのポートの信号１１３３、１１３６はコネクション１１３１を介してＳＣＢ３０１（図３）に接続され、他方のポートの信号１１３４、１１３５はコネクション１１３２を介してＳＣＢ３０２（図３）に接続される。ネットワークモジュール１１０７、１１０８、１１５４は、ダイレクトチャネル１１３７、１１３８を介してメモリコントローラ１１０３、１１０４、１１５６に接続される。ストレージインターフェースコントローラ１１１０は、ダイレクトチャネル１１３９を介してメモリコントローラ１１０３、１１０４および１１５６に接続され、さらに、全てのフォームファクタを有するＳＡＳ  ＨＤＤ、全てのフォームファクタを有するＳＡＴＡ  ＨＤＤ、ＳＡＴＡ、ＳＡＳ、ＮＶＭｅ、ＰＣＩ−Ｅのインターフェースおよび全てのフォームファクタを有するＳＳＤであり得る複数のタイプのストレージデバイス１１９１、１１９２および１１５７にさらに接続される。
【００７２】
ＳＳＤ  Ｉ／Ｆ１１１９は、ダイレクトチャネル１１５０を介してメモリコントローラ１１０３、１１０４および１１５６に接続され、さらに、ＳＡＴＡ、ＳＡＳ、ＮＶＭｅ、ＰＣＩ−Ｅのインターフェースおよび全てのフォームファクタを有する複数のタイプのＳＳＤ１１２２に接続される。ＮＶＲＡＭコントローラ１１１８は、ダイレクトチャネル１１４９を介してメモリコントローラ１１０３、１１０４および１１５６に接続され、さらに、ＳＬＣフラッシュ／ＭＬＣフラッシュ／ＲＲＡＭであり得るＮＶＲＡＭ１１２０、１１２１および１１５８に接続される。ＡＳＩＣ  Ｉ／Ｆ１１１６は、ダイレクトチャネル１１４７を介してメモリコントローラ１１０３、１１０４および１１５６に接続され、さらに、ＰＣＩ−Ｅ、Ｒｏｃｋｅｔ  ＩＯ、ハイパートランスポートおよびその他であり得るコネクション１１８４を介してオフザシェルフからのチップセットあるいは特別あつらえの集積回路であるＡＳＩＣ１１１６に接続される。
【００７３】
さらに、再構成可能な論理回路１１１７は、ダイレクトチャネル１１４８を介してメモリコントローラ１１０３、１１０４および１１５６に接続される。該論理回路は、プロセッサコア１１０１、１１０２および１１５５上で動作するソフトウェアによりコネクションファブリック１１０９を介してプログラムされ得る。ユーザは、オンザフライに種々の特徴をサポートする再構成可能な論理回路１１１７の機能を加え変更することができる。
【００７４】
ＤＭＡ１１９９は、コネクション１１７９を介してコネクションファブリック１１０９を管理しスイッチングすることにより、メモリコントローラ１１０３、１１０４および１１５６、ネットワークモジュール１１０７、１１０８および１１５４、ストレージインターフェースコントローラ１１１０、再構成可能な論理回路１１１７、ＮＶＲＡＭコントローラ１１１８ならびにＳＳＤ  Ｉ／Ｆ１１１９の間のデータ移動を制御する。
【００７５】
ＡＳＵ１１００の動作中、管理マイクロプロセッサ５０３（図５）からのパワーＯＫ信号１１６４が非活性化されると、その非活性化は、重要なデータをＳＳＤ１１２２またはＮＶＲＡＭ１１２０、１１２１および１１５８のような不揮発性メモリに保存するとともに不要な動作を停止し、さらに最低パワーモードに移行してシャットダウンに備えるようにストレージデバイス１１９１、１１９２に知らせるべくプロセッサコア１１０１、１１０２および１１５５をインターラプトするように最高優先順位のＧＰＩＯコントローラ１１１５を介してＳｏＣ１１９３をトリガする。パワーＯＫ信号１１６４の非活性化の期間中、予備電源コネクション１１７５は、ＡＣ／ＤＣ電源コネクション１１７０に取って代わって短時間の間電力コネクション１１７０を電力回路１１２４を介してＡＳＵ１１００に供給するように構成される。電力回路１１２４は、２つの異なる電源１１７２、１１７３をストレージデバイス１１９１、１１９２に供給する。
【００７６】
ＡＣＢ１１９０は、電源からのピーク電流の要求を低減するために管理マイクロプロセッサ５０３からのＡＣＢ−ＯＮ信号１１６１がＡＳＵ１１００を段階的にオンにすることを可能にする電力スイッチ１１２３を含む。例えば、ＡＣＢ１１９０は、管理マイクロプロセッサ５０３に、自身が差し込まれていることを、０Ｖの電圧を有するＧＮＤ１１４４に接続されているＡＣＢ−ＩＮ信号１１６２をローレベルにすることによって、知らせる。
【００７７】
管理バス１１６０は、ＡＣＢ−ＯＮ信号１１６１、パワーＯＫ信号１１６４、ＡＣＢ−ＩＮ  Ａ信号１１６２およびＩ２Ｃバス１１７７を含み、管理マイクロプロセッサ５０３（図５）に接続される。Ｉ２Ｃコントローラ１１７４は、コネクション１１７６を介してプロセッサコア１１０１、１１０２、１１５５に接続され、情報を交換するためにプロセッサコア１１０１〜１１０２、１１５５とＳＣＢのＣＰＵモジュール５０３（図５）との間に通信可能に結合するようにマスターモードおよびスレーブモードの両方として働く。
【００７８】
図１２は、更に別の例示的実施形態によるアクティブストレージユニット（ＡＳＵ）１２００のハードウェアレベルのブロック図を示す。この実施形態では、ＡＳＵ１２００は、記憶媒体上のＡＣＢ１２９０を含む。ＳｏＣ１２９３およびストレージコントローラ１２１１の両方がＡＣＢ１２９０に搭載されている。
【００７９】
ＳｏＣ１２９３は、２つ以上の複数の６４ビットＡＲＭプロセッサコア１２５５または他の低パワー６４ビットプロセッサコア１２０１、１２０２、２つ以上のメモリコントローラ１２０３、１２０４、１２５６、１つ以上のネットワークモジュール１２０７、１２０８、１２５４、１つのストレージインターフェースコントローラ１２１０、ＮＶＭコントローラ１２１８、ＳＳＤ  Ｉ／Ｆ１２１９、ＡＳＩＣ  Ｉ／Ｆ１２８３および再構成可能な論理回路１２１７を含む。
【００８０】
各プロセッサコア１２０１または１２０２または１２５５は、１００ｎｓより短い待ち時間を有するダイレクトチャネル１２２５、１２２６を介してメモリコントローラ１２０３、１２０４またはその他の１２５６に接続される。
【００８１】
各メモリコントローラ１２０３または１２０４または１２５６は、２バンクのメモリ１２０５および１２８２、１２０６および１２８１に接続される。１バンクのメモリ１２８２または１２８１は、コネクション１２８３、１２８４を介してメモリコントローラ１２０３または１２０４に接続され、ＳｏＣ１２９３の中に埋め込まれる。他方のバンクのメモリ１２０５、１２０６は、任意であり、ＡＣＢ１２９０に搭載される。メモリコントローラ１２０３、１２０４、１２５６は、ＤＲＲ３  ＤＲＡＭ／ＤＤＲ４  ＤＲＡＭ／ＳＴＴ−ＭＲＡＭ／ＲＲＡＭ／ＳＲＡＭ／ＭＲＡＭをサポートすることができる。
【００８２】
各ネットワークモジュール１２０７、１２０８または１２５４は、２つのポート１２３３および１２３４、１２３５および１２３６を含み、１ＧｂＥ／２．５ＧｂＥ／１０ＧｂＥ／４０ＧｂＥ／１００ＧｂＥ／ＩｎｆｉｎｉＢａｎｄ／Ｆｉｂｅｒ／ＱＳＧＭＩＩ／ＳＧＭＩＩおよび８０２．３ａｐ  ＫＸ／ＫＸ４／ＫＲ仕様をサポートする。１つのポートの信号１２３３、１２３６はコネクション１２３１を介してＳＣＢ３０１（図３）に接続され、他方のポートの信号１２３４、１２３５はコネクション１２３２を介してＳＣＢ３０２（図３）に接続される。ネットワークモジュール１２０７、１２０８および１２５４は、ダイレクトチャネル１２３７、１２３８を介してメモリコントローラ１２０３、１２０４および１２５６に接続される。
【００８３】
ストレージインターフェースコントローラ１２１０は、ダイレクトチャネル１２３９を介してメモリコントローラ１２０３、１２０４および１２５６に接続され、さらに、全てのフォームファクタを有するＳＡＳ  ＨＤＤ、全てのフォームファクタを有するＳＡＴＡ  ＨＤＤ、ＳＡＴＡ、ＳＡＳ、ＮＶＭｅ、ＰＣＩ−Ｅのインターフェースおよび全てのフォームファクタを有するＳＳＤであり得る複数のタイプのストレージデバイス１２９１に接続される。
【００８４】
ＳＳＤ  Ｉ／Ｆ１２１９は、ダイレクトチャネル１２５９を介してメモリコントローラ１２０３、１２０４および１２５６に接続され、さらに、ＳＡＴＡ、ＳＡＳ、ＮＶＭｅ、ＰＣＩ−Ｅのインターフェースおよび全てのフォームファクタを有する複数のタイプのＳＳＤ１２２２に接続される。ＮＶＲＡＭコントローラ１２１８は、ダイレクトチャネル１２４９を介してメモリコントローラ１２０３、１２０４および１２５６に接続され、さらに、ＳＬＣフラッシュ／ＭＬＣフラッシュ／ＲＲＡＭであり得るＮＶＲＡＭ１２２０、１２２１および１２５８に接続される。
【００８５】
ＡＳＩＣ  Ｉ／Ｆ１２１６は、ダイレクトチャネル１２４７を介してメモリコントローラ１２０３、１２０４および１２５６に接続され、さらに、ＰＣＩ−Ｅ、Ｒｏｃｋｅｔ  ＩＯ、ハイパートランスポートおよびその他であり得るコネクション１２８４を介してオフザシェルフからのチップセットあるいはカスタマイズされた集積回路であるＡＳＩＣ１２６に接続される。
【００８６】
再構成可能な論理回路１２１７は、ダイレクトチャネル１２４８を介してメモリコントローラ１２０３、１２０４および１２５６に接続される。該論理回路は、プロセッサコア１２０１、１２０２および１２５５上で動作するソフトウェアによりコネクションファブリック１２０９を介してプログラムされ得る。ユーザは、オンザフライに種々の特徴をサポートする再構成可能な論理回路１２１７の機能を加え変更することができる。
【００８７】
ＤＭＡ１２９９は、コネクション１２７９を介してコネクションファブリック１２０９を管理しスイッチングすることにより、メモリコントローラ１２０３、１２０４および１２５６、ネットワークモジュール１２０７、１２０８および１２５４、ストレージインターフェースコントローラ１２１０、再構成可能な論理回路１２１７、ＮＶＲＡＭコントローラ１２１８ならびにＳＳＤ  Ｉ／Ｆ１２１９の間のデータ移動を制御する。
【００８８】
ＡＳＵ１２００の動作中、管理マイクロプロセッサ５０３（図５）からのパワーＯＫ信号１２６４が非活性化されると、その非活性化は、重要なデータをＳＳＤ１２２２またはＮＶＲＡＭ１２２０、１２２１および１２５８のような不揮発性メモリに保存するとともに不要な動作を停止し、さらに最低パワーモードに移行してシャットダウンに備えるようにストレージデバイス１２９１に知らせるべくプロセッサコア１２０１、１２０２および１２５５に割り込み（インタラプト）するように最高優先順位のＧＰＩＯコントローラ１２１５を介してＳｏＣ１２９３をトリガする。パワーＯＫ信号１２６４の非活性化の期間中、予備電源コネクション１２７５は、ＡＣ／ＤＣ電源コネクション１２７０に取って代わって短時間の間電力コネクション１２７０を電力回路１２２４を介してＡＳＵ１２００に供給するように構成される。電力回路１２２４は、２つの異なるパワー信号１１７２、１１７３をストレージコントローラ１２１１に供給することができる。
【００８９】
ＡＣＢ１２９０は、電源からのピーク電流の要求を低減するために管理マイクロプロセッサ５０３からのＡＣＢ−ＯＮ信号１２６１がＡＳＵ１２００を段階的にオンにすることを可能にする電力スイッチ１２２３をさらに含む。例えば、ＡＣＢ１２９０は、管理マイクロプロセッサ５０３に、自身が差し込まれていることを、０Ｖの電圧を有するＧＮＤ１２４４に接続されているＡＣＢ−ＩＮ信号１２６２をローレベルにすることによって、知らせる。管理バス１２６０は、ＡＣＢ−ＯＮ１２６１信号、パワーＯＫ信号１２６４、およびＡＣＢ−ＩＮ１２６２信号およびＩ２Ｃバス１２７７を含み、管理マイクロプロセッサ５０３に接続される。Ｉ２Ｃコントローラ１２７４は、コネクション１２７６を介してプロセッサコア１２０１、１２０２、１２５５に接続され、情報を交換するためにプロセッサコア１２０１〜１２０２、１２５５とＳＣＢのＣＰＵモジュール５０３（図５）との間に通信可能に結合されるようにマスターモードおよびスレーブモードの両方として働く。
【００９０】
図１３は、例示的実施形態によるアクティブストレージアレイ１３００の物理的レイアウトを図示するブロック図を示す。このレイアウトでは、電源１３０１、１３０２は、アクティブストレージアレイ１３００の左後ろ側に置かれ、バックプレーンボード（ＢＰＢ：Ｂａｃｋ  Ｐｌａｎｅ  Ｂｏａｒｄ）１３１８上のコネクタ１３０９に差し込まれているパワーパスボード（ＰＢＰ：Ｐｏｗｅｒ  Ｐａｔｈ  Ｂｏａｒｄ）１３０５上のコネクタ１３０７、１３０８に差し込まれる。電源１３０３、１３０３は、アクティブストレージアレイ１３００の右後ろ側に置かれ、ＢＰＢ１３１８上のコネクタ１３１２に差し込まれているＰＢＰ１３０６上のコネクタ１３１０、１３１１に差し込まれる。
【００９１】
２つのスイッチ制御ボード１３１３、１３１４は、ＢＰＢ１３１８上のコネクタ１３１７に差し込まれているスイッチインターフェースボード（ＳＩＢ：Ｓｗｉｔｃｈ  Ｉｎｔｅｒｆａｃｅ  Ｂｏａｒｄ）１３５９上のコネクタ１３１５、１３１６に水平にアクティブストレージアレイ１３００に差し込まれる。アクティブコントローラユニット（ＡＳＵ）１３５０、１３１９は、ＢＰＢ１３１８上のコネクタ１３４１、１３３２、１３３３、１３３４、１３３５、１３３６、１３３７、１３３８、１３３９、１３４０に差し込まれる。各ＡＳＵ１３５０、１３１９は、複数のストレージデバイス１３５２、１３５３、１３５４、１３５５、１３５６、１３５７および１つのアクティブ制御ボードＡＣＢ１３５１を含む。ストレージデバイス１３５２、１３５３、１３５４、１３５５、１３５６、１３５７は、フレキシブルなケーブルを介してＡＣＢ１３５１に接続されるインターフェースドーターボード（ＩＤＢ：Ｉｎｔｅｒｆａｃｅ  Ｄａｕｇｈｔｅｒ  Ｂｏａｒｄ）１３５８に差し込まれる。
【００９２】
さらに、ファン１３２０、１３２１、１３２２、１３２３、１３２４、１３２５は、ＢＰＢ１３１８上のコネクタ１３２６、１３２７、１３２８、１３２９、１３３０、１３３１に接続される。
【００９３】
ＡＳＵ１３５０、１３１９のこの実施形態は６個の２．５”ＨＤＤを含み、アクティブストレージアレイの実施形態の１つは３０個のＡＳＵを含む。これは、１つのアクティブストレージアレイ１３００について合計１８０個の２．５”ＨＤＤを提供する。ネットワーク信号は、スイッチ制御ボード１３１３、１３１４へルーティングされる。
【００９４】
例示的実施形態において記載されたアクティブストレージユニットおよびアクティブストレージアレイは、市販のＳｏｃ、カスタマイズされたＳｏｃ、ＦＰＧＡ、などの種々のハードウェアプラットホームを用いて実装され得る。プラグアンドプレイ能力はアクティブストレージアレイが拡張可能であることを可能にし、パワー管理能力は、種々のユニットが段階的にスイッチオンされることを可能にし、同時に、停電の場合にデータロスを防止する。さらに、再構成論理は、各ユニットがオンザフライにプログラムされることを可能にし、これによりダウンタイムを低減する。
【００９５】
概括的に記載された発明の趣旨および範囲から逸脱せずに特定の実施形態において示された本発明に対して多数の変形および／または改変を加え得ることが当業者に理解されるであろう。従って、本実施形態は、全ての点で例示的であって、限定をするものではないと解されるべきである。
【図１ａ】
2017531856.tif 000003
【図１ｂ】
2017531856.tif 000004
【図２】
2017531856.tif 000005
【図３ａ】
2017531856.tif 000006
【図３ｂ】
2017531856.tif 000007
【図３ｃ】
2017531856.tif 000008
【図４ａ】
2017531856.tif 000009
【図４ｂ】
2017531856.tif 000010
【図４ｃ】
2017531856.tif 000011
【図４ｄ】
2017531856.tif 000012
【図５】
2017531856.tif 000013
【図６】
2017531856.tif 000014
【図７】
2017531856.tif 000015
【図８】
2017531856.tif 000016
【図９】
2017531856.tif 000017
【図１０】
2017531856.tif 000018
【図１１】
2017531856.tif 000019
【図１２】
2017531856.tif 000020
【図１３】
2017531856.tif 000021
【手続補正書】
【提出日】平成28年8月29日(2016.8.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アクティブストレージユニットであって、
複数のストレージデバイス、ならびに
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、前記プロセッサに通信可能に結合された不揮発性メモリ（ＮＶＭ）モジュール、および前記アクティブストレージユニットをオンザフライにプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボード、を含み、
前記複数のストレージデバイスは、前記アクティブ制御ボードに通信可能に結合され、前記アクティブ制御ボードは、前記プロセッサが前記複数のストレージデバイスへのアクセスを制御することを可能にするために前記プロセッサおよび前記複数のストレージデバイスに通信可能に結合されたメディアコントローラをさらに含み、前記アクティブストレージユニットの機能および特徴はオンザフライに変更され得る、
アクティブストレージユニット。
【請求項２】
前記アクティブ制御ボードの前記不揮発性メモリモジュールは、ブロックベースＮＶＭモジュールであり、前記複数のストレージデバイスに格納されたブロックベースデータのためにキャッシュを提供するように構成される、請求項１に記載のアクティブストレージユニット。
【請求項３】
前記複数のストレージデバイスはブロックベースの記憶媒体を含む、請求項２に記載のアクティブストレージユニット。
【請求項４】
前記再構成可能な論理回路は、前記アクティブストレージユニットの前記機能および特徴を変更するためにオンザフライにプログラマブルである、請求項２に記載のアクティブストレージユニット。
【請求項５】
前記プロセッサは、停電の場合に前記少なくとも１つの内部メモリモジュール内の揮発性データを前記不揮発性メモリモジュールに書き込むように構成される、請求項２に記載のアクティブストレージユニット。
【請求項６】
停電の場合に前記プロセッサが前記少なくとも１つの内部メモリモジュール内の前記揮発性データを前記不揮発性メモリモジュールに書き込むのに十分な時間にわたって非常用電力を前記アクティブストレージユニットに提供するように構成された予備電源をさらに含む、請求項５に記載のアクティブストレージユニット。
【請求項７】
前記ブロックベース不揮発性メモリモジュールは、ブロックベースデータを格納するためのソリッドステートドライブを含む、請求項２に記載のアクティブストレージユニット。
【請求項８】
前記アクティブ制御ボードは、オブジェクトおよびファイル転送プロトコルを解釈して前記複数のストレージデバイスへのまたは前記複数のストレージデバイスからの現実のデータ転送を実行させるように構成される、請求項１に記載のアクティブストレージユニット。
【請求項９】
前記アクティブ制御ボードは、分散型ファイルシステムソフトウェアを動作させるように構成されたオペレーティングシステムを含む、請求項１に記載のアクティブストレージユニット。
【請求項１０】
前記アクティブ制御ボードは、（ａ）分散型ストレージクラスタを自己構成し維持するために分散型ファイルシステムおよび他のシステムおよびアプリケーションソフトウェアを用いて内部および外部のネットワークスイッチを通してアクセス可能な他のアクティブ制御ボードとのコマンド、ステータスおよびデータ交換を実行すること、および（ｂ）電源異常後、前記アクティブストレージユニットのストレージリソースへの前記アクティブ制御ボードの関与に関する情報を前記ストレージリソースの復旧のために維持すること、を含む群から選択された１つ以上の機能を成し遂げるために前記アクティブ制御ボード上の種々のハードウェアデバイスを制御するソフトウェアプログラムを実行するように構成される、請求項１に記載のアクティブストレージユニット。
【請求項１１】
前記複数のストレージデバイスは、ブロックベースデータを格納するためのハードディスクドライブ（ＨＤＤ）、ハイブリッドＨＤＤ、ソリッドステートドライブ（ＳＳＤ）、およびハイブリッドＳＳＤから成る群のうちの少なくとも１つを含む、請求項１に記載のアクティブストレージユニット。
【請求項１２】
前記アクティブ制御ボードは、自身に結合されている少なくとも１つの不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）モジュールを制御するように構成されたＮＶＲＡＭコントローラをさらに含み、前記プロセッサは、停電の場合に前記少なくとも１つのＮＶＲＡＭモジュールにキャッシュデータを書き込むために前記ＮＶＲＡＭコントローラを使用し、電力回復後、処理を再開するためにキャッシュデータを前記ＮＶＲＡＭモジュールからリロードする、請求項１に記載のアクティブストレージユニット。
【請求項１３】
前記アクティブ制御ボードは、前記プロセッサに通信可能に結合されたインターインテグレーテッドサーキット（Ｉ２Ｃ）をさらに含み、Ｉ２Ｃバスは、バックプレーンボードから前記Ｉ２Ｃに通信可能に結合される、前記請求項１に記載のアクティブストレージユニット。
【請求項１４】
１つ以上のアクティブストレージユニットであって、各アクティブストレージユニットは、
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、および前記アクティブストレージユニットをプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボードと、
前記アクティブ制御ボードに通信可能に結合された複数のストレージデバイスとを含み、前記アクティブ制御ボードは、前記プロセッサが前記複数のストレージデバイスへのアクセスを制御できるように前記プロセッサおよび前記複数のストレージデバイスに通信可能に結合されたメディアコントローラをさらに含む、前記１つ以上のアクティブストレージユニット、ならびに
前記１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェース接続し、これにより前記外部デバイスおよび前記１つ以上のアクティブストレージユニットの間で直接にデータ操作を可能にする１つ以上のスイッチ制御ボードであって、前記１つ以上のスイッチ制御ボードの各々は、前記１つ以上のアクティブストレージユニットの各々の前記プロセッサに通信可能に結合されたマイクロコントローラユニット（ＭＣＵ）を、前記ＭＣＵによる前記１つ以上のアクティブストレージユニットの管理動作を可能にするために、含む、前記１つ以上のスイッチ制御ボード、
を含むアクティブストレージアレイ。
【請求項１５】
前記アクティブストレージアレイは、イーサネットコネクションをさらに含み、バックプレーンボードは、前記１つ以上のアクティブストレージユニットおよび前記１つ以上のスイッチ制御ボードを受け入れるようにさらに構成され、前記１つ以上のアクティブストレージユニットおよび前記１つ以上のスイッチ制御ボードは前記バックプレーンボードに活線挿抜可能であり、各アクティブ制御ボード上のマイクロプロセッサは前記イーサネットコネクションに結合される、請求項１４に記載のアクティブストレージアレイ。
【請求項１６】
ストレージボリュームの中の全てのアクティブ制御ボードにおいてデータを複製することによってデータ冗長性が達成される、請求項１４に記載のアクティブストレージアレイ。
【請求項１７】
１つ以上のアクティブストレージユニットであって、各アクティブストレージユニットは、
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、および前記アクティブストレージユニットをプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボードと、
前記アクティブ制御ボードに通信可能に結合された複数のストレージデバイスと、を含む、前記１つ以上のアクティブストレージユニット、
前記１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェースし、これにより前記外部デバイスおよび前記１つ以上のアクティブストレージユニットの間で直接にデータ操作を可能にする１つ以上のスイッチ制御ボード、ならびに
それぞれの１つ以上のアクティブストレージユニットおよび前記外部デバイスの間に各々インターフェース接続し、スイッチコントローラモジュールに通信可能に結合されたネットワークスイッチを各々含む複数のスイッチ制御ボード、
を含むアクティブストレージアレイ。
【請求項１８】
前記複数のスイッチ制御ボードは、分散型アクティブストレージアレイを形成するべく、前記ネットワークスイッチを介して相互に協働するように構成される、請求項１７に記載のアクティブストレージアレイ。
【請求項１９】
１つ以上のアクティブストレージユニットであって、各アクティブストレージユニットは、
プロセッサ、前記プロセッサに通信可能に結合された少なくとも１つの内部メモリモジュール、および前記アクティブストレージユニットをプログラムするために前記プロセッサに通信可能に結合された再構成可能な論理回路を含むアクティブ制御ボードと、
前記アクティブ制御ボードに通信可能に結合された複数のストレージデバイスとを含む、前記１つ以上のアクティブストレージユニット、ならびに
前記１つ以上のアクティブストレージユニットおよび外部デバイスの間にインターフェースし、これにより前記外部デバイスおよび前記１つ以上のアクティブストレージユニットの間で直接にデータ操作を可能にする１つ以上のスイッチ制御ボード、を含むアクティブストレージアレイであって、前記１つ以上のスイッチ制御ボードは、各々、ネットワークスイッチに通信可能に結合された、前記アクティブ制御ボードの各々に配置された電力スイッチを介して前記１つ以上のアクティブストレージユニットの前記アクティブ制御ボードを段階的にパワーオンするように構成されたシャーシ管理プロセッサを含む、
アクティブストレージアレイ。
【国際調査報告】
2017531856.tif 000022
2017531856.tif 000023
2017531856.tif 000024
2017531856.tif 000025
2017531856.tif 000026