JP2013534010A - マルチチャネルマルチポートメモリ - Google Patents

マルチチャネルマルチポートメモリ Download PDF

Info

Publication number
JP2013534010A
JP2013534010A JP2013515585A JP2013515585A JP2013534010A JP 2013534010 A JP2013534010 A JP 2013534010A JP 2013515585 A JP2013515585 A JP 2013515585A JP 2013515585 A JP2013515585 A JP 2013515585A JP 2013534010 A JP2013534010 A JP 2013534010A
Authority
JP
Japan
Prior art keywords
memory
port
bank
memory banks
channels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013515585A
Other languages
English (en)
Other versions
JP5646055B2 (ja
Inventor
フェン・ワン
シーチュン・グ
マシュー・マイケル・ノワク
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013534010A publication Critical patent/JP2013534010A/ja
Application granted granted Critical
Publication of JP5646055B2 publication Critical patent/JP5646055B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

マルチチャネルマルチポートメモリを開示する。特定の実施形態では、このマルチチャネルメモリは、複数のメモリコントローラに応答する複数のチャネルを含む。マルチチャネルメモリは、複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを含んでもよい。

Description

本開示は、概して、メモリデバイスおよびメモリアーキテクチャに関する。
技術の進歩によって、コンピューティングシステムデバイスはより小型にかつより高性能になっている。たとえば、現在、小型で、軽量で、ユーザが簡単に持ち運べる、携帯式のワイヤレス電話、携帯情報端末(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 電子デバイス

Claims (46)

  1. 複数のメモリコントローラに応答する複数のチャネルと、
    前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、
    前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える装置。
  2. 前記第1のマルチポートマルチバンク構造は、前記複数のチャネルの前記第1のセットの各チャネルからアクセス可能な第1の複数のメモリバンクを備える、請求項1に記載の装置。
  3. 前記第1のマルチポートマルチバンク構造は、2つ以上のポートをさらに備え、前記2つ以上のポートの各々は、メモリコントローラに応答し、前記複数のチャネルの前記第1のセットの各チャネルは、前記2つ以上のポートの各々に応答する、請求項2に記載の装置。
  4. 前記第1の複数のメモリバンクは、前記2つ以上のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットは、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットは、第2のポートからアクセス可能である、請求項3に記載の装置。
  5. 前記第1の複数のメモリバンクは、前記2つ以上のポートの間で不均等に割り振られ、前記第1の複数のメモリバンクの前記第1のサブセット内のメモリバンクの第1の数は、前記第1の複数のメモリバンクの前記第2のサブセット内のメモリバンクの第2の数よりも少ない、請求項4に記載の装置。
  6. 前記第1のポートで受け取られたデータは、前記第1の複数のメモリバンクの前記第1のセットの2つ以上のバンクの間で分けて記憶される、請求項4に記載の装置。
  7. 前記第1のポートで受け取られたデータは、前記第1の複数のメモリバンクの前記第1のセットの2つ以上のバンクの間でインターリーブされる、請求項6に記載の装置。
  8. 前記メモリコントローラは、メモリ相互接続部に結合された複数のメモリコントローラのうちの1つであり、前記メモリ相互接続部は、
    各々が複数のマスタのうちの1つと通信するように構成された複数のマスタ接続部と、
    各々が、1つまたは複数の前記マスタ接続部とデータを交換し、かつ前記複数のメモリコントローラのうちの1つと通信するように構成された、複数のスレーブ接続部とを備える、請求項3に記載の装置。
  9. 前記複数のマスタは、多重化データプロセッサ、映像プロセッサ、グラフィックスプロセッサ、標準的な制御プロセッサ、マルチプレクサ-デマルチプレクサ、およびマスタ制御プロセッサのうちの1つまたは複数を含む、請求項8に記載の装置。
  10. 前記第1のマルチポートマルチバンク構造と前記第2のマルチポートマルチバンク構造の少なくとも一方は、1つまたは複数の揮発性メモリデバイスを備える、請求項1に記載の装置。
  11. 前記1つまたは複数の揮発性メモリデバイスは、
    ダイナミックランダムアクセスメモリ(DRAM)と
    ダブルデータレートランダムアクセスメモリ(DDRAM)の少なくとも一方を備える、請求項10に記載の装置。
  12. 前記1つまたは複数の揮発性メモリデバイスは、スタックダブルデータレートランダムアクセスメモリ(DDRAM)を備える、請求項11に記載の装置。
  13. 前記1つまたは複数の揮発性メモリデバイスは、シリコン貫通スタッキング(TSS)スタックダブルデータレートランダムアクセスメモリ(TSS Stacked DDRAM)を備える、請求項12に記載の装置。
  14. 前記第1のマルチポートマルチバンク構造と前記第2のマルチポートマルチバンク構造の少なくとも一方は、1つまたは複数の不揮発性メモリデバイスを備える、請求項1に記載の装置。
  15. 前記1つまたは複数の不揮発性メモリデバイスは、
    磁気ランダムアクセスメモリと、
    プログラム可能な接触メモリと、
    フラッシュメモリと、
    相変化ランダムアクセスメモリの少なくとも1つを備える、請求項14に記載の装置。
  16. 少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項1に記載の装置。
  17. セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに備える、請求項16に記載の装置。
  18. 複数のメモリバンクと、
    各々がメモリコントローラとデータを交換するように構成された複数のポートと、
    各々が、前記メモリバンクの各々にアクセスし、かつ前記メモリバンクの各々および前記複数のポートの各々とデータを交換するように構成された複数のチャネルとを備える装置。
  19. 前記第1の複数のメモリバンクは、前記複数のポートの間で割り振られ、前記第1の複数のメモリバンクの第1のサブセットは、第1のポートからアクセス可能であり、前記第1の複数のメモリバンクの第2のサブセットは、第2のポートからアクセス可能である、請求項18に記載の装置。
  20. 前記第1の複数のメモリバンクは、前記複数のポートの間で不均等に割り振られ、前記第1の複数のメモリバンクの前記第1のサブセット内のメモリバンクの第1の数は、前記第1の複数のメモリバンクの前記第2のサブセット内のメモリバンクの第2の数よりも少ない、請求項19に記載の装置。
  21. 前記複数のポートのうちの1つによって受け取られたデータは、前記複数のメモリバンクの2つ以上のメモリバンクの間で分けて記憶される、請求項18に記載の装置。
  22. 前記データは、前記複数のメモリバンクの2つ以上のメモリバンクの間でインターリーブされる、請求項21に記載の装置。
  23. 前記メモリコントローラは、メモリ相互接続部に結合された複数のメモリコントローラのうちの1つであり、前記メモリ相互接続部は、
    各々が複数のマスタのうちの1つと通信するように構成された複数のマスタ接続部と、
    各々が、1つまたは複数の前記マスタ接続部とデータを交換し、かつ前記複数のメモリコントローラのうちの1つと通信するように構成された、複数のスレーブ接続部とを備える、請求項18に記載の装置。
  24. 前記メモリ素子は、少なくとも1つの半導体デバイスに組み込まれた半導体ダイに組み込まれる、請求項18記載の装置。
  25. セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末(PDA)と、固定位置データユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記半導体デバイスが組み込まれたデバイスをさらに含む、請求項24に記載の装置。
  26. 複数のデータビットを記憶するための複数の手段と、
    複数のメモリコントローラとデータを交換するための複数の手段と、
    前記複数の記憶手段の各々にアクセスし、前記記憶手段と前記データ交換手段との間でデータを交換する複数の手段とを備える装置。
  27. 少なくとも1つの半導体ダイに組み込まれた、請求項26に記載の装置。
  28. セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスであって、前記複数のデータ交換手段および前記複数の記憶手段が組み込まれたデバイスをさらに備える、請求項26に記載の装置。
  29. 複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするステップと、
    前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするステップと、
    前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするステップと、
    前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするステップとを含む方法。
  30. 前記複数のメモリバンクを前記複数のポートの間で割り振るステップをさらに含み、メモリバンクの第1のセットは前記第1のポートに割り振られ、メモリバンクの第2のセットは前記第2のポートに割り振られる、請求項29に記載の方法。
  31. 前記複数のメモリバンクを前記複数のポートの間で不均等に割り振るステップをさらに含み、メモリバンクの前記第1のセットは、メモリバンクの前記第2のセット内のメモリバンクの数よりも多いメモリバンクを含む、請求項30に記載の方法。
  32. データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするステップをさらに含む、請求項29に記載の方法。
  33. 複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするための第1のステップと、
    前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするための第2のステップと、
    前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするための第3のステップと、
    前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするための第4のステップとを含む方法。
  34. 前記第1のステップ、前記第2のステップ、前記第3のステップ、および前記第4のステップは、電子デバイスに組み込まれたプロセッサによって実行される、請求項33に記載の方法。
  35. データを前記第1のメモリバンクと前記第2のメモリバンクとの間でインターリーブするための第5のステップをさらに含む、請求項33に記載の方法。
  36. コンピュータによって実行可能な命令を記録するコンピュータ可読記録媒体であって、前記命令は、
    複数のチャネルの第1のチャネルを介して複数のポートの第1のポートから複数のメモリバンクの第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
    前記複数のチャネルの第2のチャネルを介して前記第1のポートから前記第1のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
    前記第2のチャネルを介して前記複数のポートの第2のポートから前記複数のメモリバンクの第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令と、
    前記第1のチャネルを介して前記第2のポートから前記第2のメモリバンクにアクセスするために前記コンピュータによって実行可能な命令とを含むコンピュータ可読記録媒体。
  37. 前記命令は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに組み込まれたプロセッサによって実行可能である、請求項36に記載のコンピュータ可読記録媒体。
  38. 半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を受け取るステップであって、前記半導体デバイスが、
    複数のメモリコントローラに応答する複数のチャネルと、
    前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、
    前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、
    前記設計情報をファイルフォーマットに適合するように変換するステップと、
    前記変換された設計情報を含むデータファイルを生成するステップとを含む方法。
  39. 前記データファイルがGDSIIフォーマットを含む、請求項38に記載の方法。
  40. 半導体デバイスに対応する設計情報を含むデータファイルを受け取るステップと、
    前記設計情報に従って、前記半導体デバイスを製造するステップとを含み、前記半導体デバイスは、
    複数のメモリコントローラに応答する複数のチャネルと、
    前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、
    前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える方法。
  41. 前記データファイルはGDSIIフォーマットを有する、請求項40に記載の方法。
  42. パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を受信するステップであって、前記パッケージングされた半導体デバイスが、
    複数のメモリコントローラに応答する複数のチャネルと、
    前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、
    前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備えるステップと、
    前記設計情報を変換してデータファイルを生成するステップとを含む方法。
  43. 前記データファイルはGERBERフォーマットを有する、請求項42に記載の方法。
  44. パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を含むデータファイルを受け取るステップと、
    前記設計情報に従って、前記パッケージングされた半導体デバイスを受け取るように構成された前記回路基板を製造するステップとを含み、前記パッケージングされた半導体デバイスは、
    複数のメモリコントローラに応答する複数のチャネルと、
    前記複数のチャネルの第1のセットからアクセス可能な第1のマルチポートマルチバンク構造と、
    前記複数のチャネルの第2のセットからアクセス可能な第2のマルチポートマルチバンク構造とを備える方法。
  45. 前記データファイルはGERBERフォーマットを有する、請求項44に記載の方法。
  46. セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータからなるグループから選択されるデバイスに前記回路基板を組み込むステップをさらに含む、請求項44に記載の方法。
JP2013515585A 2010-06-25 2011-06-21 マルチチャネルマルチポートメモリ Expired - Fee Related JP5646055B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/823,515 2010-06-25
US12/823,515 US8380940B2 (en) 2010-06-25 2010-06-25 Multi-channel multi-port memory
PCT/US2011/041250 WO2011163229A1 (en) 2010-06-25 2011-06-21 Multi-channel multi-port memory

Publications (2)

Publication Number Publication Date
JP2013534010A true JP2013534010A (ja) 2013-08-29
JP5646055B2 JP5646055B2 (ja) 2014-12-24

Family

ID=44627998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013515585A Expired - Fee Related JP5646055B2 (ja) 2010-06-25 2011-06-21 マルチチャネルマルチポートメモリ

Country Status (6)

Country Link
US (1) US8380940B2 (ja)
EP (1) EP2585929B1 (ja)
JP (1) JP5646055B2 (ja)
KR (1) KR101361627B1 (ja)
CN (1) CN102959530B (ja)
WO (1) WO2011163229A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance
US9384810B2 (en) 2012-08-10 2016-07-05 Qulacomm Incorporated Monolithic multi-channel adaptable STT-MRAM
US10318473B2 (en) * 2013-09-24 2019-06-11 Facebook, Inc. Inter-device data-transport via memory channels
CN104954796B (zh) * 2014-03-28 2019-06-11 联咏科技股份有限公司 视频处理装置与其视频处理电路
CN105531682A (zh) * 2014-08-15 2016-04-27 联发科技股份有限公司 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统
US9489136B2 (en) 2014-10-27 2016-11-08 Facebook, Inc. Interrupt driven memory signaling
KR102346629B1 (ko) 2014-12-05 2022-01-03 삼성전자주식회사 메모리 접근 제어 방법 및 장치
US10002072B2 (en) 2015-05-18 2018-06-19 Mediatek Inc. Method and apparatus for controlling data migration in multi-channel memory device
US9904635B2 (en) * 2015-08-27 2018-02-27 Samsung Electronics Co., Ltd. High performance transaction-based memory systems
KR102468698B1 (ko) * 2015-12-23 2022-11-22 에스케이하이닉스 주식회사 메모리 장치
US10255955B2 (en) * 2016-02-09 2019-04-09 Samsung Electronics Co., Ltd. Multi-port memory device and a method of using the same
US10140223B2 (en) 2016-06-27 2018-11-27 Qualcomm Incorporated System and method for odd modulus memory channel interleaving
KR101874233B1 (ko) * 2017-02-22 2018-07-03 연세대학교 산학협력단 멀티 포트 메모리 기반의 메모리 모듈 및 그 동작 방법
US10684968B2 (en) * 2017-06-15 2020-06-16 International Business Machines Corporation Conditional memory spreading for heterogeneous memory sizes
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11114138B2 (en) * 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
FR3078439A1 (fr) * 2018-02-27 2019-08-30 Stmicroelectronics (Rousset) Sas Procede de gestion du routage de transactions entre des equipements sources, au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant
US11048597B2 (en) * 2018-05-14 2021-06-29 Micron Technology, Inc. Memory die remapping
US11537687B2 (en) 2018-11-19 2022-12-27 Groq, Inc. Spatial locality transform of matrices
US10777232B2 (en) * 2019-02-04 2020-09-15 Micron Technology, Inc. High bandwidth memory having plural channels
US11586557B2 (en) * 2020-08-26 2023-02-21 Micron Technology, Inc. Dynamic allocation of buffers for eviction procedures

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04162166A (ja) * 1990-10-26 1992-06-05 Canon Inc バス制御装置
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
JP2005092374A (ja) * 2003-09-16 2005-04-07 Nec Computertechno Ltd メモリインタリーブ方式
WO2008014413A2 (en) * 2006-07-27 2008-01-31 Rambus Inc. Cross-threaded memory device and system
WO2009073331A1 (en) * 2007-12-06 2009-06-11 Silicon Image, Inc. Bank sharing and refresh in a shared multi-port memory device
JP2010262698A (ja) * 2009-05-07 2010-11-18 Sanyo Electric Co Ltd 不揮発性半導体記憶装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2248322B (en) * 1990-09-25 1994-04-06 Sony Broadcast & Communication Memory apparatus
US5450355A (en) 1993-02-05 1995-09-12 Micron Semiconductor, Inc. Multi-port memory device
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6377575B1 (en) * 1998-08-05 2002-04-23 Vitesse Semiconductor Corporation High speed cross point switch routing circuit with word-synchronous serial back plane
US6725314B1 (en) * 2001-03-30 2004-04-20 Sun Microsystems, Inc. Multi-bank memory subsystem employing an arrangement of multiple memory modules
US7089379B1 (en) 2002-06-28 2006-08-08 Emc Corporation Large high bandwidth memory system
US7769942B2 (en) * 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
KR100846386B1 (ko) * 2006-09-21 2008-07-15 주식회사 하이닉스반도체 멀티포트 메모리 장치
JP5731730B2 (ja) * 2008-01-11 2015-06-10 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体記憶装置及びその半導体記憶装置を含むデータ処理システム
KR20090087689A (ko) * 2008-02-13 2009-08-18 삼성전자주식회사 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법
KR20090095955A (ko) * 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
JP5449686B2 (ja) * 2008-03-21 2014-03-19 ピーエスフォー ルクスコ エスエイアールエル マルチポートメモリ及びそのマルチポートメモリを用いたシステム
US8171181B2 (en) * 2008-05-05 2012-05-01 Micron Technology, Inc. Memory module with configurable input/output ports
US8164936B2 (en) * 2009-10-14 2012-04-24 Seagate Technology Llc Switched memory devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04162166A (ja) * 1990-10-26 1992-06-05 Canon Inc バス制御装置
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
JP2005092374A (ja) * 2003-09-16 2005-04-07 Nec Computertechno Ltd メモリインタリーブ方式
WO2008014413A2 (en) * 2006-07-27 2008-01-31 Rambus Inc. Cross-threaded memory device and system
WO2009073331A1 (en) * 2007-12-06 2009-06-11 Silicon Image, Inc. Bank sharing and refresh in a shared multi-port memory device
JP2010262698A (ja) * 2009-05-07 2010-11-18 Sanyo Electric Co Ltd 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
JP5646055B2 (ja) 2014-12-24
EP2585929A1 (en) 2013-05-01
CN102959530B (zh) 2016-09-14
US20110320698A1 (en) 2011-12-29
US8380940B2 (en) 2013-02-19
KR20130031908A (ko) 2013-03-29
KR101361627B1 (ko) 2014-02-11
CN102959530A (zh) 2013-03-06
EP2585929B1 (en) 2014-04-09
WO2011163229A1 (en) 2011-12-29

Similar Documents

Publication Publication Date Title
JP5646055B2 (ja) マルチチャネルマルチポートメモリ
JP5784582B2 (ja) コンフィギュラブルな帯域幅メモリ・デバイスおよび方法
US8359421B2 (en) Partitioning a crossbar interconnect in a multi-channel memory system
JP5493000B2 (ja) 不均一ページサイズを有する多チャンネルメモリシステムへのアクセス
US20110320751A1 (en) Dynamic Interleaving Of Multi-Channel Memory
US20150221349A1 (en) System including multi channel memory and operating method for the same
JP6059399B2 (ja) メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法
US20220083224A1 (en) Block copy
US20210117114A1 (en) Memory system for flexibly allocating memory for multiple processors and operating method thereof
JP2013521585A (ja) 少なくとも2つの異なる接続を介してマスターデバイスに結合される相互接続
Hsu et al. Mobile DRAM Standard Formulation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141104

R150 Certificate of patent or registration of utility model

Ref document number: 5646055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees