JPH09505679A - 選択フラッシュ機能を具備するメモリーバッファ - Google Patents

選択フラッシュ機能を具備するメモリーバッファ

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
English (en)
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/ja
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)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 選択フラッシュを具備する書込みバッファ10が開示された。書込みバッファ10は、アドレスバッファ50と関連したデータバッファ52と比較器54とを具備する。“スネークリード”動作の間は、読み出し動作のアドレスと各々のアドレスバッファ52に保持されているアドレス信号とが比較される。これらが一致した場合には、一致したアドレスが書き込みバッファに保持されている間だけ、読み出し動作が一時的に待機される。さらなる改良では、一致したアドレスとデータ信号とが書き込みバッファ10から書き出される前に、各々の一致に対して1つの書き込み動作まで、各々の一致に付随するオーバーヘッド(待機)を縮小することが可能となる。

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の読出し動作は 一時的に待機状態とされる。さらにこの実施例によれば、上記オーバーヘッドは 、単一の一致アドレスおよびその関連するデータをフラッシュする一回のサイク ルにまで減少する。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユーン、ジョー アメリカ合衆国、カリフォルニア州 94080、サウス・サンフランシスコ、クロ フトン・ウエイ 3867 (72)発明者 ステアーンス、チャールス アメリカ合衆国、カリフォルニア州 95125、サン・ホセ、ランス フォード・ アベニュー 2515

Claims (1)

  1. 【特許請求の範囲】 1. プロセッサ手段からの関連するデータを各々有する複数のアドレス信号 を受けかつメモリ手段に供給する書込みバッファであって、前記複数のアドレス 信号の1つは前記メモリ手段へのアドレスとしてアドレスバスを介して前記メモ リ手段に供給され、その関連するデータ信号は前記メモリ手段の、前記アドレス 信号によって指定されるアドレスに格納されるデータとしてデータバスを介して 前記メモリ手段に供給され、 各々前記アドレス信号の1つを格納するための複数のアドレスストレージ手段 と、 各々前記アドレス信号の1つに関連する前記データ信号の1つを格納する複数 のデータストレージ手段と、 各々前記アドレスストレージ手段の1つと関連し、関連するアドレスストレー ジ手段からのアドレス信号を受け、このアドレス信号と前記プロセッサ手段から の読出しアドレス信号とを比較し、比較結果に応じた比較信号を出力する複数比 較手段と、 前記メモリ手段への前記読出しアドレス信号の供給を制御するための前記アド レスバスにおけるゲート手段と、 前記複数の比較手段の各々からの比較信号を受けて前記ゲート手段を制御し前 記複数のアドレスストレージ手段の1つに格納されたアドレス信号が前記読出し アドレス信号と一致する場合のみ前記メモリ手段への前記読出しアドレス信号の 供給を阻止するための制御手段と を具備して成ることを特徴とする書込みバッファ。 2. 前記制御手段は、前記複数のアドレスストレージ手段に格納されていて 前記読出しアドレス信号と一致するアドレス信号を選択する手段を具備している ことを特徴とする請求項1に記載の書込みバッファ。 3. 前記複数のアドレスストレージ手段は前記メモリ手段に順次アドレス信 号を供給するように配列されていることを特徴とする請求項1に記載の書込みバ ッファ。 4. 前記制御手段は、前記複数の比較手段の各々からの比較信号を受けて第 1の出力信号を出力するオアゲート手段と、前記第1の出力信号および読出しあ るいは書込み動作を示す信号を受けて前記ゲート手段を制御するための制御信号 を出力するアンドゲート手段とを具備していることを特徴とする請求項3に記載 の書込みバッファ。
JP7504122A 1993-07-07 1994-07-06 選択フラッシュ機能を具備するメモリーバッファ Pending JPH09505679A (ja)

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 (ja) 1997-06-03

Family

ID=22209508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7504122A Pending JPH09505679A (ja) 1993-07-07 1994-07-06 選択フラッシュ機能を具備するメモリーバッファ

Country Status (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046272A1 (ja) * 2004-10-06 2006-05-04 Mitsubishi Denki Kabushiki Kaisha メモリアクセス装置
JP5536658B2 (ja) * 2008-09-25 2014-07-02 パナソニック株式会社 バッファメモリ装置、メモリシステム及びデータ転送方法

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 (ko) * 1999-04-06 2001-04-16 윤종용 데이터 처리속도 및 데이터 입출력핀의 효율을 향상시킬 수 있는 반도체 메모리장치 및 이의 독출기입 제어방법
JP4078010B2 (ja) 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
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 (ja) * 2004-10-06 2006-05-04 Mitsubishi Denki Kabushiki Kaisha メモリアクセス装置
JP5536658B2 (ja) * 2008-09-25 2014-07-02 パナソニック株式会社 バッファメモリ装置、メモリシステム及びデータ転送方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US5454093A (en) Buffer bypass for quick data access
JP2714944B2 (ja) 半導体記憶装置
US6836816B2 (en) Flash memory low-latency cache
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 (ja) メモリ・チツプ
US4779234A (en) First-in-first-out memory capable of simultaneous readings and writing operations
JPH09505679A (ja) 選択フラッシュ機能を具備するメモリーバッファ
US6360307B1 (en) Circuit architecture and method of writing data to a memory
US5253358A (en) Cache memory expansion and transparent interconnection
US6253298B1 (en) Synchronous SRAM having pipelined enable
JP2716350B2 (ja) 電子データ記憶システム
US20020166028A1 (en) Memory interface protocol using two addressing modes and method of operation
US6675256B1 (en) Fast DRAM control method and adapted controller
JPH07175713A (ja) マルチポート半導体記憶装置
JPH06342400A (ja) プロセッサ・メモリのアドレス制御方法
US5732011A (en) Digital system having high speed buffering
US5835418A (en) Input/output buffer memory circuit capable of minimizing data transfer required in input and output buffering operations
EP1607869A1 (en) Data cache system
US6076150A (en) Cache controller with improved instruction and data forwarding during refill operation
US5860102A (en) Cache memory circuit
JP3520570B2 (ja) メモリアクセス制御装置