JPH09505679A - Memory buffer with selective flash function - Google Patents

Memory buffer with selective flash function

Info

Publication number
JPH09505679A
JPH09505679A JP7504122A JP50412295A JPH09505679A JP H09505679 A JPH09505679 A JP H09505679A JP 7504122 A JP7504122 A JP 7504122A JP 50412295 A JP50412295 A JP 50412295A JP H09505679 A JPH09505679 A JP H09505679A
Authority
JP
Japan
Prior art keywords
address
signal
data
write buffer
storage
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.)
Pending
Application number
JP7504122A
Other languages
Japanese (ja)
Inventor
ヌーエン、アンドレア
ユーン、ジョー
ステアーンス、チャールス
Original Assignee
トーシバ・アメリカ・エレクトロニック・コンポーネンツ・インコーポレーテッド
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 トーシバ・アメリカ・エレクトロニック・コンポーネンツ・インコーポレーテッド filed Critical トーシバ・アメリカ・エレクトロニック・コンポーネンツ・インコーポレーテッド
Publication of JPH09505679A publication Critical patent/JPH09505679A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 選択フラッシュを具備する書込みバッファ10が開示された。書込みバッファ10は、アドレスバッファ50と関連したデータバッファ52と比較器54とを具備する。“スネークリード”動作の間は、読み出し動作のアドレスと各々のアドレスバッファ52に保持されているアドレス信号とが比較される。これらが一致した場合には、一致したアドレスが書き込みバッファに保持されている間だけ、読み出し動作が一時的に待機される。さらなる改良では、一致したアドレスとデータ信号とが書き込みバッファ10から書き出される前に、各々の一致に対して1つの書き込み動作まで、各々の一致に付随するオーバーヘッド(待機)を縮小することが可能となる。 (57) Summary A write buffer 10 with selective flash has been disclosed. The write buffer 10 comprises a data buffer 52 associated with the address buffer 50 and a comparator 54. During the "snake read" operation, the address of the read operation is compared with the address signal held in each address buffer 52. If they match, the read operation is temporarily waited only while the matched address is held in the write buffer. In a further refinement, it is possible to reduce the overhead (wait) associated with each match, up to one write operation for each match before the matched address and data signals are written out of the write buffer 10. Become.

Description

