"高速シリアル通信を有するフラッシュベースのメモリモジュールであって:複数の入出力モジュールであり、それぞれの入出力モジュールは1つ以上の外部通信リンクを通じて、外部デバイスと通信するように構成されている複数の入出力モジュール;複数のフラッシュベースのメモリカードであって、それぞれのフラッシュベースのメモリカードは複数のフラッシュメモリ素子を含み、それぞれのフラッシュメモリ素子は、ブロックに分割された物理メモリスペースを有し、それぞれのブロックは更にページに分割されており、それぞれのページは、その上でメモリ操作が遂行される、個別にアドレス可能なメモリロケーションを表し、多数のそのようなメモリロケーションは、1ブロックのグルーピング内で、同時に消去可能である、それぞれの複数のフラッシュベースのメモリカード;並びに複数のクロスバースイッチング素子であって、それぞれのクロスバースイッチング素子は、フラッシュベースのメモリカードのそれぞれの1つと接続され、及び前記入出力モジュールのそれぞれの1つが、フラッシュベースのメモリカードのそれぞれの1つと通信することが可能なように構成されている、複数のクロスバースイッチング素子とを含み、それぞれの入出力モジュールは、それぞれのクロスバースイッチング素子と、高速シリアル通信リンクにより接続され、それぞれの高速シリアル通信リンクは、それぞれの入出力モジュールが、それぞれのクロスバースイッチング素子への、及びクロスバースイッチング素子からのコマンド、命令、及び/又はデータを表すビットを送受信することを可能にし、並びにそれぞれのクロスバースイッチング素子は、フラッシュベースのメモリカードのそれぞれの1つに、複数の並列通信リンクにより接続され、それぞれの並列通信リンクは、1つのクロスバースイッチング素子を、フラッシュベースのメモリカードのそれぞれの1つのフラッシュメモリ素子の1つと接続している、フラッシュベースのメモリモジュール。入出力モジュールから送信されるコマンド、命令、及び/又はデータを表す前記ビットが、読み出し-修正-書き込みを含むDMA要求を含む直接メモリアクセスDMA要求の一部である、請求項1に記載のフラッシュベースのメモリモジュール。前記入出力モジュールが、以下のプロトコル:ファイバーチャンネルFibreChannel、インフィニバンドInfiniBand、イーサーネットEthernet、及び前面パネルデータポートFrontPanelDataPortのうちの1つを含む高速通信プロトコルを用いる1つ以上の外部通信リンクを通じて、外部デバイスと通信するために構成されている請求項1に記載のフラッシュベースのメモリモジュール。それぞれの前記入出力モジュールが、高速通信プロトコルを用いる1つ以上の外部通信リンクを通じて、前記入出力モジュールが外部デバイスと通信可能とするために構成された高速インターフェースを含む、請求項3に記載のフラッシュベースのメモリモジュール。それぞれの前記入出力モジュールが、更に複数のマルチギガビットトランシーバーを有する高速制御装置を含み、それぞれの高速シリアル通信リンクのための1つの前記マルチギガバイトトランシーバーは前記入出力モジュールに接続され、それぞれの前記入出力モジュールは、前記マルチギガバイトトランシーバーを用いて、それぞれの前記クロスバースイッチング素子との間のコマンド、命令及び/又はデータを表すビットを送受信するために構成される、請求項4に記載のフラッシュベースのメモリモジュール。それぞれの前記入出力モジュールが、更にCPU及び共有スイッチング素子を含み、この共有スイッチング素子は、CPU、1つ以上の外部通信リンクを介する外部デバイス、及び前記マルチギガバイトトランシーバーの間の通信を規制するために構成されている、請求項5に記載のフラッシュベースのメモリモジュール。それぞれの前記クロスバースイッチング素子が、多重マルチギガバイトトランシーバーを有する高速制御装置を含み、それぞれの高速シリアル通信リンクのための1つの前記マルチギガバイトトランシーバーは前記クロスバースイッチング素子に接続され、それぞれの前記クロスバースイッチング素子は、前記マルチギガバイトトランシーバーを用いて、それぞれの前記入出力モジュールとの間のコマンド、命令及び/又はデータを表すビットを送受信するために構成される、請求項1に記載のフラッシュベースのメモリモジュール。拡張可能な高速メモリカードであって:印刷回路板PCB;前記PCB上に取り付けられ、及び前記高速メモリカードが、1つ以上の高速シリアル通信リンクを通じた1つ以上の外部デバイスからの命令、コマンド、及び/又はデータを表すビットを受信可能になるように構成されたインターフェース回路;前記PCB上に取り付けられた複数のメモリ素子であって、それぞれのメモリ素子はその上でメモリ操作が遂行される物理的メモリ空間を有する、複数のメモリ素子;並びに前記PCB上に取り付けられた制御装置であって、前記インターフェース回路及び前記複数のメモリ素子に接続され、前記制御装置は、メモリ操作を遂行するために前記インターフェース回路及びそれぞれのメモリ素子の間の通信を制御するように構成されている、制御装置とを含み;前記インターフェース回路は前記制御装置に、複数の高速シリアル通信回線により接続され、それぞれの高速シリアル通信回線は、高速シリアル通信リンクの1つに対応し;及び前記制御装置は、前記複数のメモリ素子に、所定の数の並列通信回線により接続されており、前記制御装置は、高速シリアル通信リンクからのコマンド、命令及び/又はデータを表すビットを、シリアルフォーマットから、並列フォーマットに変換するように構成されている、拡張可能な高速メモリカード。前記1つ以上の高速シリアル通信リンクが、24個の高速シリアル通信リンクを含み、及びそれぞれの前記高速シリアル通信リンクは、2つの全二重シリアル通信チャンネルにより構成され、それぞれの前記シリアル通信チャンネルは他のシリアル通信チャンネルとは独立して通信を伝送するために構成されている、請求項8に記載の拡張可能な高速メモリカード。前記制御装置を複数のメモリ素子に接続させる前記所定の数の並列通信回線が、288個の並列通信回線を含む、請求項8に記載の拡張可能な高速メモリカード。前記制御装置がシリアライザ/デシリアライザ及びパッキングモジュールを含み、これのシリアライザ/デシリアライザ及びパッキングモジュールは、シリアルフォーマットによるインターフェース回路からのコマンド、命令、及び/又はデータを表すビットを入力し、及びコマンド、命令及び/又はデータを表すビットを並列フォーマットに従うように再編成するために構成されている、請求項8に記載の拡張可能な高速メモリカード。前記シリアライザ/デシリアライザ及びパッキングモジュールが、コマンド、命令及び/又はデータを表すビットを、前記マルチギガビットトランシーバーを用いて、並列フォーマットに従うように再編成し、及び記憶バッファーが、前記シリアライザ/デシリアライザ及びパッキングモジュール内に存在する、請求項11に記載の拡張可能な高速メモリカード。前記制御装置が、前記シリアライザ/デシリアライザ及びパッキングモジュールによって、並列フォーマットに再編成されたコマンド、命令及び/又はデータを表すビットを受け取り、及びそれらのコマンド、命令及び/又はデータを表すビットから所定の数のワードを構築するために構成された多重チャンネルバッファーを更に含み、それぞれのワードは所定の数のビットにより構成されている、請求項11に記載の拡張可能な高速メモリカード。前記制御装置が、前記多重チャンネルバッファーから前記ワードを受け取り、このワードを用いて1つ以上のエラー修正コードビットを生成させ、それぞれの前記ワードのためのエラー修正コードビットをワードに加え、及びそれぞれの前記エラー修正コードビットが加えられたワードを出力するために構成されている、少なくとも1つのエラー修正及びデータ保護回路を更に含む、請求項13に記載の拡張可能な高速メモリカード。前記少なくとも1つのエラー修正及びデータ保護回路からの第一のワードが、前記出力バッファーの1つに提供され、及び少なくとも1つの前記エラー修正及びデータ保護回路からの次のワードが前記出力バッファーの別の1つに提供されることができるように、前記制御装置が、少なくとも1つの前記エラー修正及びデータ保護回路に接続された出力バッファーを更に含み、この出力バッファーは、前記少なくとも1つの前記エラー修正及びデータ保護回路から、順々に前記エラー修正コードビットを加えられたワードを受け取るために構成されている、請求項14に記載の拡張可能な高速メモリカード。前記制御装置が、エラー修正コードビットを加えられたワードを前記出力バッファーから受け取り、及びスーパーワードを形成するために、所定の方式により、所定の数のワードを組み合わせるために構成されているメモリバッファーを更に含む、請求項15に記載の拡張可能な高速メモリカード。高速シリアル通信を有するメモリモジュールであって:第一の複数の入力処理ブロック及び第二の複数の入力処理ブロックを含み、それぞれの入力処理ブロックは、シリアルフォーマットに従ったコマンド、命令及び/又はデータを表すビットを受け取り、及びそのコマンド、命令及び/又はデータを表すビットを、並列フォーマットに従うように再配列するために構成され;複数のメモリ素子を含み、それぞれのメモリ素子は、その上でメモリ操作が遂行される物理的メモリ空間を有する複数のメモリ素子を含み;並びに第一及び第二の複数の入力処理ブロックと前記メモリ素子を接続する制御装置であって、前記制御装置はメモリ操作を遂行するために、第一及び第二の複数の入力処理ブロック及びそれぞれのメモリ素子の間の通信を制御するために構成されている、制御装置を含み、前記制御装置が:a第一及び第二の複数の入力処理ブロックに、それぞれ接続された第一の多重チャンネルバッファー及び第二の多重チャンネルバッファーであって、それぞれの前記多重チャンネルバッファーは、並列フォーマットのコマンド、命令及び/又はデータを表すビットを、前記第一及び第二の複数の入力処理ブロックから、それぞれ受け取り、及びコマンド、命令及び/又はデータを表すビットから、所定の数のワードを構築するために構成されており、それぞれのワードは所定の数のビットから成っている、第一の多重チャンネルバッファー及び第二の多重チャンネルバッファーを含み、b第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路であって、前記第一及び第二の多重チャンネルバッファーにそれぞれ接続され、前記第一及び第二のエラー修正及びデータ保護回路は、前記第一及び第二の多重チャンネルバッファーからのワードを、それぞれ受け取り、前記ワードを用いる1つ以上のエラー修正コードのビットを生成させ、それぞれのワードのための前記エラー修正コードのビットを前記ワードに加え、及びそれぞれのワードを、そのワードに加えられたエラー修正コードのビットとともに出力するために構成されている、第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路を含み;c第一及び第二の修正及びデータ保護回路にそれぞれ接続された、第一の出力バッファー及び第二の出力バッファーであって、前記第一及び第二の出力バッファーは、第一及び第二のエラー修正及びデータ保護回路の1つからの第一のワードが、第一及び第二の出力バッファーの1つに提供され、及び第一及び第二のエラー修正及びデータ保護回路の別の1つからの次のワードが、前記第一及び第二の出力バッファーの別の1つに提供されることができるように、順々に前記第一及び第二のエラー修正及びデータ保護回路からの、前記エラー修正コードビットが加えられたワードを受け取るために構成されている、第一の出力バッファー及び第二の出力バッファーを含み;並びにdメモリバッファーであって、前記エラー修正コードのビットが加えられたワードを、前記第一及び第二の出力バッファーから受け取り、及び前記所定の数のワードを所定の方式によって、スーパーワードの形成のために組み合わせるために構成されている、メモリバッファーとを含む、メモリモジュール。前記制御装置が、それぞれのメモリ操作が、READ操作であるか、又はWRITE操作であるかを決定するために構成されている、競合制御モジュールを更に含み、この競合制御モジュールは、WRITE操作であるメモリ操作が所定の条件を満たす場合以外には、READ操作であるメモリ操作を優先するように更に構成されている、請求項17に記載のメモリモジュール。前記メモリモジュールがフラッシュベースのメモリモジュールであり、このフラッシュベースのメモリモジュールは以下:シングルレベルセルフラッシュメモリ、及びマルチレベルセルフラッシュメモリの1つ以上の種類のフラッシュメモリを含む、請求項17に記載のメモリモジュール。前記メモリモジュールがRAMベースのメモリモジュールであり、前記RAMベースのメモリモジュールが、以下:DDRRAM、DDR2RAM、及びDDR3RAMのRAMの1つ以上を含む、請求項17に記載のメモリモジュール。より効果的な、効率的な、及び最適なメモリシステムが要求される。開示される実施態様は、より効果的な、効率的な、及び最適な高速メモリシステムを提供するための方法及び装置に関する。一態様においては、本願で開示される実施態様は、一般に、高速度のシリアル通信を有する、フラッシュベースのメモリモジュールに関する。このフラッシュベースのメモリモジュールは、複数の入出力I/Oモジュールであって、それぞれの入出力モジュールは1つ以上の外部通信リンクを通じて、外部デバイスと通信するように構成されている、複数の入出力モジュールを含み、複数のフラッシュベースのメモリカードであって、それぞれのフラッシュベースのメモリカードは複数のフラッシュメモリ素子を含み、それぞれのフラッシュメモリ素子は、ブロックに分割された物理メモリスペースを有し、それぞれのブロックは更にページに分割されており、それぞれのページは、その上でメモリ操作が遂行される、個別にアドレス可能なメモリロケーションを表し、多数のそのようなメモリロケーションは、1ブロックのグルーピング内で、同時に消去可能である、それぞれの複数のフラッシュベースのメモリカードを含み、並びに複数のクロスバースイッチング素子であって、それぞれのクロスバースイッチング素子は、フラッシュベースのメモリカードのそれぞれの1つと接続され、及び前記入出力モジュールのそれぞれの1つが、フラッシュベースのメモリカードのそれぞれの1つと通信することが可能なように構成されている、複数のクロスバースイッチング素子とを、特に含む。それぞれの入出力モジュールは、それぞれのクロスバースイッチング素子と、高速シリアル通信リンクにより接続され、それぞれの高速シリアル通信リンクは、それぞれの入出力モジュールが、それぞれのクロスバースイッチング素子への、及びクロスバースイッチング素子からのコマンド、命令、及び/又はデータを表すビットを送受信することを可能にし、並びにそれぞれのクロスバースイッチング素子は、フラッシュベースのメモリカードのそれぞれの1つに、複数の並列通信リンクにより接続され、それぞれの並列通信リンクは、1つのクロスバースイッチング素子を、フラッシュベースのメモリカードのそれぞれの1つのフラッシュメモリ素子と接続している。一般に、別の態様では、開示される実施態様は、拡張可能な高速メモリに関する。この拡張可能な高速メモリは、印刷回路板PCB、PCB上に取り付けられ、及び高速メモリカードが、1つ以上の高速シリアル通信リンクを通じた1つ以上の外部デバイスからのコマンド、命令、及び/又はデータをあらわすビットを受信可能になるように構成されたインターフェース回路を含み、PCB上に取り付けられた複数のメモリ素子であって、それぞれのメモリ素子はその上でメモリ操作が遂行される物理的メモリ空間を有する複数のメモリ素子を含み、並びにPCB上に取り付けられた制御装置であって、インターフェース回路及び複数のメモリ素子に接続され、前記制御装置は、メモリ操作を遂行するためにインターフェース回路及びそれぞれのメモリ素子の間の通信を制御するように構成されている、制御装置とを、特に含む。前記インターフェース回路は前記制御装置に、複数の高速シリアル通信回線により接続され、それぞれの高速シリアル通信回線は、高速シリアル通信リンクの1つに対応し、及び前記制御装置は、前記複数のメモリ素子に、所定の数の並列通信回線により接続されており、前記制御装置は、高速シリアル通信リンクからのコマンド、命令及び/又はデータを表すビットを、シリアルフォーマットから、並列フォーマットに変換するように構成されている。一般に、更に別の態様では、開示される実施態様は、高速シリアル通信を有するメモリモジュールに関する。前記メモリモジュールは、第一の複数の入力処理ブロック及び第二の複数の入力処理ブロックを含み、それぞれの入力処理ブロックは、シリアルフォーマットに従ったコマンド、命令及び/又はデータを表すビットを受け取り、及びそのコマンド、命令及び/又はデータを表すビットを、並列フォーマットに従うように再配列するために構成されており、複数のメモリ素子であって、それぞれのメモリ素子は、その上でメモリ操作が遂行される物理的メモリ空間を有する複数のメモリ素子を含み、及び第一及び第二の複数の入力処理ブロックと前記メモリ素子を接続する制御装置であって、及び前記制御装置はメモリ操作を遂行するために、第一及び第二の複数の入力処理ブロック及びそれぞれのメモリ素子の間の通信を制御するために構成されている、制御装置を特に含む。前記制御装置は:a第一及び第二の複数の入力処理ブロックにそれぞれ接続された第一の多重チャンネルバッファー及び第二の多重チャンネルバッファーであって、それぞれの多重チャンネルバッファーは、並列フォーマットのコマンド、命令及び/又はデータを表すビットを前記第一及び第二の複数の入力処理ブロックからそれぞれ受け取り、及びコマンド、命令及び/又はデータを表すビットから所定の数のワードを構築するために構成されており、それぞれのワードは所定の数のビットから成っている、第一の多重チャンネルバッファー及び第二の多重チャンネルバッファーを含み、b第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路であって、前記第一及び第二の多重チャンネルバッファーにそれぞれ接続され、前記第一及び第二のエラー修正及びデータ保護回路は、前記第一及び第二の多重チャンネルバッファーからのワードを、それぞれ受け取り、前記ワードを用いる1つ以上のエラー修正コードのビットを生成させ、それぞれのワードのための前記エラー修正コードのビットを前記ワードに加え、及びそれぞれのワードを、そのワードに加えられたエラー修正コードのビットとともに出力するために構成されている、第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路を含み;c第一及び第二の修正及びデータ保護回路にそれぞれ接続された、第一の出力バッファー及び第二の出力バッファーであって、前記第一及び第二の出力バッファーは、第一及び第二のエラー修正及びデータ保護回路の1つからの第一のワードが、第一及び第二の出力バッファーの1つに提供され、及び第一及び第二のエラー修正及びデータ保護回路の別の1つからの次のワードが、第一及び第二の出力バッファーの別の1つに提供されることができるように、順々に第一及び第二のエラー修正及びデータ保護回路からの、前記エラー修正コードビットが加えられたワードを受け取るために構成されている、第一の出力バッファー及び第二の出力バッファーを含み、並びにdメモリバッファーであって、前記エラー修正コードのビットが加えられたワードを、前記第一及び第二の出力バッファーから受け取り、及び前記所定の数のワードを所定の方式によって、スーパーワードを形成するために組み合わせるために構成されている、メモリバッファーとを特に含む。上述の図並びに下記の具体的な構造及び機能の記載は、出願人の発明の範囲、又は添付の請求範囲を限定するために提示されるのではない。むしろ、上述の図及び明細書は、任意の当業者が、特許による保護が求められている発明を作成し、使用することを教示するために提供されている。当業者は、明瞭性及び理解のために、本発明の工業的な実施態様の全ての特徴が記載されるか、又は示されているのではないことを認識するであろう。当技術分野の熟練者は、本発明の態様を組み込んでいる実際の工業的な実施態様の開発が、工業的な実施態様のための開発者の究極の目的を達成するために、莫大な数の、実施に特異的な決断を必要とするであろう事を認識するであろう。実施に特異的な決断としては、おそらく限定はされないが、システム関連、ビジネス関連、政府関連、及び他の制限に対する遵守であって、それらは、具体的な実施、場所により、及び時により変化するであろう。開発者の努力は、絶対的な感覚で、複雑であり、多大な時間を要するものであろうが、そのような努力は、しかしながら、本開示の利益を有する当業者にとっては、日常的な業務であろう。本明細書において開示された発明、及び教示taughtは、莫大な数の、並びにさまざまな修正及び代替形態を許容するものであることを理解されたい。最後に、限定はされないが、aなどの、単数形の使用は、その品目の数を限定することを意図していない。また、限定はされないが、頂点、底部、左、右、上の、下の、下へ、上へ、側面などの関係語の使用は、明細書において、図への特定の参照において明瞭性のために用いられ、及び発明又は添付の請求の範囲を限定することを意図していない。図、特に図1に移るが、ここには、本開示の特定の教示に従い構築される高速記憶システム100が図示されている。一般にこの高速記憶システム100は、READ及びWRITE要求などのデータ関連要求を外部ホスト装置から受け取り、及び物理メモリへの/物理メモリからのデータの記憶及び/又は取り出しのためにそれらの要求を処理する。例示的な記憶システム100は、接続可能な高帯域記憶システムを提供するために、複数の入出力モジュール,高速シリアル通信チャンネル、設定変更可能なクロスバーモジュール、並列メモリバス、及び物理メモリカードを包含して利用する。システム及びその多くの新規な態様の追加的な詳細は。以下で提供される。図1を参照するが、上記システム100は、複数の入出力I/Oインターフェースモジュール102、104、106、108及び110を包含する。この例には、5つの入出力モジュールが図示されているが、入出力モジュールの数は致命的に重要ではなく、変更の対象となる。それぞれの入出力モジュールは、1つ以上の外部ホスト装置と、ホスト通信チャンネルそれぞれ、102a、104a、106a、108a及び110aを介して連結される。これらのチャンネル102a、104a、106a、108a及び110aは、サーバーや他の装置などの、ホストとして稼動可能な外部デバイスが、入出力インターフェースモジュール102、104、106、108及び110から、コマンド、命令及びデータを受け取ること、及び/又はそれらへ、コマンド、命令及びデータを提供することを可能にする。このホスト通信チャンネルは、さまざまな形態をとることができ、及び限定はされないが、ファイバーチャンネル、インフィニバンド、イーサーネット登録商標、及び前面パネルデータポートFPDPなどのさまざまなプロトコルに従う。この通信リンクの正確な物理及び論理構成はこの開示されたシステムにとり致命的に重要ではないが、開示されたシステムにより提供される利益を最大限に利用するためには、ホスト通信リンクが、高帯域データ移転をサポートする能力があることが望ましい。図1の例においては、入出力モジュール102、104、106、108及び110のそれぞれは、複数の高速シリアル通信チャンネル図1に115として集合的に標識されているにより、4つの設定変更可能なクロスバーモジュール120、122、124及び126に連結されている。以下でより詳細に記載するが、これらのチャンネルは、入出力モジュールがクロスバーモジュールとの間でコマンド、命令及び/又はデータを通信することを可能にする。図示された例においては、4つのクロスバーモジュール120、122、124及び126があるが、クロスバーモジュールの数は致命的に重要ではなく、変化できることが理解されるであろう。図1では、4つのクロスバーモジュールのそれぞれが、5つの入出力モジュールのそれぞれと、個別のdistinct直列システム通信チャンネルを介して連結される。代替的な実施態様は、クロスバーモジュールの1つ以上が入出力モジュールの全てよりも少ない数に連結されるものに想定される。図1に反映されているように、例示的なシステムにおいては、それぞれのクロスバーモジュールは、複数の並列メモリバスにより、メモリカードの集団に連結されている。例えば、図示された例においては、クロスバーモジュール120は、メモリカードの第一のグループ140に、並列メモリバスの第一のグループ130により連結されている。同様の方法で、クロスバーモジュール122、124及び126は、メモリカードグループ142、144及び146に、それぞれ並列メモリバスグループ132、134及び136を介して連結されている。図示された例においては、それぞれのクロスバーモジュールは、5つのメモリカードのグループに、それぞれがデータ転送と同様に制御、コマンド、モニタリング情報を通信するために使用できる、5つの多重送信並列バスにより連結されている。メモリカードの数及びメモリインターフェースバスの種類は、本開示の教示を逸脱することなく変更できることが認識されるであろう。図示された例においては、それぞれのメモリカード、及び従ってメモリカードのグループのそれぞれは、一般的にメモリロケーションの特定の範囲に対応する。この特定の範囲は、実際の物理アドレス範囲例えば、それぞれのアドレスが、前記メモリカードに関連付けられている特定の物理メモリロケーションに対応しているアドレスの範囲、又は論理アドレス範囲例えば、それぞれの論理アドレスメモリカード上の制御装置又は外部制御装置により、メモリカードに付随する物理メモリロケーションに対してマップされることができる、論理アドレス範囲であることができる。図1の例においては、全体のシステム100は、一連の利用可能な記憶アドレスを外部ホストに提供し、及びそれぞれのメモリカードは、一般的にシステム100により提供されるアドレスの特定の範囲に対応する。加えて、メモリカードのそれぞれのグループがアドレスの特定の範囲に関連付けられているために、それぞれのクロスバーも、それが接続されているメモリカードのグループに対応するアドレスの範囲に関連付けられる。図1のシステム100においては、システム制御装置150は、入出力モジュール102、104、106、108及び110のそれぞれ、及びクロスバーモジュール120、122、124及び126のそれぞれに連結されている。システム制御装置は図1の5つの入出力モジュールの全てに接続されているが、そのような接続のうちの1つだけが図示されている。同様に、システム制御装置、及びクロスバーモジュールの間の4つの接続の内の1つだけが示されている。一般にシステム制御装置150は、タイミング及び同期信号を提供するが、それは、監視、報告及び他の監督タスクの遂行のためにも用い得る。一般的な操作においては、入出力モジュールのそれぞれは、入出力モジュールが接続されている外部ホスト装置から、外部データ関連要求を、そのホスト通信リンクを通じて受け取る。それぞれの入出力モジュールは、記憶システム100への、又は記憶システム100からのデータの、記憶及び/又は取り出しを可能にするために、これらのデータ関連要求を処理する。図1の実施態様においては、このデータ要求が受け取られ、及び個別の通信パケットの形態の応答が返されるが、代替的な通信プロトコルを用いることもできる。正確なプロトコルの詳細は用途に依存するが、外部プロトコルは、高いデータのスループットを促進するために低い通信オーバーヘッドに対して選択されるべきである。図1のシステムにおいては、前記入出力モジュールにより受け取られて、処理される通信パケットは、典型的にはヘッダー、及びそのパケットがデータを移転するものであれば、データペイロードを含む。ヘッダーの正確な内容及びフォーマットは、用途ごとに異なるが、このヘッダーは典型的には以下のものを含む:a要求の種類を識別する識別子例えば、その要求が、システム内にデータを記憶するためのWRITE要求であるか、又はそのシステム内に以前に記憶されたデータを取り出すためのREAD要求であるのか;b要求に関連付けられた特定のアドレスを示す識別子例えば、WRITE要求については、一般的にその要求に関連付けられたデータの記憶が開始されるロケーションを識別するか、又はREAD要求については、その要求に関連付けられたデータの取り出しが開始されるべきロケーションを識別する、特定の論理又は物理アドレスであって、これらのアドレスのそれぞれは、時にTARGETADDRESSと称される;並びにいくつかのシステムについては、cデータ関連要求のソースの識別時にSOURCEADDRESSと称される;及びd要求に関連付けられたデータの量を示す識別子例えば、その要求の一部としてのシステムへの保存、又はシステムからの取り出しのためのバイト数、ページ数、又は他のデータ量の表示。いくつかの通信プロトコルについては、全ての外部データ関連要求は、特定のサイズにされたデータのページ、又は特定の数のデータワードなどの、データの特定の量に関連付けられていると推測される。このようなプロトコルでは、要求が、特定のプロトコルのためのデータの標準量に関することが暗黙的であるために、特定の外部要求に関連付けられたデータの量を明確に指定することは必要ない。外部デバイスがデータ関連要求を、それらが接続された入出力モジュールに発行するちょうどそのときに、入出力モジュールもDMA直接メモリアクセス要求、又は単にDMAと呼ばれる要求を、それらが接続されたクロスバーモジュール及びそれらが取り付けられたメモリカードに発行する。それぞれの外部要求は、多重のメモリカード、及びクロスバーモジュールに及ぶシステムアドレスの範囲にアクセスを要求することができる。たとえ、特定の外部要求が、ただ1つのメモリカードにアクセスを要求する場合でも、外部要求に関連付けられたデータの量は、単独のDMA要求に関連付けられたデータの最大量を超える可能性がある。この理由のために、入出力モジュールは、それが受け取るそれぞれの外部要求のために2つ以上のDMA要求を発行することができる。この場合には、それらのDMA要求は、データ記憶又は取り出しが、そのシステム内の正しい物理メモリロケーションで行われるようにメモリカードに向けられる。外部READ要求の場合には、例えば、この入出力モジュールは、要求されたデータを、それが保存されているさまざまなロケーションから収集するために、1つ以上のDMAREAD要求を発行する。外部WRITE要求の場合には、この入出力モジュールは、全ての受け取られたデータを、それが保存されるべきさまざまなロケーションに送達するために、1つ以上のDMAWRITE要求を一般的に発行する。一般にDMAWRITE要求は、その要求及び同一のパケット内に存在する関連付けられたデータとともに、パケットに編成される。一方、DMAREAD要求は、一般的に要求情報アドレス、データ量などのみを含む。これらの要求タイプのそれぞれに対する応答は、おおむね相補的である。入出力モジュールにより発行されたそれぞれのDMAWRITE要求に対して、クロスバーは、WRITE操作が成功したか失敗したかを示す状況情報を最小限含むDMAWRITE応答パケットを返す。入出力モジュールから発行されたそれぞれのDMAREAD要求に対して、クロスバーは、要求されたデータ及び、最小限返されたデータの正当性を示す状況情報の両方を含むDMAREAD応答パケットを返す。システム内のメモリカードそれぞれがフラッシュメモリを用いる一実施態様では、それぞれのDMA要求は、データの固定量の移転を、その固定量が単一のフラッシュメモリページに記憶された等しいものとして特定する。この例では、1ページは、一般的に個別的にフラッシュメモリに書き込まれることが可能な情報の最小量である。図1のシステム100では、一般的に、DMA要求は固定量のデータ4キロバイトを、固定されたアドレス境界上に整列されたアドレス4キロバイトから、及びそのアドレスへと、移転することであると定義される。いくつかの場合には、外部WRITE要求により広げられるアドレス範囲が、これらの固定DMA要求アドレス境界上に整列しないことも可能である。図1A~1Cに示されるように、外部WRITE要求は、DMA要求の許可された開始アドレスに対応しないアドレスから開始されることができる。同様に、DMAWRITE要求は、DMA要求の終了アドレスに対応しないアドレスで終了できる。この不均衡misalignmentが起きるとき、前記入出力カードは、1つ以上の読み出し-修正-書き込みRMW操作を遂行できる。読み出し-修正-書き込み操作では、前記入出力モジュールは、外部WRITE要求の開始及び/又は終了にまたがるアドレス範囲からのシステムメモリからデータを取り出すためにDMAREAD要求を発行する。次いで、前記入出力モジュールは、この取り出されたデータの一部を、整列されていないWRITE要求からの外部データによって修正置換し、及び次いで、相補的なDMAWRITE要求を発行することにより、この修正されたデータを、システムメモリに返す。このような方法で、前記入出力モジュールは、個別のDMA要求の整列制限に従わないアドレス範囲のシステムメモリ内でのデータの保存を可能にする。図1Aは、外部WRITE要求が1ページに完全に含まれるが、開始アドレスがDMAアドレス境界に整列していないために、読み出し-修正-書き込み操作が遂行されることを引き起こす、データのアドレス及び量160を特定する、中に含まれるcontainedwithin場合の例を示している。この場合には、1つのDMAREAD要求のみが必要である。新しい修正されたデータは、DMAREAD要求と同じ整列されたアドレスを使用する発行されたDMAWRITE要求とともに、以前に保存されたデータのロケーションの上に重ねられる。図1Bは、外部WRITE要求を2つのフラッシュページにまたがる、特定されたアドレス及びデータ量170とともに示している。このまたがるstraddleケースは、データの取り出しのために2つのDMAREAD要求を生成させ、及び続いて新しいデータイメージを戻すために2つのDMAWRITE要求を生成させる。図1Cは、その特定されたアドレス及びデータ量180が3パージにわたっている外部WRITE要求を示している。この広がるspanning場合では、入出力カードは、第一のページに対し1つのDMAREAD要求を発行し、新しいデータを重ね、及びこの変化に責任を持つためにDMAWRITE要求を発行する。次のページは完全に新しいデータにより上書きされるために、入出力カードは、このページで読み出し-修正-書き込み操作を行う必要はなく、及び整列されたアドレスへ、単にDMAWRITE要求を発行する。しかしながら、新しいデータセットの残りは、第3のページを完全には満たさない。従って、入出力カードは、以前に記載した方式でこのページのために読み出し-修正-書き込みを遂行する。これらの3つの場合は、外部WRITE要求操作の種類の、遂行できるサブセットに過ぎず、及び単に読み出し-修正-書き込み操作を図示することが意図されていることが理解されるであろう。外部要求の構造は一般的にプロトコル依存性である一方、内部DMA要求/応答プロトコルは、一般的に特定のシステムに対して固定されており、及びシステム性能を最大化するために設計されている。図1のシステムでは、DMA要求及びDMA応答はヘッダー、及びもしパケットがデータ転送のためのものである場合には、データペイロードを含むパケットとして構造化される。DMA要求は典型的には以下のものを含む:aDMA要求の種類を示す識別子すなわち、DMA要求が、データをシステム内に保存するためのWRITE要求であるか、又はシステム内に以前に保存されたデータを取り出すためのREAD要求であるか;bそのDMA要求に関連付けられた特定のアドレスを示す識別子例えば、DMAWRITE要求に対しては、一般的に、要求に関連付けられたデータの保存が開始されるべきロケーションを特定するか、又はDMAREAD要求に対しては要求に関連付けられたデータの取り出しが開始されるべきロケーションを特定する、特定の論理又は物理アドレス;cDMA要求がそこから由来する入出力モジュールを示す識別子;及びdそれぞれの入出力モジュールに対しては、そのモジュールから由来する特定のDMA要求を一意的に識別するタグtag。DMAWRITE要求に対しては、この要求は、その要求に対してシステムメモリ中に保存されるべきデータも含む。図1のシステム100においては、それぞれのDMA要求に関連付けられたデータの量は固定されている。データ量が可変であるシステムに対しては、ヘッダーは更にeその要求に関連付けられたデータの量を示す識別子も含む。DMA応答は典型的に以下のものを含む:aDMA応答の種類を示す識別子すなわち、応答がDMAWRITE要求か、又はDMAREAD要求に対応するものか、bそれぞれの入出力モジュールに対しては、入出力モジュールにより、それぞれのDMA応答を、それに対応するDMA要求に一意的に関連付けるために使用できるタグ、及びcDMAWRITE応答に対しては、対応するWRITE操作が成功であるか、失敗であるかを表示し、又はDMAREAD要求に対しては、取り出されたデータの正当性を表示する、状況インジケーター。DMAREAD応答に対しては、その応答は、さらにオリジナルのDMAREAD要求により要求されたデータも含む。図1のシステム100においては、入出力モジュールは、外部要求を満たすために対応するDMA要求が向けられるべきクロスバー及び、可能であればそのメモリボードを決定するために、それがREAD要求であるか、又はWRITE要求であるかを決定するために、特に、その要求を最小限度処理することにより、外部データ関連要求に対して応答する。上述のように、入出力モジュールにより外部データ関連要求が最小限処理された後に、システムの構成要素は要求を満たすために作動する。例えば、入出力モジュールは、その種類READ又はWRITEを識別するためと同時に、外部要求を満たすために発行されるべき特定のDMA要求を決定するために、最初にそれぞれの外部データ関連要求を処理する。この入出力モジュールは、次いで、更なる処理のために、必要なDMA要求を適切なクロスバーモジュールに伝達する。クロスバーモジュールは、順々に、aそれぞれの受け取られたDMA要求が向けられるべきメモリカードを決定し、bそれぞれの受け取られたDMA要求を、シリアルフォーマットからメモリカードに提供するのに適切な並列フォーマットに変換し、及び次いで、cそれぞれのDMA要求の全部又は一部を、そのアドレス範囲が前記DMA要求に関連付けられているアドレスに広がっている、メモリカードに転送する。以下でより詳細に記載するように、メモリカード内の電気回路は、提供されたデータを物理メモリに保存するためかDMAWRITE要求に対して、又は物理メモリからデータを取り出すかDMAREAD要求に対しての、いずれかのために、更にそのDMA要求を処理する。一般的に、それぞれのDMAWRITE要求に関連付けられたデータペイロードが、その要求の一部として送達されることに注目することが重要である。いくつかの実施態様では、データが成功裡にメモリカードに伝送されたことを確認するために、肯定応答ACK信号が、クロスバーモジュール及びメモリカードの間に存在することができる。入出力モジュールのための高速シリアルシステム通信リンク、及びクロスバーモジュール、設定変更可能なクロスバーモジュール、及びクロスバーモジュールのための高速並列メモリ通信リンク、及びメモリカードの組み合わせの使用により、記憶システム100は、極度に高帯域のシステムを提供する。上記で開示された実施例において、入出力インターフェースモジュールをクロスバーモジュールに連結させる高速シリアル通信リンクは、コマンド及び制御情報例えば、DMA要求のヘッダーに見出される種類の情報、並びにデータ例えば、データペイロード中で提供される情報の両方を運搬するために用いられる。データペイロード中で受け取られた種類のデータの移転を含まない通信を提供するために、いくつかの追加的な最小限のシリアル通信リンクが用いられている代替的な実施態様が想起される。例えば、比較的低帯域、低速のシリアル通信リンクが、通信の特定のカテゴリーに用いることができるであろうし、従って高速リンクから一定量のトラフィックをオフロードoffloadingし、及びこれらのリンクの性能の中で、対応するブーストを達成する実施態様が想起される。それぞれのDMAREAD要求及びDMAWRITE応答は、例えば、この方式で伝送でき、その両方ともが、それぞれのパケットの中で、データを移送するDMAWRITE要求及びDMAREAD応答に対して高速シリアルリンクを保存する。DMAREAD要求、びDMAWRITE応答はいかなるデータペイロードも転送しないため、それらは一般的にサイズにおいてはるかに小さく、及びより遅い通信リンクを、顕著な性能の低下なしで利用することができるであろう。代替的な実施態様では、DMAREAD要求及びDMAWRITE応答は、代替的な低帯域シリアルチャンネルを通じて転送されるか、全てのクロスバーへ、又は全てのクロスバーから別個に共有される高速リンクを通じるブロードキャストし得る。高速シリアルリンクは、データと同様の信号速度において、このサイドバンドデータを提供するために、マルチドロップバスを用いて、全てのクロスバーを全ての入出力モジュールに接続するためにも使用し得るであろう。代替的に、前記サイドバンドリンクは、環状構造において実行し得るであろう。両方の場合に、このことは、追加される競合制御論理arbitrationlogic及びハードウエアを費やして、システム内のポイントツーポイント接続の数を減らすであろうが、より高いデータ処理能力及び帯域幅の追加的利益を伴う。上記で説明された特定の素子に関する追加的詳細、及びその素子の代替的な実施態様及び/又は全体のシステムは以下で提供される。入出力モジュール図1の入出力モジュールは、多くの形態をとることができる。好適な入出力モジュールの1つの例示的な実施態様が図2に提供されている。図2を参照すると、例示的な入出力モジュール200が図示されている。この例では、入出力モジュール200は、2つの別個のファイバーチャンネルFCポート201及び203を有するインターフェースを提供し、それぞれが、特定の入出力モジュール200がファイバーチャンネルホストバスアダプター図示されていないと接続することを可能にし、それによって、外部ホストがSCSI装置としてのシステム100にアクセスすることを可能にする。それぞれのポート201又は203は、単独のトランスミットリンク及び単独のレシーブリンクを含み、それぞれのリンクは2.125ギガバイト/秒Gb/sec、又は4.25Gb/secのいずれかで作動する。それぞれのポートは、ポイントツーポイント及び競合制御型ループファイバーチャンネルプロトコルをサポートできる。この物理インターフェース、及び前記SCSI、及びファイバーチャンネルFCプロトコルは、例示的であって、他の物理インターフェース及びプロトコルを用い得ることが理解されるであろう。図2を参照し、前記例示的な入出力モジュール200は、情報を光と電気フォーマットの間で変換するための光電変換器202a及び202bを含む。一般にこれらの装置のそれぞれ202a及び202bは、その外部光レシーブリンク201又は203で受け取った信号を電気信号に変換し、その電気信号は次いで高速制御装置204に転送される。同様に、これらの装置のそれぞれは、高速制御装置204で受け取られた電気信号を光信号に変換し、この光信号はその外部光トランスミットリンクを通じて伝送される。周知の光電変換器を用いることができる。上記で示唆されたように、前記光電変換器は、高速制御装置204に連結される。図2の例では、前記高速制御装置204は、例えばXilinxVirtex-4FPGA装置のような、構成されたフィールドプログラマブルゲートアレーFPGAである。この制御装置204は、通信リンクにより、FreescaleMPC8547プロセッサ206などの、プログラム可能なマイクロプロセッサCPU206及びメモリ208に連結されている。図示された例においては、メモリ208は、DDRメモリ成分から形成されている。見られるように、前記制御装置204は4つの高速シリアルシステム通信チャンネル210、212、214及び216を提供する。前記プロセッサ206及び制御装置204は、前記外部ファイバーチャンネルポート201及び203及び前記4つのシリアルシステム通信チャンネル210、212、214及び216の間でのプロトコル変換機能をともに遂行する。図示された例においては、シリアルシステム通信チャンネルのそれぞれは、トランスミットTXサブチャンネル及びレシーブRXサブチャンネルの両方を含む全二重物理層を含む。それぞれのサブチャンネルは、ともに結合されて、10Gb/sデータのデータ移転速度の能力がある単独のサブチャンネルを形成する、2つの個別の5Gb/sシリアル通信リンクを更に含む。この例では、データは、シリアルシステム通信チャンネルを通じて伝送される前に、8B/10Bで符号化され、8GB/sec又は毎秒あたり1GBGB/secのデータ転送速度をもたらす。代替的な符号化のスキーム例えば、64B/66B符号化も用い得るであろう。図2の例では、それぞれのシリアル通信チャンネルは、XilinxVirtex-4FPGA装置内で利用可能なマルチギガバイトトランシーバーMGTモジュールを用いて実行されるが、他の同様な実行方法が、本開示の教示を逸脱することなく使用できることが理解されるであろう。FPGA装置のXilinxVirtex-4ファミリーにより可能になるような通信リンクを結合するために利用可能な手順を、前記通信チャンネルを形成するために用いることができる。代替的に、他のシリアル化/脱シリアル化SerDesプロトコルに関連付けられた結合スキームも用い得る。図2の例では、前記入出力インターフェースモジュール200は、4つのシリアルシステム通信チャンネル210、212、214及び216を提供し、それぞれは、異なるクロスバーモジュールに接続されている。4つの全二重シリアルシステム通信チャンネルの使用は、それぞれの入出力モジュールに対して、潜在的な4GB/secのリード帯域及び4GB/secのライト帯域を集合的に提供する。もし、図1のシステム100が5個の入出力モジュールを使うならば、例示的な図示されたシステムは、合計20GB/secのリード帯域及び合計20GB/secのライト帯域を有するであろう。一般に前記高速制御装置204は、FCインターフェース201及び203を通じて受け取られる外部データ関連要求を受け取り、及び処理する。上述したように、それぞれの外部データ関連要求は、典型的には以下を示すヘッダーを含み:a要求がREAD又はWRITE要求のどちらであるのか、及びbTARGETADDRESSを示す。このヘッダーは随意に、cSOURCEADDRESS、及びd要求に関連付けられたデータの量の表示、を示すことができる。WRITE要求に対しては、前記要求は、更にデータペイロードを含む。前記高速制御装置204は、前記要求を処理し、及びヘッダー情報の大半しかしデータペイロードではなくを、プロセッサ又はCPU206に提供できる。このCPU206は、FCプロトコルの少なくともいくつかの部分を管理し、及びシステムインターフェース全体の管理を支援する。前に説明したように、前記高速制御装置204及びCPU206は、外部ファイバーチャンネルリンクを管理するために、ともに作動する。いくらかの最小のCPU支援に加えて、ほとんどの実施態様では、前記高速制御装置204は、外部データ関連要求のそれぞれを満たすために要求される内部DMA要求を発行することに単独で責任を負う。特に、前記高速制御装置204は、それぞれの外部要求を満たすために、発行するべき特定のDMA要求、及びどのクロスバーにそのDMA要求が発行するべきかを決定する。高速制御装置が、外部要求を満たすために、要求されるクロスバーモジュール及びDMA要求を特定するとすぐに、それは適切なクロスバーに対するDMA要求の発行を開始する。一般に、入出力モジュール200により発行されることのできる、未処理のDMA要求それらに対する応答が未だ受け取られていない要求の数は、DMAヘッダー内のタグフィールドのサイズにより限定される。比較的小さい移転については、要求されるDMA要求の数は少なく、及び前記高速制御装置204は、応答の受領を待つことなくそれらの全てを発行できる。大きな移転に関しては、要求されるDMA要求の数は大きく、及び前記高速制御装置204は、DMA要求の発行を遅延させるように強いられる。8ビットのタグ値の場合、例えば、前記高速制御装置は、タグ値を再使用することなく、最初に256個のDMA要求を発行できるであろう。それぞれの未処理DMA要求は、一意的にタグ付けされ、前記高速制御装置がそれぞれのDMA応答を対応するDMA要求に関連付けることを可能にする。DMA要求への応答が返されたときに、前記高速制御装置は、完了されたDMA要求からのタグそれに対するDMA応答が受け取られたものの再使用を開始できるであろうし、それにより、その後のDMA要求の発行を可能にする。一般にDMA要求及びそれらに対応するDMA応答は、シリアルシステム通信チャンネル210、212、214、及び216を通じて移転される。それぞれの入出力モジュールは、4つのシリアル通信チャンネルに提供するために、それは、同時に、又はほぼ同時に、独立して、4つの異なるクロスバーモジュールへの、又は4つの異なるクロスバーモジュールからのデータを独立して伝送及び/又は受け取る。以前に説明したように、前記高速制御装置204は、それぞれの外部データ関連要求を満たすために、READ及びWRITEDMA要求を適正なクロスバーモジュールに送達することに責任を有する。一実施態様では、前記高速制御装置204は、前記高速制御装置メモリ208中に保持される、ルックアップテーブルを使用することにより、それぞれのDMA要求をどのクロスバーモジュールが受け取るべきかを決定する。この実施態様では、前記制御装置204は、特定のクロスバーモジュールを有するシステムにより提供されるアドレスの全体範囲の中で、アドレスの特定の範囲に相関する情報を含むルックアップテーブルにアクセスし、及び維持する。このアプローチの1つの利益は、それが、設定における、ある程度の柔軟性及びシステムの再配置を提供することである。より更なる実施態様では、メモリ208内部の前記ルックアップテーブルは、受け取られたアドレスが、予定のクロスバーモジュール、及び所定のクロスバーモジュールに連結された、特定のメモリカードと相関させることができるように、提示されたアドレスの特定の範囲を、所定のメモリカードと、及びさまざまなメモリカードをクロスバーモジュールと更に関連付ける。代替的な実施態様では、所定のクロスバー及び受け取られたアドレスの間の関係は所定のアドレス範囲が、常に特定のクロスバーモジュールに対応できるように組み込まれhardwiredている。もっと別の実施態様では、所定のクロスバー及び受け取られたアドレスの間の関係は動的であり、それにより不合格の、又はさもなければ使用不可能のメモリカード又はクロスバーを別のメモリカード又はクロスバーに再マップすることを可能にする。図2の入出力インターフェースモジュール200などの、入出力モジュールにより発行されるDMA移転は、固定、又は可変のデータ量のいずれかの移転を特定できる。DMA移転サイズが固定されている実施態様については、DMA要求が、移転されるべきデータ量に関する情報を提供することは不必要であり得る。メモリカードがフラッシュメモリを用いる実施態様では、前記DMA移転サイズは、単独のフラッシュメモリページに記憶されるデータ量に固定されている。DMA操作は、可変量のデータを移転できる。そのような実施態様では、それぞれのDMA要求は、典型的には、移転されるべきデータの量しばしばデータの最小量の倍数としての表示を含む。DMAWRITE操作の間、DMA移転が固定又は可変移転サイズを用いて遂行されるかどうかに無関係に、前記高速制御装置204は、それが取り付けられた外部ホスト装置から受け取るデータをキュー待ちさせる。多重のDMAWRITE要求から成る、より大きなデータ転送については、前記入出力インターフェースは、DMAWRITE要求の発行を開始する前に、全ての外部データの受け取りを待つ必要はない。その代わり、前記高速制御装置は、DMAWRITE要求を発行開始し、及びそれぞれのDMAWRITE要求をサポートするために十分なデータが利用可能になるとすぐに、DMAWRITE要求を発行し続ける。DMAREAD操作の間、前記高速制御装置は、データ流を反対方向にキュー待ちさせるシステムメモリの外へ。この場合には、前記高速制御装置は、多数のDMAREAD要求を発行し、及び次いでDMAREAD応答が、個別のクロスバーモジュールから返されることを待つ。これらの応答は、それらの対応するDMAREAD要求とは違う順序で受け取られることができるため、前記高速制御装置は、前記クロスバーから受け取られたデータを、それらのデータが、その正しい順序で送達されることができるまで、キュー待ちさせなければならない。外部データ要求が、256個のDMAREAD要求の発行を要求するシナリオを想定すると、最後のDMAREAD応答が、第一のDMAREAD要求に対応することが可能であり、それにより256個のDMA移転からのデータをキュー待ちさせることを、前記入出力インターフェースに要求する。前記入出力インターフェースは、データが連続して送達される場合にのみ、外部要求者ホスト装置へのデータをアンロードできる。上述された方式によって、前記入出力インターフェースモジュール200は、前記要求を満たし、及び要求されたデータを外部のホスト装置に提供するために、外部ホストからデータ関連要求を受け取ることができ、システム100内のメモリにアクセスできる。図2の前記入出力インターフェースモジュールは、本開示のシステムにおいて使用可能な入出力インターフェースモジュールの一例でしかないことを理解されたい。代替的な入出力インターフェースを用いることができる。代替的なインターフェースの一例は図3に提供されている。図3は、複数の高速インフィニバンドポート集合的に301と称されているを介したデータ関連要求の受け取り能力のある、代替的な入出力インターフェースモジュール300を図示している。図3を参照するが、前記例示的な代替的な入出力モジュール300は、複数のインフィニバンドInfiniBandポート301を通じて、データ関連要求及び応答を受け取り、伝送する能力のあるインフィニバンドインターフェースチップ302を含む。このインフィニバンドインターフェースチップは、Mellanoxから入手できるような、標準インフィニバンドチップであってよい。一般に前記インフィニバンドインターフェースチップ302は、データ関連要求をインフィニバンドポート301を経由して受け取り、及び少なくともコマンドヘッダーを、及び外部WRITE要求については、少なくともデータペイロード識別する程度に受け取った要求を最小限復号する。インターフェースチップ302は、次いで、図3の例ではPCIExpressPCIeスイッチである、スイッチング素子、ルーティング素子、又は共有メモリ素子305の使用を介して、制御CPU306が利用可能なコマンドヘッダー情報を作成する。スイッチング/ルーティング/メモリ素子305を使用して、インターフェースチップ302は、高速制御装置304構成されたFPGAであることができるが利用可能な受け取られたデータも作成する。前記高速制御装置304、多重シリアルシステム通信チャンネル310、312、314及び316を、クロスバーモジュールに提供し、及び図2の高速制御装置200に関連して上記に記載されているのと同様の方式で、クロスバーモジュールへの、及びクロスバーモジュールからの、情報及びデータを受け取り、及び提供するために、受け取られたデータ関連要求を操作する。上記で説明された、前記入出力インターフェースモジュール200及び300は、単に例示的であり、及び他の種類の入出力インターフェースモジュール、異なる物理層、異なる通信プロトコル、及び個別素子構成されたFPGAsとは対照的にを用いるものも含めて、本開示を逸脱することなく、使用できるであろうことが、理解されるであろう。一般に入出力モジュールの主な要件は、外部から提供されたデータ関連要求を受け取り、及び応答することができること、並びにそれらの要求及びその要求に応答するために情報及びデータを受け取ることを複数の高速システム通信チャンネルを通じて多重クロスバーモジュールに伝送できることである。クロスバーモジュール上述したように、本開示のシステム中のそれぞれのクロスバーモジュールの全体的な一般的機能は:a前記入出力モジュールからDMA要求を受け取り、及びそれらのDMA要求加えて、付随するデータペイロードを、クロスバーモジュールに接続された、適切なメモリカードに提供すること、並びにb取り出されたデータをクロスバーモジュールに接続されたメモリカードから受け取り、及び取り出されたデータ及び潜在的ないくつかの情報を、取り出しデータに関連付けられえた前記入出力モジュールに提供することである。開示されたシステムのクロスバーモジュールを実行するためには、さまざまなアプローチを用い得る。図4は、図1に関連して上記に記載されたクロスバーモジュールを実行するための1つの例示的なアプローチを図示している。図4を参照するが、例示的なクロスバーモジュール400が図示されている。クロスバーモジュールはディスクリート電気回路、特定用途向け集積回路ASICs、又はこれらの2つの混合により実行できるが、図4の実施態様では、前記クロスバーモジュール400は、XilinxVirtex4FPGAのような構成されたFPGAの使用により実行される。この例では、構成されたFPGAは、5つのシリアルシステム通信ポート402、404、406、408及び410を提供するために構成されている。それぞれのシリアル通信ポートは、高速、双方向通信チャンネルを、それ自身と、入出力モジュールの前記高速通信ポートの1つとの間に提供するために構成され、及び接続されている。従って、この例では、クロスバーモジュール400が、5つの全二重通信ポートを提供しているために、それは同時に及び独立してシステム100の前記入出力モジュールのそれぞれと通信できる。従って、シリアル通信が、前記入出力モジュールのそれぞれ及びクロスバーモジュール400の間に存在するように、通信ポート402は、入出力インターフェースモジュール102のシリアル通信ポートの1つに連結でき、ポート404は、入出力インターフェースモジュール104のポートに連結でき、その他も同様である。上述の5つのシリアル通信ポートを提供することに加えて、図4のクロスバーモジュール400は、クロスバーモジュール400及び複数のメモリカードの間の通信を可能にするために用いられる、多重並列通信バスも提供する。図4の例では、5つのメモリカード412、414、416、418及び420があり、及びクロスバーモジュール400は、並列バスを用いてメモリカードと通信する。図4の例では、クロスバーモジュール400、及び個別のメモリカードのそれぞれの間の通信は、この例では、それぞれのメモリカードに対して16ビット長のデータバス及び5ビット長の制御バスを含む、並列バスを用いて達成される。一般的な操作において、クロスバーモジュール400は、第一にシリアルシステムリンクの1つを経由して、DMA要求を受け取り、DMA要求が向けられるべき特定のメモリカードを特定し、受け取られたDMA要求をシリアルフォーマットから並列フォーマットに変換し、及びその並列フォーマット化されたDMA要求を適切なメモリカードに提供する手段として機能する。加えて、クロスバーモジュール400は、典型的にはメモリカードにより提供されたデータを受け取り、そのデータが、どの入出力モジュールを意図しているか決定し、及び受け取られたデータを、シリアルシステム通信リンクの1つを通じて、DMA応答として適切な入出力モジュールに転送する。例示的なケースでは、クロスバーモジュール400は、それぞれの入出力モジュールと、シリアルインターフェースバスを用いて通信し、及びそれぞれのメモリカードとは、並列インターフェースバスを用いて通信する。前記入出力インターフェースバスの実行は、前記入出力モジュールに依存し、及びメモリインターフェースバスは、メモリカードに依存することに注意されたい。理論的には、そのバスが要求されるデータ速度で実行するという前提で、どちらのバスも、シリアル又は並列インターフェースのいずれかにより実行される。インターフェースバスは、用途依存性であり、及び特定のバスの選択に影響する設計決定は、当業者にとっては自明である。例として、コネクタ密度を最小化するために、前記メモリカードインターフェースは、前記入出力モジュールに本質的に同様である高速シリアル通信として実行されることができ、クロスバーとメモリ間のインターフェースを単純化できるであろう。クロスバーポートを入出力モジュールに接続するバスのそれぞれは、ポイントツーポイントpoint-to-pointであるために、競合制御arbitrationは最小であり、及びオーバーランを防止することが必要な場合には、クロスバーが前記入出力バスをホールドオフするholdoffることを可能にするために設計されたメカニズムにより規制される。これらのタスクを遂行するためのFPGAの構成は、本開示の利益を受ける当業者にとり自明である。メモリカード開示されたシステムで用い得るメモリカードは多くの形態をとり得る。さまざまな種類のランダムアクセスメモリDDRRAM、DDR2RAM、DDR3RAMなどの及びさまざまな種類のフラッシュメモリMLCフラッシュメモリ及びSLCフラッシュメモリなどを含むを含むさまざまなメモリを使うことができる。メモリカードの構造も、部分的には使用されるメモリに応じて変更できる。図5は、フラッシュメモリを用い、及び本開示のシステムにおいて用い得るメモリカード500の例示的な実施態様を図示している。図5の例では、このフラッシュメモリは、SLCフラッシュメモリであるが、MLCフラッシュメモリが用いられる実施態様も予測される。図5を参照するが、このフラッシュメモリカード500は、システム制御装置をクロスバーモジュール図5には図示されていないの1つと連結させている、並列バス504を通じて情報を受け取るシステム制御装置502を含む。上述したように、並列バス504は、16バイト長のデータバス及び5バイト長の制御バスを含む。クロスバーモジュールから提供されるDMA要求は、システム制御装置502により受け取られて、及び処理される。システム制御装置502は、メモリカード及びクロスバーモジュールの間の通信プロトコルを取り扱い、及びバスエラー管理のためのエラー修正などの機能を実行できる。加えて、システム制御装置502は、メモリカード上のどの特定のメモリ素子が、TARGETADDRESSと関連付けられているかを決定するために、受け取られたTARGETADDRESSアドレスを部分的に処理することもできる。例示的なシステムでは、システム制御装置502は、多数の個別のフラッシュ制御装置506、508、510及び512と、直接接続を介して通信する。システム制御装置502は、個別のフラッシュ制御装置との通信もできるCPU503とも通信する。この通信は、図5に示されるように、フラッシュ制御装置への直接接続を介するか、又はCPU503がフラッシュ制御装置にアクセスするために、システム制御装置502と通信する通過pass-through接続を介することができる。これは、典型的にはバスのファンアウトfan-outを減少させるために行われ、及び当業者には明白な設計検討である。図示された例においては、システム制御装置502、及びフラッシュ制御装置506、508、510及び512との間の通信は、独立した16ビット長の並列バスを用いて達成され、そのような独立した並列バスは、システム制御装置502及び個別のフラッシュ制御装置506、508、510、及び512のそれぞれの間に連結されている。同様の独立した16ビット長の並列バスは、CPU503がそれぞれのフラッシュ制御装置506、508、510及び512と直接通信する実施態様において使用できる。個別のフラッシュ制御装置のそれぞれは、物理フラッシュメモリ空間513、514、515、及び516、制御装置メモリ517、518、519、及び520例えば、DDRRAMメモリであってよいとそれぞれ連結されている。図示された例においては、それぞれの物理フラッシュメモリ空間513~516は、10個の独立したフラッシュメモリチップから形成されている。操作においては、フラッシュ制御装置502は、提供されたデータを特定の物理フラッシュメモリに保存し、及び要求されたデータを取り出し、及びそれをシステム制御装置502に提供するために、DMA要求を処理する。多数のさまざまな種類のフラッシュ制御装置を用い得る。好適な制御装置及びその操作の一つは、2009年9月5日に出願された同時係属の米国特許出願第12/554,888号、12/554,891号、及び12/554,892号により詳細が記載されており、参照により本願に組み込まれる。特に、本開示のシステム100は、前記入出力インターフェースモジュールにより受け取られたTARGETADDRESSが、メモリカードに提供されるアドレスであるように作動するため、本願のシステムは、フラッシュメモリ究極的に受け取られたTARGETADDRESSの物理フラッシュアドレスロケーションへの移行を必要とする及びRAMメモリ又は論理から物理アドレス変換を必要としない他のメモリの両方と容易に使用できる。更に、TARGEADDRESSから物理フラッシュアドレスのいかなる変換も、DMA要求がメモリカードに提供された後に行われるために、本願のシステムは、フラッシュメモリカード及びRAMメモリカードの両方の使用を可能にする。このことは、受け取られたTARGETADDRESSを特定の物理フラッシュアドレスにマッピングするフラッシュ制御装置の操作が、クロスバーモジュールをメモリカードに連結させるインターフェースバスにとって、大部分トランスペアレントtransparentであるためである。図6は、本開示のシステムにおいて用い得るRAMメモリを用いるメモリカード600の代替的な実施態様を図示している。この実施態様においてはクロスバーモジュールによりメモリカードに提供されるアドレスは、アクセスするRAMメモリに対して物理アドレスとして使用される。図を参照するが、メモリカード600は単独の多重層印刷回路板に配置され添付されることのできる多数の素子を含む。一般に、メモリカード600は、システム制御装置602を含み、このシステム制御装置602は、図5からの前記制御装置502のように、DMA要求をクロスバーモジュールから受け取り、及びその要求を、そのシステムエラー修正を含むか、又はそれと結合されることのできるのために採用されたプロトコルを用いて処理する。システム制御装置は、次いで要求及びデータペイロードがあれば、それを受け取られたデータのTARGETADDRESSに対応する、適切な物理アドレスへの急速DMA移転を手配できるWRITE要求に対してメモリ制御装置604に渡すか、又はDMA移転を用いて、データをRAMメモリ606DDR、DDR2、DDR3又は任意の他の高速RAMメモリであってよいから取り出し、及びそのデータをシステム制御装置602に提供するREAD要求に対して。図6に示される矢印の方向性は、WRITE操作の例を描写することのみを意味していることが理解されるであろう。実行の目的で、制御装置602及び制御装置604の両方が1つのFPGA装置に結合されることも理解されるであろう。代替的なシステムの実施態様:上述のシステム100では、クロスバーモジュールは、シリアル形式で伝送されたデータ関連要求を受け取り、及びそれらの要求を、メモリカードに提供される並列形式の要求に変換するために用いられる。クロスバーモジュールが除去され、及び前期データ関連要求が、シリアル形式で直接前記入出力モジュールからメモリカードに伝送される代替的な実施態様が想起される。図7は、入出力モジュール又は装置が、クロスバーモジュールを使わずに高速シリアル通信リンクを用いて直接的にメモリボードと通信できる代替的な記憶システム700を図示している。図7を参照するが、代替的な記憶システム700は、複数の入出力モジュール701、702、703、704、705、706、707、708、709、710、711、及び712を含み、それらのそれぞれは、1つ以上の外部ホストと、1つ以上の通信チャンネルを経由して連結されている。図示された例においては、それぞれの入出力モジュールは、前記入出力モジュールのそれぞれが、複数のメモリボード740、742、744及び746のそれぞれ1つと通信することを可能にする、複数の高速双方向性全二重シリアル通信チャンネルを提供する。図7の例では、それぞれの入出力モジュール701~712は、8個のシリアル通信ポートを提供し、及びそれぞれの入出力モジュール及びメモリボードの接続回線は、2つの個別の全二重通信チャンネルを反映することが意図されている。前記入出力モジュール701~712は、メモリボード740、742、744及び746に、極度に高帯域通信が可能になる方法で連結されている。例えば、第一の入出力モジュール701は、8個のシリアルデータポートメモリボードのそれぞれに対して2個を提供する。従って、前記入出力モジュール701が提供できる最大データ速度は、シリアル通信チャンネルの最大帯域幅の8倍である。操作においては、前記入出力モジュール701~712は、図2及び3に関連して上記で記載された、前記入出力モジュールと同様の操作を行う。しかしながら、図7の入出力モジュールは、より多数のシリアル通信チャンネルを提供するため、それらは、同時で、及び独立した、より多くのデータ関連要求又は応答通信を可能にする。このことは、一般的に記憶システム700に、並びに特に前記入出力モジュール701~712とメモリボード740、742、744及び746の間に、より高い帯域幅をもたらす。例えば、前記入出力モジュール701は、8個のシリアル通信ポートメモリボードのそれぞれに対して2個を提供するため、同時又はほぼ同時に、及び独立して2つのWRITE要求を、メモリボード740、742、744及び746のそれぞれに対し発行し、合計8個の同時又はほぼ同時に処理されたWRITE要求を発行できるであろう。元のシステム100において言及されたように、クロスバーなしでは、同じ競合制御arbitration及びホールドオフメカニズムは、いくつかの実施態様ではそれぞれのメモリボードに配置される。図7の例では、それぞれのシリアルシステム通信リンクは、前記入出力モジュール又は通信装置及びメモリボードへのデータ及び制御情報の両方を、又はそれらからのデータ及び制御情報の両方を、渡させるために用いられる。とりわけ、それぞれのメモリボードは、デジタルデータを受け取り、及びWRITE要求に応答しメモリボード上の物理的メモリ空間の中の特定のメモリロケーションの中にデジタルデータを記憶させるために、及びREAD要求に応答するボード上の物理メモリの特定のメモリロケーションの中に記憶されたデジタルデータを取り出し及び提供するために。それぞれの高速シリアル通信リンクは、非常に高速この実施例では625MB/secで、シリアルデータを受け取るか、又は伝送するため、図7のシステムは、非常に高いデータ速度でデータの記憶、又は取り出しができる。図8は、図7のシステム700で使用するための、例示的なメモリボード800の構造に関する詳細を図示している。図8に転じて、メモリボード800は、記憶制御ユニット802及び複数の個別のメモリチップから形成された物理的メモリ空間804を含む。このメモリボードは、メモリボードが複数のシリアル通信リンクを受け取ることを可能にするために、更に適切なインターフェース回路806を含む。図8では、インターフェース回路806は、メモリボード800が、24個のシリアル通信リンクからの入力を受け取ることを可能にする。図8の例では、さまざまな要素全てが同一の印刷回路板800の上に配置されている。記憶制御ユニット802は、Xilinxから入手可能な333MHzで稼動するVirtex-6FPGAXC6VLX240T-2FFG1156CESなどの、フィールドプログラマブルゲートアレイFPGAの使用により形成できる。しかしながら、記憶制御ユニット802は、代替的に他の種類のFPGA装置、ディスクリート回路、プログラムされたマイクロプロセッサ、又はそれらの任意の、又は全ての組み合わせによっても実行できるであろうことが理解されるであろう。図示された例においては、物理的メモリ空間804は、MicronTechnologies,Incから入手可能な333MHzで稼動するDDR3-800MT4J128M8BY-25Eのような複数のダブルデータレートダイナミックRAMチップ、DDR、を用いて構築される。しかしながら、代替的なDDRデバイス、フラッシュ及び他の種類のメモリなどの他の形態のメモリが、本開示の教示を逸脱することなく使用できることが理解されるであろう。この実施例では、記憶制御ユニット802は、物理的メモリ空間804への288本の外部並列データ回線図9によりよく示されるを駆動する。メモリ空間は、333MHzでクロックされるDDRメモリを使用するため、図8の前記高速メモリボードは、それぞれのクロックサイクルに対して物理的メモリ空間内に、最大576ビットのデジタル情報512ビットのデータ及び64ビットのECCを記憶する能力があり、従って全体でデータ及びECCについては約24000MB/sec、データ単独では20.83GB/secの記憶速度を提供する。図9は、例示的な高速メモリボードの構造の一部分をより詳細に図示している。特に、図9は、シリアル通信リンクからのデジタルデータを受け取り、物理的メモリ空間804内への記憶のために、そのようなデータを操作するために使うことができる、図8の記憶制御ユニット802内の構造を図示している。図9を参照するが、前記高速シリアル通信リンクの1つ、シリアルリンク900が、記憶制御ユニット802と連結しているところが図示されている。前記高速シリアル通信リンク900は、記憶制御回路802内に配置されるシリアライザ/デシリアライザ及びパッキングモジュール912に提供される。このシリアライザ/デシリアライザ及びパッキングモジュール912は、図10Aに更に説明されており、シリアルリンクが記憶制御ユニット802内に配置されるマルチギガビットトランシーバーMGT1010へ入力されるところを描写している。MGT1010は、シリアル通信リンクからシリアルデータを受け取り、及び定期的に、受け取られたシリアルデータを並列データに変換する。図10Aの実施例に進んで、MGT1010はシリアルデータを受け取り、及び156.25MHzで並列32ビット長のデータを提供する。図10Aの例では、MGT1010からの32ビット長の並列データは、256ビット長の多重ワードディープ先入れ先出しFIFO記憶バッファー1012に、MGT1010から受け取られた32ビット長のデータが256ビット長のデータワードにパックされる方式で提供される。このプロセスは図10B~10Dに一般的に図示されている。図10Bを参照するが、256ビット長のFIFO記憶装置1012が、256ビット長のワードA1~A8とパックされるところが模式的に図示されている。256ビット長のワードを形成するために、図示されたシステムでMGT1010からの32ビット長のデータをパックしている方法は以下のものである。第一に、この例ではA1である、最初の32ビット長のワードがMGT1010から受け取られる。その最初の32ビット長のワードA1は、図10Bに反映されているように最初のデータメモリロケーションに記憶される。MGT1010から、この例ではA2である、次の32ビット長のワードが受け取られて、第二のメモリロケーションに記憶され、第三のワードA3が3番目のメモリロケーションに記憶され、図10Bに示されているように、256ビット長のワードA1~A8を形成するために8個のワードA1~A8が受け取られ、FIFO1012に記憶されるまで、以下同様となる。256ビット長のワードA1~A8が、上述のプロセスで形成され、及びこの例ではB1である、別の32ビット長のワードが、MGT1010から受け取られると、最初のワードA1~A8は、FIFO1012内の別のメモリロケーションにシフト下げされ、及び新しく受け取られた32ビット長のワードは、図10Cに反映されているように、最初のメモリロケーションに記憶される。図10Cに反映されているように、このプロセスは、第二の完全な256ビット長のワードB1~B8が構築されるまで繰り返される。MGT1010から32ビットのワードを受け取り、受け取られた32ビットのワード256ビットのワードにパックし、及び256ビット長のワードをFIFO1012を通じてシフトさせるプロセスは、FIFO1012内の256ビット長のメモリロケーションが、完全に占められるまで継続する。より完全に占められているFIFO1012の例は、図10Dに図示されている。スタッキングFIFO1012の深さdepthは実行に応じて変化するが、図9の例、及び10A~10Dにおいては、FIFO1012は、少なくとも32個の256ビット長ワードの深さである。このことは、この例では、32個の256ビット長のワードのグループが、物理的メモリ空間804への、又は物理的メモリ空間804からの、データ転送において使用される基本単位であるためである。そのようなものとして、本願では、32個の256ビット長のワードのそれぞれのグループを、基本メモリ周期BasicMemoryCycle:BMC単位と称する。この例では、それぞれのBMC単位は8個の、192データビット32x256又は1KBのデータを含む。図9に戻って、パッキングFIFO912からのデータは、多重チャンネルFIFOバッファー914に提供されるが、図9では、それらのうちの1つのチャンネルだけが図示されている。図示された例においては、多重チャンネルFIFOバッファー914は256ビット長であり、データを256ビット/秒の速度でデータを受け取ることができ、及び27.7MHzの速度でクロックされている。データは、シリアライザ/デシリアライザ及びパッキングモジュール912から、多重チャンネルFIFOバッファー914に、データの完全なBMC単位が、32クロック周期を通じて転送される、バースト転送を用いて提供される。データの完全なBMC単位が、シリアライザ/デシリアライザ及びパッキングモジュール912から、多重チャンネルFIFOバッファー914に転送されると、多重チャンネルFIFOバッファー914は、データの完全なBMC単位を、32個の連続的な256ビットのワードの形態で含むようになる。図示された例においては、多重チャンネルFIFOバッファー914の深さは、それがデータの多重BMC単位を記憶することができるようなものである。このことは、多重チャンネルFIFOバッファー914の内容が3つのデータのBMC単位を含むものとして描写されている1140a、1140b及び1140cのブロックにより表されている図11に一般的に反映されている。図9に戻り参照すると、多重チャンネルFIFOバッファー914に記憶されたデータは、333MHzで稼動する256ビット長の並列データバスを経由してエラー修正及びデータ保護回路916に提供される。エラー修正及びデータ保護回路916は、受け取られたデータを1つ以上のエラー修正コードECCビットを導入するために処理し、及びそのデータの破損に対する強化された保護のためにデータを処理する。ECC処理の例は、当業者にとって周知であり、及びいかなる適切なECC処理機構をも使用できる。加えて、前記エラー修正及びデータ保護回路は、他のデータ保護技法又はチップキルChipKillなどの変換、及び強化されたデータ保護のために通常用いられる技法も実行できる。当業者が理解し得るチップキルは、IBMにより開発された進化したECCの形態であり、コンピュータメモリシステムを、いかなる単独のメモリチップの不具合からと同時に、単独のメモリチップのいかなる部分のマルチビットエラーからも保護する。チップキルに関する追加的情報は、以下の文献に見出すことができ、これは参照により本願に組み込まれる:TimothyJ.Dell,AWhitePaperontheBenefitsofChipkill-CorrectECCforPCServerMainMemory1997IBMMicroelectronicsDivision。エラー修正及びデータ保護回路916の操作の結果として、回路に提供されるそれぞれの256ビットワードにビットが加えられ、及び結果として生成する回路の出力は、この実施例ではそれぞれの256ビットの入力に対して288ビットである。この288ビットの出力はECC及びデータ保護回路916に提供される入力データは、回路916により加えられる保護及びECCビットに対応する。このデータ保護回路916からの288ビット長の出力は、288ビット長の並列バスを経由して、2つの出力FIFOバッファー918及び920に提供される。この実施例では、この並列バスは、333MHzでクロックされている。データ保護回路からのデータは、ピンポン方式で出力FIFOバッファー918及び920に提供される回路からの第一の288ビットワードが出力FIFOバッファー例えば、出力FIFOバッファー918の1つに提供され、一方次の288ビットワードは、次のクロック周期で出力FIFOバッファー例えば、FIFOバッファー920の他の1つに提供される。この方式で、完全なBMC単位に対応するデータは、データの半分がそれぞれの出力FIFOバッファーに存在するように、2つの出力FIFOバッファー918及び920に配置される。この実施例では、それぞれの出力FIFOバッファー918及び920の深さは、それぞれのバッファーが、多重BMC単位に対応するデータを保存できるようなものである。回路916から、出力FIFOバッファー918及び920へのデータ移動のこのプロセスは、図12及び12Aに一般的に図示されており、ここでは出力FIFOバッファー918及び920の例示的な内容は、BMC単位の移転後が図示されている。この図に反映されているように、例示的なBMC単位のデータは、両方のバッファーに含まれ、及び完全なBMC単位を作り上げるデータは、2つの出力FIFOバッファー918及び920の間にインターリーブされる。図9に戻って参照するが、2つの出力FIFOバッファー918及び920からのデータは高速の576ビット長の出力メモリバッファー922に提供される。図9の例では、それぞれのFIFO出力バッファー918及び920は、288ビットのデータ及びエラー保護情報を、それぞれのクロック周期で、前記高速出力メモリバッファー922に提供し、及び前記高速メモリバッファー922への入力は、この実施例では、333MHzでクロックされている。このスピード及びデータ転送速度では、データ32ワードの完全なBMC単位は、16クロック周期に変換される。ここで、16ワードがFIFO出力バッファー918及び920のそれぞれに記憶され、及び従ってBMC全体の移転には16周期が必要である。出力FIFOバッファー918及び920と、前記高速出力メモリバッファー922の間の連結は、出力FIFOバッファー918及び920に記憶されていた、かつて、インターリーブされたinterleavedデータが、単一の適正に順序付けられた576ビットのスーパーワードを形成するために組み合わされるようなものであり、このスーパーワードの中では、前記高速シリアル通信リンク900を通じてデータがもともと受け取られたときの順序を反映している。図9に戻って参照するが、前記高速出力バッファーからのデータは、333MHzDDRでクロックされている288ビット長の並列バスを通じて、物理メモリ804図示されていないに提供される。このDDRクロックは、データを両方のクロックエッジで移転し、出力メモリバッファー922からのデータは、効果的に667MHzの速度で移転される。結果として図9の回路のメモリへの効果的なデータ転送速度は20.83GB/secである。説明の目的のために、図9の実施例は、この実施例では図7を参照のことシリアル入力701である、単独の高速シリアル入力のみとの関連において本システムの操作を図示及び記述している。完全な例示的なシステムにおいては、最大24個の個別の高速シリアル通信リンクが提供され得る。そのような多重シリアル通信リンクを有するシステムからのデータが、本開示のシステムにより処理される方式は、図13A~13Bに反映されている。最初に図13Aを参照するが、図9との関係で上記で説明されたものに酷似したシステムが図示されている。しかしながら、図13Aの例では、例示的な高速入力についての入力MGT1010及びパッキングFIFOバッファー1012は、入力処理ブロック1370を形成するために組み合わされている。加えて、それぞれが対応する入力処理ブロックを有する、11個の他のシリアル入力1371~1381が示されている。これらの入力処理ブロックのそれぞれは、データの完全なBMC単位を、バーストモード方式で多重チャンネルFIFOバッファー914に提供することを可能にするために、図9及び10A~10Dとの関係で上記に記載された回路のように作動する。図13Aのシステムの設計のために、ピーク作動状態の間には、WRITE操作からのデータは、ほとんど常に多重チャンネルFIFOバッファー914に提供され、及び多重チャンネルFIFOバッファー914からのデータは、ほとんど常にエラー修正及びデータ保護回路916に提供されるように、このシステムは、データを非常な高速で受け取ることができる。しかしながら、図13Aのシステムは、好適には、記載されたシステムにより提供される前記高速シリアル通信リンクの半分からのデータを処理する。図13Bに示されるように、この例示的なシステムは、残りの12個のシリアル通信リンクからのデータを処理し、及びそのデータを第二のエラー修正及びデータ保護回路916’に提供する、別の多重チャンネルFIFOバッファー914’を含む、上記に記載されたものと同様の、別の一式の回路を含む。図13Bに反映されているように、第二のエラー修正及びデータ保護回路916’は、ピンポン方式で、その出力を出力FIFOバッファー918及び920に提供する。しかしながら、この例示的なシステムでは、第二のエラー修正及びデータ保護回路916’からのデータを移転する手順は、第一のデータ保護回路916がデータを出力FIFOバッファーの1つ例えば、出力FIFOバッファー918に出力している間、第二のエラー修正及びデータ保護回路916’は、データを他の出力FIFOバッファー例えば、出力FIFOバッファー920に移転するようなやり方で、第一のエラー修正及びデータ保護回路916とは、位相ずれout-of-phaseで作動する。次のクロック周期の間、この移転はスイッチする。この方式により、それぞれのクロック周期の間に、データは常に両方の出力FIFOバッファー918及び920に送達される。異なるWRITE操作からのデータを不適切に混合することを防止するために、第一及び第二のエラー修正及びデータ保護回路916及び916’により提供されたデータは、単一のシリアル通信リンクを通じて受け取られたデータに見えるように再結合できる方式で、好適には、出力FIFOバッファー918及び920へ移転される。これを達成するための1つのアプローチは、図14A及び14Bに反映されている。図14A及び14Bを参照するが、第一のデータ転送操作の間、第一のエラー修正及びデータ保護回路916例えば、ワード0、a0から移転される準備ができているBMC単位の第一の偶数のワードは、第一の回路916により、第一の回路916のために予約されている出力FIFOバッファー918の一部分に移転される。同時に、第二のエラー修正及びデータ保護回路916’から移転される準備のできているBMC単位の第一の偶数ワードワード0、b0は、第二の回路916’からのデータの記憶のために予約されている出力FIFOバッファー920の一部分に移転される。次のクロック周期の間、第一の回路916中のBMCからの第一の奇数ワード例えば、ワード1、a1は、出力FIFOバッファー920の予約された空間に記憶され、及びFIFO916’中のBMCからの第一の偶数ワード例えば、ワード1、b1は、出力FIFOバッファー918内の予約された空間に記憶される。この方法により、最大帯域幅が保持されるように、データは常に出力FIFOバッファー918及び920の両方に移転される。代替的な方法では、第二のエラー修正及びデータ保護回路916’からのデータの書き込みは、全ての偶数のワードが出力FIFOバッファー918に記憶され、及び全ての奇数のワードが出力FIFOバッファー920に記憶できるように、1周期遅らせることができる図14C及び14Dを参照のこと。上記で説明した図9及び他の図に反映されているように、データの受け取り及び処理のための電気回路のために提供することに加え、それが、前記高速シリアル通信チャンネルの1つを通じて、要求されたデータを次いで適切なホストに提供できる入出力インターフェースモジュールに移転されるように、それぞれのメモリカードは、高速のデータ速度でのRAMメモリからのデータの取り出し、及び受け取られたデータを解凍するための同様の構造本質的に逆順に操作するを含むことができる。図示された例においては、メモリ制御装置802を物理RAMメモリ804に連結するデータ及びアドレス回線は、任意の所定の時間に、READアクセスのみ、又はWRITEアクセスのみが遂行できるようになっている。従って、最適の成績を提供するためには、図15に一般的に示されるように、前記制御装置802は、何らかの形態の競合制御を行わなければならない。一実施態様では、この競合制御は、前記制御装置802内に、それぞれのデータ関連要求に対するコマンドヘッダー情報を受け取り、及びその情報を、その要求を提供した前記入出力インターフェースモジュールに関連付けられたバッファー中に記憶する競合制御モジュール1504を組み込むことで達成される。好適な実施態様では、この競合制御モジュール1504は、前記制御装置802が、入出力インターフェースモジュール単位で、入出力インターフェースモジュール上のバッファーされた記憶装置の中で、それぞれの入出力インターフェースモジュールから受け取られたREAD及びWRITE要求又はコマンドのリストを保持するように、READ操作のための個別のバッファー1500及び1502、並びにWRITE操作のための個別のバッファー1501及び1503を保持する。一般にこのリストは、タイムスタンプ、又は時間順の原理で保持されることができ、及びリストへのそれぞれのエントリーは、入出力インターフェースモジュールから受け取られたそれぞれのデータ関連要求に関連付けられたコマンド情報、すなわち、TARGETADDRESS、ワードカウント又は移転されるべきデータ量の他の表示及び移転方向の表示例えば、それがREAD又はWRITE操作のいずれであるかを、含むことができる。性能を最適化するために、READ及びWRITE要求は以下のように処理されることができる:一般に前記競合制御モジュール1504は、READ要求を優先し、及び以下で説明する条件が満たされない限り、さまざまな入出力インターフェースモジュールのために、READ要求バッファー中のREAD要求を先着順の原理で処理する。もし、競合制御モジュール1504及び前記制御装置802が、未処理のREAD要求がないように、全てのREAD要求を処理すると、競合制御モジュール1504及び前記制御装置802は、次いでWRITE要求バッファー中の未処理のWRITE要求を先着順の原理で処理する。多すぎる未処理のWRITE要求を持つことを避けるため、並びにアドレス待ち時間及び一貫性の問題を助力するために、競合制御モジュール1504及び前記制御装置802は、未処理のWRITE要求の数が特定の閾値数を越えていると決定された場合には、WRITE要求を処理する。競合制御モジュール1504は、この閾値を越えている決定を以下のことを考慮して行う:i前記入出力インターフェースモジュールの合計からの全ての未処理のWRITE要求の合計数;ii所定の入出力インターフェースモジュールからの未処理WRITE要求の合計数;又はiii上記のいくつかの組み合わせ。例えば、もし未処理WRITE要求の合計数、及び所定の入出力インターフェースモジュールのためのWRITE要求の数が考慮される場合、競合制御モジュール1504は、以下のどちらかである場合に、前記制御装置802にWRITE要求を処理させることができる:i未処理のWRITE要求の合計数が第一の閾値を越えるこの場合には、未処理のWRITE要求は先着順の原理で処理される又はii所定の入出力インターフェースモジュールのための未処理のWRITE要求が第二の閾値を越える場合第一の閾値よりも低くてよい、この場合には、競合制御モジュール1504は、前記制御装置802に、先着順の原理で、閾値を越えるバッファーに関連付けられる特定の入出力インターフェースモジュールにWRITE要求を処理させる。更に、競合制御部は、妨害又は絞りthrottlingなしで、前記入出力インターフェースモジュールが、データ及びデータ関連要求を、送信し続けることができるように、それがデータ受け取りに関連付けられた出力FIFOバッファーの1つの中に記憶されたデータが、出力FIFOバッファーの記憶能力の1/2を超える量などの特定の限界を越えたと判断した場合は、WRITE要求を処理でき、この場合にはそのWRITE要求に関連付けられた出力FIFOバッファーが、処理される。上述のことに加えて、競合制御モジュール1504は、データの一貫性が維持されるようにどのようにREAD及びWRITE要求が処理されるかを制御することもできる。例えば、未処理のREAD要求が特定のアドレスに向けられること、及び時間的に早い未処理のWRITE要求があることが決定される場合、競合制御モジュール1504は、適切なデータを、WRITE要求への応答を確実に返すために、前記制御装置802に未処理のWRITE要求を処理させることができる。メモリチップアクセスメモリ制御装置802が物理RAMメモリへ、又は物理RAMメモリからデータを移転するために使用できるさまざまなアプローチ及び方法がある。一実施態様では、前記制御装置802は、競合制御モジュール1504からコマンド情報をデータ転送のタイミングを制御する開始インジケーターとともに受け取るDDR3メモリ制御モジュールとして機能するか、又はDDR3メモリ制御モジュールを含むことができる。一般に競合制御モジュール1504から提供されるこのコマンド情報は、以下のものを含むことができる:競合制御の目的で用いられるバッファーに記憶された同じ情報、すなわち、ターゲットアドレス、及びより具体的には、移転のための開始アドレス;移転されるべきデータの量の識別子、これはワードカウントであってよい;及び移転方向。メモリ制御モジュールとして作用する前記制御装置802は、次いで、TARGETADDRESS開始アドレスにより指示されたときに、適切なメモリチップを活性化する。移転の方向がメモリへのWRITEを示す場合、前記制御装置802は、出力メモリバッファー922からのデータを転移する一方、メモリチップへのコマンド例えば、タイミング及びアドレスコマンドの発行を調整する。移転の方向がRAMメモリへのREADを示す場合、前記制御装置802は、メモリチップからのデータを、データが向けられる前記入出力インターフェースモジュールに関連付けられた出力FIFOバッファーに転移する一方、適切なアドレス及びタイミングコマンドのメモリチップへの発行を調整する。1つの実施例では、前記制御装置802は、以前のコマンドに関連付けられたデータ転送が完了する前に、次のコマンド情報のセットを受け取り、従ってシステムが最大の帯域で作動することを可能にする。物理RAMメモリへの、又は物理RAMからの、データ移転を制御する時の前記制御装置802の概略の作動は、図16及び17に一般的に反映されている。最初に図16を参照するが、前記物理RAMメモリの1つの特定の配置が示されている。図16の実施態様では、制御装置802が図示され、及び前記制御装置802及び物理RAMメモリの間の接続が示されている。この例では、前記制御装置802に連結された物理RAMメモリは、4つのセクション1602、1604、1606、及び1608に分割された72個のメモリチップの形態をとり、それぞれのセクションが18個のメモリチップを有する。この例では、それぞれのメモリチップが、4つのバンクA、B、C、Dを有する。メモリチップは、それらが以下のものを共有するように連結される:aアドレス及び制御回線この実施例では22、及びbデータ回線この実施例では72。図16に示される連結は物理メモリチップを制御装置802に接続するただ1つの方法である。4つのセクションの全ては、個別の制御バスを持つにもかかわらず、調和して作動し、及び同時に同じバンクに対してコマンドが発行される。メモリ制御装置802の操作に関する追加的な詳細は、図17に見出すことができる。図17は、2つの基本メモリ周期ここでは第二の基本メモリ周期は未完成として示されているを通じた前記制御装置802の操作を図示している。一般にそれぞれのメモリ周期は32個の288ビットのワードのDDRメモリへの又は、DDRメモリからの移転を含む。この特定の実施例では、この移転は、16の実際のクロック周期を通じて起きる。333MHzでは、これは、それぞれのメモリカードに対して、48nsごとに1KBのデータ、又は20.83Gバイト/秒データ単独の移転速度を提供する。図7に反映されているシステムが、多数のメモリカードを持つことができることを考慮すると、システムの合計の帯域幅は20.83GB/秒よりも顕著に高くなることができ、及び5個以上のメモリカードが用いられる場合には、100GB/秒を超えることができる。図17を参照するが、コマンドバスを通じてそれぞれのセクションに付随するメモリのバンクAを活性化することにより、基本メモリ周期が開始される。これは、図17の例ではクロック周期1で起きる。4クロック周期後の、クロック周期5では、活性化コマンドが、バンクBに提供される。4周期後の、クロック周期9では、バンクCが活性化され、及びそれより4周期後の、クロック周期13では、バンクDが活性化される。さまざまなバンクを選択的に活性化するこのアプローチは、バンクAは、バンクAに対する次の活性化activateコマンドが発行される周期6及び19の間にプレチャージされるために、いかなる物理的プレチャージ時間prechargetimeに違反しないことを可能にする。さまざまなバンクのそれぞれに対して、バンクが活性化された5周期後に、データ転送が、READであるか、又はWRITEであるかを示すコマンドがその特定のバンクにアサートされる。従って、これは、バンクAに対してはクロック周期6で、バンクBに対してはクロック周期10で、バンクCに対してはクロック周期14で、及びバンクDに対してはクロック周期18で起きる。移転がREADであるか、又はWRITEであるかの指示の供給の5クロック周期後に、4つの連続周期の間、データがデータ回線に提供される。ダブルデータレートDDRでデータが移転されるために、それぞれのメモリクロック周期の間に2ワードが移転される。従ってそれぞれのバンクについて、基本メモリ周期全体にわたって8個の288ビットのワードのデータが移転される図17中のデータバスに対する表記であるW0は、2つの288ビットのワードを包含する。説明されている基本メモリ周期の間のデータ転送のコースの間に、クロック周期19でのバンクAに対する活性化コマンドのアサーションにより、次のメモリ周期に対する基本メモリ周期が開始される。次の基本メモリ周期の残りは、第一の基本メモリ周期に関して上記で以前に記述したことに従う。上記が示すように、完全な1キロバイトのデータが、基本メモリ周期ごとに移転される。一実施態様では、このシステムは、512バイトだけが移転されるハーフライト周期を提供できる。そのような半選択書き込み周期では、2つだけの連続したバンクの活性化がアサートされる例えば、バンクA及びB、又はバンクC及びD。その他のバンクは、周期の間、アイドル状態にとどまる。移転についてのTARGETADDRESSは、移転のために4つのバンクの内のどの2つを活性化するかを決定する。上記の実施態様は説明的であり、及び限定的ではない。上述された本発明の1つ以上の態様を用いる、他の及び更なる開示される実施態様の趣旨を逸脱することなく、他の更なる実施態様を考案することができる。更に、本明細書に記載されたステップの順序は、特別に限定される場合を除き、さまざまな配列で起こることができる。本明細書に記載されたさまざまなステップは、他のステップと組み合わせること、公表されたステップの間に差し挟むこと、及び/又は複数のステップに分割することができる。同様に、素子は機能的に記載されており、及び個別の構成要素として具体化することができ、又は複数の機能を有する構成要素に組み合わせることができる。開示されている実施態様は、好適な他の実施態様との関連で記載され、全ての実施態様は記載されていない。記載されている実施態様への明白な修正、及び変形は、当業者には利用可能である。開示されている、及び開示されていない実施態様は、本出願人により着想された、本発明の範囲及び適用性を限定、又は制限することを意図していない。本出願人は、以下の特許請求の範囲又は等価物の範囲内に含まれる、そのような修正及び改良の全てを完全に保護することを意図している。"