JP2001147854A - 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法 - Google Patents

処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法

Info

Publication number
JP2001147854A
JP2001147854A JP2000276522A JP2000276522A JP2001147854A JP 2001147854 A JP2001147854 A JP 2001147854A JP 2000276522 A JP2000276522 A JP 2000276522A JP 2000276522 A JP2000276522 A JP 2000276522A JP 2001147854 A JP2001147854 A JP 2001147854A
Authority
JP
Japan
Prior art keywords
data
buffer unit
address
write buffer
write
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
JP2000276522A
Other languages
English (en)
Inventor
Shinichi Yoshioka
ヨシオカ・シンイチ
Wan Shuanwen
シュアンウェン・ワン
Chopra Rajesh
ラジェシュ・チョプラ
Tsuon Junwen
ジュンウェン・ツォン
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2001147854A publication Critical patent/JP2001147854A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/0877Cache access modes
    • G06F12/0879Burst mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 メモリにおけるバーストモードを更によく利
用するための技術及びハードウェアが望まれている。 【解決手段】 書き込み動作をバッファに保留する方法
及び装置が開示されている。1つの実施の態様では、処
理システム100がデータをバスへバーストする。処理
システム100はメモリキャッシュ、書き込みバッファ
ユニット、及び、制御ユニットを含む。メモリキャッシ
ュはアドレス及びデータを生成する。書き込みバッファ
ユニット内では、メモリキャッシュに結合された複数の
データ場所が含まれる。制御ユニットは第1データを、
複数のデータ場所のうちどれかに向ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にメモリの書き
込みに関し、更に詳細には、メモリへのバースト書き込
みを可能にする装置(バースト機能を有する書き込みバ
ッファ)及び方法に関する。
【0002】
【従来の技術】コンピュータシステムの性能は著しくメ
モリアーキテクチャに依存する。増大し続ける周波数で
クロックされたプロセッサは、当該プロセッサにとって
外部のダイナミックランダムアクセスメモリ(DRA
M)へデータをパスする(送る)時に、ボトルネック
(隘路)に悩まされている。今日、マイクロプロセッサ
は1ギガヘルツ(GHz)以上の周波数においてクロッ
クされているが、DRAMメモリは通常200メガヘル
ツ(MHz)以下の周波数においてクロックされる。メ
モリは、一層高速の周波数において作動するように今な
お発展し続けているが、メモリは依然としてマイクロプ
ロセッサの周波数に遅れをとっている。
【0003】外部メモリはプロセッサの周波数よりも遥
かに低い周波数において動作するので、プロセッサは、
時折、新規命令を出す(イシュウする)前に、書き込み
動作の完了を待たねばならない。例えば、もしプロセッ
サが1GHzの周波数で作動し、メモリが200MHz
で実行したならば、各1メモリサイクル用のプロセッサ
によって5回の書き込み動作が提供可能となるので、外
部メモリへの多くの書き込みがプロセッサをストール
(停動)できる。当該技術分野における当業者が認める
ように、プロセッサをストールすることは望ましくな
い。
【0004】メモリは離散型データパケットの形で書き
込まれる。各データパケットは当該データパケット用の
アドレスによって先行される。メモリへの各書き込みに
関して、各データパケットを書き込むために、多数のプ
ロセッサクロックサイクルが必要である。例えば、デー
タの4ワードを書き込むために、シーケンスはメモリバ
スに次のものを書き込むことを含む:第1アドレス、第
1ワード、第2アドレス、第2ワード、第3アドレス、
第3ワード、第4アドレス、第4ワード。アドレスサイ
クルは3つのプロセッサクロックサイクルを取ることが
できるが、データサイクルは1つのサイクルしか取るこ
とができない。上述の4ワードを転送することは合計1
6クロックサイクルを取る。
【0005】メモリ帯域幅を増大するために、異なる種
類のメモリが開発されている。これらの変形はページモ
ードDRAM、同期DRAM、及び、ダブルデータレー
トDRAMを含む。これらの新規なメモリ変形は、メモ
リへのデータ帯域幅を増大する方法において、メモリ変
形へデータをバーストすることを許容する。バーストす
ることは、メモリにアドレスを一回書き込み、多くのデ
ータパケットと一緒にアドレスに従うことを含む。例え
ば、データにおける4ワードのブロックを書き込むため
に、シーケンスは、メモリバスの後任としての4ワード
によって後続されるシングル(単一)アドレスを書き込
むことを含む。この方法は、4ワードのブロックが単一
アドレスに関係されることを、例えば、4ワードが隣接
するメモリ場所に存在することを推定する。前節に述べ
た非バーストの例と同じタイミングを用いると、4ワー
ドは7クロックサイクル内で転送される。
【0006】
【発明が解決しようとする課題】バーストすることはメ
モリへの帯域幅を向上するが、処理システムはこの特徴
を十分に利用していない。メモリへの書き込みの大部分
は単一(シングル)ワードである。これらの単一ワード
は、メモリ内でのバーストした特徴を利用できない。従
って、メモリにおけるバーストモードを更によく利用す
るための技術及びハードウェアが望まれている。
【0007】
【課題を解決するための手段】本発明によれば、書き込
み動作をバッファに保留する(バッファリングする)装
置及び方法が開示される。一つの態様では、データをバ
スへバーストする処理システムが開示される。処理シス
テムはメモリキャッシュ、書き込みバッファユニット、
及び、制御ユニットを含む。メモリキャッシュはアドレ
ス及びデータを生成する。書き込みバッファユニット内
には、メモリキャッシュに接続された複数のデータ場所
が含まれる。制御ユニットは、第1データを複数のデー
タ場所のうちどれかに向ける。
【0008】別の態様において、書き込みバッファ内で
の記憶を最適化する方法が開示される。第1データ及び
第1アドレスが受け取られる。第1データは書き込みバ
ッファユニット内に格納される。第2データ及び第2ア
ドレスもまた受け取られる。第2アドレス及び第1アド
レスが同一データブロックに対応するか否かの決定が行
われる。第2データが書き込みバッファユニット内に格
納される。
【0009】更に別の態様において、書き込みバッファ
ユニット内のデータを格納し、それらのデータをバスに
分配する方法が開示される。第1のステップにおいて、
複数のデータと、それらにそれぞれ関連される複数のア
ドレスとが受け取られる。複数のデータが、それらにそ
れぞれ関連される複数のアドレスに従って書き込みバッ
ファユニット内に配列される。ブロックアドレスに関連
されるデータブロックが、バスにバーストされる。
【0010】
【発明の実施の形態】処理システムのストールを防止
し、メモリへの書き込み用のバーストモードを充分に利
用するために、本発明は新規な書き込みバッファを含
む。このバッファは、多重エントリを有し、メモリにバ
ースト可能なデータの大型ブロックを形成するために、
異なる書き込み動作を一緒に結合しようとする。バース
トモードを一層充分に利用することにより、メモリへの
実行帯域幅が増大する。その上、多くの書き込み動作が
終了するのを待っている間に、処理システムがストール
するチャンス(機会)を減らす書き込みバッファは、多
くの書き込み動作を記憶する。
【0011】図において、類似の構成要素、及び/又
は、機能が同じ参照ラベルを備えるものとする。その
上、同じタイプの様々な構成要素は、ダッシュ記号
(−)による参照ラベルと、類似構成要素の間で識別す
る第2ラベルとに従って識別されるだろう。もし第1参
照ラベルだけが用いられたならば、その記載は、同じ第
1参照ラベルを有する幾つかの類似構成要素のうち任意
の1つに適用できる。
【0012】図1を参照すると、処理システム100の
実施の形態は、バスインタフェースユニット140内の
書き込みバッファを組み込み、ブロック図の形式で示さ
れる。システム100内には、オフチップバス112を
介して外部メモリ108と連絡する処理チップ104が
含まれる。処理チップ104は、オンチップバス128
を介して外部メモリインタフェース120と周辺装置1
24とに連絡する中央処理装置(CPU)コア116を
有する。CPUコア116内には、CPU132、メモ
リキャッシュサブシステム136、及び、バスインタフ
ェースユニット140がある。
【0013】一実施の形態において、外部メモリ108
はSDRAMである。外部メモリ108は、メモリキャ
ッシュサブシステム136内の任意の同期ランダムアク
セスメモリ(SRAM)よりも遥かに大きい容量を有す
る。SDRAMは100MHzの周波数で作動するが、
SRAM及びCPU132は400MHzの周波数で作
動する。キャッシュのデータアクセスは1CPUクロッ
クサイクルを取るが、外部メモリ108のデータアクセ
スは少なくとも4CPUクロックサイクルを取る。他の
実施の形態においては、バーストモードをサポートする
任意のタイプのメモリが使用可能である。その上、CP
Uコア116及び外部メモリ108はプログラム可能な
様々な周波数で作動可能である。
【0014】CPU132内のロード/ストアユニット
(LSU)は、コード(符号)化実行の間に出くわすよ
うに、読み取り動作と書き込み動作とを行わせる(イシ
ュウする)。全ての書き込み動作はCPU132から、
メモリキャッシュ内の可能(possible)記憶用のメモリ
キャッシュサブシステム136へ送られる。全ての命令
がLSUによって書き込み動作を行わせるとはかぎらな
い。その上、キャッシュメモリへの全ての書き込みが、
外部メモリ108への書き込みを生じさせるわけではな
い。これが意味していることは、バスインタフェースユ
ニット140が、CPUコア116とオフチップバス1
12との間で4対1の周波数比のため、可能である全て
のオフチップバスサイクル用に4つのメモリ書き込み動
作のうちの最大を通常受け取らないことである。
【0015】処理システム100における種々の構成要
素は、CPUコア116のメモリマップ内に含まれる。
メモリマップは、単に、1つのアドレスと、1つのデー
タポート又はメモリ場所との間での相互関係である。外
部メモリ108は当該メモリマップの一部であるが、例
えば周辺装置124のような他の構成要素も当該メモリ
マップの一部である。データポートは、例えば周辺装置
124又は外部メモリ120のような異なるサブシステ
ム内に存在する。アドレスはデータをこれらのポートに
向ける。
【0016】キャッシュサブシステム136はキャッシ
ュメモリと、他の関連回路とを含む。好ましくは、キャ
ッシュが、ライトバック及びライトスルー方式の書き込
み動作をサポートする4ウエイ・セットアソシアティブ
キャッシュである。キャッシュは、4セット内で分配さ
れた32キロバイトデータを格納する。しかしながら、
他の実施の形態はキャッシュを異なって構成することも
あり得る。
【0017】メモリキャッシュサブシステム136から
外部メモリ108へのアクセスは、幾つかのステップを
取る。バスインタフェースユニット140はキャッシュ
サブシステム136とオンチップバス128との間で結
びつく。この実施の形態において、オンチップバス12
8は200MHzで作動するが、CPUコア116は4
00MHzで作動する。これら2つの周波数間における
データのブリッジング(架け渡し)はバスインタフェー
スユニット140である。外部メモリインタフェース1
20は、100MHzで実行するオフチップバス112
に、オンチップバス128を結び付ける。これら2つの
バス112,128は異なる周波数で作動するので、外
部メモリインタフェースはこれらの周波数の間でコンバ
ートする。他の実施の形態においては、CPUコア11
6とオンチップバス128との周波数は異なることがあ
り得る。
【0018】以下、更に詳細に検討すると、バスインタ
フェースユニット140は、書き込みバッファと他の回
路とを含む。他の回路は、書き込み動作を待機させて結
合することがバースト書き込み動作の創作を可能とす
る。書き込みバッファは外部メモリの書き込み動作を待
機させ、バースト書き込みを形成するためにシングル
(単一)書き込みを一緒に連結しようとする。64ビッ
トワード又は32バイトブロックが、外部メモリ108
へ書き込むために、メモリキャッシュサブシステムから
受け取られる。ワードは、関連したマスクバイトを使用
することにより、有効データで部分的に満たされ得る。
【0019】外部メモリ108に行くデータは、バスイ
ンタフェースユニット140によって、3つのうち1つ
の方法でオンチップバス128へ書き込まれる。この実
施の形態において、オンチップバスは、ある制御ビット
に沿ってデータラインの64ビットと、アドレスライン
の32ビットとを有する。メモリへの単一(シングル)
書き込みは、3CPUクロックサイクル用のアドレスバ
スライン上にアドレスと、1CPUクロックサイクル用
のデータバスライン上にデータとを置くことによって実
行される。バースト書き込みは、単一アドレスに関係さ
れる2ワード又は4ワードのいずれかで実行可能にされ
得る。2ワードバースト動作は、連続した2ワードに後
続される単一アドレスに転送し、4ワードバーストは、
連続した4ワードに後続される単一アドレスに転送す
る。メモリの構成に応じて、ワードは隣接し、又は、あ
る整数倍の間隔で配置される。
【0020】メモリのコヒーレンス(首尾一貫性)を維
持するために、バスインタフェースユニット140内に
は、幾つかの予防対策が講じられる。バスインタフェー
スユニット140は、メモリキャッシュサブシステム1
36と、最終的にはCPU132とのために意図した外
部メモリ108からデータを検索する読み出し動作を知
らせられる。読み出し動作がリクエストされ、書き込み
バッファ内のエントリと同じアドレスを有する時に、当
該エントリは外部メモリ120にドレインされる。その
上、スヌープが適用された時に、バスインタフェースユ
ニット140が通知されるので、ある記憶された書き込
み動作が、スヌープに依存し、メモリのコヒーレンスを
維持するためにドレインされ得る。
【0021】多数の周辺装置124はオンチップバス1
28に接続される。これらの周辺装置124は、例えば
直列インタフェース、ウォッチドッグタイマー、又は、
ダイレクトメモリインタフェースのように、処理システ
ム100に対して様々な機能を実行する。周辺装置12
4は、一連の入力/出力ポートを介して、CPUコア1
16のアドレス空間にマップされる。場合によっては、
周辺装置124は、バス112,128を支配可能であ
り、CPU132を通過せずにメモリマップされたアド
レス空間にアクセス可能である。未決定のダーティ書き
込み動作が、メモリのコヒーレンス問題を作り出すキャ
ッシュ又は書き込みバッファのどちらに存在するかを決
定するために、周辺装置124がメモリにアクセスする
前に、スヌーピングと呼ばれる処理が実行される。
【0022】次に図2を参照すると、バスインタフェー
スユニット140の部分におけるブロック図が示され
る。図2は、制御ユニット204、書き込みバッファユ
ニット208、マルチプレクサ回路212、及び、比較
回路216を含む。書き込みバッファユニット208
は、メモリ内での後の記憶のために、いくらかの書き込
み動作をバッファに保留し、いくらかの書き込み動作を
一つのバースト書き込み動作に変えるために単一書き込
み動作を結合して一体にする。
【0023】制御ユニット204は、バスインタフェー
スユニット140の動作を管理する多数の状態機械(ス
テートマシン)を含む。書き込み動作をバッファに保留
し、単一書き込みをバースト書き込みに分類するため
に、データの受け取り、記憶、及び書き込みが制御ユニ
ット204によって管理される。また、制御ユニット2
04は、読み出し動作アドレス及びスヌープリクエスト
アドレスを監視し、必要に応じて書き込みバッファユニ
ット208内にエントリを退去させることによって、メ
モリのコヒーレンス問題を防止する。
【0024】とりわけ、マルチプレクサ回路212及び
比較回路216は、潜在的なメモリのコヒーレンス問題
を検出するために用いられる。同じアドレスに対して待
機中の書き込み動作が、書き込みバッファユニット20
8から退去される前に、もし読み出し動作がメモリ10
8から読み出すのを許されたならば、読み出し動作はメ
モリ108から古い情報を戻すことができる。同様に、
メモリ108内のアドレスを読み出すために、周辺装置
124がバス128を支配しようとする前に、スヌープ
リクエストが実行される。スヌープリクエストは、キャ
ッシュ又は書き込みバッファユニット208のどちらか
が未決定のダーティ書き込み動作を持っているかを決定
する。アドレスを比較するために、マルチプレクサ回路
212は比較回路216用の適切な入力を選択する。比
較回路216は、読み出し及びスヌープ動作のアドレス
と、書き込みバッファユニット208内における全ての
エントリのアドレスとを比較して潜在的なコヒーレンス
問題を検出する。制御ユニット204が書き込みバッフ
ァユニット208内の適切なエントリをメモリ108に
戻すことができるように、比較回路216がマッチ(調
和)を生成した時、制御回路204が通知される。退去
処理の間、CPU132又は周辺装置124からの未決
定読み出し動作の実行が休止される。
【0025】唯一の表を参照すると、異なった方法でバ
スインタフェースユニット140によって処理された様
々な書き込み動作が存在する。第1区別はバッファラブ
ル(バッファに保留可能):ノンバッファラブル(バッ
ファに保留不可能)である。インカム(今度の)書き込
み動作がノンバッファラブルの時、メモリキャッシュサ
ブシステム136が制御ユニット204に通知する。制
御ユニット204は、バッファに保留せずに、ノンバッ
ファラブルな書き込み動作をオンチップバスに知らせ
る。ノンバッファラブルな書き込み動作は単一ワード書
き込み、又は、部分的ワード書き込みのどちらかであ
り、バッファによる遅延なしにハードウェアポートへの
一般的な書き込みである。
【0026】バッファラブルな書き込みは、3つのカテ
ゴリ、即ち、ノンキャッシャラブル(キャッシュ不可能
な)書き込み動作、ライトバック方式動作、及び、ライ
トスルー方式動作である。ノンキャッシャラブルとして
表示されたアドレスレンジは、記憶用の外部メモリ10
8にキャッシュせずに、キャッシュサブシステム136
を通過する。ノンキャッシャラブルな書き込み動作は、
1回で一つの単一ワードを外部メモリ108に書き込
む。ノンキャッシャラブルな書き込み動作が、1つのワ
ードだけを持つので、多重書き込みをバースト書き込み
動作に組み合わせる処理から利益を得る。データの大き
いボリュームが、最大キャッシュメモリを除いて全て迅
速に圧倒するので、例えばグラフィックスデータのよう
なデータは、ノンキャッシャラブルと一般的に呼ばれ
る。
【0027】アドレスレンジは、ソフトウェアによって
ライトバック又はライトスルー方式と呼ばれ得る。ライ
トスルー方式モードにおいて、キャッシュへの全ての書
き込み動作は、外部メモリ108への単一ワード書き込
み動作に帰着する。これとは対照的に、ライトバック方
式モードは、キャッシュミスによってダーティなキャッ
シュブロックが立ち退かせされた時に、外部メモリ10
8にだけ書き込む。ライトバック方式モードにおいて、
キャッシュを避けた書き込み動作によって、当該キャッ
シュ内のダーティなブロックが外部メモリ108にライ
トバック(書き戻)される。ダーティなブロックはデー
タの32バイトを有し、連続した4ワードのバースト書
き込み動作として外部メモリ108に1度に書き込まれ
る。
【0028】
【表1】 ライトスルー方式動作は、バースト書き込み動作を生成
した組合せ処理から利益を得ることができる。しかしな
がら、ソフトウェアは、ライトスルー方式動作が外部メ
モリ108に直ぐに達すると、しばしば仮定する。時間
的に長い期間の間に書き込みバッファユニット208内
の記憶は、メモリのコヒーレンス問題を起こす。その理
由は、ライトスルー方式と呼ばれたメモリエリアがかな
り最新の情報を含んでいることを、周辺装置、及び/又
は、他のプロセッサが一般に仮定しているからである。
従って、ある実施の形態において、オンチップバスが自
由に書き込みを受け入れできるまで、ライトスルー方式
動作が書き込みバッファユニット208内に記憶される
だけである。しかしながら、他の実施の形態は、満杯
(フル状態)の書き込みバッファユニット208によっ
て押し出されるまで、ライトスルー方式動作を保持でき
る。
【0029】図3を参照すると、書き込みバッファユニ
ット208の構成を概略的に示す図が示されている。こ
の実施の形態は4つのエントリ320を有する。各エン
トリ320は、ブロックアドレス312、データブロッ
ク324、バイトマスク328、書き込みタイプフィー
ルド332、及び、有効ビット336を含む。
【0030】単一ワード書き込み動作はエントリ320
に書き込まれ、バイトマスクビット304は、ブロック
324内でどのバイト308がデータを含むかを反映す
るように更新される。場合によっては、単一ワード書き
込み内における或特定のバイトのみが有効であるかもし
れない。例えば、ワードは有効なデータにおけるたった
一つのバイトを持ち得るだけである。書き込み動作と共
に送られるマスクバイトは、バイトマスク328内の適
切なビット304を設定するために用いられる。
【0031】データは、ワード、即ち部分的ワード又は
ブロックのインクリメント内での書き込みバッファユニ
ット208内に置かれる。エントリ320が任意のデー
タを含むとき、有効ビット336は活性化(アクティベ
イト)される。逆に、エントリ320が外部メモリ10
8に退去される時、有効ビット336は非活性化され
る。
【0032】書き込みタイプフィールド332はデータ
のソースに関する情報を提供する。データがエントリに
書き込まれ、書き込みがノンキャッシャラブルな書き込
み動作、ライトバック方式動作、又は、ライトスルー方
式動作のいずれであるかを反映した時に、この情報が受
け取られる。ある実施の形態において、書き込みタイプ
フィールド332は、バッファ内におけるエントリ32
0のドレインを最適化するために用いられる。
【0033】次に図4を参照すると、バスインタフェー
スユニット140によって情報を処理する方法を示す流
れ(フロー)図が描かれている。この実施の形態は、バ
ッファが満杯になった時、書き込みバッファユニット2
08から最も古いエントリ320を退去させる。
【0034】処理はステップ404で開始する。そこで
は、書き込み動作がメモリキャッシュサブシステム13
6から受け取られる。ステップ408において、制御ユ
ニット204は、書き込み動作がバッファラブルである
か否かを決定する。ノンバッファラブルな書き込み動作
は、ステップ416における制御ユニット204によっ
て外部メモリ108に書き込まれる。これらのノンバッ
ファラブルな書き込み動作は1ワード又は部分的ワード
の長さであっても差し支えない。
【0035】もし書き込み動作がバッファラブルであれ
ば、処理はステップ420まで継続する。受け取られた
書き込み動作のアドレスが、書き込みバッファ208内
における任意のエントリ320のアドレス312とマッ
チ(一致)するか否かに関して、更なる決定がステップ
420において行われる。マルチプレクサ回路212
は、この決定を行うために、比較回路216への入力用
の書き込み動作アドレスを選択する。もし書き込み動作
にぴったり合うブロック324を有する既存のエントリ
320が存在するならば、書き込み動作からのデータが
ステップ444内の当該エントリ320に書き込まれ
る。バイトマスク328は、新規データを表すために、
当該エントリ320に対して更新される。
【0036】もし書き込みバッファユニット208内で
書き込み動作にぴったり合う既存のエントリ320が存
在しないならば、処理はステップ424まで継続する。
ステップ424において、書き込みバッファユニット2
08が満杯であるか否かを決定するための更に別の決定
が行われる。満杯状態のバッファユニット208は、ス
テップ428内で外部メモリ108に最も古いエントリ
320を退去させる。ひとたび書き込みバッファユニッ
ト208内に余裕があるならば、ステップ432におい
て新規エントリ320が作られる。ステップ436にお
いて、書き込み動作からのデータはエントリ320に書
き込まれる。ブロックアドレス312、書き込みタイプ
フィールド332、及び、有効ビット336は全てエン
トリ320内に書き込まれる。ステップ440におい
て、バイトマスク328は、どのバイトがデータを含む
かを示すために更新される。このようにして、情報が書
き込みバッファユニット208に書き込まれる。
【0037】図5を参照すると、たとえ書き込みバッフ
ァユニット208が書き込み動作を遅らせたとしても、
どのようにコヒーレンスが維持されるのかを説明する流
れ(フロー)図が示される。処理はステップ504にお
いて開始する。そこでは、読み出しアドレス、又はスヌ
ープアドレスのいずれかが、書き込みバッファユニット
208内のアドレス312に対して比較される。この比
較を実行するために、読み出し動作、又はスヌープリク
エストのどれがその時点で未決定であるかが、マルチプ
レクサ回路212によって比較回路216に接続され
る。制御ユニット204は、比較回路216から出力を
受け取り、ステップ508内でマッチがあるか否かを決
定する。もしマッチがないならば、対策が講じられな
い。
【0038】しかしながら、もしマッチが読み出し動作
又はスヌープリクエストと、書き込みバッファユニット
208内のエントリ320との間で発見されたならば、
処理はステップ512、516、及び、520まで継続
する。ステップ512において、未決定の読み出し動作
又はスヌープリクエストがストール(停動)される。実
行におけるこの休止によって、書き込みバッファユニッ
ト208内でマッチするエントリ320を退去するため
の時間が提供される。ある実施の形態において、マッチ
したエントリ320が退去させられるまで、エントリ3
20が連続的に除去される。又は、マッチしたエントリ
320を選択する代りに、書き込みバッファユニット2
08の全体がフラッシュされる(埋め込まれる)。ステ
ップ520において、待機した書き込み動作が外部メモ
リ108に書き込まれた後で、読み出し動作又はスヌー
プリクエストの処理が継続する。
【0039】前述した説明の観点から、書き込みバッフ
ァのない処理システム上で本発明の多数の利点が容易に
明らかになる。メモリへのバスが使用中である時、幾つ
かの書き込み動作は書き込みバッファ内に記憶される。
これは、書き込みの完了を待つためにCPUを要求する
ストール(停止)を回避する。その上、バースト書き込
み方法を利用するのに十分なデータを集めるため、単一
書き込みが組合わされるから、更に高い帯域幅のバース
ト書き込み方法がもっと頻繁に用いられる。
【0040】発明における多数の変形及び変更も使用で
きる。しかしながら、前述の実施の形態におけるバス
は、個別のデータとアドレスラインとを持ち、他の実施
の形態は、ラインの数を減少させるために、バスを多重
通信化できる。前述の検討は、外部メモリへの書き込み
をバッファに保留することに関する。また、前述の検討
はオンチップメモリ、又は、入力/出力ポートに向けら
れた書き込みをバッファに保留することに相当する。
【0041】書き込みバッファユニットは、内部のエン
トリのアドレスに相当する読み出し動作又はスヌープリ
クエストように、上述された様々な理由のためにドレイ
ンされる。また、他の実施の形態において、書き込みバ
ッファは、書き込み動作がノンバッファラブルであり、
データ同期コマンドが検出され、又は、原子バス動作が
検出された時、ドレインされ得る。
【0042】前述の実施の形態は、書き込みバッファユ
ニットの各エントリ内に32バイトを格納し、ある時間
で2つ又は4つの64ビットワードをバーストする。他
の実施の形態は各エントリ内のデータバイトの個数を変
えことができる。その上、バーストのサイズは、パケッ
トが8ビット以上である場合に、2つ以上のデータパケ
ットであり得る。
【0043】図4における実施の形態において、書き込
みバッファユニット208は、満杯時に、エントリ32
0を退去させる。しかしながら、別の実施の形態では、
ドレインアルゴリズムを最適化できる。各エントリをど
のようにドレインするかを決定するために、制御ユニッ
ト204は書き込みタイプフィールド332を読み出
す。ノンキャッシャラブルな書き込み動作とライトバッ
ク方式の動作とは、書き込みバッファが満杯になるま
で、書き込みバッファユニット208内に保持される。
それに反して、ライトスルー方式動作は、バス112が
自由であればいつでも、書き込まれる。上述したよう
に、ソフトウェアは、ライトスルー方式の動作が遅滞な
く外部メモリ108に書き込まれると仮定する。従っ
て、ライトスルー方式動作をメモリ108へ早急に書き
込むことが望ましい。
【0044】図5における実施の形態において、読み出
し動作が、待機書き込み動作を外部メモリに書き込ませ
ることを生じさせる。書き込みの後で、当該データが読
み出し動作によって検索される。メモリへの不要な書き
込みと、メモリからの不要な読み出しとを除去するため
に、読み出し動作は書き込みバッファユニットから直接
的にデータを検索できる。
【0045】本発明に関する以上の記述は例示及び説明
のために与えられ、発明を限定しようとするものではな
い。関連技術の技能又は知識と共に、上記の説明と同等
の変更及び変形は、本発明の範囲内に含まれる。ここで
記載された実施の形態が更に意図しようとすることは、
発明を実現するのに知られたベストモード(最良形態)
を説明すること、及び、当該技術分野における当業者
が、発明における特定な応用又は使用によって要求され
る様々な変更と一緒に、そのようなベストモード又は他
の実施の形態で発明を利用できるようにすることであ
る。添付された特許請求の範囲は、従来技術によって許
容される程度において代替の実施の形態を含むように解
釈されることを意図している。
【0046】
【発明の効果】本発明によれば、処理システムのストー
ルを防止し、メモリへの書き込み用のバーストモードを
充分に利用するために、本発明は新規な書き込みバッフ
ァを含む。このバッファは、多重エントリを有し、メモ
リにバースト可能なデータの大型ブロックを形成するた
めに、異なる書き込み動作を一緒に結合しようとする。
バーストモードを一層充分に利用することにより、メモ
リへの実行帯域幅が増大する。その上、多くの書き込み
動作が終了するのを待っている間に、処理システムがス
トールするチャンス(機会)を減らす書き込みバッファ
は、多くの書き込み動作を記憶する。
【0047】また、メモリへのバスが使用中である時、
幾つかの書き込み動作は書き込みバッファ内に記憶され
る。これは、書き込みの完了を待つためにCPUを要求
するストール(停止)を回避する。その上、バースト書
き込み方法を利用するのに十分なデータを集めるため、
単一書き込みが組合わされるから、更に高い帯域幅のバ
ースト書き込み方法がもっと頻繁に用いられる。
【図面の簡単な説明】
【図1】書き込みバッフを組み込んだコンピュータアー
キテクチャの一実施の形態を示すブロック図である。
【図2】外部メモリインタフェースの部分における一実
施の形態を示すブロック図である。
【図3】多数の書き込み動作に関連されたデータを格納
する書き込みバッファユニットの一実施の形態を示すブ
ロック図である。
【図4】書き込み動作を受け取り、且つ格納する方法に
おける一実施の形態を示す流れ図である。
【図5】記憶のコヒーレンスを維持する方法における一
実施の形態を例示する流れ図である。
【符号の説明】
100 処理システム 104 処理チップ 108 外部メモリ 112 オフチップバス 116 中央処理装置(CPU)コア 120 外部メモリインタフェース 124 周辺装置 128 オンチップバス 132 中央処理装置(CPU) 136 メモリキャッシュサブシステム 140 バスインタフェースユニット 204 制御ユニット 208 書き込みバッファユニット 212 マルチプレクサ回路 216 比較回路 304 バイトマスク 308 バイト 312 ブロックアドレス 320 エントリ 324 データブロック 328 バイトマスク 332 書き込みタイプフィールド 336 有効ビット 404 ステップ 408 ステップ 416 ステップ 420 ステップ 424 ステップ 428 ステップ 432 ステップ 436 ステップ 440 ステップ 444 ステップ 504 ステップ 508 ステップ 512 ステップ 516 ステップ 520 ステップ
フロントページの続き (72)発明者 ラジェシュ・チョプラ アメリカ合衆国、カリフォルニア州 94086、サニーヴェイル、#F25、ゲイ ル・アベニュー 672 (72)発明者 ジュンウェン・ツォン アメリカ合衆国、カリフォルニア州 95124、サンノゼ、トゥポロ・ドライブ 1642

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 データをバスへバーストする処理システ
    ムであって、 前記処理システムが、アドレス及びデータを生成するメ
    モリキャッシュと、 該メモリキャッシュに接続された複数のデータ場所を有
    する書き込みバッファユニットと、 前記複数のデータ場所のうち幾つかに第1データを向け
    る制御ユニットとを備えたことを特徴とする処理システ
    ム。
  2. 【請求項2】 請求項1記載の処理システムであって、 前記制御ユニットがバースト動作を実行し、 該バースト動作が、1つの単一アドレスを前記バスと複
    数のデータワードとに書き込むことを有することを特徴
    とする処理システム。
  3. 【請求項3】 請求項1記載の処理システムであって、 前記制御ユニットが、第1及び第2アドレスのうち少な
    くとも1つを、前記書き込みバッファユニット内の複数
    のアドレス場所におけるどれか1つに向けることを特徴
    とする処理システム。
  4. 【請求項4】 請求項1記載の処理システムであって、 前記書き込みバッファユニットが複数のエントリを有
    し、各エントリがアドレスと、データブロックと、バイ
    トマスクフィールドとを有することを特徴とする処理シ
    ステム。
  5. 【請求項5】 請求項4記載の処理システムであって、 各エントリが書き込みタイプフィールドと、有効ビット
    とを更に有することを特徴とする処理システム。
  6. 【請求項6】 請求項4記載の処理システムであって、 各データブロックが複数のバイトを有することを特徴と
    する処理システム。
  7. 【請求項7】 請求項1記載の処理システムであって、 前記アドレスを他のアドレスと比較する比較回路を更に
    有することを特徴とする処理システム。
  8. 【請求項8】 請求項1記載の処理システムであって、 書き込み動作がバッファラブルであるか否かを、前記制
    御ユニットが決定することを特徴とする処理システム。
  9. 【請求項9】 請求項1記載の処理システムであって、 書き込み動作が完結ブロックであるか否かを、前記制御
    ユニットが決定することを特徴とする処理システム。
  10. 【請求項10】 請求項1記載の処理システムであっ
    て、 前記制御ユニットが、多重書き込み動作からのデータを
    併合することを特徴とする処理システム。
  11. 【請求項11】 書き込みバッファユニット内の記憶を
    最適化する方法であって、 前記方法が、第1データ及び第1アドレスを受け取り、 前記書き込みバッファユニット内に前記第1データを格
    納し、 第2データ及び第2アドレスを受け取り、 前記第2アドレス及び前記第1アドレスが同一データブ
    ロックに対応するか否かを決定し、 前記書き込みバッファユニット内に前記第2データを格
    納するステップを有することを特徴とする書き込みバッ
    ファユニット内の格納の最適化方法。
  12. 【請求項12】 請求項11記載の方法であって、 前記決定するステップが、前記第1アドレスと第2アド
    レスを比較して結果を生成し、 前記比較するステップから前記結果を分析して前記書き
    込みバッファユニット内の前記第2データ用の場所を決
    定するステップを有することを特徴とする書き込みバッ
    ファユニット内の格納の最適化方法。
  13. 【請求項13】 請求項11記載の方法であって、 前記書き込みバッファユニット内で前記第1及び第2デ
    ータを前記同一データブロックに配列するステップを更
    に有することを特徴とする書き込みバッファユニット内
    の格納の最適化方法。
  14. 【請求項14】 請求項11記載の方法であって、 前記第2アドレスを、前記書き込みバッファユニット内
    に格納された各アドレスと比較するステップを更に有す
    ることを特徴とする書き込みバッファユニット内の格納
    の最適化方法。
  15. 【請求項15】 請求項11記載の方法であって、 前記書き込みバッファユニット内に前記第1アドレスを
    格納し、 前記書き込みバッファユニット内に前記第2アドレスを
    格納するステップを更に有することを特徴とする書き込
    みバッファユニット内の格納の最適化方法。
  16. 【請求項16】 請求項11記載の方法であって、 前記書き込みバッファユニット内にデータの格納を追跡
    するステップを更に有することを特徴とする書き込みバ
    ッファユニット内の格納の最適化方法。
  17. 【請求項17】 請求項16記載の方法であって、 前記追跡するステップが、前記書き込みバッファユニッ
    ト内に特定エントリのために受け取られたデータバイト
    を書き留め、 前記書き留めるステップに応答してバイトマスクを書き
    込むステップを有することを特徴とする書き込みバッフ
    ァユニット内の格納の最適化方法。
  18. 【請求項18】 書き込みバッファユニット内にデータ
    を格納し、前記データをバスに分配する方法であって、 前記方法が、複数のデータと、それらにそれぞれ関連さ
    れた複数のアドレスとを受け取り、 前記書き込みバッファユニット内に複数のデータを、そ
    れらにそれぞれ関連された複数のアドレスに従って配列
    し、 1つのブロックアドレスに関連された1つのデータブロ
    ックを、前記バスにバーストするステップを有すること
    を特徴とするデータの格納及び分配方法。
  19. 【請求項19】 請求項18記載の方法であって、 データ及びアドレスがライトスルー方式キャッシュ動作
    とノンバッファラブルな書き込み動作との少なくとも一
    方に関連しているか否かを決定し、 前記書き込みバッファが満杯でない時に、前記データ及
    びアドレスを立ち退かせるステップを更に有することを
    特徴とするデータの格納及び分配方法。
  20. 【請求項20】 請求項18記載の方法であって、 前記配列するステップが、前記複数のアドレスを比較
    し、 前記複数のデータをデータブロックに配列するステップ
    を有することを特徴とするデータの格納及び分配方法。
  21. 【請求項21】 請求項18記載の方法であって、 前記バーストするステップが、ブロックアドレスを前記
    バスに書き込み、 前記バスに連続して前記データブロックから複数のワー
    ドを書き込むステップを有することを特徴とするデータ
    の格納及び分配方法。
  22. 【請求項22】 請求項18記載の方法であって、 前記書き込みバッファユニットからエントリを立ち退か
    せるステップを更に有し、 前記立ち退かせるステップが、前記書き込みバッファを
    充満させるステップに反応することを特徴とするデータ
    の格納及び分配方法。
  23. 【請求項23】 請求項18記載の方法であって、 前記書き込みバッファユニットをドレインするステップ
    を更に有し、 前記ドレインするステップが、次のステップの少なくと
    も1つに反応することを特徴とするデータの格納及び分
    配方法:前記書き込みバッファユニット内で、読み出し
    動作アドレスを前記複数のアドレスと比較し、 前記書き込みバッファユニット内で、スヌープリクエス
    トアドレスを前記複数のアドレスと比較し、 書き込み動作がノンバッファラブルであることを決定
    し、 データ同期化コマンドを検出し、 原子バス動作を検出するステップ。
  24. 【請求項24】 請求項18記載の方法であって、 前記書き込みバッファユニット内にデータを格納するス
    テップを更に有することを特徴とするデータの格納及び
    分配方法。
  25. 【請求項25】 請求項18記載の方法であって、 前記書き込みバッファユニット内に前記ブロックアドレ
    スを格納するステップを更に有することを特徴とするデ
    ータの格納及び分配方法。
