複数のメモリコントローラに応答する複数のチャネルと、前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える装置。前記第1のマルチポートマルチバンク構造は、前記複数のチャネルの前記第1のセットの各チャネルからアクセス可能な第1の複数のメモリバンクを備える、請求項1に記載の装置。前記第1のマルチポートマルチバンク構造は、2つ以上のポートをさらに備え、前記2つ以上のポートの各々は、メモリコントローラに応答し、前記複数のチャネルの前記第1のセットの各チャネルは、前記2つ以上のポートの各々に応答する、請求項2に記載の装置。前記第1の複数のメモリバンクは、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットは、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットは、第2のポートからアクセス可能である、請求項3に記載の装置。前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られ、前記第1の複数のメモリバンクの前記第1のサブセット内のメモリバンクの第1の数は、前記第1の複数のメモリバンクの前記第2のサブセット内のメモリバンクの第2の数よりも少ない、請求項4に記載の装置。前記第1のポートで受け取られたデータは、前記第1の複数のメモリバンクの前記第1のセットの2つ以上のバンクの間で分けて記憶される、請求項4に記載の装置。前記第1のポートで受け取られたデータは、前記第1の複数のメモリバンクの前記第1のセットの2つ以上のバンクの間でインターリーブされる、請求項6に記載の装置。前記メモリコントローラは、メモリ相互接続部に結合された複数のメモリコントローラのうちの1つであり、前記メモリ相互接続部は、各々が複数のマスタのうちの1つと通信するように構成された複数のマスタ接続部と、各々が、1つまたは複数の前記マスタ接続部とデータを交換し、かつ前記複数のメモリコントローラのうちの1つと通信するように構成された、複数のスレーブ接続部とを備える、請求項3に記載の装置。前記複数のマスタは、多重化データプロセッサ、映像プロセッサ、グラフィックスプロセッサ、標準的な制御プロセッサ、マルチプレクサデマルチプレクサ、およびマスタ制御プロセッサのうちの1つまたは複数を含む、請求項8に記載の装置。前記第1のマルチポートマルチバンク構造と前記第2のマルチポートマルチバンク構造の少なくとも一方は、1つまたは複数の揮発性メモリデバイスを備える、請求項1に記載の装置。前記1つまたは複数の揮発性メモリデバイスは、ダイナミックランダムアクセスメモリとダブルデータレートランダムアクセスメモリの少なくとも一方を備える、請求項10に記載の装置。前記1つまたは複数の揮発性メモリデバイスは、スタックダブルデータレートランダムアクセスメモリを備える、請求項11に記載の装置。前記1つまたは複数の揮発性メモリデバイスは、シリコン貫通スタッキングスタックダブルデータレートランダムアクセスメモリを備える、請求項12に記載の装置。前記第1のマルチポートマルチバンク構造と前記第2のマルチポートマルチバンク構造の少なくとも一方は、1つまたは複数の不揮発性メモリデバイスを備える、請求項1に記載の装置。前記1つまたは複数の不揮発性メモリデバイスは、磁気ランダムアクセスメモリと、プログラム可能な接触メモリと、フラッシュメモリと、相変化ランダムアクセスメモリの少なくとも1つを備える、請求項14に記載の装置。少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項1に記載の装置。セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに備える、請求項16に記載の装置。複数のメモリバンクと、各々がメモリコントローラとデータを交換するように構成された複数のポートと、各々が、前記メモリバンクの各々にアクセスし、かつ前記メモリバンクの各々および前記複数のポートの各々とデータを交換するように構成された複数のチャネルとを備える装置。前記第1の複数のメモリバンクは、前記複数のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットは、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットは、第2のポートからアクセス可能である、請求項18に記載の装置。前記第1の複数のメモリバンクは、前記複数のポートの間で不均等に割り振られ、前記第1の複数のメモリバンクの前記第1のサブセット内のメモリバンクの第1の数は、前記第1の複数のメモリバンクの前記第2のサブセット内のメモリバンクの第2の数よりも少ない、請求項19に記載の装置。前記複数のポートのうちの1つによって受け取られたデータは、前記複数のメモリバンクの2つ以上のメモリバンクの間で分けて記憶される、請求項18に記載の装置。前記データは、前記複数のメモリバンクの2つ以上のメモリバンクの間でインターリーブされる、請求項21に記載の装置。前記メモリコントローラは、メモリ相互接続部に結合された複数のメモリコントローラのうちの1つであり、前記メモリ相互接続部は、各々が複数のマスタのうちの1つと通信するように構成された複数のマスタ接続部と、各々が、1つまたは複数の前記マスタ接続部とデータを交換し、かつ前記複数のメモリコントローラのうちの1つと通信するように構成された、複数のスレーブ接続部とを備える、請求項18に記載の装置。前記メモリ素子は、少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項18記載の装置。セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末と、固定位置データユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに含む、請求項24に記載の装置。複数のデータビットを記憶するための複数の手段と、複数のメモリコントローラとデータを交換するための複数の手段と、前記複数の記憶手段の各々にアクセスし、前記記憶手段と前記データ交換手段との間でデータを交換する複数の手段とを備える装置。少なくとも1つの半導体ダイに組み込まれた、請求項26に記載の装置。セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記複数のデータ交換手段および前記複数の記憶手段が組み込まれたデバイスをさらに備える、請求項26に記載の装置。複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするステップと、前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするステップと、前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするステップと、前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするステップとを含む方法。前記複数のメモリバンクを前記複数のポートの間で割り振るステップをさらに含み、メモリバンクの第1のセットは前記第1のポートに割り振られ、メモリバンクの第2のセットは前記第2のポートに割り振られる、請求項29に記載の方法。前記複数のメモリバンクを前記複数のポートの間で不均等に割り振るステップをさらに含み、メモリバンクの前記第1のセットは、メモリバンクの前記第2のセット内のメモリバンクの数よりも多いメモリバンクを含む、請求項30に記載の方法。データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするステップをさらに含む、請求項29に記載の方法。複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするための第1のステップと、前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするための第2のステップと、前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするための第3のステップと、前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするための第4のステップとを含む方法。前記第1のステップ、前記第2のステップ、前記第3のステップ、および前記第4のステップは、電子デバイスに組み込まれたプロセッサによって実行される、請求項33に記載の方法。データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするための第5のステップをさらに含む、請求項33に記載の方法。コンピュータによって実行可能な命令を記録するコンピュータ可読記録媒体であって、前記命令は、複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令とを含むコンピュータ可読記録媒体。前記命令は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに組み込まれたプロセッサによって実行可能である、請求項36に記載のコンピュータ可読記録媒体。半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を受け取るステップであって、前記半導体デバイスが、複数のメモリコントローラに応答する複数のチャネルと、前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、前記設計情報をファイルフォーマットに適合するように変換するステップと、前記変換された設計情報を含むデータファイルを生成するステップとを含む方法。前記データファイルがGDSIIフォーマットを含む、請求項38に記載の方法。半導体デバイスに対応する設計情報を含むデータファイルを受け取るステップと、前記設計情報に従って、前記半導体デバイスを製造するステップとを含み、前記半導体デバイスは、複数のメモリコントローラに応答する複数のチャネルと、前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える方法。前記データファイルはGDSIIフォーマットを有する、請求項40に記載の方法。パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を受信するステップであって、前記パッケージングされた半導体デバイスが、複数のメモリコントローラに応答する複数のチャネルと、前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、前記設計情報を変換してデータファイルを生成するステップとを含む方法。前記データファイルはGERBERフォーマットを有する、請求項42に記載の方法。パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を含むデータファイルを受け取るステップと、前記設計情報に従って、前記パッケージングされた半導体デバイスを受け取るように構成された前記回路基板を製造するステップとを含み、前記パッケージングされた半導体デバイスは、複数のメモリコントローラに応答する複数のチャネルと、前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える方法。前記データファイルはGERBERフォーマットを有する、請求項44に記載の方法。セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに前記回路基板を組み込むステップをさらに含む、請求項44に記載の方法。複数のマルチポートマルチバンクメモリ構造を含むマルチチャネルマルチポートメモリを開示する。このマルチチャネルマルチポートメモリは、複数のポートからかつ複数のチャネルを介して特定のメモリバンクにアクセスするのを可能にする。マルチチャネルマルチポートメモリは、特定のレベルの負荷分散、スループット、および帯域幅を実現するために割振り方式同士の間の動的遷移もサポートする。特定の一実施形態では、装置を開示する。この装置は、複数のメモリコントローラに応答する複数のチャネルを含む。装置はまた、複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを含む。別の特定の実施形態では、複数のメモリバンクと、複数のポートと、複数のチャネルとを含む装置を開示する。各ポートは、メモリコントローラとデータを交換するように構成される。各チャネルは、メモリバンクの各々にアクセスし、メモリバンクの各々および各ポートとデータを交換するように構成される。別の特定の実施形態において、方法は、複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスすることを含む。この方法は、複数のチャネルの第2のチャネルを介して第1のポートから第1のメモリバンクにアクセスすることも含む。この方法は、第2のチャネルを介して複数のポートの第2のポートから複数のメモリバンクの第2のメモリバンクにアクセスすることをさらに含む。この方法は、第1のチャネルを介して第2のポートから第2のメモリバンクにアクセスすることを含む。開示する実施形態のうちの少なくとも1つによってもたらされる1つの特定の利点は、特定のメモリバンクが複数のメモリコントローラからアクセス可能であることである。開示する実施形態のうちの少なくとも1つによってもたらされる別の特定の利点は、メモリバンクが複数のメモリポートからかつ複数のメモリチャネルを介してアクセスできることである。本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。図面を参照するが、各図面において、同じ参照符号は同じ要素を示す。図1は、メモリアクセスシステム100の特定の実施形態を示している。メモリアクセスシステム100は、第1のプロセッサ101、第2のプロセッサ102、第3のプロセッサ103、第4のプロセッサ104、第5のプロセッサ105、および第nのプロセッサ106のような複数の機能的マスタまたは機能的コンピューティングサブシステムを含む。マスタ101~106の各々は、代表的な第1のメモリコントローラ131、第2のメモリコントローラ132、第3のメモリコントローラ133、および第4のメモリコントローラ134のような複数のメモリコントローラに通信可能に結合された相互接続部108に通信可能に結合されている。メモリコントローラ131~134の各々は、マルチチャネルマルチポートメモリ110に通信可能に結合されている。メモリコントローラ131~134の各々はチャネルとみなされてもよく、各チャネルは、メモリコントローラに応答するとみなされてもよい。一般に、メモリアクセスシステム100は、マスタ101~106の各々がマルチチャネルマルチポートメモリ110からデータを取り出し、かつマルチチャネルマルチポートメモリ110にデータを記憶するのを可能にする。マスタ101~106は、様々な機能の実行に関与してもよい。たとえば、メモリアクセスシステム100をモバイルデバイスに組み込むと、マスタ101~106は、多重化データ処理、映像処理、グラフィックス処理、標準的な制御処理、多重化逆多重化、およびマスタ制御処理のような機能を実行してもよい。これらの機能が一例に過ぎないことに留意されたい。マスタ101~106の各々が、任意の数の異なる機能を実行してもよい。相互接続部108は、マルチチャネルマルチポートメモリ110からデータを読み取り、かつマルチチャネルマルチポートメモリ110にデータを書き込むときにマスタ101~106とメモリコントローラ131~134との間のアクセスを容易にする。特定の実施形態では、相互接続部108は、マスタ接続部およびスレーブ接続部のネットワークを介してマスタ101~106とメモリコントローラ131~134との間のアクセスを容易にする。相互接続部108は、システム100の各マスタ用のマスタ接続部を含んでもよい。たとえば、図1に示す特定の実施形態では、第1のプロセッサ101は、対応する第1のマスタ接続部111を有し、第2のプロセッサ102は、対応する第2のマスタ接続部112を有し、第3のプロセッサ103は、対応する第3のマスタ接続部113を有し、第4のプロセッサ104は、対応する第4のマスタ接続部114を有し、第5のプロセッサ105は、対応する第5のマスタ接続部115を有し、第nのプロセッサ106は、対応する第nのマスタ接続部116を有する。相互接続部108は、メモリアクセスシステム100の各メモリコントローラ用のスレーブ接続部を含んでもよい。たとえば、図1に示す特定の実施形態では、第1のメモリコントローラ131は、対応する第1のスレーブ接続部121を有し、第2のメモリコントローラ132は、対応する第2のスレーブ接続部122を有し、第3のメモリコントローラ133は、対応する第3のスレーブ接続部123を有し、第4のメモリコントローラ134は、対応する第4のスレーブ接続部124を有する。特定の実施形態では、相互接続部108は、マスタ接続部111~116のうちの任意の接続部をスレーブ接続部121~124のうちの任意の接続部に接続できるように動的にスイッチングされてもよい。スイッチングは、マスタ101~106から受け取られるデータ要求に含まれる制御ビットまたはアドレスビットに基づいて実行されてもよい。マルチチャネルマルチポートメモリ110は、代表的な第1のマルチポートマルチバンク構造180および第2のマルチポートマルチバンク構造190のような複数のマルチポートマルチバンク構造を含む。マルチポートマルチバンク構造180、190は、揮発性メモリデバイスまたは不揮発性メモリデバイスであってよい。揮発性メモリデバイスの例には、ダイナミックランダムアクセスメモリ、ダブルデータレートランダムアクセスメモリ、スタックDDRAM、およびシリコン貫通スタッキングスタックDDRAMが含まれるが、それらに限らない。不揮発性メモリデバイスの例には、磁気ランダムアクセスメモリ、プログラム可能な接触メモリ、およびフラッシュメモリ、および相変化RAMが含まれるが、それらに限らない。メモリアクセスシステム100内の各メモリコントローラは、メモリポートを介して特定のマルチポートマルチバンク構造に接続されてもよい。たとえば、図1に示す特定の実施形態では、第1のメモリコントローラ131が第1のメモリポート141を介して第1のマルチポートマルチバンク構造180に接続され、第2のメモリコントローラ132が第2のメモリポート142を介して第1のマルチポートマルチバンク構造180に接続され、第3のメモリコントローラ133が第3のメモリポート143を介して第2のマルチポートマルチバンク構造190に接続され、第4のメモリコントローラが第4のメモリポート144を介して第2のマルチポートマルチバンク構造190に接続される。マルチポートマルチバンク構造180および190の各々は複数のメモリバンクを含む。たとえば、図1に示す特定の実施形態では、第1のマルチポートマルチバンク構造180は、第1のメモリバンク161、第2のメモリバンク162、第3のメモリバンク163、および第4のメモリバンク164を含む。第2のマルチポートマルチバンク構造190も、4つのメモリバンク、すなわち第5のメモリバンク171、第6のメモリバンク172、第7のメモリバンク173、および第8のメモリバンク174を含む。特定の実施形態では、複数のメモリバンクの第1のサブセットに第1のメモリポートからアクセス可能であり、複数のメモリバンクの第2のサブセットに第2のメモリポートからアクセス可能である。マルチポートマルチバンク構造180および190の各々には、複数のメモリチャネルを介してアクセス可能であり、すなわち複数のメモリコントローラからアクセス可能である。たとえば、図1に示す特定の実施形態では、メモリバンク161~164に第1のメモリコントローラ131と第2のメモリコントローラ132の両方からアクセス可能である。同様に、メモリバンク171~174には第3のメモリコントローラ133と第4のメモリコントローラ134の両方からアクセス可能である。図1では、マルチポートマルチバンク構造180、190の各々が、2つのメモリポートを有するように示されているが、この代わりに、マルチチャネルマルチポートメモリ110内の各マルチポートマルチバンク構造が、任意の数のメモリポートおよびメモリチャネルを有してもよいことに留意されたい。マルチポートマルチバンク構造に接続されたコントローラはマルチポートマルチバンク構造内の各メモリバンクにアクセスしてもよいが、各メモリコントローラに、メモリアクセスシステム100の動作時に特定のメモリバンクのみへのアクセス権を与えてもよい。メモリコントローラとメモリバンクとの間のこのような割当ては、動的に再構成可能であってもよい。たとえば、第1のメモリバンク161が第1のマルチポートマルチバンク構造180の他のメモリバンク162~164よりも頻繁にアクセスされるとき、第1のメモリコントローラ131を第1のメモリバンク161に割り当て、第2のメモリコントローラ132を残りのメモリバンク162~164に割り当ててもよい。したがって、頻繁に使用されるメモリバンクは、各メモリコントローラに負荷を分散させるための専用のメモリチャネルおよびメモリコントローラを備えてもよい。特定の実施形態では、メモリコントローラ131~134とメモリポート141~144との間の入出力インターフェースに専用のピンを使用することによってダイナミックメモリチャネル構成およびマルチチャネリングを実現してもよい。マルチチャネルマルチポートメモリ110内の各メモリチャネルは動的に再構成可能であるので、特定のメモリバンクに複数の方法でアクセスしてもよい。たとえば、第2のメモリバンク162を対象とするデータ動作を2つの異なる方法で処理してもよい。第1のメモリコントローラ131が第2のメモリバンク162にアクセスしてもよく、または第2のメモリコントローラ132が第2のメモリバンク162にアクセスしてもよい。各データ動作をどのように処理するかは、データ動作を開始する時点でのメモリコントローラ131~132の構成に依存することがある。動作時には、マスタ101~106は、マスタ101~106に対応するマスタ接続部111~116を介してデータ要求を行ってもよい。たとえば、第3のプロセッサ103は、第4のメモリバンク164に配置された物理的アドレスに対応する論理アドレスを有するメモリの特定のブロックを読み取ることを望む場合がある。要求されたアドレスに基づいて、相互接続部108は、対応するマスタ接続部111~116をスレーブ接続部121~124のうちの1つに接続することができる。たとえば、相互接続部108は、第3のプロセッサ103に対応する第3のマスタ接続部113を第1のスレーブ接続部121に接続することができる。その理由は、第1のスレーブ接続部121が、第4のメモリバンク164にアクセスすることのできる第1のメモリコントローラ131に接続されているからである。あるいは、相互接続部は、第3のマスタ接続部113を第2のスレーブ接続部122に接続してもよい。その理由は、第2のスレーブ接続部122が、同じく第4のメモリバンク164にアクセスすることのできる第2のメモリコントローラ132に接続されているからである。図1のメモリアクセスシステム100は、複数のメモリコントローラが特定のメモリバンクへのアクセスを共有するのを可能にしてもよいことが諒解されよう。図1のメモリアクセスシステム100は、メモリアクセスパターンに基づいてメモリチャネルのサイズを動的に変更することが可能であってよく、それによって、マルチチャネルマルチポートメモリ110の有効スループットを増大させ得ることが諒解されよう。メモリアクセスシステム100によって実行されるメモリアクセスが融通性に富みかつ動的な性質を有するので、負荷分散が改善されるとともにメモリ帯域幅が広くなり、したがって、いくつかのメモリバンクが他のメモリバンクと比較して不均等に使用されることはない。図2は、マルチポートマルチバンク構造200を含むマルチチャネルマルチポートメモリデバイスにおいてデータを順次受け取る例を示す図である。マルチポートマルチバンク構造200は、代表的な第1のメモリポート211および第2のメモリポート212のような複数のメモリポートと、代表的な第1のメモリバンク221、第2のメモリバンク222、第3のメモリバンク223、および第4のメモリバンク224のような複数のメモリバンクとを含む。図示の実施形態では、マルチポートマルチバンク構造200は、図1のマルチポートマルチバンク構造180、190のうちの一方である。マルチポートマルチバンク構造200のメモリポート211~212の各々は、メモリコントローラに結合されてもよく、マルチポートマルチバンク構造200に記憶すべきデータをメモリコントローラから受け取ってもよい。たとえば、図2に示すように、第1のメモリポート211は、マルチポートマルチバンク構造200に記憶すべき4つのデータパケットを受け取る。データパケットA201は、データパケットB202の前に受け取られる。データパケットC203は、データパケットB202の後に受け取られ、かつデータパケットD204の前に受け取られる。第2のメモリポート212は、マルチポートマルチバンク構造200に記憶すべき3つのデータパケットを受け取る。データパケットX205が最初に受け取られ、その後データパケットY206が受け取られ、最後にデータパケットZ207が受け取られる。データパケットX205は、データパケットBが第1のメモリポート211で受け取られる前に第2のメモリポート212で受け取られる。同様に、データパケットY206は、データパケットC203が第1のメモリポート211で受け取られる前に第2のメモリポート212で受け取られ、データパケットZ207は、データパケットD204が第1のメモリポート211で受け取られる前に第2のメモリポート212で受け取られる。マルチポートマルチバンク構造200は、メモリバンクの完全共有、メモリバンクの均等割振り、メモリバンクの不均等割振り、およびデータストレージのインターリーブのような様々な割振り方法をサポートしてもよい。したがって、データパケットA~Z201~207がマルチポートマルチバンク構造200内のどこに記憶されるかは、図3~図6によって示されているようにデータパケットA~Z201~207が受け取られたときに行われている特定の割振り方法に依存することがある。図3は、メモリバンクが各メモリポートと各メモリチャネルとの間で完全に共有されるときのマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。特定の実施形態では、メモリバンクが完全に共有されるとき、特定のメモリバンクは、満杯になるまですべてのメモリポートによって使用される。特定のメモリバンクが満杯になると、メモリポートは異なるメモリバンクを使用し始める。たとえば、図3に示す特定の実施形態では、データパケットA201およびデータパケットX205が、最も早くマルチポートマルチバンク構造200で受け取られ、第1のメモリバンク221に記憶される。データパケットA201およびデータパケットX205が記憶された後第1のメモリバンク221が満杯になるので、次に、データパケットB202およびデータパケットY206が受け取られ、第2のメモリバンク222に記憶される。同様に、第2のメモリバンク222が満杯になるので、データパケットC203およびデータパケットZ207は第3のメモリバンク223に記憶されてもよく、第3のメモリバンク223が満杯になるので、データパケットD204は第4のメモリバンク224に記憶されてもよい。図3に示すようにメモリバンクを完全に共有すると、メモリコントローラが利用できるメモリバンクの数が増えるので、メモリコントローラがメモリバンクの衝突に遭遇する機会が少なくなることによってメモリ空間をより効率的に使用できるようになることが諒解されよう。図4は、メモリバンクが各メモリポートおよび各メモリチャネルに均等に割り振られるときのマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。図4に示す特定の実施形態では、メモリバンク221~222が第1のメモリポート211に割り振られ、メモリバンク223~224が第2のメモリポート212に割り振られる。メモリポート211~212で受け取られたデータパケットは、それらのデータパケットが受け取られた順序で割り振られたメモリバンクに記憶されてもよい。たとえば、データパケットA~B201~202が、第1のメモリポート211を介して第1のメモリバンク221に記憶されてもよく、データパケットC~D203~204が、第1のメモリポート211を介して第2のメモリバンク222に記憶されてもよい。同様に、データパケットX~Y205~206が、第2のメモリポート212を介して第3のメモリバンク223に記憶されてもよく、データパケットZ207が、第2のメモリポート212を介して第4のメモリバンク224に記憶されてもよい。図4に示すようにメモリバンクを各メモリポートおよび各メモリチャネルに割り振ると、好都合な負荷分散を実現する助けになることが諒解されよう。図5は、メモリバンクが各ポートに均等に割り振られるときのマルチチャネルマルチポートメモリデバイスにおけるインターリーブされるデータストレージの特定の実施形態を示す図である。インターリーブは、複数のチャネルへの同時アクセスを可能にして利用可能なメモリチャネル同士の間で負荷を分散させることによって帯域幅を広げることができる。インターリーブは通常、メモリデバイスを複数の領域に分割することによって実行される。たとえば、インターリーブではメモリバンク221~224の各々が領域とみなされてもよい。マルチチャネルマルチポートメモリにおけるインターリーブは、マルチチャネルマルチポートメモリのそれぞれの異なるチャネルに交互にアクセスすることによって実現され、それによって好都合な負荷分散が実現される。従来のインターリーブが成功するかどうかは、アクセスパターンおよびインターリーブサイズに依存することがある。本明細書で説明するように、交互アクセスを使用してインターリーブを行うと、アクセスパターンおよびインターリーブサイズとは無関係に好都合な負荷分散を実現することができる。図5では、データパケットがインターリーブ的にマルチポートマルチバンク構造200に記憶されてもよい。すなわち、メモリポート211~212の各々に2つのメモリバンクが割り振られるので、メモリポート211~212によって受け取られたデータパケットを、割り振られた2つのメモリバンクに交互に記憶してもよい。第1のメモリポート211で受け取られるデータパケットに関しては、まずデータパケットA201を受け取って第1のメモリバンク221に記憶し、その後、データパケットB202を受け取って第2のメモリバンク222に記憶し、その後、データパケットC203を受け取って第1のメモリバンク221に記憶し、その後、データパケットD205を受け取って第2のメモリバンク222に記憶してもよい。第2のメモリポート212で受け取られるデータパケットに関しては、まずデータパケットX205を受け取って第3のメモリバンク223に記憶し、その後、データパケットY206を受け取って第4のメモリバンク224に記憶し、その後、データパケットZ207を受け取って第3のメモリバンク223に記憶してもよい。図5に示すようなインターリーブされたデータデータストレージは、マルチポートマルチバンク構造200のメモリバンク221~224に対して可能な同時アクセスの数を増やすことによってマルチポートマルチバンク構造200の全体的なスループットを向上させることができる。図6は、メモリバンクが不均等に割り振られるときのマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。メモリバンクの不均等な割振りは、特定のメモリコントローラが別のメモリコントローラよりも頻繁にメモリにアクセスするときに有利であることがある。特定のマスタが他のマスタよりもメモリの使用度が高い動作を実行することに起因して、特定のメモリコントローラが、メモリにより頻繁にアクセスする場合がある。たとえば、第1のメモリポート211に結合されたメモリコントローラは、第2のメモリポート212に結合されたメモリコントローラよりも多くのメモリアクセスを実行してもよい。したがって、第1のメモリポート211に割り振られたメモリバンクの第1のサブセットの方が第2のメモリポート212に割り振られたメモリバンクの第2のサブセットよりも多くのメモリバンクを有するようにメモリバンクを割り振ることが望ましい場合がある。たとえば、第1のメモリポート211が3つのメモリバンク221~223に割り振られ、一方、第2のメモリポート212が1つのメモリバンク224のみに割り振られるようにメモリバンク221~224を不均等に割り振ってもよい。したがって、第1のメモリポート211で受け取られたデータパケットが、3つのメモリバンク221~223のうちの任意のメモリバンクに記憶されて、第2のメモリポート212で受け取られたデータパケットが、第4のメモリバンク224に記憶されてもよい。たとえば、第1のメモリポート211で受け取られたデータパケットに関しては、データパケットAが第1のメモリバンク221に記憶され、データパケットB202が第2のメモリバンク222に記憶され、データパケットC~D203~204が第3のメモリバンク223に記憶されてもよい。第2のメモリポート212で受け取られたデータパケットに関しては、データパケットX~Z205~207の各々が第4のメモリバンク224に記憶されてもよい。したがって、マルチチャネルマルチポートメモリがメモリバンクの均等な割振りと不均等な割振りの両方をサポートできることを諒解されたい。特定の実施形態では、マルチポートマルチバンク構造200は、図3~図6に示す割振り方法のうちの第1の方法のような第1のデータ記憶方法から、図3~図6に示す割振り方法のうちの第2の方法のような第2のデータ記憶方法に動的に変化するように構成されてもよい。したがって、図1のマルチポートマルチバンク構造180、190または図2のマルチポートマルチバンク構造200のような複数のマルチポートマルチバンク構造を含むメモリシステムは、特定のレベルのスループット、効率、および負荷分散を実現するようにメモリ使用シナリオおよび要求プロファイルに基づいて動的に再構成されてもよい。図7は、マルチチャネルマルチポートメモリアクセスの方法700の特定の実施形態のフローチャートである。ある例示的な実施形態では、方法700は、図1のメモリアクセスシステム100によって実行されてもよい。方法700は、702において、複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするステップを含む。たとえば、図1において、第1のメモリバンク161には、第1のメモリコントローラ131に対応するメモリチャネルを介して第1のメモリポート141からアクセスしてもよい。方法700は、704において、複数のチャネルの第2のチャネルを介して第1のポートから第1のメモリバンクにアクセスするステップも含む。たとえば、図1において、第1のメモリバンク161には、第2のメモリコントローラ132に対応するメモリチャネルを介して第1のメモリポート141からアクセスしてもよい。方法700は、706において、第2のチャネルを介して複数のポートの第2のポートから複数のメモリバンクの第2のメモリバンクにアクセスするステップをさらに含む。たとえば、図1において、第2のメモリバンク162には、第2のメモリコントローラ132に対応するメモリチャネルを介して第2のメモリポート142からアクセスしてもよい。この方法は、708において、第1のチャネルを介して第2のポートから第2のメモリバンクにアクセスするステップを含む。たとえば、図1において、第2のメモリバンク162には、第1のメモリコントローラ131に対応するメモリチャネルを介して第2のメモリポート142からアクセスしてもよい。図8は、マルチチャネルマルチポートダイナミックランダムアクセスメモリを含むワイヤレスデバイス800のブロック図である。ワイヤレスデバイス800は、メモリ832に結合されたデジタル信号プロセッサ810などのプロセッサを含む。メモリは、マルチチャネルマルチポートアーキテクチャ890を有するDRAMを含む。ある例示的な実施形態では、DRAM890は、図1のマルチチャネルマルチポートメモリ110である。図8は、デジタル信号プロセッサ810に結合されるとともにディスプレイ823に結合された任意選択のディスプレイコントローラ826も示す。コーダデコーダ834は、デジタル信号プロセッサ810に結合することもできる。スピーカ836およびマイクロフォン838がコーデック834に結合され得る。図8は、デジタル信号プロセッサ810に結合され得るとともにワイヤレスアンテナ842に結合され得るワイヤレスインターフェース840も示す。特定の一実施形態では、DSP810、ディスプレイコントローラ826、メモリ832、コーデック834、およびワイヤレスインターフェース840は、システムインパッケージデバイスまたはシステムオンチップデバイス822に含まれる。特定の一実施形態では、入力デバイス830および電源844が、システムオンチップデバイス822に結合される。その上、特定の一実施形態では、図8に示すように、ディスプレイ823、入力デバイス830、スピーカ836、マイクロフォン838、ワイヤレスアンテナ842、および電源844は、システムオンチップデバイス822の外部にある。しかし、これらの各々は、たとえばインターフェースまたはコントローラを介して、システムオンチップデバイス822のコンポーネントに結合されてもよい。図示の実施形態では、ワイヤレスデバイス800はセルラー電話または携帯情報端末である。前述の開示されたデバイス、機能および関連した回路は、コンピュータ可読媒体に記憶されるコンピュータファイルとして設計かつ構成され得る。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製造する製造担当者に与えられ得る。得られる製品は半導体ウエハを含み、このようなウエハは次いで、半導体ダイに切り分けられ、半導体チップとしてパッケージングされる。次いで、このようなチップは、本明細書で説明するデバイスに使用される。図9は、電子デバイス製造プロセス900の、ある特定の例示的な実施形態を示す。物理デバイス情報902が、製造プロセス900において、たとえば研究用コンピュータ906などで受信される。物理デバイス情報902は、マルチチャネルマルチポートメモリの少なくとも1つの物理的特性を表す設計情報を含んでもよい。たとえば、物理デバイス情報902は、研究用コンピュータ906に結合されたユーザインターフェース904を介して入力される、物理的なパラメータ、材料の特徴、および構造情報を含んでもよい。研究用コンピュータ906は、メモリ910のようなコンピュータ可読媒体に結合された1つまたは複数のプロセシングコアのようなプロセッサ908を含む。メモリ910は、プロセッサ908に、物理的なデバイス情報902をファイルフォーマットに適合するように変換させ、ライブラリファイル912を生成させるように実行可能であるコンピュータ可読命令を記憶することができる。特定の一実施形態では、ライブラリファイル912は、変換された設計情報を含む少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル912には、電子設計オートメーションツール920と一緒に使用できるようにマルチチャネルマルチポートメモリが設けられてもよい。ライブラリファイル912は、メモリ918に結合された1つまたは複数のプロセシングコアのようなプロセッサ916を含む設計用コンピュータ914において、EDAツール920とともに用いられ得る。EDAツール920は、設計コンピュータ914のユーザが、ライブラリファイル912のマルチチャネルマルチポートメモリを含む回路を設計することを可能にするように、プロセッサ実行可能命令としてメモリ918に記憶され得る。たとえば、設計用コンピュータ914のユーザは、設計用コンピュータ914と結合されたユーザインターフェース924を介して、回路設計情報922を入力することができる。回路設計情報922は、マルチチャネルマルチポートメモリなどの半導体デバイスの少なくとも1つの物理的特性を表す設計情報を含んでもよい。一例として、回路設計の特性は、回路設計における特定の回路の識別および他の要素との関係、位置情報、形状サイズ情報、相互接続情報、または、半導体デバイスの物理的な特性を表す他の情報を含んでもよい。設計用コンピュータ914は、回路設計情報922を含む設計情報を、ファイルフォーマットに適合するように変換するように構成され得る。一例として、ファイルフォーマットは、平面的な幾何形状、テキストラベル、およびグラフィックデータシステムファイルフォーマットのような階層的なフォーマットでの回路レイアウトについての他の情報を表す、データベースのバイナリファイルのフォーマットを含み得る。設計用コンピュータ914は、マルチチャネルマルチポートメモリを表す情報を、他の回路を表す情報またはその他の情報とともに含むGDSIIファイル926のような変換された設計情報を含むデータファイルを生成するように構成され得る。GDSIIファイル926は、GDSIIファイル926内の変換された情報に従ってマルチチャネルマルチポートメモリを製造するための製造プロセス928において受け取られてもよい。たとえば、デバイス製造プロセスは、GDSIIファイル926をマスク製造業者930に供給し、代表的なマスク932として図示されているフォトリトグラフィ処理に使用されるマスクのような1つまたは複数のマスクを作ることを含んでもよい。マスク932は、テストされ代表的なダイ936などのダイに分離され得る1つまたは複数のウエハ934を生成するために、製造プロセス中に使用され得る。ダイ936はマルチチャネルマルチポートメモリを含む。ダイ936をパッケージングプロセス938に供給してもよく、パッケージングプロセス938において、ダイ936は代表的なパッケージ940に組み込まれる。たとえば、パッケージ940は、システムインパッケージ構成のような、単一のダイ936または複数のダイを含み得る。パッケージ940は、電子機器技術評議会規格のような、1つまたは複数の規格または仕様を遵守するように構成され得る。パッケージ940に関する情報は、たとえばコンピュータ946に記憶されるコンポーネントライブラリを介して、様々な製品設計者に配布され得る。コンピュータ946は、メモリ950に結合された1つまたは複数のプロセシングコアのようなプロセッサ948を含み得る。プリント回路基板ツールをメモリ950にプロセッサ実行可能命令として記憶し、ユーザインターフェース944を介してコンピュータ946のユーザから受け取られたPCB設計情報942を処理してもよい。PCB設計情報942は、マルチチャネルマルチポートメモリを含むパッケージ940に対応するパッケージングされた半導体デバイスの、回路基板上での物理的な位置情報を含み得る。コンピュータ946は、PCB設計情報942を変換して、パッケージングされた半導体デバイスの回路基板上での物理的な位置情報とともに、配線およびビアのような電気的な接続のレイアウトを含む、データを有するGERBERファイル952のようなデータファイルを生成するように構成されてもよく、パッケージングされた半導体デバイスは、マルチチャネルマルチポートメモリに使用されるデバイス部品を含むパッケージ940に対応する。他の実施形態では、変換されたPCB設計情報により生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有してもよい。GERBERファイル952は、基板組立プロセス954において受け取られ、GERBERファイル952内に格納された設計情報に従って製造される代表的なPCB956のようなPCBを作成するために用いられ得る。たとえば、GERBERファイル952は、PCB生産プロセスの様々なステップを実行するための1つまたは複数の機械にアップロードすることができる。PCB956にパッケージ940を含む電子部品を搭載して、プリント回路アセンブリ958を形成してもよい。PCA958は、製品製造プロセス960において受け取られ、第1の代表的な電子デバイス962および第2の代表的な電子デバイス964のような、1つまたは複数の電子デバイスに組み込まれてもよい。例示的で非限定的な例として、第1の代表的な電子デバイス962、第2の代表的な電子デバイス964、またはその両方は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末、固定位置データユニット、およびコンピュータのグループから選択され得る。別の例示的かつ非限定的な例として、電子デバイス962および964のうちの1つまたは複数のデバイスは、携帯電話、携帯用パーソナル通信システムユニット、携帯情報端末のような持ち運び可能なデータユニット、全地球測位システム対応デバイス、ナビゲーションデバイス、計測装置のような固定位置データユニット、または、データもしくはコンピュータ命令を記憶しもしくは取り出す任意の他のデバイス、またはそれらの任意の組合せのような、遠隔ユニットであってよい。図1~図9のうちの1つまたは複数の図は、本開示の教示に従った特定のデバイスを示し得るが、本開示は、これらの例示的な示されたデバイスには限定されない。本開示の実施形態は、メモリを含む能動的な集積回路を含む任意のデバイスにおいて適切に利用され得る。図1~図8に関して開示される実施形態の1つまたは複数の態様は、ライブラリファイル912、GDSIIファイル926、GERBERファイル952内などに、様々な処理段階で含められてもよく、また、研究用コンピュータ906のメモリ910、設計用コンピュータ914のメモリ918、コンピュータ946のメモリ950、基板組立プロセス954のような様々な段階で用いられる1つまたは複数の他のコンピュータまたはプロセッサのメモリに記憶されてもよく、また、マスク932、ダイ936、パッケージ940、PCA958、プロトタイプ回路もしくはデバイスのような他の製品、またはそれらの任意の組合せのような1つまたは複数の他の物理的な実施形態に組み込まれてもよい。物理的なデバイス設計から最終製品までの生産の様々な代表的な段階が示されるが、他の実施形態では、使用される段階がこれより少なくてもよく、または追加の段階が含まれてもよい。同様に、プロセス900は、単一のエンティティによって実行されても、またはプロセス900の様々な段階を実行する1つもしくは複数のエンティティによって実行されてもよい。本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、および方法ステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。上記に、様々な例示的な部品、ブロック、構成、モジュール、回路、およびステップについて、それらの機能に関して概略的に説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、消去可能プログラマブル読取り専用メモリ、電気消去可能プログラマブル読取り専用メモリ、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に、個別部品として存在し得る。開示される実施形態の上記の説明は、当業者が、開示された実施形態を実現または利用するのを可能にするようになされている。これらの実施形態への様々な修正が、当業者には容易に明らかであり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書で示される実施形態に限定されることは意図されず、以下の特許請求の範囲で定義されるような原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。