【発明の詳細な説明】 選択フラッシュ機能を具備するメモリーバッファ 技術分野 この発明は記憶保持装置に関し、特に、選択フラッシュ機能を具備する書き込 みバッファを有し、プロセッサまたはキャッシュメモリと主メモリの中間の書き 込みバッファに関する。 発明の背景 従来、例えばSRAMのメモリまたはプロセッサ等のプロセッサあるいはキャ ッシュメモリは、典型的にはDRAMより構成される主メモリに比べて非常に早 い速度で動作することが知られている。すなわち、従来技術では、メモリバッフ ァまたは書き込みバッファは、プロセッサまたはプロセッサのキャッシュメモリ (以降、プロセッサとは厳密にはプロセッサまたはプロセッサのキャッシュメモ リのことを指すものとする)と主メモリの中間領域で使用されている。書き込み バッファは、プロセッサから主メモリに書き込まれるデジタル信号、デジタルデ ータ形式のデータを格納する。プロセッサからのデータが書き込みバッファに格 納されると、プロセッサは他の動作を続けることができる。一方、書き込みバッ ファは、プロセッサとは独立に、書き込みバッファから主メモリにデータを書き 込む。 従来技術では、書き込みバッファの内容が空でない間に主 メモリの読み出し動作が開始された場合に、問題が発生する。この場合、先の書 き込み動作によるデータが書き込みバッファ内に存在している状態で、主メモリ のアドレスから読み出し動作が行われた時に問題が発生する。書き込みバッファ からのデータによってまだ更新されていない主メモリのデータが読み出されてし まうのである。従来の解決方法の1つとして、プロセッサから主メモリへの各々 の読み出し動作の前に、書き込みバッファを「フラッシュ」する方法がある。フ ラッシュでは、書き込みバッファの内容がすべて主メモリに書き込まれるまで、 主メモリからのプロセッサの読み出し動作が待機される。この従来の解決方法は 、カリフォルニア州のサンノゼに在るIntegrated Device Technology(IDT) により製造された装置R3081が典型的なものである。読み出しアドレスが起 こり、書き込みバッファにデータが在るときには、読み出し動作が行われる前に 必ず、書込みバッファのすべての内容が「フラッシュ(流れ出)」される。この 従来方法では、読み出し動作の度に毎回、書き込みバッファを「フラッシュ」し なければならないことに付随するオーバーヘッドが問題となる。 John Hennesyによる「Computer Architecture A Quantitative Approach」と 題する参考文献では、読み出し動作において、「読み出しの誤動作に対して書き 込みバッファの内容を検証し、矛盾がなくメモリシステムが動作可能であれば、 読み出し誤動作を続行させる」ことが提案されている。さらに、IDTの書き込 みバッファは、読み出しアドレスが書き 込みバッファ内の有効なアドレスの内の1つと一致する場合には、すべての書き 込みバッファをフラッシュするように動作すると思われる。 読み出し動作がキャッシュアクセスを決定し、プロセッサの能力に非常に影響 を与えるため、オーバーヘッド、すなわち読み出し動作に付随する待機を最小限 に短縮することが望ましい。 発明の概要 書き込みバッファはプロセッサ手段から一連のデータをそれぞれ有する複数の アドレス信号を受ける。書き込みバッファは、これら複数のアドレス信号を、ア ドレス信号により指定されたアドレスにおけるメモリ手段に蓄積されるためのデ ータとして、データバスに沿ったメモリ手段に供給された複数のアドレス信号と 共にメモリ手段に備える。前記書き込みバッファは、アドレス信号の1つをそれ ぞれ蓄積するための複数のアドレスストレージ手段を含む。前記書き込みバッフ ァはまた、前記アドレス信号の1つに関連したデータ信号の1つをそれぞれ蓄積 するための複数のデータストレージ手段を含む。このバッファはまた、それぞれ 前記アドレスストレージ手段の1つに関連した複数の比較手段を具備する。前記 比較手段各々は関連したアドレスストレージ手段からのアドレス信号を受け、前 記プロセッサ手段からの読み出しアドレス信号と比較し、メモリ手段への比較信 号を発生する。ゲート手段は前記メモリ手段への読み出しアドレス信号の供給を 制御するため前記アドレスバスに備えられる。制御手段は前記それぞれの比較手 段からの比較信号を受け、複数のストレージ手段の1つのうち読み出しアドレス 信号と一致するアドレスを蓄積している限り、前記メモリ手段への読み出しアド レス信号の供給を防ぐように前記ゲート手段を制御する。 図面の簡単な説明 図1はプロセッサと主メモリを介したこの発明の書き込みバッファを示す概要 的なブロックレベル図。 図2はこの発明の書き込みバッファの具体例を示す詳細なブロックレベル図。 図3はこの発明の書き込みバッファの他の具体例を示す詳細なブロックレベル 図。 発明の詳細な説明 図1はこの発明の書き込みバッファ10をプロセッサ12と主メモリ14と共 に示すブロックレベル図を示す。ここでいうプロセッサ12は一般的なプロセッ サもしくはプロセッサのキャッシュメモリとして用いることができる。検討のた め、以下“プロセッサ”という語句は上述のデバイスのタイプを包含する。周知 のように、プロセッサ12は複数のアドレス信号ライン(32)を含む第1のア ドレスバス16を有する。また、プロセッサ12はデータ信号を複数のアドレス 信号ライン(32)を含む第1のデータバス18に供給し、第1のデータバス1 8からのデータ信号を受ける。さらに、 プロセッサ12は、第1のR/W、すなわちリード/ライト制御ライン20のよ うに1つしか図示していないが複数の制御ラインを有する。この第1のR/Wラ イン20は単一信号ラインである。検討のため、第1のR/Wライン20のハイ すなわち“1”のときリード信号が発生し、第1のR/Wライン20がローすな わち“0”になるときライト信号が発生するものとする。 この発明の書き込みバッファ10は、第1のアドレスバス16からのアドレス 信号、第1のデータバス18からのデータ信号、及びプロセッサ12からの第1 のR/Wライン20の信号を受ける。書き込みバッファ10は第2のアドレスバ ス22のアドレス信号出力、第2のデータバス24のデータ信号出力とを備える 。第2のアドレスバス22は第1のアドレスバス16と同数の信号ラインを有す る。第2のデータバス24は第1のデータバス18と同数の信号ラインを有する 。書き込みバッファ10もまた主メモリ14のR/Wポートに供給される第2の R/W制御ライン26を備える。 第2のアドレスバス22は、第1のマルチプレクサ30に接続される。第1の マルチプレクサ30のもう一つの入力は、第1のアドレスバス16である。第1 のマルチプレクサ30は、第2のR/W制御ライン26により制御される。第2 のR/Wライン26の信号に応じて、第1のマルチプレクサ30は、第1のアド レスバス22または第2のアドレスバス16からの信号を第3のアドレスバス3 2へ供給する。第3のアドレスバス32は、主メモリ14のアドレスポートに接 続 される。同様に、第2のデータバス24は、第2のマルチプレクサ34に接続さ れる。第2のマルチプレクサ34のもう一つの入力は第1のデータバス18であ る。第2のマルチプレクサ34は、第2のR/W制御ライン26によりスイッチ される。第2のR/Wライン26の信号に応じて、第2のマルチプレクサ34は 、第2のデータバス24または第1のデータバス18の信号を第3のデータバス 36に供給する。第3のデータバス36の信号は、主メモリ14のデータポート に供給される。 図2は、本発明のライトバッファ10の実施例の詳細なブロック図を示す。第 1のR/W制御ライン20は、第3のデマルチプレクサ40を制御する。プロセ ッサ12からの第1のアドレスバス16は、第3のデマルチプレクサ40に接続 される。デマルチプレクサ40の状態に応じて、第1のアドレスバス16の信号 は、第4のアドレスバス42へまたは第5のアドレスバス44へスイッチされる 。第5のアドレスバス44の信号は、アドレスストレージ50(A−H)のバン クに供給される。図2においては8個のストレージしか示されていないが、当業 者にはいかなる数も選ばれうることは明らかである。本実施例のアドレスストレ ージバンク50(A−H)は、循環FIFOのバンクである。よって、第2のア ドレスバス22に最も近いFIFO50(A)に記憶されたアドレス信号は、ラ イトバッファ10から最初に書き出されるアドレス信号である。FIFO50( H)に記憶されたアドレス信号は、ライトバッファ10に一番最近に記憶された アドレス信号である。 アドレスストレージFIFO50の各々は、対応する関連したデータストレー ジ52(A−H)を有する。本実施例において、アドレスストレージ50(A− H)と同様に、データストレージ52(A−H)は、循環FIFOである。よっ て、ストレージ52(A)に記憶されたデータ信号は、主メモリ14に最初に書 き出され、ストレージ52(H)に記憶されたデータ信号は、一番最近に記憶さ れた信号である。最後に、アドレスストレージ50(A−H)の各々が、関連す る比較器54(A−H)を有する。比較器54(A−H)の各々は、各々と関連 するアドレスストレージ50(A−H)からの信号を受信し、それを第4のアド レスバス42から受信したアドレス信号と比較する。この比較の結果、比較信号 ライン56(A−H)の各々に、一致または不一致を示す1ビットの信号が生成 される。複数の比較信号ライン56(A−H)は、すべてノアゲート58に接続 される。ノアゲート58の出力は、第1のR/W制御ライン20も接続されてい るアンドゲート60に供給される。アンドゲート60の出力は、第2のR/W制 御信号26である。 ライトバッファ10の動作を以下に説明する。 (プロセッサの書き込み動作) 書き込み動作の間、第1のR/W制御ライン20がローまたは”0”であると 仮定すると、第3のデマルチプレクサ40は、第1のアドレスバス16が第5の アドレスバス44に接続されるように切り替えられる。それゆえ、第1のアドレ スバス16上のアドレス信号と第1のデータバス18上のデータ信号は、ライト バッファ10のアドレスストレージ50(A)とデータストレージ52(A)に ロードされる。次のアドレス信号とデータ信号がライトバッファ10により受信 されると、それらはそれぞれアドレスストレージ50(B)とデータストレージ 52(B)に記憶される。第1のR/W制御信号20がローであると、アンドゲ ート60の出力と第2のR/W制御信号26はローである。それ故、主メモリ1 4は書き込み動作を受けるように設定される。この場合、第2のR/W制御信号 26は、第2、第3のマルチプレクサ30、34をそれぞれ第2のアドレスバス 22を第3のアドレスバス32と接続し、第2のデータバス24を第3のデータ バス36と接続する状態にする。こうして、プロセッサ12はライトバッファ1 0や主メモリ14よりも速いので、プロセッサ12が他の動作を続けている間、 ライトバッファ10はアドレスストレージ50(A)からのアドレス信号とデー タストレージ52(A)からのデータ信号を主メモリ14のアドレスポートとデ ータポートに供給する。 プロセッサ12が動作を続けるとき、プロセッサは、ライトバッファ10の内 容が主メモリ14に書き出される前に、付加的なアドレス信号やデータ信号をラ イトバッファ10に供給する。こうして、アドレスストレージ50やデータスト レージ52は、処理が続くにつれて満たされる。ストレージ50(A)や52( A)に記憶されたアドレス信号やデータ信号が、メモリ10から読み出され、主 メモリ14に供給さ れると、ストレージ50(B)、52(B)に記憶されたアドレス信号とデータ 信号は繰り上がり、ストレージ50(A)、52(A)に記憶される。 (プロセッサの読み出し動作) 読み出し動作の間、ライトバッファ10のアドレスストレージ50とデータス トレージ52は、ストレージ50(A−G)にアドレス信号を、ストレージ52 (A−G)にデータ信号を保持するものと仮定する。第1のR/W制御ライン2 0は、読み出し動作を意味するハイになる。これは、第3のデマルチプレクサ4 0を、第1のアドレスバス16を第4のアドレスバス42に接続する状態に切り 替えさせる。第1のアドレスバス16のアドレス信号は、比較器54(A−H) の各々に同時に供給される。比較器54(A−H)の各々は、第4のアドレスバ ス42に供給されたアドレス信号を、対応するアドレスストレージ50(A−H )に記憶されたアドレス信号の内容と比較する。不一致、すなわち読み出しサイ クルの間そのアドレスと一致するアドレスがアドレスストレージ50(A−H) にない場合、信号ライン56(A−H)の各々の上の比較信号は、すべてローと なる。そして、ノアゲート58の出力は、ハイとなる。そのため、第2のR/W 制御ライン25を生成するアンドゲート60の出力は、ハイとなる。 第2のR/W制御線26がハイとなると、主メモリ14は受けるための読み出 し動作に設定される。さらに、第2のR/W制御線26がハイとなると、第2、 第3のマルチプレク サ30、34は、第1のアドレスバス16と第3のアドレスバス32を接続すべ き位置、第1のデータバスと第3のデータバス36を接続すべき位置にそれぞれ 切り換えられる。この状態において、プロセッサ12はスネーク(sneak)読み 出し動作を行い、この間ライトバッファ10の動作は一時的に停止される。 1つのアドレスストレージ50内のアドレス信号が第1のアドレスバス16に 供給されたアドレス信号と一致した状態において、比較信号56(A−H)の内 の少なくとも1つがハイとなる。(アドレス・ロケーション・トスレージ50( D)に記憶されたアドレス信号が第1のアドレスバス16上のアドレス信号と一 致した例と仮定する。)したがって、比較信号56(D)はハイとなり、一致を 示す。ノアゲート58の出力がローとなる。第1のR/W制御ライン20がハイ であっても、ロー入力がアンドゲート60に供給されるため、第2のR/W制御 ライン26はローのままである。第2のR/W制御ライン26はローのままであ るため、主メモリ14は書き込み動作を受けるためのモード状態を継続する。さ らに、第2のR/W制御ライン26がローとなるため、第1、第2のマルチプレ クサ30、34は第2のアドレスバス22と第3のアドレスバス32を接続する 位置、第2のデータバス24と第3のデータバス36を接続する位置を継続する 。この状態において、プロセッサ12によって読み出し動作がリクエストされた 場合でも、ライトバッファ10はそのアドレス及びデータストレージ50、52 からアドレスとデ ータ信号を主メモリ14に供給する書込み動作を継続する。 クロックサイクルの後において、アドレスストレージ50(D)の一致したア ドレスはアドレスストレージ50(C)に移動される。同様に、関連するデータ はデータストレージ52(D)から52(C)に移動される。比較信号56(C )は前と同じ条件においてハイとなる。すなわち、プロセッサ12の読み出し動 作はブロックされ、ライトバッファ10の書込み動作はアドレスとデータ信号を 主メモリ14に供給するために続けられる。これはアドレスストレージ50の一 致したアドレス信号とその関連するデータ信号がアドレス、データストレージ5 0、52から主メモリ14に供給されるまで継続される。これらアドレスとデー タ信号がアドレスストレージ50(A)やデータストレージ52(A)からクリ ア又はフラッシュされると直ぐにハイとなる比較信号56(A−H)はない(ア ドレスストレージ50内に残っている一致したアドレス信号は他にないと考えら れる)。これはプロセッサ12からの読み出し動作が主メモリ14をアクセスす ることを許可する条件に復帰する。 したがって、ライトバッファ10は主メモリ14の制御を継続し、プロセッサ 12による読み出し動作中のアドレス信号がライトバッファ10内にその時留ま っているアドレス信号の1つと一致する限り、そのライト動作を継続する。アド レス信号とそれに関連するデータ信号が主メモリ14に書込まれると、本発明の ライトバッファ10はプロセッサ12が主メモリ14を読み出したりアクセスす ることを許可する。 図3は本発明のライトバッファ10の他の実施例を示している。図2に見られ るように、アドレスストレージ50やデータストレージ52は、一致したアドレ ス信号がアドレスストレージ50(A)以外のアドレスストレージ50に記憶さ れた場合、循環FIFOバッファであるため、主メモリ14に記憶すべき閉ざさ れたシーケンスであり、アドレスストレージ50に記憶された一致したアドレス 信号それぞれが主メモリ14に書込まれる前に、ライトバッファ10による複数 の書込み動作を要求する。 図3のライトバッファ110において、一致したアドレス信号とそれに関連す るデータ信号は、一致が発生すると直ぐに主メモリ14に移動することができる 。これは待ち時間やプロセッサ12の読み出し動作のオーバーヘッドを一層削減 する。同様の構成が図2、図3に記載され、図3に示された構成には同一の符号 が付されている。 ライトバッファ110において、アドレスストレージ150(A−H)のそれ ぞれは個別番地付け記憶位置(an individually addressable storage location) である。同様に、関連するデータストレージ152(A−H)のそれぞれは、個 別番地付け記憶位置を具備する。アドレスストレージ150のそれぞれも関連す る比較器54(A−H)を有し、これは図2に示す比較器54(A−H)と同一 である。比較器54(A−H)のそれぞれは比較信号出力56(A−H)を発生 する。この比較信号出力56(A−H)は図2で説明した比較信号56(A−H )と同一である。複数の比較信号56は ノアゲート58に供給される。このノアゲート58は第2のR/W制御ライン2 6に設けられたアンドゲート60に接続される。第3のデマルチプレクサ40は 図2に示され記載された第3のデマルチプレクサ40と同様に動作する。最後に 、ライトバッファ110はコントローラ70を構成する。このコントローラ70 は後述する複数の入力制御信号を受け、複数の出力信号を出力する。コントロー ラ70への前記複数の入力制御信号は既に説明した第1のR/W制御20を構成 する。さらに、コントローラ70はカレント−エイジ−オブ−エントリ(Current Age of Entry)として指定された複数の制御信号を受ける。カレント−エイジ− オブ−エントリ信号は各アドレスストレージ150(A−H)の出力信号であり 、最も最近にアドレスストレージ150に書き込まれたエントリーのエイジまで 、最も速い時期にアドレスストレージ150に書込まれたエントリからスタート するエイジの範囲を決定する。最後に、コントローラ70への他の入力信号は複 数の比較信号56によって与えられ、アドレス一致として指定される。 コントローラ70は複数の出力制御信号を生成する。それらは以下の通りであ る。リードセル制御信号はそれぞれアドレスされるアドレスとデータストレージ 150および152を決定する複数の制御信号である。そうすることによってそ の内容を第2のアドレスバス22および第2のデータバス24上にそれぞれ書込 むことが可能となる。予め定められた通り、アドレスストレージ150およびデ ータストレージ15 2は個々にアドレス可能でありその内容は第2のアドレスバス22および第2の データバス24上にそれぞれ直接のせることができる。リードセルバスは特定の アドレスストレージ150およびデータストレージ152を選択するためのアド レスである。ライトセル制御信号はプロセッサ12からストレージ150および 152の中に書込まれるアドレス信号およびデータ信号のためのアドレスストレ ージ150およびデータストレージ152のアドレスを供給する。さらに、リー ドセル信号と同様に、ライトセル信号は特定のアドレスストレージ150および データストレージ152を選択する信号である。結局、制御信号ニュー−エイジ −オブ−エントリイはエントリイがどれだけ長くアドレスストレージ150およ びデータストレージ152の中にあったかの“タイムスタンプ”を供給する。そ れはこれらストレージ150および152の中にあるデータがどのような状態に あり、またはどのように更新されたかを示す。エントリイ信号の他の全てのエイ ジ(age)を集めると、それらは最初に書込まれたストレージ150および152 、および最後に書込まれたストレージ150および152の表示を供給する。 書込みバッファ110の動作について以下に述べる。プロセッサの書込み動作 書込み動作の継続中、第1のアドレスバス16からのアドレス信号および第1 のデータバス18からのデータ信号はアドレスおよびデータストレージ150お よび152に供給さ れる。アドレスストレージ150およびデータストレージ152の有効性に基づ き、ライトセル制御信号がアドレス信号およびデータ信号の出力が書込まれるア ドレスストレージ150およびデータストレージ152に指示のために供給され る。プロセッサ12からの信号が書込みバッファ110に書込まれた場合、その エントリイのエイジがそこで書き止められる。書込みバッファ110から主メモ リ14にデータを供給する場合、コントローラ70はアドレスストレージ150 およびデータストレージ152それぞれのカレント−エイジ−オブ−エントリイ のリストを受けとる。最も古いエントリイが、第2のアドレスバス22にアドレ ス信号をのせ、第2のデータバスにデータ信号を結合するリードセル制御信号に よってここで選択される。書込みバッファ110から主メモリ14へのデータの 書込みは最初に書込まれた最も古いエントリイの命令によりなされる。図2で示 した実施例について論じたように、第2のR/W制御信号ライン26はローまた は“0”の位置に維持され、それにより第1のよび第2のマルチプレクサ30お よび34をそれぞれその位置に保ち、第2のアドレスバス22を第3のアドレス バス32に接続し、そして第2のデータバス24を第3のデータバス36に接続 する。このような方法により、機能的に、書込みバッファ110はプロセッサ1 2の書込み動作継続中書込みバッファ10と同様に動作する。 プロセッサの読出し動作 最初に、再度、第1のアドレスバス16のアドレス信号とアドレスストレージ 150に蓄積されたアドレス信号が一致しないと仮定する。この場合、ノアゲー ト58の出力はハイであり、アンドゲート60の出力をハイにさせる。このこと は第2のR/W制御信号ライン26を主メモリ14が読出し動作にする位置に置 くようハイにする。加えて、これは第1のよび第2のマルチプレクサ30および 34をそれぞれ第1のアドレスバス16を第3のアドレスバス32と接続させそ して第1のデータバス18を第3のデータバス36に接続を生じさせるように配 置させる。このようにして、プロセッサ12は主メモリ14の読出しが可能とな る。さらに、機能的に、これは書込みバッファ10と同様である。 もしアドレス信号に一致する信号がアドレスストレージ150(D)に蓄積さ れていると仮定するならば、その場合比較器54(A−H)の出力は比較信号5 6(D)をハイにする。このことはノアゲート58の出力をローにするであろう 。これは第2のR/W制御信号26をローにし主メモリ14を書込み動作を受け るモードに保つようにする。このことはさらに第1のおよび第2のマルチプレク サ30および34を、第2のアドレスバス22を第3のアドレスバス32と接続 させそして第2のデータバス24を第3のデータバス36と接続させるように配 置させる。コントローラ70は読出しモードにあるとき第1のR/W制御信号2 0を受けとりそしてまたハイの比較信号56(D)を受けるので、それはアドレ スストレージ150(D)が選択されるようにリードセル選択 信号を選択するであろう。このことはアドレスストレージ150(D)中のアド レス信号を第2のアドレスバス22にのせるようにさせる。加えて、同じリード セル制御ラインはデータストレージ152(D)からのデータ信号を第2のデー タバス24にのせるようにさせる。第3のアドレスバス32および第3のデータ バス36のアドレス信号およびデータ信号を用いて、主メモリ14への書込み動 作が生ずる。一度アドレスストレージ150(D)およびデータストレージ15 2(D)の内容が読出されると、それらは“ゼロドアウト(zeroed out)”であり 、または結合されたビットはアドレスおよびデータストレージが書込み可能であ ることを示すようにセットされる。このことは比較器54(D)をローにさせる ようにする。比較信号56が全てロートとなり、プロセッサ12は主メモリ14 を読出し可能となる。 アドレスストレージ150における1つ以上のアドレス信号が第1のアドレス バス16上のアドレス信号と一致すると、コントローラ70は1つのアドレスス トレージ150を選択する。選択されるアドレスストレージは最初に読出される べき最も高いエントリ順位を有しており、読み出されたアドレス信号は第2のア ドレスバス22に出力される。このアドレス信号に関連したデータ信号も読出さ れ、データバス24に出力され、主メモリ14に書込まれる。次の一致が生じる と、次のエントリ順位のアドレスストレージ150からアドレス信号が読出され 、そのデータストレージ152から主メモリ14にデータが書込まれる。一致し たアドレス信号のすべて がアドレスストレージ150から読出されかつデータストレージ152から読出 されたデータが主メモリ14に書込まれると、プロセッサ12は主メモリ14か らの読出し動作を開始する。したがって、この実施例においては、プロセッサ1 2による読出し動作と書込みバッファ110における一致したアドレス信号との オーバーヘッドが大巾に減少する。 以上の説明から理解されるように、本願で開示される改良された書込みバッフ ァはプロセッサが主メモリからデータを読出そうとする時の書込みバッファとの オーバーヘッドを大巾に小さくする。すなわち、書込みバッファに一致アドレス が溜まる限り、書込みバッファはフラッシュされプロセッサ12の読出し動作は 一時的に待機状態とされる。さらにこの実施例によれば、上記オーバーヘッドは 、単一の一致アドレスおよびその関連するデータをフラッシュする一回のサイク ルにまで減少する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory holding device, and more particularly to a memory holding device having a write buffer having a selective flash function, which is an intermediate write between a processor or a cache memory and a main memory. Regarding the buffer. BACKGROUND OF THE INVENTION It is known in the prior art that processors such as SRAM memories or processors or cache memories operate at much faster speeds than main memory, which typically consists of DRAM. That is, in the related art, the memory buffer or the write buffer is used in an intermediate area between the processor or the cache memory of the processor (hereinafter, the processor strictly refers to the processor or the cache memory of the processor) and the main memory. Has been done. The write buffer stores a digital signal written in the main memory from the processor and data in a digital data format. Once the data from the processor is stored in the write buffer, the processor can continue with other operations. On the other hand, the write buffer writes data from the write buffer to the main memory independently of the processor. In the prior art, a problem occurs when a read operation of the main memory is started while the content of the write buffer is not empty. In this case, a problem occurs when the read operation is performed from the address of the main memory while the data of the previous write operation exists in the write buffer. The data in the main memory that has not been updated is read by the data from the write buffer. One conventional solution is to "flush" the write buffer before each read operation from the processor to main memory. In flash, the processor's read operation from main memory waits until the entire contents of the write buffer are written to main memory. This conventional solution is typified by device R3081 manufactured by Integrated Device Technology (IDT) of San Jose, Calif. Whenever a read address occurs and there is data in the write buffer, all the contents of the write buffer are "flushed" before the read operation is performed. This conventional method suffers from the overhead associated with having to "flush" the write buffer with each read operation. In a reference titled "Computer Architecture A Quantitative Approach" by John Hennesy, in a read operation, "read malfunction is verified if the content of the write buffer is verified for read malfunction and the memory system is operable without any contradiction. It is proposed to "continue". Further, the IDT's write buffer would operate to flush all the write buffers if the read address matches one of the valid addresses in the write buffer. It is desirable to minimize the overhead, i.e. the wait associated with a read operation, as the read operation determines cache access and has a significant impact on the processor's capabilities. Summary of the invention The write buffer receives from the processor means a plurality of address signals each having a series of data. The write buffer is provided in the memory means with the plurality of address signals as data to be stored in the memory means at the address designated by the address signal, together with the plurality of address signals supplied to the memory means along the data bus. . The write buffer includes a plurality of address storage means for respectively storing one of the address signals. The write buffer also includes a plurality of data storage means for respectively storing one of the data signals associated with one of the address signals. The buffer also comprises a plurality of comparison means, each associated with one of the address storage means. Each of the comparison means receives the address signal from the associated address storage means, compares it with the read address signal from the processor means, and generates a comparison signal to the memory means. Gating means are provided on the address bus for controlling the supply of read address signals to the memory means. The control means receives the comparison signal from each of the comparison means and prevents the supply of the read address signal to the memory means as long as it stores the address that matches the read address signal among the plurality of storage means. And controlling the gate means. Brief description of the drawings FIG. 1 is a schematic block level diagram showing a write buffer of the present invention via a processor and main memory. FIG. 2 is a detailed block level diagram showing a specific example of the write buffer of the present invention. FIG. 3 is a detailed block level diagram showing another embodiment of the write buffer of the present invention. Detailed description of the invention FIG. 1 shows a block level diagram of a write buffer 10 of the present invention with a processor 12 and a main memory 14. The processor 12 here can be used as a general processor or a cache memory of the processor. For purposes of discussion, the term "processor" below will encompass the types of devices mentioned above. As is well known, the processor 12 has a first address bus 16 including a plurality of address signal lines (32). The processor 12 also supplies a data signal to the first data bus 18 including a plurality of address signal lines (32) to receive the data signal from the first data bus 18. Further, the processor 12 has a plurality of control lines, although only one is shown, such as the first R / W, read / write control line 20. This first R / W line 20 is a single signal line. For examination, it is assumed that a read signal is generated when the first R / W line 20 is high, that is, "1", and a write signal is generated when the first R / W line 20 is low, that is, "0". To do. The write buffer 10 of the present invention receives an address signal from the first address bus 16, a data signal from the first data bus 18, and a signal on the first R / W line 20 from the processor 12. The write buffer 10 has an address signal output of the second address bus 22 and a data signal output of the second data bus 24. The second address bus 22 has the same number of signal lines as the first address bus 16. The second data bus 24 has the same number of signal lines as the first data bus 18. The write buffer 10 also comprises a second R / W control line 26 which feeds the R / W port of the main memory 14. The second address bus 22 is connected to the first multiplexer 30. Another input of the first multiplexer 30 is the first address bus 16. The first multiplexer 30 is controlled by the second R / W control line 26. In response to the signal on the second R / W line 26, the first multiplexer 30 supplies the signal from the first address bus 22 or the second address bus 16 to the third address bus 32. The third address bus 32 is connected to the address port of the main memory 14. Similarly, the second data bus 24 is connected to the second multiplexer 34. The other input of the second multiplexer 34 is the first data bus 18. The second multiplexer 34 is switched by the second R / W control line 26. In response to the signal on the second R / W line 26, the second multiplexer 34 supplies the signal on the second data bus 24 or the first data bus 18 to the third data bus 36. The signal of the third data bus 36 is supplied to the data port of the main memory 14. FIG. 2 shows a detailed block diagram of an embodiment of the write buffer 10 of the present invention. The first R / W control line 20 controls the third demultiplexer 40. The first address bus 16 from the processor 12 is connected to a third demultiplexer 40. Depending on the state of the demultiplexer 40, the signal on the first address bus 16 is switched to the fourth address bus 42 or the fifth address bus 44. The signal of the fifth address bus 44 is supplied to the bank of the address storage 50 (AH). Although only eight storages are shown in FIG. 2, it will be apparent to those skilled in the art that any number can be chosen. The address storage bank 50 (A-H) of this embodiment is a circular FIFO bank. Therefore, the address signal stored in the FIFO 50 (A) closest to the second address bus 22 is the address signal first written from the write buffer 10. The address signal stored in the FIFO 50 (H) is the address signal most recently stored in the write buffer 10. Each of the address storage FIFOs 50 has a corresponding associated data storage 52 (A-H). In this embodiment, the data storage 52 (A-H), like the address storage 50 (A-H), is a circular FIFO. Therefore, the data signal stored in the storage 52 (A) is first written to the main memory 14, and the data signal stored in the storage 52 (H) is the most recently stored signal. Finally, each of the address storages 50 (A-H) has an associated comparator 54 (A-H). Each of the comparators 54 (A-H) receives the signal from the address storage 50 (A-H) associated with it and compares it with the address signal received from the fourth address bus 42. As a result of this comparison, a 1-bit signal indicating a match or a mismatch is generated on each of the comparison signal lines 56 (A-H). The plurality of comparison signal lines 56 (A-H) are all connected to the NOR gate 58. The output of the NOR gate 58 is supplied to the AND gate 60 to which the first R / W control line 20 is also connected. The output of the AND gate 60 is the second R / W control signal 26. The operation of the write buffer 10 will be described below. (Processor Write Operation) Assuming that the first R / W control line 20 is low or “0” during the write operation, the third demultiplexer 40 operates the first address bus 16 to the fifth It is switched so as to be connected to the address bus 44. Therefore, the address signal on the first address bus 16 and the data signal on the first data bus 18 are loaded into the address storage 50 (A) and the data storage 52 (A) of the write buffer 10. When the next address and data signals are received by write buffer 10, they are stored in address storage 50 (B) and data storage 52 (B), respectively. When the first R / W control signal 20 is low, the output of the AND gate 60 and the second R / W control signal 26 are low. Therefore, the main memory 14 is set to receive a write operation. In this case, the second R / W control signal 26 connects the second and third multiplexers 30 and 34 to the second address bus 22 and the third address bus 32, respectively, and connects the second data bus 24 to the second data bus 24. The third data bus 36 is connected. Thus, since the processor 12 is faster than the write buffer 10 and the main memory 14, the write buffer 10 keeps the address signal from the address storage 50 (A) and the data storage 52 (A) while the processor 12 continues other operations. 2) is supplied to the address port and the data port of the main memory 14. As the processor 12 continues to operate, the processor supplies additional address and data signals to the write buffer 10 before the contents of the write buffer 10 are written to the main memory 14. In this way, the address storage 50 and the data storage 52 are filled as the processing continues. When the address signals and data signals stored in the storages 50 (A) and 52 (A) are read from the memory 10 and supplied to the main memory 14, they are stored in the storages 50 (B) and 52 (B). The address signal and the data signal are carried up and stored in the storages 50 (A) and 52 (A). (Read Operation of Processor) During the read operation, the address storage 50 and the data storage 52 of the write buffer 10 hold an address signal in the storage 50 (AG) and a data signal in the storage 52 (AG). Suppose The first R / W control line 20 goes high, meaning a read operation. This causes the third demultiplexer 40 to switch to the state of connecting the first address bus 16 to the fourth address bus 42. The address signal of the first address bus 16 is simultaneously supplied to each of the comparators 54 (AH). Each of the comparators 54 (A-H) compares the address signal supplied to the fourth address bus 42 with the contents of the address signal stored in the corresponding address storage 50 (A-H). If there is no mismatch, that is, no address in the address storage 50 (A-H) that matches that address during the read cycle, the compare signals on each of the signal lines 56 (A-H) are all low. The output of NOR gate 58 then goes high. Therefore, the output of the AND gate 60 that produces the second R / W control line 25 is high. When the second R / W control line 26 goes high, the main memory 14 is set to a read operation for receiving. Further, when the second R / W control line 26 becomes high, the second and third multiplexers 30 and 34 are located at a position where the first address bus 16 and the third address bus 32 should be connected, that is, at the first position. The data bus and the third data bus 36 are respectively switched to positions to be connected. In this state, the processor 12 performs a sneak read operation, during which the operation of the write buffer 10 is temporarily stopped. At least one of the comparison signals 56 (A-H) goes high in a state where the address signal in one address storage 50 matches the address signal supplied to the first address bus 16. (Assume that the address signal stored in the address location storage 50 (D) matches the address signal on the first address bus 16.) Therefore, the compare signal 56 (D) goes high, indicating a match. Show. The output of NOR gate 58 goes low. Even though the first R / W control line 20 is high, the second R / W control line 26 remains low because the low input is provided to the AND gate 60. Since the second R / W control line 26 remains low, the main memory 14 remains in the mode state for receiving the write operation. Further, since the second R / W control line 26 becomes low, the first and second multiplexers 30 and 34 are located at the position where the second address bus 22 and the third address bus 32 are connected, and the second data. The position where the bus 24 and the third data bus 36 are connected is continued. In this state, even when a read operation is requested by the processor 12, the write buffer 10 continues the write operation of supplying the address and data signal from the address and data storage 50, 52 to the main memory 14. After a clock cycle, the matched address in address storage 50 (D) is moved to address storage 50 (C). Similarly, the associated data is moved from data storage 52 (D) to 52 (C). The comparison signal 56 (C) goes high under the same conditions as before. That is, the read operation of processor 12 is blocked and the write operation of write buffer 10 is continued to provide address and data signals to main memory 14. This continues until the matched address signal of address storage 50 and its associated data signal are provided from address, data storage 50, 52 to main memory 14. There is no comparison signal 56 (A-H) that goes high immediately when these address and data signals are cleared or flushed from the address storage 50 (A) or the data storage 52 (A) (matches remaining in the address storage 50. It is considered that there is no other address signal. This restores the conditions that allow read operations from processor 12 to access main memory 14. Therefore, the write buffer 10 continues to control the main memory 14 and continues the write operation as long as the address signal during the read operation by the processor 12 matches one of the address signals currently remaining in the write buffer 10. When an address signal and its associated data signal are written to main memory 14, the write buffer 10 of the present invention allows processor 12 to read and access main memory 14. FIG. 3 shows another embodiment of the write buffer 10 of the present invention. As shown in FIG. 2, when the matched address signal is stored in the address storage 50 other than the address storage 50 (A), the address storage 50 and the data storage 52 are circular FIFO buffers, and thus are stored in the main memory 14. It is a closed sequence to be stored, requiring multiple write operations by the write buffer 10 before each matching address signal stored in the address storage 50 is written to the main memory 14. In the write buffer 110 of FIG. 3, the matched address signal and its associated data signal can be moved to the main memory 14 as soon as a match occurs. This further reduces latency and the overhead of the read operation of processor 12. Similar configurations are shown in FIGS. 2 and 3, and the same reference numerals are given to the configurations shown in FIG. In the write buffer 110, each of the address storages 150 (A-H) is an individually addressable storage location. Similarly, each of the associated data storages 152 (A-H) comprises an individual addressing storage location. Each of the address storages 150 also has an associated comparator 54 (A-H), which is the same as the comparator 54 (A-H) shown in FIG. Each of the comparators 54 (A-H) produces a comparison signal output 56 (A-H). The comparison signal output 56 (A-H) is the same as the comparison signal 56 (A-H) described in FIG. The plurality of comparison signals 56 are supplied to the NOR gate 58. The NOR gate 58 is connected to an AND gate 60 provided on the second R / W control line 26. The third demultiplexer 40 operates similarly to the third demultiplexer 40 shown and described in FIG. Finally, the write buffer 110 constitutes the controller 70. The controller 70 receives a plurality of input control signals described later and outputs a plurality of output signals. The plurality of input control signals to the controller 70 constitute the first R / W control 20 already described. Further, the controller 70 receives a plurality of control signals designated as Current Age of Entry. The current-age-of-entry signal is an output signal of each address storage 150 (AH) and is written in the address storage 150 at the earliest time until the age of the entry most recently written in the address storage 150. Determine the range of ages to start with the entry. Finally, the other input signal to controller 70 is provided by the plurality of compare signals 56 and designated as an address match. The controller 70 generates a plurality of output control signals. They are as follows: The read cell control signals are a plurality of control signals that determine the addressed address and data storage 150 and 152, respectively. By doing so, the contents can be written on the second address bus 22 and the second data bus 24, respectively. As predetermined, address storage 150 and data storage 152 are individually addressable and their contents can be placed directly on second address bus 22 and second data bus 24, respectively. The read cell bus is an address for selecting a specific address storage 150 and data storage 152. The light cell control signals provide the addresses of address storage 150 and data storage 152 for address and data signals written from processor 12 into storage 150 and 152. Further, like the read cell signal, the write cell signal is a signal that selects a specific address storage 150 and data storage 152. Finally, the control signal New Age of Entry provides a "time stamp" of how long the entry has been in address storage 150 and data storage 152. It indicates what the state of the data in these storages 150 and 152 is, or how it has been updated. Collecting all other ages of the entry signal, they provide an indication of the first written storage 150 and 152, and the last written storage 150 and 152. The operation of the write buffer 110 will be described below. Write operation of the processor During the continuation of the write operation, the address signal from the first address bus 16 and the data signal from the first data bus 18 are provided to address and data storage 150 and 152. Based on the validity of the address storage 150 and the data storage 152, the write cell control signal is supplied to the address storage 150 and the data storage 152 to which the output of the address signal and the data signal is written. When the signal from the processor 12 is written to the write buffer 110, the age of that entry is stopped there. When supplying data from the write buffer 110 to the main memory 14, the controller 70 receives a list of current-age-of-entry entries in the address storage 150 and the data storage 152, respectively. The oldest entry is loaded here by the read cell control signal which carries the address signal on the second address bus 22 and couples the data signal to the second data bus. Writing of data from the write buffer 110 to the main memory 14 is performed by the oldest entry command written first. As discussed with respect to the embodiment shown in FIG. 2, the second R / W control signal line 26 is maintained in the low or "0" position, thereby causing the first and second multiplexers 30 and 34 respectively. Keeping in that position, the second address bus 22 is connected to the third address bus 32, and the second data bus 24 is connected to the third data bus 36. In this manner, functionally, write buffer 110 behaves like write buffer 10 of processor 12 during a write operation. Processor read operation First, assume again that the address signal on the first address bus 16 and the address signal stored in the address storage 150 do not match. In this case, the output of NOR gate 58 is high, causing the output of AND gate 60 to go high. This causes the second R / W control signal line 26 to go high to place the main memory 14 in a read operation. In addition, this connects the first and second multiplexers 30 and 34 respectively to the first address bus 16 to the third address bus 32 and to connect the first data bus 18 to the third data bus 36. Are arranged so that In this way, the processor 12 can read the main memory 14. Furthermore, functionally, it is similar to the write buffer 10. If it is assumed that a signal corresponding to the address signal is stored in the address storage 150 (D), then the output of the comparator 54 (A-H) drives the comparison signal 56 (D) high. This will cause the output of NOR gate 58 to go low. This causes the second R / W control signal 26 to go low, keeping the main memory 14 in a mode for receiving write operations. This further causes the first and second multiplexers 30 and 34 to connect the second address bus 22 to the third address bus 32 and the second data bus 24 to the third data bus 36. To arrange. When the controller 70 is in the read mode, it receives the first R / W control signal 20 and also receives the high compare signal 56 (D), which is the read cell select signal so that the address storage 150 (D) is selected. Would choose. This causes the address signals in address storage 150 (D) to be placed on the second address bus 22. In addition, the same read cell control line causes the data signal from the data storage 152 (D) to be loaded onto the second data bus 24. A write operation to the main memory 14 is performed using the address signal and the data signal of the third address bus 32 and the third data bus 36. Once the contents of address storage 150 (D) and data storage 152 (D) are read, they are "zeroed out", or the combined bits are writable by address and data storage. It is set to indicate that. This causes comparator 54 (D) to go low. All the comparison signals 56 become the funnel, and the processor 12 can read the main memory 14. The controller 70 selects one address storage 150 when one or more address signals in the address storage 150 match an address signal on the first address bus 16. The selected address storage has the highest entry rank to be read first, and the read address signal is output to the second address bus 22. The data signal related to this address signal is also read, output to data bus 24, and written in main memory 14. When the next match occurs, the address signal is read from the address storage 150 of the next entry rank, and the data is written from the data storage 152 to the main memory 14. When all of the matched address signals are read from the address storage 150 and the data read from the data storage 152 is written in the main memory 14, the processor 12 starts the read operation from the main memory 14. Therefore, in this embodiment, the overhead of the read operation by the processor 12 and the matched address signal in the write buffer 110 is greatly reduced. As can be appreciated from the above description, the improved write buffer disclosed herein significantly reduces the overhead with the write buffer when the processor attempts to read data from main memory. That is, as long as matching addresses are accumulated in the write buffer, the write buffer is flushed and the read operation of the processor 12 is temporarily put in a standby state. Further according to this embodiment, the overhead is reduced to a single cycle of flushing a single matching address and its associated data.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユーン、ジョー アメリカ合衆国、カリフォルニア州 94080、サウス・サンフランシスコ、クロ フトン・ウエイ 3867 (72)発明者 ステアーンス、チャールス アメリカ合衆国、カリフォルニア州 95125、サン・ホセ、ランス フォード・ アベニュー 2515────────────────────────────────────────────────── ─── Continuation of front page    (72) Inventor Yune, Joe             California, United States             94080, South San Francisco, Black             Futon Way 3867 (72) Inventor Stearns, Charles             California, United States             95125, San Jose, Lance Ford             Avenue 2515