JP2000276522A 1999-10-01 2000-09-12 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法 Pending JP2001147854A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/410,555 US6496905B1 (en) 1999-10-01 1999-10-01 Write buffer with burst capability
US09/410555 1999-10-01

Publications (1)

Publication Number Publication Date
JP2001147854A true JP2001147854A (ja) 2001-05-29

Family

ID=23625242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000276522A Pending JP2001147854A (ja) 1999-10-01 2000-09-12 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法

Country Status (4)

Country Link
US (1) US6496905B1 (ja)
JP (1) JP2001147854A (ja)
KR (1) KR20010050796A (ja)
TW (1) TW505862B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510246A (ja) * 2004-08-17 2008-04-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バーストリードライト動作による処理装置
JP2008193146A (ja) * 2007-01-31 2008-08-21 Canon Inc 復号回路
JP2018055683A (ja) * 2016-09-26 2018-04-05 三星電子株式会社Samsung Electronics Co.,Ltd. バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412043B1 (en) * 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US7127573B1 (en) * 2000-05-04 2006-10-24 Advanced Micro Devices, Inc. Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions
US6807587B1 (en) * 2000-09-18 2004-10-19 Xilinx Inc. Methods and apparatuses for guaranteed coherency of buffered direct-memory-access data
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
WO2005024381A2 (en) * 2003-09-05 2005-03-17 Griffin Analytical Technologies, Inc. Analysis methods, analysis device waveform generation methods, analysis devices, and articles of manufacture
US7457936B2 (en) * 2003-11-19 2008-11-25 Intel Corporation Memory access instruction vectorization
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
WO2006002027A2 (en) 2004-06-15 2006-01-05 Griffin Analytical Technologies, Inc. Portable mass spectrometer configured to perform multidimensional mass analysis
JP2006048163A (ja) * 2004-07-30 2006-02-16 Fujitsu Ltd ストアデータ制御装置およびストアデータ制御方法
US8680461B2 (en) 2005-04-25 2014-03-25 Griffin Analytical Technologies, L.L.C. Analytical instrumentation, apparatuses, and methods
US20070005868A1 (en) * 2005-06-30 2007-01-04 Osborne Randy B Method, apparatus and system for posted write buffer for memory with unidirectional full duplex interface
US7779207B2 (en) * 2005-08-25 2010-08-17 Microsoft Corporation Accelerated write performance
US20080126641A1 (en) * 2006-08-31 2008-05-29 Irish John D Methods and Apparatus for Combining Commands Prior to Issuing the Commands on a Bus
US7992424B1 (en) 2006-09-14 2011-08-09 Griffin Analytical Technologies, L.L.C. Analytical instrumentation and sample analysis methods
US8103822B2 (en) 2009-04-26 2012-01-24 Sandisk Il Ltd. Method and apparatus for implementing a caching policy for non-volatile memory
US20120284459A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Write-through-and-back cache
KR102490104B1 (ko) 2017-10-30 2023-01-19 삼성전자주식회사 데이터 보호를 사용하는 인-밴드 메모리에 액세스하기 위한 장치 및 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68917326T2 (de) * 1988-01-20 1995-03-02 Advanced Micro Devices Inc Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen.
US5488709A (en) * 1990-06-27 1996-01-30 Mos Electronics, Corp. Cache including decoupling register circuits
JP2984463B2 (ja) 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
JP3524110B2 (ja) * 1992-11-06 2004-05-10 株式会社ルネサステクノロジ マイクロコンピュータシステム
JPH06150023A (ja) 1992-11-06 1994-05-31 Hitachi Ltd マイクロコンピュータ及びマイクロコンピュータシステム
JP3231429B2 (ja) 1992-11-06 2001-11-19 株式会社日立製作所 中央処理装置と乗算器とを有する半導体集積回路装置
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5561780A (en) * 1993-12-30 1996-10-01 Intel Corporation Method and apparatus for combining uncacheable write data into cache-line-sized write buffers
JPH07287668A (ja) 1994-04-19 1995-10-31 Hitachi Ltd データ処理装置
JP3713312B2 (ja) 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
JP3740195B2 (ja) 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
JP3672634B2 (ja) 1994-09-09 2005-07-20 株式会社ルネサステクノロジ データ処理装置
JPH08329687A (ja) 1995-06-05 1996-12-13 Hitachi Ltd 半導体集積回路
US5848247A (en) * 1994-09-13 1998-12-08 Hitachi, Ltd. Microprocessor having PC card interface
US5751621A (en) 1994-11-17 1998-05-12 Hitachi, Ltd. Multiply-add unit and data processing apparatus using it
TW330265B (en) 1994-11-22 1998-04-21 Hitachi Ltd Semiconductor apparatus
US5778237A (en) 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage
US5867726A (en) 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
US5860127A (en) 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
US5774701A (en) 1995-07-10 1998-06-30 Hitachi, Ltd. Microprocessor operating at high and low clok frequencies
JP3655403B2 (ja) 1995-10-09 2005-06-02 株式会社ルネサステクノロジ データ処理装置
US5860112A (en) * 1995-12-27 1999-01-12 Intel Corporation Method and apparatus for blending bus writes and cache write-backs to memory
JP3623840B2 (ja) 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
JPH09311786A (ja) 1996-03-18 1997-12-02 Hitachi Ltd データ処理装置
US6279077B1 (en) * 1996-03-22 2001-08-21 Texas Instruments Incorporated Bus interface buffer control in a microprocessor
US5892978A (en) * 1996-07-24 1999-04-06 Vlsi Technology, Inc. Combined consective byte update buffer
JP3579205B2 (ja) 1996-08-06 2004-10-20 株式会社ルネサステクノロジ 半導体記憶装置、半導体装置、データ処理装置及びコンピュータシステム
WO1998013759A1 (fr) 1996-09-27 1998-04-02 Hitachi, Ltd. Machine de traitement de donnees et systeme de traitement de donnees
JP3790307B2 (ja) 1996-10-16 2006-06-28 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
JPH10177520A (ja) 1996-10-16 1998-06-30 Hitachi Ltd データプロセッサ及びデータ処理システム
JP3641327B2 (ja) 1996-10-18 2005-04-20 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
KR100190379B1 (ko) * 1996-11-06 1999-06-01 김영환 쓰기 사이클의 성능 향상을 위한 프로세서

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510246A (ja) * 2004-08-17 2008-04-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バーストリードライト動作による処理装置
JP4813485B2 (ja) * 2004-08-17 2011-11-09 シリコン ハイブ ビー・ヴィー バーストリードライト動作による処理装置
JP2008193146A (ja) * 2007-01-31 2008-08-21 Canon Inc 復号回路
US8539170B2 (en) 2007-01-31 2013-09-17 Canon Kabushiki Kaisha Decoding circuit
JP2018055683A (ja) * 2016-09-26 2018-04-05 三星電子株式会社Samsung Electronics Co.,Ltd. バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法

Also Published As

Publication number Publication date
US6496905B1 (en) 2002-12-17
TW505862B (en) 2002-10-11
KR20010050796A (ko) 2001-06-25

Similar Documents

Publication Publication Date Title
JP2001147854A (ja) 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法
JP4712110B2 (ja) データ処理システムに於けるメモリ制御
US6542968B1 (en) System and method for managing data in an I/O cache
KR101021046B1 (ko) 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치
US6295582B1 (en) System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available
US6366984B1 (en) Write combining buffer that supports snoop request
US7047374B2 (en) Memory read/write reordering
US5572703A (en) Method and apparatus for snoop stretching using signals that convey snoop results
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
US6453388B1 (en) Computer system having a bus interface unit for prefetching data from system memory
JPH0628256A (ja) データ処理システム
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JPH0744458A (ja) キャッシュメモリ構造およびキャッシュ・メモリを動作させる方法
US6748496B1 (en) Method and apparatus for providing cacheable data to a peripheral device
US5479636A (en) Concurrent cache line replacement method and apparatus in microprocessor system with write-back cache memory
US6754775B2 (en) Method and apparatus for facilitating flow control during accesses to cache memory
CN113853589A (zh) 高速缓冲存储器大小改变
US6321302B1 (en) Stream read buffer for efficient interface with block oriented devices
US6247101B1 (en) Tagged access synchronous bus architecture
US5974497A (en) Computer with cache-line buffers for storing prefetched data for a misaligned memory access
US7797495B1 (en) Distributed directory cache
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
EP0470738B1 (en) Cache memory system and operating method
US5920891A (en) Architecture and method for controlling a cache memory