JP5449686B2 - マルチポートメモリ及びそのマルチポートメモリを用いたシステム - Google Patents

マルチポートメモリ及びそのマルチポートメモリを用いたシステム Download PDF

Info

Publication number
JP5449686B2
JP5449686B2 JP2008073614A JP2008073614A JP5449686B2 JP 5449686 B2 JP5449686 B2 JP 5449686B2 JP 2008073614 A JP2008073614 A JP 2008073614A JP 2008073614 A JP2008073614 A JP 2008073614A JP 5449686 B2 JP5449686 B2 JP 5449686B2
Authority
JP
Japan
Prior art keywords
input
memory
data
output
port
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.)
Expired - Fee Related
Application number
JP2008073614A
Other languages
English (en)
Other versions
JP2009230792A (ja
Inventor
一彦 梶谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PS4 Luxco SARL
Original Assignee
PS4 Luxco SARL
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 PS4 Luxco SARL filed Critical PS4 Luxco SARL
Priority to JP2008073614A priority Critical patent/JP5449686B2/ja
Priority to US12/382,600 priority patent/US8209497B2/en
Publication of JP2009230792A publication Critical patent/JP2009230792A/ja
Application granted granted Critical
Publication of JP5449686B2 publication Critical patent/JP5449686B2/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
    • 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/1657Access to multiple memories

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)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