Claims (1)

【特許請求の範囲】 1. プロセッサ手段からの関連するデータを各々有する複数のアドレス信号 を受けかつメモリ手段に供給する書込みバッファであって、前記複数のアドレス 信号の1つは前記メモリ手段へのアドレスとしてアドレスバスを介して前記メモ リ手段に供給され、その関連するデータ信号は前記メモリ手段の、前記アドレス 信号によって指定されるアドレスに格納されるデータとしてデータバスを介して 前記メモリ手段に供給され、 各々前記アドレス信号の1つを格納するための複数のアドレスストレージ手段 と、 各々前記アドレス信号の1つに関連する前記データ信号の1つを格納する複数 のデータストレージ手段と、 各々前記アドレスストレージ手段の1つと関連し、関連するアドレスストレー ジ手段からのアドレス信号を受け、このアドレス信号と前記プロセッサ手段から の読出しアドレス信号とを比較し、比較結果に応じた比較信号を出力する複数比 較手段と、 前記メモリ手段への前記読出しアドレス信号の供給を制御するための前記アド レスバスにおけるゲート手段と、 前記複数の比較手段の各々からの比較信号を受けて前記ゲート手段を制御し前 記複数のアドレスストレージ手段の1つに格納されたアドレス信号が前記読出し アドレス信号と一致する場合のみ前記メモリ手段への前記読出しアドレス信号の 供給を阻止するための制御手段と を具備して成ることを特徴とする書込みバッファ。 2. 前記制御手段は、前記複数のアドレスストレージ手段に格納されていて 前記読出しアドレス信号と一致するアドレス信号を選択する手段を具備している ことを特徴とする請求項1に記載の書込みバッファ。 3. 前記複数のアドレスストレージ手段は前記メモリ手段に順次アドレス信 号を供給するように配列されていることを特徴とする請求項1に記載の書込みバ ッファ。 4. 前記制御手段は、前記複数の比較手段の各々からの比較信号を受けて第 1の出力信号を出力するオアゲート手段と、前記第1の出力信号および読出しあ るいは書込み動作を示す信号を受けて前記ゲート手段を制御するための制御信号 を出力するアンドゲート手段とを具備していることを特徴とする請求項3に記載 の書込みバッファ。[Claims]   1. A plurality of address signals each having associated data from the processor means A write buffer for receiving and supplying to the memory means the plurality of addresses One of the signals is the address on the memory bus as an address to the memory means. To the address of the memory means. Via the data bus as data stored at the address specified by the signal Supplied to said memory means,   A plurality of address storage means for each storing one of said address signals When,   A plurality of storing one of said data signals, each associated with one of said address signals Data storage means of   An associated address storage, each associated with one of the address storage means Receiving an address signal from the processor means and the address signal and the processor means. A multiple ratio that compares the read address signal of and outputs the comparison signal according to the comparison result. Comparison means,   The add for controlling the supply of the read address signal to the memory means Gate means in Lesbus,   Receiving a comparison signal from each of the plurality of comparison means to control the gate means; The address signal stored in one of the plurality of address storage means is read out. Of the read address signal to the memory means only when it matches the address signal. Control means to prevent supply   A write buffer comprising:   2. The control means is stored in the plurality of address storage means. And a means for selecting an address signal that matches the read address signal. The write buffer according to claim 1, characterized in that:   3. The plurality of address storage means sequentially address the memory means. The write bar of claim 1, wherein the write bar is arranged to supply a signal. Tiffa.   4. The control means receives a comparison signal from each of the plurality of comparison means, OR gate means for outputting the first output signal and the first output signal and the read-out signal. Or a control signal for controlling the gate means in response to a signal indicating a write operation 4. An AND gate means for outputting is output. Write buffer.
JP7504122A 1993-07-07 1994-07-06 Memory buffer with selective flash function Pending JPH09505679A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8812793A 1993-07-07 1993-07-07
US08/088,127 1993-07-07
PCT/US1994/007543 WO1995002248A1 (en) 1993-07-07 1994-07-06 Memory buffer having selective flush capability

