JP5549897B2 - マルチポート・メモリおよびその動作 - Google Patents

マルチポート・メモリおよびその動作 Download PDF

Info

Publication number
JP5549897B2
JP5549897B2 JP2012526841A JP2012526841A JP5549897B2 JP 5549897 B2 JP5549897 B2 JP 5549897B2 JP 2012526841 A JP2012526841 A JP 2012526841A JP 2012526841 A JP2012526841 A JP 2012526841A JP 5549897 B2 JP5549897 B2 JP 5549897B2
Authority
JP
Japan
Prior art keywords
port
control circuit
command
control
memory
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.)
Active
Application number
JP2012526841A
Other languages
English (en)
Other versions
JP2013506890A (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 JP2013506890A publication Critical patent/JP2013506890A/ja
Application granted granted Critical
Publication of JP5549897B2 publication Critical patent/JP5549897B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • 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/38Information transfer, e.g. on bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Static Random-Access Memory (AREA)

Description

本開示は、一般的に半導体メモリに関するものであり、特に、1つ以上の実施形態において、本開示はマルチポート・メモリおよびその動作に関するものである。
マルチポート・メモリは、メモリのサブ部分またはバンクなどの領域を制御する1つ以上の独立した物理または論理インターフェースを有するメモリである。各物理インターフェースは、コマンドおよびアドレス信号を受信する制御バス、並びにメモリ動作を制御し、メモリへ、かつそれからのデータを伝達するデータ信号を通信するためのデータバスなどの制御機構を含む。メモリの個々の領域を個別に制御して、メモリ動作の電力および待ち時間を低減する能力の故に、マルチポート・メモリに関心が集まっている。
不揮発性メモリは半導体メモリの重要な形態である。通常、不揮発性メモリは、電力を供給しなくても、長期間にわたってそのデータ値を保持する。フラッシュメモリデバイスは、広範囲の電子用途向けに、不揮発メモリのよく知られた供給源として展開されている。フラッシュメモリデバイスは、典型的に、高メモリ密度、高信頼性、および低電力消費を可能にする1トランジスタメモリセルを使用する。電荷蓄積ノードのプログラミング(例えばフローティングゲートまたはトラッピング層)、または他の物理現象(例えば、相変化または分極)を通して、セルの閾値電圧の変化は、各セルのデータ値を決定する。個別データ値に対応するために閾値電圧の2つ以上の範囲を規定することにより、1つ以上のビット情報が各セルに格納されてもよい。
半導体メモリの別の重要な形態は、ダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリを含む。揮発性メモリは、データ入力およびデータ出力の両方においてメモリアレイへの高速アクセスが所望される多くの場合に用いられる。通常、DRAMなどの揮発性メモリは、多くの不揮発性メモリよりもアクセスタイムが速いが、データ値の損失を回避するための定期的なリフレッシュが要求される。
半導体メモリの一般的な用途は、パーソナルコンピュータ、携帯情報端末(PDA)、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話、および着脱式メモリモジュールを含み、不揮発性メモリの用途は拡大し続けている。メモリの用途が拡大し、それに対する要求が大きくなるにつれて、より柔軟性が望まれるようになってきている。
前述の理由、および本明細書を読み、理解した当業者に明らかになる他の理由により、代替的なマルチポート・メモリおよびその動作が当業界で要求されている。
電子システムの一部として、プロセッサに連結された従来技術のマルチポート・メモリを示す簡略化したブロック図である。 それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。 それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。 それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。 それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。 それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。 本開示の実施形態に従う、マルチポート・メモリの動作方法を説明するフローチャートである。
本実施形態の以下の詳細な説明では、本実施形態の一部を示し、実施可能な例示の特定の実施形態において示される添付図面が参照される。これらの実施形態は、当業者が本発明を実施可能な程度に詳細が記載され、本開示の範囲から逸脱することなく、他の実施形態が利用され得、処理、電気的または機械的な変更が実現され得ることが理解される。以下の詳細な説明は、それ故、限定的な意味を有するものではない。
図1は電子システムの一部として、プロセッサ102と通信する(例えば、それに連結された)従来技術のマルチポート・メモリ100を示す簡略化したブロック図である。電子システムの例は、パーソナルコンピュータ、携帯情報端末(PDA)、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話などを含む。プロセッサ102はメモリコントローラ、または他の外部プロセッサでもよい。
メモリ100は2つ以上のポート104を含む。この例では、4つのポート104〜104が記載される。各ポート104は、対応する外部制御バス114および外部データバス116からのデータを受信するように構成される。プロセッサ102はシングルプロセッサとして示したが、それぞれが1つ以上のポート104に連結された2つ以上のプロセッサでもよい。同様に、各プロセッサ102は2つ以上のメモリ100と通信可能であってもよい。メモリ100のポート104はそれぞれに対応する外部制御バス114を通じて、(コマンド信号方式の)コマンドおよび、(アドレス信号方式の)アドレスを受信する。外部制御バス114は、順次または同時方式のいずれかでコマンドおよびアドレスを受信するための1つ以上の通路を含んでもよい。
メモリ100のポート104は、対応する外部データバス116を通じて、(データ信号方式の)データを送信または受信する。外部データバス116は、順次または同時方式のいずれかでデータを送信または受信するための1つ以上の通路を含み得る。各通路は、外部制御バス114または外部データバス116に関わらずに、単一の値を伝達する。例えば、32の通路を有する外部制御バス114を通じて、32ビットのコマンドがメモリ100に同時に伝達され得る。別の例では、128の通路を有する外部データバス116を通じて、128ビットのデータワードがメモリ100に、またはそれから同時に伝達され得る。通路は1つ以上の物理的接続に相当し得る。例えば、シングルエンド通信の利用では、通路は単一の物理的接続として示され、差動通信の利用では、通路は一方が目標値を伝達し、他方が目標値の補数を伝達する2つの物理的接続として示される。
各ポート104は制御回路106を含む。制御回路106は、対応する外部制御バス114を通じて受信したコマンドおよびアドレスに応答して、対応するポート104のメモリ108における1つ以上の領域へのアクセスを制御する。例えば、メモリ領域108はメモリセルバンクに相当し得る。メモリ領域108は揮発性または不揮発性メモリセルを含み得る。内部制御バス110は制御回路106と対応するメモリ領域108とを連結し、制御回路106からそのメモリ領域108にコマンドを通信する。内部データバス112は対応するメモリ領域108と外部データバス116とを連結し、そのメモリ領域108とその外部データバス116との間でデータを通信する。
本開示の実施形態は、1つのポートにおいて受信したコマンド(および適切な場合には、関連するアドレス)を、1つ以上の増設ポートに伝達するために、ポート間制御バスとして本明細書に称される増設した制御バスを含むという点で図1に示すマルチポート・メモリとは異なる。このようなマルチポート・メモリは、外部制御バスを通じて、すなわち外部デバイスから受信したコマンド、またはポート間制御バスを通じて、すなわち別のポートから受信したコマンドに応答するように構成され得る個々のポートを有する。これにより、異なる用途に応じたメモリの性能特性の調整が可能になるような、メモリ帯域幅または待ち時間を変化させるポートの様々な組み合わせが容易に実現できる。例示として128ビットの内部データバスを有する4ポート・メモリの使用において、外部制御バスから受信したコマンド、またはポート間制御バスから受信したコマンドのいずれかに応答するように、ポートの制御回路を選択的に構成することにより、その各々が128ビットの内部データバスを有する4ポート・メモリ、その各々が256ビットの内部データバスを有する2ポート・メモリ、その各々が512ビットの内部データバスを有するシングルポート・メモリ、およびそれ以上のものとして構成され得る。この方法では、異なる性能要件における種々の用途において、単独で組み立てられた部分が用いられ得る。
図2A〜図2Eは、それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサ202に連結されたマルチポート・メモリ200を示す簡略化したブロック図である。電子システムの一部の例は、パーソナルコンピュータ、携帯情報端末(PDA)、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話などを含む。プロセッサ202はメモリコントローラ、または他の外部プロセッサでもよい。
図2A〜図2Eは、多くの共通の機能を有する。各メモリ200は2つ以上のポート204を含む。これらの例では、4つのポート204〜204を示すが、種々の実施形態では、より少ないまたは多いポート204を含んでもよい。各ポート204は、プロセッサ202から対応する外部制御バス214および外部データバス216を通じてデータを受信するように構成される。ただし、特定の実施形態では、プロセッサ202に連結された1つ以上の制御バス214を利用しない。つまり、各ポート204は外部制御バス214に連結されてもよく、代替的な手段が用いられてもよい。プロセッサ202はシングルプロセッサとして示したが、その各々が1つ以上のポート204に連結された2つ以上のプロセッサでもよい。同様に、プロセッサ202は2つ以上のメモリ200に連結されてもよい。
メモリ200のポート204は、対応する外部制御バス214を通じて、すなわち外部デバイスから(コマンド信号方式の)コマンド、および(アドレス信号方式の)アドレスを受信する。外部制御バス214は、順次または同時方式のいずれかでコマンドおよびアドレスを受信するための1つ以上の通路を含み得る。メモリ200のポート204は、対応する外部データバス216を通じて、(データ信号方式の)データを送信または受信する。外部データバス216は、順次または同時方式のいずれかでデータを送信または受信するための1つ以上の通路を含み得る。各通路は、外部制御バス214または外部データバス216に関わらずに、単一の値を伝達する。例えば、32の通路を有する外部制御バス214を通じて、32ビットのコマンドがメモリ200に同時に伝達され得る。別の例では、128の通路を有する外部データバス216を通じて、128ビットのデータワードがメモリ200に、またはそれから同時に伝達され得る。さらなる例では、32ビットのコマンドが外部制御バス214の単一通路を通じてメモリ200に順次伝達されていてもよく、この場合、コマンドの単一の値がある種のシリアルプロトコルの時間間隔ごとに伝達され、32の時間間隔を要してコマンド全体を受信してもよい。通路は1つ以上の物理的接続に相当し得る。例えば、シングルエンド通信の利用では、通路は単一の物理的接続として示され、差動通信の利用では、通路は一方が目標値を伝達し、他方が目標値の補数を伝達する2つの物理的接続として示される。
各ポート204は制御回路206を含む。制御回路206は、対応する外部制御バス214を通じて受信したコマンド(適切な場合にはコマンドに対応するアドレスを含む)に応答して、対応するポート204のメモリ208における1つ以上の領域へのアクセスを制御する。例えば、メモリ領域208はメモリセルバンクに相当し得る。メモリ領域208は揮発性または不揮発性メモリセル、および種々のアーキテクチャを含み得る。メモリの性質およびアーキテクチャは本開示において特に重要ではなく、その各々は本明細書に記載されたように機能し得る。各ポート204に2つのメモリ領域208を示したが、より少ないまたは多いメモリ領域208が用いられてもよい。内部制御バス210は制御回路206と対応するメモリ領域208とを連結し、制御回路206からそのメモリ領域208にコマンドを通信する。内部データバス212は対応するメモリ領域208と外部データバス216とを連結し、そのメモリ領域208とその外部データバス216との間のデータ、すなわち外部デバイスに、またはそれからのデータ値を通信する。
図2A〜図2Eでは、それらのポート204内にメモリ領域208の物理的な位置を示したが、メモリ200内におけるそれらの物理的な位置は重要ではない。それへのアクセスがポート204の制御回路206により制御され、そのデータI/Oがそのポート204の内部データバス212を通じる場合に、本明細書に用いられるようなメモリ領域208はポート204の構成要素となる。
各メモリ200は少なくとも2つのポート204の制御回路206同士を連結する少なくとも1つのポート間制御バス218をさらに含む。各ポート間制御バス218は、1つのポート204の制御回路206が受信したコマンド信号を、他の1つ以上のポート204の制御回路206に伝達可能なように構成される。コマンドがメモリの1つ以上のターゲット領域、またはこれらのメモリ領域の一部を指し示すアドレスに関連する場合に、読み出しコマンドまたは書き込みコマンドなどの本明細書に用いられるコマンドの伝達が、コマンドの一部とみなされる関連アドレスの伝達をも意味することに留意されたい。外部制御バス214からのコマンドを受信するように構成された、ポート間制御バス218に連結された各制御回路206はさらに、どの制御バスが応答するかを選択するように構成される。例えば、(ハードプログラムの)製造中、または(動的な)ユーザコマンドのいずれかを通じて、制御回路206が外部制御バス214またはポート間制御バス218から受信したコマンドに応答するか否かを示すために、レジスタ、ヒューズ、アンチヒューズ、ボンドワイヤのオプション、製造された金属層、または他の制御機構を設定してもよい。例えば、外部制御バス214またはポート間制御バス218から受信したコマンドに応答するか否かを1ビットレジスタが示し得る。さらなる例では、制御回路206が2つのポート間制御バスに連結された場合には、外部制御バス214、第1ポート間制御バス218、または第2ポート間制御バス218から受信したコマンドに応答するか否かを2ビットレジスタが示し得る。この方法では、メモリ200のポート204の数は、意図される用途に基づいて選択され得る。
特定の実施形態では、ポート間制御バス218に連結されており、外部制御バス214からのコマンドを受信するように構成された各制御回路206は、その外部制御バス214から受信したコマンドをポート間制御バス218の1つに転送するか否かを選択するようにも構成される。製造中、またはユーザコマンドのいずれかを通じて、制御回路206がポート間制御バス218の1つ以上を駆動するか否かを示すために、ここでも、レジスタ、ヒューズ、アンチヒューズ、ボンドワイヤのオプション、製造された金属層、または他の制御機構を設定してもよい。例えば、制御回路206が2つのポート間制御バス218に連結された場合には、そのコマンドを、第1ポート間制御バス218、第2ポート間制御バス218に転送するか、またはそれらのどちらにも転送しないか否かを2ビットレジスタが示し得る。下により詳しく記載するように、制御回路206が外部制御バス214またはポート間制御バス218に応答するか否かを選択することにより、種々の実施形態において、N個のポート204を有するメモリ200は1個〜N個のポート204を有するメモリであるように動作し得る。
図2Aは本開示の実施形態に従う、プロセッサ202Aに連結されたメモリ200Aを示す簡略化したブロック図である。図2Aの実施形態では、各制御回路206の間にポート間制御バス218が連結されている。例えば、ポート204/204、204/204、および204/204の各組の制御回路206同士をポート間制御バス218が連結している。この例示の実施形態では、プロセッサ202Aから各ポート204に連結された外部制御バス214および外部データバス216を示す。このような実施形態は、ポート204の制御回路206が、例えば、1つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、対応するポート間制御バス218に選択的に応答し、それを駆動し得るように構成された種々の構造を備え得る。例えば、例示として4つのポート204およびnビットの外部データバス216を備えると想定されるメモリ200Aは、4nビットデータワードを出力するシングルポート・メモリ、2つの2nビットデータワードまたはnビットデータワードおよび3nビットデータワードを出力する2ポート・メモリ、2nビットデータワードおよび2つのnビットデータワードを出力する3ポート・メモリ、または4つのnビットデータワードを出力する4ポート・メモリを模倣するように構成され得る。
一例として、図2Aのメモリ200Aは、外部制御バス214から受信したコマンドに応答して、それらのコマンドをポート間制御バス21801に伝達するように、ポート204の制御回路206を構成することにより、図2Bのメモリ200Bの動作を示すように構成され得る。ポート204の制御回路206は、ポート間制御バス21801から受信したコマンドに応答して、それらのコマンドをポート間制御バス21812に伝達するように構成され得る。ポート204の制御回路206は、ポート間制御バス21812から受信したコマンドに応答して、それらのコマンドをポート間制御バス21823に伝達するように構成され得る。ポート204の制御回路206は、ポート間制御バス21823から受信したコマンドに応答するように構成され得る。各ポート204は対応する外部データバス216を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。
別の例では、図2Aのメモリ200Aは、外部制御バス214から受信したコマンドに応答するが、それらのコマンドをポート間制御バス21801に伝達しない、ポート204の制御回路206を構成することにより、図2Cのメモリ200Cの動作を示すように構成され得る。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答するが、それらのコマンドをポート間制御バス21812に伝達しないように構成され得る。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答し、それらのコマンドをポート間制御バス21823に伝達するように構成され得る。ポート204の制御回路206は、ポート間制御バス21823から受信したコマンドに応答するように構成され得る。各ポート204およびポート204は、対応する外部データバス216を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。参考のためのこのような例示により、他の構成も理解され得る。
図2Bは本開示の実施形態に従う、プロセッサ202Bに連結されたメモリ200Bを示す簡略化したブロック図である。図2Bの実施形態では、ポート間制御バス218が一対の制御回路206同士を連結する。この例示の実施形態はプロセッサ202Bから各ポート204に連結された外部データバス216を示すが、ポート204に1つの外部制御バス214のみが連結されてもよい。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答し、それらのコマンドをポート間制御バス21801に伝達するように構成される。ポート204の制御回路206は、ポート間制御バス21801から受信したコマンドに応答し、それらのコマンドをポート間制御バス21812に伝達するように構成される。ポート204の制御回路206は、ポート間制御バス21812から受信したコマンドに応答し、それらのコマンドをポート間制御バス21823に伝達するように構成される。ポート204の制御回路206は、ポート間制御バス21823から受信したコマンドに応答するように構成される。各ポート204は、対応する外部データバス216を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。この実施形態は、例示として4つのポート204およびnビットの外部データバス216を備えると想定され、4nビットデータワードを出力するシングルポート・メモリ、すなわち4ワイドポートの動作を模倣する。
さらなる実施形態では、ポート間制御バス21801、21812、および21823は、各制御回路206同士を連結する単一のポート間制御バス218に置換可能である(例えば、スイッチ220を備えていない図2Eのポート間制御バス218を参照)。この実施形態では、それらのコマンドを転送するための、ポート204〜204の制御回路206を構成する必要がない。例えば、各制御回路206は、外部制御バス214から受信したコマンドを転送するためのみに構成され得る。
図2Cは本開示の実施形態に従う、プロセッサ202Cに連結されたメモリ200Cを示す簡略化したブロック図である。図2Cの実施形態では、ポート204の制御回路206とポート204の制御回路206との間のみにポート間制御バス218が連結される。つまり、1つ以上のポート間制御バス218が、メモリ200のポート204のいくつかの制御回路206に連結されている。この例示の実施形態はプロセッサ202Cから各ポート204に連結された外部データバス216を示すが、ポート204〜204に外部制御バス214のみが連結されていてもよい。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答する独立ポートとして構成される。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答する独立ポートとして構成される。ポート204の制御回路206は、外部制御バス214から受信したコマンドに応答し、それらのコマンドをポート間制御バス21823に伝達するように構成される。ポート204の制御回路206は、ポート間制御バス21823から受信したコマンドに応答するように構成されており、これにより、ポート204および204は1つの2ワイドポートとして機能する。各ポート204および204は、それぞれに対応する外部データバス216を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。この実施形態は、例示として4つのポート204およびnビットの外部データバス216を備えると想定され、2nビットデータワードおよび2つのnビットデータワードを出力する3ポート・メモリの動作を模倣する。
図2Dは本開示の実施形態に従う、プロセッサ202Dに連結されたメモリ200Dを示す簡略化したブロック図である。図2Dの実施形態では、各制御回路206の間にポート間制御バス218が連結される。この実施形態は図2Aの実施形態に類似するが、ポート間制御バス218の1つ以上が、それ自体を通じる通信を選択的にブロックし、対応する制御回路206とそれに隣接する制御回路206とを選択的に絶縁する、制御回路206に応答するスイッチ220を含む。この例示の実施形態は、プロセッサ202Dから各ポート204に連結された外部制御バス214および外部データバス216を示す。この実施形態は図2Aの実施形態に類似するが、ポート204の制御回路206が、例えば、1つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、それらのポート間制御バス218に選択的に応答、それを駆動、および絶縁し得るように構成された種々の構造を備え得る。例えば、2つの2ワイドポートを模倣する構成は、制御バス21801および21823のスイッチを作動させて、制御バス21812のスイッチを切り、外部制御バス214または214のいずれかから受信したコマンドに応答するポート204および204を構成し、外部制御バス214または214のいずれかから受信したコマンドに応答するポート204および204を構成することにより達成され得る。各スイッチ220は作動すると、そのポート間制御バス218の各通路におけるコマンド値を伝達するように、また、スイッチが切られると、そのポート間制御バス218の各通路におけるコマンド値をブロックするように構成される。
図2Eは本開示の実施形態に従う、プロセッサ202Eに連結されたメモリ200Eを示す簡略化したブロック図である。図2Eの実施形態では、1つのポート間制御バス218が各制御回路206同士を連結する。この実施形態ではさらに、ポート間制御バス218と各制御回路206との間の通信を選択的にブロックし、1つの制御回路206を残りの制御回路206各々から選択的に絶縁し、その各制御回路206からの制御信号に応答するスイッチ220を利用して、各制御回路206をポート間制御バス218から選択的に絶縁する。各スイッチ220は作動すると、対応するポート間制御バス218の各通路におけるコマンド値を伝達するように、また、スイッチが切られると、対応するポート間制御バス218の各通路におけるコマンド値をブロックするように構成される。この例示の実施形態は各ポート204に連結されたプロセッサ202Eからの外部制御バス214および外部データバス216を示す。この実施形態は、ポート204の制御回路206が、例えば、1つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、ポート間制御バス218に選択的に応答、それを駆動、および絶縁し得るように構成された種々の構造を備え得る。例えば、例示として4つのポート204およびnビットの外部データバス216を備えると想定されるメモリ200Eは、4nビットデータワードを出力するシングルポート・メモリ、2つの2nビットデータワードまたはnビットデータワードおよび3nビットデータワードを出力する2ポート・メモリ、2nビットデータワードおよび2つのnビットデータワードを出力する3ポート・メモリ、または4つのnビットデータワードを出力する4ポート・メモリを模倣するように構成され得る。前述の実施形態では、隣接するポート204はシングルポートとして機能するように一体化されたが、図2Eの実施形態では、隣接しないポート204同士の連結が容易になることに留意されたい。例えば、ポート204および204のスイッチ220が切断された場合には、ポート204と204とが連結され得、すなわち1つの外部制御バス214からのコマンドに応答するように構成され、ポート204および204は独立ポートとして構成され得る。
図3は本開示の実施形態に従う、マルチポート・メモリの動作方法を説明するフローチャートである。この方法は、ボックス330において、マルチポート・メモリの第1ポートの制御回路がコマンドを受信することを含む。例えば、マルチポート・メモリ200のポート204の制御回路206が、外部制御バス214を通じてプロセッサ202からのコマンドを受信できる。コマンドは、例えば、メモリ200の1つ以上のメモリ領域208からデータ値を取り出す読み出しコマンド、またはメモリ200の1つ以上のメモリ領域208にデータ値を書き込む書き込みコマンドでもよい。コマンドは各メモリ領域208のターゲット部のアドレスをとるためのアドレス信号を含む。コマンドはマルチポート・メモリ200のうちの特定のポートのアドレスをとるためのアドレス信号をさらに含んでもよい。
この方法は、ボックス332において、マルチポート・メモリの1つ以上の増設ポートの制御回路にコマンドを転送することをさらに含む。例えば、ポート204の制御回路206はコマンドを、隣接するポート204の制御回路206、または1つ以上の代替的または増設ポート204の制御回路206に転送できる。コマンドはそれを受信する各制御回路206に連結された1つのポート間制御バス218に伝達され得る。代替的に、コマンドは1つのポート204の制御回路206を通って、連続するポート204の制御回路206に順次伝えられ得る。1つ以上のポート204はコマンドを無視するか、互いから絶縁される。
この方法はなおも、ボックス334において、第1ポートおよび1つ以上の増設ポートの制御回路がコマンドを処理することをさらに含む。読み出しコマンドにより、1つ以上のメモリ領域208のターゲット部からデータ値が取り出され、それがメモリ200からプロセッサ202などの外部デバイスに出力するための内部データバス212に供給される。書き込みコマンドにより、プロセッサ202などの外部デバイスから内部データバス212にデータ値が供給され、1つ以上のメモリ領域208のターゲット部に書き込まれる。コマンドの処理は、コマンドを受信するポート204のメモリ領域208のアドレスにコマンドに関連するアドレスが一致しない場合に、コマンドを無視することをさらに含んでもよい。
種々の実施形態を記載したが、前述の実施形態を考慮した他の構成が理解される。さらに、特定の実施形態は、不要な外部制御バス214の接続を含む、すなわちその制御回路206が外部制御バス214を無視するように構成され得る場合でさえも、ポート204が外部制御バス214に接続された。しかしながら、不要な接続は削除され得る。同様に、1つの制御回路206が外部制御バス214を無視するように構成され、ポート204への接続として外部制御バス214が示されない場合でも、外部制御バス214は各ポートに連結され得る。例えばこれは、制御回路206の構成がユーザコマンドを通じて実行され得、それ故、使用中に構成を変更可能な場合に望ましい。通常、結合されるポート204の数がより多くなると、データワード、入力または出力のサイズが増大し、それ故、1つのコマンドに対応する帯域幅が増大する。同様に、独立ポート204を含む、結合されたポート204の数がより少なくなると、データワードのサイズが縮小されるが、より多くの並列処理が実行され得る待ち時間が改善される。
前述の実施形態はさらに、結合されたポート204の並列動作を意図したが、ポートアドレスが対応するポート204のアドレスに一致する場合に、外部制御バス214またはポート間制御バス218から受信したか否かにかかわらず、ポート204がコマンドのみに応答するように、コマンドプロトコルにポートアドレスが追加されてもよい。
特定の実施形態を本明細書に示し、記載したが、同じ目的を達成するように予測される任意の構造が、示す特定の実施形態と置換可能であることを当業者は理解する。本開示の多くの適応は当業者に明らかである。したがって、この出願は、本開示のいかなる適応または変更を含むように意図される。

Claims (15)

  1. 1つ以上のメモリ領域、およびコマンドに応答して前記1つ以上のメモリ領域へのアクセスを制御するための制御回路をその各々が備えた2つ以上のポートと、
    2つ以上の前記ポートの前記制御回路の間においてコマンドを通信するための少なくとも1つのポート間制御バスと、を備えており、
    前記2つ以上のポートのうちの第1ポートの前記制御回路は、前記第1ポートの前記制御回路に接続されている第1外部制御バスまたは前記第1ポートの前記制御回路に接続されているポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されており、
    前記2つ以上のポートのうちの第2ポートの前記制御回路は、前記第2ポートの前記制御回路に接続されている第2外部制御バス、または前記第2ポートの前記制御回路に接続されているポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されている、メモリ。
  2. 前記ポートの全てではないいくつかはポート間制御バスに連結されている、請求項1に記載のメモリ。
  3. 前記ポート各々の前記制御回路は、外部制御バスまたはポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されている、請求項1に記載のメモリ。
  4. 少なくとも1つの前記ポートの前記制御回路は、当該制御回路に連結されたポート間制御バスから、当該制御回路を選択的に絶縁するようにさらに構成されている、請求項1〜3のいずれか1項に記載のメモリ。
  5. 2つ以上の前記ポートの前記制御回路の間においてコマンドを通信するための少なくとも1つのポート間制御バスは、前記第1ポートの前記制御回路と前記第2ポートの前記制御回路との間に連結された特定のポート間制御バスを含み、前記第1外部制御バスは外部デバイスから受信したコマンドを前記第1ポートの前記制御回路に供給し、前記第2外部制御バスは外部デバイスから受信したコマンドを前記第2ポートの前記制御回路に供給する、請求項1〜3のいずれか1項に記載のメモリ。
  6. 前記ポート間制御バスは少なくとも二組のポートの前記制御回路の間を連結している、請求項5に記載のメモリ。
  7. 前記ポート各々の前記制御回路は、外部デバイスから受信したコマンドを、前記ポート間制御バスに選択的に伝達するように構成されている、請求項1または3に記載のメモリ。
  8. 前記1つ以上のメモリ領域から外部デバイスにデータ値を通信し、かつ外部デバイスから前記1つ以上のメモリ領域にデータ値を通信するための内部データバスと、
    ポート各組の前記制御回路の間を連結するポート間制御バスと、をさらに備えており、
    前記ポート各々の前記制御回路は、外部デバイスまたはポート間制御バスからのコマンドを受信するように構成されており、
    少なくとも1つの前記ポートの前記制御回路は、外部デバイスから受信したコマンドを、前記制御回路に連結された少なくとも1つのポート間制御バスに転送するように構成されており、
    少なくとも1つの前記ポートの前記制御回路は、前記制御回路に連結されたポート間制御バスから受信したコマンドに応答するように構成されている、請求項1または3に記載のメモリ。
  9. それ自体に連結されたポート間制御バスから受信したコマンドに応答するように構成された前記制御回路は、それ自体に連結されたポート間制御バスの1つのみから受信したコマンドに応答するように構成された制御回路を含む、請求項8に記載のメモリ。
  10. 1つ以上のメモリ領域、および前記1つ以上のメモリ領域へのアクセスを制御する制御回路をその各々が備えた2つ以上のポートを有するマルチポート・メモリを制御するための方法であって、
    第1外部バスから、前記マルチポート・メモリの第1ポートの前記制御回路においてコマンドを受信することと、
    前記第1ポートの前記制御回路から、前記マルチポート・メモリのうちの第2ポートの前記制御回路に前記第1ポートの前記制御回路と前記第2ポートの前記制御回路との間に接続されているポート間制御バスを通じて前記コマンドを転送することと、
    前記第2ポートの前記制御回路が、前記ポート間制御バスを通じて前記第2ポートの前記制御回路において受信したコマンド、または第2外部バスからの前記第2ポートの前記制御回路において受信したコマンドのいずれに応答するかを選択するために、前記第2ポートの前記制御回路を使用することと、
    前記第2ポートの前記制御回路が、前記ポート間制御バスを通じて前記第2ポートの前記制御回路において受信したコマンドに応答することを選択すると、前記第1ポートおよび前記第2ポートのメモリ領域に同時にアクセスするように、前記第1ポートの前記制御回路において前記コマンドを処理し、前記第2ポートの前記制御回路において前記コマンドを処理することと、
    前記第2ポートの前記制御回路が、前記第2外部バスからの前記第2ポートの前記制御回路において受信したコマンドに応答することを選択すると、前記第1ポートの前記制御回路においては前記コマンドを処理し、前記第2ポートの前記制御回路においては前記コマンドを無視することと、を含む、方法。
  11. 前記コマンドの受信は読み出しコマンドまたは書き込みコマンドを受信することを含む、請求項10に記載の方法。
  12. 前記コマンドの受信は前記コマンドに関連するアドレスを受信することをさらに含む、請求項11に記載の方法。
  13. 前記コマンドの処理は、前記コマンドに関連する前記アドレスが特定のポートのメモリ領域のアドレスに一致しない場合に、前記特定のポートの前記制御回路において前記コマンドを無視することをさらに含む、請求項12に記載の方法。
  14. 前記コマンドの転送は1つのポートの前記制御回路から連続するポートの前記制御回路に前記コマンドを順次伝えることをさらに含む、請求項10〜13のいずれか1項に記載の方法。
  15. 前記コマンドの転送は残りのポート各々の前記制御回路に前記コマンドを転送することをさらに含む、請求項10〜13のいずれか1項に記載の方法。
JP2012526841A 2009-08-24 2010-08-17 マルチポート・メモリおよびその動作 Active JP5549897B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/546,258 US8769213B2 (en) 2009-08-24 2009-08-24 Multi-port memory and operation
PCT/US2010/045751 WO2011028409A2 (en) 2009-08-24 2010-08-17 Multi-port memory and operation

Publications (2)

Publication Number Publication Date
JP2013506890A JP2013506890A (ja) 2013-02-28
JP5549897B2 true JP5549897B2 (ja) 2014-07-16

Family

ID=43606198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012526841A Active JP5549897B2 (ja) 2009-08-24 2010-08-17 マルチポート・メモリおよびその動作

Country Status (7)

Country Link
US (2) US8769213B2 (ja)
EP (1) EP2470999B1 (ja)
JP (1) JP5549897B2 (ja)
KR (1) KR101327665B1 (ja)
CN (1) CN102483724B (ja)
TW (2) TWI537976B (ja)
WO (1) WO2011028409A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
KR101781617B1 (ko) * 2010-04-28 2017-09-25 삼성전자주식회사 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩
US9275699B2 (en) * 2012-08-17 2016-03-01 Rambus Inc. Memory with alternative command interfaces
JP5998814B2 (ja) * 2012-10-03 2016-09-28 株式会社ソシオネクスト 半導体記憶装置
US10019402B2 (en) 2016-05-12 2018-07-10 Quanta Computer Inc. Flexible NVME drive management solution via multiple processor and registers without multiple input/output expander chips

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160655A (ja) * 1993-12-10 1995-06-23 Hitachi Ltd メモリアクセス方式
US6370605B1 (en) 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
US7006402B2 (en) * 2003-08-29 2006-02-28 Hynix Semiconductor Inc Multi-port memory device
KR100582821B1 (ko) * 2003-08-29 2006-05-23 주식회사 하이닉스반도체 멀티-포트 메모리 소자
US7421559B1 (en) 2003-12-18 2008-09-02 Cypress Semiconductor Corporation Apparatus and method for a synchronous multi-port memory
KR101153712B1 (ko) 2005-09-27 2012-07-03 삼성전자주식회사 멀티-포트 sdram 엑세스 제어장치와 제어방법
KR100655081B1 (ko) 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
US20070150667A1 (en) 2005-12-23 2007-06-28 Intel Corporation Multiported memory with ports mapped to bank sets
JP5188493B2 (ja) * 2006-03-30 2013-04-24 シリコン イメージ,インコーポレイテッド 可変のポート速度を有するマルチポート・メモリ・デバイス
KR100843580B1 (ko) 2006-05-24 2008-07-04 엠텍비젼 주식회사 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법
JP2008117109A (ja) * 2006-11-02 2008-05-22 Renesas Technology Corp 半導体集積回路装置
WO2009089301A1 (en) * 2008-01-07 2009-07-16 Rambus Inc. Variable-width memory module and buffer
JP5599969B2 (ja) * 2008-03-19 2014-10-01 ピーエスフォー ルクスコ エスエイアールエル マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム
US8161209B2 (en) * 2008-03-31 2012-04-17 Advanced Micro Devices, Inc. Peer-to-peer special purpose processor architecture and method
US8171181B2 (en) 2008-05-05 2012-05-01 Micron Technology, Inc. Memory module with configurable input/output ports
US8407427B2 (en) * 2008-10-29 2013-03-26 Silicon Image, Inc. Method and system for improving serial port memory communication latency and reliability

Also Published As

Publication number Publication date
TWI456584B (zh) 2014-10-11
KR20120055673A (ko) 2012-05-31
CN102483724B (zh) 2015-08-19
WO2011028409A2 (en) 2011-03-10
TWI537976B (zh) 2016-06-11
US8930643B2 (en) 2015-01-06
CN102483724A (zh) 2012-05-30
TW201447912A (zh) 2014-12-16
EP2470999B1 (en) 2016-11-16
KR101327665B1 (ko) 2013-11-12
US20110047311A1 (en) 2011-02-24
US20140289482A1 (en) 2014-09-25
TW201120907A (en) 2011-06-16
JP2013506890A (ja) 2013-02-28
EP2470999A4 (en) 2013-01-23
US8769213B2 (en) 2014-07-01
EP2470999A2 (en) 2012-07-04
WO2011028409A3 (en) 2011-06-03

Similar Documents

Publication Publication Date Title
US11886754B2 (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
KR100855587B1 (ko) 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
ES2524613T3 (es) Arquitectura central en serie de memoria no volátil
JP5549897B2 (ja) マルチポート・メモリおよびその動作
US20080151624A1 (en) Combination SRAM and NVSRAM semiconductor memory array
JP2008526110A (ja) Fpgaにおける揮発性メモリベースのプログラマブル回路のための不揮発性メモリ構成方式
EP2126918A1 (en) Independent link and bank selection
US11256653B2 (en) Adaptive interface high availability storage device
JP5533963B2 (ja) 構成可能な入出力ポートを伴うメモリモジュール
US20080005434A1 (en) Method and Apparatus for Communicating Data Over Multiple Pins of A Multi-Mode Bus
US7596049B2 (en) Semiconductor memory device with a plurality of bank groups each having a plurality of banks sharing a global line group
US20080059768A1 (en) Method and Apparatus for Communicating a Bit Per Half Clock Cycle over at Least One Pin of an SPI Bus
US20080068909A1 (en) Semiconductor device
JP2012208975A (ja) 半導体装置
US8312206B2 (en) Memory module and memory module system
US8963580B2 (en) Logic device and method of operating the same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120221

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131127

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131127

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: 20140415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140507

R150 Certificate of patent or registration of utility model

Ref document number: 5549897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250