(58)【調査した分野】(Int.Cl.,DB名)
前記ネットワークは、クラウドコンピューティングネットワークであり、前記複数のデバイスは前記クラウドコンピューティングネットワーク内のSSDである請求項1に記載の方法。
前記予め定められた基準のセットは、デバイスの処理能力、デバイスの実行履歴、およびデバイスのストレージ容量からなるグループから選択される請求項9に記載の方法。
前記指名は、前記スーパーセルの前記メンバデバイスの間での選択プロセスに基づいて前記中核デバイスを選択することを備える請求項1から8のいずれか一項に記載の方法。
前記中核デバイスは、前記複数のスーパーセルのうち隣接スーパーセルから追加のメンバデバイスをそれぞれのスーパーセルに追加するように構成される請求項1から12のいずれか一項に記載の方法。
ネットワーク内の複数のデバイスを、それぞれが前記複数のデバイスのサブセットを有する複数のスーパーセルに分割する動作を行うことができるシステムコントローラと、
前記システムコントローラと前記複数のスーパーセルとの間を通信可能とする動作を行うことができるバックボーンと、
各スーパーセルが当該スーパーセル内のメンバデバイスから指名された中核デバイスを有する前記複数のスーパーセルと
を備え、
前記中核デバイスは、
特定タスクに関連付けられた前記システムコントローラからコマンドを受信し、
前記スーパーセル内の前記メンバデバイスの間で前記特定タスクを配分し、
前記特定タスクの実行に関する情報を前記メンバデバイスから集約し、
前記情報を前記システムコントローラへ通信する
ように構成され、
前記各スーパーセルの前記メンバデバイスは、前記各スーパーセルの前記中核デバイスと通信するように構成され、且つ、前記各スーパーセルの他の前記メンバデバイスおよび前記システムコントローラと通信しないように構成される、非集中化ストレージシステム。
各スーパーセルが複数のメンバデバイスを有し、前記複数のメンバデバイスの間から選択された中核デバイスが前記複数のメンバデバイスと通信して制御するように動作可能な複数のスーパーセルと、
前記複数のスーパーセルのそれぞれに関連付けられた中核デバイスと通信し、前記複数のメンバデバイスのうち前記中核デバイスを除く他のメンバデバイスと通信しないように動作可能であり、構成およびコマンド情報を、前記複数のスーパーセルのそれぞれに関連付けられた前記中核デバイスと交換するシステムコントローラと、
前記複数のスーパーセルを前記システムコントローラに通信可能に接続するように動作可能であり、前記システムコントローラと前記複数のスーパーセルのそれぞれに関連付けられた前記中核デバイスとの間でコマンドおよび構成情報を通信し、前記システムコントローラと前記複数のスーパーセルのそれぞれ内の前記複数のメンバデバイスとの間でストレージデータを通信するために用いられるバックボーンと
を備え、
前記システムコントローラは、特定タスクに関連付けられたコマンドを前記複数のスーパーセルのそれぞれに関連付けられた前記中核デバイスへと通信し、
関連付けられた前記中核デバイスは、各スーパーセルのメンバデバイスが前記特定タスクの一部を実行するように構成し、
前記各スーパーセルの前記メンバデバイスは、前記各スーパーセルの関連付けられた前記中核デバイスと通信するように構成され、且つ、前記各スーパーセルの他の前記メンバデバイスおよび前記システムコントローラと通信しないように構成される
非集中化ストレージネットワーク。
【発明を実施するための形態】
【0024】
ここで、本開示の様々な実施形態が詳細に参照されることになり、これらの実施形態の実施例が添付図面に示されている。実施例がこれらの実施形態と共に説明されるが、本開示がこれらの実施形態に限定されることは意図していないことが理解されるであろう。反対に、本開示は、添付の特許請求の範囲によって定義される本開示の主旨および範囲内に含まれ得る代替例、修正例、および均等物をカバーすることが意図される。さらに、本開示の以下の詳細な説明では、本開示への深い理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を用いずに実施され得ることが理解されるであろう。他の例では、本開示の態様を不必要に曖昧にしないよう、周知の方法、手順、コンポーネント、および回路は詳細には説明されていない。
【0025】
以下の詳細な説明のいくつかの部分は、手順、論理ブロック、処理、および、コンピュータメモリ内のデータビットに対する演算の他の記号表現の観点から提示される。これらの説明および表現は、データ処理分野の当業者によって、彼らの研究の本質を他の当業者に最も効果的に伝えるために使用される手段である。本出願において、手順、論理ブロック、プロセス、または同様のものは、所望の結果をもたらす首尾一貫した一連の段階または命令であると考えられる。これらの段階は、物理量の物理的操作を利用するものである。通常、必ずではないが、これらの量は、コンピュータシステムにおいて格納され、転送され、組み合わせられ、比較され、および、そうでなければ操作されることが可能な電気信号または磁気信号の形をとる。これらの信号を、トランザクション、ビット、値、要素、記号、文字、サンプル、ピクセルなどと呼ぶことが、主に一般的に用いられているという理由で、場合によっては便利であると分かっている。
【0026】
しかしながら、これらのおよび同様の用語の全ては、適切な物理量と関連付けられるべきであり、これらの量に適用される便宜的なラベルに過ぎないことが留意されるべきである。別途具体的に述べられない限り、以下の説明から明らかなように、本開示を通じて、「分割する」、「指名する」、「送信する」、「受信する」、「構成する」、「提供する」、「実行する」、「取得する」、「実装する」、「プログラムする」「割り当てる」、「関連付ける」、「設定する」、「アクセスする」、「制御する」、「判断する」、「識別する」、「維持する」、「読み出す」、「書き込む」、または同様のものなどの用語を利用する説明は、コンピュータシステムまたは同様の電子コンピューティングデバイスもしくはプロセッサ(例えば、
図1のシステム110)の動作およびプロセス(例えば、
図9のフローチャート900)を指すことを理解されたい。コンピュータシステムまたは同様の電子コンピューティングデバイスは、コンピュータシステムメモリ、レジスタ、もしくは、他のそのような情報記憶デバイス、送信デバイス、またはディスプレイデバイス内で物理(電子)量として表されるデータを操作および変換する。
【0027】
本明細書において説明される実施形態は、1または複数のコンピュータまたは他のデバイスによって実行される、プログラムモジュールなどの何らかの形式のコンピュータ可読記憶媒体に存在するコンピュータ実行可能命令の一般的文脈において説明されてよい。限定としてではなく例として、コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体および通信媒体を含んでよく、非一時的コンピュータ可読媒体は、一時的な伝播信号を除く全てのコンピュータ可読媒体を含む。概して、プログラムモジュールは、特定のタスクを行い、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態において要望通りに組み合わせられ、または分散されてよい。
【0028】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の記憶のための任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、限定されないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または所望の情報を格納するために使用でき、該情報を読み出すためにアクセスできる任意の他の媒体を含む。
【0029】
通信媒体は、コンピュータ実行可能命令、データ構造、およびプログラムモジュールを具現化でき、任意の情報配信媒体を含む。限定としてではなく例として、通信媒体は、有線ネットワークもしくは直接有線接続などの有線媒体、ならびに、音波、無線周波数(RF)、赤外線などの無線媒体、および他の無線媒体を含む。上記のうちの任意のものの組合せもまた、コンピュータ可読媒体の範囲内に含まれ得る。
【0030】
図1は、本発明の一実施形態に係る、本発明の非集中化ストレージ環境の実施形態が実装され得るコンピュータシステム110である。
【0031】
一実施形態において、システム110は、システムコントローラ(または制御サーバ)の機能を実行してよい。システム110は、コンピュータ可読命令を実行することが可能な任意のシングルプロセッサまたはマルチプロセッサのコンピューティングデバイスまたはシステムを幅広く表す。制御システム110の例は、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、または、任意の他のコンピューティングシステムもしくはデバイスを含むが、それらに限定されない。その最も基本的な構成において、制御システム110は、少なくとも1つのプロセッサ114とシステムメモリ116とを含んでよい。
【0032】
プロセッサ114は、データを処理すること、または命令を解釈および実行することが可能なあらゆる種類または形態の処理ユニットを概して表す。特定の実施形態において、プロセッサ114は、ソフトウェアアプリケーションまたはモジュールから命令を受信してよい。これらの命令は、本明細書において説明および/または示される例示的な実施形態のうちの1または複数のものの機能をプロセッサ114に行わせてよい。
【0033】
システムメモリ116は、データおよび/または他のコンピュータ可読命令を格納することが可能なあらゆる種類または形態の揮発性もしくは不揮発性記憶デバイスまたは媒体を概して表す。システムメモリ116の例は、RAM、ROM、フラッシュメモリ、または任意の他の適切なメモリデバイスを含むが、それらに限定されない。必須ではないが、特定の実施形態では、制御システム110は、揮発性メモリユニット(例えばシステムメモリ116など)および不揮発性記憶デバイス(例えば主記憶デバイス132など)の両方を含んでよい。
【0034】
テスタ制御システム110は、プロセッサ114およびシステムメモリ116に加えて、1つまたは複数のコンポーネントまたは要素も含んでよい。例えば、
図1の実施形態において、制御システム110は、メモリコントローラ118、入力/出力(I/O)コントローラ120、および通信インタフェース122を含み、これらはそれぞれ、通信インフラストラクチャ112を介して相互接続されてよい。通信インフラストラクチャ112は概して、コンピューティングデバイスの1つまたは複数のコンポーネント間の通信を促進することが可能な、あらゆる種類または形態のインフラストラクチャを表す。通信インフラストラクチャ112の例は、通信バス(業界標準アーキテクチャ(ISA)、ペリフェラルコンポーネントインターコネクト(PCI)、PCIエクスプレス(PCIe)、もしくは同様のバスなど)、およびネットワークを含むが、それらに限定されない。
【0035】
メモリコントローラ118は概して、メモリ若しくはデータを扱うことが可能な、または制御システム110の1つ若しくは複数のコンポーネント間の通信を制御することが可能な、あらゆる種類または形態の装置を表す。例えば、メモリコントローラ118は、通信インフラストラクチャ112を介して、プロセッサ114、システムメモリ116、およびI/Oコントローラ120の間の通信を制御してよい。
【0036】
I/Oコントローラ120は、コンピューティングデバイスの入力機能および出力機能を調整および/または制御することが可能なあらゆる種類または形態のモジュールを概して表す。例えば、I/Oコントローラ120は、プロセッサ114、システムメモリ116、通信インタフェース122、ディスプレイアダプタ126、入力インタフェース130、およびストレージインタフェース134などの制御システム110の1または複数の要素の間のデータ転送を制御してよく、または促進してよい。
【0037】
通信インタフェース122は、例示的な制御システム110と1または複数の追加のデバイスとの間の通信を促進することが可能な、あらゆる種類または形態の通信デバイスまたはアダプタを概して表す。例えば、通信インタフェース122は、制御システム110と、追加の制御システムを含むプライベートネットワークまたはパブリックネットワークとの間の通信を促進してよい。通信インタフェース122の例は、有線ネットワークインタフェース(ネットワークインタフェースカードなど)、無線ネットワークインタフェース(無線ネットワークインタフェースカードなど)、モデム、および任意の他の適切なインタフェースを含むが、それらに限定されない。1つの実施形態において、通信インタフェース122は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供する。通信インタフェース122はまた、任意の他の適切な接続を通じてそのような接続を間接的に提供してよい。
【0038】
通信インタフェース122はまた、外部バスまたは通信チャネルを介して、制御システム110と、1または複数の追加のネットワークまたは記憶デバイスとの間の通信を促進するよう構成されるホストアダプタを表してよい。ホストアダプタの例は、スモールコンピュータシステムインタフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、IEEE(米国電気電子技術者協会)1394ホストアダプタ、シリアルアドバンスドテクノロジアタッチメント(SATA)および外部SATA(eSATA)ホストアダプタ、アドバンスドテクノロジアタッチメント(ATA)およびパラレルATA(PATA)ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネット(登録商標)アダプタ、または同様のものを含むが、それらに限定されない。通信インタフェース122はまた、制御システム110が分散コンピューティングまたはリモートコンピューティングに携わることを可能にしてよい。例えば、通信インタフェース122は、リモートデバイスから命令を受信してよく、または、実行のために命令をリモートデバイスに送信してよい。
【0039】
図1に示すように、制御システム110はまた、ディスプレイアダプタ126を介して通信インフラストラクチャ112に接続される少なくとも1つのディスプレイデバイス124を備えてよい。ディスプレイデバイス124は、ディスプレイアダプタ126によって転送された情報を視覚的に表示することが可能なあらゆる種類または形態のデバイスを概して表す。同様に、ディスプレイアダプタ126は、ディスプレイデバイス124上で表示するために、グラフィックス、テキスト、および他のデータを転送するよう構成されるあらゆる種類または形態のデバイスを概して表す。
【0040】
図1に示すように、制御システム110はまた、入力インタフェース130を介して通信インフラストラクチャ112に接続される少なくとも1つの入力デバイス128を備えてよい。入力デバイス128は、コンピュータまたは人間のいずれかが生成した入力を制御システム110に提供することが可能なあらゆる種類または形態の入力デバイスを概して表す。入力デバイス128の例は、キーボード、ポインティングデバイス、音声認識デバイス、または任意の他の入力デバイスを含むが、それらに限定されない。
【0041】
図1に示すように、制御システム110はまた、ストレージインタフェース134を介して通信インフラストラクチャ112に接続される主記憶デバイス132およびバックアップ記憶デバイス133を含んでよい。記憶デバイス132および133は、データおよび/または他のコンピュータ可読命令を格納することが可能なあらゆる種類または形態の記憶デバイスまたは媒体を概して表す。例えば、記憶デバイス132および133は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブ、または同様のものであってよい。ストレージインタフェース134は、記憶デバイス132および133と、制御システム110の他の構成要素との間でデータを転送するためのあらゆる種類または形態のインタフェースまたはデバイスを概して表す。
【0042】
1つの例において、データベース140が、主記憶デバイス132に格納されてよい。データベース140は、単一のデータベースまたはコンピューティングデバイスの一部を表してよく、複数のデータベースまたはコンピューティングデバイスを表してもよい。例えば、データベース140は、制御システム110の一部、および/または、(下記の)
図2の例示的ネットワークアーキテクチャ200の一部を表して(に格納されて)よい。あるいは、データベース140は、制御システム110および/またはネットワークアーキテクチャ200の一部などのコンピューティングデバイスがアクセス可能な1または複数の物理的に別個のデバイスを表して(に格納されて)よい。
【0043】
引き続き
図1を参照すると、記憶デバイス132および133は、コンピュータソフトウェア、データ、または他のコンピュータ可読情報を格納するよう構成される取り外し可能記憶ユニットから読み出す、および/またはそれに書き込むよう構成されてよい。好適な取り外し可能記憶ユニットの例は、フロッピー(登録商標)ディスク、磁気テープ、光ディスク、フラッシュメモリデバイス、または同様のものを含むが、それらに限定されない。記憶デバイス132および133は、コンピュータソフトウェア、データ、または他のコンピュータ可読命令を制御システム110にロードすることを可能にするための、他の類似の構造またはデバイスを含んでもよい。例えば、記憶デバイス132および133は、ソフトウェア、データ、または他のコンピュータ可読情報を読み出し、書き込むように構成されてよい。記憶デバイス132および133は、制御システム110の一部であってもよく、または、他のインタフェースシステムを通じてアクセスされる別個のデバイスであってよい。
【0044】
多くの他のデバイスまたはサブシステムが、制御システム110に接続されてよい。逆に、本明細書において説明される実施形態を実施するために、
図1に示される構成要素およびデバイスの全てが存在する必要はない。上述したデバイスおよびサブシステムは、
図1に示したものとは異なる方法で相互接続されてもよい。制御システム110は、任意の数のソフトウェア、ファームウェア、および/またはハードウェア構成を利用してもよい。例えば、本明細書において開示される例示的な実施形態は、コンピュータ可読媒体上でコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、またはコンピュータ制御ロジックとも呼ばれる)として符号化されてよい。
【0045】
コンピュータプログラムを含むコンピュータ可読媒体は、制御システム110にロードされてよい。コンピュータ可読媒体に格納されたコンピュータプログラムの全てまたは一部は、その後、システムメモリ116並びに/または記憶デバイス132および133の様々な部分に格納されてよい。制御システム110にロードされたコンピュータプログラムは、プロセッサ114によって実行される場合、本明細書において説明されるおよび/または示される例示的な実施形態の機能をプロセッサ114に実行させてよく、および/またはこれらの機能を実行する手段であってもよい。追加的または代替的に、本明細書において説明および/または示される例示的な実施形態は、ファームウェアおよび/またはハードウェアにおいて実装されてよい。
【0047】
図2は、制御された環境チャンバ10または「オーブン」の中に被試験デバイス(DUT)が配置された典型的なテスト環境を示す。SSD等のDUTは、テストヘッド20のテスタスライスに接続される。多数のDUTが単一のテスタスライス40に接続され得る。テスタスライスは、テストプランにしたがってDUTに対してテストを行うテスト回路を含む。テストヘッド20ごとに多くのテスタスライスが設けられ得る。DUTは、オーブン10に挿入されたときにトレイ30に配置される。オーブン10の中にあるとき、DUTは、チャンバ10における制御された環境を乱さないよう通常ユーザが手を触れることができない。さらに、テストヘッドは、テストヘッドに直接接続され、この方式でテストヘッド20の全てのスライスを制御する単一のシステムコントローラ(不図示)によって通常制御される。DUTにおけるテストプランを実行する単一ユーザが、制御用コンピュータを通常操作する。
【0048】
このテスト環境の課題は、上述したように、ATEシステムでSSDストレージデバイスのセットまたはアレイがテスト中である場合、各ストレージデバイスは、システムコントローラからデバイスへの別個の通信チャネルを用いて通信することである。これは、システムコントローラに接続されるプライマリ通信チャネルを経由する必要がある大量のトラフィックを発生する。このことは、システムコントローラにおけるプライマリ通信接続部におけるボトルネックを発生させうる。また、システムコントローラが同じコマンドをセット内の各個別デバイスに送信する必要がある場合(セットを再利用すること、暗号化を確立すること、デバイスをリセットすることなどのために)、コマンドおよびデータが複製されて、システムコントローラから各デバイスへと渡されるので、通信機構は非効率になる。
【0049】
図3は、テスタスライスと、システムコントローラおよびDUTとのその相互接続とについての例示的な実施形態を示す詳細な概略ブロック図である。
【0050】
図3を参照すると、各テスタスライスはサイトモジュールを備える。サイトモジュールは、1つの実施形態において、テスタスライス340A〜340N上に機械的に構成され得る。ここで、各テスタスライスは少なくとも1つのサイトモジュールを備える。特定の典型的な実施形態において、各テスタスライスは、2つのサイトモジュールと2つのデバイス電源ボードとを備え得る。他の実施形態においては、テスタスライスは、より多くのまたはより少ないサイトモジュールおよび/または電源ボードを備えてよい。
図3のテスタスライス340Aは、例えば、サイトモジュール310Aおよび310Bと、デバイス電源ボード332Aおよび332Bとを備える。しかしながら、テスタスライス上に構成され得るデバイス電源ボードまたはサイトモジュールの数に対する制限はない。テスタスライス340は、ネットワークスイッチ302を通じてシステムコントローラ301に接続される。ネットワークスイッチ302は、32ビット幅のバスで、これらのサイトモジュールのそれぞれに接続されてよい。
【0051】
1つの実施形態において、システムコントローラ301は、例えば、ATEのユーザがテストプログラムをロードし、ATE300に接続されたDUTに対してテストを実行するためのユーザインタフェースを提供するパーソナルコンピュータ(PC)といったコンピュータシステムであってよい。Advantest Stylus(商標) Operating Systemは、デバイステストの間に通常使用されるテストソフトウェアの1つの例である。それは、ユーザにグラフィカルユーザインタフェースを提供し、当該グラフィカルユーザインタフェースから、テストは構成され、制御される。それはまた、テストフローを制御し、テストプログラムの状態を制御し、どのテストプログラムが実行中であるかを判断し、テスト結果と、テストフローに関連する他のデータとのログを取る機能を備え得る。1つの実施形態において、システムコントローラは、512個もの数のDUTに接続され、それらを制御し得る。
【0052】
1つの実施形態において、システムコントローラ301は、イーサネット(登録商標)スイッチなどのネットワークスイッチを介してサイトモジュールボード310A〜310Bに接続され得る。他の実施形態において、ネットワークスイッチは、例としてファイバチャネル、802.11、またはATMなどの異なるプロトコルと互換性があるものであってよい。
【0053】
デバイス電源ボード332A〜332Bの各々は、サイトモジュール310A〜310Bのうちの1つから制御され得る。テスタプロセッサ304上で動作するソフトウェアは、特定のサイトモジュールにデバイス電源を割り当てるよう構成され得る。1つの実施形態において、サイトモジュール310A〜310Bおよびデバイス電源332A〜332Bは、例えば、例としてペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)、シリアルATアタッチメント(SATA)、またはシリアルアタッチドSCSI(SAS)といった高速シリアルプロトコルを使用して互いに通信し合うよう構成される。
【0054】
1つの実施形態において、各サイトモジュールは、
図3に示されるように2つのFPGAで構成される。
図3の実施形態におけるFPGA316および318のそれぞれは、テスタプロセッサ304によって制御される。テスタプロセッサ304は、
図3のシステムバス330および332で示されるように、PCIeなどの8レーン高速シリアルプロトコルインタフェースを用いて各FPGAと通信することができる。他の実施形態において、テスタプロセッサ304はまた、例えば、シリアルATアタッチメント(SATA)またはシリアルアタッチドSCSI(SAS)といった異なる高速シリアルプロトコルを用いてFPGAと通信してもよい。
【0055】
FPGA316および318は、それぞれメモリモジュール308および304に接続される。メモリモジュールは、FPGAデバイスおよびテスタプロセッサ304の両方と接続され得て、それらによって制御され得る。
【0056】
FPGA316および318は、それぞれバス352および354を介してロードボード380上のDUT372A〜372Mに接続され得る。ロードボード380は、ライン352および354でDUTへ通信するのに用いられるプロトコルに依存しない汎用高速接続を、サイトモジュールエンドで可能にする物理ハーネスである。しかしながら、DUTエンドにおいてロードボードは、DUTによって用いられているプロトコルに固有のコネクタを有するように設計される必要がある。
【0057】
図3は、テスタスライスの例示的な実施形態のみを示していることに留意すべきである。さらに、本発明の実施形態は、
図3に示すテスタスライスのタイプのみに限定されないことに留意されたい。本発明の実施形態は、下記でさらに説明される異なるタイプのテスタスライスおよびプリミティブを含んでよい。
【0058】
本発明の1つの実施形態において、DUT372A〜372Mは、テストのために、サーマルチャンバ390の内部に配置されたロードボード380にロードされる。DUT372A〜372Mおよびロードボード380は、デバイス電源332Aおよび332Bから電力を得る。
【0059】
各FPGAに接続され得るDUTの数は、FPGA内のトランシーバの数と、各DUTによって必要とされるI/Oレーンの数とに依存する。1つの実施形態において、FPGA316および318はそれぞれ、32個の高速トランシーバを備えることができ、バス352および354はそれぞれ、32ビット幅であり得る。しかしながら、用途に応じてそれより多い、またはそれより少ないものが実装され得る。例えば、各DUTが8個のI/Oレーンを必要とする場合、そのようなシステムでは各FPGAに4つのDUTのみが接続され得る。
【0060】
図4Aは、本発明の一実施形態に係る、DUTインタフェースボード(DIB)400とインタフェースで接続されるプリミティブ410を示す。
図2に示すテスタスライス40と同様に、
図4のプリミティブは、テストヘッド20に収まるタイプの個別のテストモジュールであり、テストプランにしたがってDUTに対してテストを行うテスト回路を備える。プリミティブは、例えばサイトモジュール、電源などの全ての様々な電子機器がその内に収容される筐体450を備える。DIB400は、DUT420に合わせた寸法の特注のコネクタを使用して複数のDUT420を含み得る。DIB400はまた、筐体470を備え得る。DIB400は、
図3に示すロードボード380と同様のロードボード(不図示)を介してプリミティブ410のユニバーサルバックプレーン(不図示)にインタフェースで接続する。プリミティブ410は、DUT420に対してテストプランを実行するための(
図3に示すテスタスライス340Aと同様の)テスト回路を含む。プリミティブ410は、任意の他のプリミティブとは独立して動作でき、(
図3に示すシステムコントローラ301と同様の)制御サーバに接続される。
【0061】
図4Bは、単一のテスタラック492内に複数のプリミティブ491を備えるワークセルを示す。本発明の実施形態は、(
図4Bに示すプリミティブと同様の)複数のプリミティブと、関連付けられるDIBとを利用してDUTをテストする。本発明の実施形態は、(
図2のテスタスライス40と同様の)テスタスライスを使用してDUTをテストすることもできる。各プリミティブ(またはテスタスライス)はモジュール方式であり、それが他のプリミティブ(またはテスタスライス)から独立して動作することが可能であることを意味する。プリミティブは、命令、制御、管理などのために制御サーバと通信する。制御サーバは、それがサポートする様々なプリミティブのための複数のアプリケーションプログラムまたはテストプランをホストすることが可能である。プリミティブは、標準IPネットワークを介してサーバと通信することができる。遠隔配置され得る様々なコンピュータシステムは、標準IPネットワーク接続を介してサーバにアクセスすることができる。
【0062】
各プリミティブは、いくつかのSSDに同時に接続され、これらをテストしてよい。さらに、各プリミティブは、制御サーバによって制御される。上述したように、このテスト環境に関連付けられた課題は、従来のシステムではATEフレームワーク中のプリミティブに接続される各SSDは別個の通信チャネルを用いて制御サーバと通信し、それによりシステムコントローラにおいてボトルネックを生じることである。さらに、このことは、システムコントローラが、プリミティブに接続された全デバイスに重複したコマンドを送信する結果となる。
【0063】
本発明の一実施形態において、システムコントローラ(例えば
図3におけるコントローラ301)は、プリミティブ(例えば
図4Bに示したようにラック内に配置されたプリミティブ)内の中核デバイスに接続することができ、そこでシステムコントローラは制御および構成情報をプリミティブ内の中核デバイスへ送信し、中核デバイスはプリミティブ内の他のメンバデバイス(例えばSSDのDUT)と通信する。例えば、
図5に見られるように、スーパーセル530および関連付けられた中核デバイス550は、試験ラック内の単一のプリミティブの一部であってよく、スーパーセル540および関連付けられた中核デバイス555は、同じ試験ラック内の異なるプリミティブの一部であってよい。システムコントローラ510(システムコントローラ301と同様)は、下記にさらに説明されるように、様々なプリミティブ(および関連するスーパーセル)と通信する。
【0064】
また上述したように、ATEフレームワークにおいて発生するものと同様の課題(
図2、3、4Aおよび4Bに関連して論じたもの)は、一般にクラウドコンピューティングシステムでも発生する。例えば従来のクラウドコンピューティング環境では、制御サーバは、通常、クラウドベースのシステム内の各デバイスを構成および制御するために、各デバイスと通信可能である必要があるであろう。これは、オーバヘッドによってデータバンド幅が低減される結果を生じる。クラウドコンピューティングシステムに関する実施形態では、スーパーセル530および540は、電子メールまたは他のデータを格納するサーバファームの一部である記憶デバイスを有し得る。
【0065】
図5は、本発明の一実施形態に係る、2つスーパーセルを含む例示的な分散ネットワークトポロジーを示す。従来のATEまたはクラウドコンピューティングシステムの欠点に対処するため、本発明の実施形態は、各々が複数SSDデバイスを備える1または複数の「スーパーセル」によって編成されたネットワークトポロジーを提供する。システムコントローラ510は、1または複数のスーパーセル(
図5におけるスーパーセル530および540)を構成する。スーパーセルは、任意のサイズであってよい。換言すれば、各スーパーセルは、任意の数のSSDデバイスを有してよい。さらに、単一ネットワーク内の各スーパーセルは、他のスーパーセルと異なるサイズであってよい。スーパーセル内のデバイスは、1つの実施形態において、単一の記憶ユニットとして動作するように構成されてよい。
【0066】
図5に示された実施形態は、ATEフレームワーク環境およびクラウドコンピューティング環境の両方に適用できることに留意すべきである。上述のように、スーパーセル530および関連付けられた中核デバイス550は、試験ラック内の単一のプリミティブの一部であってよく、スーパーセル540および関連付けられた中核デバイス555は同じ試験ラック内の異なるプリミティブの一部であってよい。あるいは、スーパーセル530および540は、クラウドコンピューティングシステム内の、サーバファームの一部である、電子メールまたは他のデータを格納する記憶デバイスを有し得る。
【0067】
図5に示されるように、システムコントローラ510は、PCIeバックボーン等のバックボーンに接続される。バックボーンは、いくつかの異なる通信プロトコルのうちの1つを利用することができ、PCIeに限定されないことに留意すべきである。また、SSDデバイスの2つスーパーセル530および540がバックボーン520に接続される。各セットは、全部がPCIeバックボーン520に接続された複数のSSDデバイスを有する。SSDデバイスはまた、同じ場所にあるSSDデバイス同士の間での無線通信機能を有してよい。メンバデバイスの無線範囲は、いくつかの例においては、スーパーセルのサイズを制限しうることに留意すべきである。例えば、スーパーセル内のデバイスが互いに無線通信するように構成された場合、スーパーセルのサイズは、スーパーセル内の各デバイスがいかなる信号減衰もなく互いに無線通信可能であるように制約される。換言すれば、スーパーセルの全メンバデバイスは、信号損失なく互いに通信可能である必要がある。
【0068】
異なる実施形態において、スーパーセルのデバイスは、中核のみと通信するように構成され、相互間で通信する必要がない。本実施形態においては、スーパーセルは、全てのデバイスがいかなる信号劣化もなく中核デバイスと通信することができるサイズである必要がある。
【0069】
ATEフレームワーク内またはクラウドコンピューティングシステム内の各スーパーセルから、分散システムは、スーパーセル内のデバイス(例えばSSDデバイス)のうちの1つを中核またはサブコントローラデバイスとして選択するように構成されるであろう。換言すれば、ATEフレームワークまたはクラウドコンピューティングシステムは、デバイスのサブセット(またはスーパーセル)を多数有し、各スーパーセル内で中核であると指定されたデバイスが、各サブセットまたはスーパーセルを制御する。
【0070】
1つの実施形態において、最初の構成処理中、各サブセットまたはスーパーセルは、コマンドのシーケンスおよび情報がスーパーセルの方々に渡される中核選択プロセス(
図5中の要素560および565として示される)に入ってよい。デバイスは、デバイスにプログラムされてよい、例えば最も高い処理能力または最も多くのリソースを有するデバイスを選択するといった特定の基準に基づいて、それらの間で中核を選択する。 中核選択プロセスの中で、スーパーセル内のデバイスは、互いに無線通信してよい。この通信は、バックボーン520を介して行われてもよい。中核の選択プロセスの結果、各スーパーセルはデバイス550およびデバイス555として示した中核を選択する。
【0071】
スーパーセルの様々なメンバの間での中核選択プロセスを通して中核が確立される実施形態において、選択に続いて中核のアイデンティティがシステムコントローラ510へと通信される。
【0072】
異なる実施形態において、例えば、システムコントローラは、ネットワーク内の様々なSSDデバイスをスーパーセルとして組織化し、さらに指定された各スーパーセルの中のデバイスを中核として選択することができる。例えば、システムコントローラは、分散トポロジー内の各デバイスが属するスーパーセルを指定し、スーパーセルごとに中核をさらに決定してよい。例として、システムコントローラは、各スーパーセルが14のメンバのみを有してよいことを指定し、さらに各スーパーセル内のそれら14のデバイスのうちの1つがメンバデバイスの動作を管理する中核として動作することを指定してよい。
【0073】
1つの実施形態において、システムコントローラは、ネットワーク内の特定のデバイス(例えば最も多くのリソースを持つデバイス)を単純に中核デバイスとして指定する。各中核は、次に、近くのSSDと通信するように自主性を持つようプログラムされ、スーパーセルのメンバーシップを確立する通信プロトコルをセットアップする。例えば、中核は、近くのデバイスをポーリングし、異なるスーパーセルの一部となっていないデバイスをそのメンバーシップのベースに組み込む。一旦スーパーセルが確立されると、中核は、次にスーパーセルを構成する全てのSSDの集合体を報告するためにシステムコントローラ510に通信を返す。
【0074】
中核は、スーパーセルを制御し、システムコントローラ510に通信し、逆もまた然りである。中核の選択に用いられる基準は、1つの実施形態においては恣意的であることができる。例えば、この基準は、最も多くのリソースを有するデバイスを中核デバイスとして選択することを含んでよい。あるいは、他の基準、例えばより速いプロセッサを有する、または最良の「健全性」の記録を有するデバイスを選択すること、が用いられてよい。最終的に、スーパーセル内のどのデバイスが中核として指定されるかを判定するために任意の数の異なる基準を用いることができる。
【0075】
この時点で、一旦スーパーセルおよび中核が確立されると、システムコントローラ510は、スーパーセル内の任意のまたは全てのデバイスを制御するために、バッチコマンド若しくはデータ、または状態情報を中核へと通信することができる。換言すれば、一旦スーパーセルおよび中核が確立されると、スーパーセル内の任意のデバイスへの通信またはコマンドは、まずシステムコントローラから中核デバイスへと送信される。中核は、次に、個別デバイスと通信する。同じことは、任意の上流への通信についても当てはまる。例えば、ATEフレームワーク内で、中核デバイスは、システムコントローラ510からテストプログラムに関する情報を受信してよく、その後各メンバデバイスのテストをスケジューリングする責任があるであろう。換言すれば、中核は、1つの実施形態において、システムコントローラからテストプログラム情報を受信し、スーパーセルの全メンバデバイス上で特定のテストを実行するようにプログラムされてよい。これは、被試験デバイス(DUT)ごとのテスト実行コストを削減する。なぜなら、コントローラは、接続された全部のデバイスのテストを同時に管理しなくてよいからである。
【0076】
通常、中核を除きスーパーセル(例えば530および540)内のどのメンバも、システムコントローラ510と直接通信しないであろうことに留意すべきである。1つの実施形態において、中核は、スーパーセル内の全デバイスと無線により通信することができる。
【0077】
実際には、スーパーセルが確立された後、システムコントローラ510は、中核が、システムコントローラ510からの上位のコマンドからアレイ内の各SSDデバイスに対する低レベルの個々のコマンドおよびデータへと変換する仲介者となることを可能とすることにより、スーパーセルを、単一の大型記憶デバイスであるかのように取り扱うことができる。同じことは、スーパーセルのデバイスから状態情報を収集する場合にも当てはまる。実際には、スーパーセルのデバイスは、状態情報を中核へと通信することができ、中核はこの情報を集約することができ、これをシステムコントローラ510に送信することができる。1つの実施形態において、これらの機能は、システムコントローラ510と中核(例えば550または555)との間のコマンド構文を確立することによって実装されてよい。
【0078】
1つの実施形態において、中核は、スーパーセル内の他のデバイスと直接通信して直接制御することが可能である。これは、システムコントローラを、各デバイスを独立に制御する必要から有利に解放する。上述のように、本発明の一実施形態において、システムコントローラは、命令またはデータを中核に直接送ってよく、その場合中核は、(システムコントローラから受信された命令にしたがって)コマンド、ステータス、データ、または構成情報を、このいずれの情報もシステムコントローラから発信することなくスーパーセルの他のデバイスとの間で直接通信することができる。換言すれば、ストレージバックボーンを介した構成コマンドは、サーバおよび中核デバイスの間でのみ発生するであろう。これは、バックボーン520を、コマンドおよび構成情報の代わりにデータを通信するように解放する。
【0079】
1つの実施形態において、システムコントローラ510と中核デバイス550および555との間で交換される構成コマンドは無線ネットワークに移行され、それにより、有線バックボーンはストレージデータのみを通信するように解放される。これは、構成およびハウスキーピングコマンド(コントローラおよび中核デバイスの間で交換される)を、ストレージバックプレーンでの通信から完全に分離することを可能にする。システムコントローラ510からネットワーク内の全ての中核デバイスへとコマンドを通信することができるやり方のうちの1つは、
図7に関連してさらに論じられるであろうノードホッピングによる。
【0080】
いくつかの通信を、スーパーセルの個々のSSDに対して送信するのではなく、むしろ(システムコントローラ510から)中核へと送信することにより、PCIeバックボーン20上のシステムコントローラ近くのボトルネックポイントにおいてPCIeトラフィックが有利に低減される。同じことは、そうでなければ個別SSDからコントローラ510の別個の通信を必要とするであろう中核からシステムコントローラ510へのいくつかの通信に関しても当てはまる。スーパーセルのSSDデバイスはまた、互いに無線通信してよく、これはさらにバックボーン520上のトラフィックを低減する。
【0081】
いくつかのセットアップおよびハウスキーピングコマンドをデータパスから離してオフロードすることは、本発明の実施形態が全体のネットワークデータ転送バンド幅を有利に増加させることを許容する。これは、従来のATEシステムおよびクラウドコンピューティングネットワークに対する有意な向上である。なぜならこれは、システムコントローラにおけるあらゆるボトルネック、およびまたシステムコントローラがスーパーセルの各ハードドライブに対して直接コマンドを複製することのあらゆる必要性を緩和するからである。
【0082】
さらに、中核は通常システムのデバイスのサブセットのみを制御するであろうし、それらのデバイスに近接するであろうから、それらのデバイスのいずれについての故障またはメンテナンスに関する情報も容易に取得することができる。
【0083】
いくつかの他の有益な機能が、
図5の分散トポロジーにより提供される。一旦中核が確立されると、中核が知っている負荷分散特性および履歴情報に基づいてデータを特定のデバイスへと送信することにより、SSDのサブセットまたはスーパーセル全域でデータストレージを負荷分散することも効果的に行うことができる。これは、コントローラ510に対して透過的に行うことができる。なぜなら、中核はシステムコントローラよりもかなり小さいサブセットのSSDを管理し、そのような負荷分散を実行するバンド幅を有するからである。
【0084】
さらに、構成情報は、コントローラ510から中核からへと通信されることができ、中核は、スーパーセルのデバイスを個別に構成(例えばスーパーセルを再利用するなどのために)する役割を担うことができる。1つの実施形態において、中核は、システムコントローラからの特定タスクを実行するように構成されてよい。その場合中核は、特定タスクを実行するためにそのスーパーセルのハードドライブを構成し再利用することができる。換言すれば、一旦中核が特定の機能を実行するように構成されると、中核は、その機能をスーパーセル内の他のメンバデバイスへとブロードキャストまたは分配することができる。したがって、中核は、コントローラ510からのコマンドに基づいてスーパーセルを別の目的のために再利用する責任を果たすことができる。
【0085】
中核はまた、スーパーセル全域にわたって冗長なストレージを確立する責任を果たすことができる。さらに、中核はまた、スーパーセルの各SSDデバイスから状態および健全性/診断情報を収集し、その情報をコントローラ510に通信し返し、および/または、悪いもしくは悪化しつつある健全性を示したSSDをドロップし若しくは減らすアクションをとる責任を担うことができる。このように、
図5のトポロジーは、従来のシステムと比較して、故障しているまたはメンテナンスを受けているSSDに対応するのにかなり好適であり、それによりコンピュータ関連技術に有意な向上を提供する。
【0086】
1つの実施形態において、中核はまた、コントローラ510から受信されるコマンドにしたがってスーパーセル全域の暗号化を確立する責任を担うことができる。
【0087】
図6は、本発明の一実施形態に係る、4つスーパーセルを含む他の例示的な分散ネットワークトポロジーを示す。
図6に示されるように、システムコントローラ620は、ストレージバックプレーンネットワーク690を介してスーパーセルと通信する。
図6は、(複数のプリミティブを備えるATEフレームワーク、またはクラウドコンピューティングネットワークであってよい)分散ネットワーク内の4つの異なるスーパーセル610、620、640、および650を示す。
図6に示されるように、全てのスーパーセルが同じサイズである必要はない。例えば、スーパーセル640は、他のスーパーセルより少ないメンバデバイスを有する。
【0088】
1つの実施形態において、中核デバイスは、必要な場合にメンバドライブを追加するようにプログラムされてよい。例えば、スーパーセル610の中核デバイス691が特定タスクを実行するようにプログラムされ、時間とともにそのタスクを実行するためにそのスーパーセルにより多くのストレージドライブが必要となった場合、中核デバイスは、例えばドライブ687、すなわちすでにスーパーセルの一部ではないドライブを追加するようにプログラムされてよい。あるいは、中核デバイス691は、スーパーセル620からドライブを借りるために、中核デバイス692と通信するようにプログラムされてもよい。
【0089】
同様に、スーパーセルのメンバデバイスが故障しまたはメンテナンスを受けている場合、中核デバイスは、問題のあるデバイスに応答するのにシステムコントローラ620よりもかなりよい配置にある。中核が、メンバデバイスが故障しているまたはメンテナンスを受けていると判定した場合、およびスーパーセルが機能異常のデバイスを補償する追加のストレージを必要とする場合、中核は、隣接スーパーセルからデバイスを借りること、またはいずれのスーパーセルにも属しない例えばデバイス687のようなデバイスを組み込むことができる。
【0090】
さらに、1つの実施形態において、スーパーセル全体がサービスを受ける必要がある場合、近くのスーパーセルおよびこれに関連付けられた中核デバイスは、サービスを受けるべきスーパーセルの機能を実行する目的のために再利用されることができる。例えば、スーパーセル610が特定の重要なデータを格納する場合、スーパーセル620の中核デバイス692は、スーパーセル610がサービスを受ける間、スーパーセル610の機能を実行するようにそのメンバデバイスを制御するよう一時的にプログラムされることができる。
【0091】
1つの実施形態において、特定のスーパーセルの中核デバイスが故障している場合、隣接スーパーセルの中核デバイスは、故障している中核デバイスのメンバを採用可能であってよい。例えば、中核デバイス691が故障しまたはメンテナンスを受けている場合、中核デバイス692は、スーパーセル610の全メンバデバイスを採用するように構成されてよい。
【0092】
さらに、1つの実施形態において、スーパーセル610の別のメンバデバイスが中核デバイス691と同じ計算能力を有している場合、本発明の実施形態はまた、メンバデバイスが中核の役割を務めるように昇進させる柔軟性を有するようにプログラムされてもよい。換言すれば、メンバデバイスが最低必要な計算能力を有すると仮定すると、メンバデバイスは、中核デバイスが故障しまたはメンテナンスを受けている場合に、中核デバイスの役割に昇進されることができる。
【0093】
したがって、本発明の実施形態は、柔軟性および冗長性により増加された信頼性を提供することができる。メンバデバイスは、例えば、故障しているまたはメンテナンスを受けているときに他のデバイスに取り換えられてよい。さらなる例として、中核デバイスは、スーパーセルの機能を変更するように容易に再構成されることができる。さらに、スーパーセルは、そのハードドライブのメンバーシップを変更する柔軟性を有する。中核デバイスの再構成では、拡張リソースが必要な場合に隣接スーパーセルのハードドライブメンバを再割り当てすることができる。さらに、スーパーセルが故障しまたはメンテナンスのためにオフラインである場合、隣接スーパーセルは、サービスを橋渡しするために一時的に再構成されることができる。本発明の実施形態により提供される増加した柔軟性は、リアルタイムにおける信頼性のための増加した適応性を与えることができる。
【0094】
図7は、本発明の一実施形態に係る、構成コマンドがシステムコントローラからスーパーセル内の中核デバイスへと無線により通信される例示的な分散ネットワークトポロジーを示す。
図7に示した実施形態において、構成コマンドは、コマンドをノードホッピングによって隣接スーパーセルを経由してスーパーセルへと送信することにより、システムコントローラ720から対象スーパーセル725へと通信される。
図7に示されるように、コマンドは、まずスーパーセル723により受信される。スーパーセル723の中核デバイスは、コントローラ720から受信されたコマンドを解析し、コマンドが異なるスーパーセルに向けられたものであると判定するように構成される。スーパーセル723の中核デバイスは、次に、対象スーパーセル725の方向に隣接するスーパーセルへ無線によりコマンドを送信し得る。一連の同様のノードホップの後、コマンドは、最後に対象スーパーセル725に届く。このように、対象スーパーセルの構成コマンドは、無線通信を介して、対象スーパーセルのメンバのハードドライブコミュニティへと分散される。
【0095】
図7に示されたスーパーセルは、ATEフレームワーク内でテストされるSSDを有するか、または例えばサーバファームのようなクラウドコンピューティングシステム内の記憶デバイスを有するかのいずれも可能であることに留意すべきである。
【0096】
図8は、本発明の一実施形態に係る、ATEフレームワーク内でスーパーセルを用いてテストを実行する構成を示す。
【0097】
上述したように、ATEフレームワーク内で、中核デバイスは、システムコントローラ800からテストプログラムに関する情報を受信してよく、その後各メンバデバイスのテストをスケジューリングする責任があるであろう。換言すれば、中核は、1つの実施形態において、システムコントローラからテストプログラム情報を受信し、スーパーセルの全メンバデバイス上で特定のテストを実行するようにプログラムされてよい。
【0098】
図8に示されているように、システムコントローラ800は、例えばプリミティブ801、802、803および804といった複数のプリミティブに接続され、通信してもよい。1つの実施形態において、
図8に示された各プリミティブは、
図4Bに示したように、単一のラックに配置されてよい。
【0099】
1つの実施形態において、プリミティブに接続されたデバイスのうちの1つは、例えば中核891または892等の中核として選択されてよい。プリミティブ内でテストされるデバイスのうちの1つであってよい中核は、次に、プリミティブ内の全ての他のメンバデバイスの動作を制御するであろう。別の実施形態において、プリミティブは、
図8に示したように、各々がそれ自体のメンバデバイスのセットに接続される複数の中核デバイス(例えばデバイス893、894および895)を有してよい。このように、個々のプリミティブによってテストされ、管理されるSSDの数は増加する。
【0100】
プリミティブ内の1つ若しくは複数の中核デバイスを選択して、プリミティブに接続されたその他のSSDのテストを管理することにより、システムコントローラ800、およびSSDが接続されるプリミティブ内の各テスタスライスの計算処理負荷を低減することができる。
【0101】
1つの実施形態において、中核デバイス(例えばデバイス891、893など)は、被試験デバイスではなく、接続された全てのSSDデバイスのテストを管理するようにプログラムされたコントローラデバイスとして特別に構成されてよい。
【0102】
中核デバイスは、例えば、接続されたDUTのテストの実行を開始し、テスト結果を集めてシステムコントローラ800に報告するように構成されることができる。例えば、中核デバイスは、特定のメンバデバイスの特定のテストを実行し、または特定のデバイスに対して特定のテストパターンを実行する知能を持つようにプログラムされる。さらに、メンバデバイスは、それらの結果を無線によって中核デバイスに通信するように構成されることができ、これによりプリミティブに対する複数の物理的接続の必要性を除去し、ネットワークトラフィックを低減する。
【0103】
1つの実施形態において、任意の中核におけるメンバデバイスの無線機能は、無線機能を提供してよいSSD等のメンバデバイスの外部ポートに収まる拡張カードまたはドータカードによって可能となってよい。拡張カードは、有線および無線通信機能の両方をSSDに許容するために、有線バックボーンにも接続されることができる。バックボーンへの有線接続は、主にストレージデータを運ぶために用いられてもよく、その一方で無線接続が上述のように制御および構成コマンドのために使用されることができる。
【0104】
図9は、本発明の一実施形態に係る、非集中化された分散ストレージ環境においてデバイスを制御する例示的なコンピュータ実装プロセスのフローチャートを示す。しかしながら、本発明は、フローチャート900で提供される説明に限定されない。むしろ、本明細書において提供される教示から、他の機能フローが本発明の範囲および主旨に含まれることが当業者には明らかであろう。フローチャート900は、上述した例示的な実施形態を引き続き参照して説明されるが、当該方法はそれらの実施形態に限定されない。
【0105】
段階902において、システムコントローラ510は、ネットワーク(クラウドコンピューティングネットワークまたはATEフレームワーク)内のデバイスを、各スーパーセルが複数のメンバデバイスを有する複数のスーパーセルに分割するように構成される。
【0106】
段階904において、各スーパーセルのメンバデバイスのうちの1つは、スーパーセル内の他のメンバデバイスを制御する中核デバイスに指名される。中核デバイスは、システムコントローラ501によって指定されてよい。あるいは、中核デバイスは、メンバデバイスがいくつかの基準に基づいてメンバデバイス間で中核デバイスを選択する選択プロセスによって選択されてもよい。
【0107】
段階906において、構成および他のハウスキーピングコマンドが、システムコントローラ510から特定タスクに関連付けられたネットワーク内の中核デバイス(例えば550および555)へと送信される。このタスクは、対応する中核デバイスに関連付けられたスーパーセルが実行する必要があるものである。中核デバイスは、そのメンバデバイスが特定タスクを実行するように構成するようにプログラムされる。
【0108】
段階908において、情報は、各スーパーセルの中核デバイスから受信される。結果は、各中核デバイスのメンバデバイスからの、特定タスクの実行に関連付けられた情報を有する。
【0109】
前述の説明は、説明することを目的としており、特定の実施形態を参照して説明されてきた。しかしながら、例示された上記説明は、網羅的であることも、開示されたまさにその形態に本発明を限定することも意図していない。上記教示に照らして、多くの修正および変形が可能である。実施形態は、本発明の原理とその実際の適用を最も良く説明するために選択され、説明された。それにより、他の当業者が、本発明と、予期される特定の用途に適し得る様々な修正を加えた様々な実施形態とを最も良く利用することを可能にする。