JP4685997B2 - Pipelined dual-port integrated circuit memory - Google Patents
Pipelined dual-port integrated circuit memory Download PDFInfo
- Publication number
- JP4685997B2 JP4685997B2 JP17069699A JP17069699A JP4685997B2 JP 4685997 B2 JP4685997 B2 JP 4685997B2 JP 17069699 A JP17069699 A JP 17069699A JP 17069699 A JP17069699 A JP 17069699A JP 4685997 B2 JP4685997 B2 JP 4685997B2
- Authority
- JP
- Japan
- Prior art keywords
- memory cells
- address
- clock
- coupled
- circuit
- 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
- Static Random-Access Memory (AREA)
- Dram (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、一般に、メモリに関し、さらに詳しくは、デュアル・ポート・メモリに関する。
【0002】
【従来の技術】
デュアル・ポート・メモリは、さまざまな用途で有用である。デュアル・ポート・メモリは、通信およびマルチプロセッサ・システムの分野において特に有用である。マルチプロセッサ・システムでは、一方のプロセッサがアレイにデータを書き込み、他方のプロセッサがデータを読み出すことができる。特に、デュアル・ポートRAMは、非同期転送モード(ATM:Asynchronous Transfer Mode)という通信用途に特に適している。ATMスイッチでは、大量のデータを2つの処理装置間で転送しなければならない。別の通信用途には、標準IEEE802.3(Digital Equipment Corporation社製の商標「Ethernet」として一般に知られる)通信ルータがある。これらの種類の用途では、安価であるが大きなアレイを内蔵するデュアル・ポート・メモリが必要となる。
【0003】
【発明が解決しようとする課題】
従来、デュアル・ポート・ランダム・アクセス・メモリ(RAM)は、2つの方法のうちの一方を利用して構成された。第1の方法では、各メモリ・セルが真のデュアル・ポートであり、そのため8つのトランジスタを必要とした。大きなデュアル・ポート・メモリ・セルはアレイ自体を非常に大きくするので、この方法に基づく集積回路メモリは高価である。第2の方法は、標準的なシングル・ポート・スタティックRAMセルをパーティッション化アレイ(partitioned array)で利用する。両方のポートが同一パーティッションをアクセスすることを試みる場合、これらのアクセスのうち一方を遅延しなければならない。パーティッションの数が増えると、衝突が発生する可能性は減少するが、余分なデコーディングおよび衝突検出回路のためにコストが増加する。従って、必要なのは、従来のシングル・ポートSRAMセルを利用するが、安価で高速な大型デュアル・ポートRAMである。これらの必要性は、本発明により満たされ、その特徴および利点については、図面および以下の説明を参照してさらに説明する。
【0004】
【実施例】
図1は、本発明によるメモリ20を部分的なブロック図および部分的な論理図の形式で示す。メモリ20は、集積回路デュアル・ポート・スタティック・ランダム・アクセス・メモリ(SRAM)であり、シングル・ポートSRAMアレイ21,アービトレーション回路(arbitration circuit)24,ボンディング・パッド26,28,入力部30および出力部50を一般に含む。アレイ21は、Nビット・アドレスを受ける入力端子と、信号反転Wを受ける制御入力端子と、「CLKX」および「CLKY」と記されたクロック信号を受けるクロック入力端子と、「DIN]と記されたMビット・データ値を受けるデータ入力端子と、「DOUT]と記されたMビット・データ値を与える出力端子とを有する。また、アレイ21は、デコーダ・ブロック22およびライト制御回路23も含む。
【0005】
メモリ20は、ボンディング・パッド26,28上でそれぞれ受信される「CLOCK(X)」および「CLOCK(Y)」と記された2つのクロック信号に応答する。アービトレーション回路24は、CLOCK(X)を受けるためにボンディング・パッド26に接続された第1入力端子と、CLOCK(Y)を受けるためにボンディング・パッド28に接続された第2入力端子と、信号CLKXおよびCLKYをアレイ21に与える出力端子と、「XYSEL」と記された制御信号を与える出力端子と、「QCLKX」と記された信号を与える出力端子と、「QCLKY」と記された信号を与える出力端子とを有する。
【0006】
入力部30は、ボンディング・パッド31〜36,D型フリップフロップ40〜45およびマルチプレクサ(MUX)46〜48を一般に含む。ボンディング・パッド31は、「ADD(X)」と記されたNビット・アドレス信号を受ける。ボンディング・パッド32は、「ADD(Y)」と記されたNビット・アドレス信号を受ける。ボンディング・パッド33は、「反転W(X)」と記されたライト制御信号を受ける。ボンディング・パッド34は、「反転W(Y)」と記されたライト制御信号を受ける。ボンディング・パッド35は、「DIN(X)」と記されたMビット入力データ信号を受ける。ボンディング・パッド36は、「DIN(Y)」と記されたMビット・データ入力信号を受ける。明白なように、ボンディング・パッド31,32のそれぞれは、それぞれアドレス信号を受けるためのN個のボンディング・パッドを表し、ボンディング・パッド35,36のそれぞれは、それぞれDIN信号を受けるためのM個のボンディング・パッドを表すが、図1ではわかりやすいように単一のボンディング・パッドとして図示されている。
【0007】
フリップフロップ40は、ボンディング・パッド31に接続されたD入力端子と、信号CLOCK(X)を受けるクロック入力端子と、Q出力端子とを有し、ADD(X)のそれぞれのアドレス信号を受け、かつそれぞれラッチされたアドレス信号を与えるN個のD型フリップフロップのうちの一つを表す。フリップフロップ41は、ボンディング・パッド32に接続されたD入力端子と、信号CLOCK(Y)を受けるクロック入力端子と、Q出力端子とを有し、ADD(Y)のそれぞれのアドレス信号を受け、かつラッチされたアドレス信号を与えるN個のフリップフロップのうちの一つを表す。フリップフロップ42は、ボンディング・パッド33に接続されたD入力端子と、信号CLOCK(X)を受けるクロック入力端子と、Q出力端子とを有する。フリップフロップ43は、ボンディング・パッド34に接続されたD入力端子と、信号CLOCK(Y)を受けるクロック入力端子と、Q出力端子とを有する。フリップフロップ44は、ボンディング・パッド35に接続されたD入力端子と、CLOCK(X)を受けるクロック入力端子と、Q出力端子とを有し、信号DIN(X)のそれぞれ受けるM個のフリップフロップのうちの一つを表す。フリップフロップ45は、ボンディング・パッド36に接続されたD入力端子と、信号CLOCK(Y)を受けるクロック入力端子と、Q出力端子とを有し、信号DIN(Y)の対応する信号を受けるM個のフリップフロップのうちの一つを表す。
【0008】
MUX46は、フリップフロップ40のQ出力端子に接続された第1入力端子と、フリップフロップ41のQ出力端子に接続された第2入力端子と、信号XYSELを受ける制御入力端子と、出力端子とを有し、ADD(X)およびADD(Y)のそれぞれアドレス信号を受け、かつ信号ADDとして対応する出力をアレイ21に与えるN個のMUXのうちの一つを表す。MUX47は、フリップフロップ42のQ出力端子に接続された第1入力端子と、フリップフロップ43のQ出力端子に接続された第2入力端子と、信号XYSELを受ける制御入力端子と、信号反転Wをアレイ21に与える出力端子とを有する。MUX48は、フリップフロップ44のQ出力端子に接続された第1入力端子と、フリップフロップ45のQ出力端子に接続された第2入力端子と、信号XYSELをける制御入力端子と、信号DINをアレイ21に与える出力端子とを有し、信号DIN(X)およびDIN(Y)のそれぞれの信号を受け、かつ信号DINとして対応する出力をアレイ21に与えるM個のMUXのうちの一つを表す。
【0009】
出力部50は、D型フリップフロップ51〜54,3状態バッファ55,56およびボンディング・パッド60〜63を一般に含む。フリップフロップ51は、アレイ21の出力端子に接続されたD入力端子と、QCLKXを受けるクロック入力端子と、出力端子とを有し、信号DOUTのそれぞれを受け、かつ対応する出力を与えるM個のフリップフロップのうちの一つを表す。フリップフロップ52は、フリップフロップ51のQ出力端子に接続されたD入力端子と、信号CLOCK(X)を受けるクロック入力端子と、出力端子とを有し、フリップフロップ51によって表される前段のフリップフロップのうちの一つに対応するM個のフリップフロップのうちの一つを表す。フリップフロップ53は、アレイ21のD出力端子に接続されたD入力端子と、信号QCLKYを受けるクロック入力端子と、出力端子とを有し、信号DOUTのそれぞれを受け、かつ対応する出力を与えるM個のフリップフロップのうちの一つを表す。フリップフロップ54は、フリップフロップ53のQ出力端子に接続されたD入力端子と、信号CLOCK(Y)を受けるクロック入力端子と、出力端子とを有し、フリップフロップ53によって表される前段のフリップフロップのうちの一つに対応するM個のフリップフロップのうちの一つを表す。バッファ55は、フリップフロップ52のQ出力端子に接続されたデータ入力端子と、データ出力端子と、ボンディング・パッド60に接続された制御端子とを有し、フリップフロップ52の対応するものに接続されたM個のバッファのうちの一つを表す。バッファ56は、フリップフロップ54のQ出力端子に接続されたデータ入力端子と、出力端子と、ボンディング・パッド63に接続された制御入力端子とを有し、フリップフロップ54のそれぞれに対応するM個のバッファのうちの一つを表す。ボンディング・パッド60は、バッファ55の制御入力端子に接続される、「反転OE(X)」と記された出力イネーブル信号を受ける。ボンディング・パッド61は、「DATAOUT(X)」と記された出力信号を与えるためバッファ55の出力端子に接続され、バッファ55などの各バッファに対応するM個のボンディング・パッドのうちの一つを表す。ボンディング・パッド62は、「DATAOUT(Y)」と記された信号を与えるためバッファ56の出力端子に接続され、バッファ56の対応する出力に接続されたM個のボンディング・パッドのうちの一つを表す。ボンディング・パッド63は、「反転OE(Y)」と記された出力イネーブル信号を受け、バッファ56の制御端子に接続される。
【0010】
動作時に、メモリ20はフル・デュアル・ポートのスタティック・ランダム・アクセス・メモリ(SRAM)として機能する。メモリ20において、各クロック信号の単一サイクル内でアクセスができない状況はない。さらに、メモリ20は標準的な6トランジスタSRAMセルを利用し、そのため他のデュアル・ポート方式に伴う特殊なデュアル・ポート・セルの必要がない。
【0011】
メモリ20は、アレイ21へのアクセスを各ポート上で非同期的に行うことを可能にすることによりこれらの効果を達成し、ここで各アクセスは各クロック信号の低(low)から高(high)への遷移で開始する。従って、信号CLOCK(X)およびCLOCK(Y)が規定の最大周波数よりも低い周波数を有している限り、メモリ20は両方のアクセスがそれぞれクロック・サイクルの一つサイクル内で完了することを保証する。特に、デュアル・ポートSRAM20は、CLOCK(X)およびCLOCK(Y)がほぼ同時に生じる低から高への遷移を有する場合に、Xポート上のアクセスに優先権が与えられることを保証するように、アービトレーション回路24を利用する。さらに、アービトレーション回路24は、CLOCK(X)とCLOCK(Y)との間に微量のスキュー(skew)がある場合に、準安定(metastability)の問題が生じないことを保証する。
【0012】
アレイ21は、信号CLOCK(X)またはCLOCK(Y)のいずれかのスピードの2倍でアクセスできるシングル・ポート・メモリ・コアである。一般に、メモリ20は、外部アクセス要求に応答して、アレイ21へのアクセス要求を生成する。アービトレーション回路24は、2つのアクセス要求が実質的に同時に受信される場合を除いて、2つのアクセス要求のうち早いほうがアレイ21に与えられることを保証する。アクセス要求が同時に受信される場合、アービトレーション回路24はXポートを優先する。
【0013】
さらに具体的には、アービトレーション回路24は、アレイ21へのアクセスがXポートまたはYポートに与えられたのかを示すために、信号XYSELを出力する。この特定の実施例では、論理高レベルはXポート上のアクセスを表し、一方、論理低レベルはYポート上のアクセスを表す。従って、信号XYSELが論理高の場合、MUX46は第1入力を選択し、Nビット信号ADDとして信号ADD(X)をアレイ21に与える。次に、アレイ21は、デコーダ22を利用して従来の行列デコーディングを行い、信号DOUT(アクセスがリード・サイクルであることを想定)を与える。同様に、アービトレーション回路24が論理低のXYSEL信号を与える場合、MUX46は第2入力を選択する。信号XYSELは、アービトレーション回路24が優先権を与えたポートに対応するMUX47,48の入力を選択する。さらに、アービトレーション回路24は、クロック信号CLKXおよびXLKYをアレイ21のライト制御回路23に与える。なお、別の実施例では、クロック信号CLKX,CLKYは単一のクロック信号に置き換えてもよいことに留意されたい。
【0014】
信号QCLKXおよびQCLKYは、それぞれXおよびYポートのリード・データ経路を制御する。信号QCLKXは、フリップフロップ51のクロック入力端子に入力され、信号QCLKYは、フリップフロップ53のクロック入力端子に入力される。なお、データ出力経路も、着信データをそれぞれ信号CLOCK(X)およびCLOCK(Y)の次の立ち上がりエッジと同期するために、追加のフリップフロップ52,54を含むことに留意されたい。バッファ55,56は、信号DATAOUT(X)およびDATAOUT(Y)に対して従来の3状態制御を行う。
【0015】
図2は、シングル・ポート・メモリ・セル80を含む図1のアレイ21の一部70を部分的な外略図および部分的なブロック図の形式で示す。メモリ・セル80は、ワード・ライン72上で導通する「WL」と記された信号の活性化によってアクセスされるスタティックRAMセルであり、それぞれビットライン74,76の相補対(complementary pair)上で「BL」および「反転BL」と記された差動データ信号を導通する。メモリ・セル80は、NチャネルMOS(metal oxide semiconductor)トランジスタ82,84およびインバータ86,88を含む。トランジスタ82は、ビット・ライン74に接続された第1電流電極と、ワード・ライン72に接続されたゲートと、第2電流電極とを有する。トランジスタ84は、ビット・ライン76に接続された第1電流電極と、ワード・ライン72に接続されたゲートと、第2電流電極とを有する。インバータ86は、トランジスタ82の第2電流電極に接続された入力端子と、トランジスタ84の第2電流電極に接続された出力端子とを有する。インバータ88は、インバータ86の出力端子に接続された入力端子と、インバータ86の入力端子に接続された出力端子とを有する。
【0016】
動作時に、メモリ・セル80は、その論理状態が背面結合(back-to-back)インバータ86,88の動作によって格納される、標準的なシングル・ポートの6トランジスタ・メモリ・セルである。なお、本明細書で説明するように、メモリ・セルにおけるトランジスタの数は、格納を行うトランジスタに加えて、アクセス・トランジスタを含むことに留意されたい。メモリ・セル80は、ワード・ライン72の活性化によって従来のようにアクセスされる。ワード・ライン72がアクティブのとき、トランジスタ82,84は導通状態となり、メモリ・セルの内容を比較的小さな差動電圧としてビット・ライン74,76に結合する。この電圧は、その後検出され、出力される。ライト・サイクル中に、外部回路は、BLと反転BLとの間で比較的大きな差動電圧を与えて、メモリ80に格納された内容を上書きする。
【0017】
メモリ・セル80は、標準的な8トランジスタのデュアル・ポート・メモリ・セルとは異なる。まず第1に、このメモリ・セル80は、8つのトランジスタではなく、6つのトランジスタしかない。第2に、メモリ・セル80は、ビットラインの2つの個別の対ではなく、ビット・ラインの一つの相補対にのみ接続され、2つの余分なアクセス・トランジスタを節約する。さらに、デュアル・ポート・メモリ・セルの場合の2つのワード・ラインに比べ、メモリ・セル80にアクセスできる一つのワード・ラインしかない。2つのトランジスタを節約するだけでなく、一つのワード・ラインおよび一つのビット・ライン対だけの接続により、メモリ・セル80に対する金属配線の量が低減される。これらの効果により、アレイ21は比較的安価な従来のSRAMセルを利用して構成できる。なお、メモリ・セル80などのシングル・ポート・メモリ・セルを利用して構成されたアレイは、対応する8トランジスタ型の真のデュアル・ポート・メモリ・セルに基づくアレイのサイズの約25%である。
【0018】
図3は、図1のアービトレーション回路24を部分的なブロック図および部分的な論理図の形式で示す。アービトレーション回路24は、ワンショット100,101,SR型フリップフロップ102,103、インバータ104,105,NORラッチ110,NANDラッチ120,インバータ130,131,ワンショット132,133,インバータ134,135およびSR型フリップフロップ136を含む。ワンショット100は、信号CLOCK(X)を受けるためボンディング・パッド26に接続された入力端子と、出力端子とを有する。ワンショット101は、信号CLOCK(Y)を受けるためボンディング・パッド28に接続された入力端子と、出力端子とを有する。フリップフロップ102は、ワンショット100の出力端子に接続されたS入力端子と、R入力端子と、Q出力端子とを有する。フリップフロップ103は、ワンショット101の出力端子に接続されたS入力端子と、R入力端子と、Q出力端子とを有する。インバータ104は、フリップフロップ102のQ出力端子に接続された入力端子と、出力端子とを有する。インバータ105は、フリップフロップ103のQ出力端子に接続された入力端子と、出力端子とを有する。
【0019】
NORラッチ110は、NORゲート111,112を含む。NORゲート111は、インバータ104の出力端子に接続された第1入力端子と、第2入力端子と、出力端子とを有する。NORゲート112は、NORゲート111の出力端子に接続された第1入力端子と、インバータ105の出力端子に接続された第2入力端子と、NORゲート111の第2入力端子に接続された出力端子とを有する。
【0020】
NANDラッチ120は、NANDゲート121,122を含む。NANDゲート121は、NORゲート111の出力端子に接続された第1入力端子と、第2入力端子と、出力端子とを有する。NANDゲート122は、NANDゲート121の出力端子に接続された第1入力端子と、NORゲート112の出力端子に接続された第2入力端子と、NANDゲート121の第2入力端子に接続された出力端子とを有する。インバータ130は、NANDゲート121の出力端子に接続された入力端子と、出力端子とを有する。インバータ131は、NANDゲート122の出力端子に接続された入力端子と、出力端子とを有する。ワンショット132は、インバータ130の出力端子に接続された入力端子と、信号CLKXを与える出力端子とを有する。ワンショット133は、インバータ131の出力端子に接続された入力端子と、信号CLKYを与える出力端子とを有する。インバータ134は、ワンショット132の出力端子に接続された入力端子と、信号QCLKXを与えるためフリップフロップ102のR入力端子に接続された出力端子とを有する。インバータ135は、ワンショット133の出力端子に接続された入力端子と、信号QCLKYを与えるためフリップフロップ103のR入力端子に接続された出力端子とを有する。フリップフロップ136は、ワンショット132の出力端子に接続されたS入力端子と、ワンショット133の出力端子に接続されたR入力端子と、信号XYSELを与えるQ出力端子とを有する。
【0021】
アービトレーション回路24は、信号CLOCK(X)およびCLOCK(Y)における雑音性の遷移を解決するために、短期間のパルスを与える2つのワンショット100,101を含む。ワンショット100,101のパルス幅は、CLOCK(X)またはCLOCK(Y)が比較的低い周波数を有するときに、セット入力が無効になる前にフリップフロップ102,103のリセット入力が生じないように、十分短い。フリップフロップ102,103のQ出力は反転され、NORラッチ110の入力に与えられる。
【0022】
なお、ある状態では、NORラッチ110は準安定(metastable)になることがある。これらの状態では、NORゲート111,112の出力は中間レベルで固定する傾向がある。しかし、アービトレーション回路24は、NANDラッチ120によりこの準安定の問題を解決する。NANDラッチ120の閾値は、NORラッチ110が準安定になっても、NANDラッチ120が解決するように設定される。NANDラッチ120の出力は、さらに反転され、ワンショット132,133に入力される。ワンショット132,133は、遅いあるいは不安定なクロック信号を変換し、応答の期間が限られた急峻なパルスを生成する。ワンショット132,133の出力は反転され、信号QCLKXおよびQCLKYを与え、これらの信号はフリップフロップ102,103のR入力にフィードバックされる。このフィードバック動作は、NORラッチ110における準安定を解決する。
【0023】
本発明について特定の実施例を参照して説明してきたが、更なる修正および改善は当業者に想起される。従って、本発明は特許請求の範囲に定める発明の範囲から逸脱しないかかる一切の修正を網羅するものとする。
【0024】
第1または第2クロック信号のうちどちらが最初に遷移するかを判定することに応答して、第1または第2アドレス信号のうちどちらが複数のメモリ・セルに与えられるかを選択するための選択信号をアービトレーション回路が与えることは、本発明の一態様である。
【0025】
また、アービトレーション回路が第1,第2および第3フリップフロップと、相互結合論理ゲートの第1対とによって構成されることは、本発明の別の態様である。第1フリップフロップは、第1クロック信号を受ける第1入力端子と、第1ラッチ済みクロック信号を与える出力端子とを有する。第2フリップフロップは、第2クロック信号を受ける第1入力端子と、第2ラッチ済みクロック信号を与える出力端子とを有する。相互結合論理ゲートの第1対は、第1および第2フリップフロップの出力端子にそれぞれ結合された第1および第2入力端子を有し、また第1および第2出力端子を有する。第3フリップフロップは、相互結合論理ゲートの第1対の第1出力端子に結合された第1入力端子と、相互結合論理ゲートの第1対の第2出力端子に結合された第2入力端子と、選択信号を与える出力端子とを有する。
【0026】
また、アービトレーション回路は、相互結合論理ゲートの第1対の第1および第2出力端子に結合された第1および第2入力端子と、第3フリップフロップの第1入力端子に結合された第1出力端子と、第3フリップフロップの第2入力端子に結合された第2出力端子とを有する相互結合論理ゲートの第2対によって構成されることは、本発明のさらに別の態様である。
【0027】
また、アービトレーション回路は、第1および第2パルス発生器をさらに含んで構成されることは、本発明のさらに別の態様である。第1パルス発生器は、相互結合論理ゲートの第2対の第1出力端子に結合された入力端子と、第3フリップフロップの第1入力端子に結合された出力端子とを有する。第2パルス発生器は、相互結合論理ゲートの第2対の第2出力端子に結合された第1入力端子と、第3フリップフロップの第2入力端子に結合された出力端子とを有する。
【0028】
また、第1フリップフロップは、第1パルス発生器の出力端子に結合された第2入力端子を有し、また第2フリップフロップは、第2パルス発生器の出力端子に結合された第2入力端子を有することは、本発明のさらに別の態様である。
【図面の簡単な説明】
【図1】本発明によるパイプラインド・デュアル・ポート集積回路メモリを示す部分的なブロック図および部分的な論理図である。
【図2】シングル・ポート・スタティックRAMセルを含む、図1のアレイの一部を示す部分的な外略図および部分的なブロック図である。
【図3】図1のアービトレーション回路を示す部分的なブロック図および部分的な論理図である。
【符号の説明】
20 メモリ
21 シングル・ポートSRAMアレイ
22 デコーダ・ブロック
23 ライト制御回路
24 アービトレーション回路
26,28 ボンディング・パッド
30 入力部
31〜36 ボンディング・パッド
40〜45 D型フリップフロップ
46〜48 マルチプレクサ(MUX)
50 出力部
51〜54 D型フリップフロップ
55,56 3状態バッファ
60〜64 ボンディング・パッド
72 ワード・ライン
74,76 ビット・ライン
80 シングル・ポート・メモリ・セル
82,84 NチャネルMOSトランジスタ
86,88 インバータ
100,101,132,133 ワンショット
102,103,136 SR型フリップフロップ
104,105,130,131,134,135 インバータ
110 NORラッチ
111,112 NORゲート
120 NANDラッチ
121,122 NANDゲート
130,131 インバータ[0001]
[Industrial application fields]
The present invention relates generally to memories, and more particularly to dual port memories.
[0002]
[Prior art]
Dual port memory is useful in a variety of applications. Dual port memory is particularly useful in the field of communications and multiprocessor systems. In a multiprocessor system, one processor can write data to the array and the other processor can read data. In particular, the dual port RAM is particularly suitable for a communication application called an asynchronous transfer mode (ATM). With ATM switches, large amounts of data must be transferred between two processing devices. Another communication application is the standard IEEE 802.3 (commonly known as the trademark “Ethernet” manufactured by Digital Equipment Corporation). These types of applications require dual port memories that are inexpensive but contain large arrays.
[0003]
[Problems to be solved by the invention]
Traditionally, dual port random access memory (RAM) has been constructed using one of two methods. In the first method, each memory cell was a true dual port and therefore required 8 transistors. Integrated circuit memories based on this method are expensive because large dual port memory cells make the array itself very large. The second method utilizes standard single port static RAM cells in a partitioned array. If both ports attempt to access the same partition, one of these accesses must be delayed. As the number of partitions increases, the likelihood of collisions decreases, but costs increase due to extra decoding and collision detection circuitry. Thus, what is needed is a large dual-port RAM that is inexpensive and fast, while utilizing conventional single-port SRAM cells. These needs are met by the present invention, whose features and advantages are further described with reference to the drawings and the following description.
[0004]
【Example】
FIG. 1 shows a
[0005]
The
[0006]
[0007]
The flip-
[0008]
The MUX 46 includes a first input terminal connected to the Q output terminal of the flip-
[0009]
The
[0010]
In operation, the
[0011]
The
[0012]
[0013]
More specifically, the
[0014]
Signal QC L KX and QCLKY control the read data path for the X and Y ports, respectively. The signal QCLKX is input to the clock input terminal of the flip-
[0015]
FIG. 2 shows a
[0016]
In operation,
[0017]
[0018]
FIG. 3 illustrates the
[0019]
The NOR
[0020]
[0021]
[0022]
Note that in some situations, the NOR
[0023]
Although the present invention has been described with reference to particular embodiments, further modifications and improvements will occur to those skilled in the art. Accordingly, the present invention is intended to embrace all such modifications that do not depart from the scope of the invention as defined in the appended claims.
[0024]
A selection signal for selecting which of the first or second address signals is applied to the plurality of memory cells in response to determining which of the first or second clock signals transitions first. Is provided by the arbitration circuit.
[0025]
Further, it is another aspect of the present invention that the arbitration circuit is constituted by the first, second and third flip-flops and the first pair of mutually coupled logic gates. The first flip-flop has a first input terminal for receiving a first clock signal and an output terminal for providing a first latched clock signal. The second flip-flop has a first input terminal for receiving a second clock signal and an output terminal for providing a second latched clock signal. The first pair of interconnected logic gates has first and second input terminals coupled to the output terminals of the first and second flip-flops, respectively, and has first and second output terminals. The third flip-flop has a first input terminal coupled to the first pair of first output terminals of the cross-coupled logic gate and a second input terminal coupled to the first pair of second output terminals of the cross-coupled logic gate. And an output terminal for supplying a selection signal.
[0026]
The arbitration circuit also includes first and second input terminals coupled to a first pair of first and second output terminals of the first pair of mutually coupled logic gates, and a first coupled to the first input terminal of the third flip-flop. It is yet another aspect of the present invention to be configured by a second pair of interconnected logic gates having an output terminal and a second output terminal coupled to the second input terminal of the third flip-flop.
[0027]
In addition, it is still another aspect of the present invention that the arbitration circuit further includes first and second pulse generators. The first pulse generator has an input terminal coupled to the second output terminal of the second pair of interconnected logic gates and an output terminal coupled to the first input terminal of the third flip-flop. The second pulse generator has a first input terminal coupled to the second output terminal of the second pair of interconnected logic gates, and an output terminal coupled to the second input terminal of the third flip-flop.
[0028]
The first flip-flop has a second input terminal coupled to the output terminal of the first pulse generator, and the second flip-flop has a second input coupled to the output terminal of the second pulse generator. Having a terminal is yet another aspect of the present invention.
[Brief description of the drawings]
FIG. 1 is a partial block diagram and partial logic diagram illustrating a pipelined dual-port integrated circuit memory according to the present invention.
2 is a partial schematic and partial block diagram illustrating a portion of the array of FIG. 1, including a single port static RAM cell. FIG.
3 is a partial block diagram and partial logic diagram illustrating the arbitration circuit of FIG. 1; FIG.
[Explanation of symbols]
20 memory
21 Single-port SRAM array
22 Decoder block
23 Light control circuit
24 Arbitration circuit
26, 28 Bonding pads
30 Input section
31-36 Bonding pads
40-45 D-type flip-flop
46-48 multiplexer (MUX)
50 output section
51-54 D-type flip-flop
55,56 3-state buffer
60-64 bonding pads
72 word lines
74,76 bit line
80 single-port memory cells
82,84 N-channel MOS transistors
86,88 inverter
100, 101, 132, 133 One shot
102,103,136 SR type flip-flop
104, 105, 130, 131, 134, 135 Inverter
110 NOR latch
111, 112 NOR gate
120 NAND latch
121, 122 NAND gate
130,131 inverter
Claims (5)
複数のメモリ・セル(21)であって、前記複数のメモリ・セル(21)のそれぞれは、一つのワード・ラインと、一つのビット・ライン対とに結合される、複数のメモリ・セル(21);
アドレスを受信することに応答して、前記複数のメモリ・セル(21)のうちのメモリ・セルを選択するため、前記複数のメモリ・セル(21)に結合されたアドレス・デコーダ(22);
前記複数のメモリ・セル(21)にアクセスするために第1アドレスを前記アドレス・デコーダ(22)に与えるため、前記アドレス・デコーダに結合された第1アドレス・ポート(31);
前記複数のメモリ・セル(21)にアクセスするために第2アドレスを前記アドレス・デコーダに与えるため、前記アドレス・デコーダ(22)に結合された第2アドレス・ポート(32);
前記第1または第2アドレスのいずれかに応答して、前記複数のメモリ・セル(21)からデータを読み出すため、前記複数のメモリ・セルに結合されたリード・データ・ポート(61,62);
前記第1または第2アドレスのいずれかに応答して、前記複数のメモリ・セルにデータを書き込むため、前記複数のメモリ・セル(21)に結合されたライト・データ・ポート(35,36);
第1クロック信号および第2クロック信号を受信するため、第1および第2クロック・ポートに結合されたアービトレーション回路(24)であって、前記第1および第2クロック信号は互いに非同期であり、前記アービトレーション回路(24)は、前記集積回路メモリ(20)のアクセス中に、第1および第2クロック信号に基づいて前記第1または第2アドレスのうちどちらが前記複数のメモリ・セルに与えられるのかを判定する、アービトレーション回路(24);
前記複数のメモリ・セルと前記リード・データ・ポートとの間に接続され、前記アービトレーション回路からのタイミング信号を受信し、読み出しデータのタイミングをとるタイミング回路(51,53);及び
前記タイミング回路に接続された第1の同期回路及び第2の同期回路であり、互いに非同期である前記第1クロック信号及び第2クロック信号をそれぞれ受信し、読み出しデータを互いに非同期である前記第1クロック信号及び第2クロック信号にそれぞれ同期させるための第1の同期回路(52)及び第2の同期回路(54);
によって構成されることを特徴とする集積回路メモリ(20)。An integrated circuit memory (20) comprising:
A plurality of memory cells (21), each of the plurality of memory cells (21) being coupled to one word line and one bit line pair ( 21);
An address decoder (22) coupled to the plurality of memory cells (21) for selecting a memory cell of the plurality of memory cells (21) in response to receiving an address;
A first address port (31) coupled to the address decoder for providing a first address to the address decoder (22) for accessing the plurality of memory cells (21);
A second address port (32) coupled to the address decoder (22) for providing a second address to the address decoder for accessing the plurality of memory cells (21);
Read data ports (61, 62) coupled to the plurality of memory cells for reading data from the plurality of memory cells (21) in response to either the first or second address. ;
A write data port (35, 36) coupled to the plurality of memory cells (21) for writing data to the plurality of memory cells in response to either the first or second address. ;
Arbitration circuit (24) coupled to the first and second clock ports for receiving the first clock signal and the second clock signal, wherein the first and second clock signals are asynchronous to each other, The arbitration circuit (24) determines which of the first or second address is supplied to the plurality of memory cells based on the first and second clock signals during the access to the integrated circuit memory (20). Determining an arbitration circuit (24);
A timing circuit (51, 53) connected between the plurality of memory cells and the read data port, receiving a timing signal from the arbitration circuit, and timings read data; and a first synchronization circuit and a second synchronization circuit coupled to receive respectively the first clock signal and the second clock signal are asynchronous to each other, said first clock signal and the asynchronous read data with each other A first synchronization circuit (52) and a second synchronization circuit (54) for synchronizing with two clock signals, respectively;
An integrated circuit memory (20) characterized by comprising:
複数のスタティック・ランダム・アクセス・メモリ・セル(21)であって、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)のそれぞれは、一つのワード・ラインと、一つのビット・ライン対とに結合される、複数のスタティック・ランダム・アクセス・メモリ・セル(21);
第1クロック信号および第2クロック信号を受けるアービトレーション回路(24)であって、前記第1および第2クロック信号は互いに非同期であり、前記アービトレーション回路(24)は、互いに非同期である前記第1および第2クロック信号のうちどちらが最初に遷移するかを判定し、それに応答して選択信号を与える、アービトレーション回路(24);
アドレスを受信することに応答して、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)のうちメモリ・セルを選択するため、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)に結合されたアドレス・デコーダ(22);
前記選択信号が第1論理状態であることに応答して、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)にアクセスするために第1アドレスを前記アドレス・デコーダ(22)に与えるため、前記アドレス・デコーダ(22)に結合された第1アドレス・ポート(31);
前記選択信号が第2論理状態であることに応答して、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)にアクセスするために第2アドレスを前記アドレス・デコーダ(22)に与えるため、前記アドレス・デコーダ(22)に結合された第2アドレス・ポート(32);
前記第1または第2アドレスのいずれかに応答して、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)からデータを読み出すため、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)に結合されたリード・データ・ポート(61,62);
前記第1または第2アドレスのいずれかに応答して、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)にデータを書き込むため、前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)に結合されたライト・データ・ポート(35,36);
前記複数のスタティック・ランダム・アクセス・メモリ・セル(21)と前記リード・データ・ポートとの間に接続され、前記アービトレーション回路からのタイミング信号を受信し、読み出しデータのタイミングをとるタイミング回路(51,53);及び
前記タイミング回路に接続された第1の同期回路及び第2の同期回路であり、互いに非同期である前記第1クロック信号及び第2クロック信号をそれぞれ受信し、読み出しデータを互いに非同期である前記第1クロック信号及び第2クロック信号にそれぞれ同期させるための第1の同期回路(52)及び第2の同期回路(54);
によって構成されることを特徴とするパイプラインド・デュアル・ポート・スタティック・ランダム・アクセス・メモリ(20)。Pipelined dual-port static random access memory (20) comprising:
A plurality of static random access memory cells (21), each of the plurality of static random access memory cells (21) comprising one word line and one bit line pair A plurality of static random access memory cells (21) coupled to
Arbitration circuit (24) receiving a first clock signal and a second clock signal, wherein the first and second clock signals are asynchronous with each other, and the arbitration circuit (24) is asynchronous with each other. An arbitration circuit (24) that determines which of the second clock signals transitions first and provides a selection signal in response thereto;
In response to receiving an address, the plurality of static random access memory cells (21) for selecting a memory cell among the plurality of static random access memory cells (21). An address decoder (22) coupled to
Responsive to the selection signal being in a first logic state to provide a first address to the address decoder (22) for accessing the plurality of static random access memory cells (21). A first address port (31) coupled to the address decoder (22);
In response to the selection signal being in a second logic state, a second address is provided to the address decoder (22) for accessing the plurality of static random access memory cells (21). A second address port (32) coupled to the address decoder (22);
The plurality of static random access memory cells (21) for reading data from the plurality of static random access memory cells (21) in response to either the first or second address. ) Coupled to the read data port (61, 62);
The plurality of static random access memory cells (21) for writing data to the plurality of static random access memory cells (21) in response to either the first or second address. ) Coupled to the write data port (35, 36);
A timing circuit (51) connected between the plurality of static random access memory cells (21) and the read data port, receives a timing signal from the arbitration circuit, and takes a timing of read data. , 53); and a first synchronizing circuit and the second synchronization circuit coupled to the timing circuit to receive respectively the first clock signal and the second clock signal are asynchronous to one another, the asynchronous read data with each other A first synchronization circuit (52) and a second synchronization circuit (54) for synchronizing with the first clock signal and the second clock signal, respectively;
A pipelined dual-port static random access memory (20) characterized by comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US103633 | 1979-12-14 | ||
US09/103,633 US6078527A (en) | 1997-07-29 | 1998-06-23 | Pipelined dual port integrated circuit memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000030460A JP2000030460A (en) | 2000-01-28 |
JP4685997B2 true JP4685997B2 (en) | 2011-05-18 |
Family
ID=22296204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17069699A Expired - Fee Related JP4685997B2 (en) | 1998-06-23 | 1999-06-17 | Pipelined dual-port integrated circuit memory |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4685997B2 (en) |
TW (1) | TW451215B (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5070656B2 (en) * | 2000-12-20 | 2012-11-14 | 富士通セミコンダクター株式会社 | Semiconductor memory device |
JP4824180B2 (en) * | 2001-02-09 | 2011-11-30 | 富士通セミコンダクター株式会社 | Semiconductor memory device |
JP4997663B2 (en) * | 2000-12-27 | 2012-08-08 | 富士通セミコンダクター株式会社 | Multiport memory and control method thereof |
JP5028710B2 (en) * | 2001-02-14 | 2012-09-19 | 富士通セミコンダクター株式会社 | Semiconductor memory device |
US7120761B2 (en) | 2000-12-20 | 2006-10-10 | Fujitsu Limited | Multi-port memory based on DRAM core |
FR2920584B1 (en) * | 2007-08-29 | 2009-11-13 | Commissariat Energie Atomique | SHARED MEMORY |
JP2010044821A (en) * | 2008-08-11 | 2010-02-25 | Hitachi Ulsi Systems Co Ltd | Semiconductor device and memory macro |
US8867303B2 (en) * | 2011-09-16 | 2014-10-21 | Altera Corporation | Memory arbitration circuitry |
US8806259B2 (en) * | 2011-10-28 | 2014-08-12 | Altera Corporation | Time division multiplexed multiport memory implemented using single-port memory elements |
KR101468677B1 (en) * | 2013-12-27 | 2014-12-05 | (주)실리콘화일 | Memory access contol circuit using arbiter |
JP7211676B2 (en) * | 2019-03-25 | 2023-01-24 | ラピスセミコンダクタ株式会社 | semiconductor equipment |
CN112786084B (en) * | 2021-03-16 | 2023-06-23 | 北京时代全芯存储技术股份有限公司 | Memory device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08279292A (en) * | 1995-04-04 | 1996-10-22 | Matsushita Electric Ind Co Ltd | Multiport memory device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6439686A (en) * | 1987-08-06 | 1989-02-09 | Omron Tateisi Electronics Co | Dual port memory |
JPS6443894A (en) * | 1987-08-10 | 1989-02-16 | Nec Corp | Semiconductor memory |
-
1999
- 1999-05-31 TW TW88108960A patent/TW451215B/en not_active IP Right Cessation
- 1999-06-17 JP JP17069699A patent/JP4685997B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08279292A (en) * | 1995-04-04 | 1996-10-22 | Matsushita Electric Ind Co Ltd | Multiport memory device |
Also Published As
Publication number | Publication date |
---|---|
TW451215B (en) | 2001-08-21 |
JP2000030460A (en) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6078527A (en) | Pipelined dual port integrated circuit memory | |
JP4521068B2 (en) | Pipelined dual-port integrated circuit memory | |
US6178133B1 (en) | Method and system for accessing rows in multiple memory banks within an integrated circuit | |
US6262937B1 (en) | Synchronous random access memory having a read/write address bus and process for writing to and reading from the same | |
US6301322B1 (en) | Balanced dual-edge triggered data bit shifting circuit and method | |
US5546355A (en) | Integrated circuit memory having a self-timed write pulse independent of clock frequency and duty cycle | |
US20060171239A1 (en) | Dual Port Memory Unit Using a Single Port Memory Core | |
US5973955A (en) | Comparison circuit utilizing a differential amplifier | |
JP4685997B2 (en) | Pipelined dual-port integrated circuit memory | |
US6557090B2 (en) | Column address path circuit and method for memory devices having a burst access mode | |
JP4456687B2 (en) | Random access memory and method of writing to and reading from the memory | |
JP5114209B2 (en) | SRAM with improved cell stability and method thereof | |
JP3754593B2 (en) | Integrated circuit having memory cells for storing data bits and method for writing write data bits to memory cells in integrated circuits | |
US5493530A (en) | Ram with pre-input register logic | |
USRE38955E1 (en) | Memory device having a relatively wide data bus | |
JP2746222B2 (en) | Semiconductor storage device | |
US6388939B1 (en) | Dual port sram | |
KR100323158B1 (en) | A data processing system and method for implementing a multi-port memory cell | |
KR0154741B1 (en) | Dual-port memory | |
US6781919B2 (en) | Address selection circuit and semiconductor memory device with synchronous and asynchronous address signal paths | |
JPH11126483A (en) | Economized electric power synchronizing circuit and semiconductor memory having the circuit | |
EP1278198A2 (en) | Semiconductor memory device | |
US6014333A (en) | Semiconductive memory device capable of carrying out a write-in operation at a high speed | |
KR100211483B1 (en) | Semiconductor memory using block writing system | |
CN1192390C (en) | Pipeline dual-port integrated circuit memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051216 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060531 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090302 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090602 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090603 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100827 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
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: 20110118 |
|
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: 20110214 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |