ファイル格納動作及びランダムアクセス動作の両方をサポートする分散型メモリアレイであって、データを格納する少なくとも一つのメモリアセンブリであって、各前記メモリアセンブリは双方向交差ストラップ式ネットワークを介して共に結合された複数のメモリモジュールを有し、各前記メモリモジュールはスイッチングメカニズムを有する、少なくとも一つのメモリアセンブリと、前記双方向交差ストラップ式ネットワークを介して、前記少なくとも一つのメモリアセンブリと結合された少なくとも一つのゲートウェイであって、前記少なくとも一つのメモリアセンブリへのアクセスを提供する複数のユーザーアクセスポートと、前記ユーザーアクセスポートにおいて、ユーザーから、前記ファイル格納動作又は前記ランダムアクセス動作のいずれかのための、前記少なくとも一つのメモリアセンブリへのアクセス要求を受信するように、かつ、前記少なくとも一つのメモリアセンブリにおける利用可能なメモリの少なくとも一つの割当てユニットを、前記ユーザーからの前記要求に基づいて割り当てるように構成されたファイルマネージャーであって、前記ユーザーからのさらなる要求を、前記少なくとも一つの割当てユニットにアクセスするメモリマップド方式のトランザクションに変換するようにさらに構成された、ファイルマネージャーと、を含む、少なくとも一つのゲートウェイとを備える分散型メモリアレイ。前記ファイルマネージャーは、前記複数のユーザーポートと通信するコントローラーと、前記ユーザーからの前記要求に基づいて、前記コントローラーによって構成されたファイルマップであって、前記ユーザー要求における論理アドレスを物理アドレスに変換し、前記少なくとも一つのメモリアセンブリにおける前記少なくとも一つの割当てユニットへのアクセスを提供する、ファイルマップと、前記ファイルマネージャーに対してサポートされているプロトコル間でメッセージを変換するように構成されたプロトコルブリッジとを含み、前記ゲートウェイは、前記複数のユーザーポート及び前記ファイルマネージャーと結合された通信エンドポイントと、前記複数のメモリモジュール及び前記ファイルマネージャーと結合された通信エンドポイントと、を含む請求項1に記載の分散型メモリアレイ。前記少なくとも一つのメモリモジュールのそれぞれは、複数のメモリカードと、前記ユーザー要求に基づいて、認証を提供するように、かつ前記メモリカード内のデータの格納及び読出しを行うように、前記コントローラーによって構成されたメモリマネージャーであって、各前記メモリマネージャーは、データのパケットを受理するか又は該データのパケットを、前記双方向交差ストラップ式ネットワーク内の次のメモリマネージャーに渡すように構成されたパケットセレクターと、前記データのパケットの物理メモリアドレスをデコードするように動作可能なアドレスデコーダーと、メモリモジュール内の内部データの格納動作及び読出し動作を管理するように構成可能なメモリコントローラーと、を備える、メモリマネージャーと、を含む請求項1に記載の分散型メモリアレイ。0002このような、現在の宇宙船ペイロード処理システムにおける専用メモリのこの固定された構成によって、容量要件の増大に起因して、複数のアプリケーションの同時処理を行うコストが高くなる。今日のますます向上するデータ転送レート及びより複雑なデータ操作要件のための容量の増大には、過剰の専用メモリリソースが必要とされる。専用メモリの増加は、現行の宇宙船ペイロード処理システムに必要とされる全体的なサイズ、重量及び電力利用を増加させる。ファイル格納動作及びランダムアクセスの両方の動作をサポートする分散型メモリアレイが提供される。この分散型メモリアレイは、データを格納する少なくとも一つのメモリアセンブリを備え、各メモリアセンブリは双方向交差ストラップ式crossstrappedネットワークを介して共に結合された複数のメモリモジュールを有し、各メモリモジュールはスイッチングメカニズムを有する。この分散型メモリアレイは、双方向交差ストラップ式ネットワークを介して、少なくとも一つのメモリアセンブリと結合された少なくとも一つのゲートウェイをさらに備える。このゲートウェイはまた、少なくとも一つのメモリアセンブリへのアクセスを提供する複数のユーザーアクセスポートと、ユーザーアクセスポートにおいて、ユーザーから、ファイル格納動作又はランダムアクセス動作のいずれかのための、少なくとも一つのメモリアセンブリへのアクセス要求を受信するように、かつ、少なくとも一つのメモリアセンブリにおける利用可能なメモリの少なくとも一つの割当てユニットを、ユーザーからの要求に基づいて割り当てるように構成されたファイルマネージャーとを備える。このファイルマネージャーは、ユーザーからのさらなる要求を、少なくとも一つの割当てユニットにアクセスするメモリマップド方式のトランザクションに変換するようにさらに構成される。0003これら及び他の特徴、態様及び利点については、以下の記述、添付の特許請求の範囲及び添付の図面を参照してより良好に理解される。0011一般的な方法に従って、記述された種々の特徴は一定の縮尺で描かれたものではなく、本発明に関連する特徴が強調されて描かれている。類似の参照符号は図面及び本文全体を通じ、類似の要素又は構成部分を示す。0012本明細書にて開示されるいくつかの実施形態は、サテライトシステムのための分散型メモリアレイに関する。説明のために一つ又は複数のアプリケーション例を参照して、少なくとも一つの実施形態を以下に説明する。数々の明確な詳細、関係、及び方法が、開示される実施形態のより完全な理解をもたらすために示されていることが理解される。同様に、開示される実施形態の詳細を不必要に不明瞭にすることを避けるために、以下ではよく知られた構成部分及びプロセスの動作は図示も説明もしていない。特に、マスメモリストレージのための分散型メモリアレイが、故障耐性faulttoleranceを向上させるために提供され、それがスループット及びランダムアクセス、さらに容量及びスループットの拡張性も同様にサポートする。0013例示のために図面に図示されているように、本発明の実施形態は、信頼性のある高速のデータ格納をもたらす故障耐性型の分散型のメモリアレイを提供する。分散型メモリアレイは、少なくとも一つのメモリアセンブリからなる配列及び特定用途のゲートウェイのセットがマスストレージアプリケーションに対して双方向交差ストラップ式である分散型の、モジュール式構造を採用する。少なくとも一つのメモリアセンブリは少なくとも一つのメモリモジュールからなる分散型の双方向交差ストラップ式配列を具備している。分散型の双方向交差ストラップ式アーキテクチャは、レイテンシー待ち時間、latencyを減じ故障した構成部分をバイパスさせることができ、そうしてメモリ、制御、及びスイッチングに対して故障耐性を提供する。メモリシステムのマネージメント機能は、非専用メモリを再配置することにより、この分散型構造におけるメモリ割当てを管理して、故障耐性の高度化を提供する。分散型メモリアレイはマスストレージアプリケーションに必要な大容量及び高スループットを維持しつつ、処理動作に必要な低レイテンシー及び高スループットを可能にする。0014図1Aはペイロード134の一実施形態を含むサテライトシステム10の一実施形態の概略図である。ペイロード134はサテライトインフラストラクチャ138に結合されている。サテライトインフラストラクチャ138は、サテライトシステム10を軌道上に維持するための構成部分を含み、該構成部分には、これらに限定されないが、電源、位置情報、及び指令制御センターが含まれる。0015ペイロード134は特定のアプリケーション、たとえば通信、気象観測、テレビ放送又は他の適切なアプリケーションを実施するのに使用されるサブシステムを含む。ペイロード134はペイロード関連の機能を実行するペイロード処理ユニット100を含む。ペイロード処理ユニット100はセンサー132及びアクチュエーター136に結合されている。ペイロードの複雑さに応じて、様々なセンサー及びアクチュエーターを管理する専用のプロセッサが存在することができる。ペイロードアプリケーションの計算面での専用のプロセッサも同様に存在することができる。0016ペイロード処理ユニット100はコンピューター101に結合された分散型メモリアレイ102を含む。分散型メモリアレイ102は、たとえばコンピューター101、ペイロード通信ユニット141及びペイロードコントロール143のようなユーザー構成部分にユーザーアクセスポートを介して結合されている。他の実施形態においては、分散型メモリアレイ102はサテライトシステム100の他のペイロードに対して格納容量を提供するスタンドアローンユニットを具備している。また、代替的な実施形態においては、ペイロード134は、種々の処理の必要性に対して、二つ以上のペイロード処理ユニット100又は二つ以上のコンピューター101を含むことができることが理解される。0017動作時に、センサー132はペイロード134を感知し、信号をその信号を処理するペイロード処理ユニット100に送信する。それに応答して、ペイロード処理ユニット100はアクチュエーター136に信号を送信し、アクチュエーター136はペイロード134に対し必要な機能を実行する。また、ペイロード処理ユニット100は、以下により詳細に記述されているように、たとえばセンサー132からのデータも、分散型メモリアレイ102の中に格納することができる。0018一実施形態においては、分散型メモリアレイ102は大容量ファイル格納動作又は低レイテンシーのランダムアクセス処理動作のために構成可能な複数のメモリモジュールを含む。コンピューター101は分散型メモリアレイ102のためのデータプロセッサとして動作し、ファイル格納動作又はランダムアクセス動作のいずれかのためのデータを処理する。0019動作時に、ペイロード処理ユニット100は、たとえばセンサー132のような入力源からの入力データを受け取る。コンピューター101は必要に応じてそのデータを処理し、処理されたデータを、ランダムアクセス動作又はファイル格納動作のいずれかを用いて分散型メモリアレイ102に格納するようデータ格納要求を生成する。その後、コンピューター101はデータ格納要求を分散型メモリアレイ102に渡す。分散型メモリアレイ102は、アレイ内の宛先メモリモジュールを選択し、その要求に対するデータ格納に対応するように構成する。一実施形態においては、分散型メモリアレイ102は、コンピューター101からの要求に対して適切な粒度granularityの程度で、メモリを割当てユニットと称する単位にて割り当てる。割当てユニットのサイズはシステムの必要性に基づき変化するが、しかしながら、割当てユニットの粒度は、メモリの最小のアドレッシング可能な単位と同程度まで小さくすることができることが理解される。0020分散型メモリアレイ102は、分散型メモリアレイ102にデータを格納するというコンピューター101からのさらなる要求を、宛先メモリモジュールにおける該要求のための割当てユニットにアクセスするメモリマップド式のトランザクションに変換する。入力データは、その後、分散型メモリアレイ102を介して選択されたメモリモジュールに渡され格納される。ファイル格納動作又はランダムアクセス動作のいずれかである要求されたメモリアクセスのメカニズムを使用してデータの読出しを行う場合、分散型メモリアレイ102は同様に、要求されたデータを保持する分散型メモリアレイ102のメモリモジュールからデータを読み出し、該データをコンピューター101へ提供する。0021図1Bはネットワークスイッチ112を介して分散型メモリアレイ102と結合されているコンピューター101を具備したペイロード処理ユニット100の一つの例の概略図である。分散型メモリアレイ102はメモリアセンブリレイヤー104及びゲートウェイレイヤー116を具備する。コンピューター101はペイロード処理ユニット100に対し異種のheterogeneous機能を提供するプロセッサレイヤー106を具備する。メモリアセンブリレイヤー104は、たとえばメモリアセンブリ125のような、少なくとも一つのメモリアセンブリからなる分散型アレイを具備する。分散型メモリアレイ102は入出力レイヤー114を含むコンピューター101からの入力データを受信する。入出力レイヤー114は、たとえばセンサー132のような外部入力からの情報を受理する。0022ゲートウェイレイヤー116は、分散型メモリアレイ102に内部的な特定機能向けのアクセスコントローラーを提供する。ゲートウェイレイヤー116は、ネットワークスイッチ112と結合している。ゲートウェイレイヤー116は、ネットワークスイッチ112と結合したメモリポートを介して、メモリアセンブリレイヤー104と通信する。さらに、ゲートウェイレイヤー116は、ネットワークスイッチ112と結合した内部的なユーザーポートを介して、プロセッサレイヤー106及びカスタム入出力レイヤー114と通信する。0023一実施形態においては、ゲートウェイレイヤー116は、サポートしているメッセージングプロトコルのデータパケットを受理しかつ変換して、メモリアセンブリレイヤー104の内で宛先メモリ及び物理的なメモリアドレスを求める。ゲートウェイレイヤー116は、ペイロード処理ユニット100が種々のアプリケーションからのデータを効率的に処理することを可能にする。特に、ゲートウェイレイヤー116は、単独システムにおいては、以下により詳細に述べるように、ファイル格納動作及びランダムアクセス処理動作のためのメモリアクセスのメカニズムを実施するように構成されている。具体的には、ゲートウェイレイヤー116は、或るアプリケーションによって要求された場合に、ファイル格納メモリアクセスのメカニズムを実施するように構成された第一のゲートウェイのセットと、他のアプリケーションによって要求された場合に、ランダムアクセスのメモリアクセスメカニズムを実施するように構成された第二のゲートウェイのセットとを含む。しかしながら、いずれのゲートウェイもファイル格納動作及びランダムアクセス動作のうちの少なくとも一方を処理するように、後から動的に再構成することができることが理解される。0024一実施形態においては、プロセッサレイヤー106は、ペイロード処理ユニット100のための多数のアプリケーションを実施する。プロセッサレイヤー106上で実行されている各アプリケーションは、ファイル格納又はランダムアクセスのいずれかのメモリアクセスメカニズムを使ってデータをより効率的に格納する。プロセッサレイヤー106は、第一のプロセッサユニット108及び第二のプロセッサユニット110を具備している。一実施形態においては、第一のプロセッサユニット108は、ファイル格納メモリアクセスメカニズムを使用してデータを分散型メモリアレイ102へ格納するアプリケーションを実行する。第二のプロセッサユニット110は、ランダムアクセスメカニズムを使用してデータを分散型メモリアレイ102へ格納するアプリケーションを実行する。コンピューター101の代替的な一実施形態においては、ペイロード処理ユニット100が意図するアプリケーションに応じて、第一のプロセッサユニット108又は第二のプロセッサユニット110のいずれかを具備しないこともできる。たとえば、主にランダムアクセス処理のために設計されたペイロード処理ユニットは、第一のプロセッサユニット108がなくても機能することができる。反対に、主にマスストレージシステムを利用するように設計されたペイロード処理ユニットは、第二のプロセッサユニット110がなくても機能することができる。0025例示的な一実施形態においては、コンピューター101及び分散型メモリアレイ102は、初期構成の後でも、ペイロード処理ユニット100の内で動的に再構成できる。たとえば、メモリアセンブリレイヤー104を制御するメモリマネージメントシステムは、メモリアセンブリレイヤー104内で割り当てられた任意の割当てユニットを、ペイロード処理ユニット100の現行の要件をサポートする必要性に応じて、ファイル格納からランダムアクセス処理へと動的に再割当てすることができる。さらに、各割当てユニット内のデータは、以下により詳細に議論されているように、廃棄又は転送され、そうして割当てユニットの再割当てを可能にすることができる。これにより、ペイロード処理ユニット100がシステム動作及びアプリケーション要求の変更に応じて、変化することが可能になる。0026コンピューター101及び分散型メモリアレイ102は予備構成部分のシステムをさらに採用し、冗長性を提供している。たとえば、ペイロード処理ユニット100の各構成部分は少なくとも一つの予備構成部分118、120、122、124、126、及び128に関連付けられている。このペイロード処理ユニット100の冗長的な接続は、本ユニットに故障耐性リソースを提供する。この故障耐性リソースは、故障に際して、不備の構成部分を適切に機能する予備の構成部分に置き換えることにより、ペイロード処理ユニット100が適切に動作し続けることを可能にする。0027動作時に、ペイロード処理ユニット100は、コンピューター101と、ファイル格納動作及びランダムアクセス動作の両方のための分散型メモリアレイ102とを使用して、ペイロードアプリケーションに対するデータの格納及び読出しを行う。データ格納のために、分散型メモリアレイ102がネットワークスイッチ112を介して、又は外部のユーザーアクセスポート115を介して入力データを受信する。分散型メモリアレイ102はプロセッサレイヤー106、カスタム入出力レイヤー114、又はネットワークスイッチ112と結合されている任意の他のデータソース、たとえばこのサテライトシステムの別のペイロードのプロセッサ、からネットワークスイッチ112を介してデータを受信することができる。0028分散型メモリアレイ102は、ゲートウェイレイヤー116において要求及びデータを受信する。ゲートウェイレイヤー116は分散型メモリアレイ102に対するメモリ割当てを管理する。ゲートウェイレイヤー116は要求の発生源及び要求されているメモリアクセスのタイプ、たとえばランダムアクセス又はファイル格納を判断する。この判断に基づき、ゲートウェイレイヤー116のコントローラーは、要求に対するデータ格納のための分散型メモリアレイ102を選択し構成する。この要求に対するデータが受信されると、入力されたデータがゲートウェイレイヤー116によってメモリマップド方式のmemorymappedトランザクションに変換され、その後メモリアセンブリレイヤー104を介して選択されたメモリモジュール内の選択された位置に渡される。同様に、データの読出しでは、データは分散型メモリアレイ102内の選択されたメモリモジュールから、機能を処理するコンピューター101、又は任意の他の要求している構成要素若しくはアプリケーションへ渡される。一つの例においては、データは、該データを要求しているアプリケーションに応じて、プロセッサレイヤー106内のプロセッサ108又はプロセッサ110のいずれかに渡される。0029図2は、分散型メモリアレイ200の代替的な一実施形態の概略図である。この概略図は、メモリアセンブリレイヤー230とゲートウェイレイヤー216との間の、ネットワークスイッチ212を介した接続関係を示している。ゲートウェイレイヤー216は、たとえばゲートウェイ217のような少なくとも一つのゲートウェイを具備している。ゲートウェイ217は、特定機能向けゲートウェイ206及びコントローラー208をさらに具備している。ネットワークスイッチ212は、より高いスループットのためのノンブロッキングスイッチングnonblockingswitchingを提供する標準形式のネットワークプロトコルのを通して、集中型スイッチングのレイヤーを付加する。図2の例示的な実施形態において、ネットワークスイッチ212はシリアルラピッドIOSerialRapidIOを使用している。シリアルラピッドIOは、組込みシステムでの通信のための、高性能のパケットスイッチ型の相互接続技術である。メモリアセンブリレイヤー230の代替的な実施態様においては、ネットワークスイッチ212は代替的技術を採用し、周辺機器相互接続エクスプレスPeripheralComponentInterconnectExpressスイッチング及び他の同様な相互接続方法のようなノンブロッキングスイッチングを提供していることが理解される。ネットワークスイッチ212はメモリアセンブリレイヤー230とゲートウェイ206との間の通信の分岐として動作する。0030例示的な実施形態においては、ネットワークスイッチ212は、双方向アーキテクチャ202を介してメモリアセンブリレイヤー230と接続されている。メモリアセンブリレイヤー230は、メモリアセンブリ201のような、少なくとも一つのメモリアセンブリを具備する。例示した一実施形態においては、メモリアセンブリ201はネットワークスイッチ212との複数の双方向接続を具備する。双方向アーキテクチャ202は分散型メモリアレイ200に対して、数々の利点を導入する。第一に、複数の双方向接続202はメモリアセンブリレイヤー230からのデータの読出しにおいて、レイテンシーの低減を提供する。さらに双方向接続202はまた、メモリアセンブリレイヤー230とネットワークスイッチ212との間の、より効率的な誤り訂正を可能にする。ネットワークスイッチ212はまた、双方向交差ストラップ式crossstrapping接続204を介して、ゲートウェイレイヤー216と結合している。双方向交差ストラップ式接続204は予備のゲートウェイ228及び予備のネットワークスイッチ218と連結して、システムの故障耐性の特性を高める。ネットワークスイッチ212又はゲートウェイ217のいずれかが故障した場合、双方向交差ストラップ式接続204は不備の構成部分をマッピングから取り除くことにより、該不備の構成部分をバイパスする。予備の構成部分に絶え間なく電力を提供するシステムにおいては、この切替えは瞬時に行うことができる。0031動作時に、ゲートウェイレイヤー216は、格納要求がランダムアクセスのためのメモリアクセスメカニズムを要求しているか、又はファイル格納のためのメモリアクセスメカニズムを要求しているかを判断する。この判断及び要求の発生源に基づいて、ゲートウェイレイヤー216はデータ格納のためのメモリアセンブリレイヤー230のメモリーモジュールを選択し構成する。要求に関してデータが受信されると、ゲートウェイレイヤーは、その要求を選択されたメモリモジュールに対するメモリマップド方式のトランザクションに変換する。入力データは、その後ゲートウェイレイヤー216からメモリアセンブリレイヤー230へ送信される。0032図3は、分散型メモリアレイ300の一実施形態の概略図である。分散型メモリアレイ300はメモリアセンブリ320を含む。メモリアセンブリ320は、たとえばメモリモジュール306のような、少なくとも一つのメモリモジュールを含む。メモリアセンブリ320の代替的な実施形態は、システムの特定のアプリケーションに必要なだけ多くのメモリモジュールを具備することができることが理解される。例示的な実施形態においては、メモリモジュール306は、メモリアセンブリ320の他のメモリモジュールと同様に、各々がメモリストレージ構成部分として振舞う。メモリモジュール306に格納されたデータは、後の使用のために読出し、転送、及び/又は格納することができる。さらに、メモリモジュール306は、適切なアプリケーションに応じて専用又は非専用のいずれかのメモリとすることができる。動作が進化する必要があるか又は分散型メモリアレイの故障耐性をさらに向上させる必要があるので、非専用メモリはいずれかのメモリアクセスメカニズム、たとえばファイル格納又はランダムアクセスの形態で使用するように再割当てすることができる。非専用で再割当て可能なメモリの使用は、全体的なシステムのサイズ及び重量を減少させることにより、全体的な電力使用を減じ、効率を改善する。それにより、さらに、各メモリモジュール内の各割当てユニットを必要に応じてファイル格納用又はランダムアクセス用に選択的に構成することが可能になることによって、システムのスケーラビリティが改善する。0033例示的な実施形態においては、メモリアセンブリ320の個々のメモリモジュール306は、双方向交差ストラップ式ネットワーク304を介して接続されている。各メモリモジュール306は、双方向交差ストラップ式ネットワーク304を実装するように構成された、メモリマネージャー305と呼ばれる、或る程度に内部制限されたスイッチングdegreeofinternallimitedswitchingを保有する。システム障害に際して、コントローラー、たとえばコントローラー310は内部スイッチング機能を利用し、双方向交差ストラップ式ネットワーク304内の適切なリンクを取り除くことによって、不備のメモリモジュールの直接的な置換えを提供する。例示的な実施形態においては、メモリモジュール306は、図1Bのように、ネットワークスイッチ112のような集中した接続レベルを介して接続される代わりに、ゲートウェイ/コントローラーレイヤー316と直接的に、双方向交差ストラップ式接続される。さらに、図2のメモリアセンブリ201は、一実施形態においては、図3のメモリアセンブリ320に示されるように構成される。0034一実施形態においては、ゲートウェイ308は変換ファイアウォールとして振る舞い、メモリストレージに関する意思決定を取り扱う。たとえばゲートウェイ308は、メモリアセンブリ300内のいずれのメモリモジュールがユーザーアクセスポート315からの読出し要求又は書込み要求を受信するかを決定する。コントローラー310は、ゲートウェイ308と結合されていて、ゲートウェイ308への管理機能を提供し、分散型メモリアレイ内のメモリの割当てを指揮する。ゲートウェイレイヤー316は、以下に記述される図面において、より詳細に議論される。0035図4は、一つ又は複数の関連するゲートウェイの制御下にある複数のメモリカード415へのアクセスを管理する、メモリマネージャー400の一実施形態の概略図である。メモリマネージャー400のような、一つ又は複数のメモリマネージャーは、たとえばメモリアセンブリ320ようなメモリアセンブリの各メモリモジュールに存在して、制限されたスイッチングメカニズムを提供する。メモリマネージャー400は、インタフェース401、たとえばデュアルインラインメモリモジュールdualinlinememorymodule:DIMMインタフェースを通してメモリカード415に結合されている。メモリマネージャー400は、ラピッドIORapidIOエンドポイント404-1~404-8及び通信リンク402を介した、メモリモジュールの上流接続と下流接続をさらに提供する。ラピッドIOエンドポイント404-1~404-8はメモリマップド方式の通信をサポートする。0036例示した一実施形態においては、パケットセレクター408は、双方向接続でラピッドIOエンドポイント404と結合されていて、エンドポイント404において受信された各パケットを検査し、宛先メモリがメモリマネージャー400にローカルであるか否か判断する。宛先メモリ及びパケットのパケット選択情報に応じて、パケットセレクター408はそのパケットを受理するか又は渡すかを判断する。パケットが受理された場合、パケットセレクター408はそのパケットを認証する。パケットセレクター408は、発信元と、パケットセレクター408内のアクセス制御テーブル情報とを利用することによって、そのパケットがローカルメモリにアクセスする権利を有しているか否か判断し、アクセス権限を認証する。パケットが権限を有している場合、アドレスデコーダー410はその後、パケットの物理的メモリアドレスをデコードし、そのメモリモジュールに対する特定の動作を実行する。データがそのメモリモジュール内に格納されることになる場合、メモリコントローラー414は、たとえばメモリカード415のようなメモリカードを選択し、そのデータを格納する。データが格納された後、パケットセレクター408は各パケットの要求者に対して、成功又は失敗を示す応答を発行する。パケットが渡された場合、パケットセレクター408はそのパケットを、ラピッドIOエンドポイント404及び情報通信接続402を介して、メモリアセンブリ内の一連のメモリモジュール内にある、次のメモリマネージャーへ渡す。0037図4においては、ラピッドIOエンドポイント404のうちのいくつかがオプションとして示されている。これらのオプションのエンドポイント404は、含まれているときは、ゲートウェイとメモリモジュールとの間のより幅広い帯域幅の通信を提供する。0038図5は、分散型メモリアレイ102図1A、図1B、200図2及び300図3のような分散型メモリアレイにおいて使用されるゲートウェイ500の一実施形態の概略図である。例示的な実施形態においては、ゲートウェイ500は、シリアルラピッドIOネットワークのプロトコルを利用して、ユーザーに対するアクセス外部接続及びメモリアセンブリ/モジュールへの内部接続を提供する。ゲートウェイ500の代替的な実施態様では、代替的な技術が採用されて、防衛、航空宇宙、及び電気通信において一般に使用されているPCIeプロトコル及び他の相互接続のような接続が提供されることが理解される。ゲートウェイ500のアーキテクチャは、メモリ割当てに関係して内部的な意思決定を提供する、システムの保護メカニズムを提供する。0039一実施形態においては、ゲートウェイ500は、ファイルマネージャー501と、複数のラピッドIOエンドポイント508及び510とを含む。ラピッドIOエンドポイント508はユーザーアクセスポート515を介してユーザーと通信する。ラピッドIOエンドポイント510は種々のメモリモジュールのメモリマネージャーと通信する。ファイルマネージャー501は、プロトコルブリッジ502、ファイルマップ504、及びコントローラー506をさらに含み、単一の分散型メモリアレイにおける、ファイル格納及びランダムアクセスのようなメモリアクセスの型をサポートする。例示的な実施形態においては、ゲートウェイ500は、アプリケーションからの要求を取り扱い、分散型メモリアレイにおけるデータの格納及び読出しを行う。これらの要求は、必要とされるメモリアクセスメカニズム、たとえばファイル格納動作又はランダムアクセス処理のいずれかを指定する。たとえば、ゲートウェイ500は、たとえばラピッドIOエンドポイント508-1のようなラピッドIOエンドポイント508において、パケットを受理する。ゲートウェイ500は、ラピッドIOエンドポイント510、たとえばラピッドIOエンドポイント510-1を介して、関連するメモリモジュールと通信する。代替的な一実施形態においては、メモリマネージャーはゲートウェイに含まれることに留意されたい。0040動作時に、コントローラー506は、プロトコルブリッジ502、ファイルマップ504のための変数を構成又は調整し、これらのためのグローバル設定を制御することによって、ゲートウェイ500及び関連するメモリモジュールの全体的な挙動を管理し、システムに対して、必要であれば、種々のメモリモジュールのメモリマネージャーを選択する。さらに、コントローラー506は、ファイルマネージャー501に必要とされる抽象化を実行するための、内部ディレクトリ及びサブディレクトリへのアクセスを有する。例示的な一実施形態においては、コントローラー506はソフトウェアベースのプロセッサであるが、しかしながら、コントローラー506は配線接続された状態マシンとして実装することができることが理解される。0041プロトコルブリッジ502及びファイルマップ504は共に、ゲートウェイ500に対して、マッピング及び変換の機能を実行する。特に、プロトコルブリッジ502は、ラピッドIOエンドポイント508において、到着したパケットを、サポートしている種々のメッセージプロトコル間で変換する。ファイルマップ504は、仮想メモリのマッピング関数として振舞う。動作時に、ファイルマップ504は、ユーザーに理解されるような論理アドレスを、分散型メモリアレイに関する格納場所を指定するために必要な、対応する物理アドレス、たとえば、メモリマップド方式のメッセージ又はトランザクションに変換する。0042ゲートウェイ500は、ファイル格納及びランダムアクセスのメモリアクセスメカニズムのうちの少なくとも一つを必要とするアプリケーションからの要求を処理するように構成することが可能であり、その後、システムの必要に基づいて異なったメカニズムを指定する要求を処理するように後から動的に再設定することができることが理解される。0043ゲートウェイ500は、ファイル格納動作を実行する。たとえば、一実施形態においては、ファイルマネージャー501はラピッドIOエンドポイント508においてラピッドIOパケットを受信する。これらのパケットは、必要に応じて、プロトコルブリッジ502へ渡される。プロトコルブリッジ502はそのパケットを要求されたプロトコル、たとえばIO論理書込みパケットに変換する。プロトコルブリッジ502はさらに、ユーザーアクセスポート515を通して、ユーザーに応答し、パケットの受信に成功したことを示すことによって、そのパケットを終結させる。プロトコルブリッジ502はその後、メモリマップド方式のプロトコルを使用した、適切なメモリロケーションへの、パケットの内容の書込みの成功に責任を負うようになる。メッセージングパケットに対して使用されるメモリロケーションは設定情報及びファイルマップ504から求められる。ファイルマネージャー501はまた、全体的なファイル格納動作に対するより高効率な格納機能及び読出し機能のために、メッセージングプロトコルパケットを追跡し、ファイルマップ504内部の情報を維持及び更新する。0044代替的な一実施形態においては、ゲートウェイ500は、ランダムアクセス処理のアプリケーションを実行する。たとえば、ファイルマネージャー501は、プロトコルブリッジ502を通して、ラピッドIOエンドポイント508においてIO論理プロトコルのラピッドIOパケットを受信し、パケットの仮想宛先アドレスを、等価な宛先メモリアドレス及び物理メモリアドレスに変換する。ゲートウェイ500は各パケット源に固有のネットワークアドレス変換をさらに実行し、宛先のメモリマネージャーに対してそのパケットを認証する。0045例示的な一実施形態においては、ファイルマネージャー501は、ファイル格納アプリケーションの目的の場合、ラピッドIOエンドポイント508においてラピッドIOメッセージパケットを受理するのに対して、ランダムアクセス処理動作の場合、ファイルマネージャー501は、IO論理プロトコルのラピッドIOパケットだけを受理する。IO論理プロトコルのラピッドIOパケットは、より高位のアプリケーションのサポートなしで、メモリのアクセス及びアドレッシングのようなメモリマッピングだけをサポートする。スペースの節減と効率化の目的で、例示的な一実施形態においては、ランダムアクセス処理動作に対して代替的なラピッドIOプロトコルを使用していない。しかしながら、代替的な実施形態が、必要とされるゲートウェイアプリケーションのうちの一つ又は両方に対して、代替的なラピッドIOプロトコルを利用することができるということが理解される。0046図6は、ファイル格納動作及びランダムアクセス動作、たとえば、上述の分散型メモリアレイ102、200又は300、をサポートする分散型メモリアレイを動作させる方法600の一実施形態のフローチャートである。例示的な一実施形態においては、分散型メモリアレイは、或るユーザーから、たとえばコンピューター101、処理レイヤー106、又は他のユーザーからのアクセス要求を受信するブロック602。このユーザーは、任意のカスタムユーザー入力若しくはたとえばセンサー132のようなセンサー、又は種々の他のデータ生成デバイス若しくはデータ処理デバイスとすることができることが理解される。分散型メモリアレイがユーザーからのアクセス要求を受信するとブロック602、分散型メモリアレイは少なくとも一つのメモリの割当てユニットをそのユーザーに割り当て、宛先メモリモジュールの選択を含む、元のアクセス要求に関連付けられたユーザーからの後続のアクセス要求を取り扱うのに必要な分散型メモリアレイの構成部分を構成するブロック604。このメモリ割当て動作はたとえば、ゲートウェイ117、217、又は308のような分散型メモリアレイのゲートウェイによって指揮される。0047この時点で、分散型メモリアレイは、ユーザーからの付加的なアクセス要求を受信する準備ができているブロック606。アクセス要求がユーザーから受信されると、ゲートウェイはその要求を、その要求に関連付けられた、物理メモリ内のアドレスを含む、メモリマップド方式のトランザクションに変換するブロック608。その要求は、その後分散型メモリアレイを通して選択されたメモリモジュールへ渡され、各メモリモジュールに配置されたメモリマネージャーはその要求が受理されるべきか又は次のメモリモジュールに渡されるべきかを判断する。その要求が選択されたメモリモジュールに渡されると、要求は認証されるブロック610。その要求が認証に合格した場合、要求は認可されて実行され、選択されたメモリモジュール内に定められた宛先において、データが格納されるか又は読み出されるブロック612。0048この記述は、説明の目的でなされており、開示した実施形態に対して、網羅的であることも、限定的であることも意図していない。以下に述べる特許請求の範囲内で、変更及び修正が可能である。たとえば、上述の例のいくつかは、ネットワークプロトコルとしてシリアルラピッドIOを利用しているが、しかしながら、代替技術を使用して、PCIeスイッチング及び他の同様な相互接続メカニズムのような非ブロッキングスイッチングを提供することで、代替的な実施態様が実施可能であることが理解されることである。さらに、上述のネットワーク構成部分のいくつかは、適切な処理回路部及びマシン可読格納媒体上で実行されるソフトウェアを用いて又は配線論理回路を通じて実装することができる。