(57)【特許請求の範囲】
【請求項１】
複数のメモリコントローラに応答する複数のチャネルと、
前記複数のチャネルの第1のセットからアクセス可能であり、第1の複数のメモリバンクを備え、2つ以上のポートをさらに備え、前記第1の複数のメモリバンクが、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットが前記2つ以上のポートの第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットが前記2つ以上のポートの第2のポートからアクセス可能である第1のマルチポートマルチバンク構造と、
前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備え、
前記2つ以上のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られる、装置。
【請求項２】
前記第1の複数のメモリバンクは、前記複数のチャネルの前記第1のセットの各チャネルからアクセス可能である、請求項1に記載の装置。
【請求項３】
前記2つ以上のポートの各々は、メモリコントローラに応答し、前記複数のチャネルの前記第1のセットの各チャネルは、前記2つ以上のポートの各々に応答する、請求項2に記載の装置。
【請求項４】
前記第1の複数のメモリバンクの前記第1のサブセットと前記第1の複数のメモリバンクの前記第2のサブセットは、実質的に同時にアクセス可能である、請求項1に記載の装置。
【請求項５】
前記第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つまたは複数の揮発性メモリデバイスは、
ダイナミックランダムアクセスメモリ(DRAM)と、
ダブルデータレートランダムアクセスメモリ(DDRAM)の少なくとも一方を備える、請求項10に記載の装置。
【請求項１２】
前記1つまたは複数の揮発性メモリデバイスは、スタックダブルデータレートランダムアクセスメモリ(DDRAM)を備える、請求項11に記載の装置。
【請求項１３】
前記1つまたは複数の揮発性メモリデバイスは、シリコン貫通スタッキング(TSS)スタックダブルデータレートランダムアクセスメモリ(TSS Stacked DDRAM)を備える、請求項12に記載の装置。
【請求項１４】
前記第1のマルチポートマルチバンク構造と前記第2のマルチポートマルチバンク構造の少なくとも一方は、1つまたは複数の不揮発性メモリデバイスを備える、請求項1に記載の装置。
【請求項１５】
前記1つまたは複数の不揮発性メモリデバイスは、
磁気ランダムアクセスメモリと、
プログラム可能な接触メモリと、
フラッシュメモリと、
相変化ランダムアクセスメモリの少なくとも1つを備える、請求項14に記載の装置。
【請求項１６】
少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項1に記載の装置。
【請求項１７】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに備える、請求項16に記載の装置。
【請求項１８】
複数のメモリバンクと、
複数のメモリコントローラとデータを交換するように構成された複数のポートと、
各々が、前記メモリバンクの各々にアクセスし、かつ前記メモリバンクの各々および前記複数のポートの各々とデータを交換するように構成された、複数のチャネルとを備え、
前記複数のメモリバンクの第1の複数のメモリバンクは、前記複数のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットは、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットは、第2のポートからアクセス可能であると共に、
前記複数のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記複数のポートの間で不均等に割り振られる、装置。
【請求項１９】
前記第1の複数のメモリバンクの前記第1のサブセットと前記第1の複数のメモリバンクの前記第2のサブセットは実質的に同時にアクセス可能である、請求項18に記載の装置。
【請求項２０】
前記第1の複数のメモリバンクの前記第1のサブセット内のメモリバンクの第1の数は、前記第1の複数のメモリバンクの前記第2のサブセット内のメモリバンクの第2の数よりも少ない、請求項19に記載の装置。
【請求項２１】
前記複数のポートのうちの1つによって受け取られたデータは、前記複数のメモリバンクの2つ以上のメモリバンクの間で分けて記憶される、請求項18に記載の装置。
【請求項２２】
前記データは、前記複数のメモリバンクの2つ以上のメモリバンクの間でインターリーブされる、請求項21に記載の装置。
【請求項２３】
前記複数のメモリコントローラは、メモリ相互接続部に結合された複数のメモリコントローラであり、前記メモリ相互接続部は、
各々が複数のマスタのうちの1つと通信するように構成された複数のマスタ接続部と、
各々が、1つまたは複数の前記マスタ接続部とデータを交換し、かつ前記複数のメモリコントローラのうちの1つと通信するように構成された、複数のスレーブ接続部とを備える、請求項18に記載の装置。
【請求項２４】
前記複数のメモリバンクは、少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項18に記載の装置。
【請求項２５】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに備える、請求項24に記載の装置。
【請求項２６】
複数のデータビットを記憶するための複数の手段と、
複数のメモリコントローラとデータを交換するための複数の手段と、
各々が、記憶するための前記複数の手段およびデータを交換するための前記複数の手段の各々にアクセスし、かつ記憶するための前記手段とデータを交換するための前記手段との間でデータを交換するように構成された、アクセスするための複数の手段とを備え、
記憶するための前記複数の手段のうちの記憶するための第1の複数の手段は、交換するための前記複数の手段の間で割り振られ、記憶するための前記第1の複数の手段の第1のサブセットは、交換するための第1の手段からアクセス可能であり、記憶するための前記第1の複数の手段の第2のサブセットは、交換するための第2の手段からアクセス可能であると共に、
交換するための前記複数の手段のうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、記憶するための前記第1の複数の手段は、交換するための前記複数の手段の間で不均等に割り振られる、装置。
【請求項２７】
少なくとも1つの半導体ダイに組み込まれた、請求項26に記載の装置。
【請求項２８】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記複数のデータ交換手段および前記複数の記憶手段が組み込まれたデバイスをさらに備える、請求項26に記載の装置。
【請求項２９】
複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするステップと、
前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするステップと、
前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするステップと、
前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするステップと、
前記複数のメモリバンクを前記複数のポートの間で割り振るステップとを含み、
メモリバンクの第1のセットは前記第1のメモリバンクを含むと共に前記第1のポートに割り振られ、メモリバンクの第2のセットは前記第2のメモリバンクを含むと共に前記第2のポートに割り振られ、
前記複数のポートのうちの１つにそれぞれ接続された複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記複数のメモリバンクは、前記複数のポートの間で不均等に割り振られる、方法。
【請求項３０】
メモリバンクの前記第1のセットとメモリバンクの前記第2のセットは実質的に同時にアクセス可能である、請求項29に記載の方法。
【請求項３１】
メモリバンクの前記第1のセットは、メモリバンクの前記第2のセット内のメモリバンクの数よりも多いメモリバンクを含む、請求項30に記載の方法。
【請求項３２】
データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするステップをさらに含む、請求項29に記載の方法。
【請求項３３】
複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするための第1のステップと、
前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするための第2のステップと、
前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするための第3のステップと、
前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするための第4のステップと、
前記複数のメモリバンクを前記複数のポートの間で割り振るための第5のステップとを含み、
メモリバンクの第1のセットは前記第1のメモリバンクを含むと共に前記第1のポートに割り振られ、メモリバンクの第2のセットは前記第2のメモリバンクを含むと共に前記第2のポートに割り振られ、
前記複数のポートのうちの１つにそれぞれ接続された複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記複数のメモリバンクは、前記複数のポートの間で不均等に割り振られる、方法。
【請求項３４】
前記第1のステップ、前記第2のステップ、前記第3のステップ、および前記第4のステップは、電子デバイスに組み込まれたプロセッサによって実行される、請求項33に記載の方法。
【請求項３５】
データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするための第6のステップをさらに含む、請求項33に記載の方法。
【請求項３６】
コンピュータによって実行可能な命令を格納するコンピュータ可読記録媒体であって、前記命令が、
複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
前記複数のメモリバンクを前記複数のポートの間で割り振るために前記コンピュータによって実行可能な命令とを含み、
メモリバンクの第1のセットは前記第1のメモリバンクを含むと共に前記第1のポートに割り振られ、メモリバンクの第2のセットは前記第2のメモリバンクを含むと共に前記第2のポートに割り振られ、
前記複数のポートのうちの１つにそれぞれ接続された複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記複数のメモリバンクは、前記複数のポートの間で不均等に割り振られる、コンピュータ可読記録媒体。
【請求項３７】
前記命令は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに組み込まれたプロセッサによって実行可能である、請求項36に記載のコンピュータ可読記録媒体。
【請求項３８】
半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を受け取るステップであって、前記半導体デバイスが、
複数のメモリコントローラに応答する複数のチャネルと、
前記複数のチャネルの第1のセットからアクセス可能であり、第1の複数のメモリバンクを備え、2つ以上のポートをさらに備え、前記第1の複数のメモリバンクが、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットが、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットが、第2のポートからアクセス可能である第1のマルチポートマルチバンク構造と、
前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、
前記設計情報をファイルフォーマットに適合するように変換するステップと、
前記変換された設計情報を含むデータファイルを生成するステップとを含み、
前記2つ以上のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られる、方法。
【請求項３９】
前記データファイルがGDSIIフォーマットを含む、請求項38に記載の方法。
【請求項４０】
半導体デバイスに対応する設計情報を含むデータファイルを受け取るステップと、
前記設計情報に従って、前記半導体デバイスを製造するステップとを含み、前記半導体デバイスは、
複数のメモリコントローラに応答する複数のチャネルと、
前記複数のチャネルの第1のセットからアクセス可能であり、第1の複数のメモリバンクを備え、2つ以上のポートをさらに備え、前記第1の複数のメモリバンクが、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットが、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットが、第2のポートからアクセス可能である第1のマルチポートマルチバンク構造と、
前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備え、
前記2つ以上のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られる、方法。
【請求項４１】
前記データファイルはGDSIIフォーマットを有する、請求項40に記載の方法。
【請求項４２】
パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を受信するステップであって、前記パッケージングされた半導体デバイスが、
複数のメモリコントローラに応答する複数のチャネルと、
前記複数のチャネルの第1のセットからアクセス可能であり、第1の複数のメモリバンクを備え、2つ以上のポートをさらに備え、前記第1の複数のメモリバンクが、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットが、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットが、第2のポートからアクセス可能である第1のマルチポートマルチバンク構造と、
前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、
前記設計情報を変換してデータファイルを生成するステップとを含み、
前記2つ以上のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られる、方法。
【請求項４３】
前記データファイルはGERBERフォーマットを有する、請求項42に記載の方法。
【請求項４４】
パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を含むデータファイルを受け取るステップと、
前記設計情報に従って、前記パッケージングされた半導体デバイスを受け取るように構成された前記回路基板を製造するステップであって、前記パッケージングされた半導体デバイスが、
複数のメモリコントローラに応答する複数のチャネルと、
前記複数のチャネルの第1のセットからアクセス可能であり、第1の複数のメモリバンクを備え、2つ以上のポートをさらに備え、前記第1の複数のメモリバンクが、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットが、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットが、第2のポートからアクセス可能である第1のマルチポートマルチバンク構造と、
前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップとを含み、
前記2つ以上のポートのうちの１つにそれぞれ接続された前記複数のメモリコントローラのうち、特定のメモリコントローラが他のメモリコントローラよりもメモリの使用度が高い動作を実行する場合に、前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られる、方法。
【請求項４５】
前記データファイルはGERBERフォーマットを有する、請求項44に記載の方法。
【請求項４６】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに前記回路基板を組み込むステップをさらに含む、請求項44に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、メモリデバイスおよびメモリアーキテクチャに関する。
【背景技術】
【０００２】
技術の進歩によって、コンピューティングシステムデバイスはより小型にかつより高性能になっている。たとえば、現在、小型で、軽量で、ユーザが簡単に持ち運べる、携帯式のワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスのような、ワイヤレスコンピューティングデバイスを含む、様々な携帯式の個人向けコンピューティングデバイスが存在する。より具体的には、セルラー電話およびインターネットプロトコル(IP)電話のような、携帯式のワイヤレス電話は、ワイヤレスネットワークを通じて、音声およびデータパケットを通信することができる。さらに、多くのそのようなワイヤレス電話には、他の種類のデバイスが組み込まれている。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダー、およびオーディオファイルプレーヤも含み得る。また、そのようなワイヤレス電話は、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用され得るソフトウェアアプリケーションを含む実行可能な命令を処理することができる。したがって、これらのワイヤレス電話は、高いコンピューティング能力を含み得る。
【０００３】
ワイヤレスコンピューティングデバイスのような個人向けコンピューティングデバイスは、ダブルデータレート(DDR)メモリのようなメモリを含む。DDRメモリは、シングルチャネルであっても、あるいはマルチチャネルであってもよい。現在利用可能なマルチチャネルDDRメモリは通常、1組のメモリバンクを含む。この1組のメモリバンクはサブセットに分割され、各サブセットには、そのサブセットに静的に割り当てられたメモリチャネルを介してアクセス可能である。メモリを電子デバイスに挿入すると、電子デバイスの各メモリコントローラが単一のメモリチャネルを介してメモリと通信する。したがって、特定のメモリチャネルを介して通信する特定のメモリコントローラは、この特定のメモリチャネルが割り当てられたメモリバンクのみにアクセスするように制限されてもよい。すなわち、DDRメモリの各メモリチャネルは、DDRメモリのメモリバンクのサブセットからなる独立したメモリデバイスとして働いてもよい。この構成では、特定のメモリチャネルが繰り返し使用されるときにメモリバンクの衝突が生じることがある。この構成では、あるメモリバンクが他のメモリバンクよりも頻繁にアクセスされるときに各メモリコントローラへの負荷分散が困難になることもある。
【発明の概要】
【課題を解決するための手段】
【０００４】
複数のマルチポートマルチバンクメモリ構造を含むマルチチャネルマルチポートメモリを開示する。このマルチチャネルマルチポートメモリは、複数のポートからかつ複数のチャネルを介して特定のメモリバンクにアクセスするのを可能にする。マルチチャネルマルチポートメモリは、特定のレベルの負荷分散、スループット、および帯域幅を実現するために割振り方式(たとえば、メモリバンクの完全共有、メモリバンクの均等割振り、メモリバンクの不均等割振り、およびストレージのインターリーブ)同士の間の動的遷移もサポートする。
【０００５】
特定の一実施形態では、装置を開示する。この装置は、複数のメモリコントローラに応答する複数のチャネルを含む。装置はまた、複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを含む。
【０００６】
別の特定の実施形態では、複数のメモリバンクと、複数のポートと、複数のチャネルとを含む装置を開示する。各ポートは、メモリコントローラとデータを交換するように構成される。各チャネルは、メモリバンクの各々にアクセスし、メモリバンクの各々および各ポートとデータを交換するように構成される。
【０００７】
別の特定の実施形態において、方法は、複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスすることを含む。この方法は、複数のチャネルの第2のチャネルを介して第1のポートから第1のメモリバンクにアクセスすることも含む。この方法は、第2のチャネルを介して複数のポートの第2のポートから複数のメモリバンクの第2のメモリバンクにアクセスすることをさらに含む。この方法は、第1のチャネルを介して第2のポートから第2のメモリバンクにアクセスすることを含む。
【０００８】
開示する実施形態のうちの少なくとも1つによってもたらされる1つの特定の利点は、特定のメモリバンクが複数のメモリコントローラからアクセス可能であることである。開示する実施形態のうちの少なくとも1つによってもたらされる別の特定の利点は、メモリバンクが複数のメモリポートからかつ複数のメモリチャネルを介してアクセスできることである。
【０００９】
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
【図面の簡単な説明】
【００１０】
【図１】マルチチャネルマルチポートメモリデバイスを含むメモリアクセスシステムの特定の実施形態のブロック図である。
【図２】マルチチャネルマルチポートメモリデバイスにおいてデータを順次受け取る例を示す図である。
【図３】メモリバンクが完全に共有されるときのマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。
【図４】メモリバンクが各ポートに均等に割り振られるときにマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。
【図５】メモリバンクが各ポートに均等に割り振られるときのマルチチャネルマルチポートメモリデバイスにおけるインターリーブされるデータストレージの特定の実施形態を示す図である。
【図６】メモリバンクが不均等に割り振られるときのマルチチャネルマルチポートメモリデバイスにおけるデータストレージの特定の実施形態を示す図である。
【図７】マルチチャネルマルチポートメモリアクセスの方法の特定の実施形態のフローチャートである。
【図８】マルチチャネルマルチポートダイナミックランダムアクセスメモリ(DRAM)を含むワイヤレスデバイスのブロック図である。
【図９】電子デバイス製造プロセスの特定の実施形態を示す図である。
【発明を実施するための形態】
【００１１】
図面を参照するが、各図面において、同じ参照符号は同じ要素を示す。図1は、メモリアクセスシステム100の特定の実施形態を示している。メモリアクセスシステム100は、第1のプロセッサ101、第2のプロセッサ102、第3のプロセッサ103、第4のプロセッサ104、第5のプロセッサ105、および第nのプロセッサ106のような複数の(たとえばn個の)機能的マスタまたは機能的コンピューティングサブシステムを含む。マスタ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は、揮発性メモリデバイスまたは不揮発性メモリデバイスであってよい。揮発性メモリデバイスの例には、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレートランダムアクセスメモリ(DDRAM)、スタックDDRAM、およびシリコン貫通スタッキングスタック(Through Silicon Stacking stacked)DDRAM(TSS Stacked DDRAM)が含まれるが、それらに限らない。不揮発性メモリデバイスの例には、磁気ランダムアクセスメモリ(MRAM)、プログラム可能な接触メモリ、およびフラッシュメモリ、および相変化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との間の入出力(I/O)インターフェースに専用のピンを使用することによってダイナミックメモリチャネル構成およびマルチチャネリングを実現してもよい。
【００２１】
マルチチャネルマルチポートメモリ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〜Z 201〜207がマルチポートマルチバンク構造200内のどこに記憶されるかは、図3〜図6によって示されているようにデータパケットA〜Z 201〜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〜B 201〜202が、第1のメモリポート211を介して第1のメモリバンク221に記憶されてもよく、データパケットC〜D 203〜204が、第1のメモリポート211を介して第2のメモリバンク222に記憶されてもよい。同様に、データパケットX〜Y 205〜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のマスタ101〜106)が他のマスタ(たとえば、図1のマスタ101〜106のうちの別のマスタ)よりもメモリの使用度が高い動作を実行することに起因して、特定のメモリコントローラが、メモリにより頻繁にアクセスする場合がある。
【００４０】
たとえば、第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〜D 203〜204が第3のメモリバンク223に記憶されてもよい。第2のメモリポート212で受け取られたデータパケットに関しては、データパケットX〜Z 205〜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は、マルチチャネルマルチポートダイナミックランダムアクセスメモリ(DRAM)を含むワイヤレスデバイス800のブロック図である。
【００４９】
ワイヤレスデバイス800は、メモリ832に結合されたデジタル信号プロセッサ(DSP)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はセルラー電話または携帯情報端末(PDA)である。
【００５１】
前述の開示されたデバイス、機能および関連した回路は、コンピュータ可読媒体に記憶されるコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)として設計かつ構成され得る。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製造する製造担当者に与えられ得る。得られる製品は半導体ウエハを含み、このようなウエハは次いで、半導体ダイに切り分けられ、半導体チップとしてパッケージングされる。次いで、このようなチップは、本明細書で説明するデバイスに使用される。図9は、電子デバイス製造プロセス900の、ある特定の例示的な実施形態を示す。
【００５２】
物理デバイス情報902が、製造プロセス900において、たとえば研究用コンピュータ906などで受信される。物理デバイス情報902は、マルチチャネルマルチポートメモリの少なくとも1つの物理的特性を表す設計情報を含んでもよい。たとえば、物理デバイス情報902は、研究用コンピュータ906に結合されたユーザインターフェース904を介して入力される、物理的なパラメータ、材料の特徴、および構造情報を含んでもよい。研究用コンピュータ906は、メモリ910のようなコンピュータ可読媒体に結合された1つまたは複数のプロセシングコアのようなプロセッサ908を含む。メモリ910は、プロセッサ908に、物理的なデバイス情報902をファイルフォーマットに適合するように変換させ、ライブラリファイル912を生成させるように実行可能であるコンピュータ可読命令を記憶することができる。
【００５３】
特定の一実施形態では、ライブラリファイル912は、変換された設計情報を含む少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル912には、電子設計オートメーション(EDA)ツール920と一緒に使用できるようにマルチチャネルマルチポートメモリ(たとえば、図1のマルチチャネルマルチポートメモリ110)が設けられてもよい。
【００５４】
ライブラリファイル912は、メモリ918に結合された1つまたは複数のプロセシングコアのようなプロセッサ916を含む設計用コンピュータ914において、EDAツール920とともに用いられ得る。EDAツール920は、設計コンピュータ914のユーザが、ライブラリファイル912のマルチチャネルマルチポートメモリを含む回路を設計することを可能にするように、プロセッサ実行可能命令としてメモリ918に記憶され得る。たとえば、設計用コンピュータ914のユーザは、設計用コンピュータ914と結合されたユーザインターフェース924を介して、回路設計情報922を入力することができる。回路設計情報922は、マルチチャネルマルチポートメモリなどの半導体デバイスの少なくとも1つの物理的特性を表す設計情報を含んでもよい。一例として、回路設計の特性は、回路設計における特定の回路の識別および他の要素との関係、位置情報、形状サイズ情報、相互接続情報、または、半導体デバイスの物理的な特性を表す他の情報を含んでもよい。
【００５５】
設計用コンピュータ914は、回路設計情報922を含む設計情報を、ファイルフォーマットに適合するように変換するように構成され得る。一例として、ファイルフォーマットは、平面的な幾何形状、テキストラベル、およびグラフィックデータシステム(Graphic Data System (GDSII))ファイルフォーマットのような階層的なフォーマットでの回路レイアウトについての他の情報を表す、データベースのバイナリファイルのフォーマットを含み得る。設計用コンピュータ914は、マルチチャネルマルチポートメモリを表す情報を、他の回路を表す情報またはその他の情報とともに含むGDSIIファイル926のような変換された設計情報を含むデータファイルを生成するように構成され得る。
【００５６】
GDSIIファイル926は、GDSIIファイル926内の変換された情報に従ってマルチチャネルマルチポートメモリを製造するための製造プロセス928において受け取られてもよい。たとえば、デバイス製造プロセスは、GDSIIファイル926をマスク製造業者930に供給し、代表的なマスク932として図示されているフォトリトグラフィ処理に使用されるマスクのような1つまたは複数のマスクを作ることを含んでもよい。マスク932は、テストされ代表的なダイ936などのダイに分離され得る1つまたは複数のウエハ934を生成するために、製造プロセス中に使用され得る。ダイ936はマルチチャネルマルチポートメモリを含む。
【００５７】
ダイ936をパッケージングプロセス938に供給してもよく、パッケージングプロセス938において、ダイ936は代表的なパッケージ940に組み込まれる。たとえば、パッケージ940は、システムインパッケージ(SiP)構成のような、単一のダイ936または複数のダイを含み得る。パッケージ940は、電子機器技術評議会(JEDEC)規格のような、1つまたは複数の規格または仕様を遵守するように構成され得る。
【００５８】
パッケージ940に関する情報は、たとえばコンピュータ946に記憶されるコンポーネントライブラリを介して、様々な製品設計者に配布され得る。コンピュータ946は、メモリ950に結合された1つまたは複数のプロセシングコアのようなプロセッサ948を含み得る。プリント回路基板(PCB)ツールをメモリ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を含む電子部品を搭載して、プリント回路アセンブリ(PCA)958を形成してもよい。
【００６１】
PCA958は、製品製造プロセス960において受け取られ、第1の代表的な電子デバイス962および第2の代表的な電子デバイス964のような、1つまたは複数の電子デバイスに組み込まれてもよい。例示的で非限定的な例として、第1の代表的な電子デバイス962、第2の代表的な電子デバイス964、またはその両方は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータのグループから選択され得る。別の例示的かつ非限定的な例として、電子デバイス962および964のうちの1つまたは複数のデバイスは、携帯電話、携帯用パーソナル通信システム(PCS)ユニット、携帯情報端末のような持ち運び可能なデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、計測装置のような固定位置データユニット、または、データもしくはコンピュータ命令を記憶しもしくは取り出す任意の他のデバイス、またはそれらの任意の組合せのような、遠隔ユニットであってよい。図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つの組合せで実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に、個別部品として存在し得る。
【００６５】
開示される実施形態の上記の説明は、当業者が、開示された実施形態を実現または利用するのを可能にするようになされている。これらの実施形態への様々な修正が、当業者には容易に明らかであり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書で示される実施形態に限定されることは意図されず、以下の特許請求の範囲で定義されるような原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。
【符号の説明】
【００６６】
100  メモリアクセスシステム
101  第1のプロセッサ
102  第2のプロセッサ
103  第3のプロセッサ
104  第4のプロセッサ
105  第5のプロセッサ
106  第nのプロセッサ
108  相互接続部
110  マルチチャネルマルチポートメモリ
111  第1のマスタ接続部
112  第2のマスタ接続部
113  第3のマスタ接続部
114  第4のマスタ接続部
115  第5のマスタ接続部
116  第nのマスタ接続部
121  第1のスレーブ接続部
122  第2のスレーブ接続部
123  第3のスレーブ接続部
124  第4のスレーブ接続部
131  第1のメモリコントローラ
132  第2のメモリコントローラ
133  第3のメモリコントローラ
134  第4のメモリコントローラ
141  第1のメモリポート
142  第2のメモリポート
143  第3のメモリポート
161  第1のメモリバンク
162  第2のメモリバンク
163  第3のメモリバンク
164  第4のメモリバンク
171  第5のメモリバンク
172  第6のメモリバンク
173  第7のメモリバンク
174  第8のメモリバンク
180  第1のマルチポートマルチバンク構造
190  第2のマルチポートマルチバンク構造
200  マルチポートマルチバンク構造
201  データパケットA
202  データパケットB
203  データパケットC
204  データパケットD
205  データパケットX
206  データパケットY
207  データパケットZ
211  第1のメモリポート
212  第2のメモリポート
221  第1のメモリバンク
222  第2のメモリバンク
223  第3のメモリバンク
224  第4のメモリバンク
800  ワイヤレスデバイス
810  デジタル信号プロセッサ
823  ディスプレイ
826  ディスプレイコントローラ
832  メモリ
834  コーダ/デコーダ
836  スピーカ
838  マイクロフォン
840  ワイヤレスインターフェース
842  ワイヤレスアンテナ
844  電源
900  電子デバイス製造プロセス
902  物理的デバイス情報
904  ユーザインターフェース
906  研究用コンピュータ
908  プロセッサ
910  メモリ
912  ライブラリファイル
914  設計コンピュータ
918  メモリ
920  電子設計オートメーション(EDA)ツール
922  回路設計情報
924  ユーザインターフェース
926  GDSIIファイル
930  マスク製造業者
932  マスク
934  ウエハ
936  ダイ
940  パッケージ
942  PCB設計情報
944  ユーザインターフェース
946  コンピュータ
948  プロセッサ
950  メモリ
952  GERBERファイル
954  基板組立プロセス
956  PCB
958  プリント回路アセンブリ(PCA)
960  製品製造プロセス
962  電子デバイス
964  電子デバイス
【図１】
0005646055.tif 000002
【図２】
0005646055.tif 000003
【図３】
0005646055.tif 000004
【図４】
0005646055.tif 000005
【図５】
0005646055.tif 000006
【図６】
0005646055.tif 000007
【図７】
0005646055.tif 000008
【図８】
0005646055.tif 000009
【図９】
0005646055.tif 000010