本発明は、複数個のマイクロプロセッサ(MPU)や、1個のプロセッサに複数個のCPUコアを搭載したマルチコアプロセッサを含むシステムに適用して有用な、マルチポート及びマルチバンク構成を有するランダムアクセスメモリ(RAM)として用いられる半導体記憶装置及びその半導体記憶装置を用いたシステムに関する。
複数個のプロセッサからアクセスされるメモリとして、マルチポートかつマルチバンク構成を有するDRAM(Dynamic Random Access Memory)及びそのメモリアクセスを行う制御方式が従来から知られている。
例えば、従来のRAMには、一例として、それぞれデータを記憶可能な複数のメモリバンクと、それぞれデータの入出力を可能とする複数の入出力ポートを設け、上記複数の入出力ポートを、互いに異なるバスによって上記メモリバンクに結合させるマルチポートRAMがある(例えば、特許文献1参照)。
また、従来のRAMには、他の例として、メモリセルが配列されたメモリセル領域と、メモリセル領域内の行の選択を行う行選択回路と、メモリセル領域内の列の選択を行う列選択回路とを有するm個のバンクと、n個のポートを有し、これらn個のポートから任意のn個のバンクを独立かつ同時にアクセスすることが出来るマルチポート回路を備えたSDRAMがある。ここでm≧nである(例えば、特許文献2参照)。
また、従来のRAMには、各々がコマンドを受信する複数、例えばN個の外部ポートと、それら外部ポートにそれぞれ対応したN組のバスと、それらN組のバスに接続される複数のメモリブロックと、それらN個の外部ポート各々から、それぞれ入力される複数のコマンドがアクセスするアドレスを比較するアドレス比較回路とを有し、このアドレス比較回路がアドレス比較により同一のメモリブロックに対するアクセスを検出すると、同一のメモリブロックにアクセスするコマンドのうち何れを実行し、あるいは何れを実行しないかを決定する裁定回路を含むマルチポートDRAMがある(例えば、特許文献3参照)。
また、従来のRAMには、独立にアクセス可能な複数のメモリに対して接続される複数のポートと、複数のマスタからのそれぞれのメモリアクセス要求アドレスの所定ビットである分配ビットによって、アクセスするポートを振り分けるセレクタと、ポートごとに接続されたそれらのセレクタにより振り分けられた複数のマスタのメモリアクセス要求を調停する調停手段と、ポートごとに接続されたその調停手段により決定されたマスタのメモリアクセス要求の内容に従い、メモリに対するアクセス制御を行うアクセス手段とを有するSDRAM制御回路を用いたもがある(例えば、特許文献4参照)。
また、従来のRAMには、揮発性メモリセルからなり複数のバンクを含むセルアレイと、そのセルアレイに対して各々が独立したアドレスにアクセス可能な複数の外部ポートと、それら複数の外部ポート間でのアクセスの順番を決定するアービトレーション回路と、それら複数の外部ポートのあるポートから上記セルアレイの1つのバンクに対してアクセス要求がなされた時にその1つのバンクがコア動作実行中である場合、当該アクセス要求をしたポートに対してビジー信号を出力する制御回路を含むDRAM型のマルチポートメモリがある(例えば、特許文献5参照)。
また、従来のRAMには、複数のメモリバンクと、複数のバスと、これらメモリバンク及びバスの選択機構とを備え、この選択機構は、複数のメモリバンクにおける全てのメモリバンク、及び複数のバスにおける全てのバスに接続されており、複数のメモリバンクの何れかのメモリバンクを選択して、選択したバンクを複数のバスの何れかに接続することができるマルチポートRAMシステムがある(例えば、特許文献6参照)。
また、従来のRAMには、互いに異なった複数個の入出力ポートと、互いに異なった複数個のメモリ領域に分割されたメモリアレイと、上記入出力ポートのうち少なくとも1つ以上の入出力ポートを通じ、上記メモリ領域各々がそれぞれアクセスされるように上記メモリ領域と上記入出力ポートとの間のアクセス経路を可変的に制御する選択制御とを備えるマルチポート半導体メモリがある(例えば、特許文献7参照)。
また、従来のRAMには、パラレルポートを有する主バスコントローラ、及び共通バスインタフェースに対し互いに接続されてアクセスするDRAMを有するシステムで使用され、マルチポート内部キャッシュDRAMを含み、この内部キャッシュDRAMが、分離した外部I/Oリソース及び内部DRAMメモリ間において対応するバッファを介して互いに接続される複数の独立した直列データインタフェースを有し、スイッチングモジュールが上記直列データインタフェースとバッファとの間に挿入され、さらにスイッチングモジュール論理が直列インタフェースとバッファとの間の経路をダイナミックに経路付けするように主バスコントローラから制御されるマルチポートDRAMシステムがある(例えば、特許文献8参照)。
また、従来のRAMには、単一ポートのメモリセルによる複数のメモリブロック、多ポート構成のグローバルビット線、メモリブロック内のビット線を上記グローバルビット線に選択的に接続するスイッチ手段を含み、面積効率が高い擬似多ポートメモリを構成するメモリシステムがある(例えば、特許文献9参照)。
また、従来のRAMには、複数組の共有配線と、各共有配線毎に共通接続された複数のメモリブロックからなる複数組のメモリブロック群と、前記メモリブロックにアクセスする第1のポートと、前記メモリブロックにアクセスする第2のポートと、前記第1のポートと前記複数組の共有配線との間を電気的に接続又は遮断する複数の第1のスイッチと、前記第2のポートと前記複数組の共有配線との間を電気的に接続又は遮断する複数の第2のスイッチと、前記第1のスイッチ及び前記第2のスイッチを制御するスイッチ制御回路とを有し、チップ面積の増大を回避できるマルチポートDRAMがある(例えば、特許文献10参照)。
しかしながら、上記特許文献1〜10に開示されているマルチポートで、かつマルチバンク構成をもつDRAM、及びその制御方式やシステムにおいては、一つの入出力ポートから複数個のバンクに対して同時に書き込みを行うこと、また逆に一つのバンクから複数個の入出力ポートに対して同時に読出しを行うことができないという問題がある。
一方、上述した問題を解決する構成とし、第1の機能デバイスとしてのCPUと第2の機能デバイスとの双方からメモリに対するアクセスを行うメモリアクセス制御装置において、各ブロックが連続したアドレス領域を持つようにメモリアドレス空間が複数のブロックに分割され、上記メモリアクセス制御回路が、上記第1及び第2の機能デバイスからアクセスされたメモリブロックが同じであるとき、双方からのアクセスがメモリに対する読み出しである場合、上記メモリに対する上記第1及び第2の機能デバイスによる同時アクセスを許可するメモリアクセス装置がある(例えば、特許文献11参照)。
また、マルチポート内部DRAMキャッシュアレイを含み、複数のシステムI/Oリソースが、アレイの各ユニットにおいて対応するDRAMコアに接続された共通の内部データバスを介して接続され、送信元となる1つのシステムI/Oリソースが、上記マルチポート内部DRAMキャッシュアレイにメッセージを書んだ後に、このメッセージを受信することが必要とされている全てのシステムI/Oリソースに対し、マルチポート内部DRAMキャッシュアレイから、このメッセージを読み出して同時に送信するマルチポートDRAMがある(例えば、特許文献12参照)。
特開平8−221319号公報 特開2000−215659号公報 特開2002−197853号公報 特開2003−263363号公報 特開2003−272378号公報 特開2005−346715号公報 特開2007−172811号公報 特表2000−501524号公報 特開平8−212766号公報 特開2001−43674号公報 特開2002−358232号公報 特表2001−511559号公報
しかしながら、上記特許文献11に記載されている構成は、一つの入出力ポートから入力されるデータを、内部の複数個のバンクそれぞれに対し、同時に書き込みを行うことが出来ないという問題がある。
また、上記特許文献12に記載されている構成は、システムI/Oリソース間でのメッセージのやりとりに対し、単純にマルチキャストを適用するものであり、複数個のMPUやCPUコアに対し、複数個のバンクを割り当てて、1つのMPUやCPUコアから複数個のバンクに対する同時書き込みと、逆に1つのバンクから複数個のMPUやCPUコアに対する同時読み出しという機能を実現することができないという問題がある。
本発明は、このような事情に鑑みてなされたもので、複数個のMPUやCPUコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、1つのMPUやCPUコアから対応する1つの入出力ポートを介して複数個のバンクに対する同一データの同時書き込みを行い、また、1つのバンクから対応する複数個の入出力ポートを介して複数個のMPUやCPUコアに対する同一データの同時読み出しを行うことができる半導体記憶装置を提供することを目的とする。
本発明のマルチポートメモリは、複数のビット線と複数のワード線との交点に配置された複数のメモリセルからなり、n(2以上の整数)個のメモリバンクに分割されたメモリアレイと、該メモリバンク各々に対し、コマンド、アドレス及びデータの入出力を独立して行うm(2以上の整数)個の入出力ポートと、前記メモリバンク及び前記入出力ポートとの間におけるコマンド、アドレス及びデータ信号経路を任意に設定する経路切替回路とを有し、前記経路切替回路が通常のデータアクセス状態に、外部から入力される前記コマンドにより設定された場合、前記メモリバンク及び前記入出力ポートとの間における前記コマンド線、アドレス線及びデータ線の各々の信号線の接続状態を設定するクロスバースイッチと、1つの入出力ポートから複数のメモリバンクへの同一データの書き込み処理、あるいは1つのメモリバンクから複数の入出力ポートに対する同一データの読み出し処理を行うブロードキャスト状態に、外部から入力される前記コマンドにより設定された場合、1つの入出力ポート及び複数のメモリバンク間、あるいは複数の入出力ポート及び1つのメモリバンク間のデータの経路を形成するブロードキャストスイッチ部とから構成されていることを特徴とする。
本発明のマルチポートメモリは、前記ブロードキャストスイッチ部が、ブロードキャストデータ線と、前記メモリバンク毎に設けられ、前記ブロードキャストデータ線と該各メモリバンクの入出力線との接続を行う第1のスイッチと、前記入出力ポート毎に設けられ、前記ブロードキャストデータ線と該各入出力ポートの入出力回路との接続を行う第2のスイッチとをさらに有することを特徴とする。
本発明のマルチポートメモリは、前記入出力ポートのいずれかから、p(2≦p≦nの整数)個の前記メモリバンクへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御信号が外部から入力された場合、前記複数のメモリバンクに対応する前記第1のスイッチをオン状態とし、データ入力を行うとして選択された前記入出力ポートに対応する前記第2のスイッチをオン状態とし、他の第2のスイッチをオフ状態とすることを特徴とする。
本発明のマルチポートメモリは、前記メモリバンクのいずれかから、q(2≦q≦mの整数)個の前記入出力ポートへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御信号が外部から入力された場合、前記複数の入出力ポートに対応する前記第2のスイッチをオン状態とし、データ出力を行うとして選択された前記メモリバンクに対応する前記第1のスイッチをオン状態とし、他の第1のスイッチをオフ状態とすることを特徴とする。
本発明のコンピュータシステムは、上記いずれかに記載のマルチポートメモリと、該マルチポートメモリの前記入出力ポートに各々接続された複数のCPUコアからなるマルチプロセッサとを有し、前記コマンド、アドレス及びデータが前記CPUコアから出力されることを特徴とする。
本発明のコンピュータシステムは、上記いずれかに記載のマルチポートメモリと、該マルチポートメモリの前記入出力ポートに各々接続された複数のプロセッサとを有し、前記コマンド、アドレス及びデータが前記プロセッサから出力されることを特徴とする。
以上説明したように、本発明のマルチポートメモリ(半導体記憶装置)によれば、複数個のMPUやCPUコアに対して複数個のバンクを割り当て、1つのMPUやCPUコアから、すなわちいずれかの入出力ポートから入力したデータを複数個のメモリバンクに対して書き込む、複数のメモリバンクへの同一データの同時書き込みと、逆に1つのメモリバンクから読み出したデータを複数個のMPUやCPUコアに対して出力する、複数の入出力ポートからの同一データの同時読み出しという機能を実現することが可能となる。
この結果、本発明のマルチポートメモリによれば、複数個のMPUやマルチコアプロセッサを含むシステムにおいて、1つのMPUやCPUコアから複数個のメモリバンクに共通なデータを書き込む時に、書き込みが必要な複数個のメモリバンクに対し、同一のデータを読み込んで、書き込みを行う動作をこのメモリバンクの個数分しなくて済み、CPUのデータ処理における演算処理の稼働率を増加させ、システムのデータ処理の効率を向上させることができる。
また、同様に、本発明のマルチポートメモリによれば、複数個のMPUやマルチコアプロセッサを含むシステムにおいて、1つのメモリバンクから複数のMPUやCPUコアに共通なデータを読み出す時に、読み出しが必要な複数個のMPUやCPUコアに対し、同一のデータを読み出して、各入出力ポートへ出力する動作をこのMPUやCPUコアの個数分しなくて済み、CPUのデータ処理における演算処理の稼働率を増加させ、システムのデータ処理の効率を向上させることができる。
<第1の実施形態>
以下、本発明の一実施形態による半導体記憶装置であるマルチポートメモリを図面を参照して説明する。図1は同実施形態によるマルチポートメモリの構成例を示すブロック図である。ここで、本実施形態における半導体記憶装置はシリコンなどの半導体基板上に形成されたものある。
本実施形態のマルチポートメモリは、n個のメモリバンク及びm個の入出力ポートから構成されているが、説明の簡易化のため、以下、n=4、m=4として説明する。
すなわち、図1に示す本実施形態におけるマルチポートメモリは、メモリバンクMB1、MB2、MB3、MB4の4つのバンクと、経路切替回路2、経路制御回路3、調停回路4及び入出力ポートA、B、C、Dの4つのポートから構成されている。
上記メモリバンクMB1〜MB4は、それぞれ独立にメモリバンク内において、複数のビット線と複数のワード線との交点に配置されたメモリセルからなるメモリセル領域を有し、このメモリセル領域から任意にメモリセルを選択するためのロウデコーダ、カラムデコーダが配置されている。
また、メモリバンクMB1〜MB4は、図示をしていないが、ビット線のプリチャージ、データの読み出し及びデータの書き込みのタイミング生成に用いるクロックを生成するクロック生成回路と、プリチャージ、読み出し及び書き込みなどの動作のタイミングを制御するタイミング制御回路と、ビット線に読み出されたデータ情報を増幅するセンスアンプを含むデータ読み出し・書き込み回路等もメモリバンク毎に独立して配置されているため、メモリバンクMB1〜MB4それぞれが互いに独立に、プリチャージ、データの読み出し及びデータの書き込み動作を行うことが可能な構成となっている。
入出力ポートA、B、C、D各々は、外部装置からコマンド信号、アドレス信号及びデータが入力され、このコマンド信号及びアドレス信号により、各入出力ポート毎に独立に外部装置とのデータの入出力が行われる。
経路切替回路2は、入出力ポートA、B、C、D各々と、メモリバンクMB1、MB2、MB3、MB4それぞれとのコマンド信号、アドレス信号及びデータの送受信の経路を、経路制御回路3により変更可能に構成されている。
図2に示すように、経路切替回路2は、クロスバースイッチCSD1、CSD2、CSD3、CSD4、CSC1、CSC2、CSC3、CSC4、CSA1、CSA2、CSA3及びCSA4からなるクロスバースイッチ群と、ブロードキャストデータ線B/Cと、スイッチSW_1、SW_2、SW_3、SW_4、SW_A、SW_B、SW_C及びSW_Dのスイッチ群とから構成されている。
上記クロスバースイッチCSD1、CSD2、CSD3、CSD4各々は、メモリバンクMB1、MB2、MB3、MB4のデータ入出力線(複数のデータ線からなるデータバス)それぞれと、入出力ポートA、B、C、DのいずれかのデータバスDA、DB、DC、DDとを接続させるスイッチである。ここで、データバスDAが入出力ポートAに接続されたデータバスであり、データバスDBが入出力ポートBに接続されたデータバスであり、データバスDCが入出力ポートCに接続されたデータバスであり、データバスDDが入出力ポートDに接続されたデータバスである。
上記クロスバースイッチCSC1、CSC2、CSC3、CSC4各々は、メモリバンクMB1、MB2、MB3、MB4のコマンド入力線(複数のコマンド線からなるコマンドバス)それぞれと、入出力ポートA、B、C、DのいずれかのコマンドバスCA、CB、CC、CDとを接続させるスイッチである。ここで、コマンドバスCAが入出力ポートAに接続されたコマンドバスであり、コマンドバスCBが入出力ポートBに接続されたコマンドバスであり、コマンドバスCCが入出力ポートCに接続されたコマンドバスであり、コマンドバスCDが入出力ポートDに接続されたコマンドバスである。
上記クロスバースイッチCSA1、CSA2、CSA3、CSA4各々は、メモリバンクMB1、MB2、MB3、MB4のアドレス入力線(複数のアドレス線からなるアドレスバス)それぞれと、入出力ポートA、B、C、DのいずれかのアドレスバスAA、AB、AC、ADとを接続させるスイッチである。ここで、アドレスバスAAが入出力ポートAに接続されたアドレスバスであり、アドレスバスABが入出力ポートBに接続されたアドレスバスであり、アドレスバスACが入出力ポートCに接続されたアドレスバスであり、アドレスバスADが入出力ポートDに接続されたアドレスバスである。
上記ブロードキャストデータ線B/Cは、データバスであり、スイッチSW_1、SW_2、SW_3及びSW_4がオン状態あるいはオフ状態となることにより、メモリバンクMB1、MB2、MB3及びMB4それぞれのデータ入出力線に対して、接続あるいは解放された状態となる。
スイッチSW_A、SW_B、SW_C及びSW_D各々は、それぞれ入出力ポートA、B、C、Dのデータ入出力回路(データの波形整形回路及びドライバ回路などで構成されている)に対し、各々に対応するデータバス(DA、DB、DC、DD)あるいはブロードキャストデータ線B/Cのいずれを接続するかを切り替える切替スイッチである。
上記ブロードキャストデータ線B/Cと、スイッチSW_1、SW_2、SW_3及びSW_4と、スイッチSW_A、SW_B、SW_C及びSW_Dとから、ブロードキャストスイッチ部が構成されている。
上述した構成により、本実施形態のマルチポートメモリは、入出力ポートA、B、C、DそれぞれのコマンドバスCA、CB、CC、CD、アドレスバスAA、AB、AC、AD、データバスDA、DB、DC、DDが、経路切替回路2により任意に各メモリバンクMB1、MB2、MB3、MB4に対して接続され、入出力ポートA、B、C、Dから入力されるコマンド信号及びアドレス信号が、各入力ポートに接続された各メモリバンクMB1、MB2、MB3、MB4に対して伝達される。
図1に戻り、上記経路切替制御回路3は、各入出力ポートから、ぞれぞの入出力ポートに対応するコマンド信号及びアドレス信号が入力され、コマンドとして経路設定の制御信号が外部回路(マルチポートメモリの外部、例えばMPUやCPUコアなど)から入力されると、この制御信号に基づいて各入出力ポートと各メモリバンクとの間の経路を設定する経路切替信号を経路切替回路2へ出力し、この経路切替信号により上述したクロスバースイッチ群及びスイッチ群をオンオフ制御することにより、各入出力ポートと各メモリバンクとの間の経路を任意に変更する。
また、経路切替制御回路3は、上記制御信号がブロードキャスト制御を示す場合、ブロードキャスト制御信号を、経路切替回路2へ出力し、上記スイッチ群の各スイッチを制御し、いずれかのメモリバンクから読み出したデータを複数の入出力ポートへ出力する1対q(2≦q≦m)のブロードキャストデータ転送、あるいはいずれかの入出力ポートから入力されたデータを、複数のメモリバンク(のメモリセル)へ書き込む1対p(2≦p≦n)のブロードキャストデータ転送、これら2つのブロードキャスト転送いずれかのブロードキャストモードとなるよう、メモリバンク及び入出力ポート間における経路の設定を行う。
また、経路切替制御回路3は、2つ以上の複数の入出力ポートから、同一メモリバンクに対するアクセスが同時に発生したことを、各入出力ポートから入力されるアドレス信号それぞれを比較することにより検出する。そして、経路切替制御回路3は、同一メモリバンクに対するアクセスが複数あることを検出した場合、調停信号を調停回路4へ出力する。
上記調停回路4は、経路切替制御回路4から調停信号が入力されると、あらかじめ設定された調停ポリシーに従い、各入出力ポートの動作を調停し、例えば、同一のメモリアドレスをアクセスするアドレス信号が入力されると、最初にアドレスが入力された入出力ポートのコマンド信号により経路切替回路2を制御し、他の入出力ポートに対して、すなわち他の入出力ポートに接続されているアクセス要求元(MPUやCPUコア)に対してビジー信号を出力する。
図2は、図1における経路切替回路2の構成例を示すブロック図であるが、スイッチSW_1〜SW_4がオフ状態となっており、いずれのデータバスDA、DB、DC及びDDがブロードキャストデータ線B/Cへ接続されておらず、かつスイッチSW_A〜SW_Dのデータ入出力回路がそれぞれの対応するデータバスDA、DB、DC、DDへ接続されており、ブロードキャストモードとなっていない通常動作状態の経路、すなわちブロードキャストデータ転送の経路が形成されていない状態のスイッチ群の状態を示している。
次に、図3には外部回路(MPUやCPUコア)から入力される、ブロードキャストモードに経路を変更する制御信号(コマンド)の一つであるブロードキャストリードコマンドについて説明した概念図である。すなわち、いずれかのメモリバンクがアクセスされ、複数の入出力ポートに対して同一のデータが1つのメモリバンクから読み出されるブロードキャストモードを指定する制御信号である。図3(a)はブロードキャストリードコマンドの構成を示す概念図であり、図3(b)はブロードキャストリードコマンドが入力された際の経路制御回路3の動作を示す概念図である。
図3(a)に示すように、W/R制御コードは、C0が「0」の場合にノーマルの読み出しまたは書き込みの状態であることを示し、「1」の場合にブロードキャストの読み出しあるいは書き込みの状態であることを示すヘッダーコードとなっている。
また、W/R制御コードは、C1が「0」の場合に書き込みの状態であることを示し、「1」の場合に読み出しの状態であることを示している。
ここでは、C0が「1」であり、C1が「1」であり、ブロードキャストリードのモードとするブロードキャストリードコマンドの設定となっている。
また、メモリバンク#(番号)指定コードは、メモリバンクMB1、MB2、MB3、MB4に対して設定ビットが対応して設けられており、それぞれのビットが「0」の場合に、データを読み出さないメモリバンクを示し、「1」の場合にデータを読み出すメモリバンクを示している。
また、入出力ポート#(番号)指定コードは、入出力ポートA、B、C、Dに対して設定ビットが対応して設けられており、それぞれのビットが「0」の場合に読み出さない入出力ポートを示し、「1」の場合に読み出す入出力ポートを示している。
そして、経路制御回路3は、図3(a)に示すブロードキャストリードコマンドが、いずれかの入出力ポートから入力されると、このブロードキャストリードコマンドからメモリバンク#指定コードを抽出し、あらかじめ設定されているメモリバンク番号と対応するメモリバンク#設定コードと比較し、一致したメモリバンク#設定コードに対応するメモリバンクに対応するスイッチSW_1〜SW_4のいずれかをオフ状態からオン状態へ遷移させるブロードキャスト制御信号(スイッチオンオフ信号)を経路切替回路2へ出力する。
そして、経路切替回路2は、ブロードキャスト制御信号に対応してスイッチSW_1〜SW_4のいずれかをオフ状態からオン状態へ遷移させ、指定されたメモリバンクのデータ入出力線をブロードキャストデータ線B/Cに接続する。
また、経路制御回路3は、ブロードキャストリードコマンドから入出力ポート#指定コードを抽出し、あらかじめ設定されている入出力ポート番号と対応する入出力ポート#設定コードと比較し、一致した入出力ポート#設定コードに対応する入出力ポートに対応するスイッチSW_A〜SW_D各々をオフ状態からオン状態へ遷移させるブロードキャスト制御信号(スイッチ切替信号)を経路切替回路2へ出力する。
そして、経路切替回路2は、ブロードキャスト制御信号に対応してスイッチSW_A〜SW_Dのうち設定されたスイッチ各々の切替制御を行い、選択された入出力ポートの各データ入出力回路を、データバス(DA、DB、DC、DD)に対する接続から、指定された入出力ポートをブロードキャストデータ線B/Cに接続するように、スイッチの切り替えを行う。
上述した経路制御回路3による経路切替回路2の経路切替により、1つのメモリバンクから複数の入出力ポートに対する1対qのブロードキャストリードのモードの経路が構成されることになる。このとき、経路制御回路3は、選択されたメモリバンクに対し、コマンド信号及びアドレス信号が送信される様に、クロスバースイッチ群の各クロスバースイッチを制御する。
また、経路制御回路3は、いずれかの入出力ポートから図3(a)に示すブロードキャストリードコマンドが入力されると、ブロードキャストリードコマンドが入力されたポートを除いて、データ読み出しとして指定された入出力ポートに対する外部からのアクセスを禁止し、データを出力する入出力ポートのポート番号及びこれらの入出力ポートを出力状態とする調停信号を調停回路4に対して出力する。
上記調停信号を入力すると、調停回路4は、指定された入出力ポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクから読み出されたデータを出力するため、指定された入出力ポートを出力状態とする。
図4には、メモリバンクMB1から読み出したデータを、全ての入出力ポートA〜Dに対して出力する指示を示す[C0、C1、MB1、MB2、MB3、MB4、A、B、C、D]=[1、1、1、0、0、0、1、1、1、1]のブロードキャストリードコマンドがいずれかの入出力ポートから入力された場合のスイッチSW_1〜SW_4及びSW_A〜SW_Dの状態が示されている。
経路制御回路3からのブロードキャスト制御信号(スイッチオンオフ信号)により、経路切替回路2において、スイッチSW_1がオン状態となり、メモリバンクMB1のデータ入出力線がブロードキャストデータ線B/Cに接続されている。
また、経路制御回路3からのブロードキャスト制御信号(スイッチ切替信号)により、経路切替回路2において、スイッチSW_A〜SW_Dが入出力ポートA、B、C、Dのデータ入出力回路と、ブロードキャストデータ線B/Cとが接続されるようにデータ入出力回路に対する接続を切り替える。
そして、調停回路4は、経路制御回路3からの調停信号により、指定された入出力ポートA、B、C及びDのうちブロードキャストリードコマンドが入力されたポートを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクMB1から読み出されたデータを出力するため、指定された入出力ポートA、B、C及びDを出力状態とする。
この結果、メモリバンクMB1から読み出されたデータが、全入出力ポートA、B、C、Dに対して同時に送信され、外部に読み出されることとなる。
次に、図5には、メモリバンクMB3から読み出したデータを、入出力ポートA及びBに対して出力する指示を示す[C0、C1、MB1、MB2、MB3、MB4、A、B、C、D]=[1、1、0、0、1、0、1、1、0、0]のブロードキャストリードコマンドが、例えば、入出力ポートAから入力された場合のスイッチSW_1〜SW_4及びSW_A〜SW_Dの状態が示されている。
経路制御回路3からのブロードキャスト制御信号(スイッチオンオフ信号)により、経路切替回路2において、スイッチSW_3がオン状態となり、メモリバンクMB3のデータ入出力線がブロードキャストデータ線B/Cに接続されている。
また、経路制御回路3からのブロードキャスト制御信号(スイッチ切替信号)により、経路切替回路2において、スイッチSW_A及びSW_Bが入出力ポートA、Bのデータ入出力回路と、ブロードキャストデータ線B/Cとが接続されるようにデータ入出力回路に対する接続を切り替える。
この結果、メモリバンクMB3から読み出されたデータが、入出力ポートA及びBに対して同時に送信され、外部に読み出されることとなる。
また、図5のブロードキャストリードモードの場合、調停回路4は、経路制御回路3からの調停信号により、ブロードキャストリードコマンドが入力されたポート以外で指定された入出力ポートBに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクMB3から読み出されたデータを出力するため、指定された入出力ポートA及びBを出力状態とする。
一方、メモリバンクMB1、MB2、MB4と、入出力ポートC及びDとの間のデータ経路は、調停回路4によるアクセスの制限を受けないため、クロスバースイッチ群のクロスバースイッチを用いて、通常のメモリバンクのアクセスを行うように、コマンド信号及びアドレス信号に基づき、経路制御回路3により制御される。
次に、図6には外部回路(MPUやCPUコア)から入力される、ブロードキャストモードに経路を変更する制御信号(コマンド)の一つであるブロードキャストライトコマンドについて説明した概念図である。すなわち、複数のメモリバンクがアクセスされ、いずれかの入出力ポートから同一のデータが上記複数のメモリバンクに対して書き込まれるブロードキャストモードを指定する制御信号である。図6(a)はブロードキャストライトコマンドの構成を示す概念図であり、図6(b)はブロードキャストライトコマンドが入力された際の経路制御回路3の動作を示す概念図である。
図6(a)に示すように、W/R制御コードは、C0が「0」の場合にノーマルの読み出しまたは書き込みの状態であることを示し、「1」の場合にブロードキャストの読み出しあるいは書き込みの状態であることを示すヘッダーコードとなっている。
また、W/R制御コードは、C1が「0」の場合に書き込みの状態であることを示し、「1」の場合に読み出しの状態であることを示している。
ここでは、C0が「1」であり、C1が「0」であり、ブロードキャストライトのモードとするブロードキャストライトコマンドの設定となっている。
また、メモリバンク#(番号)指定コードは、メモリバンクMB1、MB2、MB3、MB4に対して設定ビットが対応して設けられており、それぞれのビットが「0」の場合に、データを書き込まないメモリバンクを示し、「1」の場合にデータを書き込むメモリバンクを示している。
そして、経路制御回路3は、図6(a)に示すブロードキャストライトコマンドが、いずれかの入出力ポートから入力されると、このブロードキャストライトコマンドからメモリバンク#指定コードを抽出し、あらかじめ設定されているメモリバンク番号と対応するメモリバンク#設定コードと比較し、一致したメモリバンク#設定コードに対応するメモリバンクに対応するスイッチSW_1〜SW_4の各々をオフ状態からオン状態へ遷移させるブロードキャスト制御信号(スイッチオンオフ信号)を経路切替回路2へ出力する。
そして、経路切替回路2は、ブロードキャスト制御信号に対応してスイッチSW_1〜SW_4の各々をオフ状態からオン状態へ遷移させ、指定されたメモリバンクのデータ入出力線をブロードキャストデータ線B/Cに接続する。
また、経路制御回路3は、ブロードキャストライトコマンドが入力された入出力ポートを識別するために、後述するコマンド発行ポート識別信号を用いて対応する入出力ポートに対応するスイッチSW_A〜SW_Dのいずれかをオフ状態からオン状態へ遷移させるブロードキャスト制御信号(スイッチ切替信号)を経路切替回路2へ出力する。
そして、経路切替回路2は、ブロードキャスト制御信号に対応してスイッチSW_A〜SW_Dのうち設定されたスイッチの切替制御を行い、選択されたいずれか1つの入出力ポートのデータ入出力回路を、データバス(DA、DB、DC、DD)に対する接続から、指定された入出力ポートをブロードキャストデータ線B/Cに接続するように、スイッチの切り替えを行う。このとき、選択された以外の他の入出力ポートは、データバス(DA、DB、DC、DD)に接続された状態となっている。
上述した経路制御回路3による経路切替回路2の経路切替により、1つの入出力ポートから入力されたデータを、複数のメモリバンクに書き込む1対pのブロードキャストライトのモードの経路が構成されることになる。このとき、経路制御回路3は、選択されたメモリバンクに対し、コマンド信号及びアドレス信号が送信される様に、クロスバースイッチ群の各クロスバースイッチを制御する。
また、経路制御回路3は、いずれかの入出力ポートから図6(a)に示すブロードキャストライトコマンドが入力されると、データ書き込みとして指定されたメモリバンクに対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートを除いたポートに対する外部からのアクセスを禁止し、データを入力する入出力ポートのポート番号及びこの入出力ポートを入力状態とする調停信号を調停回路4に対して出力する。
上記調停信号を入力すると、調停回路4は、指定された入出力ポートに対する外部からのアクセスを禁止するとともに、指定された複数のメモリバンクに対して書き込むデータを入力するため、指定された入出力ポートを入力状態とする。
このとき、経路制御回路3は、データの入力先として指定されていない入出力ポートと、書き込み先として指定されていないメモリバンクとの間のデータの経路を、通常のアクセスに対応して、クロスバースイッチ群の各クロスバースイッチにより制御する。
一方、経路制御回路3は、データの書き込み先として指定されているメモリバンクが、データの入力先として指定されていない入出力ポートからアクセスされた場合、内部に記憶されているアドレスと比較することにより、複数のアクセスを検出し、データの入力先として指定されていない入出力ポートに対してビジー信号を出力する。
図7には、入出力ポートAから入力されたデータを、全てのメモリバンクMB1〜MB4に対して書き込む指示を示す[C0、C1、MB1、MB2、MB3、MB4]=[1、0、1、1、1、1]のブロードキャストライトコマンドが入出力ポートAから入力された場合のスイッチSW_1〜SW_4及びSW_A〜SW_Dの状態が示されている。
経路制御回路3からのブロードキャスト制御信号(スイッチオンオフ信号)により、経路切替回路2において、スイッチSW_1、SW_2、SW_3及びSW_4全てがオン状態となり、メモリバンクMB1、MB2、MB3及びMB4各々のデータ入出力線がブロードキャストデータ線B/Cに接続されている。
また、経路制御回路3からのブロードキャスト制御信号(スイッチ切替信号)により、経路切替回路2において、スイッチSW_Aが入出力ポートAのデータ入出力回路と、ブロードキャストデータ線B/Cとを接続するように、データ入出力回路に対する接続を切り替える。
そして、調停回路4は、経路制御回路3からの調停信号により、指定されたメモリバンクMB1〜MB4に対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートAを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクMB1〜MB4に対して書き込むデータを入力するため、指定された入出力ポートAを入力状態とする。
この結果、入出力ポートAから入力されたデータが、全メモリバンクMB1〜MB4に対して同時に送信され、同一データが書き込まれることとなる。
図8には、入出力ポートCから入力したデータを、メモリバンクMB1及びMB2に対して書き込む指示を示す[C0、C1、MB1、MB2、MB3、MB4]=[1、0、1、1、0、0]のブロードキャストライトコマンドが入出力ポートCから入力された場合のスイッチSW_1〜SW_4及びSW_A〜SW_Dの状態が示されている。
経路制御回路3からのブロードキャスト制御信号(スイッチオンオフ信号)により、経路切替回路2において、スイッチSW_1及びSW_2がオン状態となり、メモリバンクMB1及びMB2のデータ入出力線がブロードキャストデータ線B/Cに接続されている。
また、経路制御回路3からのブロードキャスト制御信号(スイッチ切替信号)により、経路切替回路2において、スイッチSW_Cが入出力ポートCのデータ入出力回路と、ブロードキャストデータ線B/Cとが接続されるようにデータ入出力回路に対する接続を切り替える。
そして、調停回路4は、経路制御回路3からの調停信号により、指定されたメモリバンクMB1〜MB2に対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートCを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクMB1及びMB2に書き込むデータを入力するため、指定された入出力ポートCを入力状態とする。
この結果、入出力ポートCから入力されたデータが、メモリバンクMB1及びMB2に対して同時に送信され、それぞれに同一データが書き込まれることとなる。
また、図8のブロードキャストライトのモード場合、メモリバンクMB3及びMB4と、入出力ポートA、B及びDとの間には、通常の信号経路を形成することが可能であり、これらのメモリバンクMB3及びMB4と、入出力ポートA、B、Dと間で、経路制御回路3による各クロスバースイッチの制御により、通常のアクセスを行うことができる。
次に、図3及び図6の経路制御回路3において、ブロードキャストモードを設定するコマンド信号を選択する回路部分を、図9により説明する。
本実施形態のコマンド信号は、入出力ポートA、B、C、Dそれぞれから入力される10ビット幅の信号である。但し、ブロードキャストライトコマンドの場合は、PA、PB、PC、PDの4ビットは使われないためドントケアとなる。
図の4:1セレクタは、各ポートから入力される上記コマンド信号を、そのコマンド信号が入力された入出力ポートを識別する信号PD_A、PD_B、PD_C、PD_Dを選択信号として、次段のブロードキャスト信号生成回路(後述する図10の回路)に対して、選択信号により選択されたブロードキャストのコマンド信号を出力する。
図10は、図3、図6に示した経路制御回路3におけるブロードキャスト信号を生成する部分の上記ブロードキャスト生成部回路を示している。
W/R制御コードC0及びC1が双方ともに「1(Hレベル)」の場合、ブロードキャストリードの動作モードとなる。
上述した場合には、NAND回路100の出力が「L」レベルとなり、インバータ110の出力が「H」レベルとなることにより、ノードN1が「H」レベルとなり、NAND回路101、102、103、104とNAND回路111、112、113、114とがイネーブル状態となる。
一方、インバータ121の出力が「L」レベルとなり、インバータ123の出力が「L」レベルとなることにより、ノードN2が「L」レベルとなり、NAND回路131、132、133、134がディセーブル状態となり、それぞれ出力が「H」レベルとなる。
これにより、NAND回路141、142、143、144がイネーブル状態となる。
そして、読み出されるメモリバンクを指定するB1、B2、B3及びB4のいずれかが「1」、すなわち「H」レベルとなるため、NAND回路111、112、113及び114の出力のいずれかが「L」レベルとなる。
これにより、NAND回路141、142、143、144それぞれから出力されるスイッチオンオフ信号(ブロードキャスト制御信号における)BSW_1、BSW_2、BSW_3及びBSW_4のいずれかが「H」レベルとなり、経路切替回路2におけるスイッチSW_1、SW_2、SW_3及びSW_4のいずれかをオフ状態から、オン状態に変化させる。
一方、読み出す入出力ポートPA、PB、PC、PDを示す信号A、B、C及びDが「H」レベルとなることに対応し、NAND回路101、102、103及び104の出力が「L」レベルとなる。このため、NAND回路101、102、103及び104から「L」レベルの入力されるNAND回路151、152、153、154は、出力であるスイッチ切替信号PSW_A、PSW_B、PSW_C及びPSW_Dを「H」レベルする。
この結果、読み出す入出力ポートに対応するスイッチSW_A、SW_B、SW_C、SW_Dが、各入出力ポートのデータの入出力回路の接続先を、データバスからブロードキャストデータ線B/Cへ切り替える。
ここで、ブロードキャストリード信号が入力された入出力ポートに対応するスイッチ(SW_A、SW_B、SW_C、SW_D)は必ず「H」レベルとなるように、入出力ポートを識別する信号PD_A、PD_B、PD_C、PD_Dが「H」レベルにて入力されることにより、インバータ161〜164の出力を「L」レベルとし、NAND回路151〜154のうち対応するNAND回路の出力を「H」レベルとする。
また、W/R制御コードC0が「1(Hレベル)」であり、W/R制御コードC1が「0(Lレベル)」の場合、ブロードキャストライトの動作モードとなる。
この場合には、インバータ121により、W/R制御コードC1が反転され、NAND回路120の出力が「L」レベルとなり、インバータ123の出力が「H」レベルとなるため、ノードN2が「H」レベルとなり、NAND回路131、132、133及び134がイネーブル状態となる。このとき、NAND回路100の出力が「H」レベルとなり、インバータ110の出力が「L」レベルとなる。
この結果、NAND回路101〜104とNAND回路111〜114とがディセーブル状態となり、NAND回路101〜104とNAND回路111〜114との出力が「H」レベルとなり、NAND回路141〜144とNAND回路151〜154がイネーブル状態となる。
上述した構成において、同一のデータが書き込まれるメモリバンクを示す信号B1〜B4が「H」レベルとなっているため、対応するスイッチオンオフ信号BSW_1〜BSW_4が「H」レベルとなり、スイッチSW_1〜SW_4各々を制御する。
一方、ブロードキャストライトコマンドを発行した入出力ポートを示す信号PD_A〜PD_Dのいずれかひとつが「H」レベルとなるため、スイッチPSW_A〜PSW_Dのうち対応する信号が「H」レベルとなり、スイッチSW_A〜SW_Dを切替制御する。
次に、図11は図3及び図6に示した経路制御回路3のうち、入出力ポートを調停する調停信号を生成する部分の回路を示す。
入出力ポートAに対する調停信号を生成する部分が、NAND回路201、211、221、231、251と、ノア回路252、253とから構成されている。
また、入出力ポートBに対する調停回路を生成する部分が、NAND回路202、212、222、232、261と、ノア回路262、263とから構成されている。
また、入出力ポートCに対する調停回路を生成する部分が、NAND回路203、213、223、233、271と、ノア回路272、273とから構成されている。
また、入出力ポートBに対する調停回路を生成する部分が、NAND回路204、214、224、234、281と、ノア回路282、283とから構成されている。
図示しない経路切替制御回路から、現状の入出力ポートとメモリバンクとの接続情報であるポート−バンク対応信号が入力される。
上記ポート−バンク対応信号は、入出力ポートとメモリバンクとの接続している組み合わせに対応した信号が「H」レベル、またその他は「L」レベルとなっている。
例えば、入出力ポートAに対する調停信号を生成する部分に注目してみると、NAND回路201、211、221及び231各々に、スイッチオンオフ信号BSW_1、BSW_2、BSW_3及び、BSW_4が入力されている。
ポートAに対応したポート−バンク対応信号のいずれかが「H」レベルとなり、「H」レベルとなったポート−バンク対応信号が入力されているNAND回路に入力されているスイッチオンオフ信号BSW_1〜BSW_4が「H」レベル、すなわち対応するメモリバンクがブロードキャストデータ線B/Cに接続された場合、NAND回路(201、211、221及び231)のいずれかが「L」レベルを出力し、NAND回路251の出力が「H」レベルとなり、ノア回路252の出力が「L」レベルとなる。
ポートAがブロードキャストコマンドを発行した入出力ポート(すなわちブロードキャスト信号が外部から入力された入出力ポート)でない場合、コマンド発行ポート識別信号PD_Aは「L」となっているため、ブロードキャストデータ線B/Cに接続されたメモリバンクに対応付けられていた入出力ポートAに対する調停信号が「H」レベルとなる。ここで、例えば、B1−PAはメモリバンクMB1と入出力ポートAとの間に対応するポート−バンク対応信号であり、メモリバンクMB1及び入出力ポートA間にデータ転送の経路が形成されている場合、経路切替制御回路により「H」レベルとされる。
また、スイッチ切替信号PSW_A〜PSW_Dが「H」レベル、すなわち対応する入出力ポートがブロードキャストデータ線B/Sに接続された場合にも、その入出力ポートがブロードキャストコマンドを発行した入出力ポート(すなわちブロードキャスト信号が外部から入力された入出力ポート)でない場合、その入出力ポート用の調停信号が「H」レベルとなる。
ただし、コマンドを入力した入出力ポートを示す信号PD_A〜PD_Dが「H」レベル、すなわちブロードキャストコマンドを発行した入出力ポートに対応する調停信号は上記にかかわらず「L」レベルとなる。例えば、信号PD_Aが「H」レベルにて入力されるとノア回路253の出力は「L」レベルとなる。
これらの結果、コマンドを発行した入出力ポートを除いて、スイッチオンオフ信号が「H」レベル、あるいはスイッチ切替信号が「H」レベとなる、ブロードキャストリードまたはブロードキャストライトのそれぞれのモードと、その時に指定されたメモリバンクに関係する入出力ポートに対し、調停信号が「H」レベルとなり、これらの入出力ポートへのアクセスは禁止される。
上述したように、図1に示す調停回路4は、経路制御回路3からの調停信号により、各入出力ポートを外部回路(MPUやCPUコア)からアクセス禁止となるよう調停する。
また、この調停回路4は、ブロードキャストの動作モード以外の通常動作時にも、必要となる入出力ポート間の調停を行うが、本発明に直接関係しないため、その詳細な動作の説明を省略する。
<第2の実施形態>
図12は第1の実施形態におけるマルチポートメモリ(図12の半導体記憶装置)と、マルチコアプロセッサとから構成される第2の実施形態によるコンピュータシステムの構成例を示すブロック図である。ここで、マルチコアプロセッサは、例えば4つのCPUコアを有している。
本実施形態におけるコンピュータシステムの構成においては、第1の実施形態のマルチポートメモリが上記マルチコアプロセッサに対する外部記憶装置となっている。
また、マルチコアプロセッサのチップ内の外部記憶装置制御ブロックが上記マルチポートメモリを制御する。
例えば、外部記憶装置制御ブロックは、マルチコアプロセッサの4個のCPUコア各々を、マルチポートメモリの4個の入出力ポートに対してそれぞれ割り付ける制御を行う。
そして、4つのうちいずれか任意の1個のCPUコアから、割りつけられた入出力ポートから、第1の実施形態に記載されているように、任意の複数個のメモリバンクに対して、ブロードキャストで同一のデータを同時に書き込むことが出来る。
また、逆に、任意の1個のメモリバンクをアクセスし、このメモリバンクから読み出したデータを、対応する入出力ポートを介して、任意の複数個のCPUコアへブロードキャスト転送により、1つのメモリバンクから読み出した同一のデータを、同時に転送することができる。
<第3の実施形態>
図13は、プロセッサMPU_1、MPU_2、MPU_3及びMPU_4の4個のプロセッサと、第1の実施形態におけるマルチポートメモリ(半導体記憶装置)とから構成されるコンピュータシステムの構成例を示すブロックズである。
本実施形態におけるコンピュータシステムの構成においては、4個のプロセッサ各々に対し、マルチポートメモリの4個のポートがそれぞれ割り付けて接続されて構成されている。
そして、4個のうちいずれか任意の1個のプロセッサから、割りつけられた入出力ポートを介して、第1の実施形態に記載されているように、任意の複数個のメモリバンクに対して、ブロードキャストで同一のデータを同時に書き込むことが出来る。
また、逆に、任意の1個のメモリバンクをアクセスし、このメモリバンクから読み出したデータを、対応する入出力ポートを介して、任意の複数個のプロセッサへブロードキャスト転送により、1つのメモリバンクから読み出した同一のデータを、同時に転送することができる。
本発明の第1の実施形態によるマルチポートメモリの構成例を示すブロック図である。 図1における経路切替回路2の構成例にける通常の動作モードの状態を示すブロック図である。 ブロードキャストリードモードにおけるコマンド信号と、図1の経路制御回路の動作例とを説明する概念図である。 任意の1つのメモリバンクから読み出したデータを、任意の複数の入出力ポートから読み出す処理を説明する概念図である。 任意の1つのメモリバンクから読み出したデータを、任意の複数の入出力ポートから読み出す他の処理を説明する概念図である。 ブロードキャストライトモードにおけるコマンド信号と、図1の経路制御回路の動作例とを説明する概念図である。 任意の1つの入出力ポートから入力されたデータを、任意の複数のメモリバンクに書き込む処理を説明する概念図である。 任意の1つの入出力ポートから入力されたデータを、任意の複数のメモリバンクに書き込む他の処理を説明する概念図である。 経路制御回路3におけるブロードキャストモードを設定するコマンド信号を選択する回路部分を説明するブロック図である。 経路制御回路3におけるブロードキャスト信号を生成するブロードキャスト生成回路を説明するブロック図である。 経路制御回路3における調停信号を生成する回路部分を説明するブロック図である。 第2の実施形態によるマルチポートメモリと、マルチコアプロセッサとを用いたコンピュータシステムの構成を示すブロック図である。 第3の実施形態によるマルチポートメモリと、複数のプロセッサとを用いたコンピュータシステムの構成を示すブロック図である。。
符号の説明
2…経路切替回路
3…経路制御回路
4…調停回路
A,B,C,D…入出力ポート
MB1,MB2,MB3,MB4…メモリバンク
SW_1,SW_2,SW_3,SW_4…スイッチ
SW_A,SW_B,SW_C,SW_D…スイッチ
CSD1、CSD2,CSD3,CSD4…クロスバースイッチ
CSC1、CSC2,CSC3,CSC4…クロスバースイッチ
CSA1、CSA2,CSA3,CSA4…クロスバースイッチ

