(57)【要約】      （修正有）【課題】ランダムアクセス動作及びファイル格納動作をサポートする分散型メモリアレイを提供する。【解決手段】分散型メモリアレイ１０２は、データを格納するメモリアセンブリ１２５を備え、各メモリアセンブリ１２５は双方向交差ストラップ式ネットワークを介して共に結合された複数のメモリモジュールを有し、各メモリモジュールはスイッチングメカニズムを有する。メモリアセンブリ１２５と結合されたゲートウェイ１１７をさらに備える。ゲートウェイ１１７は、メモリアセンブリ１２５へのアクセスを提供する複数のユーザーアクセスポートと、ユーザーアクセスポートにおいて、ユーザーからファイル格納動作又はランダムアクセス動作のいずれかのためのメモリアセンブリ１２５へのアクセス要求を受信するように、かつ、メモリアセンブリ１２５における利用可能なメモリの割当てユニットを割り当てるように構成されたファイルマネージャーとを備える。【選択図】図１Ｂ
2012069119.tif 000002
【特許請求の範囲】
【請求項１】
ファイル格納動作及びランダムアクセス動作の両方をサポートする分散型メモリアレイであって、
データを格納する少なくとも一つのメモリアセンブリであって、各前記メモリアセンブリは双方向交差ストラップ式ネットワークを介して共に結合された複数のメモリモジュールを有し、各前記メモリモジュールはスイッチングメカニズムを有する、少なくとも一つのメモリアセンブリと、
前記双方向交差ストラップ式ネットワークを介して、前記少なくとも一つのメモリアセンブリと結合された少なくとも一つのゲートウェイであって、
前記少なくとも一つのメモリアセンブリへのアクセスを提供する複数のユーザーアクセスポートと、
前記ユーザーアクセスポートにおいて、ユーザーから、前記ファイル格納動作又は前記ランダムアクセス動作のいずれかのための、前記少なくとも一つのメモリアセンブリへのアクセス要求を受信するように、かつ、前記少なくとも一つのメモリアセンブリにおける利用可能なメモリの少なくとも一つの割当てユニットを、前記ユーザーからの前記要求に基づいて割り当てるように構成されたファイルマネージャーであって、前記ユーザーからのさらなる要求を、前記少なくとも一つの割当てユニットにアクセスするメモリマップド方式のトランザクションに変換するようにさらに構成された、ファイルマネージャーと、
を含む、少なくとも一つのゲートウェイと
を備える分散型メモリアレイ。
【請求項２】
前記ファイルマネージャーは、
前記複数のユーザーポートと通信するコントローラーと、
前記ユーザーからの前記要求に基づいて、前記コントローラーによって構成されたファイルマップであって、前記ユーザー要求における論理アドレスを物理アドレスに変換し、前記少なくとも一つのメモリアセンブリにおける前記少なくとも一つの割当てユニットへのアクセスを提供する、ファイルマップと、
前記ファイルマネージャーに対してサポートされているプロトコル間でメッセージを変換するように構成されたプロトコルブリッジと
を含み、前記ゲートウェイは、
前記複数のユーザーポート及び前記ファイルマネージャーと結合された通信エンドポイントと、
前記複数のメモリモジュール及び前記ファイルマネージャーと結合された通信エンドポイントと、
を含む請求項１に記載の分散型メモリアレイ。
【請求項３】
前記少なくとも一つのメモリモジュールのそれぞれは、
複数のメモリカードと、
前記ユーザー要求に基づいて、認証を提供するように、かつ前記メモリカード内のデータの格納及び読出しを行うように、前記コントローラーによって構成されたメモリマネージャーであって、各前記メモリマネージャーは、
データのパケットを受理するか又は該データのパケットを、前記双方向交差ストラップ式ネットワーク内の次のメモリマネージャーに渡すように構成されたパケットセレクターと、
前記データのパケットの物理メモリアドレスをデコードするように動作可能なアドレスデコーダーと、
メモリモジュール内の内部データの格納動作及び読出し動作を管理するように構成可能なメモリコントローラーと、
を備える、メモリマネージャーと、
を含む請求項１に記載の分散型メモリアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランダムアクセス動作及びファイル格納動作をサポートする分散型メモリアレイに関する。
【背景技術】
【０００２】
[0001]既存の宇宙船のペイロード処理システムは主に二つの機能、特にランダムアクセス処理アプリケーション及びファイル格納動作に対して、大容量のメモリを利用している。ランダムアクセス処理アプリケーションによって使用されるメモリシステムは通常、ファイル格納動作に使用される性能特性及び容量特性と異なった性能特性及び容量特性を有している。したがって、処理アプリケーションは通常、集積した専用処理ユニットにおいて低レイテンシー（latency）かつ高スループットのメモリを用いて構成され、一方ファイル格納動作では、大容量及び高スループットが要求され、一般には独立した専用のメモリユニットを使用する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]このような、現在の宇宙船ペイロード処理システムにおける専用メモリのこの固定された構成によって、容量要件の増大に起因して、複数のアプリケーションの同時処理を行うコストが高くなる。今日のますます向上するデータ転送レート及びより複雑なデータ操作要件のための容量の増大には、過剰の専用メモリリソースが必要とされる。専用メモリの増加は、現行の宇宙船ペイロード処理システムに必要とされる全体的なサイズ、重量及び電力利用を増加させる。
【課題を解決するための手段】
【０００４】
ファイル格納動作及びランダムアクセスの両方の動作をサポートする分散型メモリアレイが提供される。この分散型メモリアレイは、データを格納する少なくとも一つのメモリアセンブリを備え、各メモリアセンブリは双方向交差ストラップ式（cross-strapped）ネットワークを介して共に結合された複数のメモリモジュールを有し、各メモリモジュールはスイッチングメカニズムを有する。この分散型メモリアレイは、双方向交差ストラップ式ネットワークを介して、少なくとも一つのメモリアセンブリと結合された少なくとも一つのゲートウェイをさらに備える。このゲートウェイはまた、少なくとも一つのメモリアセンブリへのアクセスを提供する複数のユーザーアクセスポートと、ユーザーアクセスポートにおいて、ユーザーから、ファイル格納動作又はランダムアクセス動作のいずれかのための、少なくとも一つのメモリアセンブリへのアクセス要求を受信するように、かつ、少なくとも一つのメモリアセンブリにおける利用可能なメモリの少なくとも一つの割当てユニットを、ユーザーからの要求に基づいて割り当てるように構成されたファイルマネージャーとを備える。このファイルマネージャーは、ユーザーからのさらなる要求を、少なくとも一つの割当てユニットにアクセスするメモリマップド方式のトランザクションに変換するようにさらに構成される。
【０００５】
[0003]これら及び他の特徴、態様及び利点については、以下の記述、添付の特許請求の範囲及び添付の図面を参照してより良好に理解される。
【図面の簡単な説明】
【０００６】
【図１Ａ】[0004]本発明の教示による分散型メモリアレイを含むサテライトシステムの一実施形態の概略図である。
【図１Ｂ】[0005]本発明の教示による分散型メモリアレイ及びコンピューターの一実施形態を含むペイロード処理ユニットの概略図である。
【図２】[0006]本発明の教示による分散型メモリアレイの別の実施形態の概略図である。
【図３】[0007]本発明の教示による分散型メモリアレイの一実施形態の概略図である。
【図４】[0008]本発明の教示によるメモリモジュールにおけるメモリマネージャーの一実施形態の概略図である。
【図５】[0009]本発明の教示によるゲートウェイの一実施形態の概略図である。
【図６】[0010]本発明の教示による分散型メモリアレイの動作方法の一実施形態のフローチャートである。
【発明を実施するための形態】
【０００７】
[0011]一般的な方法に従って、記述された種々の特徴は一定の縮尺で描かれたものではなく、本発明に関連する特徴が強調されて描かれている。類似の参照符号は図面及び本文全体を通じ、類似の要素又は構成部分を示す。
【０００８】
[0012]本明細書にて開示されるいくつかの実施形態は、サテライトシステムのための分散型メモリアレイに関する。説明のために一つ又は複数のアプリケーション例を参照して、少なくとも一つの実施形態を以下に説明する。数々の明確な詳細、関係、及び方法が、開示される実施形態のより完全な理解をもたらすために示されていることが理解される。同様に、開示される実施形態の詳細を不必要に不明瞭にすることを避けるために、以下ではよく知られた構成部分及びプロセスの動作は図示も説明もしていない。特に、マスメモリストレージのための分散型メモリアレイが、故障耐性（fault tolerance）を向上させるために提供され、それがスループット及びランダムアクセス、さらに容量及びスループットの拡張性も同様にサポートする。
【０００９】
[0013]例示のために図面に図示されているように、本発明の実施形態は、信頼性のある高速のデータ格納をもたらす故障耐性型の分散型のメモリアレイを提供する。分散型メモリアレイは、少なくとも一つのメモリアセンブリからなる配列及び特定用途のゲートウェイのセットがマスストレージアプリケーションに対して双方向交差ストラップ式である分散型の、モジュール式構造を採用する。少なくとも一つのメモリアセンブリは少なくとも一つのメモリモジュールからなる分散型の双方向交差ストラップ式配列を具備している。分散型の双方向交差ストラップ式アーキテクチャは、レイテンシー（待ち時間、latency）を減じ故障した構成部分をバイパスさせることができ、そうしてメモリ、制御、及びスイッチングに対して故障耐性を提供する。メモリシステムのマネージメント機能は、非専用メモリを再配置することにより、この分散型構造におけるメモリ割当てを管理して、故障耐性の高度化を提供する。分散型メモリアレイはマスストレージアプリケーションに必要な大容量及び高スループットを維持しつつ、処理動作に必要な低レイテンシー及び高スループットを可能にする。
【００１０】
[0014]図１Ａはペイロード１３４の一実施形態を含むサテライトシステム１０の一実施形態の概略図である。ペイロード１３４はサテライトインフラストラクチャ１３８に結合されている。サテライトインフラストラクチャ１３８は、サテライトシステム１０を軌道上に維持するための構成部分を含み、該構成部分には、これらに限定されないが、電源、位置情報、及び指令制御センターが含まれる。
【００１１】
[0015]ペイロード１３４は特定のアプリケーション、たとえば通信、気象観測、テレビ放送又は他の適切なアプリケーションを実施するのに使用されるサブシステムを含む。ペイロード１３４はペイロード関連の機能を実行するペイロード処理ユニット１００を含む。ペイロード処理ユニット１００はセンサー１３２及びアクチュエーター１３６に結合されている。ペイロードの複雑さに応じて、様々なセンサー及びアクチュエーターを管理する専用のプロセッサが存在することができる。ペイロードアプリケーションの計算面での専用のプロセッサも同様に存在することができる。
【００１２】
[0016]ペイロード処理ユニット１００はコンピューター１０１に結合された分散型メモリアレイ１０２を含む。分散型メモリアレイ１０２は、たとえばコンピューター１０１、ペイロード通信ユニット１４１及びペイロードコントロール１４３のようなユーザー構成部分にユーザーアクセスポートを介して結合されている。他の実施形態においては、分散型メモリアレイ１０２はサテライトシステム１００の他のペイロードに対して格納容量を提供するスタンドアローンユニットを具備している。また、代替的な実施形態においては、ペイロード１３４は、種々の処理の必要性に対して、二つ以上のペイロード処理ユニット１００又は二つ以上のコンピューター１０１を含むことができることが理解される。
【００１３】
[0017]動作時に、センサー１３２はペイロード１３４を感知し、信号をその信号を処理するペイロード処理ユニット１００に送信する。それに応答して、ペイロード処理ユニット１００はアクチュエーター１３６に信号を送信し、アクチュエーター１３６はペイロード１３４に対し必要な機能を実行する。また、ペイロード処理ユニット１００は、以下により詳細に記述されているように、たとえばセンサー１３２からのデータも、分散型メモリアレイ１０２の中に格納することができる。
【００１４】
[0018]一実施形態においては、分散型メモリアレイ１０２は大容量ファイル格納動作又は低レイテンシーのランダムアクセス処理動作のために構成可能な複数のメモリモジュールを含む。コンピューター１０１は分散型メモリアレイ１０２のためのデータプロセッサとして動作し、ファイル格納動作又はランダムアクセス動作のいずれかのためのデータを処理する。
【００１５】
[0019]動作時に、ペイロード処理ユニット１００は、たとえばセンサー１３２のような入力源からの入力データを受け取る。コンピューター１０１は必要に応じてそのデータを処理し、処理されたデータを、ランダムアクセス動作又はファイル格納動作のいずれかを用いて分散型メモリアレイ１０２に格納するようデータ格納要求を生成する。その後、コンピューター１０１はデータ格納要求を分散型メモリアレイ１０２に渡す。分散型メモリアレイ１０２は、アレイ内の宛先メモリモジュールを選択し、その要求に対するデータ格納に対応するように構成する。一実施形態においては、分散型メモリアレイ１０２は、コンピューター１０１からの要求に対して適切な粒度（granularity）の程度で、メモリを割当てユニットと称する単位にて割り当てる。割当てユニットのサイズはシステムの必要性に基づき変化するが、しかしながら、割当てユニットの粒度は、メモリの最小のアドレッシング可能な単位と同程度まで小さくすることができることが理解される。
【００１６】
[0020]分散型メモリアレイ１０２は、分散型メモリアレイ１０２にデータを格納するというコンピューター１０１からのさらなる要求を、宛先メモリモジュールにおける該要求のための割当てユニットにアクセスするメモリマップド式のトランザクションに変換する。入力データは、その後、分散型メモリアレイ１０２を介して選択されたメモリモジュールに渡され格納される。ファイル格納動作又はランダムアクセス動作のいずれかである要求されたメモリアクセスのメカニズムを使用してデータの読出しを行う場合、分散型メモリアレイ１０２は同様に、要求されたデータを保持する分散型メモリアレイ１０２のメモリモジュールからデータを読み出し、該データをコンピューター１０１へ提供する。
【００１７】
[0021]図１Ｂはネットワークスイッチ１１２を介して分散型メモリアレイ１０２と結合されているコンピューター１０１を具備したペイロード処理ユニット１００の一つの例の概略図である。分散型メモリアレイ１０２はメモリアセンブリレイヤー１０４及びゲートウェイレイヤー１１６を具備する。コンピューター１０１はペイロード処理ユニット１００に対し異種の（heterogeneous）機能を提供するプロセッサレイヤー１０６を具備する。メモリアセンブリレイヤー１０４は、たとえばメモリアセンブリ１２５のような、少なくとも一つのメモリアセンブリからなる分散型アレイを具備する。分散型メモリアレイ１０２は入出力レイヤー１１４を含むコンピューター１０１からの入力データを受信する。入出力レイヤー１１４は、たとえばセンサー１３２のような外部入力からの情報を受理する。
【００１８】
[0022]ゲートウェイレイヤー１１６は、分散型メモリアレイ１０２に内部的な特定機能向けのアクセスコントローラーを提供する。ゲートウェイレイヤー１１６は、ネットワークスイッチ１１２と結合している。ゲートウェイレイヤー１１６は、ネットワークスイッチ１１２と結合したメモリポートを介して、メモリアセンブリレイヤー１０４と通信する。さらに、ゲートウェイレイヤー１１６は、ネットワークスイッチ１１２と結合した内部的なユーザーポートを介して、プロセッサレイヤー１０６及びカスタム入出力レイヤー１１４と通信する。
【００１９】
[0023]一実施形態においては、ゲートウェイレイヤー１１６は、サポートしているメッセージングプロトコルのデータパケットを受理しかつ変換して、メモリアセンブリレイヤー１０４の内で宛先メモリ及び物理的なメモリアドレスを求める。ゲートウェイレイヤー１１６は、ペイロード処理ユニット１００が種々のアプリケーションからのデータを効率的に処理することを可能にする。特に、ゲートウェイレイヤー１１６は、単独システムにおいては、以下により詳細に述べるように、ファイル格納動作及びランダムアクセス処理動作のためのメモリアクセスのメカニズムを実施するように構成されている。具体的には、ゲートウェイレイヤー１１６は、或るアプリケーションによって要求された場合に、ファイル格納メモリアクセスのメカニズムを実施するように構成された第一のゲートウェイのセットと、他のアプリケーションによって要求された場合に、ランダムアクセスのメモリアクセスメカニズムを実施するように構成された第二のゲートウェイのセットとを含む。しかしながら、いずれのゲートウェイもファイル格納動作及びランダムアクセス動作のうちの少なくとも一方を処理するように、後から動的に再構成することができることが理解される。
【００２０】
[0024]一実施形態においては、プロセッサレイヤー１０６は、ペイロード処理ユニット１００のための多数のアプリケーションを実施する。プロセッサレイヤー１０６上で実行されている各アプリケーションは、ファイル格納又はランダムアクセスのいずれかのメモリアクセスメカニズムを使ってデータをより効率的に格納する。プロセッサレイヤー１０６は、第一のプロセッサユニット１０８及び第二のプロセッサユニット１１０を具備している。一実施形態においては、第一のプロセッサユニット１０８は、ファイル格納メモリアクセスメカニズムを使用してデータを分散型メモリアレイ１０２へ格納するアプリケーションを実行する。第二のプロセッサユニット１１０は、ランダムアクセスメカニズムを使用してデータを分散型メモリアレイ１０２へ格納するアプリケーションを実行する。コンピューター１０１の代替的な一実施形態においては、ペイロード処理ユニット１００が意図するアプリケーションに応じて、第一のプロセッサユニット１０８又は第二のプロセッサユニット１１０のいずれかを具備しないこともできる。たとえば、主にランダムアクセス処理のために設計されたペイロード処理ユニットは、第一のプロセッサユニット１０８がなくても機能することができる。反対に、主にマスストレージシステムを利用するように設計されたペイロード処理ユニットは、第二のプロセッサユニット１１０がなくても機能することができる。
【００２１】
[0025]例示的な一実施形態においては、コンピューター１０１及び分散型メモリアレイ１０２は、初期構成の後でも、ペイロード処理ユニット１００の内で動的に再構成できる。たとえば、メモリアセンブリレイヤー１０４を制御するメモリマネージメントシステムは、メモリアセンブリレイヤー１０４内で割り当てられた任意の割当てユニットを、ペイロード処理ユニット１００の現行の要件をサポートする必要性に応じて、ファイル格納からランダムアクセス処理へと動的に再割当てすることができる。さらに、各割当てユニット内のデータは、以下により詳細に議論されているように、廃棄又は転送され、そうして割当てユニットの再割当てを可能にすることができる。これにより、ペイロード処理ユニット１００がシステム動作及びアプリケーション要求の変更に応じて、変化することが可能になる。
【００２２】
[0026]コンピューター１０１及び分散型メモリアレイ１０２は予備構成部分のシステムをさらに採用し、冗長性を提供している。たとえば、ペイロード処理ユニット１００の各構成部分は少なくとも一つの予備構成部分１１８、１２０、１２２、１２４、１２６、及び１２８に関連付けられている。このペイロード処理ユニット１００の冗長的な接続は、本ユニットに故障耐性リソースを提供する。この故障耐性リソースは、故障に際して、不備の構成部分を適切に機能する予備の構成部分に置き換えることにより、ペイロード処理ユニット１００が適切に動作し続けることを可能にする。
【００２３】
[0027]動作時に、ペイロード処理ユニット１００は、コンピューター１０１と、ファイル格納動作及びランダムアクセス動作の両方のための分散型メモリアレイ１０２とを使用して、ペイロードアプリケーションに対するデータの格納及び読出しを行う。データ格納のために、分散型メモリアレイ１０２がネットワークスイッチ１１２を介して、又は外部のユーザーアクセスポート１１５を介して入力データを受信する。分散型メモリアレイ１０２はプロセッサレイヤー１０６、カスタム入出力レイヤー１１４、又はネットワークスイッチ１１２と結合されている任意の他のデータソース、たとえばこのサテライトシステムの別のペイロードのプロセッサ、からネットワークスイッチ１１２を介してデータを受信することができる。
【００２４】
[0028]分散型メモリアレイ１０２は、ゲートウェイレイヤー１１６において要求及びデータを受信する。ゲートウェイレイヤー１１６は分散型メモリアレイ１０２に対するメモリ割当てを管理する。ゲートウェイレイヤー１１６は要求の発生源及び要求されているメモリアクセスのタイプ、たとえばランダムアクセス又はファイル格納を判断する。この判断に基づき、ゲートウェイレイヤー１１６のコントローラーは、要求に対するデータ格納のための分散型メモリアレイ１０２を選択し構成する。この要求に対するデータが受信されると、入力されたデータがゲートウェイレイヤー１１６によってメモリマップド方式の（memory mapped）トランザクションに変換され、その後メモリアセンブリレイヤー１０４を介して選択されたメモリモジュール内の選択された位置に渡される。同様に、データの読出しでは、データは分散型メモリアレイ１０２内の選択されたメモリモジュールから、機能を処理するコンピューター１０１、又は任意の他の要求している構成要素若しくはアプリケーションへ渡される。一つの例においては、データは、該データを要求しているアプリケーションに応じて、プロセッサレイヤー１０６内のプロセッサ１０８又はプロセッサ１１０のいずれかに渡される。
【００２５】
[0029]図２は、分散型メモリアレイ２００の代替的な一実施形態の概略図である。この概略図は、メモリアセンブリレイヤー２３０とゲートウェイレイヤー２１６との間の、ネットワークスイッチ２１２を介した接続関係を示している。ゲートウェイレイヤー２１６は、たとえばゲートウェイ２１７のような少なくとも一つのゲートウェイを具備している。ゲートウェイ２１７は、特定機能向けゲートウェイ２０６及びコントローラー２０８をさらに具備している。ネットワークスイッチ２１２は、より高いスループットのためのノンブロッキングスイッチング（non-blocking switching）を提供する標準形式のネットワークプロトコルのを通して、集中型スイッチングのレイヤーを付加する。図２の例示的な実施形態において、ネットワークスイッチ２１２はシリアルラピッドＩＯ（Serial RapidIO）を使用している。シリアルラピッドＩＯは、組込みシステムでの通信のための、高性能のパケットスイッチ型の相互接続技術である。メモリアセンブリレイヤー２３０の代替的な実施態様においては、ネットワークスイッチ２１２は代替的技術を採用し、周辺機器相互接続エクスプレス（Peripheral Component Interconnect Express (PCIe)）スイッチング及び他の同様な相互接続方法のようなノンブロッキングスイッチングを提供していることが理解される。ネットワークスイッチ２１２はメモリアセンブリレイヤー２３０とゲートウェイ２０６との間の通信の分岐として動作する。
【００２６】
[0030]例示的な実施形態においては、ネットワークスイッチ２１２は、双方向アーキテクチャ２０２を介してメモリアセンブリレイヤー２３０と接続されている。メモリアセンブリレイヤー２３０は、メモリアセンブリ２０１のような、少なくとも一つのメモリアセンブリを具備する。例示した一実施形態においては、メモリアセンブリ２０１はネットワークスイッチ２１２との複数の双方向接続を具備する。双方向アーキテクチャ２０２は分散型メモリアレイ２００に対して、数々の利点を導入する。第一に、複数の双方向接続２０２はメモリアセンブリレイヤー２３０からのデータの読出しにおいて、レイテンシーの低減を提供する。さらに双方向接続２０２はまた、メモリアセンブリレイヤー２３０とネットワークスイッチ２１２との間の、より効率的な誤り訂正を可能にする。ネットワークスイッチ２１２はまた、双方向交差ストラップ式（cross strapping）接続２０４を介して、ゲートウェイレイヤー２１６と結合している。双方向交差ストラップ式接続２０４は予備のゲートウェイ２２８及び予備のネットワークスイッチ２１８と連結して、システムの故障耐性の特性を高める。ネットワークスイッチ２１２又はゲートウェイ２１７のいずれかが故障した場合、双方向交差ストラップ式接続２０４は不備の構成部分をマッピングから取り除くことにより、該不備の構成部分をバイパスする。予備の構成部分に絶え間なく電力を提供するシステムにおいては、この切替えは瞬時に行うことができる。
【００２７】
[0031]動作時に、ゲートウェイレイヤー２１６は、格納要求がランダムアクセスのためのメモリアクセスメカニズムを要求しているか、又はファイル格納のためのメモリアクセスメカニズムを要求しているかを判断する。この判断及び要求の発生源に基づいて、ゲートウェイレイヤー２１６はデータ格納のためのメモリアセンブリレイヤー２３０のメモリーモジュールを選択し構成する。要求に関してデータが受信されると、ゲートウェイレイヤーは、その要求を選択されたメモリモジュールに対するメモリマップド方式のトランザクションに変換する。入力データは、その後ゲートウェイレイヤー２１６からメモリアセンブリレイヤー２３０へ送信される。
【００２８】
[0032]図３は、分散型メモリアレイ３００の一実施形態の概略図である。分散型メモリアレイ３００はメモリアセンブリ３２０を含む。メモリアセンブリ３２０は、たとえばメモリモジュール３０６のような、少なくとも一つのメモリモジュールを含む。メモリアセンブリ３２０の代替的な実施形態は、システムの特定のアプリケーションに必要なだけ多くのメモリモジュールを具備することができることが理解される。例示的な実施形態においては、メモリモジュール３０６は、メモリアセンブリ３２０の他のメモリモジュールと同様に、各々がメモリストレージ構成部分として振舞う。メモリモジュール３０６に格納されたデータは、後の使用のために読出し、転送、及び／又は格納することができる。さらに、メモリモジュール３０６は、適切なアプリケーションに応じて専用又は非専用のいずれかのメモリとすることができる。動作が進化する必要があるか又は分散型メモリアレイの故障耐性をさらに向上させる必要があるので、非専用メモリはいずれかのメモリアクセスメカニズム、たとえばファイル格納又はランダムアクセスの形態で使用するように再割当てすることができる。非専用で再割当て可能なメモリの使用は、全体的なシステムのサイズ及び重量を減少させることにより、全体的な電力使用を減じ、効率を改善する。それにより、さらに、各メモリモジュール内の各割当てユニットを必要に応じてファイル格納用又はランダムアクセス用に選択的に構成することが可能になることによって、システムのスケーラビリティが改善する。
【００２９】
[0033]例示的な実施形態においては、メモリアセンブリ３２０の個々のメモリモジュール３０６は、双方向交差ストラップ式ネットワーク３０４を介して接続されている。各メモリモジュール３０６は、双方向交差ストラップ式ネットワーク３０４を実装するように構成された、メモリマネージャー３０５と呼ばれる、或る程度に内部制限されたスイッチング（degree of internal limited switching）を保有する。システム障害に際して、コントローラー、たとえばコントローラー３１０は内部スイッチング機能を利用し、双方向交差ストラップ式ネットワーク３０４内の適切なリンクを取り除くことによって、不備のメモリモジュールの直接的な置換えを提供する。例示的な実施形態においては、メモリモジュール３０６は、図１Ｂのように、ネットワークスイッチ１１２のような集中した接続レベルを介して接続される代わりに、ゲートウェイ／コントローラーレイヤー３１６と直接的に、双方向交差ストラップ式接続される。さらに、図２のメモリアセンブリ２０１は、一実施形態においては、図３のメモリアセンブリ３２０に示されるように構成される。
【００３０】
[0034]一実施形態においては、ゲートウェイ３０８は変換ファイアウォールとして振る舞い、メモリストレージに関する意思決定を取り扱う。たとえばゲートウェイ３０８は、メモリアセンブリ３００内のいずれのメモリモジュールがユーザーアクセスポート３１５からの読出し要求又は書込み要求を受信するかを決定する。コントローラー３１０は、ゲートウェイ３０８と結合されていて、ゲートウェイ３０８への管理機能を提供し、分散型メモリアレイ内のメモリの割当てを指揮する。ゲートウェイレイヤー３１６は、以下に記述される図面において、より詳細に議論される。
【００３１】
[0035]図４は、一つ又は複数の関連するゲートウェイの制御下にある複数のメモリカード４１５へのアクセスを管理する、メモリマネージャー４００の一実施形態の概略図である。メモリマネージャー４００のような、一つ又は複数のメモリマネージャーは、たとえばメモリアセンブリ３２０ようなメモリアセンブリの各メモリモジュールに存在して、制限されたスイッチングメカニズムを提供する。メモリマネージャー４００は、インタフェース４０１、たとえばデュアルインラインメモリモジュール（dual in-line memory module：ＤＩＭＭ）インタフェースを通してメモリカード４１５に結合されている。メモリマネージャー４００は、ラピッドＩＯ（RapidIO）エンドポイント４０４−１〜４０４−８及び通信リンク４０２を介した、メモリモジュールの上流接続と下流接続をさらに提供する。ラピッドＩＯエンドポイント４０４−１〜４０４−８はメモリマップド方式の通信をサポートする。
【００３２】
[0036]例示した一実施形態においては、パケットセレクター４０８は、双方向接続でラピッドＩＯエンドポイント４０４と結合されていて、エンドポイント４０４において受信された各パケットを検査し、宛先メモリがメモリマネージャー４００にローカルであるか否か判断する。宛先メモリ及びパケットのパケット選択情報に応じて、パケットセレクター４０８はそのパケットを受理するか又は渡すかを判断する。パケットが受理された場合、パケットセレクター４０８はそのパケットを認証する。パケットセレクター４０８は、発信元と、パケットセレクター４０８内のアクセス制御テーブル情報とを利用することによって、そのパケットがローカルメモリにアクセスする権利を有しているか否か判断し、アクセス権限を認証する。パケットが権限を有している場合、アドレスデコーダー４１０はその後、パケットの物理的メモリアドレスをデコードし、そのメモリモジュールに対する特定の動作を実行する。データがそのメモリモジュール内に格納されることになる場合、メモリコントローラー４１４は、たとえばメモリカード４１５のようなメモリカードを選択し、そのデータを格納する。データが格納された後、パケットセレクター４０８は各パケットの要求者に対して、成功又は失敗を示す応答を発行する。パケットが渡された場合、パケットセレクター４０８はそのパケットを、ラピッドＩＯエンドポイント４０４及び情報通信接続４０２を介して、メモリアセンブリ内の一連のメモリモジュール内にある、次のメモリマネージャーへ渡す。
【００３３】
[0037]図４においては、ラピッドＩＯエンドポイント４０４のうちのいくつかがオプションとして示されている。これらのオプションのエンドポイント４０４は、含まれているときは、ゲートウェイとメモリモジュールとの間のより幅広い帯域幅の通信を提供する。
【００３４】
[0038]図５は、分散型メモリアレイ１０２（図１Ａ、図１Ｂ）、２００（図２）及び３００（図３）のような分散型メモリアレイにおいて使用されるゲートウェイ５００の一実施形態の概略図である。例示的な実施形態においては、ゲートウェイ５００は、シリアルラピッドＩＯネットワークのプロトコルを利用して、ユーザーに対するアクセス（外部）接続及びメモリアセンブリ／モジュールへの（内部）接続を提供する。ゲートウェイ５００の代替的な実施態様では、代替的な技術が採用されて、防衛、航空宇宙、及び電気通信において一般に使用されているＰＣＩｅプロトコル及び他の相互接続のような接続が提供されることが理解される。ゲートウェイ５００のアーキテクチャは、メモリ割当てに関係して内部的な意思決定を提供する、システムの保護メカニズムを提供する。
【００３５】
[0039]一実施形態においては、ゲートウェイ５００は、ファイルマネージャー５０１と、複数のラピッドＩＯエンドポイント５０８及び５１０とを含む。ラピッドＩＯエンドポイント５０８はユーザーアクセスポート５１５を介してユーザーと通信する。ラピッドＩＯエンドポイント５１０は種々のメモリモジュールのメモリマネージャーと通信する。ファイルマネージャー５０１は、プロトコルブリッジ５０２、ファイルマップ５０４、及びコントローラー５０６をさらに含み、単一の分散型メモリアレイにおける、ファイル格納及びランダムアクセスのようなメモリアクセスの型をサポートする。例示的な実施形態においては、ゲートウェイ５００は、アプリケーションからの要求を取り扱い、分散型メモリアレイにおけるデータの格納及び読出しを行う。これらの要求は、必要とされるメモリアクセスメカニズム、たとえばファイル格納動作又はランダムアクセス処理のいずれかを指定する。たとえば、ゲートウェイ５００は、たとえばラピッドＩＯエンドポイント５０８−１のようなラピッドＩＯエンドポイント５０８において、パケットを受理する。ゲートウェイ５００は、ラピッドＩＯエンドポイント５１０、たとえばラピッドＩＯエンドポイント５１０−１を介して、関連するメモリモジュールと通信する。代替的な一実施形態においては、メモリマネージャーはゲートウェイに含まれることに留意されたい。
【００３６】
[0040]動作時に、コントローラー５０６は、プロトコルブリッジ５０２、ファイルマップ５０４のための変数を構成又は調整し、これらのためのグローバル設定を制御することによって、ゲートウェイ５００及び関連するメモリモジュールの全体的な挙動を管理し、システムに対して、必要であれば、種々のメモリモジュールのメモリマネージャーを選択する。さらに、コントローラー５０６は、ファイルマネージャー５０１に必要とされる抽象化を実行するための、内部ディレクトリ及びサブディレクトリへのアクセスを有する。例示的な一実施形態においては、コントローラー５０６はソフトウェアベースのプロセッサであるが、しかしながら、コントローラー５０６は配線接続された状態マシンとして実装することができることが理解される。
【００３７】
[0041]プロトコルブリッジ５０２及びファイルマップ５０４は共に、ゲートウェイ５００に対して、マッピング及び変換の機能を実行する。特に、プロトコルブリッジ５０２は、ラピッドＩＯエンドポイント５０８において、到着したパケットを、サポートしている種々のメッセージプロトコル間で変換する。ファイルマップ５０４は、仮想メモリのマッピング関数として振舞う。動作時に、ファイルマップ５０４は、ユーザーに理解されるような論理アドレスを、分散型メモリアレイに関する格納場所を指定するために必要な、対応する物理アドレス、たとえば、メモリマップド方式のメッセージ又はトランザクションに変換する。
【００３８】
[0042]ゲートウェイ５００は、ファイル格納及びランダムアクセスのメモリアクセスメカニズムのうちの少なくとも一つを必要とするアプリケーションからの要求を処理するように構成することが可能であり、その後、システムの必要に基づいて異なったメカニズムを指定する要求を処理するように後から動的に再設定することができることが理解される。
【００３９】
[0043]ゲートウェイ５００は、ファイル格納動作を実行する。たとえば、一実施形態においては、ファイルマネージャー５０１はラピッドＩＯエンドポイント５０８においてラピッドＩＯパケットを受信する。これらのパケットは、必要に応じて、プロトコルブリッジ５０２へ渡される。プロトコルブリッジ５０２はそのパケットを要求されたプロトコル、たとえばＩＯ論理書込みパケットに変換する。プロトコルブリッジ５０２はさらに、ユーザーアクセスポート５１５を通して、ユーザーに応答し、パケットの受信に成功したことを示すことによって、そのパケットを終結させる。プロトコルブリッジ５０２はその後、メモリマップド方式のプロトコルを使用した、適切なメモリロケーションへの、パケットの内容の書込みの成功に責任を負うようになる。メッセージングパケットに対して使用されるメモリロケーションは設定情報及びファイルマップ５０４から求められる。ファイルマネージャー５０１はまた、全体的なファイル格納動作に対するより高効率な格納機能及び読出し機能のために、メッセージングプロトコルパケットを追跡し、ファイルマップ５０４内部の情報を維持及び更新する。
【００４０】
[0044]代替的な一実施形態においては、ゲートウェイ５００は、ランダムアクセス処理のアプリケーションを実行する。たとえば、ファイルマネージャー５０１は、プロトコルブリッジ５０２を通して、ラピッドＩＯエンドポイント５０８においてＩＯ論理プロトコルのラピッドＩＯパケットを受信し、パケットの仮想宛先アドレスを、等価な宛先メモリアドレス及び物理メモリアドレスに変換する。ゲートウェイ５００は各パケット源に固有のネットワークアドレス変換をさらに実行し、宛先のメモリマネージャーに対してそのパケットを認証する。
【００４１】
[0045]例示的な一実施形態においては、ファイルマネージャー５０１は、ファイル格納アプリケーションの目的の場合、ラピッドＩＯエンドポイント５０８においてラピッドＩＯメッセージパケットを受理するのに対して、ランダムアクセス処理動作の場合、ファイルマネージャー５０１は、ＩＯ論理プロトコルのラピッドＩＯパケットだけを受理する。ＩＯ論理プロトコルのラピッドＩＯパケットは、より高位のアプリケーションのサポートなしで、メモリのアクセス及びアドレッシングのようなメモリマッピングだけをサポートする。スペースの節減と効率化の目的で、例示的な一実施形態においては、ランダムアクセス処理動作に対して代替的なラピッドＩＯプロトコルを使用していない。しかしながら、代替的な実施形態が、必要とされるゲートウェイアプリケーションのうちの一つ又は両方に対して、代替的なラピッドＩＯプロトコルを利用することができるということが理解される。
【００４２】
[0046]図６は、ファイル格納動作及びランダムアクセス動作、たとえば、上述の分散型メモリアレイ１０２、２００又は３００、をサポートする分散型メモリアレイを動作させる方法６００の一実施形態のフローチャートである。例示的な一実施形態においては、分散型メモリアレイは、或るユーザーから、たとえばコンピューター１０１、処理レイヤー１０６、又は他のユーザーからのアクセス要求を受信する（ブロック６０２）。このユーザーは、任意のカスタムユーザー入力若しくはたとえばセンサー１３２のようなセンサー、又は種々の他のデータ生成デバイス若しくはデータ処理デバイスとすることができることが理解される。分散型メモリアレイがユーザーからのアクセス要求を受信すると（ブロック６０２）、分散型メモリアレイは少なくとも一つのメモリの割当てユニットをそのユーザーに割り当て、宛先メモリモジュールの選択を含む、元のアクセス要求に関連付けられたユーザーからの後続のアクセス要求を取り扱うのに必要な分散型メモリアレイの構成部分を構成する（ブロック６０４）。このメモリ割当て動作はたとえば、ゲートウェイ１１７、２１７、又は３０８のような分散型メモリアレイのゲートウェイによって指揮される。
【００４３】
[0047]この時点で、分散型メモリアレイは、ユーザーからの付加的なアクセス要求を受信する準備ができている（ブロック６０６）。アクセス要求がユーザーから受信されると、ゲートウェイはその要求を、その要求に関連付けられた、物理メモリ内のアドレスを含む、メモリマップド方式のトランザクションに変換する（ブロック６０８）。その要求は、その後分散型メモリアレイを通して選択されたメモリモジュールへ渡され、各メモリモジュールに配置されたメモリマネージャーはその要求が受理されるべきか又は次のメモリモジュールに渡されるべきかを判断する。その要求が選択されたメモリモジュールに渡されると、要求は認証される（ブロック６１０）。その要求が認証に合格した場合、要求は認可されて実行され、選択されたメモリモジュール内に定められた宛先において、データが格納されるか又は読み出される（ブロック６１２）。
【００４４】
[0048]この記述は、説明の目的でなされており、開示した実施形態に対して、網羅的であることも、限定的であることも意図していない。以下に述べる特許請求の範囲内で、変更及び修正が可能である。たとえば、上述の例のいくつかは、ネットワークプロトコルとしてシリアルラピッドＩＯを利用しているが、しかしながら、代替技術を使用して、ＰＣＩｅスイッチング及び他の同様な相互接続メカニズムのような非ブロッキングスイッチングを提供することで、代替的な実施態様が実施可能であることが理解されることである。さらに、上述のネットワーク構成部分のいくつかは、適切な処理回路部及びマシン可読格納媒体上で実行されるソフトウェアを用いて又は配線論理回路を通じて実装することができる。
【図１Ａ】
2012069119.tif 000003
【図１Ｂ】
2012069119.tif 000004
【図２】
2012069119.tif 000005
【図３】
2012069119.tif 000006
【図４】
2012069119.tif 000007
【図５】
2012069119.tif 000008
【図６】
2012069119.tif 000009
【外国語明細書】
2012069119000001.pdf