Publications (1)

Publication Number Publication Date
JPH09505679A true JPH09505679A (en) 1997-06-03

Family

ID=22209508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7504122A Pending JPH09505679A (en) 1993-07-07 1994-07-06 Memory buffer with selective flash function

Country Status (3)

Country Link
US (1) US5418755A (en)
JP (1) JPH09505679A (en)
WO (1) WO1995002248A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046272A1 (en) * 2004-10-06 2006-05-04 Mitsubishi Denki Kabushiki Kaisha Memory access device
JP5536658B2 (en) * 2008-09-25 2014-07-02 パナソニック株式会社 Buffer memory device, memory system, and data transfer method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696938A (en) * 1994-08-31 1997-12-09 Vlsi Technology, Inc. Computer system permitting mulitple write buffer read-arounds and method therefor
KR100287188B1 (en) * 1999-04-06 2001-04-16 윤종용 Semiconductor memory device capable of data processing speed and efficiency of data pin and read-write control method thereof
JP4078010B2 (en) * 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ Magnetic disk apparatus and information recording method
TWI341466B (en) * 2007-07-30 2011-05-01 Via Tech Inc Bridges and the related flush request control circuits and methods for flushing data
TW201015579A (en) * 2008-09-18 2010-04-16 Panasonic Corp Buffer memory device, memory system, and data readout method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179679A (en) * 1989-04-07 1993-01-12 Shoemaker Kenneth D Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
EP0491697B1 (en) * 1989-09-11 1997-10-29 Wang Laboratories, Inc. Apparatus and method for maintaining cache/main memory consistency

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046272A1 (en) * 2004-10-06 2006-05-04 Mitsubishi Denki Kabushiki Kaisha Memory access device
JP5536658B2 (en) * 2008-09-25 2014-07-02 パナソニック株式会社 Buffer memory device, memory system, and data transfer method