Claims (6)

  1. 複数のビット線と複数のワード線との交点に配置された複数のメモリセルからなり、n(2以上の整数)個のメモリバンクに分割されたメモリアレイと、
    該メモリバンク各々に対し、コマンド、アドレス及びデータの入出力を独立して行うm(2以上の整数)個の入出力ポートと、
    前記メモリバンク及び前記入出力ポートとの間におけるコマンド、アドレス及びデータ信号経路を任意に設定する経路切替回路と
    を有し、
    前記経路切替回路が
    通常のデータアクセス状態に、外部から入力される前記コマンドにより設定された場合、前記メモリバンク及び前記入出力ポートとの間における前記コマンド線、アドレス線及びデータ線の各々の信号線の接続状態を設定するクロスバースイッチと、
    1つの入出力ポートから複数のメモリバンクへの同一データの書き込み処理、あるいは1つのメモリバンクから複数の入出力ポートに対する同一データの読み出し処理を行うブロードキャスト状態に、外部から入力される前記コマンドにより設定された場合、1つの入出力ポート及び複数のメモリバンク間、あるいは複数の入出力ポート及び1つのメモリバンク間のデータの経路を形成するブロードキャストスイッチ部と
    から構成されていることを特徴とするマルチポートメモリ。
  2. 前記ブロードキャストスイッチ部が、
    ブロードキャストデータ線と、
    前記メモリバンク毎に設けられ、前記ブロードキャストデータ線と該各メモリバンクの入出力線との接続を行う第1のスイッチと、
    前記入出力ポート毎に設けられ、前記ブロードキャストデータ線と該各入出力ポートの入出力回路との接続を行う第2のスイッチと
    をさらに有することを特徴とする請求項1に記載のマルチポートメモリ。
  3. 前記入出力ポートのいずれかから、p(2≦p≦nの整数)個の前記メモリバンクへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御を示す前記コマンドが外部から入力された場合、
    前記複数のメモリバンクに対応する前記第1のスイッチをオン状態とし、データ入力を行うとして選択された前記入出力ポートに対応する前記第2のスイッチをオン状態とし、他の第2のスイッチをオフ状態とすることを特徴とする請求項2に記載のマルチポートメモリ。
  4. 前記メモリバンクのいずれかから、q(2≦q≦mの整数)個の前記入出力ポートへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御を示すコマンドが外部から入力された場合、
    前記複数の入出力ポートに対応する前記第2のスイッチをオン状態とし、データ出力を行うとして選択された前記メモリバンクに対応する前記第1のスイッチをオン状態とし、他の第1のスイッチをオフ状態とすることを特徴とする請求項2に記載のマルチポートメモリ。
  5. 請求項1から請求項4のいずれかに記載のマルチポートメモリと、
    該マルチポートメモリの前記入出力ポートに各々接続された複数のCPUコアからなるマルチプロセッサと
    を有し、
    前記コマンド、アドレス及びデータが前記CPUコアから出力されることを特徴とするコンピュータシステム。
  6. 請求項1から請求項4のいずれかに記載のマルチポートメモリと、
    該マルチポートメモリの前記入出力ポートに各々接続された複数のプロセッサと
    を有し、
    前記コマンド、アドレス及びデータが前記プロセッサから出力されることを特徴とするコンピュータシステム。
