[go: up one dir, main page]

JP5028710B2 - Semiconductor memory device - Google Patents

Semiconductor memory device Download PDF

Info

Publication number
JP5028710B2
JP5028710B2 JP2001037547A JP2001037547A JP5028710B2 JP 5028710 B2 JP5028710 B2 JP 5028710B2 JP 2001037547 A JP2001037547 A JP 2001037547A JP 2001037547 A JP2001037547 A JP 2001037547A JP 5028710 B2 JP5028710 B2 JP 5028710B2
Authority
JP
Japan
Prior art keywords
command
register
external
data
input
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
JP2001037547A
Other languages
Japanese (ja)
Other versions
JP2002245776A (en
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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
Priority to JP2001037547A priority Critical patent/JP5028710B2/en
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to DE60132382T priority patent/DE60132382T2/en
Priority to EP07103542A priority patent/EP1808861B1/en
Priority to EP01308424A priority patent/EP1220226B1/en
Priority to EP05010995A priority patent/EP1564748B1/en
Priority to DE60112701T priority patent/DE60112701T2/en
Priority to EP05010996A priority patent/EP1564749B8/en
Priority to DE60136574T priority patent/DE60136574D1/en
Priority to US09/968,516 priority patent/US20020078311A1/en
Priority to DE60142756T priority patent/DE60142756D1/en
Priority to TW090124818A priority patent/TW526500B/en
Priority to KR1020010066494A priority patent/KR100801119B1/en
Priority to CN2008101849509A priority patent/CN101477829B/en
Priority to CN2008101849551A priority patent/CN101452737B/en
Priority to CN2006101212012A priority patent/CN1905059B/en
Priority to CNB011393580A priority patent/CN1271636C/en
Priority to CN 200510083508 priority patent/CN1734668B/en
Priority to CN2009101503100A priority patent/CN101582290B/en
Publication of JP2002245776A publication Critical patent/JP2002245776A/en
Priority to US10/284,092 priority patent/US7120761B2/en
Priority to US11/512,319 priority patent/US7911825B2/en
Priority to US13/031,080 priority patent/US8547776B2/en
Priority to US13/601,475 priority patent/US8687456B2/en
Priority to US13/601,406 priority patent/US8717842B2/en
Application granted granted Critical
Publication of JP5028710B2 publication Critical patent/JP5028710B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、1チップのマルチポート半導体記憶装置(以下、メモリと称する。)に関し、特にDRAMメモリアレーを用いたマルチポートメモリに関する。
【0002】
【従来の技術】
マルチポートメモリはいくつかの種類があるが、ここでは複数のポートを持ちそれぞれのポートから共通のメモリアレーに対し独立にアクセスできるものを言う。例えば,2ポートのマルチポートメモリは、AポートとBポートを備え、Aポートに接続したCPU−AとBポートに接続したCPU−Bから共通のメモリアレーに独立に読み書きできるものである。
【0003】
このようなマルチポートメモリとしては、メモリアレーとしてSRAMを使用し、ワード線及びビット線対をそれぞれ2重に設け、各メモリセルを2組のワード線及びビット線対にそれぞれ接続したものが知られている。しかし、このマルチポートメモリは、ワード線及びビット線対をそれぞれ2重に設ける必要があり、集積度が低いという問題がある。
【0004】
そこで、マルチプロセッサ構成のコンピュータなどで使用される共有メモリと同様の機構を使用することが考えられる。共有メモリは、共通のメモリに対して、複数のポートを設けたもので、メモリとしてSRAMを使用し、複数のポートをディスクリートICを使用して構成するのが一般的である。共有メモリでは複数のポートから同時にアクセスが行われた場合、メモリアレーが共通であるため、複数のポートからの動作処理を同時に実行できないという問題が生じる。このような問題を防止するためのもっとも簡単な対策は、あるポートからアクセスが行われている時には、他のポートにはビジー信号を出力してアクセスが行われないようにすることであるが、これでは使用方法が制限されるという問題がある。そこで、共有メモリでは、アービタと呼ばれる裁定回路を設け、複数のポートから受信したアクセス要求の優先順位を決定し、メモリアレーの制御回路が順位に従ってそれらを順次実施するようにしている。例えば各ポートへの入力が早いものから順に優先的に実施する。例えば各ポートへの入力が早いものから順に優先的に実施する。しかし、他のポートのコマンドを処理している間には新たなコマンドを処理できないことは同じであり、そのような場合にはビジー信号を出す必要があり、メモリにアクセスする側にビジー信号に対する処理機構を設けなければならないという問題がある。
【0005】
メモリアレーは複数のポートからランダムにアクセスされることになるため、DRAMで一般的に行われる同一のロウアドレスに対して連続したコラムアドレスを連続してアクセスするコラムアクセス動作は行われない。すなわち、1回のアクセスに対しセルを選択し読み出しまたは書き込みを実施しリセットする。
このため、共有メモリを構成する場合、従来はメモリアレーとして一般的にSRAMが用いられてきた。これは、SRAMはランダムアクセスが高速であり、またリフレッシュが不要なため使い易いからである。また、1チップのマルチポートメモリは、上記のようなワード線及びビット線対をそれぞれ2重に設ける構成のもので、通常のSRAMと同様のメモリアレーを使用した1チップのマルチポートメモリは実用化されていなかった。
【0006】
【発明が解決しようとする課題】
いずれにしろ、従来のマルチポートメモリ及び共有メモリではSRAMが使用され、リフレッシュが必要なDRAMは使用されていなかった。
システムが高性能化するにつれ扱うデータ量も増大し、マルチポートメモリも大容量が必要とされてきている。そのため、SRAMに比べて高集積度のDRAMアレーをマルチポートメモリに採用し、低コストで記憶容量の大きなマルチポートメモリを実現する考えが出てきた。しかし、ここで問題になるのがメモリセルのリフレッシュである。
【0007】
通常のDRAMにおいては書き込み/読み出し命令の合間に定期的に外部からリフレッシュ命令を与える必要があり、そのためDRAMを搭載するシステムのコントローラデバイスはリフレッシュ管理用のタイマーや制御回路を備えている。しかし、SRAMを使用したこれまでのマルチポートメモリを搭載するシステムにはこのような回路は備えられていない。メモリアレーをDRAMで構成する場合でも、そのようなシステムで従来のマルチポートメモリと同じように使用できることが要求される。すなわち、メモリアレーをDRAMで構成したマルチポートメモリは、リフレッシュについてメモリデバイス自身で何かの対策をとる必要がある。
【0008】
また、上記のように、アービタがビジー信号を出力すると、使い勝手がよくないという問題がある。
本発明は、メモリアレーをDRAMコアで構成してもリフレシュを意識せずに使用でき、大容量で使い勝手のよいマルチポートメモリが低コストで実現することを目的とする。
【0009】
【課題を解決するための手段】
上記問題点を解決するため、本発明のマルチポート半導体記憶装置は、各組の外部ポートから入力される第1のコマンドの最小入力サイクル時間が、最小入力サイクル時間のm(m≧2)倍の時間の間に、当該半導体記憶装置が少なくともn回の内部動作を実施することが可能で、
m×N < n < m×(N+1)の条件を満たすように設定することを特徴とする。
【0010】
この条件は、言い換えれば、N個の各ポートの最小外部コマンドサイクルを[N回の内部動作サイクルが可能な時間+1回の内部動作サイクルより短い時間α]をとすることであり、例えば、N=2の場合には、各ポートの最小外部コマンドサイクルを[2回の内部動作サイクルが可能な時間+α]をとする。ここでαは、“α<1回の内部動作サイクル”である。
【0011】
本発明では、上記のアービタがビジー信号を出力すると使い勝手がよくないという問題は、“2回の内部動作サイクルが可能な時間”で対処し、リフレシュの問題は、“+α”で対処する。
図1は、本発明の原理を説明する図であり、2ポートで読み出し動作を行う場合を示している。
【0012】
AポートとBポートの2つの外部ポートに入力されるコマンドは、2.2回の内部動作サイクルが可能な時間を最小サイクルとして入力される。すなわち、内部動作サイクル×2.2回=最小外部コマンドサイクルとなっており、外部コマンドサイクルは、2.2回の内部動作サイクルが可能な時間以上に設定される。AポートとBポートには、それぞれクロックCLKAとCLKBが入力され、コマンド、アドレス及びデータの外部と外部ポートとの間の入出力は、それぞれのクロックに同期して行われる。図示していないが、アドレスはコマンドと同時に入力される。図示のように、AポートとBポートから最小外部コマンドサイクルで読み出しコマンドが入力されると、裁定回路が先に入力された方を優先してコア動作を行うように制御する。
【0013】
DRAMコアは、外部コマンドサイクルの間にメモリアレーから2つの読み出し動作を行い、読み出したデータをAポートとBポートに出力する。AポートとBポートは、それぞれ読み出しデータを保持し、読み出しコマンドの入力から6クロック目のクロックに同期して読み出しデータを出力する。すなわち、この場合のデータレイテンシは6である。
【0014】
内部にはリフレッシュタイマーが内蔵され、リフレッシュコマンドを内部で自動的に発生する。リフレッシュが発生していない時にはデバイス内部は通常動作で動作し、外部コマンドサイクルの間に、内部ではコマンド−Aとコマンド−Bの2つの処理が実行される。このとき、上記のように外部コマンドサイクルの間に2.2回の内部動作が可能であるから、DRAMコアは2回の内部動作を実施して更に余裕の時間(tα)を持っている。
【0015】
内部でリフレッシュコマンドが発生するとデバイス内部は高速動作で動作する。高速動作とは余裕の時間(tα)を持たないで動作することである。リフレッシュコマンドが発生したらデバイスはリフレッシュを実行する。その間にもAポートとBポートからコマンドが入力されるため、処理すべきコマンドがたまってしまう。デバイスはtαを無くして高速動作で順次コマンド実施していく。その間にもAポートとBポートからコマンドが入力されるが、リフレシュコマンドは外部コマンドサイクルより十分に長い周期で発生されるので、次のリフレシュコマンドが発生されるまでの間処理するコマンドはコマンド−Aとコマンド−Bの2つであり、内部でコマンドを処理するスピードの方が速いため、最終的にはたまっているコマンドは無くなる。すなわち言い方を変えれば、内部動作が外部コマンド入力に追いつく。そうしたら、デバイス内部は再び通常動作となる。なお、余裕の時間αは、外部ポート数や内部動作のサイクル,リフレシュ間隔などを考慮して、適宜決定する。
【0016】
また、Readコマンド(RD)に対するデータ出力の遅延時間(データレイテンシ)については、直前に他ポートのコマンドおよび内部のリフレッシュコマンドが発生した場合が最悪になるため、内部動作サイクルの約3サイクル分(2ポートの場合)が必要である。ただし、外部コマンドサイクルは内部動作サイクルの2サイクル強で動作可能なのでデータ転送レートは高い。
【0017】
以上のように、本発明によれば、リフレッシュを外部から完全に隠しつつ、外部コマンドサイクルは内部動作サイクルの2サイクル強(2ポートの場合)の高速に設定することが可能である。そして、外部からはリフレッシュ制御を行なう必要がなく、また内部でリフレッシュを実施しても、外部からはそれが完全に隠されており、また外部から見えるデバイスの動作にまったく影響を与えない。従って、それぞれの外部ポートからは、他のポートを意識せずにメモリにアクセスすることが可能である。
【0018】
すなわち、本発明によれば、DRAMメモリセルを用いるが、SRAMを使用した場合と同様に外部からはリフレッシュを意識する必要がなく、大容量でデータ転送レートの高いマルチポートメモリを実現することができる。
図1の例では、1回の読み出しコマンドに対して、読み出しデータの出力は外部クロックに同期して1回行われる。すなわち、バースト長は1である。そのため、読み出しデータの出力が1クロックサイクルで終了すると、外部コマンドサイクルの残りの間(この場合は3クロックサイクルの間)、外部ポートはデータの出力を行わないことになり、データの転送効率が悪いという問題がある。この問題は、バースト長を大きくすることにより解決できる。
【0019】
図2は、本発明の原理を説明する図であり、バースト長が4の場合の例である。この例でも、2つの外部ポートの外部コマンドサイクルは、2.2回の内部動作サイクルが可能な時間に設定される。更に、1外部コマンドサイクルは4クロックサイクルであり、1外部コマンドサイクルの間に、外部ポートからクロックに同期してデータが4回、データレイテンシ6で出力される。従って、1外部コマンドサイクルのクロック数に応じてバースト長を設定すれば、2つのポートでギャップレス読み出しが可能となり、データ転送レートを大幅にアップすることができる。なお、この場合、内部ではメモリアレーに対してバースト長分のデータが1回の動作で入出力できることが必要である。例えば、外部ポートのデータ入出力端子が4個で、バースト長が4であれば、メモリアレーに対して16ビットのデータが1回の動作で入出力できるようにする。
【0020】
なお、AポートとBポートは同期して動作する必要はなく、それぞれの外部コマンドサイクルは、[N回の内部動作サイクルが可能な時間+1回の内部動作サイクルより短い時間α]を最小サイクルとする条件を満たせば、独立して任意に設定できる。
図3と図4は、ポート数が2,3及びNの場合の、最小外部コマンドサイクルと内部動作サイクルの関係を示す図である。図示のように、ポート数が2の場合には、最小外部コマンドサイクルは[2回の内部動作が可能な時間+α]であり、ポート数が3の場合には、最小外部コマンドサイクルは[3回の内部動作が可能な時間+α]であり、ポート数がNの場合には、最小外部コマンドサイクルは[N+1回の内部動作が可能な時間+α]である。
【0021】
【発明の実施の形態】
図5と図6は、本発明の実施例のマルチポートメモリの構成を示す図であり、図5はDRAMコアとその周辺部を示し、図6の(A)はAポートを、図6の(B)はBポートを、図6の(C)はリフレシュ回路を示し、図6の(A)から(C)の部分は図5の部分に接続される。
【0022】
図示のように、実施例のマルチポートメモリは、DRAMコア11と、処理の順番を決めて順番どおりに処理が行われるように制御するアービタ26と、アービタ26から転送されたコマンドを一時的に保持してその順番でDRAMコア11の制御回路14に転送するコマンドレジスタ25と、各ポートのコマンドやアドレスやデータを一時的に保持するレジスタ群と、Aポート30とBポート40の2個の外部ポートと、リフレシュ回路50とを備える。
【0023】
Aポート30とBポート40は、それぞれ、モードレジスタ31,41と、CLKバッファ32,42と、データ入出力回路33,43と、アドレス入力回路34,44と、コマンド入力部35,45とを備え、それぞれが外部から供給される別々のクロック周波数で動作できると共に、データレイテンシおよびバースト長をモードレジスタ31,41を記憶して別々に設定できるようになっている。データ入出力回路33,43は、バースト長に応じて、入出力データをパラレル・シリアル及びシリアル・パラレル変換する機構を備えている。
【0024】
リフレシュ回路50は、リフレッシュタイマ51とリフレッシュコマンド発生器52を備えており、リフレッシュタイマ51が所定の周期でリフレシュ起動信号を発生し、リフレッシュコマンド発生器52がそれに応じてリフレシュコマンドを発生する。
A・B両ポートから入力されたコマンドはそれぞれ参照番号28A,28Bで示すコマンドレジスタA,Bに保持され、アドレスはそれぞれ参照番号19A,19Bで示すアドレスレジスタA,Bに保持され、書き込みデータはそれぞれ参照番号22A,22Bで示すWriteデータレジスタA,Bに保持される。またリフレッシュコマンドもリフレシュコマンドレジスタ27に保持され、リフレッシュアドレスはリフレッシュアドレスカウンタ/レジスタ18に保持される。
【0025】
アービタ26はコマンドの到着順に基づきコマンドの実行順番を決定しそのコマンドを順番にコマンドレジスタ25に転送する。コマンドレジスタ25は、アービタ26から転送されるコマンドをその順番でDRAMコア11の制御回路14に転送したら、DRAMコアでそのコマンドが実施され、制御回路14が次のコマンドを受け取れる状態になったら次のコマンドを制御回路14に転送する。
その間にアービタ26から転送されてきたコマンドはコマンドレジスタ25に一時的に保持しておく。コマンドレジスタ25は、コマンドをDRAMコア11の制御回路14に転送するとともに、対応するアドレスレジスタおよびデータレジスタ(書込みの場合)に転送信号を送信する。DRAMコア11では、制御回路14が受信したコマンドに応じて、デコーダ13、ライトアンプ(Write Amp)15、センスバッファ16を制御して、メモリアレー12へのアクセス動作を行う。書き込み動作の場合には、デコーダ13が書き込み先のアドレスをデコードして、メモリアレー12のワード線とコラム信号線を活性化し、WriteデータレジスタAとBに保持された書き込みデータをWrite Amp15からメモリアレー12に書き込む。読み出しの場合は、同様にメモリアレー12にアクセスして、センスバッファ16から読み出したデータが,参照番号24A,24Bで示される転送ゲートA、Bを介して各ポートのデータ出力回路に送られる。転送ゲートの転送タイミングはDRAMコア11の動作サイクルで決まり制御回路14により発生される。出力データは,各ポートのデータ出力回路において外部クロックに同期して出力される。
【0026】
以下、コマンド、アドレス、データのそれぞれの処理に関係する部分について詳しく説明する。
図7と図8は、第1実施例のコマンドに関連する部分の構成を示す図であり、図5と図6に示された部分と同じ部分には同一の参照番号を付している。なお、以下の他の図についても同様である。
【0027】
図7に示すように、Aポートのコマンド入力部35は、入力バッファ36と、コマンドデコーダ37と、(n−1)クロックディレイ38とを有し、Bポートのコマンド入力部45は、入力バッファ46と、コマンドでコーダ47と、(m−1)クロックディレイ48とを有する。nとmは、バースト長である。また、図8に示すように、コマンドレジスタAは、ReadコマンドレジスタARと、WriteコマンドレジスタAWとを有し、コマンドレジスタBは、ReadコマンドレジスタBRと、WriteコマンドレジスタBWとを有する。
【0028】
入力バッファ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に転送される。
【0029】
アービタ26は、上記の5個のコマンドレシスタAR,AW,BR,BW,27にコマンドが転送された順番を検出し、コマンドレジスタ25にその順番でコマンドを転送する。コマンドレジスタ25は、アービタ26から送信されたコマンドを取り込んだら,コマンド受信通知をアービタ26に送信する。アービタ26は、コマンド受信通知を受け取ったら次のコマンドをコマンドレジスタに発信する。
【0030】
コマンドレジスタ25は、アービタ25から転送されたコマンドをその順番でDRAMコア11の制御回路14に1個づつ転送する。DRAMコアの制御回路14は受信したコマンドを実施しそれが終了したら(または終了に近づいたら)コマンド受付可能信号をコマンドレジスタ25に送信する。コマンドレジスタ25は、コマンド受信可能信号を受信したら、次のコマンドを制御回路14に転送する。その間にアービタ26から転送されたコマンドはコマンドレジスタ25に一時的に保持しておく。
【0031】
図9は、アービタ26の実施例である。図8の5個のレジスタ(ReadコマンドレジスタAR,WriteコマンドレジスタAW,ReadコマンドレジスタBR,WriteコマンドレジスタBW,リフレシュコマンドレジスタ27)にコマンドが到着した順番を図のような比較器53を用いて判定する。各比較器53は2個のコマンドレジスタのタイミングを比較し先に”H”が入力された側の出力が”H”となる。ANDゲート54は、関連する比較器53の出力がすべて”H”になるかを判定することにより、各コマンドが他の4個のコマンドのすべてに対して先に入力されたかを判定する。各コマンドに対応する信号RA31,WA31,RB31,WB31,REF31は、最先のコマンドである場合に”H”を示し、コマンドレジスタ25に転送される。例えば、RA2〜REF2の中でRA2が最も早かったとすればRA2が接続された比較器の出力はRA2側がすべて”H”となり、その結果RA31が“H”となる。このときはまだコマンド受信通知は発生していない(=”L”)のでN1=“H”となっており、RA3が“H”となり、コマンドレジスタ25にコマンドRA3が送られる。
【0032】
コマンドレジスタ25はコマンドを受信するとコマンド受信通知を発生する。これに応じて、N1に“L”パルスが発生しRA3〜REF3はすべて“L”となる。その間にResetRA〜ResetREFのいずれかが発生する。RA31が“H”になっていたらResetRAが発生し、ReadコマンドレジスタARをリセットする。するとRA2が“L”になり、RA31〜REF31は次の順位のコマンドが“H”になる。そしてN1の“L”パルスが切れてN1=“H”になると次の順位のコマンドがコマンドレジスタ25に転送される。以上の動作を繰り返す。
【0033】
図10と11は、実施例のコマンドレジスタ25の構成を示す図であり、2つの図に分けて示してある。
コマンドレジスタ25は、コマンドを格納し順番にDRAMコア11に出力するシフトレジスタ92およびアービタ26から受信したコマンドをシフトレジスタ92に転送するスイッチ(SW1〜SW3)82〜84を中心に構成されている。この例ではシフトレジスタ92は3段構成になっており、コマンドを保持するレジスタ85〜87と、レジスタ85〜87の保持状態を示すフラグ88〜90と、レジスタ85〜87の状態をリセットするリセットデータ部91とが設けられている。レジスタ85〜87にコマンドが格納されていない状態ではフラグ88〜90(FL1〜FL3=“L”)でありスイッチ82(SW1)が接続されている。最初のコマンドはSW1を介してレジスタ85に格納されFL1=“H”となる。FL1=“H”になると、“H”エッジパルス化回路93でパルスが発生し、コマンド受信通知がアービタ26に送信される。
【0034】
このときDRAMコア11からコマンド受付可能信号が出ていればゲート97が接続されてレジスタ85のコマンドはラッチ98に転送され、そのままDRAMコア11の制御回路14に送られる。この時、コマンドに対応するアドレスなどがDRAMコア11に転送される。DRAMコア11は受信したコマンドに従い動作を開始するとともにコマンド受付可能信号を切断する。するとゲート97は切断される。そしてレジスタ制御回路96はシフト信号を発生しレジスタ86の内容をレジスタ85に送りレジスタ87の内容をレジスタ86に送る。シフト信号発生前にレジスタ86にコマンドが格納されていなければシフトすることによりレジスタ85はリセットされFL1=“L”となる。レジスタ制御回路96はシフト信号を発生すると同時に転送禁止信号を発生しSW1〜SW3を切断し、シフト動作中にシフトレジスタ92にデータが転送されるのを禁止する。最初のコマンド(コマンド1)がSW1を介してレジスタ85に格納された時に、DRAMコア11でそれ以前のコマンドを実行中だった場合はコマンドはレジスタ85に保持される。FL1=“H”となりSW1が切断され、所定の遅延の後にSW2が接続される。所定の遅延とはコマンド受信通知が発生しアービタの出力がリセットされるまでの時間に相当する時間である。DRAMコア11がコマンド受付可能になる前に次のコマンド(コマンド2)がアービタ26から送信されてきたらSW2を介してコマンド2はレジスタ86に格納される。FL2=“H”となり、コマンド受信通知が発生し、SW2が切断され所定の遅延時間の後にSW3が接続される。この後にDRAMコアがコマンド受付可能状態になるとコマンド受付可能信号が発生しゲート97が接続されレジスタ85のコマンド1がラッチ98に転送され、DRAMコア11に送られる。DRAMコア11はコマンド1に従い動作を開始するとともにコマンド受付可能信号を切断する。するとゲート97は切断される。そしてレジスタ制御回路96はシフト信号を発生しレジスタ86のコマンド2をレジスタ85に送りレジスタ87の内容(リセット状態)をレジスタ86に送る。レジスタ85にはコマンド2が格納されレジスタ86とレジスタ87はリセット状態になる。FL1=“H”、FL2,FL3=“L”となるためSW2が接続され、SW1とSW3は切断される。
【0035】
シフトレジスタ92のレジスタ87の左にリセットデータ部91がついているのは、レジスタ87までコマンドが格納された場合、その後のシフト信号でレジスタ87のコマンドをレジスタ86にシフトしレジスタ87をリセットするためである。このように、コマンドレジスタ25はアービタ26から送られたコマンドを一時的に蓄積しDRAMコア11の状態を検出して順次コマンドを転送する。
【0036】
レジスタ制御回路96にコマンド発生検出信号が入力されている。コマンド発生検出信号はアービタ26からコマンドが送信されると発生する信号である。図12にレジスタ制御回路96動作を示す。レジスタ制御回路96コマンド受付可能信号が切断されたらシフト信号と転送禁止信号を発生するが、コマンド受付可能信号が切断される直前にアービタ26からコマンドが送信されてきた場合は先に送れてきたコマンドをシフトレジスタ92に転送した後にシフトを行った方がよい。よって、コマンド受付可能信号の立ち下がりエッジとコマンド発生検出信号の立ち上がりエッジのどちらが早いかを比較して、前者が早い場合は前者の立ち下がりエッジからシフト信号および転送禁止信号を発生させ、後者が早い場合には後者の立ち下がりエッジからシフト信号および転送禁止信号を発生させる。
【0037】
図13と図14はコマンドレジスタ25の動作図である。入力コマンドが最も密になるWrite→Read切り替え時に内部でRefreshが発生した場合(すなわち、図26と図27の場合)を例にして書いてある。SW1〜SW3の動作図に書いてある番号は接続されているSWの番号であり、そのスイッチが接続されている期間を示している。また、レジスタ1〜3は、それぞれ参照番号85〜87のレジスタである。
【0038】
図15は、実施例のアドレスに関連する部分の構成を示す図である。なお、以下の図において、信号の終わりに”P”が付されているのは、元の信号の立ち上がりエッジをパルス化するなどして生成したパルス上の信号である。図示のように、アドレス入力回路34,44は、入力バッファ57A,57Bと、転送ゲート58A,58Bを有する。また、アドレスレジスタ19A及びアドレスレジスタ19Bは、アドレスラッチA1〜A4,B1〜B4と、転送ゲート59A〜63A,59B〜63Bとを有する。転送ゲート62A,62B,63A,63Bからのアドレスは、アドレスバス17を介してDRAMコア11に転送される。更に、リフレシュアドレスカウンタ/レジスタ18の出力するリフレシュアドレスも、転送ゲート64とアドレスバス17を介してDRAMコア11に転送される。
【0039】
ReadコマンドまたはWriteコマンドが外部から入力されると、それと同時に入力バッファ57A,57Bに入力されたアドレスが転送ゲート58A,58Bを介してアドレスラッチA1,B1に転送される。コマンドがReadコマンドならば転送ゲート61A,63A,61B,63B及びアドレスラッチA4,B4を介して、コマンドの転送と同期してDRAMコア11に転送される。コマンドがWriteコマンドならば,最終データ取り込みタイミングで更にアドレスラッチA2,B2に転送された後、コマンドの転送と同期して転送ゲート62A,62BからDRAMコア11に転送される。また、リフレッシュアドレスは、リフレッシュアドレシカウンタ/レジスタ18で発生され保持され、同様にリフレシュコマンドのDRAMコアへの転送と同期して転送ゲート64からDRAMコア11に転送される。
【0040】
図16は実施例のデータ出力に関連する部分の構成を示す図であり、図17はその中の転送信号発生回路を示す図である。Aポート30とBポート40のデータ入出力回路33,43は、データ出力用回路65A,65Bと、後述するデータ入力用回路74A,74Bとを有する。図示のように、メモリアレー12からセンスバッファ16を介して読み出されたデータは、データバス21と転送ゲート24A,24Bを介して、データ出力用回路65A,65Bに転送される。
【0041】
データ出力用回路65A,65Bは、それぞれデータラッチA1,B1と、転送信号発生回路67A,67Bと、転送ゲート68A,68Bと、データラッチA2,B2と、パラレル−シリアル(パラシリ)変換器70A,70Bと、出力バッファ71A,71Bとを有する。
転送ゲート24Aと24Bは、DRAMコア11の制御回路14により内部動作に基づいて制御され、実施したコマンドがRead−A(Aポートからの読み出し動作)であれば、転送ゲート24A開き、Read−Bであれば転送ゲート24Bが開く。データラッチA1,B1においてデータが保持され、転送ゲート68A,68Bで各ポートでのReadコマンド受信から所定のレイテンシ後にデータラッチA2,B2に転送され、パラシリ変換器70A,70Bで変換され出力バッファ71A,71Bに転送され出力される。
【0042】
図17に示すように、転送信号発生回路67は、直列に接続されたフリップ・フロップ72により、ReadコマンドRA1,RB1を、設定されたレイテンシに応じたクロック数分遅延させてデータ転送信号2を発生する。転送ゲート68A,68Bからの読み出しデータの転送はデータ転送信号2に応じて行われるので、読み出しデータは読み出し動作からレイテンシに応じたクロック数分遅延されることになる。
【0043】
図18と図19は実施例のデータ入力に関連する部分の構成を示す図である。データ入力用回路74A,74Bは、データ入力(Din)バッファ75A,75Bと、シリアル−パラレル変換器76A,76Bと、データ転送部77A,77Bとを有する。データ転送部77A,77Bからの書き込みデータWDA,WDBは、第1Wrireデータレジスタ78A,78Bとデータ転送ゲート79A,79B及び第2Wrireデータレジスタ80A,80Bとデータ転送ゲート81A,81Bとデータバス21を介して、Write Amp.15に送られ、メモリアレー12に書き込まれる。
【0044】
シリアル入力されたデータは、バースト長に応じてシリアル−パラレル変換され最後のデータが入力された時点で第1Writeデータレジスタ78A,78Bに転送される。コマンドレジスタ25からWriteコマンドがDRAMコア11に転送されたら、それに対応するデータもDRAMコア11に転送される。
図20から図28は、第1実施例のマルチポートメモリの動作を示すタイムチャートである。図20と図21、図23と図24、及び図26と図27は、表示の都合上1つのタイムチャートを分割した図であり、一方がタイムチャートの前半部分を、他方が後半部分を示し、一部を重複して示している。
【0045】
図20と図21は、2つのポートに連続してRead動作のコマンドが入力された場合の動作を示す。AポートとBポートは、それぞれ周波数の異なるクロックCLKAとCLKBが入力され、入力されるクロックに同期してコマンド、アドレス及び書き込みデータの取り込みを行うと共に、クロックに同期して読み出しデータの出力を行う。この例では、Aポートは最高クロック周波数で動作し、Bポートはそれより遅いクロック周波数で動作し、AポートはReadコマンドサイクル=4(CLKA)、データレイテンシ=6(CLKA)、バースト長=4、BポートはReadコマンドサイクル=2(CLKB)、データレイテンシ=3(CLKB)、バースト長=2である。データレイテンシとバースト長はそれぞれのポートのモードレジスタ31,41に設定される。従って、Aポートでは1回のコマンドに対して、データの入出力動作はクロックに同期して4回行われ、読み出しのコマンドの入力から6クロック後から読み出しデータの出力が行われ、Bポートでは1回のコマンドに対して、データの入出力動作はクロックに同期して2回行われ、読み出しのコマンドの入力から3クロック後から読み出しデータの出力が行われる。
【0046】
AとBの両ポートが受信したコマンドは、それぞれコマンドレジスタ28A,28Bに保持される。またリフレッシュタイマー51が信号を発生するとリフレッシュコマンドがリフレッシュコマンドレジスタ27に保持される。アービタ26はこれらのコマンドレジスタを監視し、早く発生したコマンドから順番にコマンドレジスタ25に転送する。コマンドレジスタ25は、送られたコマンドを一時的に保持して、DRAMコア11の動作状況に応じて、送られた順番で順次コマンドをDRAMコア11に転送する。すなわち、前回転送したコマンドの処理が終了してから次ぎのコマンドを転送する。
【0047】
図示のように、ReadコマンドレジスタARにコマンドRead−A2が入力され、ReadコマンドレジスタBRにコマンドRead−B2が入力される前に、リフレッシュが1回発生し、リフレシュコマンドレジスタにリフレシュコマンドが入力されると、発生順番に従いアービタ26はRead−A2→Ref→Read−B2の順にDRAMコア11に転送し、コアで順次実施する。
【0048】
コア動作でRead−B1とRead−A2の間には余裕の時間があり、ここまでは通常動作である。リフレッシュが発生するとRead−A2の後に余裕時間無しでRefreshが実行され更に続けて余裕時間なしでRead−B2,Read−A3,…と連続して実行されRead−A5まで余裕時間がなく、ここまでが高速動作である。
【0049】
リフレッシュコマンドの実行により外部からのコマンド入力に対し内部動作に遅れが発生するが、高速動作によりそれを挽回しRead−A5で追いついている。Read−A5とRead−B5の間には余裕時間が発生しており通常動作に戻っている。DRAMコア11からセンスバッファ16で読み出されたデータは転送ゲートによりReadコマンドに対応するポートのデータラッチ(データラッチA1またはB1)に転送される。データラッチA1またはB1でデータは時間調整されデータラッチA2またはB2に転送され、それぞれのポートのクロックに同期して出力される。
【0050】
リフレッシュを内部で実施していても外部から見るとデータは所定のデータレイテンシ後に出力されており、外部からはリフレッシュを意識する必要がない。
図22は、同様な条件で連続してWriteコマンドが入力された例である。Write時の外部からのデータ入力もバースト入力である。このときWriteコマンドレジスタAWにWriteコマンドが保持されるタイミングは最終データが入力された時点からとする。この場合も、内部でリフレッシュが発生しそれを実施しても外部からは意識する必要がないことがわかる。
【0051】
図23と図24は、AとBの両ポートが最高クロック周波数でRead動作した場合の動作図であり、図25は、AとBの両ポートが最高クロック周波数でWrite動作した場合の動作図である。この場合、両ポートのクロックに位相差があってもよい。両ポートともReadコマンドサイクル=4、Writeコマンドサイクル=4、データレイテンシ=6、バースト長=4、である。図示のように、このような場合でも問題なく動作しているのが分かる。
【0052】
図26と図27は、両ポートが最高周波数で動作し、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をWrite−B1の4クロック後に入力すると、Read−B2はDRAMコアでの動作開始とほとんど同時にデータ出力タイミングが来てしまい、動作不能となる。以上のような理由で、Write→Readの切り替えに関してはコマンド間隔を長くし、例えばこの例では6クロックとする。
【0053】
Read→Writeのコマンド間隔については、Readデータの出力を完了しないとWriteデータをDQ端子から受信できないため、必然的にコマンド間隔は広くなる。
図28はDRAMコア11の動作図であり、(A)はRead動作を、(B)はWrite動作を示す。このように1個のコマンドに対し、ワード線選択→データ増幅→ライトバック→プリチャージを実施し、動作を完結させる。DRAMコア11は、コマンドレジスタ25からコマンドを受信したらコマンド受付可能信号を切断し、コマンドに対応した動作が終了するか又は終了に近づいたらコマンド受付可能信号を発生する。
【0054】
(付記1) メモリアレーと、
それぞれ第1のコマンドを受信するN組(Nは2以上の整数)の外部ポートと、
内部で独自に第2のコマンドを発生する内部コマンド発生回路とを備える半導体記憶装置であって、
各組の前記外部ポートから入力される前記第1のコマンドの最小入力サイクル時間は、該最小入力サイクル時間のm(m≧2)倍の時間の間に、当該半導体記憶装置が少なくともn回の内部動作を実施することが可能で、
m×N < n < m×(N+1)の条件を満たすように設定されていることを特徴とする半導体記憶装置。
【0055】
(付記2) 前記n回の内部動作は、m×N回の前記第1のコマンドに対応した動作と、少なくとも1回の前記第2のコマンドに対応した動作を含む付記1に記載の半導体記憶装置。
(付記3) 前記メモリアレーはダイナミック型メモリセルから構成され、前記第2のコマンドはリフレッシュコマンドである付記2に記載の半導体記憶装置。
【0056】
(付記4) 前記メモリアレーの制御を行う制御回路と、
前記第1のコマンドと前記第2のコマンドを前記制御回路に転送する前に一時的に保持するコマンドレジスタと、
前記第1のコマンドと前記第2のコマンドの到着順位を判定し、その順番で前記コマンドレジスタに転送するように制御する裁定回路とを備え、
前記コマンドレジスタは、前記第1のコマンドと前記第2のコマンドを受信した順番に前記制御回路に転送する付記1に記載の半導体記憶装置。
【0057】
(付記5) 前記コマンドレジスタが前記制御回路に前記第1のコマンドと前記第2のコマンドを転送するタイミングは、前記メモリアレーの動作サイクルに基づいて決定される付記4に記載の半導体記憶装置。
(付記6) 前記コマンドレジスタは、シフトレジスタで構成されている
付記5に記載の半導体記憶装置。
【0058】
(付記7) 前記コマンドレジスタは、前記裁定回路から転送されたコマンドを取り込んだら取り込み完了信号を発生し、前記裁定回路は前記取り込み完了信号を検出したら、次の順位のコマンドを転送する付記5に記載の半導体記憶装置。
(付記8) 前記N組の外部ポートは、それぞれ外部からクロックを受信するクロック入力回路を備え、それぞれが受信したクロックに同期して各外部ポートの入出力動作を行う付記1に記載の半導体記憶装置。
【0059】
(付記9) 前記N組の外部ポートは、それぞれ外部から設定されるデータレイテンシを記憶するモードレジスタを備え、各外部ポートはそれぞれ設定されたデータレイテンシでデータの出力を行う付記8に記載の半導体記憶装置。
(付記10) 前記N組の外部ポートは、それぞれバースト型のデータ入出力部を備え、
前記モードレジスタは、外部から設定されるバースト長を記憶し、
各外部ポートは、前記第1のコマンドの入力サイクルの間に、それぞれ設定されたバースト長に対応する回数分データの入出力を行う付記9に記載の半導体記憶装置。
【0060】
(付記11) 当該マルチポート半導体記憶装置は、前記メモリアレーと各外部ポートの間で、1バースト長分のデータを1回の動作で入出力できる付記4に記載の半導体記憶装置。
(付記12) 前記第1のコマンドは、読み出しコマンドと書き込みコマンドを含み、
前記裁定回路は、前記読み出しコマンドについては前記外部ポートに取り込まれた第1のタイミングに基づいて順番を決定し、前記書き込みコマンドについてはバースト入力される最後のデータが入力される第2のタイミングに基づいて順番を決定する付記4に記載の半導体記憶装置。
【0061】
【発明の効果】
以上説明したように、本発明によれば、マルチポートメモリのメモリアレーをDRAMコアで構成してもリフレシュを意識せずに使用でき、大容量で使い勝手のよいマルチポートメモリが低コストで実現できる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】バースト長が4の場合の本発明の原理説明図である。
【図3】バースト長が4の場合の本発明の原理説明図である。
【図4】本発明の原理説明図である。
【図5】本発明の実施例のマルチポートメモリの構成を示す図(その1)である。
【図6】本発明の実施例のマルチポートメモリの構成を示す図(その2)である。
【図7】実施例のマルチポートメモリのコマンドに関連する部分の構成を示す図(その1)である。
【図8】実施例のマルチポートメモリのコマンドに関連する部分の構成を示す図(その2)である。
【図9】実施例のマルチポートメモリのアービタの構成を示す図である。
【図10】実施例のコマンドレジスタの構成を示す図(その1)である。
【図11】実施例のコマンドレジスタの構成を示す図(その2)である。
【図12】実施例のコマンドレジスタで使用されるレジスタ制御回路の動作を示すタイムチャートである。
【図13】実施例のコマンドレジスタの動作を示すタイムチャート(その1)である。
【図14】実施例のコマンドレジスタの動作を示すタイムチャート(その2)である。
【図15】実施例のマルチポートメモリのアドレスに関連する部分の構成を示す図である。
【図16】実施例のマルチポートメモリのデータ出力に関連する部分の構成を示す図である。
【図17】実施例の転送信号発生回路の構成を示す図である。
【図18】実施例のマルチポートメモリのデータ入力に関連する部分の構成を示す図(その1)である。
【図19】実施例のマルチポートメモリのデータ入力に関連する部分の構成を示す図(その2)である。
【図20】実施例のマルチポートメモリの動作(連続Read)を示すタイムチャート(その1)である。
【図21】実施例のマルチポートメモリの動作(連続Read)を示すタイムチャート(その2)である。
【図22】実施例のマルチポートメモリの動作(連続Write)を示すタイムチャートである。
【図23】実施例のマルチポートメモリの動作(最速連続Read)を示すタイムチャート(その1)である。
【図24】実施例のマルチポートメモリの動作(最速連続Read)を示すタイムチャート(その2)である。
【図25】実施例のマルチポートメモリの動作(最速連続Write)を示すタイムチャートである。
【図26】実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その1)である。
【図27】実施例のマルチポートメモリの動作(WriteからReadへの切り替わり)を示すタイムチャート(その2)である。
【図28】実施例のマルチポートメモリのDRAMコア動作を示すタイムチャートである。
【符号の説明】
11…DRAMコア
12…メモリアレー
14…制御回路
15…Write Amp.
16…センスバッファ
18…リフレシュアドレスカウンタ/レジスタ
19A…アドレスレジスタA
19B…アドレスレジスタB
22A…WriteデータレジスタA
22B…WriteデータレジスタB
24A…転送ゲートA
24B…転送ゲートB
25…コマンドレジスタ
26…アービタ
30,40…(A,B)外部ポート
31,41…モードレジスタ
32,42…CLKバッファ
33,43…データ入出力回路
34,44…アドレス入力回路
35,45…コマンド入力回路
50…リフレシュ回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a one-chip multiport semiconductor memory device (hereinafter referred to as a memory), and more particularly to a multiport memory using a DRAM memory array.
[0002]
[Prior art]
There are several types of multi-port memory, but here we have multiple ports that can access a common memory array independently from each port. For example, a 2-port multi-port memory has an A port and a B port, and can be independently read from and written to a common memory array from a CPU-A connected to the A port and a CPU-B connected to the B port.
[0003]
As such a multi-port memory, an SRAM is used as a memory array, word lines and bit line pairs are provided in duplicate, and each memory cell is connected to two word line and bit line pairs. It has been. However, this multi-port memory has a problem that it is necessary to provide double word line and bit line pairs, and the degree of integration is low.
[0004]
Therefore, it is conceivable to use a mechanism similar to that of a shared memory used in a multiprocessor computer or the like. A shared memory is provided with a plurality of ports with respect to a common memory. In general, an SRAM is used as a memory, and a plurality of ports are configured using a discrete IC. In the shared memory, when access is simultaneously made from a plurality of ports, the memory array is common, so that there is a problem that the operation processing from the plurality of ports cannot be executed simultaneously. The simplest measure to prevent such a problem is to output a busy signal to the other port so that it is not accessed when access is being made from one port. This has the problem that the usage is limited. Therefore, in the shared memory, an arbitration circuit called an arbiter is provided to determine the priority order of access requests received from a plurality of ports, and the memory array control circuit sequentially executes them according to the order. For example, it is preferentially performed in order from the input to each port in the early order. For example, it is preferentially performed in order from the input to each port in the early order. However, it is the same that a new command cannot be processed while a command of another port is processed. In such a case, it is necessary to issue a busy signal. There is a problem that a processing mechanism must be provided.
[0005]
Since the memory array is randomly accessed from a plurality of ports, a column access operation for continuously accessing consecutive column addresses to the same row address generally performed in a DRAM is not performed. That is, a cell is selected for one access, read or write is performed, and reset is performed.
For this reason, when composing a shared memory, an SRAM is generally used as a memory array. This is because the SRAM is easy to use because the random access is fast and refresh is unnecessary. A 1-chip multi-port memory has a configuration in which the word line and bit line pairs are provided in duplicate, and a 1-chip multi-port memory using a memory array similar to a normal SRAM is practical. It was not converted.
[0006]
[Problems to be solved by the invention]
In any case, the conventional multi-port memory and shared memory use SRAM, but do not use DRAM that requires refreshing.
As the performance of the system increases, the amount of data handled increases, and the multi-port memory is also required to have a large capacity. For this reason, it has been proposed to adopt a DRAM array having a higher degree of integration than a SRAM for a multiport memory, and to realize a multiport memory having a large storage capacity at a low cost. However, the problem here is refresh of the memory cells.
[0007]
In a normal DRAM, it is necessary to periodically give a refresh command from the outside between write / read commands. For this reason, a controller device of a system on which the DRAM is mounted includes a timer and a control circuit for refresh management. However, such a circuit is not provided in a system equipped with a conventional multiport memory using an SRAM. Even when the memory array is composed of DRAM, it is required that such a system can be used in the same manner as a conventional multi-port memory. That is, in the multi-port memory in which the memory array is configured by DRAM, it is necessary to take some measures for the refresh by the memory device itself.
[0008]
In addition, as described above, when the arbiter outputs a busy signal, there is a problem that the usability is not good.
It is an object of the present invention to realize a large-capacity and easy-to-use multi-port memory at low cost, which can be used without considering refresh even if the memory array is constituted by a DRAM core.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, in the multi-port semiconductor memory device of the present invention, the minimum input cycle time of the first command input from each set of external ports is m (m ≧ 2) times the minimum input cycle time. The semiconductor memory device can perform at least n internal operations during a period of
It is set to satisfy the condition of m × N <n <m × (N + 1).
[0010]
In other words, the condition is that the minimum external command cycle of each of the N ports is [time in which N internal operation cycles are possible + time α shorter than one internal operation cycle], for example, N In the case of = 2, the minimum external command cycle of each port is [time in which two internal operation cycles are possible + α]. Here, α is “α <one internal operation cycle”.
[0011]
In the present invention, when the arbiter outputs a busy signal, the problem that it is not easy to use is dealt with by “time in which two internal operation cycles are possible”, and the refresh problem is dealt with by “+ α”.
FIG. 1 is a diagram for explaining the principle of the present invention, and shows a case where a read operation is performed with two ports.
[0012]
A command input to the two external ports of the A port and the B port is input with a time in which 2.2 internal operation cycles are possible as a minimum cycle. That is, internal operation cycle × 2.2 times = minimum external command cycle, and the external command cycle is set to be longer than the time that 2.2 internal operation cycles are possible. Clocks CLKA and CLKB are input to the A port and the B port, respectively, and input / output of commands, addresses, and data between the external and external ports is performed in synchronization with the respective clocks. Although not shown, the address is input simultaneously with the command. As shown in the figure, when a read command is input from the A port and the B port in the minimum external command cycle, the arbitration circuit controls to perform the core operation with priority given to the input first.
[0013]
The DRAM core performs two read operations from the memory array during the external command cycle, and outputs the read data to the A port and the B port. Each of the A port and the B port holds read data, and outputs the read data in synchronization with the sixth clock from the input of the read command. That is, the data latency in this case is 6.
[0014]
A refresh timer is built in and a refresh command is automatically generated inside. When no refresh occurs, the inside of the device operates in a normal operation, and two processes of command-A and command-B are executed inside during the external command cycle. At this time, since the internal operation can be performed 2.2 times during the external command cycle as described above, the DRAM core performs the internal operation twice and has a further margin (tα).
[0015]
When a refresh command is generated internally, the device operates at high speed. The high-speed operation is to operate without a surplus time (tα). When a refresh command occurs, the device performs a refresh. In the meantime, since commands are input from the A port and the B port, commands to be processed are accumulated. The device sequentially executes commands at high speed without tα. In the meantime, commands are input from the A port and the B port, but the refresh command is generated with a period sufficiently longer than the external command cycle. Therefore, the command to be processed until the next refresh command is generated is the command − Since there are two commands, A and command-B, and the speed of processing the command internally is faster, there will be no accumulated command in the end. In other words, the internal operation catches up with the external command input. Then, the inside of the device returns to normal operation again. The margin time α is appropriately determined in consideration of the number of external ports, the internal operation cycle, the refresh interval, and the like.
[0016]
Further, the delay time (data latency) of the data output with respect to the Read command (RD) is worst when the command of the other port and the internal refresh command are generated immediately before, so about three cycles of the internal operation cycle ( 2 port) is required. However, since the external command cycle can operate with more than two internal operation cycles, the data transfer rate is high.
[0017]
As described above, according to the present invention, the external command cycle can be set to a high speed of slightly more than two internal operation cycles (in the case of two ports) while completely hiding the refresh from the outside. Further, it is not necessary to perform refresh control from the outside, and even if refresh is performed internally, it is completely hidden from the outside and does not affect the operation of the device as seen from the outside. Therefore, it is possible to access the memory from each external port without being aware of other ports.
[0018]
That is, according to the present invention, DRAM memory cells are used. However, as in the case of using SRAM, it is not necessary to be aware of refresh from the outside, and a multiport memory having a large capacity and a high data transfer rate can be realized. it can.
In the example of FIG. 1, for one read command, the output of read data is performed once in synchronization with the external clock. That is, the burst length is 1. Therefore, when the output of read data ends in one clock cycle, the external port does not output data for the remainder of the external command cycle (in this case, for 3 clock cycles), and the data transfer efficiency is improved. There is a problem of being bad. This problem can be solved by increasing the burst length.
[0019]
FIG. 2 is a diagram for explaining the principle of the present invention, and is an example when the burst length is 4. FIG. Also in this example, the external command cycles of the two external ports are set to a time that allows 2.2 internal operation cycles. Further, one external command cycle is four clock cycles, and data is output from the external port four times in synchronization with the clock at the data latency 6 during one external command cycle. Therefore, if the burst length is set according to the number of clocks in one external command cycle, gapless reading can be performed at two ports, and the data transfer rate can be greatly increased. In this case, it is necessary that data corresponding to the burst length can be input / output in one operation with respect to the memory array. For example, if the external port has four data input / output terminals and the burst length is 4, 16-bit data can be input / output to / from the memory array in one operation.
[0020]
Note that the A port and the B port do not need to operate in synchronization, and each external command cycle has a minimum cycle of [time in which N internal operation cycles are possible + time α shorter than one internal operation cycle]. If the conditions to be satisfied are satisfied, they can be arbitrarily set independently.
3 and 4 are diagrams showing the relationship between the minimum external command cycle and the internal operation cycle when the number of ports is 2, 3 and N. FIG. As shown in the figure, when the number of ports is 2, the minimum external command cycle is [time in which two internal operations are possible + α], and when the number of ports is 3, the minimum external command cycle is [3 If the number of ports is N, the minimum external command cycle is [N + 1 time when internal operation is possible + α].
[0021]
DETAILED DESCRIPTION OF THE INVENTION
5 and 6 are diagrams showing the configuration of the multi-port memory according to the embodiment of the present invention. FIG. 5 shows the DRAM core and its peripheral portion, FIG. 6A shows the A port, and FIG. 6B shows a B port, FIG. 6C shows a refresh circuit, and the parts (A) to (C) of FIG. 6 are connected to the part of FIG.
[0022]
As shown in the figure, the multi-port memory according to the embodiment temporarily stores the DRAM core 11, an arbiter 26 that controls processing to be executed in accordance with the order, and a command transferred from the arbiter 26. A command register 25 that holds and transfers the data to the control circuit 14 of the DRAM core 11 in that order, a register group that temporarily holds commands, addresses, and data of each port, and two ports, an A port 30 and a B port 40 An external port and a refresh circuit 50 are provided.
[0023]
The A port 30 and the B port 40 have mode registers 31, 41, CLK buffers 32, 42, data input / output circuits 33, 43, address input circuits 34, 44, and command input units 35, 45, respectively. In addition, each can operate at different clock frequencies supplied from the outside, and the data latency and burst length can be stored in the mode registers 31 and 41 and set separately. The data input / output circuits 33 and 43 have a mechanism for converting the input / output data from parallel to serial and serial to parallel in accordance with the burst length.
[0024]
The refresh circuit 50 includes a refresh timer 51 and a refresh command generator 52. The refresh timer 51 generates a refresh start signal at a predetermined cycle, and the refresh command generator 52 generates a refresh command accordingly.
Commands input from both the A and B ports are held in command registers A and B indicated by reference numbers 28A and 28B, addresses are held in address registers A and B indicated by reference numbers 19A and 19B, respectively, and write data is Write data registers A and B indicated by reference numbers 22A and 22B, respectively. The refresh command is also held in the refresh command register 27, and the refresh address is held in the refresh address counter / register 18.
[0025]
The arbiter 26 determines the execution order of the commands based on the arrival order of the commands, and transfers the commands to the command register 25 in order. When the commands transferred from the arbiter 26 are transferred to the control circuit 14 of the DRAM core 11 in that order, the command register 25 executes the commands in the DRAM core, and when the control circuit 14 is ready to receive the next command, Are transferred to the control circuit 14.
During this time, the command transferred from the arbiter 26 is temporarily held in the command register 25. The command register 25 transfers the command to the control circuit 14 of the DRAM core 11 and transmits a transfer signal to the corresponding address register and data register (in the case of writing). The DRAM core 11 performs an access operation to the memory array 12 by controlling the decoder 13, the write amplifier 15, and the sense buffer 16 according to the command received by the control circuit 14. In the case of the write operation, the decoder 13 decodes the write destination address, activates the word line and column signal line of the memory array 12, and writes the write data held in the write data registers A and B from the write amp 15 to the memory. Write to array 12. In the case of reading, the memory array 12 is similarly accessed, and the data read from the sense buffer 16 is sent to the data output circuit of each port via transfer gates A and B indicated by reference numbers 24A and 24B. The transfer timing of the transfer gate is determined by the operation cycle of the DRAM core 11 and is generated by the control circuit 14. Output data is output in synchronization with an external clock in the data output circuit of each port.
[0026]
Hereinafter, portions related to the processing of the command, address, and data will be described in detail.
7 and 8 are diagrams showing the configuration of the part related to the command of the first embodiment, and the same parts as those shown in FIGS. 5 and 6 are denoted by the same reference numerals. The same applies to other figures below.
[0027]
As shown in FIG. 7, the A port command input unit 35 includes an input buffer 36, a command decoder 37, and an (n-1) clock delay 38, and the B port command input unit 45 includes an input buffer. 46, a coder 47 by command, and an (m-1) clock delay 48. n and m are burst lengths. As shown in FIG. 8, the command register A has a Read command register AR and a Write command register AW, and the command register B has a Read command register BR and a Write command register BW.
[0028]
The input buffers 36 and 46 receive the input Read command in synchronization with the clocks CLKA1 and CLKB1, and the command decoders 37 and 47 decode the received command and generate RA1 and RB1 if they are read commands. If it is a write command, WA1 and WB1 are generated. RA1 and RB1 are transferred to the Read command registers AR and BR at the same timing, but WA1 and WB1 receive the final data of the burst data by (n-1) clock delay 38 and (m-1) clock delay 48. And then transferred to the Write command registers AW and BW. In addition, the refresh command REF 1 generated by the refresh circuit 50 is transferred to the refresh command register 27.
[0029]
The arbiter 26 detects the order in which the commands are transferred to the five command registers AR, AW, BR, BW, 27 and transfers the commands to the command register 25 in that order. When the command register 25 receives the command transmitted from the arbiter 26, the command register 25 transmits a command reception notification to the arbiter 26. When receiving the command reception notification, the arbiter 26 transmits the next command to the command register.
[0030]
The command register 25 transfers the commands transferred from the arbiter 25 to the control circuit 14 of the DRAM core 11 one by one in that order. The control circuit 14 of the DRAM core executes the received command and transmits a command acceptance signal to the command register 25 when the command is completed (or approaching completion). When the command register 25 receives the command receivable signal, the command register 25 transfers the next command to the control circuit 14. During this time, the command transferred from the arbiter 26 is temporarily held in the command register 25.
[0031]
FIG. 9 shows an embodiment of the arbiter 26. The order in which the commands arrived at the five registers (Read command register AR, Write command register AW, Read command register BR, Write command register BW, refresh command register 27) in FIG. judge. Each comparator 53 compares the timings of the two command registers, and the output on the side where “H” is input first becomes “H”. The AND gate 54 determines whether each command has been previously input to all the other four commands by determining whether the outputs of the related comparators 53 are all “H”. Signals RA31, WA31, RB31, WB31, and REF31 corresponding to each command indicate “H” in the case of the earliest command and are transferred to the command register 25. For example, if RA2 is the earliest among RA2 to REF2, the outputs of the comparators connected to RA2 are all “H” on the RA2 side, and as a result, RA31 is “H”. At this time, since the command reception notification has not yet occurred (= “L”), N1 = “H”, RA3 becomes “H”, and the command RA3 is sent to the command register 25.
[0032]
When the command register 25 receives the command, it generates a command reception notification. In response to this, an “L” pulse is generated at N1, and RA3 to REF3 all become “L”. In the meantime, any of ResetRA to ResetREF occurs. If RA31 is "H", ResetRA is generated and the Read command register AR is reset. Then, RA2 becomes “L”, and RA31 to REF31 become “H” in the next order command. Then, when the “L” pulse of N1 is cut off and N1 = “H”, the command in the next order is transferred to the command register 25. The above operation is repeated.
[0033]
FIGS. 10 and 11 are diagrams showing the configuration of the command register 25 of the embodiment, which are divided into two diagrams.
The command register 25 is mainly composed of a shift register 92 that stores commands and outputs them in order to the DRAM core 11 and switches (SW1 to SW3) 82 to 84 that transfer commands received from the arbiter 26 to the shift register 92. . In this example, the shift register 92 has a three-stage configuration, registers 85 to 87 that hold commands, flags 88 to 90 that indicate the holding states of the registers 85 to 87, and resets that reset the states of the registers 85 to 87. A data portion 91 is provided. When no commands are stored in the registers 85 to 87, the flags 88 to 90 (FL1 to FL3 = “L”) and the switch 82 (SW1) is connected. The first command is stored in the register 85 via SW1, and FL1 = "H". When FL1 = "H", a pulse is generated in the "H" edge pulsing circuit 93, and a command reception notification is transmitted to the arbiter 26.
[0034]
At this time, if a command acceptance signal is output from the DRAM core 11, the gate 97 is connected and the command of the register 85 is transferred to the latch 98 and is sent to the control circuit 14 of the DRAM core 11 as it is. At this time, an address corresponding to the command is transferred to the DRAM core 11. The DRAM core 11 starts the operation according to the received command and cuts off the command acceptance signal. Then, the gate 97 is cut off. The register control circuit 96 generates a shift signal, sends the contents of the register 86 to the register 85, and sends the contents of the register 87 to the register 86. If the command is not stored in the register 86 before the shift signal is generated, the shift is performed, so that the register 85 is reset and FL1 = "L". The register control circuit 96 generates a shift signal and at the same time generates a transfer prohibition signal, disconnects SW1 to SW3, and prohibits data from being transferred to the shift register 92 during the shift operation. When the first command (command 1) is stored in the register 85 via SW1, if the previous command is being executed in the DRAM core 11, the command is held in the register 85. FL1 = "H" and SW1 is disconnected, and SW2 is connected after a predetermined delay. The predetermined delay is a time corresponding to a time until a command reception notification is generated and the output of the arbiter is reset. If the next command (command 2) is transmitted from the arbiter 26 before the DRAM core 11 can accept the command, the command 2 is stored in the register 86 via SW2. FL2 = "H", a command reception notification is generated, SW2 is disconnected, and SW3 is connected after a predetermined delay time. Thereafter, when the DRAM core becomes ready to accept commands, a command acceptance signal is generated, the gate 97 is connected, the command 1 of the register 85 is transferred to the latch 98, and sent to the DRAM core 11. The DRAM core 11 starts the operation according to the command 1 and disconnects the command acceptance signal. Then, the gate 97 is cut off. The register control circuit 96 generates a shift signal, sends the command 2 of the register 86 to the register 85, and sends the contents (reset state) of the register 87 to the register 86. Command 2 is stored in the register 85, and the registers 86 and 87 are reset. Since FL1 = "H", FL2, FL3 = "L", SW2 is connected and SW1 and SW3 are disconnected.
[0035]
The reset data unit 91 is attached to the left of the register 87 of the shift register 92 in order to reset the register 87 by shifting the command of the register 87 to the register 86 with the subsequent shift signal when the command is stored up to the register 87. It is. As described above, the command register 25 temporarily accumulates the commands sent from the arbiter 26, detects the state of the DRAM core 11, and sequentially transfers the commands.
[0036]
A command generation detection signal is input to the register control circuit 96. The command generation detection signal is a signal generated when a command is transmitted from the arbiter 26. FIG. 12 shows the operation of the register control circuit 96. When the register control circuit 96 command acceptance signal is disconnected, a shift signal and a transfer prohibition signal are generated. If a command is transmitted from the arbiter 26 immediately before the command acceptance signal is disconnected, the command sent first It is better to shift after transferring to the shift register 92. Therefore, comparing which of the falling edge of the command acceptance signal and the rising edge of the command generation detection signal is faster, if the former is early, the shift signal and transfer prohibition signal are generated from the former falling edge, and the latter is If it is early, a shift signal and a transfer prohibition signal are generated from the latter falling edge.
[0037]
13 and 14 are operation diagrams of the command register 25. FIG. The case where Refresh occurs internally at the time of Write → Read switching where the input command is the densest (that is, the case of FIGS. 26 and 27) is described as an example. The numbers written in the operation diagrams of SW1 to SW3 are the numbers of the connected SWs and indicate the period during which the switch is connected. Registers 1 to 3 are registers with reference numbers 85 to 87, respectively.
[0038]
FIG. 15 is a diagram illustrating a configuration of a portion related to an address in the embodiment. In the following drawings, “P” at the end of a signal is a signal on a pulse generated by pulsing the rising edge of the original signal. As shown, the address input circuits 34 and 44 have input buffers 57A and 57B and transfer gates 58A and 58B. The address register 19A and the address register 19B include address latches A1 to A4 and B1 to B4, and transfer gates 59A to 63A and 59B to 63B. Addresses from the transfer gates 62A, 62B, 63A, 63B are transferred to the DRAM core 11 via the address bus 17. Further, the refresh address output from the refresh address counter / register 18 is also transferred to the DRAM core 11 via the transfer gate 64 and the address bus 17.
[0039]
When a Read command or a Write command is input from the outside, the address input to the input buffers 57A and 57B is transferred to the address latches A1 and B1 through the transfer gates 58A and 58B at the same time. If the command is a Read command, the command is transferred to the DRAM core 11 in synchronization with the command transfer via the transfer gates 61A, 63A, 61B, 63B and the address latches A4, B4. If the command is a Write command, it is further transferred to the address latches A2 and B2 at the final data fetch timing, and then transferred from the transfer gates 62A and 62B to the DRAM core 11 in synchronization with the command transfer. The refresh address is generated and held in the refresh address counter / register 18 and is similarly transferred from the transfer gate 64 to the DRAM core 11 in synchronization with the transfer of the refresh command to the DRAM core.
[0040]
FIG. 16 is a diagram showing a configuration of a portion related to data output in the embodiment, and FIG. 17 is a diagram showing a transfer signal generation circuit in the portion. The data input / output circuits 33 and 43 of the A port 30 and the B port 40 have data output circuits 65A and 65B and data input circuits 74A and 74B described later. As shown in the figure, the data read from the memory array 12 via the sense buffer 16 is transferred to the data output circuits 65A and 65B via the data bus 21 and the transfer gates 24A and 24B.
[0041]
Data output circuits 65A and 65B include data latches A1 and B1, transfer signal generation circuits 67A and 67B, transfer gates 68A and 68B, data latches A2 and B2, and parallel-serial (parasiri) converters 70A and 70A, respectively. 70B and output buffers 71A and 71B.
The transfer gates 24A and 24B are controlled based on the internal operation by the control circuit 14 of the DRAM core 11. If the executed command is Read-A (read operation from the A port), the transfer gate 24A is opened, Read-B If so, the transfer gate 24B opens. Data is held in the data latches A1 and B1, and is transferred to the data latches A2 and B2 after a predetermined latency from reception of the Read command at each port by the transfer gates 68A and 68B. , 71B and output.
[0042]
As shown in FIG. 17, the transfer signal generation circuit 67 delays the Read commands RA1 and RB1 by the number of clocks corresponding to the set latency by the flip-flops 72 connected in series to generate the data transfer signal 2. appear. Since transfer of read data from the transfer gates 68A and 68B is performed according to the data transfer signal 2, the read data is delayed from the read operation by the number of clocks corresponding to the latency.
[0043]
18 and 19 are diagrams showing a configuration of a portion related to data input in the embodiment. The data input circuits 74A and 74B have data input (Din) buffers 75A and 75B, serial-parallel converters 76A and 76B, and data transfer units 77A and 77B. Write data WDA and WDB from the data transfer units 77A and 77B are sent via the first wire data registers 78A and 78B, the data transfer gates 79A and 79B, the second wire data registers 80A and 80B, the data transfer gates 81A and 81B, and the data bus 21. Is sent to Write Amp. 15 and written to the memory array 12.
[0044]
The serially input data is serial-parallel converted according to the burst length, and transferred to the first write data registers 78A and 78B when the last data is input. When the Write command is transferred from the command register 25 to the DRAM core 11, the corresponding data is also transferred to the DRAM core 11.
20 to 28 are time charts showing the operation of the multiport memory of the first embodiment. FIG. 20 and FIG. 21, FIG. 23 and FIG. 24, and FIG. 26 and FIG. 27 are diagrams in which one time chart is divided for convenience of display, one showing the first half of the time chart and the other showing the second half. , Some are shown redundantly.
[0045]
FIG. 20 and FIG. 21 show operations when a Read operation command is continuously input to two ports. The A port and the B port receive clocks CLKA and CLKB having different frequencies, respectively, take in commands, addresses, and write data in synchronization with the input clocks, and output read data in synchronization with the clocks. . In this example, the A port operates at the highest clock frequency, the B port operates at a slower clock frequency, the A port operates with Read command cycle = 4 (CLKA), data latency = 6 (CLKA), burst length = 4. , B port has Read command cycle = 2 (CLKB), data latency = 3 (CLKB), and burst length = 2. The data latency and burst length are set in the mode registers 31 and 41 of the respective ports. Therefore, in the A port, the data input / output operation is performed four times in synchronism with the clock for one command, and the read data is output after six clocks from the input of the read command. In response to one command, the data input / output operation is performed twice in synchronization with the clock, and the read data is output three clocks after the input of the read command.
[0046]
The commands received by both the A and B ports are held in the command registers 28A and 28B, respectively. When the refresh timer 51 generates a signal, the refresh command is held in the refresh command register 27. The arbiter 26 monitors these command registers and transfers them to the command register 25 in order from the command that occurred earlier. The command register 25 temporarily holds the sent command and sequentially transfers the command to the DRAM core 11 in the order of sending according to the operation status of the DRAM core 11. That is, the next command is transferred after processing of the previously transferred command is completed.
[0047]
As shown in the figure, a command Read-A2 is input to the Read command register AR, a refresh occurs once before the command Read-B2 is input to the Read command register BR, and a refresh command is input to the refresh command register. Then, according to the generation order, the arbiter 26 transfers the data to the DRAM core 11 in the order of Read-A2->Ref-> Read-B2, and sequentially executes them in the core.
[0048]
There is an extra time between Read-B1 and Read-A2 in the core operation, and so far, it is a normal operation. When refresh occurs, Refresh is executed after Read-A2 without a margin time, and further, Read-B2, Read-A3,... Are executed continuously without a margin time, and there is no margin time until Read-A5. Is high-speed operation.
[0049]
Although the internal operation is delayed with respect to the command input from the outside due to the execution of the refresh command, it is recovered by the high-speed operation and caught up with Read-A5. There is a surplus time between Read-A5 and Read-B5, and the normal operation is restored. Data read from the DRAM core 11 in the sense buffer 16 is transferred to the data latch (data latch A1 or B1) of the port corresponding to the Read command by the transfer gate. The data is time-adjusted in the data latch A1 or B1, transferred to the data latch A2 or B2, and output in synchronization with the clock of each port.
[0050]
Even if refresh is performed internally, data is output after a predetermined data latency when viewed from the outside, and there is no need to be aware of refresh from the outside.
FIG. 22 shows an example in which the Write command is continuously input under the same conditions. Data input from the outside at the time of Write is also a burst input. At this time, the write command is held in the write command register AW at the timing when the last data is input. In this case as well, it can be seen that there is no need to be conscious from the outside even if a refresh occurs internally.
[0051]
FIGS. 23 and 24 are operation diagrams when both ports A and B perform a read operation at the maximum clock frequency, and FIG. 25 illustrates an operation diagram when both ports A and B perform a write operation at the maximum clock frequency. It is. In this case, there may be a phase difference between the clocks of both ports. In both ports, Read command cycle = 4, Write command cycle = 4, data latency = 6, and burst length = 4. As shown in the figure, it can be seen that the system operates without any problems even in such a case.
[0052]
FIG. 26 and FIG. 27 are time charts when both ports operate at the highest frequency, the Write command is switched to the Read command, and a refresh occurs inside, and in this case, the commands are most crowded.
As shown in the figure, the DRAM core 11 is implemented in the order of Ref → Write-A 1 → Write-B 1 → Read-A 2 → Read-B 2, and there is no gap between them. In this example, Read-A2 and Read-B2 are input 6 clocks after the write command is input, but even if this is advanced 2 clocks, the operation in the DRAM core cannot be advanced. In contrast, the read data output timing is determined by the data latency from the Read command input. Therefore, if the input timings of Read-A2 and Read-B2 are advanced, it is necessary to advance the data output timing accordingly. However, if, for example, Read-B2 is input after 4 clocks of Write-B1, Read-B2 comes in data output timing almost simultaneously with the start of operation in the DRAM core, and becomes inoperable. For the reasons described above, the command interval is increased with respect to the switching of Write → Read, for example, 6 clocks in this example.
[0053]
Regarding the command interval of Read → Write, since the Write data cannot be received from the DQ terminal unless the output of Read data is completed, the command interval is inevitably widened.
FIG. 28 is an operation diagram of the DRAM core 11, (A) shows the Read operation, and (B) shows the Write operation. In this way, word line selection → data amplification → write back → precharge is executed for one command to complete the operation. When the DRAM core 11 receives a command from the command register 25, the DRAM core 11 disconnects the command acceptance signal, and generates a command acceptance signal when the operation corresponding to the command is finished or is nearing the end.
[0054]
(Appendix 1) Memory array
N sets of external ports each receiving the first command (N is an integer of 2 or more);
A semiconductor memory device including an internal command generation circuit that independently generates a second command;
The minimum input cycle time of the first command input from the external port of each set is at least n times for the semiconductor memory device during m (m ≧ 2) times the minimum input cycle time. Internal operations can be performed,
A semiconductor memory device characterized by being set so as to satisfy a condition of m × N <n <m × (N + 1).
[0055]
(Supplementary note 2) The semiconductor memory according to supplementary note 1, wherein the n internal operations include an operation corresponding to m × N first commands and an operation corresponding to at least one second command. apparatus.
(Supplementary note 3) The semiconductor memory device according to supplementary note 2, wherein the memory array is composed of dynamic memory cells, and the second command is a refresh command.
[0056]
(Supplementary Note 4) a control circuit for controlling the memory array;
A command register for temporarily holding the first command and the second command before transferring them to the control circuit;
An arbitration circuit that determines the arrival order of the first command and the second command, and controls to transfer to the command register in that order;
The semiconductor memory device according to appendix 1, wherein the command register transfers the first command and the second command to the control circuit in the order of reception.
[0057]
(Supplementary Note 5) The semiconductor memory device according to Supplementary Note 4, wherein timing at which the command register transfers the first command and the second command to the control circuit is determined based on an operation cycle of the memory array.
(Appendix 6) The command register is composed of a shift register.
The semiconductor memory device according to appendix 5.
[0058]
(Supplementary note 7) The command register generates a capture completion signal when the command transferred from the arbitration circuit is fetched. When the arbitration circuit detects the fetch completion signal, the command register transfers a command of the next order. The semiconductor memory device described.
(Supplementary note 8) The semiconductor memory according to supplementary note 1, wherein each of the N sets of external ports includes a clock input circuit that receives a clock from outside, and performs an input / output operation of each external port in synchronization with the received clock. apparatus.
[0059]
(Supplementary Note 9) The semiconductor device according to Supplementary Note 8, wherein each of the N sets of external ports includes a mode register that stores data latency set from outside, and each external port outputs data at the set data latency. Storage device.
(Supplementary Note 10) Each of the N sets of external ports includes a burst type data input / output unit,
The mode register stores an externally set burst length,
The semiconductor memory device according to appendix 9, wherein each external port inputs / outputs data for the number of times corresponding to the set burst length during the input cycle of the first command.
[0060]
(Supplementary note 11) The semiconductor memory device according to supplementary note 4, wherein the multi-port semiconductor memory device is capable of inputting / outputting data for one burst length between the memory array and each external port in one operation.
(Supplementary Note 12) The first command includes a read command and a write command,
The arbitration circuit determines the order of the read command based on the first timing fetched by the external port, and the write command at the second timing when the last data that is burst input is input. The semiconductor memory device according to attachment 4, wherein the order is determined based on the order.
[0061]
【Effect of the invention】
As described above, according to the present invention, even if the memory array of a multi-port memory is constituted by a DRAM core, it can be used without being aware of refresh, and a large-capacity and easy-to-use multi-port memory can be realized at low cost. .
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is a diagram illustrating the principle of the present invention when the burst length is 4. FIG.
FIG. 3 is an explanatory diagram of the principle of the present invention when the burst length is 4. FIG.
FIG. 4 is a diagram illustrating the principle of the present invention.
FIG. 5 is a diagram (part 1) illustrating a configuration of a multi-port memory according to an embodiment of the present invention;
6 is a diagram (part 2) illustrating the configuration of the multi-port memory according to the embodiment of the present invention.
FIG. 7 is a diagram (part 1) illustrating a configuration of a portion related to a command of the multi-port memory according to the embodiment.
FIG. 8 is a diagram (No. 2) illustrating a configuration of a portion related to a command of the multi-port memory according to the embodiment.
FIG. 9 is a diagram illustrating a configuration of an arbiter of the multi-port memory according to the embodiment.
FIG. 10 is a first diagram illustrating a configuration of a command register according to the embodiment.
FIG. 11 is a second diagram illustrating the configuration of the command register according to the embodiment.
FIG. 12 is a time chart showing the operation of the register control circuit used in the command register of the embodiment.
FIG. 13 is a time chart (part 1) illustrating the operation of the command register according to the embodiment.
FIG. 14 is a time chart (part 2) illustrating the operation of the command register according to the embodiment.
FIG. 15 is a diagram illustrating a configuration of a portion related to an address of the multi-port memory according to the embodiment.
FIG. 16 is a diagram illustrating a configuration of a portion related to data output of the multiport memory according to the embodiment.
FIG. 17 is a diagram illustrating a configuration of a transfer signal generation circuit according to an embodiment.
FIG. 18 is a diagram (No. 1) illustrating a configuration of a portion related to data input of the multi-port memory according to the embodiment.
FIG. 19 is a diagram (No. 2) illustrating a configuration of a portion related to data input of the multi-port memory according to the embodiment.
FIG. 20 is a time chart (part 1) illustrating the operation (continuous read) of the multi-port memory according to the embodiment.
FIG. 21 is a time chart (part 2) illustrating the operation (continuous read) of the multi-port memory according to the embodiment.
FIG. 22 is a time chart illustrating an operation (continuous write) of the multi-port memory according to the embodiment.
FIG. 23 is a time chart (part 1) showing the operation (fastest continuous read) of the multi-port memory according to the embodiment.
FIG. 24 is a time chart (part 2) illustrating the operation (fastest continuous read) of the multi-port memory according to the embodiment.
FIG. 25 is a time chart illustrating an operation (fastest continuous write) of the multi-port memory according to the embodiment.
FIG. 26 is a time chart (part 1) illustrating the operation of the multiport memory according to the embodiment (switching from Write to Read);
FIG. 27 is a time chart (part 2) illustrating the operation of the multiport memory according to the embodiment (switching from Write to Read);
FIG. 28 is a time chart illustrating a DRAM core operation of the multi-port memory according to the embodiment.
[Explanation of symbols]
11 ... DRAM core
12 ... Memory array
14 ... Control circuit
15 ... Write Amp.
16 ... Sense buffer
18 ... Refresh address counter / register
19A ... Address register A
19B: Address register B
22A ... Write data register A
22B: Write data register B
24A ... Transfer gate A
24B ... Transfer gate B
25 ... Command register
26 ... Arbiter
30, 40 ... (A, B) External port
31, 41 ... mode register
32, 42 ... CLK buffer
33, 43 ... Data input / output circuit
34, 44 ... Address input circuit
35, 45 ... Command input circuit
50 ... Refresh circuit

Claims (7)

メモリアレーと、
それぞれ外部コマンドを受信するN組(Nは2以上の整数)の外部ポートと、
内部で独自に定期的にリフレッシュコマンドを発生する内部コマンド発生回路とを備える半導体記憶装置であって、
各組の前記外部ポートから入力される前記外部コマンドの最小入力サイクル時間は、該最小入力サイクル時間のm(mは2以上の整数)倍の時間の間に、当該半導体記憶装置がm×回の前記外部コマンドに対応した動作と前記リフレッシュコマンドに対応したリフレッシュを実施することが可能な時間に設定されており、
さらに、前記メモリアレーの制御を行う制御回路と、
前記外部コマンドと前記リフレッシュコマンドを前記制御回路に転送する前に一時的に保持するコマンドレジスタと、
前記外部コマンドと前記リフレッシュコマンドの到着順位を判定し、前記到着順位の順番で前記コマンドレジスタに転送するように制御する裁定回路とを備え、
前記コマンドレジスタは、前記外部コマンドと前記リフレッシュコマンドを受信した順番に前記制御回路に転送する
ことを特徴とする半導体記憶装置。
A memory array,
N sets of external ports (N is an integer of 2 or more) for receiving external commands,
A semiconductor memory device comprising an internal command generation circuit for periodically generating a refresh command independently internally,
The minimum input cycle time of the external command input from each set of the external ports is m × N for the semiconductor memory device during a time that is m times the minimum input cycle time (m is an integer of 2 or more). The time corresponding to the external command and the time corresponding to the refresh command can be performed ,
A control circuit for controlling the memory array;
A command register for temporarily holding the external command and the refresh command before transferring them to the control circuit;
An arbitration circuit that determines the arrival order of the external command and the refresh command, and controls to transfer to the command register in the order of the arrival order;
The semiconductor memory device , wherein the command register transfers the external command and the refresh command to the control circuit in the order received .
前記コマンドレジスタが前記制御回路に前記外部コマンドと前記リフレッシュコマンドを転送するタイミングは、前記メモリアレーの動作サイクルに基づいて決定される請求項に記載の半導体記憶装置。Timing at which the command register to transfer the external command and the refresh command to said control circuit, a semiconductor memory device according to claim 1 which is determined based on the operating cycle of the memory array. 前記コマンドレジスタは、シフトレジスタで構成されている請求項に記載の半導体記憶装置。The semiconductor memory device according to claim 2 , wherein the command register includes a shift register. 前記コマンドレジスタは、前記裁定回路から転送されたコマンドを取り込んだら取り込み完了信号を発生し、前記裁定回路は前記取り込み完了信号を検出したら、次の順位のコマンドを転送する請求項に記載の半導体記憶装置。 3. The semiconductor according to claim 2 , wherein the command register generates a capture completion signal when the command transferred from the arbitration circuit is received, and the arbitration circuit transfers a command of the next order when detecting the capture completion signal. Storage device. 前記N組の外部ポートは、それぞれ外部からクロックを受信するクロック入力回路を備え、それぞれが受信したクロックに同期して各外部ポートの入出力動作を行う請求項1に記載の半導体記憶装置。  2. The semiconductor memory device according to claim 1, wherein each of the N sets of external ports includes a clock input circuit that receives a clock from the outside, and performs an input / output operation of each external port in synchronization with the received clock. 前記N組の外部ポートは、それぞれ外部から設定されるデータレイテンシを記憶するモードレジスタを備え、各外部ポートはそれぞれ設定されたデータレイテンシでデータの出力を行う請求項に記載の半導体記憶装置。6. The semiconductor memory device according to claim 5 , wherein each of the N sets of external ports includes a mode register for storing data latency set from outside, and each external port outputs data at the set data latency. 前記N組の外部ポートは、それぞれバースト型のデータ入出力部を備え、
前記モードレジスタは、外部から設定されるバースト長を記憶し、
各外部ポートは、前記外部コマンドの入力サイクルの間に、それぞれ設定されたバースト長に対応する回数分データの入出力を行う請求項に記載の半導体記憶装置。
Each of the N sets of external ports includes a burst type data input / output unit,
The mode register stores an externally set burst length,
7. The semiconductor memory device according to claim 6 , wherein each external port inputs / outputs data for the number of times corresponding to the set burst length during the input cycle of the external command.
JP2001037547A 2000-12-20 2001-02-14 Semiconductor memory device Expired - Fee Related JP5028710B2 (en)

Priority Applications (23)

Application Number Priority Date Filing Date Title
JP2001037547A JP5028710B2 (en) 2001-02-14 2001-02-14 Semiconductor memory device
EP07103542A EP1808861B1 (en) 2000-12-20 2001-10-02 Multi-port memory based on a plurality of memory cores
EP01308424A EP1220226B1 (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
DE60132382T DE60132382T2 (en) 2000-12-20 2001-10-02 Multiport memory based on DRAM
DE60112701T DE60112701T2 (en) 2000-12-20 2001-10-02 Multiport memory based on DRAM
EP05010996A EP1564749B8 (en) 2000-12-20 2001-10-02 Multi-port memory based on DRAM core
DE60136574T DE60136574D1 (en) 2000-12-20 2001-10-02 Multiport memory based on DRAM
US09/968,516 US20020078311A1 (en) 2000-12-20 2001-10-02 Multi-port memory based on DRAM core
DE60142756T DE60142756D1 (en) 2000-12-20 2001-10-02 Multiport memory based on several memory cores
TW090124818A TW526500B (en) 2000-12-20 2001-10-08 Multi-port memory based on DRAM core
KR1020010066494A KR100801119B1 (en) 2000-12-20 2001-10-26 Multi-port memory based on DRAM core
CN2008101849509A CN101477829B (en) 2000-12-20 2001-11-26 Multiport memory based on dynamic random access memory core
CN2008101849551A CN101452737B (en) 2000-12-20 2001-11-26 Multiport memory based on dynamic random access memory core
CN2006101212012A CN1905059B (en) 2000-12-20 2001-11-26 Multi-port memory based on DRAM core and controlling method thereof
CNB011393580A CN1271636C (en) 2000-12-20 2001-11-26 Multiport Memory Based on Dynamic Random Access Memory Core
CN 200510083508 CN1734668B (en) 2000-12-20 2001-11-26 Multi-port memory based on dram core
CN2009101503100A CN101582290B (en) 2000-12-20 2001-11-26 Multi-port memory based on dynamic random access memory core and its control method
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,475 US8687456B2 (en) 2000-12-20 2012-08-31 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001037547A JP5028710B2 (en) 2001-02-14 2001-02-14 Semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2002245776A JP2002245776A (en) 2002-08-30
JP5028710B2 true JP5028710B2 (en) 2012-09-19

Family

ID=18900658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001037547A Expired - Fee Related JP5028710B2 (en) 2000-12-20 2001-02-14 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP5028710B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4997663B2 (en) * 2000-12-27 2012-08-08 富士通セミコンダクター株式会社 Multiport memory and control method thereof
JP5070656B2 (en) * 2000-12-20 2012-11-14 富士通セミコンダクター株式会社 Semiconductor memory device
JP4783501B2 (en) * 2000-12-27 2011-09-28 富士通セミコンダクター株式会社 Semiconductor memory device
JP4824180B2 (en) * 2001-02-09 2011-11-30 富士通セミコンダクター株式会社 Semiconductor memory device
JP4723205B2 (en) * 2004-05-21 2011-07-13 富士通セミコンダクター株式会社 Semiconductor memory device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5178942A (en) * 1974-12-30 1976-07-09 Fujitsu Ltd
JPS6129489A (en) * 1984-07-20 1986-02-10 Olympus Optical Co Ltd Controll system of dynamic memory
JPS62287495A (en) * 1986-06-06 1987-12-14 Hitachi Vlsi Eng Corp semiconductor storage device
JPS6455794A (en) * 1987-08-26 1989-03-02 Nec Corp Semiconductor memory
JP3765452B2 (en) * 1998-02-12 2006-04-12 株式会社ルネサステクノロジ Semiconductor memory device
TW451215B (en) * 1998-06-23 2001-08-21 Motorola Inc Pipelined dual port integrated circuit memory
JP4201490B2 (en) * 2000-04-28 2008-12-24 富士通マイクロエレクトロニクス株式会社 Memory circuit having automatic precharge function and integrated circuit device having automatic internal command function
JP5070656B2 (en) * 2000-12-20 2012-11-14 富士通セミコンダクター株式会社 Semiconductor memory device
JP4824180B2 (en) * 2001-02-09 2011-11-30 富士通セミコンダクター株式会社 Semiconductor memory device

Also Published As

Publication number Publication date
JP2002245776A (en) 2002-08-30

Similar Documents

Publication Publication Date Title
US8687456B2 (en) Multi-port memory based on DRAM core
KR100801119B1 (en) Multi-port memory based on DRAM core
JP4077874B2 (en) Dynamic random access memory system
US7421548B2 (en) Memory system and method for two step memory write operations
US7533222B2 (en) Dual-port SRAM memory using single-port memory cell
EP0833342A2 (en) Memory system and data transfer method
JPH09507948A (en) Synchronous NAND DRAM architecture
CN1734668B (en) Multi-port memory based on dram core
US6507899B1 (en) Interface for a memory unit
US9741406B2 (en) Semiconductor memory and memory system
JP5028710B2 (en) Semiconductor memory device
JP4824180B2 (en) Semiconductor memory device
US6487140B2 (en) Circuit for managing the transfer of data streams from a plurality of sources within a system
JP4783501B2 (en) Semiconductor memory device
JP2004355810A (en) Semiconductor storage device
JPH08235855A (en) Clock synchronization type semiconductor storage device and its access method

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111025

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

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

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

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