Also Published As

Publication number Publication date
WO1995002248A1 (en) 1995-01-19
US5418755A (en) 1995-05-23

Similar Documents

Publication Publication Date Title
US5454093A (en) Buffer bypass for quick data access
JP2714944B2 (en) Semiconductor storage device
US6836816B2 (en) Flash memory low-latency cache
US6195106B1 (en) Graphics system with multiported pixel buffers for accelerated pixel processing
US6591354B1 (en) Separate byte control on fully synchronous pipelined SRAM
US6112267A (en) Hierarchical ring buffers for buffering data between processor and I/O device permitting data writes by processor and data reads by I/O device simultaneously directed at different buffers at different levels
US6728823B1 (en) Cache connection with bypassing feature
US5423016A (en) Block buffer for instruction/operand caches
EP0636987A2 (en) Functional pipelined cache memory
EP1238339B1 (en) Interface for a memory unit
JPS6120156A (en) Memory chip
US4779234A (en) First-in-first-out memory capable of simultaneous readings and writing operations
JPH09505679A (en) Memory buffer with selective flash function
US6360307B1 (en) Circuit architecture and method of writing data to a memory
US6240487B1 (en) Integrated cache buffers
US5253358A (en) Cache memory expansion and transparent interconnection
US6253298B1 (en) Synchronous SRAM having pipelined enable
JP2716350B2 (en) Electronic data storage system
US20020166028A1 (en) Memory interface protocol using two addressing modes and method of operation
US6675256B1 (en) Fast DRAM control method and adapted controller
JPH07175713A (en) Multi-port semiconductor storage
JPH06342400A (en) Control method of address of processor memory
US5835418A (en) Input/output buffer memory circuit capable of minimizing data transfer required in input and output buffering operations
JP3776295B2 (en) Serial access memory and data write / read method
EP1607869A1 (en) Data cache system