JPH0524540B2 - - Google Patents

Info

Publication number
JPH0524540B2
JPH0524540B2 JP1297802A JP29780289A JPH0524540B2 JP H0524540 B2 JPH0524540 B2 JP H0524540B2 JP 1297802 A JP1297802 A JP 1297802A JP 29780289 A JP29780289 A JP 29780289A JP H0524540 B2 JPH0524540 B2 JP H0524540B2
Authority
JP
Japan
Prior art keywords
bits
lru
binary code
pattern
storage element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1297802A
Other languages
English (en)
Other versions
JPH02191052A (ja
Inventor
Furanshisu Ruushi Robaato
Josefu Daruzo Jefurii
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02191052A publication Critical patent/JPH02191052A/ja
Publication of JPH0524540B2 publication Critical patent/JPH0524540B2/ja
Granted 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Landscapes

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

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は複数のユニツト(unit)の使用の順序
を示す情報を維持する装置、特に該装置に関連し
た誤り検出手段に関する。 B 従来技術及びその問題点 ランダムなシーケンスで使用される複数のユニ
ツトを有するデータ処理システムでは、種々のユ
ニツトを共有して使用する必要があり、且つ最適
レベルのパフオーマンスを達成するためには、現
にユニツトに割当てられた使用以上の利用を必要
とする頻度が最低であるユニツトを更にそれぞれ
の新たな使用のために割当てる必要がある。 本発明の良好な実施例は高速バツフア記憶装置
(キヤツシユ)と、デイレクトリ・ルツク・アサ
イド・テーブル(DLAT)と、最低使用頻度
(LRU)置換アルゴリズムに従つてバツフア記憶
装置のそれぞれのセクシヨンの使用の順序に関す
る2進符号化情報を維持し更新する装置とを有す
るキヤツシユ記憶システムに組込まれる。 キヤツシユ及びそのDLATは複数の合同クラ
スに分割され、各合同クラスは複数のアソシアテ
イビテイ・クラスを含む。LRU装置は合同クラ
ス毎に1つの位置を持ちそこにそれぞれの合同ク
ラスのアソシアイビテイ・クラスの使用データ
(LRU2進コード)を記憶する記憶アレイを含む。
前記キヤツシユ記憶システムは多くの特許及び出
版物、例えば米国特許第3588829号明細書に記述
されている。 このタイプの既知のキヤツシユ・システムの動
作中、各合同クラスのLRU2進コードは、関連す
る合同クラスのアソシアテイビテイ・クラスの1
つに対応するキヤツシユ記憶(よくキヤツシユ・
ラインと呼ばれる)のアクセス(使用)が成功す
る毎に更新される。どのアソシアテイビテイ・ク
ラスがアクセスのため選択されるかにより、2進
コードの幾つかのLRUビツトが更新されなけれ
ばならない。残りの2進コード・ビツクは、それ
らが以前のアクセスの経歴を維持し変らないから
更新を必要としない。 キヤツシユ設計においてLRU機能は各合同ク
ラス内でキヤツシユ・ラインがアクセスされてい
る順序が記憶する。キヤツシユ合同クラスが一杯
になり当該合同クラスへのキヤツシユ・ラインの
ロードが必要になると、合同クラス内のどのアソ
シアテイビテイ・クラスが最低使用頻度になつて
いるかを判定するために合同クラスのLRU2進コ
ードが使用される。そして最低使用頻度をキヤツ
シユ・ライン内のデータは新しいデータと置換さ
れる。このLRU情報は各キヤツシユ合同クラス
に関連した2進コードに符号化される。2進コー
ド・ビツトの数は合同クラス当りのアソシアテイ
ビテイ・クラスの数によつて決まる。LRUの機
能は合同クラスがアクセスされる毎に2進コード
を更新することを要求するので、正確なアクセス
の経歴を維持することができる。 LRU機能はその時間の大部分を各合同クラス
でキヤツシユ・アソシアテイビテイ・クラスがア
クセスされる順序を記憶するのに消費する。キヤ
ツシユ・ミスによつて要求されると、LRUパタ
ーンはアレイから読取られ、復号され、そのとき
新しいデータに置換される最低使用頻度のアソシ
アテイビテイ・クラスを表わすために使用され
る。もしLRUアレイ、更新ロジツク又は制御部
が故障すれば、キヤツシユは有効なデータを供給
し続けることができるが、その誤りはシステム・
パフオーマンスを低下させるかも知れない不必要
なライン・ローデイングを起こす恐れがある。パ
フオーマンス低下の程度は故障にもよるが、かな
りのものになることがある。従つて、前記誤りの
早期検出が有利である。 キヤツシユのアクセスが成功している間は
LRU2進コードのLRUビツトがみな更新される
とは限らないが、一般に既知のシステムは、2進
コード・ビツトの全てを、更新を要するものも要
しないものも、適切なLRUアレイ位置から読出
している。前者のビツトは更新され、全てのビツ
トは、更新されたものも更新されないものも、記
憶位置に戻される。これは従来技術では更新動作
のREAD/MODIFY/WRITE(RMW)−読取/
変更/書込−サイクル呼ばれる。 受入可能なシステム・パフオーマンスはCPU
システム・サイクル中にRMWサイクルをうまく
実行する必要がある。システム速度が増大するに
つれてRMWサイクルはシステム・サイクル・タ
イムを制限する。 システムのこの制限をなくすために、LRU2進
コード内の各ビツト位置に1つの、独立して且つ
別々にアドレス可能な複数の記憶アレイを有する
LRU記憶装置を実現することが提案されている。
アレイ毎の別個の読取り/書込み制御は変更され
ないビツトの書込み制御を禁止することにより書
込み専用動作を可能にする。 各LRUの更新中、LRUアレイの2進コード・
ビツト位置に幾つかだけが書込まれ、2進コー
ド・ビツトはどれも“更新”の機能としては読出
されない。なぜなら“書込み専用”更新機能は
READサブサイクルなしに終了しているからで
ある。 誤り検出を可能にするため、別々にアドレス可
能なアレイの各々は合同クラス毎にLRUビツト
及びパリテイ・ビツトの2つのビツト位置を含
む。LRUビツトがアレイに書込まれると、適切
なパリテイ・ビツトが生成され各々のLRUビツ
ト即ち変更ビツトとともに記憶される。データ処
理システムの主記憶装置から関連する合同クラス
内の2進コードに対応するキヤツシユ・ラインに
データを転送することが必要になると、LRU2進
コードのパリテイ検査が実行される。 しかしながら、これが実現されると幾つかの誤
り検出問題が起こる。2進コード更新な選択され
たビツトにだけ書込むから、選択されないビツト
は変更されないままにアレイに保持される。よつ
て、更新中、検査のために、完全なLRU2進コー
ドを容易に入手することができない。更新中、も
し検査が省略されれば、LRU2進コード誤りの検
出は、ずつと後になつて、キヤツシユ・ライン・
ロード中に最低使用頻度のアソシアテイビテイ・
クラスを選択するために、2進コードが使用され
るまで起きないかも知れない。最初の故障時より
もずつと後にこれらの誤りを検出することは、最
初の誤りの原因の決定を更に困難にする。故障時
に誤りを検出することを可能にするために、本発
明は各更新後直ちにLRU2進コードを検査する方
法を開示する。 よつて、本発明の主たる目的は改良された誤り
検査方法及び装置を提供することである。 C 問題点を解決するための手段 本発明はLRU検査方法及び装置は、書込み中
のビツト及び変更されないままのビツト収集する
ことにより、更新された2進コードを検査し、そ
れらが有効なLRUビツト・パターンを形成する
かどうかを判定する。これは、有効ビツト・パタ
ーンを検査するため、新しいビツトをLRUアレ
イに書込むと同時に変更されないビツトを読出し
て新しいビツト及び変更されないビツトを検査す
ことにより、計算機サイクル・タイム即ちLRU
アレイ・アクセス時間に影響を及ぼさずに行なわ
れる。 D 実施例 第1図は本発明を利用できる良好な環境、即ち
キヤツシユ記憶システムを示す。しかしながら、
本発明は、キヤツシユが設けられていない主記憶
装置をアクセスするアドレスの速い変換のために
DLATが使用される高いパフオーマンスのシス
テムでも等しく役立つものである。 キヤツシユ記憶システムはキヤツシユ1及びそ
のDLAT2を含み、それらは複数の合同クラス
3−1〜3−n及び4−1〜4−nにそれぞれ分
割される。理解を容易にするため、これらは2次
元アレイの行(row)とみなされる。典型的なシ
ステムでは、nの値は128になる。各々のキヤツ
シユ合同クラスは更に複数のアソシアテイビテ
イ・クラス(ここでは5〜1〜5−4の4つ)に
分割され、各々のDLAT合同クラスは同数のア
ソシアテイビテイ・クラス6−1〜6−4に分割
される。概念的には、これらは2次元アレイの列
(colomn)とみなされる。4つの比較回路
(CMP)7−1〜7−4はプロセツサ・アドレ
ス・バス8を介してアドレス指定されたデータが
キヤツシユに存在しているかどうかを判定する。
バス8上のアドレス(X+Y+Z)は同時にキヤ
ツシユ1及びDLAT2をアドレス指定し、選択
された上位アドレス・ビツト(X)を比較回路7−1
〜7−4に供給する。 バス8上のアドレス(X+Y+Z)の部分Yを
用いてDLAT2の合同クラスがアクセスされる
と、その4つのアソシアテイビテイ・クラスに記
憶された上位のアドレス部分がX′が4つの比較
回路7−1〜7−4に転送される。もし4つの上
位のアドレス部分X′の1つがバス8上のアドレ
スの対応する上位のアドレス部分Xに一致すれ
ば、それぞれの比較回路はキヤツシユ内の“選択
された”アソシアテイビテイ・クラス及び合同ク
ラスに所望のデータが存在する、即ちキヤツシユ
“ヒツト”があることを表わす信号をそれぞれの
ライン9−1〜9−4に出力する。 比較回路7−1〜7−4の出力9−1〜9−4
は読取り/書込み(R/W)制御ロジツク10に
結合され、制御ロジツク10はバス19を介して
LRU記憶装置11に読取り(RD)及び書込み
(WR)入力を供給する。この場合、LRUアルゴ
リズムは6ビツト2進コードを必要とするので、
記憶装置11はビツト位置毎に1つのアレイを持
つ6つの独立した128X2LRUアレイ12−1〜
12−6を含む。各々のLRUアレイ例えば12
−1はキヤツシユ1及びDLAT2の各合同クラ
スに対応するエントリを含む、従つて、アレイ1
2−1〜12−6はそれぞれ合同クラス・エント
リ13−1〜13−n、14−1〜14−n、1
5−1〜15−n、16−1〜16−n、17−
1〜17−n、18−1〜18−nを有する。エ
ントリはアドレス・バス8の合同クラス・ビツト
Yを介してアクセスされる。 出力9−1〜9−4はLRU更新ロジツク20
に結合され、更新ロジツク20はバス21を介し
てデータ入力をLRUアレイ12−1〜12−6
に供給する。これらの入力はそれぞれアレイ12
−1〜12−6のビツトA〜Fとして示される。
ビツトA〜FはLPU2進コードの6ビツトを表
わす。 インバータ25〜30は合同クラス・エントリ
のもう1つのビツト位置の奇数パリテイ検査ビツ
トをアレイ12−1〜12−6に供給する。 アレイ12−1〜12−6でLRUビツトA〜
F及びパリテイ・ビツトが読出されると、それら
はバス32を介してレジスタ31に記憶される。
レジスタ31に結合されたパリテイ検査回路32
aは、LRU更新動作中にキヤツシユ“ミス”が
起こると、レジスタ31内のビツトのパリテイを
検査する。キヤツシユ・ミスが起こると、適切な
LRUビツトがアレイ12−1〜12−6からレ
ジスタ31に、次いでレジスタ33に転送され
る。置換アルゴリズム復合ロジツク回路34は置
換のためにどのアソシアテイビテイ・クラス(最
低使用頻度)が選択されるかを決定する。 LRUデータ更新バス21とバス32のLRUデ
ータ出力部分とは多重記憶制御装置
(multiplexor)37及びレジスタ38を介して
LRUパターン検査ロジツク36に結合される。
多重記憶制御装置37内のゲート動作はバス19
上の読取り及び書込み信号によつて決定される。 前述のように、6ビツト2進コードは各合同ク
ラスの4つのアソシアテイビテイ・クラス1〜4
の使用の順序を表わすために使用される。6ビツ
ト・コードは64の論理的な組合せを持つが、そ
のうちの24だけがLRUアルゴリズムで有効に
使用される。6ビツトは文字A〜Fで参照され
る。下記の表は全ての使用可能なシーケンスの
有効な2進ビツトの組合せを示す。
【表】 表で、時間シーケンスの左端の値は、“最高”
使用頻度のアソシアテイビテイ・クラスを表わ
し、右端の値は“最低”使用頻度のアソシアテイ
ビテイ・クラスを表わす。従つて、表の最上部の
エントリ“1234”は1は最高、2は次に最高、3
はそれに次ぎ、4は“最低“の使用頻度であるこ
とを意味する。もしキヤツシユ・ミスが起これ
ば、置換のためアソシアテイビテイ・クラス4が
選択される。 LRUビツトの下の項は有効なシーケンスの条
件を示す。例えば、1A2はアソシアテイビテイ・
クラス1がアソシアテイビテイ・クラス2の後の
使用に選択されたことを意味し、1A3はアソシア
テイビテイ・クラス1がアソシアテイビテイ・ク
ラス3の後の使用に選択されたことを意味する、
等である。 シーケンス毎に、各項の下のLRUビツト値、
例えば1A2、1A3等は、もし実際のシーケンスが
それぞれのシーケンス条件に一致すれば、論理的
な“1”である。例えば、シーケンス1234で、ク
ラス2、3、4の後に使用にクラス1が選択さ
れ、クラス3及び4の後の使用にクラス2が選択
され、クラス4の後に使用にクラス3が選択され
ている。従つて、全てのLRUビツトは論理的な
“1”である。 もし条件が一致しなければ、論理的な“0”が
現われる。例えば、シーケンス1243で、クラス4
の後の使用にクラス3は選択されていないから、
LRUビツトFの下には論理的な“0”が現われ
る。逆に反対が真である。 表のLRU2進コードを維持するための更新手
順は下記の表に示す。プロセツサが仮想アドレ
スをバス8に乗せ、うまくキヤツシユ1即ちキヤ
ツシユ・ビツトをアクセスする毎に更新が起き
る。比較一致信号はバス8上の対応する上位の仮
想アドレスの値に等しい上位の仮想アドレスの値
を持つアソシアテイビテイ・クラスを見いだす比
較回路7−1〜7−4に対応するライン9−1〜
9−4のうちの1つのラインに現われる。
【表】 従つて、アソシアテイビテイ・クラス1がライ
ン9−1上の比較一致信号を活動状態にすると、
2進“1”の値はバス8上の仮想アドレス内の合
同クラス・ビツトに対応する合同クラス位置のビ
ツトA、B、CのLRUアレイに書込まれる。 同様に、アソシアテイビテイ・クラス2の比較
一致信号は2進値“0、1、1”を適切な合同ク
ラスのビツトA、D及びEのLRUアレイにそれ
ぞれ書込み、比較一致信号3はアレイB、D及び
Fに“0、0、1”を書込み、比較一致信号4は
アレイC、E及びFに“0、0、0”を書込む。 各更新で変更されないビツトは前の比較の経歴
を維持するので、そのままに保持されなければな
らない。 第1、第2及び第3図で、アレイ12−1〜1
2−6並びに関連したロジツク10及び20が前
記第及び表のLRUアルゴリズムを実現する
ことがわかる。プロセツサ(図示せず)はキヤツ
シユ1をアクセスするためアドレスをバス8に乗
せるものと仮定する。該アドレスの合同クラス・
ビツトYはDLAT2内の適切な合同クラスの4
つのアソシアテイビテイ・クラスを選択し、それ
らの内容(より上位のアドレス・ビツトX′)を
比較回路7−1〜7−4に取込む。 もしバス8上のアドレスによつて探したデータ
がキヤツシユ1にあれば、4つのアソシアテイビ
テイ・クラスの1つに記憶された上位のビツトは
バス8上の対応する上位のアドレス・ビツトと一
致し(等しく)、出力ライン9−1〜9−4の1
つに比較一致信号を生じさせる。 第2図は表に関して記述された説明に対応す
る読取り/書込み制御ロジツク10の論理的な実
現を示す。ライン9−1上の比較一致信号はOR
回路45,46,47を介してバス19の書込み
(WR)A、書込みB及び書込みCラインに信号
を供給する。 同様に、ライン9−2上の比較一致信号はOR
回路45,48,49を介して書込み(WR)
A、書込みD及び書込みEラインに信号を供給す
る。ライン9−3上の比較一致信号はOR回路4
0,48,50を介して書込み(WR)B、書込
みD及び書込みFラインに信号を供給する。ライ
ン9−4上の比較一致信号はOR回路47,4
9,50を介して書込み(WR)C、書込みE及
び書込みFラインに信号を供給する。 後で説明する理由により、ライン9−1上の信
号はOR回路53,52,51を介して読取り
(RD)D、E及びFラインに信号を供給し、ラ
イン9−2上の信号はOR回路55,54,51
を介して読取り(RD)B、C及びFラインに信
号を供給し、ライン9−3上の信号はOR回路5
6,54,52を介して読取り(RD)A、C及
びEラインに信号を供給し、ライン9−4上の信
号はOR回路56,55,53を介して読取り
(RD)A、B及びDラインに信号を供給する。 キヤツシユ・アクセスを試みている間にライン
9−1〜9−4のどれにも比較一致信号がない、
即ちキヤツシユ・ミスなら、OR−INVERT回路
57は全ての読取りラインA〜Fに信号を供給
し、適切なLRU2進コードをロジツク34に読出
し、どのアソシアテイビテイ・クラスを置換する
かを決定する。回路57はライン58にも信号を
供給する。 第3図は表に関して記述された説明に対応す
るLRU更新ロジツク20の論理的な実現を示す。
更新ロジツク20は現在のLRUの値とは無関係
である。アレイ12−1〜12−6の各々に1つ
ずつ複数のドライバ回路(DR)60〜65が設
けられる。ドライバ60はアレリ12−1のデー
タ入力Aを駆動し、ドライバ61はアレイ12−
2のデータ入力Bを駆動する。以下同様である。 各ドライバ回路は論理的な1及び0の入力を有
する、論理的な1の入力の信号はバス21の一部
となる出力ラインに論理的な1のレベルを供給す
る。論値的な0の入力信号は出力に論理的な0の
レベルを供給する。 よつて、ライン9−1上の比較一致信号は、ド
ライバ60,61,62及びバス21を介してア
レイ12−1,12−2,12−3へのデータ入
力A、B、Cに論理的な1の信号レベルを生成す
る。前述のように、ライン9−1の比較一致信号
は書込みA、B、Cラインも活動状態にしてい
る。合同クラス・アドレスY信号はアレイ12−
1〜12−6内の適切な合同クラスを選択し、選
択された合同位置のアレイ12−1〜12−3に
論理的な1のビツトが書込まれる。 同様に、ライン9−2上の比較一致信号はドラ
イバ60,63,64、バス21及び該アレイの
データ入力A、D、Eを介して論理的なビツト
0、1、1をアレイ12−1,12−4,12−
5に書込む。 ライン9−3上の比較一致信号はドライバ6
1,63,65、バス21及び該アレイのデータ
入力B、D、Fを介して論理的なビツト0、0、
1をアレイ12−2,12−4,12−6に書込
む。 ライン9−4上の比較一致信号はドライバ6
2,64,65、バス21及び該アレイのデータ
入力C、E、Fを介して論理的なビツト0、0、
0をアレイ12−3,12−5,12−6に書込
む。 第4図は、LRU機能のデータフロー及びパリ
テイ生成、パリテイ検査を示す。LRU2進コー
ド・データが3つのアレイに書込まれる、即ちキ
ヤツシユ・ヒツトする毎に、インバータ25〜3
0により該3つの書込まれたコード・ビツトの
各々について奇数パリテイが生成される。 第2図に関して説明したように、キヤツシユ・
ヒツトの結果、書込まれなかつた3のアレイは適
切なOR回路51〜56によつて制御され、適切
な合同クラス位置からデータ(LRUビツト及び
パリテイ・ビツト)を読取る。これは書込み動作
と同時に起きる。3セツトLRU/パリテイ・ビ
ツトは読取り(RD)A〜読取り(RD)Fライ
ン(第2図及び第4図)の制御パリテイ検査回路
32aに読み込まれる。書込まれたビツトのパリ
テイの検査は、該パリテイ・ビツトがインバータ
25〜30を介して生成されたばかりであるから
行なわれない。しかしながら、変更されない
LRUビツトのパリテイはできるだけ早く誤りを
見つけるために検査される。 キヤツシユ・“ミス”が発生したとき、回路5
7(第2図)は全体のLRU2進コードのアレイ1
2−1〜12−6からの読出しを生じさせる。パ
リテイ検査回路32aはLRUビツト・コードの
ビツト位置のどれかにパリテイ誤りがあるかどう
かを判定する。そして、もし誤りがなければ、
LRU2進コードはレジスタ33に記憶される。置
換復合ロジツク34(第4図)はプロセツサ・バ
ス8上の仮想アドレスに要求されたデータとの置
換のため適切なアンシアテイビテイ・クラスを選
択する。 第5図はLRUパターン検査信号をデータフロ
ーを示す。(有効なパリテイを持つ)違法なパタ
ーンの使用はライン・ロードの間に最低使用頻度
のものとは別のエントリの置換を生じさせること
があり、それがキヤツシユ・ミスをより頻繁に生
じさせ、システム・パフオーマンスを低下させる
ことがある。従つて、正しいパリテイを持つ違法
のパターンが故障の結果生じるときは、合法の
LRUパターンの検査が望ましく、それによつて、
パリテイ検査の場合よりも多くの誤りの検出する
ことができる。 たとえ故障が起きても正しいパリテイが維持さ
れる多くの場合がある。例えば、もし更新ロジツ
クが故障し間違つた更新ビツトのセツトを生成す
れば、それらがLRUアレイに書込まれる直前に、
これらの個々のビツト毎に正しいパリテイが生成
される。よつて、たとえバリテイに誤りがあつて
も正しいパリテイが維持される。もし誤りのある
パターンが24の有効な組合せの1つではないな
ら、パターン検査によつて故障が検出される。 更新中は完全なLRUパターンが容易に入手で
きないから、良好なLRU実施例ではパターン検
査は複雑である。一般に、パターン内の6ビツト
のうちの3つはこれらのビツトが書込み中である
から既知である。残りの3ビツトは変更されずに
LRUに保持されるので未知である。キヤツシ
ユ・ミスでパターンが読取られるまで検査を遅延
させることは可能であるが、一般に、この時点で
の誤りの検出は最初の誤りが生じた後に多くの計
算機サイクルを必要とする。誤りの発生からその
誤りの検出までの遅延は最初の故障の原因を判定
することも可能にする。 本発明のパターン検査方法は書込まれることに
なつているビツト及び変更されないままになつて
いるビツトを収集し且つ各々のLRUの更新直後
にLRUパターンを検査する。書込み中の3ビツ
トは既知である。それぞれのアレイで変更されな
いままになつている3ビツトは容易には入手でき
ず、LRUパターンを検査するために取得されな
ければならない。これらの3ビツトは、他の3つ
のアレイがそれらの変更されたビツト書込むと同
時に、ビツトが変更されない3つのアレイを読取
ることにより取得される。よつて、完全なパター
ンは2つのソースから収集し検査することができ
る。 従つて、第5図で明らかなように、更新ロジツ
ク・バス21のそれぞれのデータ入力ラインA〜
Fは多重記憶制御装置37の多重化エレメント7
0〜75へのデータ入力を形成する。書込みA〜
書込みFライン(第2図)はエレメント70〜7
5へのゲート入力を形成する。アレイ12−1〜
12−6のLRUA〜F出力はエレメント70〜
75へのもう1つのデータ入力を形成する。読取
りA〜読取りFのラインはエレメント70〜75
へのゲート入力を形成する。前述のように、各々
のLRU更新動作中、3ビツトはLRUアレイに書
込まれ、他の3ビツトはアレイから読取られる。
これらの、新しいLRU2進コード・パターンを形
成する6ビツトは、ロジツク36による有効性検
査のため多重化エレメント70〜75によつてレ
ジスタ38にゲートされる。 従つて、変更されないLRUビツトのパリテイ
検査及び新たに形成されたLRUパターンのパタ
ーン検査は、そのための時間を追加することな
く、更新システム書込みサイクル中に達成され
る。 読取られ且つ書まれたLRUビツトの収集によ
るLRU誤り検出は、更新発生時に、変更されな
いビツトの並行読取りを行なうとによりLRUア
レイ上の独立のビツトのR/W制御を利用する。
これは各更新後のパターン検査のための完全な
LRUパターを入手し、故障分析を容易にする故
障時の誤り検出を可能にする。 E 発明の効果 本発明によれば、LRU更新後直ちにLRU2進
コードを検査することができ、したがつて故障時
に誤りを検出することが可能になる。
【図面の簡単な説明】
第1図は改良された良好な誤り検出機構の形式
を組込むキヤツシユ記憶システムの概要図であ
る。第2図及び第3図はそれぞれ本発明の読取
り/書込み制御ロジツク及びLRU更新ロジツク
の論理的な実現の概要図である。第4図は本発明
のLRU機能のデータフローを示す図である。第
5図は本発明のパターン検査機能のデータフロー
を示す図である。 1……キヤツシユ、2……DLAT、7−1〜
7−4……比較回路、8……プロセツサ・アドレ
ス・バス、10……読取り/書込み制御ロジツ
ク、11……LRU記憶装置、12−1〜12−
6……LRUアレイ、20……LRU更新ロジツ
ク、25〜30……インバータ、32a……パリ
テイ検査回路、34……置換復号ロジツク回路、
36……LRUパターン検査ロジツク、37……
多重記憶制御装置、38……レジスタ、45〜5
6……OR回路、57……OR−INVERT回路、
60〜65……ドライバ回路、70〜75……多
重化エレメント。

Claims (1)

  1. 【特許請求の範囲】 1 ランダムなシーケンスで使用される複数のユ
    ニツトにおけるユニツトを置換する順序を表わす
    2進コード・パターンを生成し誤りを検査するシ
    ステムであつて、 該パターンを記憶するため、該パターン内の論
    理的なビツト毎に1つの、複数の記憶エレメン
    ト、 該ユニツトの各々に関連し、該関連したユニツ
    トの使用を表わす信号を生成する手段、 該記憶エレメント及び該信号生成手段に接続さ
    れ、該パターン・ビツトのうちの幾つかについて
    だけ更新ビツトを生成するロジツク手段、 該信号生成手段に記憶エレメント毎に接続さ
    れ、前記使用信号に従つて前記記憶エレメントの
    うちの幾つかにだけ該更新ビツトを書込み、該記
    憶エレメントから前記幾つかのエレメントとは別
    の変更されないパターン・ビツトを読取る別個の
    読取り/書込み制御部、 該ロジツク手段及び該記憶エレメントに接続さ
    れ、該更新されたパターン・ビツトを該ロジツク
    手段から、該変更されないパターン・ビツトを該
    記憶エレメントから収集する手段、及び 該収集手段に接続され、該収集されたパターン
    の有効性又は非有効性を決定するパターン検査手
    段 を含む誤り検査システム。 2 ランダムなシーケンスで使用される複数のユ
    ニツトにおけるユニツトの使用の順序を表わす2
    進コードを生成するシステムにおいて、該2進コ
    ードの論理的なビツト毎に1つの、別々に選択可
    能な記憶エレメントを持つ前記2進コードの記憶
    手段、該ユニツトの各々に関連し該関連したユニ
    ツトの使用を表わす信号を生成する手段、及び該
    記憶エレメント及び該信号生成手段に接続され、
    前記使用信号に従つて該記憶エレメントのうちの
    選択されたものだけを更新するロジツク手段を含
    み、それらと各々の更新された2進コードの有効
    性を検査する装置の組合せが 該記憶エレメン及び該ロジツク手段に接続さ
    れ、該記憶エレメントの更新中に、更新された2
    進コード・ビツトを該ロジツク手段から、変更さ
    れない2進コード・ビツトを該選択されない記憶
    エレメントから収集する手段、及び 該収集手段に接続され、該収集されたビツトの
    有効性を2進コードとして決定するパターン検査
    手段 を含む誤り検査システム。 3 ランダムなシーケンスで使用される複数のユ
    ニツトにおけるユニツトの使用の順序を表わす2
    進コード・パターンを生成し誤り検査するシステ
    ムにおいて、該2進コード・パターン内の論理的
    なビツト毎に1つの、別々に選択可能な記憶エレ
    メントを持つ前記2進コード・パターンの記憶手
    段、該ユニツトの各々に関連し該関連したユニツ
    トの使用を表わす信号を生成する手段、該記憶エ
    レメント及び該信号生成手段に接続され、前記使
    用信号に従つて該記憶エレメントのうちの選択さ
    れたものだけに記憶するための更新された2進コ
    ード・パターン・ビツトを生成する第1のロジツ
    ク手段、及び 該記憶エレメント及び該信号生成手段に接続さ
    れ、該更新された2進コード・パターン・ビツト
    を前記選択された記憶エレメントに書込む第2の
    ロジツク手段を含み、それらと、更新中に該更新
    された各2進コード・パターンの有効性を検査す
    る装置の組合せが 該2進コード・パターンの更新中に、該選択さ
    れた記憶エレメントに書込み信号を、該選択され
    ない記憶エレメントに読取り信号を印加する手段
    を含む前記第2のロジツク手段、 該記憶エレメント並びに該第1及び第2のロジ
    ツク手段に接続され、更新された2進コード・パ
    ターン・ビツトを該第1のロジツク手段から、変
    更されない2進コード・パターン・ビツトを該選
    択されない記憶エレメントから収集する手段、及
    び 該収集手段に接続され、該収集されたビツトが
    有効な2進コード・パターンを形成するかどうか
    を決定するパターン検査手段 を含む誤り検査システム。
JP1297802A 1989-01-06 1989-11-17 Lru2進コードの検査システム Granted JPH02191052A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US294021 1989-01-06
US07/294,021 US4967414A (en) 1989-01-06 1989-01-06 LRU error detection using the collection of read and written LRU bits

Publications (2)

Publication Number Publication Date
JPH02191052A JPH02191052A (ja) 1990-07-26
JPH0524540B2 true JPH0524540B2 (ja) 1993-04-08

Family

ID=23131558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1297802A Granted JPH02191052A (ja) 1989-01-06 1989-11-17 Lru2進コードの検査システム

Country Status (4)

Country Link
US (1) US4967414A (ja)
EP (1) EP0377164B1 (ja)
JP (1) JPH02191052A (ja)
DE (1) DE68923694T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5125085A (en) * 1989-09-01 1992-06-23 Bull Hn Information Systems Inc. Least recently used replacement level generating apparatus and method
ATE158882T1 (de) * 1990-06-15 1997-10-15 Compaq Computer Corp Vorrichtung zur echten lru-ersetzung
JPH0667980A (ja) * 1992-05-12 1994-03-11 Unisys Corp 4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法
US5530823A (en) * 1992-05-12 1996-06-25 Unisys Corporation Hit enhancement circuit for page-table-look-aside-buffer
US5471605A (en) * 1992-08-27 1995-11-28 Intel Corporation Apparatus for updating a multi-way set associative cache memory status array
EP0612015A1 (en) * 1993-02-16 1994-08-24 International Business Machines Corporation Improved disk array system having special parity groups for data blocks with high update activity
US5611072A (en) * 1993-10-12 1997-03-11 Texas Instruments Incorporated Cache with an extended single cycle read/write system and method
US5813028A (en) * 1993-10-12 1998-09-22 Texas Instruments Incorporated Cache read miss request invalidation prevention method
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
JP3532289B2 (ja) * 1995-04-27 2004-05-31 三菱電機株式会社 計算機システム解析装置
US5897655A (en) * 1996-12-10 1999-04-27 International Business Machines Corporation System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6338120B1 (en) 1999-02-26 2002-01-08 International Business Machines Corporation Apparatus for cache use history encoding and decoding including next lru and next mru and method therefor
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6571317B2 (en) * 2001-05-01 2003-05-27 Broadcom Corporation Replacement data error detector
US20030131277A1 (en) * 2002-01-09 2003-07-10 Taylor Richard D. Soft error recovery in microprocessor cache memories
JP3953903B2 (ja) * 2002-06-28 2007-08-08 富士通株式会社 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR116049A (ja) * 1975-03-20
US4323968A (en) * 1978-10-26 1982-04-06 International Business Machines Corporation Multilevel storage system having unitary control of data transfers
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
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4483003A (en) * 1982-07-21 1984-11-13 At&T Bell Laboratories Fast parity checking in cache tag memory
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
DE3433679A1 (de) * 1984-09-13 1986-03-27 Siemens AG, 1000 Berlin und 8000 München Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
DE3686291T2 (de) * 1985-05-29 1993-03-11 Toshiba Computer Eng Cache-anordnung mit einem lru-verfahren und magnetscheibensteuereinrichtung mit einer solchen anordnung.
US4831625A (en) * 1986-12-11 1989-05-16 Texas Instruments Incorporated Easily cascadable and testable cache memory
US4833601A (en) * 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults

Also Published As

Publication number Publication date
DE68923694D1 (de) 1995-09-07
US4967414A (en) 1990-10-30
JPH02191052A (ja) 1990-07-26
EP0377164A2 (en) 1990-07-11
DE68923694T2 (de) 1996-04-18
EP0377164B1 (en) 1995-08-02
EP0377164A3 (en) 1991-01-09

Similar Documents

Publication Publication Date Title
JPH0524540B2 (ja)
US6006311A (en) Dynamic updating of repair mask used for cache defect avoidance
US5594886A (en) Pseudo-LRU cache memory replacement method and apparatus utilizing nodes
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
US6480975B1 (en) ECC mechanism for set associative cache array
US4168541A (en) Paired least recently used block replacement system
US7069494B2 (en) Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism
US5329629A (en) Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access
US5958068A (en) Cache array defect functional bypassing using repair mask
US7272773B2 (en) Cache directory array recovery mechanism to support special ECC stuck bit matrix
US7856576B2 (en) Method and system for managing memory transactions for memory repair
US5617347A (en) Cache memory system and method thereof for storing a staged memory item and a cache tag within a single cache array structure
US5060136A (en) Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
JPS58179982A (ja) 多重レベル・キヤツシユ・システム
US6085288A (en) Dual cache directories with respective queue independently executing its content and allowing staggered write operations
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
US5883904A (en) Method for recoverability via redundant cache arrays
JPH0337218B2 (ja)
US5867511A (en) Method for high-speed recoverable directory access
US5943686A (en) Multiple cache directories for non-arbitration concurrent accessing of a cache memory
US20020087825A1 (en) Error detection in cache tag array using valid vector
US5886930A (en) Bit interleaving in a memory which uses multi-bit DRAMs
US5557622A (en) Method and apparatus for parity generation
US6493792B1 (en) Mechanism for broadside reads of CAM structures
JPH01199250A (ja) データ処理装置