JP2008073614A 2008-03-21 2008-03-21 マルチポートメモリ及びそのマルチポートメモリを用いたシステム Expired - Fee Related JP5449686B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008073614A JP5449686B2 (ja) 2008-03-21 2008-03-21 マルチポートメモリ及びそのマルチポートメモリを用いたシステム
US12/382,600 US8209497B2 (en) 2008-03-21 2009-03-19 Multi-port memory and system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008073614A JP5449686B2 (ja) 2008-03-21 2008-03-21 マルチポートメモリ及びそのマルチポートメモリを用いたシステム

Publications (2)

Publication Number Publication Date
JP2009230792A JP2009230792A (ja) 2009-10-08
JP5449686B2 true JP5449686B2 (ja) 2014-03-19

Family

ID=41090012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008073614A Expired - Fee Related JP5449686B2 (ja) 2008-03-21 2008-03-21 マルチポートメモリ及びそのマルチポートメモリを用いたシステム

Country Status (2)

Country Link
US (1) US8209497B2 (ja)
JP (1) JP5449686B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011165298A (ja) * 2010-01-18 2011-08-25 Elpida Memory Inc 半導体記憶装置及びこれを備えた情報処理システム
US9354823B2 (en) * 2012-06-06 2016-05-31 Mosys, Inc. Memory system including variable write burst and broadcast command scheduling
US8380940B2 (en) * 2010-06-25 2013-02-19 Qualcomm Incorporated Multi-channel multi-port memory
US8688955B2 (en) * 2010-08-13 2014-04-01 Micron Technology, Inc. Line termination methods and apparatus
CN101950279B (zh) * 2010-09-30 2012-09-19 华为技术有限公司 均衡数据信息流量的方法、总线***和译码器
KR101831692B1 (ko) * 2011-08-17 2018-02-26 삼성전자주식회사 기능적으로 비대칭인 전도성 구성 요소들을 갖는 반도체 소자, 패키지 기판, 반도체 패키지, 패키지 적층 구조물 및 전자 시스템
JP2013058277A (ja) 2011-09-07 2013-03-28 Renesas Electronics Corp 半導体装置
JP5963566B2 (ja) * 2012-06-21 2016-08-03 キヤノン株式会社 パターン識別装置
JP2014067241A (ja) * 2012-09-26 2014-04-17 Fujitsu Semiconductor Ltd 半導体記憶装置及び電子装置
KR101533685B1 (ko) 2013-11-29 2015-07-03 숭실대학교산학협력단 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템
US9990131B2 (en) 2014-09-22 2018-06-05 Xilinx, Inc. Managing memory in a multiprocessor system
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
US11068421B1 (en) * 2020-02-20 2021-07-20 Silicon Motion, Inc. Memory device and associated flash memory controller

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04333953A (ja) * 1991-05-10 1992-11-20 Nec Corp バンクメモリ制御方式
JP3456046B2 (ja) 1995-02-08 2003-10-14 松下電器産業株式会社 情報記録再生装置が内蔵されたテレビジョン受信機
JPH08221319A (ja) 1995-02-13 1996-08-30 Hitachi Ltd 半導体記憶装置
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US6212597B1 (en) 1997-07-28 2001-04-03 Neonet Lllc Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like
JP2000215659A (ja) 1999-01-27 2000-08-04 Fujitsu Ltd 半導体メモリ及び情報処理装置
JP2001043674A (ja) 1999-07-30 2001-02-16 Fujitsu Ltd 半導体記憶装置
JP4116801B2 (ja) 2002-03-14 2008-07-09 富士通株式会社 半導体記憶装置
US7120761B2 (en) * 2000-12-20 2006-10-10 Fujitsu Limited Multi-port memory based on DRAM core
JP3920565B2 (ja) 2000-12-26 2007-05-30 株式会社東芝 磁気ランダムアクセスメモリ
JP2002358232A (ja) 2001-05-31 2002-12-13 Mitsubishi Electric Corp メモリアクセス装置
JP2003263363A (ja) 2002-03-08 2003-09-19 Ricoh Co Ltd メモリ制御回路
US20050268023A1 (en) 2004-06-01 2005-12-01 Briggs Randall D Multi-port random access memory
JP2006260127A (ja) * 2005-03-17 2006-09-28 Hiroshima Univ 結合網およびそれを用いたマルチポートメモリ
JP2007066039A (ja) * 2005-08-31 2007-03-15 Sony Corp 共有メモリ装置
KR100655081B1 (ko) * 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
JP4205743B2 (ja) * 2006-08-22 2009-01-07 エルピーダメモリ株式会社 半導体記憶装置及び半導体装置

