JP5260511B2 - シングルポートメモリセルを用いたデュアルポートsramメモリ - Google Patents

シングルポートメモリセルを用いたデュアルポートsramメモリ Download PDF

Info

Publication number
JP5260511B2
JP5260511B2 JP2009518426A JP2009518426A JP5260511B2 JP 5260511 B2 JP5260511 B2 JP 5260511B2 JP 2009518426 A JP2009518426 A JP 2009518426A JP 2009518426 A JP2009518426 A JP 2009518426A JP 5260511 B2 JP5260511 B2 JP 5260511B2
Authority
JP
Japan
Prior art keywords
port
access
memory
signal
signals
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
JP2009518426A
Other languages
English (en)
Other versions
JP2009543268A (ja
Inventor
レウン、ウインギュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosys Inc
Original Assignee
Monolithic System Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Monolithic System Technology Inc filed Critical Monolithic System Technology Inc
Publication of JP2009543268A publication Critical patent/JP2009543268A/ja
Application granted granted Critical
Publication of JP5260511B2 publication Critical patent/JP5260511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Description

本発明は、スタティックRAM(SRAM)システムやダイナミックRAM(DRAM)システムなどの半導体メモリセルに関する。詳細には、本発明は、シングルポートメモリセルを用いてデュアルポートメモリを実装する方法及び装置に関する。加えて、本発明は、2つのポート上のアクセスが互いに非同期であることができるようなデュアルポートメモリに関する。
従来、デュアルポート半導体メモリは、デュアルポートスタティックRAM(SRAM)セル及びデュアルポートダイナミックRAM(DRAM)セルなどの従来のデュアルポートメモリセルにより実装されてきた。
図1は、従来のデュアルポートSRAMセル100を示す回路図である。デュアルポートSRAMセル100は、8つのトランジスタ101‐108を含み、2本のワード線WLP1‐WLP2及び4本のビット線BLP1、BLP1#、BLP2、BLP2#を必要とする。デュアルポートSRAMセル100の第1ポート(ポート1)は、ワード線WLP1及びビット線BLP1‐BLP1#を介してアクセスされる。SRAMセル100の第2ポート(ポート2)は、ワード線WLP2及びビット線BLP2‐BLP2#を介してアクセスされる。
図2は、従来のデュアルポートDRAMセル200を示す回路図である。デュアルポートDRAMセル200は、2つのトランジスタ201−202及びキャパシタ203を含み、2本のワード線WL‐WL及び2本のビット線BL‐BLを必要とする。DRAMセル200の第1ポートは、ワード線WL及びビット線BLを介してアクセスされる。DRAMセル200の第2ポートは、ワード線WL及びビット線BLを介してアクセスされる。デュアルポートDRAMセル200については、特許文献1に詳述されている。
図3及び図4は、それぞれ、従来のシングルポートSRAMセル300及び従来のシングルポートDRAMセル400を示す回路図である。シングルポートSRAMセル300は、6つのトランジスタ301‐306を含み、2本のビット線BL及びBL#と、1本のワード線WLを必要とする。シングルポートDRAMセル400は、1つのトランジスタ401と1つのキャパシタ402とを含み、1本のビット線BLと1本のワード線WLとを必要とする。デュアルポートセル100及び200は、対応するシングルポートセル300及び400よりかなり多くの回路素子を含んでいるので、デュアルポートセル100及び200は、対応するシングルポートセル300及び400よりかなり多くの配置面積を占めている。
加えて、デュアルポートSRAMセル100の両ポート(またはデュアルポートDRAMセル200の両ポート)が同時にアクセスされるとき、普通は断続的なデータが結果として生じる。すなわち、デュアルポートセルの一方のポート上で書き込み動作が行われ、デュアルポートセルの他方のポート上で読み出し動作が行われるとき、書き込み動作及び読み出し動作は互いに干渉することがある。これらの場合、誤った(または不確定の)データがデュアルポートセルから読み出されるかまたはデュアルポートセルに書き込まれることがある。断続的なデータの問題は、SRAMセル300及びDRAMセル400などのシングルポートセルには存在しないことに留意されたい。
米国特許第5,923,593号明細書 米国特許第6,504,780号明細書(B2) 米国特許第6,075,720号明細書 米国特許第6,028,804号明細書 米国特許第6,222,785号明細書(B1) 米国特許第号明細書 米国特許第号明細書 米国特許第号明細書 "Digital Logic MetaStability and Flip Flop MTBF Calculation", http://www.interfacebus.com/Design_MetaStable.html "The behavior of Flip-Flops Used as Synchronizers and Prediction of Their Failure Rate", by Harry J. M. Veendrick, JSSC vol. SC-15, No. 2, 1980, pp. 169-176.
シングルポートセルを用いてデュアルポート機能を実行し、それによってセル配置面積を最小にしかつ断続的なデータを排除できることが望ましいであろう。
従って、本発明は、シングルポートメモリセルを用いて実装されるデュアルポートメモリセルを提供する。さらに具体的には、本発明は、シングルポートメモリセルのアレイを含み、シングルポートメモリセルは、例えばSRAMまたはDRAMセルなどであり得る。第1レジスタ群は、第1ポートに関連するデータ、アドレス、制御値を格納し、第2レジスタ群は、第2ポートに関連するデータ、アドレス、制御値を格納する。アクセスアービタが、第1及び第2ポートにそれぞれ関連する第1及び第2ポートイネーブル信号を受信するように構成される。シングルポートメモリセルがリフレッシュを必要とするのであれば、アクセスアービタもリフレッシュ要求信号を受信する。
アクセスアービタは、第1ポートイネーブル信号、第2ポートイネーブル信号またはリフレッシュ要求信号のうちの1若しくは複数がアクティブにされるときにメモリ要求信号をアクティブにするための回路素子を含む。アクティブにされたメモリ要求信号によって、メモリシーケンサが、メモリアレイにアクセスするために必要な制御信号をシーケンシャルにアクティブ及び非アクティブにする。一実施形態において、これらの制御信号のうちの1つは、行アクセス信号(RAS)である。
アクセスアービタはまた、1段目及び2段目を有する同期化回路(シンクロナイゼーション回路)を含む。第1及び第2ポートイネーブル信号及びリフレッシュ要求信号は、行アクセス信号に応じて同期化回路の1段目内に全てラッチされる。遅延回路は、行アクセス信号に遅延Tを導入し、それによって遅延行アクセス信号を作成する。同期化回路の1段目の内容は、遅延行アクセス信号に応じて同期化回路の2段目内にラッチされる。遅延Tは、期待される平均故障間隔を制御するように選択される。
同期化回路の2段目の内容は優先順位付け回路(プライオリタイゼーション回路)に供給され、優先順位付け回路は、第1ポートに関連する第1の選択信号と、第2ポートに関連する第2の選択信号と、リフレッシュ要求に関連する第3の選択信号とを生成する。優先順位付け回路は、所与の時間に第1、第2、第3の選択信号のうち最高優先度の信号のみがアクティブにされることを確実にする。アクティブにされると、第1、第2、第3の選択信号は、それぞれ、第1ポート上でのアクセス、第2ポート上でのアクセス、リフレッシュアクセスを可能にする。
第1、第2、第3の選択信号は、行アクセス信号と共に用いられて、メモリ要求信号を非アクティブにする。
一実施形態に従って、クロック信号が第1論理状態を有する間に、ポートイネーブル信号のうちの1つがアクティブにされかつ処理される。リフレッシュ要求信号は、クロック信号が第2論理状態を有する間にアクティブにされかつ処理されることができる。この実施形態は、表示バッファの実装に有用である。
本発明は、以下の説明及び図面に照らしてさらに十分に理解されよう。
本明細書に記載の実施形態は、説明のためだけに与えられているものであり、本発明を制限する役割を果たすことを意図してはいない。第1実施形態では、両方のポートが連続動作クロックなしでアクセスされる。第2実施形態では、一方のポートは連続動作クロックとのアクセスインタフェースを有するが、他方のポートは有しない。第2実施形態のメモリは、LCDパネルまたは表示モニタのための表示データをメモリが格納するような表示バッファとして、特に有用である。表示バッファは、第1(表示)ポートを有し、このポートからは、表示画面をリフレッシュするように表示データが通常の方法で読み出される。この表示ポートは、通常、連続ピクセルクロックまたは行表示クロックと同期する。表示バッファは、グラフィックスコントローラまたは処理装置(画面更新のために表示バッファ内に新たな表示データを投入するもの)によるメモリアクセスを可能にするような第2(画面更新)ポートを有することもある。画面更新ポートは、通常、連続クロック信号なしで作動する。むしろ、画面更新ポートにアクセスするためにメモリアクセス信号が用いられる。アクティブにされたメモリアクセス信号は、外部メモリアクセスの開始を示す。
後述するデュアルポートメモリセルにおいて、デュアルポートメモリの実装にシングルポートダイナミックRAM(DRAM)セルが用いられ、ここで、DRAMセルのリフレッシングは完全に非表示にされる(従って、メモリがデュアルポートSRAMのように振る舞う)。2つのポートからのメモリアクセスは、互いに対して同期または非同期であることができる。2つのポートからのメモリアクセスは、到着順に従ってスケジュールされ、より早く到着したメモリ要求から先にサーブされる。両ポートがアクセス要求を実質的に同時に受信したときは、どちらのアクセスが先に処理されるのかをアクセスアービタが判定する。アクセスアービタはまた、リフレッシュアクセス要求を調停する。
各ポートはトランザクションバッファを含み、トランザクションバッファは、メモリが別のトランザクションまたはリフレッシュにサーブしてビジーである間に保留中(ペンディング)であるトランザクションのアクセス情報(例えば、アドレス、データ、読み出し/書き込みインジケータ及びバイト書き込み(バイトライト)インジケータ)を格納する。メモリアレイは一度に1つのアクセスのみを取り扱うので、2つのポートから同一メモリ位置への同時アクセスによって、メモリ内容または読み出しデータが汚染されることはない。しかし、リフレッシュと共に2つのポートのアクセス周波数がメモリアレイの最大動作周波数を超えるならば、メモリはオーバランされる場合がある。メモリオーバランの状況を避けるために、メモリアレイは、内部リフレッシュと2つのポートの最大アクセス周波数との合計に等しいかそれより大きい周波数で動作できるように設計される。
リフレッシュアクセスを定期的に生成してメモリ内容をリフレッシュするために、特許文献2に記載のリフレッシュコントローラと同じようなリフレッシュコントローラが組み込まれる場合がある。一実施形態において、リフレッシュコントローラへのクロックは、リング発振器または双安定バイブレータを用いてメモリ内で生成される。そのような回路は、当分野で公知であり、本特許出願ではこれ以上説明しない。この場合、リフレッシュコントローラ動作は2つのポートのいずれかと同期的でなく、2つのポートは互いに同期的でない。従って、3つのメモリアクセスと、リフレッシュと、2つのポートからのアクセスとは、互いに非同期的である。後述する第2実施形態においては、リフレッシュコントローラのクロック入力は表示ポートのクロック信号に接続される。従って、メモリリフレッシュは表示クロックと同期的である。
図5は、本発明の一実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセル500のブロック図である。以下に詳述するように、メモリセル500の2つのポートからの外部アクセス及びリフレッシュ動作は、互いに対して非同期的である。
デュアルポートメモリセル500は、メモリアレイ501と、3:1マルチプレクサ502と、メモリシーケンサ503と、アクセスアービタ505と、第1ポート(ポートA)に関連する第1トランザクションバッファ510と、第2ポート(ポートB)に関連する第2トランザクションバッファ520と、リフレッシュコントローラ530と、論理ANDゲート541‐542とを含む。第1トランザクションバッファ510は、入力データレジスタ511と、出力データレジスタ512と、アドレス/制御レジスタ513とを含む。同様に、第2トランザクションバッファ520は、入力データレジスタ521と、出力データレジスタ522と、アドレス/制御レジスタ523とを含む。第1トランザクションバッファ510は、(入力データレジスタ511内に)入力データワードLD[31:0]を格納し、(出力データレジスタ512内に)出力データワードQ[31:0]を格納し、(アドレス/制御レジスタ513内に)アクセスアドレスLA[14:0]及び読み出し/書き込み制御信号LRW#を格納する。同様に、第2トランザクションバッファ520は、(入力データレジスタ521内に)入力データワードLD[31:0]を格納し、(出力データレジスタ522内に)出力データワードQ[31:0]を格納し、(アドレス/制御レジスタ523内に)アクセスアドレスLA[14:0]及び読み出し/書き込み制御信号LRW#を格納する。第1及び第2トランザクションバッファ510及び520は、メモリセル500が他方のポートにサーブしてビジーである場合に、それぞれ、ポートA及びポートBに関連するアクセス情報を格納する。
メモリアレイ501には、1若しくは複数のメモリバンクを含めることができる。記載されている例では、メモリアレイ501は、特許文献3に記載のものなどの通常のDRAMセルまたはエンベデッドDRAMセルを用いて実装される。メモリアレイ501は、代わりに、定期的なリフレッシングを必要とする他の揮発性メモリセルを用いて実装されることもできる。メモリアレイ501は、SRAMセルを用いて実装されることもできる。メモリアレイ501がSRAMセルを用いて実装されるならば、後述の実施形態のリフレッシュ動作は、存在しないことになり、それゆえに無視できる。
アレイ501のメモリセルは、デュアルメモリポートAまたはBのいずれかを介してアクセスされることができる。記載されている例では、メモリアレイ501は、1k行×1k列に編成されたメモリセルを含む(尤も、このサイズで本発明を実行する必要があるわけではない)。加えて、メモリアレイ501は、センスアンプと、ワード線ドライバと、読み出しデータ増幅器と、書き込みデータドライバと、行及び列アドレスデコーダとを含む。そのようなアレイの例は、特許文献4に詳しく記載されている。
メモリアレイ501に供給されるアドレスMA[14:0]は、3:1マルチプレクサ502によってドライブされ、マルチプレクサ502は、ラッチされたポートAアクセスアドレスLA[14:0]、ラッチされたポートBアクセスアドレスLA[14:0]、またはリフレッシュコントローラ530によって供給されるリフレッシュアドレスRFA[9:0]を選択するように制御される。メモリアレイ501は1回に1行リフレッシュされ、メモリアレイ501は1024行しか有していないので、リフレッシュ動作中に10ビット行アドレスMA[14:5]のみが要求とされる。
マルチプレクサ502はまた、メモリアレイ501への選択されたポートに関連する読み出し/書き込みインジケータ信号(すなわちポートAに対するLRW#またはポートBに対するLRW#)を、読み出し/書き込みインジケータ信号MRW#として保持する。リフレッシュ動作中(すなわちリフレッシュ制御信号REFがハイにアクティブにされるとき)、読み出し/書き込みインジケータ信号MRW#の論理値は無視される。
マルチプレクサ502はまた、メモリアレイ501への選択されたポートに関連するラッチされた入力データ(すなわちポートAに対するLD[31:0]またはポートBに対するLD[31:0])を、書き込みデータ値MD[31:0]として保持する。
メモリアレイ501の内部動作は、行アクセス(RAS)信号、センスアンプイネーブル(SENSE)信号、列アクセス(CAS)信号、プリチャージ(PRC)信号によって制御される。一般に、RAS、SENSE、CAS、PRC信号は、メモリアクセス制御信号と呼ばれる場合がある。RAS、SENSE、CAS、PRC信号は全て、アクセスアービタ505内で生成されるメモリ要求信号(MRQ)及びリフレッシュ要求信号(REF)に応じて、メモリシーケンサ503によって生成される。一実施形態において、メモリシーケンサ503及び関連するメモリ制御信号RAS、SENSE、CAS、PRCは、特許文献5に記載のものと同じように実現されることができる。一般に、メモリアクセスサイクルは、RAS信号をアクティブにすることで始まり、RAS信号を非アクティブにすることで終わる。メモリシーケンサ503は、受信したメモリ要求信号MRQが論理ハイ状態にアクティブにされるたびに、メモリアクセスサイクルを開始する。メモリ要求信号MRQはメモリアクセスアービタ505によって駆動され、メモリアクセスアービタ505は、ポートA及びBとメモリリフレッシュコントローラ530に関連するアクセス要求を調停する。
各ポートインタフェースは、データ出力バスQ[31:0]と、入力データバスD[31:0]と、入力アドレスバスA[14:0]と、読み出し/書き込みインジケータ線RW#と、ポートイネーブル線PEとからなり、ここで、各信号名中の「N」は、ポートAまたはポートBのいずれかを識別する。
外部デバイス(図示せず)が、先ず、アドレスバスA[14:0]上のアドレスと、正しい状態の読み出し/書き込みインジケータRW#(「0」は書き込み、「1」は読み出し)と、書き込み動作の場合、入力データバスD[31:0]上の書き込みデータとをドライブすることによって、ポートの一方上でのアクセスを開始する。その後、外部デバイスは、ポートイネーブル信号PEを論理ハイ状態にドライブする。結果として、アドレスA[14:0]及び読み出し/書き込みインジケータRW#が、関連するアドレス/制御レジスタ(すなわち513または523)内にラッチされ、書き込み動作の場合、書き込みデータD[31:0]が、関連する入力データレジスタ(すなわち511または521)内にラッチされる。
リフレッシュコントローラ530は、メモリセル500内でリフレッシュアクセスを開始する。リフレッシュコントローラ530は、メモリアレイ501の行がリフレッシュされるたびに定期的にリフレッシュ要求信号RREQを論理ハイ状態にアクティブにする。リフレッシュ要求信号RREQの周期は、アレイ501の全メモリセルがタイミング良くリフレッシュされる(すなわちデータのロスがない)ことを確実にするように選択される。リフレッシュコントローラ530はまた、リフレッシュされる行の行アドレスRFA[9:0]を供給する。リフレッシュ行アドレスRFA[9:0]は、リフレッシュ動作が行われるたびに更新される。
メモリアービタ505は、ポートA、ポートB及びリフレッシュコントローラ530から受信されるアクセス要求を調停する。メモリアレイ501へのアクセスは、先着順で認可される。3つのアクセス要求が実質的に同時に到着するならば、ポートAアクセス要求、ポートBアクセス要求、リフレッシュ要求の順に優先度が与えられる。3つのアクセス要求のうち2つが実質的に同時に到着する場合にも同じ優先度が与えられる。
図6は、本発明の第1の実施形態に従うアクセスアービタ505の回路図である。アクセスアービタ505は、セットリセット(S−R)フリップフロップ601‐603と、論理NORゲート610‐611と、シンクロナイザ620と、プライオリティエンコーダ630と、論理ANDゲート641‐643と、遅延回路650とを含む。シンクロナイザ620は、1段目のフリップフロップ621‐623と、2段目のフリップフロップ625‐627とを含む。プライオリティエンコーダ630は、論理NORゲート631‐632を含む。
アクセス要求信号PE、PE、RREQは、それぞれ、S−Rフリップフロップ601、602、603のセット入力端子に印加される。これらのアクセス要求信号PE、PEまたはRREQのいずれか1つがハイにアクティブにされるとき、対応するS−Rフリップフロップ601、602または603は、論理ハイ出力信号を供給するようにセットされる。S−Rフリップフロップ601、602、603によって供給されるラッチされた出力信号は、それぞれ、LPE、LPE、RFRQと呼ばれる。LPE、LPE、RFRQ信号は、NORゲート610の入力端子に供給される。LPE、LPE、RFRQ信号のいずれか1つが論理ハイ状態を有するならば、NORゲート610は、NORゲート611の一方の入力端子に論理ロー出力信号を供給する。NORゲート611の他方の入力端子は、行アクセス信号RASを受信するように結合される。メモリアレイ501が現今アクセスされていない(すなわちRAS信号がローに非アクティブにされている)限り、NORゲート611はNORゲート610の論理ロー出力に応じて論理ハイメモリ要求信号MRQを供給する。論理ハイ状態のメモリ要求信号MRQは、メモリシーケンサ503をアクティブにしてメモリ制御信号RAS、SENSE、CAS、PRCを生成する。RAS信号をアクティブにすることで、メモリアクセスサイクルが開始する。
アービタ505内では、RAS信号をアクティブにすることによって、NORゲート611がメモリ要求信号MRQを論理ロー状態に非アクティブにする。RAS信号は、1段目のフリップフロップ621‐623のクロック端子及び遅延回路650の入力端子にも供給される。論理ハイ状態のRAS信号によって、LPE、LPE、RFRQ信号が1段目のフリップフロップ621、622、623内にそれぞれラッチされる。加えて、論理ハイ状態のRAS信号は、遅延回路650内を伝播する。遅延回路650は、Tナノ秒(ns)の遅延時間を有するように設計される。結果として、遅延回路650は、RAS信号に対してT[ns]遅延されている出力信号(D_RAS)を供給する。遅延RAS信号(D_RAS)は、フリップフロップ625‐627のクロック端子に印加される。D_RAS信号が論理ハイ状態に遷移するとき(すなわち、RAS信号がアクティブにされてからT[ns]後)、1段目のフリップフロップ621‐623によって供給される出力信号は、それぞれ2段目のフリップフロップ625‐627内にラッチされ、それぞれ出力信号SEL、SEL、REFとして供給される。
1段目のフリップフロップ621‐623及び2段目のフリップフロップ625‐627は、非同期信号LPE、LPE及びRFRQに対して2段シンクロナイザとして働く。非同期イベントの同期化に多段フリップフロップを用いることについては、例えば非特許文献1及び非特許文献2に、文書化されている。シンクロナイザの平均故障間隔(MTBF)は、1段目のシンクロナイザ(例えばフリップフロップ621‐623)のトリガと2段目のシンクロナイザ(例えばフリップフロップ625‐627)のトリガ間の遅延の指数関数である。それゆえ、遅延回路650によって導入される遅延Tは、メモリセル500においてMTBFが許容できるものであるように選択される。
NORゲート631及び632が接続されてアクセスプライオリティエンコーダ630が形成され、アクセスプライオリティエンコーダ630は、出力信号SEL、SEL、REFを生成する。SEL信号(すなわち2段目のフリップフロップ625の内容)がハイにアクティブにされるならば、NORゲート631及び632は、それぞれSEL信号及びREF信号を、論理ロー状態に非アクティブにすることになる。このことは、効果的にSEL信号に最も高い優先度を与える。以下に詳述するように、論理ハイ状態のSEL信号は、メモリセル500のポートA上でアクセス動作が実行されることを可能にする。
論理ANDゲート641は、SELA信号及びRAS信号を受信するように構成されている。ポートA上でのアクセス動作中、SEL信号及びRAS信号は共にハイにアクティブにされることになる。これらの条件下で、ANDゲート641はS−Rフリップフロップ601のリセット端子に論理ハイ出力信号を供給する。それに応じて、S−Rフリップフロップ601は、論理ロー出力信号LPEを供給するようにリセットされる。メモリアレイ501への次のアクセスがポートA上にない限り、論理ローLPE信号は、RAS信号の次の立ち上がり(すなわちメモリアレイ501の次のアクセス)に応じてシンクロナイザ660を介して転送され、それによってポートA上でのアクセス完了後にSEL信号を論理ロー状態に戻す。メモリアレイ501への次のアクセスがポートA上で起こるならば、LPE信号は、RAS信号の次の立ち上がりの前に論理ハイ状態に遷移することになる(それによってSELA信号をイネーブルにしてハイにアクティブにされたままにする)ことに留意されたい。
SEL信号がローに非アクティブにされ、2段目のフリップフロップ626のQ出力がハイにアクティブにされるならば、NORゲート631がSELB信号を論理ハイ状態にアクティブにし、NORゲート632がREF信号を論理ロー状態に非アクティブにする。このことは、効果的にSEL信号に2番目に高い優先度を与える。以下に詳述するように、論理ハイ状態のSEL信号は、メモリセル500のポートB上でアクセス動作が実行されることを可能にする。
論理ANDゲート642は、SEL信号及びRAS信号を受信ように構成されている。ポートB上でのアクセス動作中、SEL及びRASの両信号はハイにアクティブにされることになる。これらの条件下で、ANDゲート642はS−Rフリップフロップ602のリセット端子に論理ハイ出力信号を供給する。それに応じて、S−Rフリップフロップ602は、論理ロー出力信号LPEを供給するようにリセットされる。メモリアレイ501への次のアクセスがポートB上にない限り、論理ローLPE信号は、RAS信号の次の立ち上がり(すなわちメモリアレイ501の次のアクセス)に応じてシンクロナイザ660を介して転送され、それによってポートB上でのアクセス完了後にSEL信号を論理ロー状態に戻す。メモリアレイ501への次のアクセスがポートB上で起こるならば、LPE信号は、RAS信号の次の立ち上がりの前に論理ハイ状態に遷移することになることに留意されたい。
SEL信号及び2段目のフリップフロップ626のQ出力が共にローに非アクティブにされるならば、NORゲート631は、ローに非アクティブにされたSEL信号を供給する。フリップフロップ627のQ出力がハイにアクティブにされるならば、これらの条件下で、NORゲート632がREF信号を論理ハイ状態にアクティブにする。このことは、効果的にREF信号に最も低い優先度を与える。以下に詳述するように、論理ハイ状態のREF信号は、メモリアレイ501内でリフレッシュ動作が行われることができるようにする。
論理ANDゲート643は、REF信号及びRAS信号を受信ように構成されている。メモリアレイ501へのリフレッシュアクセス中、REF及びRASの両信号はハイにアクティブにされることになる。これらの条件下で、ANDゲート643はS−Rフリップフロップ603のリセット端子に論理ハイ出力信号を供給する。それに応じて、S−Rフリップフロップ603は、論理ロー出力信号RFRQを供給するようにリセットされる。メモリアレイ501への次のアクセスがリフレッシュアクセスでない限り、論理ローRFRQ信号は、RAS信号の次の立ち上がり(すなわちメモリアレイ501の次のアクセス)に応じてシンクロナイザ660を介して転送され、それによってリフレッシュアクセス完了後にREF信号を論理ロー状態に戻す。メモリアレイ501への次のアクセスがリフレッシュアクセスであれば、RFRQ信号は、RAS信号の次の立ち上がりの前に論理ハイ状態に遷移することになることに留意されたい。
メモリアレイ501にアクセスするために用いられるアドレスを選択するために、SEL信号及びSEL信号が3:1マルチプレクサ502の入力端子に供給される。上記したように、NORゲート630及び631によって形成されるプライオリティエンコーダ630は、一度に出力SEL、SEL、REFのうちの1つだけをアクティブにさせる。
SEL信号がハイにアクティブにされる(そしてSEL信号及びREF信号がローに非アクティブにされる)とき、マルチプレクサ502は、ポートAに関連するラッチされたアドレス信号LA[14:0]と、ラッチされた読み出し/書き込み信号LRW#と、ラッチされたデータ信号LD[31:0]とを、メモリアレイ501に送信する。
SEL信号がハイにアクティブにされる(そしてSEL信号及びREF信号がローに非アクティブにされる)とき、マルチプレクサ502は、ポートBに関連するラッチされたアドレス信号LA[14:0]と、ラッチされた読み出し/書き込み信号LRW#と、ラッチされたデータ信号LD[31:0]とを、メモリアレイ501に送信する。
SEL信号及びSEL信号が共にローに非アクティブにされるとき、マルチプレクサ502は、リフレッシュアドレスRFA[9:0]をメモリアレイ501に送信する。アービタ505は、リフレッシュ信号REFを直接メモリアレイ501に送信する。リフレッシュ信号REFがハイにアクティブにされる(そしてSEL信号及びSEL信号がローに非アクティブにされる)ならば、メモリアレイ501は、リフレッシュアドレスRFA[9:0]によって識別される行へのリフレッシュ動作を実行する。リフレッシュ信号REFがアクティブにされるとき、マルチプレクサ502によって供給される読み出し/書き込み制御信号MRW#は無視される。
SEL信号はまた、プリチャージ信号PRC、ラッチされたポートA読み出し/書き込み信号LRW#と共に、ANDゲート541(図5)に供給される。それに応じて、ANDゲート541は、ポートA出力イネーブル信号POを供給する。ポートA出力イネーブル信号POは、ポートAへの読み出しの終わりにハイにアクティブにされる(すなわち、LRW#=1(読み出し)、SEL=1(ポートAへのアクセス)、PRC=1(アクセスの終わり))。アクティブにされたポートA出力イネーブル信号POは、読み出しデータ値MQ[31:0]をデータ出力レジスタ512内にラッチするために用いられる。
同様に、SEL信号はまた、プリチャージ信号PRC、ラッチされたポートB読み出し/書き込み信号LRW#と共に、ANDゲート542に供給される。それに応じて、ANDゲート542はポートB出力イネーブル信号POを供給する。ポートB出力イネーブル信号POは、ポートBへの読み出しアクセスの終わりにハイにアクティブにされる(すなわち、LRW#=1(読み出し)、SEL=1(ポートBへのアクセス)、PRC=1(アクセスの終わり))。アクティブにされたポートB出力イネーブル信号POは、読み出しデータ値MQ[31:0]をデータ出力レジスタ522内にラッチするために用いられる。
図7は、ポートA及びB上のアクセス要求とリフレッシュ要求とが同時に発生するようなメモリセル500の最悪動作条件での、アービタ505及びメモリシーケンサ503における信号を示す波形図700である。
時間T0の前に、外部アクセス回路(図示せず)が、ポートA上のアクセスに関連する読み出し/書き込み制御信号RW#と、アドレス値A[14:0]と、データ値D[31:0]とを供給する。同様に、外部アクセス回路は、ポートB上のアクセスに関連する読み出し/書き込み制御信号RW#と、アドレス値A[14:0]と、データ値D[31:0]とを供給する。データ値D[31:0]及びD[31:0]は、読み出しアクセスには供給されないことに留意されたい。
時間Tでは、リフレッシュコントローラ530がリフレッシュ要求信号RREQをアクティブにし、ポートイネーブル信号PE及びPEがアクティブにされる。すなわち、アクセス要求信号PE、PE、RREQは全て同時にハイになる。リフレッシュ要求信号RREQ、ポートイネーブル信号PE、ポートイネーブル信号PEは、互いに対して非同期的であることに留意されたい。すなわち、RREQ、PE及びPE信号をアクティブにすることを制御するような共通クロック信号はない。
アクセスアービタ505内では、論理ハイ状態のPE、PE、RREQ信号は、それぞれ、S−Rフリップフロップ601、602、603を同時にセットし、それによって、対応するラッチされた出力信号LPE、LPE、RFRQを論理ハイ状態に遷移させる。それに応じて、NORゲート610は論理ロー出力信号を供給するが、論理ロー状態のRAS信号と共に論理ロー出力信号によって、NORゲート611がメモリ要求信号MRQを論理ハイ状態にドライブする。論理ハイ状態のメモリ要求信号MRQは、メモリシーケンサ503をアクティブにするので、メモリシーケンサ503は、図7に示されている波形パターン701に従ってメモリ制御信号(RAS、SENSE、CAS、PRC)をアクティブ及び非アクティブにする。
RAS信号がハイにアクティブにされるとき、NORゲート611がメモリ要求信号MRQを論理ロー状態にドライブする。このようにして、RAS信号及びMRQ信号は、メモリアクセスを要求及び肯定応答するためのハンドシェイク・ぺアを形成する。アービタ505内では、RAS信号の立ち上がりによっても、1段目のレジスタ621‐623がLPE、LPE、RFRQ信号の論理ハイ値をそれぞれラッチする。
T[ns]の遅延後、RAS信号の立ち上がりが、遅延信号D_RASとして遅延回路650内を伝播する。D_RAS信号の立ち上がりによって、2段目のフリップフロップ625‐627が、1段目のフリップフロップ621‐623の出力に供給される論理ハイ値をそれぞれラッチし、それによってRAS信号とラッチされた要求信号LPE、LPE及びRFRQとの間で同期を完了する。同期されたLPE、LPE及びRFRQ信号は、それぞれ2段目のフリップフロップ625‐627の出力で現れる。
フリップフロップ625の出力での同期されたLPE信号が、SEL信号を形成する。ハイ状態のSEL信号によって、NORゲート631及び632がSEL及びREF信号を論理ロー状態にドライブする。ハイ状態のSEL及びRAS信号によって、ANDゲート641が論理ハイ出力を供給し、それによってS−Rフリップフロップ601の出力(すなわちLPE)を論理ロー状態にリセットする。しかし、S−Rフリップフロップ602及び603によって供給されるLPE及びRFRQ信号は、尚も論理ハイ状態を有する。結果として、NORゲート610は尚もNORゲート611に論理ロー出力信号を供給する。
ハイ状態のSEL信号及びロー状態のSEL及びREF信号によって、マルチプレクサ502が、ラッチされたメモリアドレスLA[14:0]をアドレス/制御レジスタ513からメモリアレイ501へメモリアドレスMA[14:0]としてドライブする。マルチプレクサ502はまた、ラッチされた読み出し/書き込み制御値LRW#をメモリアレイ501へメモリアレイ読み出し/書き込みイネーブル信号MRW#としてドライブする。加えて、マルチプレクサ502は、ラッチされた入力データ値LD[31:0]をデータ入力レジスタ511からメモリアレイ501へ入力メモリデータ値MD[31:0]としてドライブする。
ポートA上でのアクセスが書き込み動作であれば、読み出し/書き込み制御信号MRW#はローであり、入力メモリデータ値MD[31:0]はメモリアドレスMA[14:0]によって識別されるメモリ位置に書き込まれる。ポートA上でのアクセスが読み出し動作であれば、読み出し/書き込み制御信号MRW#はハイであり、読み出しデータ値MQ[31:0]は、メモリアドレスMA[14:0]によって識別されるメモリ位置から検索される。プリチャージ信号PRCがハイにアクティブにされるとき、ポートA出力イネーブル信号POはハイにアクティブにされ、それによってデータ出力レジスタ512内に読み出しデータ値MQ[31:0]をラッチする。データ出力レジスタ512は、この読み出しデータ値をポートAの出力データバス上に出力データ値Q[31:0]として供給する。
PRC信号をアクティブにすることで、RAS信号が論理ロー状態に遷移する。メモリシーケンサ503内では、NORゲート610によって供給される論理ロー信号と結合されるような論理ロー状態のRAS信号によって、NORゲート611がメモリ要求信号MRQを論理ハイ状態にドライブし、それによって別のメモリアクセスを開始する。すなわち、メモリシーケンサ503が、波形パターン701によって画定されるものと同様に、RAS、SENSE、CAS、PRC信号を再びアクティブにする。RAS信号がハイにアクティブにされるとき、論理ロー状態のLPE信号はフリップフロップ621内に格納される。その後、D_RAS信号の立ち上がりによって、ロー状態のLPEA信号がフリップフロップ625内に格納されるので、このフリップフロップは、論理ロー状態を有するSEL信号を供給する。それに応じて、NORゲート631は、論理ハイ状態を有するSEL信号を供給し、それによって、マルチプレクサ502をして、ラッチされたメモリアドレスLA[14:0]、ラッチされた読み出し/書き込み制御値LRW#、ラッチされた入力データ値LD[31:0]をメモリアレイ501にドライブさせる。それに応じて、(LRW#信号によって識別されるような)読み出しまたは書き込み動作が、メモリアレイ501によって実行される。
書き込み動作の場合、データ値D[31:0]が、アドレスA[14:0]によって選択されるメモリ位置に書き込まれる。読み出し動作の場合、アドレスA[14:0]に関連するメモリ位置からのデータが、出力信号MQ[31:0]としてドライブされ、その後、メモリプリチャージ信号PRCの立ち上がりで出力データレジスタ522においてラッチされる。出力データレジスタ522は、ポートBの読み出しデータバスQ[31:0]上でメモリ読み出しデータをドライブする。
論理ハイ状態のSEL及びRAS信号によって、ANDゲート642が論理ハイ出力を供給し、それによってS−Rフリップフロップ602の出力(すなわちLPE)を論理ロー状態にリセットする。しかし、S−Rフリップフロップ603によって供給されるRFRQ信号は、尚も論理ハイ状態を有する。それゆえ、NORゲート610は、NORゲート611に論理ロー出力信号を供給し続ける。
アクセスの終わりにRAS信号がローに非アクティブにされるとき、アービタ505内のNORゲート611は再びMRQ信号を論理ハイ状態にドライブし、それによって別のメモリアクセス(すなわちリフレッシュアクセス)を要求する。それに応じて、メモリシーケンサ503は、波形パターン701に従って、RAS信号、SENSE信号、PRC信号をドライブする。RAS及びD_RAS信号の立ち上がりによって、それぞれフリップフロップ622及び626を介して論理ロー状態のLPE信号が伝送される。それに応じて、NORゲート631は論理ローSEL信号を供給し、NORゲート632は論理ハイREF信号を供給する。ハイ状態のREF信号は、現メモリサイクルをリフレッシュアクセスに指定する。
論理ロー状態のSEL及びSEL信号によって、マルチプレクサ502が、リフレッシュ行アドレスRFA[9:0]をリフレッシュコントローラ530からメモリアレイ501へアドレス信号MA[14:5]として送信する。リフレッシュ動作には列アクセスがないので、ハイ状態のREF信号は、メモリシーケンサにおける列アクセス信号CASの生成を抑制する。ハイ状態のREF信号はまた、メモリアレイ501におけるいかなる読み出しまたは書き込み動作をも禁止する。アービタ505内では、論理ハイ状態のREF及びRAS信号によって、ANDゲート643が論理ハイ出力を供給し、それによってS−Rフリップフロップ603により供給されるRFRQ信号を論理ロー状態にリセットする。プリチャージ信号が論理ハイ状態に遷移し、RAS信号が論理ロー状態に遷移するとき、メモリセル500は、別のアクセス要求を受け入れる準備ができている。
図8は、本発明の代替実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセル800のブロック図である。デュアルポートメモリセル800はデュアルポートメモリセル500と類似しているので、図8及び図5中の類似の要素には類似の符号が付されている。デュアルポートメモリセル800内では、ポートBは読み出し専用ポートである。加えて、デュアルポートメモリセル800では、メモリセル500のポートイネーブル信号PEはクロック信号SCLKに置き換えられ、メモリセル500の読み出し/書き込み信号RW#は読み出しイネーブル信号RENに置き換えられている。それゆえ、デュアルポートメモリセル800は、デュアルポートメモリセル500のアクセスアービタ505とは異なる方式で作動するアクセスアービタ805を含む。
図9は、本発明の一実施形態に従うアクセスアービタ805の回路図である。アクセスアービタ805は、S−Rフリップフロップ601と、データフリップフロップ902−903と、NORゲート610‐611と、シンクロナイザ920と、プライオリティエンコーダ930と、ANDゲート641‐643と、遅延回路650とを含む。シンクロナイザ920は、ORゲート921と、1段目のフリップフロップ621‐622と、2段目のフリップフロップ625‐626とを含む。S−Rフリップフロップ601、NORゲート610‐611、1段目のフリップフロップ621‐622、2段目のフリップフロップ625‐626、遅延回路650及び論理ANDゲート641‐643については、アクセスアービタ605(図6)に関連して既に上記した。プライオリティエンコーダ930は、論理ANDゲート931‐932及びNORゲート933を含む。
フリップフロップ902−903のデータ(D)入力端子は、それぞれ、ポートB読み出しイネーブル信号REN及びリフレッシュ要求信号RREQを受信するように結合される。フリップフロップ902−903のリセット(R)端子は、それぞれ、ANDゲート642及び643によって供給される出力信号を受信するように結合される。フリップフロップ902及び903は、それぞれ、クロック入力端子及び逆相クロック入力端子を含み、これらはSCLK信号を受信するように結合される。フリップフロップ601、902、903は、それぞれ、ラッチされたアクセスイネーブル信号LPE、LPE、RFRQをNORゲート610に供給する。NORゲート610はNORゲート611に結合され、NORゲート611は、図6に関連して上記した方式でMRQ信号を生成する。LPE及びRFRQ信号は、シンクロナイザ920内のORゲート921にも供給される。LPE信号またはRFRQ信号のいずれか一方が論理ハイ状態を有するならば、1段目のフリップフロップ622のD入力端子に論理ハイ信号が供給される。さもなければ、1段目のフリップフロップ622のD入力端子に論理ロー信号が供給される。1段目のフリップフロップ621及び622は、RAS信号によってクロックされ、2段目のフリップフロップ625及び626は、遅延回路650によって供給されるD_RAS信号によってクロックされる。
ポートA選択信号SELは、2段目のフリップフロップ625の出力で供給される。NORゲート933は、SEL信号を受信するように結合された非逆相端子と、2段目のフリップフロップ626のQ出力信号を受信するように結合された逆相入力端子とを有する。それに応じて、NORゲート933は、ANDゲート931及び932に出力信号を供給する。ANDゲート931の他方の入力端子はSCLK信号を受信するように結合され、ANDゲート932の他方の入力端子はSCLK信号の逆数を受信するように結合される。それに応じて、ANDゲート931及び932は、それぞれ、SEL及びREF信号を供給する。一般に、SEL信号がハイにアクティブにされるのであれば、SEL及びREF信号はローに非アクティブにされる。SEL信号が非アクティブにされるならば、SEL及びREF信号は、SCLK信号の交互の半サイクル中にハイにアクティブにされることができる。
一実施形態に従って、表示バッファを実現するためにアクセスアービタ805が用いられ、ここでは、画面更新機能を実現するためにグラフィックスコントローラによってポートAが用いられ、スクリーンリフレッシュ機能を実現するためにポートBが用いられる。ポートA(すなわち画面更新ポート)は、読み出し/書き込みポートであり、これはポートB(すなわちスクリーンリフレッシュポート)及びリフレッシュメカニズムよりも優先する。ポートAは、図6〜図7に関連して上記したものと同じように動作する。すなわち、ポートイネーブル信号PEがハイにアクティブにされるとき、ラッチされたポートイネーブル信号LPE及びメモリ要求信号MRQは共にハイにアクティブにされる。RAS信号は、アクティブにされたMRQ信号に応じてアクティブにされる。遅延RAS信号D_RASは、アクティブにされたRAS信号に応じてアクティブにされる。次に、SEL信号が、RAS及びD_RAS信号に応じて同期されてアクティブにされる。アクティブにされたSEL及びRAS信号は、ポートA上での次のアクセスの前にS−Rフリップフロップ601をリセットする。
スクリーンリフレッシュ動作は、定期的にポートB上で実行され、SCLK信号を用いて同期される。ポートBイネーブル信号RENは、読み出しトランザクションがスクリーンリフレッシュポートBに到達していることを示すようにハイにアクティブにされる。連続SCLK信号もリフレッシュコントローラ530に入力され、リフレッシュ要求信号RREQ及びリフレッシュアドレスRFA[9:0]を生成する。この構成により、リフレッシュ要求信号RREQはSCLK信号と同期するので、リフレッシュ要求及びポートBからの読み出し要求は互いに対して同期的である。一実施形態に従って、リフレッシュ要求は、SCLK信号が論理ロー状態を有する間に起こるように制御され、ポートBからの読み出し要求は、SCLK信号が論理ハイ状態を有する間に起こるように制御され(またはその逆)、それによってポートB上での読み出しアクセスとリフレッシュアクセスとの間で調停の必要をなくす。この構成を用いることは、必要なシンクロナイザの数を3から2に減らすことによって、アクセスアービタ805を(アクセスアービタ505に対して)単純化する。
ここで図9に戻ると、読み出し要求信号REN及びリフレッシュ要求信号RREQは、それぞれSCLK信号の立ち上がり及び立下りで、それぞれデータフリップフロップ902及び903によってラッチされる。ラッチされたメモリ要求信号LPE、LPE、RFRQは、メモリ要求信号MRQを生成するように論理OR演算が行われる。ラッチされたアクセス要求信号LPE及びラッチされたリフレッシュ要求信号RFRQは同期信号であるので、ORゲート921は、これらの信号に対して、RAS信号との同期化の前に、論理OR機能を実行する。
同期化は、データレジスタ622及び626によって形成される多段シンクロナイザによって実行される。NORゲート933は、ポートAにアクセス優先度を与えるので、SEL信号がハイにアクティブにされるならば、SEL及びREF信号はローに非アクティブにされる。ANDゲート931‐932は(SCLK信号と共に)ポートBへの読み出しアクセスとリフレッシュアクセスの間のアクセス優先度を解決する。NORゲート933の出力が論理ハイ状態を有しかつSCLK信号が論理ハイ状態を有するとき、ポートB上で読み出しアクセスが実行される。NORゲート933の出力が論理ハイ状態を有しかつSCLK信号が論理ロー状態を有するとき、メモリアレイ501内でリフレッシュアクセスが実行される。
アクセスアービタ505内で3つの多段シンクロナイザが用いられ、アクセスアービタ805内で3つの多段シンクロナイザが用いられてはいるが、アービタ505では2つの信号しか同期される必要がなく、アービタ805では1つの信号しか同期される必要がない。これは、RAS信号がMRQ信号によってアクティブにされ、MRQ信号が今度はハイ状態のLPE、LPEまたはRFRQ信号のうち少なくとも1つによってアクティブにされるからである。シンクロナイザの各経路は、RAS信号をアクティブにする前にアクティブにされかつ1段目のフリップフロップで十分なセットアップ時間を有するこれらの信号(LPE、LPEまたはRFRQ)を容易に分解することができる。そのような信号は、RAS信号と同期されていると考えられる。それゆえ、RAS信号は、RAS信号がアクティブにされるたびに、3つの要求信号(LPE、LPEまたはRFRQ)のうち少なくとも1つと同期される。全てのシンクロナイザ経路の正味のMTBFは、同期である必要がある信号の数に、単一のシンクロナイザ経路のMTFBを掛けた値に等しい。従って、アービタ805の正味のMTBFは、アービタ505の正味のMTBFの2倍長い。これは、連続SCLK信号を用いてリフレッシュ要求信号RREQ及びポートB読み出しアクセスイネーブル信号RENの両方を生成するので、リフレッシュアクセス及びポートB読み出しアクセスは同期的であり、それによって、同期される必要がある1つの信号を排除する結果である。
幾つかの実施形態に関連して本発明を説明してきたが、本発明は、開示されている実施形態に限定されるものではなく、当業者に明らかであるような種々の改変及び実施形態が可能であることは当然である。例えば開示されている実施形態はシングルポートDRAMセルを実装するメモリセルに集中されているが、通常の技量を有するメモリ設計者が僅かに変更を加えることにより、本発明は、シングルポートSRAMセルを用いて実行されることができる。定期的なリフレッシュを必要としないシングルポートメモリセルを用いるとき、リフレッシュコントローラ530は除去されることができ、リフレッシュ要求信号RREQは接地されることができる。従って、特許請求の範囲に記載の請求項は、そのような改変または実施形態を本発明の真の範囲内に含まれるものとして扱うと考えられる。
従来のデュアルポートSRAMセルの回路図。 従来のデュアルポートDRAMセルの回路図。 従来のシングルポートSRAMセルの回路図。 従来のシングルポートDRAMセルの回路図。 本発明の一実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセルのブロック図。 本発明の一実施形態に従って図5のメモリセルにおいて用いられるアクセスアービタの回路図。 ポートAアクセス要求、ポートBアクセス要求、リフレッシュ要求が同時に起こるような図5及び図6のメモリセルの最悪動作条件を示す波形図。 本発明の代替実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセルのブロック図。 本発明の一実施形態に従って図8のメモリセルにおいて用いられるためのアクセスアービタの回路図。

Claims (20)

  1. 半導体メモリであって、
    複数のシングルポートメモリセルを含むメモリアレイと、
    第1ポート及び第2ポートを含む2つのアクセスポートと、
    アクセスアービタであって、前記第1及び第2ポートの1以上においてアクセスが要求されたとき前記メモリアレイへのアクセスを開始するための回路と、1段目と2段目とを有するシンクロナイザ回路とを含む、該アクセスアービタとを含み、
    前記アクセスを開始するための回路は、前記メモリアレイのアクセスを開始するためのメモリアクセス制御信号をアクティブにし、前記シンクロナイザ回路の前記1段目は、前記メモリアクセス制御信号に応じて第1の信号の組をラッチし、前記第1の信号の組は、前記第1及び第2ポートにおいてアクセスが要求されているか否かを示し、前記シンクロナイザ回路の前記2段目は、前記メモリアクセス制御信号の遅延バージョンに応じて前記1段目からの前記第1の信号の組をラッチすることを特徴とする半導体メモリ。
  2. 前記アクセスアービタが、
    前記シンクロナイザ回路の前記2段目にラッチされた前記第1の信号の組に応じて前記第1ポートまたは前記第2ポートを前記メモリアレイに選択的に接続するための出力信号を生成する優先順位付け回路を更に含むことを特徴とする請求項1の半導体メモリ。
  3. 前記メモリアクセス制御信号に遅延を導入し、それによって前記メモリアクセス制御信号の前記遅延バージョンを作成するように構成された遅延回路をさらに含むことを特徴とする請求項の半導体メモリ。
  4. 前記出力信号に応じて前記第1ポートまたは前記第2ポートを前記メモリアレイに選択的に接続するマルチプレクサをさらに含ことを特徴とする請求項2の半導体メモリ。
  5. 前記第1ポート及び前記第2ポートに結合されたマルチプレクサをさらに含み、前記マルチプレクサが、前記シンクロナイザ回路の前記2段目にラッチされた前記第1の信号の組に応じて第1ポートまたは前記第2ポートから前記メモリアレイへ信号を選択的に送信するように構成されていることを特徴とする請求項1の半導体メモリ。
  6. 前記アクセスアービタの回路によって供給されるメモリ要求信号に応じて、前記メモリアクセス制御信号を含む前記メモリアレイにアクセスするための複数の制御信号をシーケンシャルにアクティブ及び非アクティブにするように構成されたメモリシーケンサをさらに含むことを特徴とする請求項1の半導体メモリ。
  7. 前記シングルポートメモリセルが、リフレッシングを要求し、
    前記半導体メモリが、前記メモリアレイにリフレッシュアクセスを要求するためのリフレッシュ要求信号をアクティブにするリフレッシュコントローラをさらに含み、
    前記第1の信号の組は、前記メモリアレイへのリフレッシュアクセスが要求されたか否かを示す信号を含むことを特徴とする請求項1の半導体メモリ。
  8. 前記第2ポートが、クロック信号に応じてイネーブルにされる読み出し専用ポートであり、
    前記リフレッシュコントローラが、前記クロック信号に応じて前記リフレッシュ要求信号をアクティブにするように構成されていることを特徴とする請求項7の半導体メモリ。
  9. 前記第1ポートが、非同期読み出し/書き込みポートであることを特徴とする請求項8の半導体メモリ。
  10. 前記アクセスアービタが、前記シンクロナイザ回路の前記2段目にラッチされた前記第1の信号の組に応じて前記第1ポート、前記第2ポート、または前記リフレッシュコントローラを前記メモリアレイに選択的に接続するための出力信号を生成する優先順位付け回路をさらに備えることを特徴とする請求項7の半導体メモリ。
  11. 前記第1及び第2ポート上の前記アクセス要求と前記リフレッシュ要求信号とが互いに対して非同期的であることを特徴とする請求項7の半導体メモリ。
  12. 前記第1及び第2ポートが、非同期読み出し/書き込みポートであることを特徴とする請求項1の半導体メモリ。
  13. 半導体メモリを動作させる方法であって、
    第1ポート上においてメモリアレイへのアクセス要求を受け取るステップと、
    第2ポート上において前記メモリアレイへのアクセス要求を受け取るステップと、
    前記第1及び第2ポートの1以上においてアクセス要求を受け取ったとき前記メモリアレイのシングルポートメモリセルへのアクセスを開始するステップであって、前記メモリアレイのアクセスを開始するためのメモリアクセス制御信号がアクティブにされる、該ステップと、
    第1の信号の組と、前記メモリアクセス制御信号とを同期させて、第2の信号の組を生成するステップであって、前記第1の信号の組は、前記第1及び第2ポートにおいて受け取られたアクセス要求を示す、該ステップと、
    前記メモリアクセス制御信号に遅延を導入し、それによって遅延されたメモリアクセス制御信号を供給するステップと、
    前記第2の信号の組と、前記遅延されたメモリアクセス制御信号とを同期させて、出力信号の組を生成するステップとを含むことを特徴とする方法。
  14. 出力信号を生成するステップであって、前記出力信号に応じて前記第1ポートまたは前記第2ポートが前記メモリアレイに選択的に接続される、該ステップを更に含むことを特徴とする請求項13の方法。
  15. 前記出力信号に応じて前記第1ポートまたは前記第2ポートから前記メモリアレイへアクセス制御信号を選択的に送信するステップをさらに含むことを特徴とする請求項14の方法。
  16. 認可されたアクセス要求を示すようにメモリ要求信号をアクティブにするステップ
    記アクティブにされたメモリ要求信号に応じて前記メモリアレイにアクセスするための複数の制御信号をシーケンシャルにアクティブ及び非アクティブにするステップをさらに含むことを特徴とする請求項13の方法。
  17. 前記メモリアレイのシングルポートメモリセルを定期的にリフレッシュするステップをさらに含むことを特徴とする請求項13の方法。
  18. 前記第2ポート上において受け取られた前記アクセス要求に応じて前記第2ポートへの読み出し専用アクセスを実行するステップであって、前記第2ポート上において受け取られた前記アクセス要求は、クロック信号と同期させられる、該ステップと、
    前記クロック信号に応じて前記メモリアレイの前記シングルポートメモリセルに対するリフレッシュ要求を生成するステップとをさらに含むことを特徴とする請求項17の方法。
  19. 前記クロック信号に対して非同期的に前記第1ポート上において受け取られた前記アクセス要求に応じて読み出し及び書き込みアクセスを実行するステップをさらに含むことを特徴とする請求項18の方法。
  20. 前記リフレッシュ要求と前記第1及び第2ポート上において受け取られたアクセス要求とを調停するステップをさらに含むことを特徴とする請求項18の方法。
JP2009518426A 2006-06-29 2007-06-01 シングルポートメモリセルを用いたデュアルポートsramメモリ Expired - Fee Related JP5260511B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/427,785 US7533222B2 (en) 2006-06-29 2006-06-29 Dual-port SRAM memory using single-port memory cell
US11/427,785 2006-06-29
PCT/US2007/070204 WO2008002742A2 (en) 2006-06-29 2007-06-01 Dual-port sram memory using single-port memory cell

Publications (2)

Publication Number Publication Date
JP2009543268A JP2009543268A (ja) 2009-12-03
JP5260511B2 true JP5260511B2 (ja) 2013-08-14

Family

ID=38846379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518426A Expired - Fee Related JP5260511B2 (ja) 2006-06-29 2007-06-01 シングルポートメモリセルを用いたデュアルポートsramメモリ

Country Status (6)

Country Link
US (1) US7533222B2 (ja)
EP (1) EP2035934A4 (ja)
JP (1) JP5260511B2 (ja)
KR (1) KR20090033190A (ja)
TW (1) TW200802372A (ja)
WO (1) WO2008002742A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144170B2 (en) * 2007-03-28 2012-03-27 Himax Technologies Limited Apparatus for scaling image and line buffer thereof
US8194481B2 (en) 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
US8068382B2 (en) * 2009-08-05 2011-11-29 Mosaid Technologies Incorporated Semiconductor memory with multiple wordline selection
US8370557B2 (en) * 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
TWI425508B (zh) * 2009-04-23 2014-02-01 Orise Technology Co Ltd 具隱藏更新及雙埠能力之sram相容嵌入式dram裝置
MY180559A (en) * 2009-10-30 2020-12-02 Semiconductor Energy Lab Logic circuit and semiconductor device
TWI419162B (zh) * 2009-11-03 2013-12-11 Univ Hsiuping Sci & Tech 具放電路徑之單埠靜態隨機存取記憶體
US8959291B2 (en) 2010-06-04 2015-02-17 Lsi Corporation Two-port memory capable of simultaneous read and write
TWI470631B (zh) * 2011-06-01 2015-01-21 Univ Nat Chiao Tung 雙埠次臨界靜態隨機存取記憶體單元
US8867303B2 (en) * 2011-09-16 2014-10-21 Altera Corporation Memory arbitration circuitry
US8699277B2 (en) 2011-11-16 2014-04-15 Qualcomm Incorporated Memory configured to provide simultaneous read/write access to multiple banks
CN103594110B (zh) * 2012-08-15 2017-09-15 上海华虹集成电路有限责任公司 替代双端口静态存储器的存储器结构
US8724423B1 (en) 2012-12-12 2014-05-13 Lsi Corporation Synchronous two-port read, two-port write memory emulator
US8923089B2 (en) 2012-12-21 2014-12-30 Lsi Corporation Single-port read multiple-port write storage device using single-port memory cells
US8861289B2 (en) 2013-01-14 2014-10-14 Freescale Semiconductor, Inc. Multiport memory with matching address control
US8867263B2 (en) 2013-01-14 2014-10-21 Freescale Semiconductor, Inc. Multiport memory with matching address and data line control
US8971145B2 (en) 2013-02-28 2015-03-03 Freescale Semiconductor, Inc. Synchronous multiple port memory with asynchronous ports
US9208856B2 (en) 2013-03-12 2015-12-08 Freescale Semiconductor, Inc. Multiport memory with matching address control
US8848480B1 (en) 2013-04-30 2014-09-30 Freescale Semiconductor, Inc. Synchronous multiple port memory with asynchronous ports
US9183922B2 (en) 2013-05-24 2015-11-10 Nvidia Corporation Eight transistor (8T) write assist static random access memory (SRAM) cell
US9105318B2 (en) 2013-06-07 2015-08-11 Industrial Technology Research Institute Memory device and method operable to provide multi-port functionality thereof
JP6224401B2 (ja) * 2013-10-04 2017-11-01 ルネサスエレクトロニクス株式会社 半導体メモリ
KR101468677B1 (ko) 2013-12-27 2014-12-05 (주)실리콘화일 아비터를 이용한 메모리의 억세스 제어회로
US9324416B2 (en) 2014-08-20 2016-04-26 Qualcomm Incorporated Pseudo dual port memory with dual latch flip-flop
US9812189B2 (en) * 2015-06-04 2017-11-07 Intel Corporation Read and write apparatus and method for a dual port memory
KR102430561B1 (ko) 2015-09-11 2022-08-09 삼성전자주식회사 듀얼 포트 디램을 포함하는 메모리 모듈
US9653152B1 (en) * 2016-11-15 2017-05-16 Qualcomm Incorporated Low voltage high sigma multi-port memory control
US10642759B2 (en) * 2017-04-12 2020-05-05 Eta Compute, Inc. Interface from null convention logic to synchronous memory
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2615088B2 (ja) 1987-11-06 1997-05-28 株式会社日立製作所 半導体記憶装置
JPH02178870A (ja) * 1988-12-29 1990-07-11 Fujitsu Ltd バス・アービトレーション制御方式
DE69023395T2 (de) * 1989-06-14 1996-05-15 Matsushita Electric Ind Co Ltd Arbitrierungsschaltung.
JPH03122892A (ja) * 1989-10-06 1991-05-24 Hitachi Ltd メモリ制御回路
JPH0448489A (ja) * 1990-06-13 1992-02-18 Hitachi Ltd 半導体記憶装置
US5923593A (en) * 1996-12-17 1999-07-13 Monolithic Systems, Inc. Multi-port DRAM cell and memory system using same
US6212607B1 (en) * 1997-01-17 2001-04-03 Integrated Device Technology, Inc. Multi-ported memory architecture using single-ported RAM
US6070256A (en) 1997-05-29 2000-05-30 Nortel Networks Corporation Method and apparatus for self-testing multi-port RAMs
US6028804A (en) * 1998-03-09 2000-02-22 Monolithic System Technology, Inc. Method and apparatus for 1-T SRAM compatible memory
US6075720A (en) * 1998-08-14 2000-06-13 Monolithic System Tech Inc Memory cell for DRAM embedded in logic
US6504780B2 (en) * 1998-10-01 2003-01-07 Monolithic System Technology, Inc. Method and apparatus for completely hiding refresh operations in a dram device using clock division
US6898140B2 (en) 1998-10-01 2005-05-24 Monolithic System Technology, Inc. Method and apparatus for temperature adaptive refresh in 1T-SRAM compatible memory using the subthreshold characteristics of MOSFET transistors
US6222785B1 (en) * 1999-01-20 2001-04-24 Monolithic System Technology, Inc. Method and apparatus for refreshing a semiconductor memory using idle memory cycles
US6691216B2 (en) * 2000-11-08 2004-02-10 Texas Instruments Incorporated Shared program memory for use in multicore DSP devices
US7120761B2 (en) 2000-12-20 2006-10-10 Fujitsu Limited Multi-port memory based on DRAM core
JP4783501B2 (ja) * 2000-12-27 2011-09-28 富士通セミコンダクター株式会社 半導体記憶装置
JP2002230977A (ja) 2001-01-26 2002-08-16 Seiko Epson Corp マルチポートメモリのアービタ装置及び半導体装置
JP2002304885A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd 半導体集積回路
US7237071B2 (en) * 2001-12-20 2007-06-26 Texas Instruments Incorporated Embedded symmetric multiprocessor system with arbitration control of access to shared resources
US7093047B2 (en) 2003-07-03 2006-08-15 Integrated Device Technology, Inc. Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration

Also Published As

Publication number Publication date
JP2009543268A (ja) 2009-12-03
WO2008002742A3 (en) 2008-11-20
US7533222B2 (en) 2009-05-12
EP2035934A2 (en) 2009-03-18
EP2035934A4 (en) 2009-11-25
TW200802372A (en) 2008-01-01
KR20090033190A (ko) 2009-04-01
WO2008002742A2 (en) 2008-01-03
US20080005492A1 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
JP5260511B2 (ja) シングルポートメモリセルを用いたデュアルポートsramメモリ
JP3579461B2 (ja) データ処理システム及びデータ処理装置
US7349285B2 (en) Dual port memory unit using a single port memory core
JPS6072020A (ja) デュアルポ−トメモリ回路
US6272064B1 (en) Memory with combined synchronous burst and bus efficient functionality
JPH01125795A (ja) 仮想型スタティック半導体記憶装置及びこの記憶装置を用いたシステム
JP5038657B2 (ja) 半導体集積回路装置
JP2004348916A (ja) 半導体記憶装置及びその制御方法
US6091667A (en) Semiconductor memory device and a data reading method and a data writing method therefor
JPH0916470A (ja) 半導体記憶装置
JP2007087375A (ja) メモリ制御システムおよびメモリ制御回路
JPS61288240A (ja) 半導体記憶装置
JP2000284756A (ja) メモリ性表示装置用表示コントローラ
KR20040101329A (ko) 의사-정적 메모리 장치를 위한 비동기 인터페이스 회로와방법
US20040017714A1 (en) Synchronous SRAM-compatible memory and method of driving the same
JP4783501B2 (ja) 半導体記憶装置
US5654934A (en) Semiconductor memory employing a block-write system
JP2002197864A (ja) マルチポートメモリおよびその制御方法
KR100599411B1 (ko) 스토리지 커패시터를 포함하는 셀을 가지는 에스램 및 그라이트데이타 입력방법
JP2002132577A (ja) データ処理システム
JP3537786B2 (ja) データ処理システム
Sanwatsarkar et al. Implementation of DDR SDRAM controller using verilog HDL
JP2009238351A (ja) デュアルポート半導体記憶装置およびそのタイミング発生装置
JP2003272378A (ja) 半導体記憶装置
JPH047761A (ja) メモリアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100324

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120501

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120801

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120808

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees