JPH02208763A - エラー修正能力を備えた書き戻しバッファ - Google Patents

エラー修正能力を備えた書き戻しバッファ

Info

Publication number
JPH02208763A
JPH02208763A JP1239811A JP23981189A JPH02208763A JP H02208763 A JPH02208763 A JP H02208763A JP 1239811 A JP1239811 A JP 1239811A JP 23981189 A JP23981189 A JP 23981189A JP H02208763 A JPH02208763 A JP H02208763A
Authority
JP
Japan
Prior art keywords
data
cache
main memory
write
existing data
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
JP1239811A
Other languages
English (en)
Inventor
Ricky C Hetherington
リッキー シー ヒーザリングトン
Tryggve Fossum
トリューグヴ フォッサム
Maurice B Steinman
モーリス ビー スタインマン
Jr David A Webb
ディヴィッド エイ ウエッブ ジュニア
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02208763A publication Critical patent/JPH02208763A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本出願は、本出願と同時に出願された下記の米国特許出
願に詳しく記載されている計算システムの幾つかの特徴
を開示する: Evans等、デジタルコンピュータの
システム制御装置とサービス処置装置間のインタフェー
ス: Arnold等、マルチプロセッサシステム用の
システム制御装置を中央処理装置とインタフェースする
方法及び装置:Cagliardo等、マルチプロセッ
サシステム用のシステム制御装置をシステム主メモリと
インタフェースする方法及び手段:D、Fite等、パ
イプライン式コンピュータシステムにおける可変数の潜
在的なメモリアクセス衝突を解消する方法及び装置:D
、 Fite等、可変長さの命令のアーキテクチャにお
ける複数指定子のデコーディング:D、F(to等、仮
想命令キャッシュリフィルアルゴリズム:Murray
等、同−命令内におけるレジスタ変更指定子及びレジス
タのパイプライン処理j Murray等、デジタルコ
ンピュータ用のデータ依存性の解消による複数命令処理
システム:D、Fite等、パイプライン式プロセッサ
における事前処理暗示指定子:0、 Fite等、分岐
予測、Fossum等、デジタルコンピュータ用パイプ
ライン式浮動少数点加算器:Grundmann等、自
己タイミング式レジスタファイル: Beaven等、
パイプライン式コンピュータシステム内のエラーを検出
及び修正する方法及び装置;Flynn等、マルチプロ
セッサシステムでシステム制御装置を用いて交信要求を
仲裁する方法及び手段;E、 Fite等、マイクロコ
ード式実行装置での並列動作による複数機能装置の制御
; Webb、 Jr。
等、仮想メモリシステムに基づいたデジタルコンピュー
タの命令パイプライン内でのブリフェッチ命令によるメ
モリアクセス例外の処理; Hetherington
等、デジタルコンピュータシステム内で仮想から物理メ
モリアドレスへの変換を制御する方法及び装置; Fl
ynn等、マルチプロセッサシステムでシステム制御装
置を用いて交信要求を仲裁する方法及び手段; Chi
nnaswamy等、マルチプロセッサシステムにおけ
るシステム装置間でのデータトランザクション用モジュ
ラ−クロスバ−相互接続ネットワーク1Polzin等
、マルチプロセッサシステム用のシステム制御装置を入
/出力装置とインタフェースする方法及び装置i Ga
gliardo等、マルチプロセッサシステム用のシス
テム制御装置をシステム主メモリとインタフェースする
手段で用いられる。メモリ構成:及びGagliard
o等、システムモジュール間でのDRAM制御信号をエ
ラーチエツクする方法及び手段。
(産業上の利用分野) 本装置は一般に中央処理装置(CPU)内でのデータビ
ットエラーを検出″して修正するシステムに関し、より
詳しくは主メモリへの書き戻し動作中におけるキャッシ
ュメモリのエラー修正に関する。
(従来の技術) 高速演算の分野において、プロセッサの速度は一般にメ
モリの性能によって制限される。例えば、CPUは所定
の速度で命令を実行する。同じく主メモリは、一般にC
PUの実行速度と比べ1桁以下低い大きさの別の所定速
度で読取及び書込動作を行う。すなわち、主メモリのア
クセス時間はCPUに追いつくのに不十分である。従っ
て、メモリアクセス命令の実行中、CPUの性能はメモ
リアクセス速度にまで低下する。cpuは、各命令の実
行毎にメモリがそのサイクルを完了するのを待たねばな
らない。
CPUの命令サイクル時間とほぼ等しいサイクル時間を
有する、専用のメモリを構成することも可能である。し
かし残念ながら、このようなメモリは通例の半導体メモ
リよりはるかに高価で、全体的な主メモリの解決策とし
ては一般に適さない。
従って多くのコンピュータシステムは、より遅い半導体
メモリを主メモリとして維持しながら、高速のメモリで
比較的小型のキャッシュを構成してなる。
キャッシュはハードウェアの制御下で管理され、CPU
によって使われると見込まれる主メモリの一部のコピー
を保持する。つまり、キャッシュ内に保持されたメモリ
ロケーションにだけアクセスしている限り、CPUは能
カー杯の速度で実行する。もちろん、CPUが時折キャ
ッシュに含まれていないメモリロケーションを読み取ろ
うとすることは避けられない、こうしたミス時、データ
は主メモリから検索されて、キャッシュ内に記憶される
。そのため、CPUの性能は、ミス時主メモリのアクセ
ス速度にまで低下するが、プロセッサの全体速度は高速
キャッシュの使用によって高められる。
キャッシュメモリの使用は、複雑化を免れない。
主メモリ内にも存在するデータを記憶するキャッシュを
用いることによって、データの一貫性の問題が生じ得る
。例えば、CPUによって変更されキャッシュ内に記憶
されるデータは、主メモリ内の同一メモリロケーション
に記憶されているデータと必然的に異なってくる。これ
は特に、マルチプロセッサシステムにおいて問題となる
。これらのプロセッサは各々、同一データにアクセスす
る必要がある。言い換えれば、主メモリに記憶されたデ
ータの読取動作は、別のプロセッサのキャッシュ内に記
憶されたデータの最新版を検索しない。
一般に、データの一貫性を保証する方法に次の2つがあ
るニライトスルー(Wri te−through)法
とダーティビット(dirty−bit)法。
(発明が解決しようとする課題) ライトスルー法とは、データの一貫性の問題に対する強
引な解決策である。キャッシュメモリに対するCPUの
書込が主メモリへ直ちに送られ、キャッシュと主メモリ
間における相違を取り除くことによってデータの一貫性
を維持する。このような解決策の当然の逆効果として、
プロセッサの速度が減少する。つまり複数の書込動作の
場合、新しい書込が発生可能となる前に前の書込が完了
されねばならないため、キャッシュのサイクル時間は主
メモリのサイクル時間と実質上等しくなる。
また、遅れはその多くが全く不必要なことから、特に障
害をもたらす0例えば、書き込まれるデータのほとんど
は一時的な性質で、他のいずれのプロセッサによっても
必要ない。つまり、それら不要な書込動作にさかれる時
間が無駄となる。
ダーティビット法とは、演算の速度という観点に基づい
た、データの一貫性の問題に対するもっとも望ましい解
決策である。キャッシュの各エントリが、そのロケーシ
ョンへCPUがデータを書き込むときに設定される追加
のビットを有する。
データは主メモリまで書き込まれない。その代わりに、
特定のキャッシュエントリが現在該当データの唯一のコ
ピーで、主メモリの同一ロケーションにおけるデータと
異なることを設定ビットが示す。主メモリへの不必要な
書込を防ぐため、そのキャッシュエントリは2つの択一
条件下でのみ主メモリに書き戻される。第1に、他のC
PUがデータを要求した場合、そのデータは主メモリに
書き込まれねばならない、第2に、CPUがキャッシュ
にないデータを要求することがある。もちろんこの場合
、要求されたデータは主メモリから検索され、キャッシ
ュ内に記憶される。しかし、検索データを記憶するのに
使われるキャッシュロケーションが、設定されたダーテ
ィビットを有している場合がある。従って、キャッシュ
に記憶されているデータが失われるのを防ぐため、それ
らのデータが主メモリに書き戻される。
ダーティビット法に固有なリスクは、データを失う可能
性を伴うことである。キャッシュが書き込まれたデータ
の唯一のコピーを含んでいるので、これらのデータが失
われると、CPUによって現在実行されている処理が全
体的に誤動作する恐れがある。キャッシュと主メモリの
間にエラー修正システムを導入することも可能だが、そ
の使用は主メモリへの書込動作をさらに遅らせる。つま
り、不必要な書込動作を取り除(ことで節約された時間
が、キャッシュデータの保存を確保することによって失
われてしまう。
さらに、ダーティピット法は書込動作の数を絶対的に必
要なものにだけ減少させるが、これらの残された書込動
作のため、プロセッサの速度はその分遅くなる。従って
CPUは、主メモリへの書込動作の数を絶対的に必要な
ものにだけ減少させ、残された書込動作を他の必要なC
PU処理の下に隠し、主メモリへの書込動作の速度に悪
影響を及ぼすことな(キャッシュデータの完全性を保つ
ように構成されるのが望ましい。
(課題を解決するための手段) 処理速度に悪影響を及ぼすことなく、主メモリへ書き戻
されるキャッシュメモリのエラー修正を行うため、中央
処理装置内に配置されたキャッシュメモリと主メモリ間
での書き戻し動作を制御するための装置を有するデジタ
ルコンピュータシステムが提供される。本デジタルコン
ピュータシステムは、キャッシュ内に所望データが存在
しないことを検出し、再充填要求信号を主メモリに送出
する手段を含む。主メモリは、所定時間の継続中に再充
填要求信号を処理し、所望データをキャッシュに送出す
る手段を含む。本システムはさらに下記の手段を含む:
前記所定時間の継続中に、所望データを記憶するキャッ
シュロケーションを求め、所望のキャッシュロケーショ
ンから書き戻しバッファへ先在データを送出する手段:
所望データを主メモリから受け取り、所望データを所望
のキャッシュロケーションに記憶する手段:及び所望デ
ータのキャッシュへの送出が完了されると、前記先在デ
ータを書き戻しバッファから主メモリへ送出する手段。
発明のその他の目的及び利点は、添付の図面を参照しな
がら、以下の詳細な説明を読み進むことによって明かと
なろう。
(実施例) 本発明はさまざまな変更及び代替の態様を取り得るが、
その特定実施例を図面に例示として示し、以下詳しく説
明する。イiaシ、本発明はここに開示される特定の態
様に制限されるものでなく、逆に特許請求の範囲に限定
された発明の精神及び範囲内に入る全ての変更、等価及
び代替物を包含するものであることが理解されるべきで
ある。
次に図面を参照すれば、第1図は、主メモリ10、メモ
リアクセス装置12、及び命令装置14と実行装置16
を備えた少なくとも1つの中央処理装置内(CPtJ)
13を含むデジタルコンピュータシステムの一部のトッ
プレベル図を示す。
もちろん;かかるシステムでは、主メモリ10を共有す
ることによって追加のCPUを使用できる。
例えば、4つまでのCPUを同時に作動し、共有の主メ
モリ10を介して効率的に交信するのが実用的である。
CPUI a内で、個々の命令の実行が複数のより小さ
いタスクに分けられる。これらのタスクは、それぞれの
目的に最適な専用の、分離した独立の機能装置によって
行われる。各命令は最終的に異なる動作を実施するが、
各命令から分けられたより小さいタスクの多くは、全て
の命令に共通である。一般的に、命令装置14は例えば
次のステップを実施する:命令のフェッチ、命令のデコ
ード、及びオペランドのフェッチ。その後、デコードさ
れた命令が実行装置16に転送され、そこで命令が実行
されて、結果がメモリに記憶される。
従って、命令及び実行両装置14.16がメモリにアク
セスしなければならない。命令装置14はメモリ内に記
憶された命令を検索すると共に、実行装置16によって
行われる読取及び書込動作用のアドレスを送出する。同
じく、実行装置16を書き込まれるべき実際のデータの
他、読取及び書込動作用のアドレスを送出する。
メモリアクセス装置12が、CPU13と主メモリ10
間でのインタフェースを与える。しかし、CPU13か
ら発生された全てのメモリ参照が主メモリ10に伝送さ
れるわけではない。その代わりに、メモリアクセス装置
12は、主メモリ10の選択部分のコピーを保持する高
速キャッシュ18を含んでいる。主メモリ10は標準的
な半導体メモリ要素で構成され、CPU13のサイクル
時間よりもかなり大きいサイクル時間を有する。
従って、CPUI 3による主メモリへの参照は、CP
U13のサイクル時間を主メモリ10のサイクル時間ま
で遅める。そこで、主メモリへの参照回数を減らし、プ
ロセッサの速度を高めるために、キャッシュ18が設け
られている。
キャッシュ18は、CPU13のサイクル時間とほぼ等
しいサイクル時間を有する高速のメモリ要素で構成され
ている。つまり、キャッシュ18へのメモリ参照がCP
U13の動作を遅くしない。
例えば、CPUI 3によって実行される読取命令は、
データがメモリから戻ってくるのを待たねばならない。
CPU13のサイクル時間よりメモリのサイクル時間の
方が長くなければ、次の命令の実行前に、データはCP
U13に戻ってくる。従って、CPU13はデータを待
つために停滞しなくてよい。しかし残念ながら、キャッ
シュ18を構成するのに使われる構成要素は比較的価格
が高く、最も高価で高速なコンピュータだけがそれらを
主メモリとして使用可能である。
その代わりとして、最も速いことを目的とするコンピュ
ータ及びここに開示するコンピュータは、主メモリ用に
標準的な半導体要素を用いる一方で、高速メモリの比較
的小さいキャッシュも使用する。
キャッシュ18は、CPU13によって最も必要と見込
まれるデータを保持する。従って、多くのメモリ参照は
キャッシュ18内に記憶されているデータでヒツト(的
中)し、CPU13はその最大速度で実行を継続する0
時折、キャッシュ18が所望のデータを含んでいないこ
とがあり、この場合にはメモリアクセス装置12が主メ
モリ10から所望のデータを検索し、それをキャッシュ
18内に記憶する。同じく、コンピュータシステムは4
つまでのCPUをサポート可能なので、1つのCPUが
別のCPUによって変更されたデータを要求することも
時折生じる。言い換えれば、1つのCPUによって所望
なデータの最新版が別のCPUのキャッシュ18内に含
まれていることがある。このため、メモリアクセス装置
12は、主メモリ10からデータを検索可能なだけでな
く、データの主メモリ10への書き戻しも可能でなけれ
ばないない。こうした主メモリ10への及びそこからの
データの流れを制御するため、メモリアクセス装置12
はデータ通行管理器(DTM)20を含んでいる。
また、データを主メモリ10へ書き戻す必要は、そのデ
ータがもはやキャッシュ18内に存在していないときで
も、CPUのデータ要求によってしばしば生じることに
留意すべきである。キャッシュ18は例えば、Levy
及びEckhouse著、コンピュータプログラミング
とアーキテクチャ、VAX−土工、1980年4月、3
57−358頁に記載されているのと同様な標準的な双
方向セットの連想構造をなす。つまり、いずれの主メモ
リロケーションについても、当該データが記憶される2
つのキャッシュロケーションが存在する。但し、これら
2つのロケーションも多数のその他の主メモリロケーシ
ョンによって共有されている。そのため、データが主メ
モリlOから検索されると、キャッシュ18内への検索
データの記憶により、そのキャッシュロケーションにそ
れまで記憶されていたデータが変位される。この変位デ
ータがCPU13によって変更されれば、変位データは
主メモIJ10へ書き込まれねばならず、さもなければ
失われる。変位データのこの書き戻しを容易とするため
、メモリアクセス装置12は、DTM  20に接続さ
れた書き戻しバッファ (WBB)   22を含み、
メモリアクセス装置12が所望な主メモリデータの検索
を完了するまでデータを保持する。その後、データがW
BB22から主メモリ10へ転送される。
キャッシュ18とWBB22内に維持されるデータは、
エラー修正コードRAM24内に記憶されたエラー修正
コード(E CC”)によって、シングル及びダブルの
ビットエラーから保護される。
コーディング方式は、例えば変更型のハミング(l(a
weing)コードである。エラー修正コードチェック
ビットパターンが主メモリから検索された全てのデータ
について発生される一方、主メモリに書き戻されるデー
タだけがハミングコードと比較され、修正される。CP
U13によって書き込まれなかったキャッシュデータは
主メモリ10内に記憶されている対応データの正確なコ
ピーであるのに対し、書込データはキャッシュ18内に
だけ含まれているので、これはエラー修正の有効な手段
である。このため、ECCRAM24がWBB22の近
(に配設されている。
さらに、エラー修正処理はWBB22内に含まれたデー
タに対して、主メモリデータへのCPU要求とキャッシ
ュ18への所望なデータの実際の送出との間の時間中に
行われる点に留意することが重要である。つまり、エラ
ー修正処理は主メモリを待つために費やされる非使用の
時間を利用するので、CPUの動作速度に悪影響を及ぼ
さない。
このため、キャッシュ18の性能と高速を維持しつつ、
書き込まれたキャッシュデータが保護される。
次に第2図を参照すると、メモリアクセス装置12の一
部の詳細なブロック図が示しである。前述したように、
キャッシュ18は双方向セント連想型で、このため必然
的に二組のデータRAM26.28を含んでいる。各組
のRAM26.28は40個の4kx4SRAMを含み
、これらが相互に接続されて72ビツト幅の8にライン
を有するキャッシュを与える。各ラインは64個のデー
タビットと、8個のパリティビット(各データバイト毎
に1個)とを有する。データは64ビツトの各ブロック
、つまり整列された四倍長ワードにグループ分けられて
いる。言い換えれば、ブロックは64の倍数であるバイ
トアドレスから始まり、これは2進アドレスの最下位1
6ビツトがゼロであることを意味する。
データのどのブロックがデータRAMZ6.28内に存
在するかどうかを識別するため、−組のタグRAM30
がキャッシュ18内に保持されている。タグRAM30
は、データRAM26.28中に現在存在する各ブロッ
クの開始ブロックアドレスを有する。各−組のデータR
AMは8にのラインを含み、各ブロックが8ラインを満
たすので、各組のデータRAM26.28内に記憶され
たデータの追跡を維持するのに1にのメモリロケーシラ
ンが必要である。従って、タグRAM30は18個の1
kx4のRAMを含む。これらのRAMは、72ビツト
幅の1にラインを二組与えるように構成されている。3
6ビツト内には、ブロックの開始物理アドレス(物理ア
ドレスのピッ)32:16)、ブロック内の各倍長ワー
ド毎の有効ビット(16ビツト)、ブロックがCPU1
3によって変更されたかどうかを指示する書込ビット、
及び2つのパリティビット(有効ビットに関する1ビツ
トとデータビットに関する1ビツト)が記憶されている
。キャッシュ18が主メモIJ10からデータを検索す
るとき、データはブロック単位で検索されるので、ブロ
ック開始アドレスだけが記憶される。
タグRAM30は、一対のキャッシュタグ管理器(CT
MA、CTMV)32.34によッテ制御される。07
MA32はCPtJ13によって発生された全ての物理
アドレスを受け取り、これらの受け取ったアドレスをタ
グRAM30内に含まれたアドレスと比較する。つまり
07MA32は、各組のタグRAM30内に記憶された
アドレスを要求し、これらのアドレスをCPUから発生
されたアドレスと比較する。両者の合致が、CPU13
によって要求されたデータがキャッシュ18内に存在す
ることを意味する。しかし、データが存在しても、それ
らが無効化されていることがある。従って、07MA3
2での“ヒツト(的中)がCTMV34に伝送され、そ
こでタグRAM30内に含まれている有効ビットが検査
される。
CPU13から発生されたアドレスに存在するデ−夕が
有効であれば、データRAM26.28へのまたはそこ
からのデータの全ての移動を制御する。一連の4つのデ
ータ通行制御器(DTMOlDTMI、DTM2.07
M3)36.38.40.42に信号が送出される。4
つの各DTM36.38.40.42が2バイトスライ
スの4倍長ワードをデータRAM26.28へ及びそこ
から伝送する。
CPU、13から発生される物理メモリアドレスも、一
対の物理アドレスドライバ(PADO,PADI)44
.46に送出される。PADOlPADI  44.4
6はそれぞれ第2及び第1組のデータRAM28.26
に対応しており、データRAM  2B、26への全て
のアドレスライン及び書込エネーブルを駆動するように
作用する。従って、PADO,PADI  44.46
がら送出されるアドレスが、データRAM26.28と
DTM−07M3間での転送を制御する。例えば、CP
U13は指定されたメモリロケ−シランを、そのアドレ
スをC7MA32、PADO44及びPADI  46
へ送出することによって読み取ロウトする。PADOと
PADOI  44.46は直ちにそのアドレスを、二
組のデータRAM28.26に送る。そして、これらの
RAMロケーション内に位置したデータが、データRA
Mの出力に与えられる。DTMO−07M3は、ヒツト
が生じ且つデータが有効であることをCTMV34が指
示している場合にのみ、データRAM26.28のうち
一組がらだけデータを受け取る。
それ以外の場合、CTMVは主メモリ10がらデータ要
求を発生させ、データRAM26.28をcPU13に
よって現在所望されているデータで更新する。ブロック
アドレスが主メモリ1oに導かれ、主メモリ10はこれ
に応答して、所望ブロックのデータをデータリターンラ
イン48を介してDTMO−07M3に送出する。デー
タリターンライン48は64ビット幅で、64バイトの
ブロックが8個の連続した4倍長ワードとして転送され
るのを可能とする。ブロック全体が主メモリ10からキ
ャッシュ18に転送され終るまで、各4倍長ワードは適
切なデータRAMロケ−シランに逐次記憶される。その
後、読取動作はキャッシュ18によって完了される。
前述したように、データブロックを主メモリ10から検
索し、それをキャッシュ18内に記憶すると、キャッシ
ュ18内にそれまで記憶されていたデータが変位される
。また、CPU13によって書き込まれた変位データは
、主メモリ10内に対応するコピーを持っていない。従
って、その書込データが失われのを避けるため、書込デ
ータが主メモリ10へ書き戻されるまで、それを−時的
に記憶するWBB22が設けられている。ここで、DT
MO−07M3が所望のブロックアドレスを主メモリ1
0に転送した後、要求データが主メモリ10から戻され
るまでに20から30マシンサイクルの遅れが存在する
。この遅れは、DTMO−07M3がキャッシュ18か
らデータを読みだして、それをWBB22内へ入れるの
に充分な長さである。そのため、データが主メモリ10
から戻されたとき、データRAM26.28内で衝突を
は生ぜず、新たに検索されたデータは直ちにキャッシュ
18内へ書込可能である。すなわち主メモリの読取遅延
が、主メモリのデータ要求“下”においてキャッシュデ
ータブロックをWBB22へ転送するのに有利に使われ
、性能の犠牲を避けられる。
WBB22は、2つの同様な物理パッケージWBEM5
0とWBES52に分割されている。実際は、バンファ
自体がWBEMとWBESに対称的に分割されている。
各パッケージは4バイト幅の8ラインを有し、全体のバ
ッファサイズは64バイトつまり1ブロツクである。W
BEMとWBESとの差は、それらがエラー修正処理に
加わる方法にある。以下、エラー修正処理を第3及び4
図を参照して詳しく説明する。
ECCRAM24は、データRAM26.28と同様に
構成された8個の4kx4RAMを含む。EOCRAM
24は双方向セット連想型で、各セットが8ビット幅の
8にラインを有し、各ラインがデータRAM26.28
の4倍長ラインと対応している。4倍長ワードの各デー
タがデータRAM26.28内へ記憶される毎に、8ビ
ツトのチェックビットパターンが形成され、ECCRA
M24に記憶される。その後のCPU13によるデータ
RAM26.28への書込も同様に、それに応じて変更
されたチェックビットパターンを生ずる。
チェックビットパターンは、シングル及びダブルのビッ
トエラーを検出し、これらのビットエラーを修正するの
に使われる。但し、主メモリ10へ書き戻されるデータ
だけがチェックビットパターンについて比較される。W
BB22は主メモリ10へ書き戻されるべき全てのデー
タを受け取るので、データをそのチェックビットパター
ンで比較しエラーを修正するのに、WBB22が好都合
な場所である。
次に第3及び4両図を参照すると、WB 2M50とW
BES52の内部構造の詳しいブロック図が示しである
。DTMO−DTM3からのデータは、それぞれWBE
MとWBES内に含まれたエラーコード修正(ECC)
発生器55′、56に直接送出される。ECC発生器5
5.56は実質上同様で、各々それぞれが受け取ったデ
ータスライスに基づいてエラー修正コードを生じるよう
に作用する0例えば好ましい実施例では、データビット
0−15と32−47がWBEMに送られる一方、デー
タビット16−31と48−63がWBESに送られる
。各ECC発生器は部分的なエラー修正コードを生じ、
それらが組み合わされて、4倍長ワードのデータに関す
る1つの完全なエラー修正コードを形成する。つまり、
WBESからの部分的なエラー修正コードがWBEM内
発生器に送られ、そこで2つの部分コードが組み合わさ
れる。
同じく、ECCRAM (第2図の24)内に記憶され
たエラー修正コードがECCセットセレクト58に送出
される。RAM24は双方向セット連想型なので、コー
ドが記憶されるロケーションには2つの可能性がある。
そのため、両方のセントがセントセレクト58に送られ
、そこでアドレスに基づいて一方のセットが選択され、
シンドローム計算器60に送られる。ECC発生器55
から発生された完全−式のエラー修正コードも、シンド
ローム計算器60に送られる。
シンドローム計算器60は、WBB22へ実際に送られ
たデータのエラー修正コードとデータRAM26.28
に記憶されているデータのエラー修正コードとを比較す
る。エラーがなければ、エラー修正コードは明らかに同
等のはずである。−方エラーが存在すると、シンドロー
ム計算器60がどのビットがエラーであるのかを識別し
、その情報をビット修正ハードウェア62に送出する。
ECC発生器55に送られたデータは、キャッシュラッ
チ64内にも保持される。キャッシュラッチ64はこの
データをビット修正ハードウェア62に与え、そこでエ
ラービットが修正される。
誤りビットが検出された場合、そのビットを反対状態に
切り換えるだけで修正が行われる。WBEM内にはデー
タビットの半分だけが存在することを、想起されたい。
従って、エラーがWBES内の残りの32ビツト内にあ
れば、ビット修正情報はWBESに伝送されねばならな
い。従って、ビット修正ハードウェア62は5ビツトの
E−CC制御信号をWBESに送出する。
2人力式のマルチプレクサ(MUX)66が、キャッシ
ュラッチ64からの実際のデータとビット修正ハードウ
ェア62からの修正データとを受け取る。マルチプレク
サ66のセレクトラインは、シンドローム計算器60に
よってエラーが検出されると、修正後のデータを送出す
るように制御される。検出されなければ、実際のデータ
がマルチプレクサ66を介してWBBキュー68に導か
れる。
インタフェース70がWBBキュー68と主メモリIO
との間に位置し、両者間におけるデータと関連パリティ
信号の転送を調整する役割を果たす。パリティエラーを
チエツクするため、データの実際のパリティがパリティ
発生器71によって求められ、パリティチエッカ73で
パリティ信号と比較される。事象の通常手順は、インタ
フェース70が“データレディ”信号を主メモリへ発す
ることから始まる。主メモリ10はこの信号を、その他
のCPUまたは入/出力装置からの同様の信号と共に受
け取り、受け取った全ての信号を仲裁し、データレディ
信号が仲裁に勝ったときアドレスがデコードされて、“
データ送信”信号がWBB22に戻される。WBBキュ
ー68はこれに応じて、8つの連続するサイクルでデー
タを主メモリ10にアンロードする。
WBES52の動作も同様だが、エラーの検出機能にお
いて異なっている。シンドローム計算はもっばらWBE
Mで行われ、関連した結果が5ビツトのECC111m
信号によってWBESに伝送される。ビット修正デコー
ダ80が制御信号を受け取り、5ビツトの信号を32ビ
ツトの修正マスクに変換し、これがビット修正ハードウ
ェア82に伝送される。ビット修正ハードウェア82は
、キャッシュラッチ84から実際のデータも受け取る。
ビット修正とは、ビット修正マスクとエラーデータとの
XOR(排他的論理和)演算である。この処理は、誤り
ビットを反対の状態へ有効に切り換える。その後におけ
るマルチプレクサ86、WBBキュー88、インタフェ
ース90.パリティ発生器91及びパリティチエッカ9
3の動作は、第3図のWBEMに関連して説明したマル
チプレクサ66、WBBキュー68、インタフェース7
0、パリティ発生器71及びパリティチエッカ73の動
作と同等である。
次に第5図を参照すると、ECC発生器55、シンドロ
ーム計算器60、及びビット修正ハードウェア62の詳
しい配線図が示しである。ECC発生器55は6バンク
のXORゲート100゜102.104.106.10
B、110を含み、各バンクへの入力が末尾の第1表に
示したハミングコードに従って構成されている。データ
の各64ビツト毎に、特有の7ビツトのECCコードが
与えられる。しかし、データを注意深く4つの16ビツ
トスライスへ区分することによって、データの各スライ
スについてECCコードの下位5ビツトが同等になる。
つまり、ビット5と6だけがスライス間で異なる。例え
ば、WBBは各データビットの半分づつを受け取る2つ
の部分に分かれていることを思い起こされたい。また第
1表において、データビットは4つのスライスに区分さ
れており、2つのスライスが各ECC発生器55.56
に送られる。好ましい実施例においては、スライスOと
2がWBEMECC発生器55に送られる一方、スライ
ス1と3がWBES  ECC発生器56に送られる。
つまり、例えばECCコードのゼロ位ビットが設定され
るべきかどうかを判定するためには、スライスOと3内
の各ゼロ位ビットがXOR演算されるべきである。そこ
で、第1表に示したハミングコードを調べれば、ECC
のゼロ位ビットを発生するには、次のデータビットだけ
を組み合わせればよいことが明らかである:1.3.5
.6.8.10.12.14.49.51.53.54
.56.58.60,62゜残りのデータビットのEC
Gのゼロ位ビットは設定されていず、XORバンクで組
み合わされた場合影響を生じないので、上記のビットだ
けを考慮すればよい。
ゼロ位ビットのXOR演算が第6図に示しである。XO
Rゲート112a−112hがこれらの識別データピッ
)Di−D62を受け取り、隣接封缶にXOR換算を行
う。この第ルベルのXOR演算の結果が第2レベルのX
ORゲート112i−1121に導かれ、第ルベルの結
果の隣接対が再びXOR演算される。同様のプロセスが
第3段のXORゲー)112m−112nによって繰り
返され、最後の一対がXORゲー)112pで組み合わ
される。こうして、奇数のデータビットが提示されてい
ればXORSUM  BITOの出力が設定され、ある
いは逆に偶数のデータビットが提示されていればXOR
SUM  BITOの出力は設定されない。
上記と同じ処理が他のXORバンク102.104.1
06.10Bで同時に行われ、ECCビット1.2.3
.4がそれぞれ得られる。相互に異なるのは、各バンク
に送られるデータビットが特有で、第1表に識別された
ハミングコードに対応している点だけである。しかし、
データビットの半分だけがWBEM内に存在しているた
め、WBESから発生される他方の部分ECCと組み合
わされるまで、ECC発生処理は不完全である。
尚、WBES  ECC発生器56内でも、そこに送ら
れてきたデータビットに対して、同等の処理が同時に行
われる。従って、さらに別のレベルのXORゲー)11
4a−114hがWBEMとWBESから発生された両
方の部分ECCコードを受け取り、最終的なECCコー
ドを生じる。
次に、ECCコードの発生プロセスをより分かり易く示
す一例を説明する。WBBに送られる4倍長ワードのデ
ータが、0OOOOOOOOOOOOOIF (16進
法)であるとする。つまり、個々のビット011.2.
3及び4が設定されている。設定ビットは全て第1表の
スライス0内に含まれているので、WBEM  ECC
発生器55だけが影響される(WBES  ECC発生
器内の各XORバンクの出力は設定されない)。偶数の
設定ビットがXOR演算される(ビット1と3)ので、
XORバンク100の出力も同じく設定されない。しか
し、XORバンク102.104及び105の出力は、
それぞれビット0.1及び4がXOR演算され、ビット
2.3及び4がXOR演算され、またビット0,1.2
.3及び4がXOR演算されるので設定される。但し、
ECCビット4  (XORバンク108)は、ビット
0−4のいずれを組み合わせてもECCビット4が得ら
れないので設定されない、さらに前述のごとく、WBE
S  ECCビットはいずれも設定されない。従って、
XORゲ−)114a−114eはWBES  ECC
:I−ドに影響を及ぼさず、そのまま通過させる。その
ため、この例でのECCコードは01110(2進)で
ある。
最終的なECCコードがシンドローム計算器60に送ら
れ、エラーが存在するかどうかを判定する。エラーが存
在すれば、いずれかのビットが誤っている。まずエラー
が存在するかどうかを判定するため、ECCRAM24
にそれまで記憶されていたECCコードが、ECC発生
器55から発生されたECCコードと比較される。2つ
のECCコード間における差が、エラーの存在を示す。
両ECCコードを比較するため、各コードの対応ビット
がXORゲート116a−116gのバンクでXOR演
算される。両コードが等しければ、XORゲート116
a−116gの各出力は設定されない。逆に、両コード
間に差があれば、XORゲート116a−116gのい
ずれかへの2人力が異なり、設定信号が生じる。
データピントのどれがエラーであるかを判定するため、
論理回路118が比較されたECCコードの下位4ビツ
トを解釈する。2進系において、誤っているデータビッ
トはそれを修正するのに、現在値から唯一可能な他方の
値へ変更するだけでよいことは明らかであろう。このた
め、キャッシュデータの修正は、誤っているビットを除
き全てゼロのマスクを発生することによって行える。マ
スクとデータのXOR演算を行うことで、エラービット
はその反対の状態に切り換えられる。例えば、32ビツ
トワードにおけるビット5が誤っていれば、2進マスク
は次のようになる:つまり、これら32ビツトの各々が
32ビツトのデータワードとXOR演算され、データワ
ードはビット5を除いてそのまま通過され、ビット5だ
けがその反対の状態に反転される。ビット修正ハードウ
ェア62が、この機能を正確に実施する。
上記32ビツトのマスクを発生する論理回路118は、
一定の5に接続された第1の入力と、XORゲート11
6a−116dの出力に接続された第2の入力とを有す
る4ビツト加算器120を含む。加算器120の出力が
、マルチプレクサ122に接続されている。マルチプレ
クサ122への第2の入力は、XORゲート116a−
116dの出力の論理的組合せに接続されている。
ゲート116aの出力は、マルチプレクサ第2人力のビ
ットOに接続されている。ゲート116bの反転入力が
、マルチプレクサ122の第2人カッヒツト1に接続さ
れている。ANDゲート124は、その入力をそれぞれ
ゲー)116bと1160の出力から受け取り、その出
力をマルチプレクサ第2人力のビット3に送出する。マ
ルチプレクサ第2人力のビット4は、ゲー)116dの
反転出力に接続されている。最後に、XORゲー)11
6eの出力がマルチプレクサ122の選択機能を制御す
る。このため、ECCコードにおける差の値に応じて、
2つの異なる変換ルーチンが使われる。ECCコードの
ビット4が異なれば、マルチプレクサ122の第2人力
が選ばれる。
一対の4:16デコーダ126.128が各々、マルチ
プレクサ122から4ビツトの出力信号を受け取り、そ
の4ビット信号を16ビツトの対応信号へ制御可能にデ
コードする。XORゲート116dの反転及び非反転出
力が、デコーダ126.128のエネーブル入力をそれ
ぞれ制御する。従って、デコーダ126.128の動作
は相互に排他的である。デコーダ126が32ビツトマ
スクの下位16ビツトを与える一方、デコーダ128は
上位16ビツトを与える。このため、スライス0におけ
るデータビットエラーは、マルチプレクサ122によっ
て加算器120の出力を選択せしめる。同じく、XOR
ゲート116dの出力によってデコーダ126が選ばれ
、4ビツトのコードをマスクの下位16ビツト部分に変
換する。反対に、スライス3におけるデータビットエラ
ーは、XORゲート116dによってマルチプレクサ1
22の第2人力をデコーダ128に通過せしめる。そし
て、デコーダ126が下位の非設定16ビツトを送出す
る一方、デコーダ128が上位16ビツトのエラー補正
マスクを与える。
次に第7図を参照すれば、WBBキュー68.88のブ
ロック図が示しである。主メモリ10とメモリアクセス
装置12間でのデータ転送は、−般に64バイトのブロ
ックで行われる。従って、WBBキュー68.88はデ
ータを一時的に記憶するため、一連の8個の8バイトレ
ジスタ130を含む。WBBキューはデータの他に、各
8バイトレジスタに係わるデータパリティと有効ビット
も受け取る。レジスタ130のロードとアンロードを制
御するため、挿入及び除去ポインタ132.134が設
けられている。データの転送は、8つの連続したクロッ
クサイクルで生じる。つまりレジスタ130へのロート
時、クロックサイクルの各遷移毎に挿入ポインタ132
が1づつインクレメントされる。同じく、アンロード時
には、クロックサイクルの各遷移毎に除去ポインタ13
4が1づつインクレメントされる。
一定の作動条件下では、書き戻しの動作を一時停滞させ
ることができる。例えば、CPU13がキャッシュ18
内にメモリ要求を発生する。すると、メモリアクセス装
置12は主メモリからのフェッチを開始し、対象のキャ
ッシュロケーションについてダーディビットをチエツク
する。ダーディビットが設定されていれば、主メモリか
らのフェッチが処理される一方で、データがキャッシュ
18からWBBキュー130に転送される。この時点で
、別のCPUが現在キャッシュ18内にだけ存在するデ
ータを要求すると、主メモリ10は、メモリアクセス装
置12がそのデータをWBBキューを介して送ることを
要求する。また、要求されている書き戻しデータをキャ
ッシュ18から受け取るまで、主メモリ10は完了しな
い。WBBキューは現在、書き戻されたデータの唯一の
コピーを含んでいる。従って、主メモリからのデータ要
求を処理するため、単純にそのデータをダンプすること
はできない。そこで、WBBキューバイパス136が設
けられている。WBBキューバイパス136は、WBB
キュー68とWBBキュー68に入力された実際のデー
タの両人力を受け取るマルチプレクサ138を含む。前
記の特定条件下でマルチプレクサへの選択入力を切り換
えると、WBBキエー68がバイパスされる。主メモリ
からのデータ要求が完了した後、マルチプレクサの選択
ラインが前の値に戻され、最初の書き戻し動作が完了さ
れる。
第 表
【図面の簡単な説明】
第1図はメモリアクセス装置によって主メモリに連結さ
れた中央処理装置を含むデータ処理システムのブロック
図;第2図は第1図のメモリアクセス装置のブロック図
で、2つの部分に分割された書き戻しバッファを示す;
第3図は書き戻しバッファの第1部分とそれに係わるエ
ラー修正コードハードウェアにブロック図;第4図は書
き戻しバッファの第2部分とそれに係わるエラー修正コ
ードハードウェアにブロック図:第5図はエラー修正コ
ード発生器、シンドローム計算器、及びビット修正ハー
ドウェアの配線図;第6図はエラーコード発生器用のX
OR加算回路の概略図;及び第7図は第3及び4図に示
した両方の書き戻しバッファ部分で使われる書込バッフ
ァキュー回路の概略図である。 10・・・主メモリ、  18(26,28)・・・キ
ャッシュ(メモリ)、20・・・データ通行管理器、2
2  (50,52)・・・書き戻しバッファ、24・
・・チエツクピットメモリ、55.56・・・キャッシ
ュ内データのエラー修正コードを求める手段(ECC発
生器)、58・・・キャッシュに記憶される先在データ
のエラー修正コードを求める手段、60・・・エラー修
正コードを比較する手段(シンドローム計算器)、62
.82・・・エラー信号を受け取る手段(ビット修正ハ
ードウェア)。

Claims (1)

  1. 【特許請求の範囲】 1、中央処理装置内に配置されたキャッシュメモリと主
    メモリ間での書き戻し動作を制御するための装置を有す
    るデジタルコンピュータシステムにおいて、 前記キャッシュ内に所望データが存在しないことを検出
    し、再充填要求信号を主メモリに送出する手段で、前記
    主メモリが所定時間の継続中に前記再充填要求信号を処
    理し、前記所望データを前記キャッシュに送出する手段
    を含む、前記所定時間の継続中に、キャッシュ内のロケ
    ーションから書き戻しバッファへ先在データを送出する
    手段、 前記所望データを主メモリから受け取り、前記キャッシ
    ュ内のロケーションに記憶する手段、及び 前記所望データのキャッシュへの送出が完了されると、
    前記先在データを書き戻しバッファから主メモリへ送出
    する手段、 を備えたデジタルコンピュータシステム。 2、前記書き戻しバッファに送出される前記先在データ
    についてのエラー修正コードを求める手段を含む請求項
    1記載のデジタルコンピュータシステム。 3、前記エラー修正コードを求める手段が、前記所定時
    間の継続中にエラー修正コードを求める請求項2記載の
    デジタルコンピュータシステム。 4、前記キャッシュ内に記憶された前記先在データにつ
    いてのエラー修正コードを求める手段を含む請求項3記
    載のデジタルコンピュータシステム。 5、前記キャッシュ内に記憶された前記先在データにつ
    いてのエラー修正コードを求める手段が、前記所定時間
    の継続前にエラー修正コードを求める請求項4記載のデ
    ジタルコンピュータシステム。 6、前記所定時間の継続前及び中に求められた両エラー
    修正コードを比較し、両者間の差に応じた大きさを持つ
    固有のエラー信号を送出する手段を含む請求項3記載の
    デジタルコンピュータシステム。 7、前記エラー信号を受け取り、該エラー信号を修正マ
    スクに変換し、該修正マスクを前記書き戻しバッファに
    送出されたデータと組合せ、組合せ後の信号を書き戻し
    バッファ内に記憶する手段を含む請求項6記載のデジタ
    ルコンピュータシステム。 8、前記組合せ手段が、前記修正マスクと前記書き戻し
    バッファに送出されたデータとのXOR(排他的論理和
    )演算を行う手段を含む請求項7記載のデジタルコンピ
    ュータシステム。 9、中央処理装置用のキャッシュメモリと主メモリ間で
    の書き戻し動作を制御するための装置を有するデジタル
    コンピュータシステムで、前記主メモリが、充填要求に
    応じて前記主メモリから前記キャッシュへ所定のデータ
    を送出する手段を含むものにおいて、 前記充填要求に応じて、前記キャッシュ内のロケーショ
    ンから書き戻しバッファへ先在データを転送する手段、 前記所定のデータを主メモリから受け取り、前記キャッ
    シュ内の前記ロケーションに記憶して、前記書き戻しバ
    ッファに転送された前記先在データと置き換える手段。 前記先在データを前記書き戻しバッファから前記主メモ
    リへ転送する手段、及び 前記先在データが前記主メモリによって受け取られる前
    に、前記キャッシュ内の前記ロケーションから転送され
    た前記先在データにおけるエラーを修正する手段、 を備えたデジタルコンピュータシステム。 10、前記エラーを修正する手段が、前記キャッシュ内
    の前記ロケーションから前記先在データを受け取り、修
    正された先在データを前記書き戻しバッファに伝送する
    請求項9記載のデジタルコンピュータシステム。 11、前記エラーを修正する手段が、前記主メモリから
    前記キャッシュ内に転送されたデータについてのエラー
    修正コードチェックビットパターンを発生する手段、該
    チェックビットパターンを記憶するチェックビットメモ
    リ、及び該チェックビットメモリから前記チェックビッ
    トパターンを読み取り、該チェックビットメモリから読
    み取ったチェックビットパターンを用いて、前記キャッ
    シュから転送された先在データを修正する手段を含む請
    求項9記載のデジタルコンピュータシステム。 12、中央処理装置用のキャッシュメモリと主メモリと
    を有するデジタルコンピュータシステムにおけるデータ
    転送の方法で、前記主メモリが、充填要求に応じて前記
    主メモリから前記キャッシュへ所定のデータを送出する
    手段を含むものにおいて、 前記キャッシュ内のロケーションから書き戻しバッファ
    へ先在データを転送し、該先在データを書き戻しバッフ
    ァ内に記憶するステップ、前記所定のデータを主メモリ
    から受け取り、前記キャッシュ内の前記ロケーションに
    記憶して、前記書き戻しバッファに転送された前記先在
    データと置き換えるステップ、 前記先在データを前記書き戻しバッファから前記主メモ
    リへ転送するステップ、及び 前記先在データが前記主メモリによって受け取られる前
    に、前記キャッシュ内の前記ロケーションから転送され
    た前記先在データにおけるエラーを修正するステップ、 を含む方法。 13、前記エラーが、前記先在データを前記キャッシュ
    内の前記ロケーションから前記書き戻しバッファへ転送
    ステップ中に修正される請求項12記載の方法。 14、先在データ中における前記エラーが、チェックビ
    ットメモリからチェックビットパターンを読み取り、該
    チェックビットパターンを用いて前記先在データを修正
    する請求項12記載の方法。 15、前記チェックビットパターンが、前記主メモリか
    ら前記キャッシュに転送された前記データから発生され
    る請求項14記載の方法。 16、前記主メモリからのデータが前記キャッシュに書
    き込まれたとき、前記チェックビットパターンが前記チ
    ェックビットメモリに書き込まれる請求項15記載の方
    法。 17、前記主メモリから前記キャッシュへのデータの転
    送完了に応じて、前記先在データが前記書き戻しバッフ
    ァから前記主メモリに転送される請求項12記載の方法
JP1239811A 1989-02-03 1989-09-14 エラー修正能力を備えた書き戻しバッファ Pending JPH02208763A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/306,703 US4995041A (en) 1989-02-03 1989-02-03 Write back buffer with error correcting capabilities
US306703 1989-02-03

Publications (1)

Publication Number Publication Date
JPH02208763A true JPH02208763A (ja) 1990-08-20

Family

ID=23186479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1239811A Pending JPH02208763A (ja) 1989-02-03 1989-09-14 エラー修正能力を備えた書き戻しバッファ

Country Status (5)

Country Link
US (1) US4995041A (ja)
EP (1) EP0380853A3 (ja)
JP (1) JPH02208763A (ja)
AU (1) AU628525B2 (ja)
CA (1) CA1325290C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191638A (ja) * 2009-02-17 2010-09-02 Fujitsu Semiconductor Ltd キャッシュ装置
KR101026921B1 (ko) * 2008-05-09 2011-04-04 도요타지도샤가부시키가이샤 사행 제어 시스템 및 사행 제어 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3824309A1 (de) * 1988-07-18 1990-01-25 Bosch Gmbh Robert Verfahren zur auswertung von in einem datentelegramm digital codiert empfangener verkehrsnachrichten, sowie rundfunkempfaenger
US5371874A (en) * 1989-01-27 1994-12-06 Digital Equipment Corporation Write-read/write-pass memory subsystem cycle
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5146461A (en) * 1989-11-13 1992-09-08 Solbourne Computer, Inc. Memory error correction system distributed on a high performance multiprocessor bus and method therefor
US6807609B1 (en) * 1989-12-04 2004-10-19 Hewlett-Packard Development Company, L.P. Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
JPH0418648A (ja) * 1990-05-11 1992-01-22 Mitsubishi Electric Corp キャッシュを有するデータ処理装置及びそのデータアクセス方法
US5263144A (en) * 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
DE69127936T2 (de) * 1990-06-29 1998-05-07 Digital Equipment Corp Busprotokoll für Prozessor mit write-back cache
US5287512A (en) * 1990-08-06 1994-02-15 Ncr Corporation Computer memory system and method for cleaning data elements
US5233616A (en) * 1990-10-01 1993-08-03 Digital Equipment Corporation Write-back cache with ECC protection
US5483645A (en) * 1990-10-26 1996-01-09 Advanced Micro Devices, Inc. Cache access system for multiple requestors providing independent access to the cache arrays
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5295259A (en) * 1991-02-05 1994-03-15 Advanced Micro Devices, Inc. Data cache and method for handling memory errors during copy-back
JP2703417B2 (ja) * 1991-04-05 1998-01-26 富士通株式会社 受信バッファ
JP3134392B2 (ja) * 1991-08-29 2001-02-13 ソニー株式会社 信号符号化装置及び方法、信号復号装置及び方法、信号記録装置及び方法、並びに信号再生装置及び方法
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
EP0552426A1 (en) * 1992-01-24 1993-07-28 International Business Machines Corporation Multilevel memory system
WO1993020514A1 (en) * 1992-04-07 1993-10-14 Video Technology Computers, Ltd. Self-controlled write back cache memory apparatus
US5491702A (en) * 1992-07-22 1996-02-13 Silicon Graphics, Inc. Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5479636A (en) * 1992-11-16 1995-12-26 Intel Corporation Concurrent cache line replacement method and apparatus in microprocessor system with write-back cache memory
US5692154A (en) * 1993-12-20 1997-11-25 Compaq Computer Corporation Circuit for masking a dirty status indication provided by a cache dirty memory under certain conditions so that a cache memory controller properly controls a cache tag memory
DE69526279T2 (de) * 1994-02-22 2002-10-02 Siemens Ag Flexible Fehlerkorrekturcode/Paritätsbit-Architektur
US5509119A (en) * 1994-09-23 1996-04-16 Hewlett-Packard Company Fast comparison method and apparatus for error corrected cache tags
JP2842809B2 (ja) * 1995-06-28 1999-01-06 甲府日本電気株式会社 キャッシュ索引の障害訂正装置
JPH09146836A (ja) * 1995-11-21 1997-06-06 Kofu Nippon Denki Kk キャッシュ索引の障害訂正装置
US5719885A (en) * 1995-12-28 1998-02-17 Emc Corporation Storage reliability method and apparatus
US5805787A (en) * 1995-12-29 1998-09-08 Emc Corporation Disk based disk cache interfacing system and method
US5841795A (en) * 1996-02-12 1998-11-24 Compaq Computer Corporation Error correction codes
US5724501A (en) * 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US6003152A (en) * 1997-06-30 1999-12-14 Sun Microsystems, Inc. System for N-bit part failure detection using n-bit error detecting codes where n less than N
US6003144A (en) * 1997-06-30 1999-12-14 Compaq Computer Corporation Error detection and correction
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
US6038693A (en) * 1998-09-23 2000-03-14 Intel Corporation Error correction scheme for an integrated L2 cache
US6141789A (en) * 1998-09-24 2000-10-31 Sun Microsystems, Inc. Technique for detecting memory part failures and single, double, and triple bit errors
US6301680B1 (en) 1998-09-24 2001-10-09 Sun Microsystems, Inc. Technique for correcting single-bit errors and detecting paired double-bit errors
US6304992B1 (en) 1998-09-24 2001-10-16 Sun Microsystems, Inc. Technique for correcting single-bit errors in caches with sub-block parity bits
US6282686B1 (en) 1998-09-24 2001-08-28 Sun Microsystems, Inc. Technique for sharing parity over multiple single-error correcting code words
US6233716B1 (en) 1998-09-24 2001-05-15 Sun Microsystems, Inc. Technique for partitioning data to correct memory part failures
US6212631B1 (en) 1999-01-15 2001-04-03 Dell Usa, L.P. Method and apparatus for automatic L2 cache ECC configuration in a computer system
US6473880B1 (en) 1999-06-01 2002-10-29 Sun Microsystems, Inc. System and method for protecting data and correcting bit errors due to component failures
US6393597B1 (en) * 1999-06-01 2002-05-21 Sun Microsystems, Inc. Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
US6519717B1 (en) * 1999-10-06 2003-02-11 Sun Microsystems Inc. Mechanism to improve fault isolation and diagnosis in computers
US6934903B1 (en) * 2001-12-17 2005-08-23 Advanced Micro Devices, Inc. Using microcode to correct ECC errors in a processor
US20050022091A1 (en) * 2003-07-21 2005-01-27 Holman Thomas J. Method, system, and apparatus for adjacent-symbol error correction and detection code
GB2409301B (en) * 2003-12-18 2006-12-06 Advanced Risc Mach Ltd Error correction within a cache memory
US7721182B2 (en) * 2005-05-27 2010-05-18 International Business Machines Corporation Soft error protection in individual memory devices
US7631229B2 (en) * 2006-04-24 2009-12-08 Freescale Semiconductor, Inc. Selective bit error detection at a bus device
US8078942B2 (en) * 2007-09-04 2011-12-13 Oracle America, Inc. Register error correction of speculative data in an out-of-order processor
JP2011108306A (ja) * 2009-11-16 2011-06-02 Sony Corp 不揮発性メモリおよびメモリシステム
CN107220560B (zh) * 2017-06-22 2020-04-07 北京航空航天大学 一种基于数据缓存扩充的嵌入式系统数据完整性保护方法
US11003580B1 (en) 2020-04-30 2021-05-11 Seagate Technology Llc Managing overlapping reads and writes in a data cache

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1443777A (en) * 1973-07-19 1976-07-28 Int Computers Ltd Data processing apparatus
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4493081A (en) * 1981-06-26 1985-01-08 Computer Automation, Inc. Dynamic memory with error correction on refresh
US4500958A (en) * 1982-04-21 1985-02-19 Digital Equipment Corporation Memory controller with data rotation arrangement
US4780809A (en) * 1986-08-08 1988-10-25 Amdahl Corporation Apparatus for storing data with deferred uncorrectable error reporting

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101026921B1 (ko) * 2008-05-09 2011-04-04 도요타지도샤가부시키가이샤 사행 제어 시스템 및 사행 제어 방법
JP2010191638A (ja) * 2009-02-17 2010-09-02 Fujitsu Semiconductor Ltd キャッシュ装置
US8661198B2 (en) 2009-02-17 2014-02-25 Fujitsu Semiconductor Limited Cache device

Also Published As

Publication number Publication date
EP0380853A3 (en) 1991-10-02
US4995041A (en) 1991-02-19
AU5393490A (en) 1991-12-19
AU628525B2 (en) 1992-09-17
EP0380853A2 (en) 1990-08-08
CA1325290C (en) 1993-12-14

Similar Documents

Publication Publication Date Title
JPH02208763A (ja) エラー修正能力を備えた書き戻しバッファ
US5291586A (en) Hardware implementation of complex data transfer instructions
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5659713A (en) Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
KR920008430B1 (ko) 처리 판독 메모리 장치
US5019965A (en) Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US5500950A (en) Data processor with speculative data transfer and address-free retry
JPS5936350B2 (ja) キヤツシユ・アクセス方式
JPH0321934B2 (ja)
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
US6223253B1 (en) Word selection logic to implement an 80 or 96-bit cache SRAM
JPS6324428A (ja) キヤツシユメモリ
JPH02207367A (ja) デジタルコンピュータのサービス処理ユニットとシステム制御ユニットとの間のインターフェイス
US5335234A (en) Error correction code pipeline for interleaved memory system
US6591393B1 (en) Masking error detection/correction latency in multilevel cache transfers
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
JPS5918800B2 (ja) 部分書込み方法
US4349874A (en) Buffer system for supply procedure words to a central processor unit
JPH0746323B2 (ja) 部分書込みアクセスを圧縮する主記憶装置
IE901529A1 (en) Write back buffer with error correcting capabilities