Also Published As

Publication number Publication date
US20090240897A1 (en) 2009-09-24
US8209497B2 (en) 2012-06-26
JP2009230792A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5449686B2 (ja) マルチポートメモリ及びそのマルチポートメモリを用いたシステム
US7574555B2 (en) Memory system having daisy chained memory controllers
JP4825993B2 (ja) 複数のメモリハブモジュールを含むマルチプロセッサシステムおよびその方法
JP4856379B2 (ja) プロトコル変換仲裁回路、それを備えるシステムと信号変換仲裁方法
JP4392876B2 (ja) メモリアーキテクチャ
US7990798B2 (en) Integrated circuit including a memory module having a plurality of memory banks
JP5599969B2 (ja) マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム
KR19990007287A (ko) 반도체 집적회로, 컴퓨터 시스템, 데이터 처리장치 및 데이터 처리방법
KR20080097486A (ko) 메모리 시스템 컴포넌트들 사이에서 신호들을 리라우팅하는시스템 및 방법
JP2004500673A5 (ja)
US10929318B2 (en) Memory controller enabling dual-mode access to memory module
US8171234B2 (en) Multi-bank multi-port architecture
US8036061B2 (en) Integrated circuit with multiported memory supercell and data path switching circuitry
JP2002109884A (ja) メモリ装置
US6308244B1 (en) Information processing apparatus with improved multiple memory access and control
US11157183B2 (en) Memory controller
JPH04306756A (ja) データ転送システム
JP4715219B2 (ja) 共有メモリ装置
JP3189816B2 (ja) 半導体記憶装置
US20100153663A1 (en) Memory access system and method
JP2007066039A (ja) 共有メモリ装置
US7778102B2 (en) Semiconductor memory device
KR100754359B1 (ko) 복수의 공유 블록을 포함하는 다중 포트 메모리 장치
KR20060025776A (ko) 복수의 로컬 입출력 데이터 버스가 세그먼트 입출력데이터 버스를 공유하는 반도체 기억 소자
KR20190074826A (ko) 병렬 처리 시스템 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101110

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130905

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20131030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131225

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees