JP4824180B2 - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP4824180B2 JP4824180B2 JP2001034361A JP2001034361A JP4824180B2 JP 4824180 B2 JP4824180 B2 JP 4824180B2 JP 2001034361 A JP2001034361 A JP 2001034361A JP 2001034361 A JP2001034361 A JP 2001034361A JP 4824180 B2 JP4824180 B2 JP 4824180B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- input
- refresh
- external
- data
- 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
Links
Images
Landscapes
- Dram (AREA)
Description
【発明の属する技術分野】
本発明は、1チップのマルチポート半導体記憶装置(以下、メモリと称する。)に関し、特にDRAMメモリアレーを用いたマルチポートメモリに関する。
【0002】
【従来の技術】
マルチポートメモリはいくつかの種類があるが、ここでは複数のポートを持ちそれぞれのポートから共通のメモリアレーに対し独立にアクセスできるものを言う。例えば,2ポートのマルチポートメモリは、AポートとBポートを備え、Aポートに接続したCPU−AとBポートに接続したCPU−Bから共通のメモリアレーに独立に読み書きできるものである。
【0003】
このようなマルチポートメモリとしては、メモリアレーとしてSRAMを使用し、ワード線及びビット線対をそれぞれ2重に設け、各メモリセルを2組のワード線及びビット線対にそれぞれ接続したものが知られている。しかし、このマルチポートメモリは、ワード線及びビット線対をそれぞれ2重に設ける必要があり、集積度が低いという問題がある。
【0004】
そこで、マルチプロセッサ構成のコンピュータなどで使用される共有メモリと同様の機構を使用することが考えられる。共有メモリは、共通のメモリに対して、複数のポートを設けたもので、メモリとしてSRAMを使用し、複数のポートをディスクリートICを使用して構成するのが一般的である。共有メモリでは複数のポートから同時にアクセスが行われた場合、メモリアレーが共通であるため、複数のポートからの動作処理を同時に実行できないという問題が生じる。このような問題を防止するためのもっとも簡単な対策は、あるポートからアクセスが行われている時には、他のポートにはビジー信号を出力してアクセスが行われないようにすることであるが、これでは使用方法が制限されるという問題がある。そこで、共有メモリでは、アービタと呼ばれる裁定回路を設け、複数のポートから受信したアクセス要求の優先順位を決定し、メモリアレーの制御回路が順位に従ってそれらを順次実施するようにしている。例えば各ポートへの入力が早いものから順に優先的に実施する。
【0005】
このような場合、メモリアレーは複数のポートからランダムにアクセスされることになるため、DRAMで一般的に行われる同一のロウアドレスに対して連続したコラムアドレスを連続してアクセスするコラムアクセス動作は行われない。すなわち、1回のアクセスに対しセルを選択し読み出しまたは書き込みを実施しリセットする。
【0006】
このため、共有メモリを構成する場合、従来はメモリアレーとして一般的にSRAMが用いられてきた。これは、SRAMはランダムアクセスが高速であり、またリフレッシュが不要なため使い易いからである。また、1チップのマルチポートメモリは、上記のようなワード線及びビット線対をそれぞれ2重に設ける構成のもので、通常のSRAMと同様のメモリアレーを使用した1チップのマルチポートメモリは実用化されていなかった。
【0007】
【発明が解決しようとする課題】
いずれにしろ、従来のマルチポートメモリ及び共有メモリではSRAMが使用され、リフレッシュが必要なDRAMは使用されていなかった。
システムが高性能化するにつれ扱うデータ量も増大し、マルチポートメモリも大容量が必要とされてきている。そのため、SRAMに比べて高集積度のダイナミック型メモリセル(DRAM)アレーをマルチポートメモリに採用し、低コストで記憶容量の大きなマルチポートメモリを実現する考えが出てきた。しかし、ここで問題になるのがメモリセルのリフレッシュである。
【0008】
通常のDRAMにおいては書き込み/読み出し命令の合間に定期的に外部からリフレッシュ命令を与える必要があり、そのためDRAMを搭載するシステムのコントローラデバイスはリフレッシュ管理用のタイマーや制御回路を備えている。しかし、SRAMを使用したこれまでのマルチポートメモリを搭載するシステムにはこのような回路は備えられていない。メモリアレーをDRAMで構成する場合でも、そのようなシステムで従来のマルチポートメモリと同じように使用できることが要求される。すなわち、メモリアレーをDRAMで構成したマルチポートメモリは、リフレッシュについてメモリデバイス自身で何かの対策をとる必要がある。
【0009】
本発明は、メモリアレーをDRAMコアで構成してもリフレシュを意識せずに使用でき、大容量で使い勝手のよいマルチポートメモリが低コストで実現することを目的とする。
【0010】
【課題を解決するための手段】
図1は、本発明の原理を説明する図であり、2ポートで読み出し動作を行う場合を示している。
AポートとBポートの2つの外部ポートに入力されるコマンドは、3回の内部動作サイクルが可能な時間を最小サイクルとして入力される。すなわち、外部コマンドサイクルは、3回の内部動作サイクルが可能な時間以上に設定される。AポートとBポートには、それぞれクロックCLKAとCLKBが入力され、コマンド、アドレス及びデータの外部と外部ポートとの間の入出力は、クロックに同期して行われる。図示していないが、アドレスはコマンドと同時に入力される。図示のように、AポートとBポートから最小の外部コマンドサイクルで読み出しコマンドが入力されると、裁定回路が先に入力された方を優先してコア動作を行うように制御する。上記のように、外部コマンドサイクルの間に3回の内部動作が可能であるから、外部コマンドサイクルの間にメモリアレーから2つの読み出し動作を行い、読み出したデータをAポートとBポートに出力する。AポートとBポートは、それぞれ読み出しデータを保持し、次の外部コマンドサイクルの開始、すなわち、読み出しコマンドの入力から4クロック目のクロックに同期して読み出しデータを出力する。すなわち、この場合のデータレイテンシは4である。
【0011】
内部にはリフレッシュタイマーが内蔵され、リフレッシュコマンドを内部で自動的に発生する。上記のように、外部コマンドサイクルの間に3回の内部動作が可能であるから、リフレッシュコマンドが発生された時には、外部コマンドサイクルの間に、コマンドA、コマンドB、及びリフレッシュが実行でき、読み出したデータは次の外部コマンドサイクルの開始時に出力される。このように、外部からはリフレッシュを意識することなく、マルチポートメモリにアクセスすることができる。
【0012】
図1の例では、1回の読み出しコマンドに対して、読み出しデータの出力は1回行われる。すなわち、バースト長は1である。そのため、読み出しデータの出力が1クロックサイクルで終了すると、外部コマンドサイクルの残りの3クロックサイクルの間、外部ポートはデータの出力を行わないことになり、データの転送効率が悪いという問題がある。この問題は、バースト長を大きくすることにより解決できる。
【0013】
図2は、本発明の原理を説明する図であり、バースト長が4の場合の例である。この例でも、2つの外部ポートの外部コマンドサイクルは、3回の内部動作サイクルが可能な時間に設定される。更に、1外部コマンドサイクルは4クロックサイクルであり、1外部コマンドサイクルの間に、外部ポートからクロックに同期してデータが4回出力される。従って、1外部コマンドサイクルのクロック数に応じてバースト長を設定すれば、2つのポートでギャップレス読み出しが可能となり、データ転送レートを大幅にアップすることができる。なお、この場合、内部ではメモリアレーに対してバースト長分のデータが1回の動作で入出力できることが必要である。例えば、外部ポートのデータ入出力端子が4個で、バースト長が4であれば、メモリアレーに対して16ビットのデータが1回の動作で入出力できるようにする。
【0014】
なお、AポートとBポートは同期して動作する必要はなく、それぞれの外部コマンドサイクルは、3回の内部動作サイクルが可能な時間を最小サイクルとする条件を満たせば、独立して任意に設定できる。
また、外部ポートの個数も任意に設定できるが、その場合外部ポートの個数をnとすると、各ポートの外部コマンドサイクルは、n+1回の内部動作サイクルが可能な時間を最小サイクルとする。この条件を満たせば、たとえリフレシュ動作を行っても、外部コマンドサイクル中に各ポートから要求される動作を実行することが可能であり、リフレシュ動作を意識せずにマルチポートメモリを使用できる。
【0015】
図3と図4は、ポート数が2,3及びnの場合の、最小外部コマンドサイクルと内部動作サイクルの関係を示す図である。図示のように、ポート数が2の場合には、最小外部コマンドサイクルは3回の内部動作が可能な時間であり、ポート数が3の場合には、最小外部コマンドサイクルは4回の内部動作が可能な時間であり、ポート数がnの場合には、最小外部コマンドサイクルはn+1回の内部動作が可能な時間である。
【0016】
【発明の実施の形態】
図5と図6は、本発明の実施例のマルチポートメモリの構成を示す図であり、図5はDRAMコアとその周辺部を示し、図6の(A)はAポートを、図6の(B)はBポートを、図6の(C)はリフレシュ回路を示し、図6の(A)から(C)の部分は図5の部分に接続される。
【0017】
図示のように、実施例のマルチポートメモリは、DRAMコア11と、処理の順番を決めて順番どおりに処理が行われるように制御するアービタ26と、コマンドやアドレスやデータを一時的に保持するレジスタ群と、Aポート30とBポート40の2個の外部ポートと、リフレシュ回路50とを備える。
Aポート30とBポート40は、それぞれ、モードレジスタ31,41と、CLKバッファ32,42と、データ入出力回路33,43と、アドレス入力回路34,44と、コマンド入力部35,45とを備え、それぞれが外部から供給される別々のクロック周波数で動作できると共に、データレイテンシおよびバースト長をモードレジスタ31,41を記憶して別々に設定できるようになっている。データ入出力回路33,43は、バースト長に応じて、入出力データをパラレル・シリアル及びシリアル・パラレル変換する機構を備えている。
【0018】
リフレシュ回路50は、リフレッシュタイマ51とリフレッシュコマンド発生器52を備えており、リフレッシュタイマ51が所定の周期でリフレシュ起動信号を発生し、リフレッシュコマンド発生器52がそれに応じてリフレシュコマンドを発生する。
A・B両ポートから入力されたコマンド・アドレス・書き込みデータはそれぞれレジスタに保持される。またリフレッシュコマンドもリフレシュコマンドレジスタ27に保持され、リフレッシュアドレスはリフレッシュアドレスカウンタ/レジスタ18に保持される。
【0019】
アービタ26はコマンドの到着順に基づきコマンドの実行順番を決定しそのコマンドを順番にDRAMコア11の制御回路14に転送するとともに、対応するアドレスレジスタおよびデータレジスタ(書込みの場合)に転送信号を送信する。DRAMコア11では、制御回路14が受信したコマンドに応じて、デコーダ13、ライトアンプ(Write Amp)15、センスバッファ16を制御して、メモリアレー12へのアクセス動作を行う。書き込み動作の場合には、デコーダ13が書き込み先のアドレスをデコードして、メモリアレー12のワード線とコラム信号線を活性化し、WriteデータレジスタAとB22,23に保持された書き込みデータをWrite Amp15からメモリアレー15に書き込む。読み出しの場合は、同様にメモリアレー12にアクセスして、センスバッファ16から読み出しデータが転送ゲートA24,B25を介して各ポートのデータ出力回路に送られる。転送ゲートの転送タイミングはDRAMコア11の動作サイクルで決まり制御回路14により発生される。出力データは,各ポートのデータ出力回路において外部クロックに同期して出力される。
【0020】
以下、コマンド、アドレス、データのそれぞれの処理に関係する部分について詳しく説明する。
図7と図8は、第1実施例のコマンドに関連する部分の構成を示す図であり、図5と図6に示された部分と同じ部分には同一の参照番号を付している。なお、以下の他の図についても同様である。
【0021】
図7に示すように、Aポートのコマンド入力部35は、入力バッファ36と、コマンドデコーダ37と、(n−1)クロックディレイ38とを有し、Bポートのコマンド入力部45は、入力バッファ46と、コマンドでコーダ47と、(m−1)クロックディレイ48とを有する。nとmは、バースト長である。また、図8に示すように、コマンドレジスタA28は、ReadコマンドレジスタARと、WriteコマンドレジスタAWとを有し、コマンドレジスタB29は、ReadコマンドレジスタBRと、WriteコマンドレジスタBWとを有する。
【0022】
入力バッファ36,46は、入力されたReadコマンドをクロックCLKA1,CLKB1に同期して取り込み、コマンドでコーダ37,47は、デコードして、読み出しコマンドであればRA1,RB1を発生し、書き込みコマンドであればWA1,WB1を発生する。RA1,RB1はそのままのタイミングでReadコマンドレジスタAR,BRに転送されるが、WA1,WB1は(n−1)クロックディレイ38と(m−1)クロックディレイ48でバーストデータの最終データが入力されるまで遅延された後、WriteコマンドレジスタAW,BWに転送される。また、リフレシュ回路50で発生されたリフレシュコマンドREF1は、リフレシュコマンドレジスタ27に転送される。
【0023】
アービタ26は、上記の5個のコマンドレシスタAR,AW,BR,BW,27にコマンドが転送された順番を検出しDRAM制御回路14にそのコマンドを順番に1個づつ転送する。DRAM制御回路14は受信したコマンドを実施しそれが終了したら(または終了に近づいたら)RESET1信号を発生しアービタ26に次ぎのコマンドを要求する。アービタはRESET1信号を受けて処理が終了したコマンドが格納されているコマンドレジスタをリセットし次ぎのコマンドをDRAM制御回路14に転送する。
【0024】
図9はアービタ26の実施例である。図8の5個のコマンドレジスタにコマンドが到着した順番を図のような比較器53を用いて判定する。各比較器53は2個のコマンドレジスタのタイミングを比較し先に”H”が入力された側の出力が”H”となる。ANDゲート54は、関連する比較器53の出力がすべて”H”になるかを判定することにより、各コマンドが他の4個のコマンドのすべてに対して先に入力されたかを判定する。各コマンドに対応する信号RA3,WA3,RB3,WB3,REFは、最先のコマンドである場合に”H”を示し、対応するコマンドのアドレスなどがDRAMコア11に転送される。コマンドが、DRAMコア11で実施されるとRESET1信号がDRAMコア11から発生され実施済のコマンドレジスタをリセットする信号(ResetRA,ResetWA等)が発生される。実施済のコマンドがリセットされるとそのコマンドが入力されている比較器53の出力が変化し、次ぎの順位のコマンドがDRAMコア11に転送される。このようにして、入力した順にコマンドの処理が行われる。
【0025】
図10は、第1実施例のアドレスに関連する部分の構成を示す図である。なお、以下の図において、信号の終わりに”P”が付されているのは、元の信号の立ち上がりエッジをパルス化するなどして生成したパルス上の信号である。図示のように、アドレス入力回路34,44は、入力バッファ57A,57Bと、転送ゲート58A,58Bを有する。また、アドレスレジスタA19及びアドレスレジスタB20は、アドレスラッチA1,B1と、転送ゲート60A,60Bと、アドレスラッチA2,B2と、転送ゲート62A,62B,63A,63Bとを有する。転送ゲート62A,62B,63A,63Bからのアドレスは、アドレスバス17を介してDRAMコア11に転送される。更に、リフレシュアドレスカウンタ/レジスタ18の出力するリフレシュアドレスも、転送ゲート64とアドレスバス17を介してDRAMコア11に転送される。
【0026】
ReadコマンドまたはWriteコマンドが外部から入力されると、それと同時に入力バッファ57A,57Bに入力されたアドレスが転送ゲート58A,58Bを介してアドレスラッチA1,B1に転送される。コマンドがReadコマンドならば転送ゲート63A,63Bを介して、コマンドのDRAMコアへの転送と同期してDRAMコア11に転送される。コマンドがWriteコマンドならば,最終データ取り込みタイミングで更にアドレスラッチA2,B2に転送された後、コマンドのDRAMコアへの転送と同期して転送ゲート62A,62BからDRAMコア11に転送される。また、リフレッシュアドレスは、リフレッシュアドレシカウンタ/レジスタ18で発生され保持され、同様にリフレシュコマンドのDRAMコアへの転送と同期して転送ゲート64からDRAMコア11に転送される。
【0027】
図11は第1実施例のデータ出力に関連する部分の構成を示す図であり、図12はその中の転送信号発生回路を示す図である。Aポート30とBポート40のデータ入出力回路33,43は、データ出力用回路65A,65Bと、後述するデータ入力用回路74A,74Bとを有する。図示のように、メモリアレー12からセンスバッファ16を介して読み出されたデータは、データバス21と転送ゲート24,25を介して、データ出力用回路65A,65Bに転送される。
【0028】
データ出力用回路65A,65Bは、それぞれデータラッチA1,B1と、転送信号発生回路67A,67Bと、転送ゲート69A,69Bと、データラッチA2,B2と、パラレル−シリアル(パラシリ)変換器70A,70Bと、出力バッファ71A,71Bとを有する。
転送ゲート24と25は、DRAMコア11の制御回路14により内部動作に基づいて制御され、実施したコマンドがRead−A(Aポートからの読み出し動作)であれば、転送ゲート24開き、Read−Bであれば転送ゲート25が開く。データラッチA1,B1においてデータが保持され、転送ゲート68A,68Bで各ポートでのReadコマンド受信から所定のレイテンシ後にデータラッチA2,B2に転送され、パラシリ変換器70A,70Bで変換され出力バッファ71A,71Bに転送され出力される。
【0029】
図12に示すように、転送信号発生回路67A,67Bは、直列に接続されたフリップ・フロップ72により、ReadコマンドRA1,RB1を、設定されたレイテンシに応じたクロック数分遅延させてデータ転送信号2を発生する。転送ゲート68A,68Bからの読み出しデータの転送はデータ転送信号2に応じて行われるので、読み出しデータは読み出し動作からレイテンシに応じたクロック数分遅延されることになる。
【0030】
図13は第1実施例のデータ入力に関連する部分の構成を示す図である。データ入力用回路74A,74Bは、データ入力(Din)バッファ75A,75Bと、シリアル−パラレル変換器76A,76Bと、データ転送部77A,77Bとを有する。データ転送部77A,77Bからの書き込みデータは、Wrireデータレジスタ22,23とデータ転送部78A,78Bとデータバス21を介して、Write Amp.15に送られ、メモリアレー12に書き込まれる。
【0031】
シリアル入力されたデータは、バースト長に応じてシリアル−パラレル変換され最後のデータが入力された時点でWriteレジスタ22,23に転送される。アービタ26からWriteコマンドがDRAMコア11に転送されたら,それに対応するデータもデータ転送ゲート78A,78BからDRAMコア11に転送される。
【0032】
図14から図21は、第1実施例のマルチポートメモリの動作を示すタイムチャートである。図14と図15、図17と図18、及び図20と図21は、表示の都合上1つのタイムチャートを分割した図であり、一方がタイムチャートの前半部分を、他方が後半部分を示し、一部を重複して示している。
図14と図15は、2つのポートに連続してRead動作のコマンドが入力された場合の動作を示す。AポートとBポートは、それぞれ周波数の異なるクロックCLKAとCLKBが入力され、入力されるクロックに同期してコマンド、アドレス及び書き込みデータの取り込みを行うと共に、クロックに同期して読み出しデータの出力を行う。この例では、Aポートは最高クロック周波数で動作し、Bポートはそれより遅いクロック周波数で動作し、AポートはReadコマンドサイクル=4(CLKA)、データレイテンシ=4、バースト長=4、BポートはReadコマンドサイクル=2(CLKB)、データレイテンシ=2、バースト長=2である。データレイテンシとバースト長はそれぞれのポートのモードレジスタ31,41に設定される。従って、ここでは1回のコマンドに対して、データの入出力動作はクロックに同期して4回行われ、読み出しのコマンドの入力から4クロック後から読み出しデータの出力が行われる。
【0033】
AとBの両ポートが受信したコマンドは、それぞれコマンドレジスタ28,29に保持される。またリフレッシュタイマー51が信号を発生するとリフレッシュコマンドがリフレッシュコマンドレジスタ27に保持される。アービタ26はこれらのコマンドレジスタを監視し、早く発生したコマンドから順番にDRAMコア11に転送する。前回転送したコマンドの処理が終了してから次ぎのコマンドを転送する。DRAMコア11から読み出されたデータはセンスバッファ16から各ポートのデータラッチ69A,69Bに転送され、さらにパラレルデータからシリアルデータに変換され外部クロックに同期してバースト出力される。
【0034】
図示のように、ReadコマンドレジスタARにコマンドRead−A2が入力され、ReadコマンドレジスタBRにコマンドRead−B2が入力される前に、リフレッシュが1回発生し、リフレシュコマンドレジスタにリフレシュコマンドが入力されると、発生順番に従いアービタ26はRead−A2→Ref→Read−B2の順にDRAMコア11に転送し、コアで順次実施する。リフレッシュを内部で実施していても外部から見るとデータは所定のデータレイテンシ後に出力されており、外部からはリフレッシュを意識する必要がない。
【0035】
図16は、同様な条件で連続してWriteコマンドが入力された例である。Write時の外部からのデータ入力もバースト入力である。このときWriteコマンドレジスタAWにWriteコマンドが保持されるタイミングは最終データが入力された時点からとする。この場合も、内部でリフレッシュが発生しそれを実施しても外部からは意識する必要がないことがわかる。
【0036】
図17と図18は、AとBの両ポートが最高クロック周波数でRead動作した場合の動作図であり、図19は、AとBの両ポートが最高クロック周波数でWrite動作した場合の動作図である。この場合、両ポートのクロックに位相差があってもよい。両ポートともReadコマンドサイクル=4、Writeコマンドサイクル=4、データレイテンシ=4、バースト長=4、である。図示のように、このような場合でも問題なく動作しているのが分かる。
【0037】
図20と図21は、両ポートが最高周波数で動作し、WriteコマンドからReadコマンドに切り替わり、更に内部でリフレッシュが発生した場合のタイムチャートであり、この場合がコマンドが最も混み合う状態である。
図示のように、DRAMコア11はRef→Write−A1→Write−B1→Read−A2→Read−B2の順で実施しておりその間に隙間はない。この例では、Read−A2とRead−B2をWriteコマンド入力から6クロック後に入力しているが、もしこれを2クロック前進させたとしてもDRAMコアでの動作を前進させることはできない。それに対し読み出しデータの出力タイミングはReadコマンド入力からデータレイテンシで決まる。よってRead−A2とRead−B2の入力タイミングを前進させればその分データ出力タイミングも前進させる必要はある。そうするとたとえばRead−B2はDRAMコアでの動作開始とほとんど同時にデータ出力タイミングが来てしまい、動作不能となる。以上のような理由で、Write→Readの切り替えに関してはコマンド間隔を長くし、例えばこの例では6クロックとする。
【0038】
Read→Writeのコマンド間隔については、Readデータの出力を完了しないとWriteデータをDQ端子から受信できないため、必然的にコマンド間隔は広くなる。
図22はDRAMコア11の動作図であり、(A)はRead動作を、(B)はWrite動作を示す。このように1個のコマンドに対し、ワード線選択→データ増幅→ライトバック→プリチャージを実施し、動作を完結させる。
【0039】
上記のように、第1実施例では、Writeコマンド→Readコマンドの切り替え時はコマンド間隔が広がってしまう。これを少しでも改善するのが第2実施例である。第1実施例では、この時のコマンド間隔が6クロックであったが、第2実施例を適用すればこれが5クロックに短縮される。
本発明の第2実施例のマルチポートメモリは、第1実施例のマルチポートメモリと類似の構成を有し、リフレシュ回路が図23に示すような構成を有する点のみが異なる。また、図24は第2アービタ83の回路構成を示す図である。
【0040】
図23に示すように、第2実施例のリフレシュ回路には、図6の(C)のリフレシュタイマ51とリフレシュコマンド発生器52を合せたリフレシュタイマ/リフレシュコマンド発生器81と、第2リフレシュコマンドレジスタ82と、第2アービタ83とを設け、第2アービタ83から出力されるリフレシュコマンドがリフレシュコマンドレジスタ27に入力される。リフレシュコマンドレジスタ27のリフレシュコマンドREF2は、第1実施例と同様に、アービタ26に入力される。ここでは、リフレシュ動作が終了した後アービタ26から出力されるリフレシュコマンドレジスタ27のリセット信号ResetREFが第2リフレシュコマンドレジスタ82にも印加される。
【0041】
第2実施例のリフレシュ回路では、リフレシュコマンドの経路に第2アービタ83を設け、Writeコマンド→Readコマンドの切り替え時のようにコマンドが混むことが予想される場合はリフレッシュコマンドをリフレッシュコマンドレジスタ27に転送するのを待たせる。第2アービタ83は、図24に示すような回路構成により、Writeコマンド→Readコマンドの切り替えが行われるかを判定し、そのように判定された時には第2リフレシュコマンドレジスタ82からリフレシュコマンドレジスタ27へのリフレシュコマンドの転送を待たせる。
【0042】
図24に示すように、REF転送禁止A,Bは、それぞれのポートで外部からWriteコマンドを受信すると切断され、その1クロック後にまた発生し最終データを受信してから数クロック後(この例では3クロック後)に切断される信号である。図24の3CLKディレイ84A,84Bは、フリップフロップなどで構成され、WA1又はWB1によりリセットされると、ディレイを通過中のWA1D又はWA1Bがリセットされる回路である。このREF転送禁止A及びBのANDをとってREFコマンド転送禁止信号をつくる。ここでANDをとる理由は、この例においては両ポートがWriteコマンド→Readコマンドに切り替わる場合が問題であって、片方のポートのみが切り替わる場合は問題ないからである。またWriteコマンドを受信したら1クロックの期間だけREF転送禁止A,Bを切断するのは、最終データ受信前に時間的に余裕をもってリフレッシュを実施するためである。また、ディレイ86を設けるのは、クロックからタイミングを少し後ろにずらし外部から入ってくるコマンドとREFコマンド転送禁止信号の前後関係を明確にするためである。
【0043】
図25から図32は第2アービタの動作を示すタイムチャートであり、図33から図35は第2実施例のマルチポートメモリの動作を示すタイムチャートである。図25と図26、図27と図28、図29と図30、図31と図32及び図33と図34は、表示の都合上1つのタイムチャートを分割した図であり、一方がタイムチャートの前半部分を、他方が後半部分を示し、一部を重複して示している。
【0044】
図25と図26は、両ポートがWrite→Readに切り替わり、更にREF転送禁止期間内にリフレッシュタイマが発生した場合であり、リフレッシュ動作RefはRead−A2とRead−B2が終了した後実行される。
図27と図28は、同様に、両ポートがWrite→Readに切り替わる場合であるが、REF転送禁止期間前にリフレッシュタイマが発生した場合であり、リフレッシュ動作Refが行われた後、Write動作とRead動作が行われる。
【0045】
図29と図30は、AポートのみがWrite→Readに切り替わる場合で、REF転送禁止期間中にリフレッシュタイマが発生した場合であり、Write動作が行われた後にリフレッシュ動作Refが行われ、更にRead動作が行われる。
図31と図32は、両ポートでWriteが連続した場合である。この場合には、最終データ入力後にWriteコマンドが入力されると、ただちに3CLKディレイ84A,84Bが切断される。
【0046】
図33と図34は、図20と図21に示した第1実施例の動作に対応する第2実施例の動作を示すタイムチャートであり、第1実施例に比べて、Write→Readコマンドの切り替えの場合のコマンド間隔が、6クロックから5クロックに短縮されている。
図35は、図19に示した第1実施例の動作に対応する第2実施例の動作を示すタイムチャートであり、第1実施例に比べて、リフレッシュ実行の順番が変わるが、問題はないことが分かる。
【0047】
以上のように、第2実施例では、どのような場合も正常な動作が可能であり、Writeコマンド→Readコマンドの切り替え時のコマンド間隔を5クロックできることが分かる。
【0048】
【発明の効果】
以上説明したように、本発明によれば、マルチポートメモリのメモリアレーをDRAMコアで構成してもリフレシュを意識せずに使用でき、大容量で使い勝手のよいマルチポートメモリが低コストで実現できる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】バースト長が4の場合の本発明の原理説明図である。
【図3】バースト長が4の場合の本発明の原理説明図である。
【図4】本発明の原理説明図である。
【図5】本発明の実施例のマルチポートメモリの構成を示す図(その1)である。
【図6】本発明の実施例のマルチポートメモリの構成を示す図(その2)である。
【図7】本発明の第1実施例のマルチポートメモリのコマンドに関連する部分の構成を示す図(その1)である。
【図8】本発明の第1実施例のマルチポートメモリのコマンドに関連する部分の構成を示す図(その2)である。
【図9】第1実施例のマルチポートメモリのアービタの構成を示す図である。
【図10】第1実施例のマルチポートメモリのアドレスに関連する部分の構成を示す図である。
【図11】第1実施例のマルチポートメモリのデータ出力に関連する部分の構成を示す図である。
【図12】第1実施例の転送信号発生回路の構成を示す図である。
【図13】第1実施例のマルチポートメモリのデータ入力に関連する部分の構成を示す図である。
【図14】第1実施例のマルチポートメモリの動作(連続Read)を示すタイムチャート(その1)である。
【図15】第1実施例のマルチポートメモリの動作(連続Read)を示すタイムチャート(その2)である。
【図16】第1実施例のマルチポートメモリの動作(連続Write)を示すタイムチャートである。
【図17】第1実施例のマルチポートメモリの動作(最速連続Read)を示すタイムチャート(その1)である。
【図18】第1実施例のマルチポートメモリの動作(最速連続Read)を示すタイムチャート(その2)である。
【図19】第1実施例のマルチポートメモリの動作(最速連続Write)を示すタイムチャートである。
【図20】第1実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その1)である。
【図21】第1実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その2)である。
【図22】第1実施例のマルチポートメモリのDRAMコア動作を示すタイムチャートである。
【図23】本発明の第2実施例のマルチポートメモリのリフレシュ回路を示す図である。
【図24】第2実施例の第2アービタを示す図である。
【図25】第2実施例のアービタの動作(ケース1)を示すタイムチャート(その1)である。
【図26】第2実施例のアービタの動作(ケース1)を示すタイムチャート(その2)である。
【図27】第2実施例のアービタの動作(ケース2)を示すタイムチャート(その1)である。
【図28】第2実施例のアービタの動作(ケース2)を示すタイムチャート(その2)である。
【図29】第2実施例のアービタの動作(ケース3)を示すタイムチャート(その1)である。
【図30】第2実施例のアービタの動作(ケース3)を示すタイムチャート(その2)である。
【図31】第2実施例のアービタの動作(ケース4)を示すタイムチャート(その1)である。
【図32】第2実施例のアービタの動作(ケース4)を示すタイムチャート(その2)である。
【図33】第2実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その1)である。
【図34】第2実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その2)である。
【図35】第2実施例のマルチポートメモリの動作(連続Write)を示すタイムチャートである。
【符号の説明】
11…DRAMコア
12…メモリアレー
14…制御回路
15…Write Amp.
16…センスバッファ
18…リフレシュアドレスカウンタ/レジスタ
19…アドレスレジスタA
20…アドレスレジスタB
22…WriteデータレジスタA
23…WriteデータレジスタB
24…転送ゲートA
25…転送ゲートB
26…アービタ
30,40…(A,B)外部ポート
31,41…モードレジスタ
32,42…CLKバッファ
33,43…データ入出力回路
34,44…アドレス入力回路
35,45…コマンド入力回路
50…リフレシュ回路
Claims (3)
- メモリアレーと、
それぞれ外部コマンドを受信するN組(Nは2以上の整数)の外部ポートと、
内部で独自にリフレッシュコマンドを発生する内部コマンド発生回路と、
前記N組の外部ポートから入力される前記外部コマンドと前記リフレッシュコマンドを所定の順序で実行するように制御する裁定回路と、を備える半導体記憶装置であって、
前記N組の外部ポートは、それぞれ外部からクロックを受信するクロック端子を備え、それぞれが受信したクロックに同期して入出力動作を行い、
前記N組の外部ポートは、それぞれバースト型のデータ入出力部を備え、
前記N組の外部ポートは、それぞれ前記外部コマンドの入力サイクルの間に、データの入出力を複数回行い、
各組の前記外部ポートから入力される前記外部コマンドの最小入力サイクル時間は、当該半導体記憶装置がN回の前記外部コマンドに対応した動作と1回のリフレッシュを実施することが可能な時間以上に設定されており、
前記外部コマンドは、読み出しコマンドと書き込みコマンドを含み、
前記裁定回路は、前記読み出しコマンドについては前記外部ポートに取り込まれた第1のタイミングに基づいて順番を決定し、前記書き込みコマンドについてはバースト入力される最後のデータが入力される第2のタイミングに基づいて順番を決定し、
前記裁定回路は、前記複数の外部ポートでリフレッシュ転送禁止期間内に前記第2のタイミングに続いて前記第1のタイミングが発生した場合に、前記リフレッシュ転送禁止期間内に発生した前記リフレッシュコマンドの優先順位を下げる、ことを特徴とする半導体記憶装置。 - 当該半導体記憶装置は、前記メモリアレーと各外部ポートの間で、1バースト長分のデータを1回の動作で入出力できる請求項1に記載の半導体記憶装置。
- 前記リフレッシュ転送禁止期間は、前記書き込みコマンドが入力されたタイミングと前記第2のタイミングに基づいて設定される請求項1に記載の半導体記憶装置。
Priority Applications (23)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001034361A JP4824180B2 (ja) | 2001-02-09 | 2001-02-09 | 半導体記憶装置 |
DE60142756T DE60142756D1 (de) | 2000-12-20 | 2001-10-02 | Multiportspeicher auf Basis von mehreren Speicherkernen |
DE60132382T DE60132382T2 (de) | 2000-12-20 | 2001-10-02 | Multiportspeicher auf Basis von DRAM |
DE60136574T DE60136574D1 (de) | 2000-12-20 | 2001-10-02 | Multiportspeicher auf Basis von DRAM |
EP05010996A EP1564749B8 (en) | 2000-12-20 | 2001-10-02 | Multi-port memory based on DRAM core |
EP05010995A EP1564748B1 (en) | 2000-12-20 | 2001-10-02 | Multi-port memory based on DRAM core |
EP01308424A EP1220226B1 (en) | 2000-12-20 | 2001-10-02 | Multi-port memory based on DRAM core |
EP07103542A EP1808861B1 (en) | 2000-12-20 | 2001-10-02 | Multi-port memory based on a plurality of memory cores |
US09/968,516 US20020078311A1 (en) | 2000-12-20 | 2001-10-02 | Multi-port memory based on DRAM core |
DE60112701T DE60112701T2 (de) | 2000-12-20 | 2001-10-02 | Multiportspeicher auf Basis von DRAM |
TW090124818A TW526500B (en) | 2000-12-20 | 2001-10-08 | Multi-port memory based on DRAM core |
KR1020010066494A KR100801119B1 (ko) | 2000-12-20 | 2001-10-26 | 디램 코어를 기반으로 한 다중 포트 메모리 |
CNB011393580A CN1271636C (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器 |
CN2006101212012A CN1905059B (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器及其控制方法 |
CN2009101503100A CN101582290B (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器及其控制方法 |
CN 200510083508 CN1734668B (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器 |
CN2008101849509A CN101477829B (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器 |
CN2008101849551A CN101452737B (zh) | 2000-12-20 | 2001-11-26 | 基于动态随机存取存储器核心的多端口存储器 |
US10/284,092 US7120761B2 (en) | 2000-12-20 | 2002-10-31 | Multi-port memory based on DRAM core |
US11/512,319 US7911825B2 (en) | 2000-12-20 | 2006-08-30 | Multi-port memory based on DRAM core |
US13/031,080 US8547776B2 (en) | 2000-12-20 | 2011-02-18 | Multi-port memory based on DRAM core |
US13/601,406 US8717842B2 (en) | 2000-12-20 | 2012-08-31 | Multi-port memory based on DRAM core |
US13/601,475 US8687456B2 (en) | 2000-12-20 | 2012-08-31 | Multi-port memory based on DRAM core |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001034361A JP4824180B2 (ja) | 2001-02-09 | 2001-02-09 | 半導体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002237184A JP2002237184A (ja) | 2002-08-23 |
JP4824180B2 true JP4824180B2 (ja) | 2011-11-30 |
Family
ID=18897983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001034361A Expired - Fee Related JP4824180B2 (ja) | 2000-12-20 | 2001-02-09 | 半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4824180B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5028710B2 (ja) * | 2001-02-14 | 2012-09-19 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
JP4997663B2 (ja) * | 2000-12-27 | 2012-08-08 | 富士通セミコンダクター株式会社 | マルチポートメモリおよびその制御方法 |
JP4783501B2 (ja) * | 2000-12-27 | 2011-09-28 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
JP5070656B2 (ja) * | 2000-12-20 | 2012-11-14 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
KR100705335B1 (ko) * | 2005-10-31 | 2007-04-09 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 데이터입출력 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6171494A (ja) * | 1984-09-14 | 1986-04-12 | Hitachi Ltd | 半導体記憶装置 |
JPH03122892A (ja) * | 1989-10-06 | 1991-05-24 | Hitachi Ltd | メモリ制御回路 |
JPH05128847A (ja) * | 1991-11-08 | 1993-05-25 | Fujitsu Ltd | ダイナミツクramアクセス方法 |
TW451215B (en) * | 1998-06-23 | 2001-08-21 | Motorola Inc | Pipelined dual port integrated circuit memory |
JP2001118383A (ja) * | 1999-10-20 | 2001-04-27 | Fujitsu Ltd | リフレッシュを自動で行うダイナミックメモリ回路 |
JP5028710B2 (ja) * | 2001-02-14 | 2012-09-19 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
JP4783501B2 (ja) * | 2000-12-27 | 2011-09-28 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
JP5070656B2 (ja) * | 2000-12-20 | 2012-11-14 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
-
2001
- 2001-02-09 JP JP2001034361A patent/JP4824180B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002237184A (ja) | 2002-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8717842B2 (en) | Multi-port memory based on DRAM core | |
KR100801119B1 (ko) | 디램 코어를 기반으로 한 다중 포트 메모리 | |
US7421548B2 (en) | Memory system and method for two step memory write operations | |
JP5070656B2 (ja) | 半導体記憶装置 | |
US6728157B2 (en) | Semiconductor memory | |
US9741406B2 (en) | Semiconductor memory and memory system | |
US7069406B2 (en) | Double data rate synchronous SRAM with 100% bus utilization | |
JP4824180B2 (ja) | 半導体記憶装置 | |
JP4827399B2 (ja) | 半導体記憶装置 | |
JP4783501B2 (ja) | 半導体記憶装置 | |
US7574582B2 (en) | Processor array including delay elements associated with primary bus nodes | |
JP5028710B2 (ja) | 半導体記憶装置 | |
JP4116801B2 (ja) | 半導体記憶装置 | |
JPH10326491A (ja) | メモリ装置、sramセル、およびデータ転送方法 | |
JP2004355810A (ja) | 半導体記憶装置 | |
JPH022236B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071219 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101118 |
|
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: 20110830 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140916 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |