JPH0353660B2 - - Google Patents

Info

Publication number
JPH0353660B2
JPH0353660B2 JP59044022A JP4402284A JPH0353660B2 JP H0353660 B2 JPH0353660 B2 JP H0353660B2 JP 59044022 A JP59044022 A JP 59044022A JP 4402284 A JP4402284 A JP 4402284A JP H0353660 B2 JPH0353660 B2 JP H0353660B2
Authority
JP
Japan
Prior art keywords
address
data
request
buffer memory
array
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
JP59044022A
Other languages
Japanese (ja)
Other versions
JPS60189553A (en
Inventor
Makoto Kishi
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
Priority to JP59044022A priority Critical patent/JPS60189553A/en
Publication of JPS60189553A publication Critical patent/JPS60189553A/en
Publication of JPH0353660B2 publication Critical patent/JPH0353660B2/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

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ処理装置のバツフア制御方式に
係り、特にバツフアメモリのアドレスアレイ部に
おける障害時のリプレース制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a buffer control system for a data processing device, and more particularly to a replacement control system in the event of a failure in the address array section of a buffer memory.

〔発明の背景〕[Background of the invention]

中大型機等のデータ処理装置においては、一般
に主記憶装置の他に高速バツフアメモリを備え、
主記憶装置内の使用頻度の高いデータをバツフア
メモリに格納しておき、メモリ参照時、該バツフ
アメモリを参照して目的のデータを読み取ること
により、処理の高速化を図つている。バツフアメ
モリに格納されているデータの主記憶アドレス
は、通常、アドレスアレイに登録されており、メ
モリリクエストがあると、まず、アドレスアレイ
に登録されている主記憶アドレスの中にリクエス
トアドレスと一致するものがあるか否かを調べら
れる。そして、一致するものがない場合には、既
にバツフアメモリ内に格納されているデータを無
効とし、新たに主記憶装置から必要とするデータ
をバツフアメモリに格納し、その主記憶アドレス
をアドレスアレイに登録するリプレースが発生す
る。アドレスアレイに障害が発生し、アドレスア
レイから読出した主記憶アドレスに誤りがある場
合に、その障害を放置しておくと、実際にその主
記憶アドレスがリクエストアドレスと一致するも
のであるにもかかわらず、リプレースが発生し
て、2重登録となる危険性があり、何らかの対策
が必要であつた。
Data processing devices such as medium- and large-sized machines are generally equipped with high-speed buffer memory in addition to the main memory.
Frequently used data in the main storage device is stored in a buffer memory, and when the memory is referenced, the buffer memory is referred to and the target data is read, thereby speeding up the processing. The main memory address of data stored in the buffer memory is usually registered in an address array, and when a memory request is made, first, one of the main memory addresses registered in the address array that matches the request address is registered. You can check whether there is. If there is no match, the data already stored in the buffer memory is invalidated, the required data is newly stored in the buffer memory from the main memory, and its main memory address is registered in the address array. Replacement occurs. If a fault occurs in the address array and there is an error in the main memory address read from the address array, if the fault is left unaddressed, even though the main memory address actually matches the request address, First, there was a risk that replacement would occur and double registration would occur, so some kind of countermeasure was needed.

〔発明の目的〕[Purpose of the invention]

本発明はバツフアメモリのアドレスアレイの信
頼性を向上し、2重登録の危険性を防止したバツ
フアメモリの制御方法を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a buffer memory control method that improves the reliability of the buffer memory address array and prevents the risk of double registration.

〔発明の概要〕[Summary of the invention]

本発明は、バツフアメモリのアドレスアレイに
アドレスを登録する際、この登録アドレスと共に
登録アドレスに対するパリテイチエツクビツト、
及びECCチエツクコードも同時に登録する。こ
のECCチエツクコードは、書き込みデータに対
して所定のアルゴリズムにより得られるものであ
り、データ読み出し時には、このECCチエツク
コードを用いて所定のアルゴリズムにより、読み
出しデータのエラーの有無の検出、さらに、検出
されたエラーの訂正を行うためのものである。こ
のような、ECCチエツクコードによるエラーの
検出、訂正の方法は、ECC(Error Check and
Correct)方式として、RAM素子等のメモリ障
害対策として一般的に用いられているものであ
る。本発明において、このECCチエツクコード
はアドレスアレイの各カラム毎に、各ロー対応に
設けても、あるいは複数のローの各登録アドレス
に対して1組設けてもよい。メモリリクエスト時
は、リクエストアドレスとアドレスアレイに登録
されたアドレスをパリテイチエツクビツトと共に
比較し、リクエストアドレスに対応するデータが
バツフアメモリに格納されているか否かを判定す
るそして、バツフアメモリ内にリクエストデータ
に対応するデータが格納されていない場合、当該
カラムについて登録されているアドレスとECC
チエツクコードを読みだし、ECCエラーの無い
場合は、通常のアルゴリズムによつてリプレース
ローを決定してリプレースを実行し、ECCエラ
ーのある場合は、エラーの発生しているビツトを
含むローをリプレースローとして選択し、ECC
訂正済みのアドレスを用いてバツフアメモリより
主記憶へデータを書き戻す。
When an address is registered in the address array of a buffer memory, the present invention provides parity check bits for the registered address along with the registered address.
and ECC check code are also registered at the same time. This ECC check code is obtained by a predetermined algorithm for the written data, and when reading data, this ECC check code is used to detect whether or not there is an error in the read data, and also to detect whether or not an error has been detected. This is to correct any errors that may have occurred. This method of detecting and correcting errors using ECC check codes is called ECC (Error Check and
Correct method is commonly used as a countermeasure against memory failures in RAM devices, etc. In the present invention, this ECC check code may be provided for each row in each column of the address array, or one set may be provided for each registered address in a plurality of rows. When making a memory request, the request address and the address registered in the address array are compared together with the parity check bit to determine whether or not the data corresponding to the request address is stored in the buffer memory.Then, the request data is stored in the buffer memory. If the corresponding data is not stored, the address and ECC registered for the column
Reads the check code, and if there is no ECC error, determines the replacement throw using the normal algorithm and executes the replacement, and if there is an ECC error, replaces the row containing the bit with the error. Select as ECC
Data is written back from the buffer memory to the main memory using the corrected address.

これにより、アドレスアレイに障害があり、ア
ドレスアレイからの読出しデータに誤りがある場
合でも2重登録となる危険性を防止することがで
きる。
Thereby, even if there is a failure in the address array and there is an error in the data read from the address array, it is possible to prevent the risk of double registration.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を図面により詳細に説
明する。
Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

第1図は本発明が対象とするデータ処理装置の
システム構成例である。同図において、101は
入出力チヤネル装置(CH)、102と103は
中央処理装置(CPU)であり、これらは記憶制
御装置104を介して主記憶装置(MS)と接続
されている。記憶制御装置104はリクエスト受
付部106,107,108、プラリオリテイ回
路109、リクエスト制御部110、デイレクト
リ部111、バツフアメモリ(BS)112等で
構成される。
FIG. 1 shows an example of a system configuration of a data processing device to which the present invention is applied. In the figure, 101 is an input/output channel device (CH), 102 and 103 are central processing units (CPU), and these are connected to a main storage device (MS) via a storage control device 104. The storage control device 104 includes request reception units 106, 107, and 108, a priority circuit 109, a request control unit 110, a directory unit 111, a buffer memory (BS) 112, and the like.

CH101あるいはCPU102,103から発
行されるメモリリクエストは、それぞれリクエス
ト受付部106,107,108へ一担取り込ま
れる。このリクエスト受付部106〜108に取
り込まれたメモリリクエストの1つをプライオリ
テイ回路109が選択し、リクエスト制御部11
0とデイレクトリ部111へ与える。デイレクト
リ部111は、BS112に格納されているデー
タのMSアドレスを登録しているアドレスアレ
イ、及び、その周辺回路を有し、メモリリクエス
トアドレスがアドレスアレイに登録されているか
否かチエツクして、その結果をリクエスト制御部
110に伝える。ここで、リクエストアドレスが
アドレスアレイに登録されている場合をIn BS、
登録されていない場合をNot in BSと呼ぶ。い
ま、フエツチリクエストの場合、リクエスト制御
部110は、In BSのときはBS112よりデー
タをフエツチしてCH101あるいはCPU10
2,103のリクエスト発行元に該データを転送
し、Not in BSのときはBS112上の不用デー
タをMS113に戻して、リクエストアドレスを
含むライン単位のデータをMS113から新たに
BS112へ転送した後、目的のデータをリクエ
スト発行元へ転送する。また、ストアリクエスト
の場合は、In BSのリクエストについてはBS1
12のみにデータを書き込み(すなわち、これが
ストアイン方式である)、Not in BSのリクエス
トについては、MS113に該データを含むライ
ンをBSに登録した後該データを書き込む。
Memory requests issued from the CH 101 or the CPUs 102 and 103 are taken into request reception units 106, 107, and 108, respectively. The priority circuit 109 selects one of the memory requests taken in by the request reception units 106 to 108, and the request control unit 11
0 to the directory unit 111. The directory unit 111 has an address array in which the MS addresses of data stored in the BS 112 are registered, and its peripheral circuits, and checks whether a memory request address is registered in the address array, and checks whether the memory request address is registered in the address array. The result is communicated to the request control unit 110. Here, if the request address is registered in the address array, In BS,
If it is not registered, it is called Not in BS. Now, in the case of a fetch request, the request control unit 110 fetches data from the BS 112 when it is In BS, and sends it to CH 101 or CPU 10.
The data is transferred to the request issuer of 2,103, and when Not in BS, the unnecessary data on BS112 is returned to MS113, and the data for each line including the request address is newly sent from MS113.
After transferring to BS112, the target data is transferred to the request source. Also, for store requests, BS1 for In BS requests.
12 (that is, this is a store-in method), and for a Not in BS request, the line containing the data is registered in the BS in the MS 113, and then the data is written.

本発明は第1図におけるデイレクトリ部111
に係わるものである。第2図に本発明の一実施例
を示す。便宜上、以下の説明では、アドレスアレ
イは256カラム×4ローで構成され、BSとMS間
のデータ転送は256バイトのラインを単位として
行われるとする。
The present invention is directed to the directory section 111 in FIG.
This is related to. FIG. 2 shows an embodiment of the present invention. For convenience, in the following description, it is assumed that the address array is composed of 256 columns x 4 rows, and data transfer between the BS and MS is performed in units of 256-byte lines.

第3図はリクエストアドレスのビツト構成で該
リクエストアドレスは28ビツトとそれに付随する
4ビツトのパリテイチエツクビツトP0〜P3から
なるとしている。このリクエストアドレスの内、
ビツト15〜22をアドレスアレイ索引用のカラムア
ドレス、ビツト0〜14をアドレスアレイえの登録
アドレスとして使用する。ビツト0〜22はライン
アドレス、ビツト23〜27はライン内アドレスを示
す。第4図はアドレスアレイの1エントリの登録
内容で、Vは該エントリの有効性を示すビツト、
VpはVビツトのパリテイビツト、ビツト0〜14
は登録アドレスである。
FIG. 3 shows the bit structure of a request address, and the request address is made up of 28 bits and accompanying 4-bit parity check bits P0 to P3 . Of this request address,
Bits 15 to 22 are used as a column address for the address array index, and bits 0 to 14 are used as the registered address for the address array. Bits 0-22 indicate the line address, and bits 23-27 indicate the intra-line address. Figure 4 shows the registered contents of one entry in the address array, where V is a bit indicating the validity of the entry,
Vp is the parity bit of V bits, bits 0 to 14
is the registered address.

さて、第2図において、アドレスレジスタ30
1にはプライオリテイ回路109により選択され
たリクエストアドレス(ラインアドレス)がセツ
トされる。このアドレスレジスタ301のカラム
アドレスを線322を介してアドレスアレイ30
2及びECCアレイ303に与え、アドレスアレ
イ302内の該当カラムの4ローの内容、及び
ECCアレイ303内の同じく該当カラムのECC
チエツクコードを読み出す。なお、ECCアレイ
303には、アドレスアレイ302のそれぞれ対
応するカラムの4ロー分の登録データに対する
ECCチエツクコードが格納されているとする。
Now, in FIG. 2, the address register 30
1 is set to the request address (line address) selected by the priority circuit 109. The column address of this address register 301 is sent to the address array 30 via a line 322.
2 and the ECC array 303, and the contents of the 4 rows of the corresponding column in the address array 302, and
ECC of the same column in the ECC array 303
Read the check code. Note that the ECC array 303 contains data for four rows of registered data in the corresponding columns of the address array 302.
Assume that an ECC check code is stored.

比較回路3040〜3043はアドレスアレイ3
02の各ローに対応しており、それぞれアドレス
アレイ302から読み出された該当ローの登録デ
ータと線321を介して与えられるアドレスレジ
スタ301の上位アドレスと比較する。この比較
回路3040〜3043での比較動作は、パリテイ
ビツトも含めて第4図に示されている全ビツトに
ついて行う。このため、アドレスアレイ302か
らの読出しデータに誤りがあると、そのローに実
際にはリクエストアドレスが登録されていてもい
なくても、比較結果は、データ誤りの発生したロ
ーでIn BSとなることはない。
Comparison circuits 304 0 to 304 3 are address array 3
The registered data of the corresponding row read from the address array 302 is compared with the upper address of the address register 301 given via the line 321. This comparison operation in the comparison circuits 304 0 to 304 3 is performed for all bits shown in FIG. 4 including the parity bit. Therefore, if there is an error in the data read from the address array 302, the comparison result will be In BS in the row where the data error occurred, regardless of whether a request address is actually registered in that row or not. There isn't.

比較回路3040〜3043での比較結果、一致
が検出されると、選択回路305は線324を介
して、どのローでIn BSかをリクエスト制御部1
10へ連絡する。これにより、リクエスト制御部
110では、BS112の該当カラム、該当ロー
をアクセスし、そのライン内アドレスに対してデ
ータの読み書きを行う。
When a match is detected as a result of the comparison in the comparison circuits 304 0 to 304 3 , the selection circuit 305 sends a message to the request control unit 1 via the line 324 to determine which row is In BS.
Contact 10. As a result, the request control unit 110 accesses the corresponding column and row of the BS 112, and reads and writes data to the address within the line.

アドレスレジスタ301のカラムアドレスはカ
ラムアドレスレジスタ306にもセツトされ、こ
れでリプレースメントアレイ(RA)308の該
当カラムが選択される。RA308には、アドレ
スアレイ302の各カラム対応に、BS112を
例えばLRU(Least Recently Used)方式でリプ
レースするためのリプレース情報が格納されてい
る。比較回路3040〜3043における各ローの
比較結果は、選択回路305を介してレジスタ3
07にセツトされる。In BSの場合、RA308
はレジスタ307の内容にもとづき、In BSのロ
ーが最もあとにリプレースされるように、該当カ
ラムのリプレース情報を更新する。
The column address of address register 301 is also set in column address register 306, and the corresponding column of replacement array (RA) 308 is selected. The RA 308 stores replacement information for replacing the BS 112 in accordance with, for example, an LRU (Least Recently Used) method, corresponding to each column of the address array 302. The comparison results of each row in the comparison circuits 304 0 to 304 3 are sent to the register 3 via the selection circuit 305.
It is set to 07. In case of BS, RA308
updates the replacement information for the corresponding column based on the contents of the register 307 so that the In BS row is replaced last.

一方、比較回路3040〜3043のいずれでも
一致が検出されない場合、選択回路305は線3
24を介してNot in BSをリクエスト制御部1
10へ連絡する。このNot in BSが発生すると、
該当カラムの4ローの内、一つを選択してリプレ
ースしてやる必要がある。この場合、一般には
RA308の指示に従つてリプレースローを決定
すればよいが、実際にはIn BSであるにもかかわ
らず、前述の如くアドレスアレイ302の読出し
データの誤りでNot in BSとなる場合がある。
この場合、RA308の指示に従つてリプレース
ローを決めると、2重登録の危険性が生じる。こ
れを防止するため、ECCチエツクを行い、エラ
ーの無い場合はRA308の指示に従つてリプレ
ースローを決めるが、エラーがある場合は該エラ
ーのローをリプレースローとして選択する。以
下、これについて説明する。
On the other hand, if no match is detected in any of the comparison circuits 304 0 to 304 3 , the selection circuit 305 selects the line 3
Request Not in BS via 24 Control Unit 1
Contact 10. When this Not in BS occurs,
It is necessary to select one of the four rows in the relevant column and replace it. In this case, generally
The replacement throw may be determined according to the instruction from the RA 308, but even though it is actually In BS, it may become Not in BS due to an error in the read data of address array 302 as described above.
In this case, if a replacement throw is determined in accordance with the instructions from the RA 308, there is a risk of double registration. To prevent this, an ECC check is performed, and if there is no error, a replacement throw is determined according to the instructions from the RA 308, but if there is an error, the row with the error is selected as the replacement throw. This will be explained below.

Not in BSの場合、RA308はカラムアドレ
スレジスタ306で示されるカラムのリプレース
情報を読み出してレジスタ309にセツトする。
一方、アドレスアレイ302とECCアレイ30
3の該当カラムから読み出された4ロー分の登録
データとそのECCチエツクコードは線323を
介してレジスタ311にセツトされている。
ECC検査・訂正回路312は、レジスタ311
の内容についてECCチエツクを行い、それが正
常か否かと共に、訂正可能エラーが検出された場
合は該訂正可能エラービツトを含むローアドレス
を、線325を介してリプレースロー決定回路3
10に伝える。同時に、訂正可能エラーが検出さ
れた場合、ECC検査・訂正回路312はエラー
ビツトを訂正し、この訂正したアドレスをレジス
タ313にセツトする。
In the case of Not in BS, the RA 308 reads the column replacement information indicated by the column address register 306 and sets it in the register 309.
On the other hand, address array 302 and ECC array 30
The four rows of registered data read from the corresponding column No. 3 and its ECC check code are set in the register 311 via the line 323.
The ECC inspection/correction circuit 312 includes a register 311
An ECC check is performed on the contents of the bit, and if a correctable error is detected, the row address containing the correctable error bit is sent to the replace row determining circuit 3 via a line 325.
Tell 10. At the same time, if a correctable error is detected, the ECC check/correction circuit 312 corrects the error bit and sets the corrected address in the register 313.

リプレース決定回路310では、ECCエラー
の無い場合はレジスタ309のリプレース情報に
よつてリプレースローを決定し、ECCエラー有
りの場合はECC検査・訂正回路312で検出さ
れた訂正可能エラーを含むローをリプレースロー
として決定する。このリプレースロー番号が線3
26を介してアドレスアレイ302に与えられる
ことにより、アドレスアレイ302は該当カラム
内の該ローに対し、アドレスレジスタ301の上
位アドレスを線320を介して登録する。リプレ
ースロー決定回路310で決定したリプレースロ
ー番号は選択回路314にも与えられる。これに
より選択回路314では、リプレースされるロー
ついては線321上の新たに登録するアドレスを
選択し、リプレースされないローについては線3
23上のアドレスアレイ302から読み出された
登録済のアドレスを選択する。この選択回路31
4の出力データに対し、ECC生成回路315で
新たにECCチエツクコードを生成し、レジスタ
316、線327を介してECCアレイ303の
該当カラムに格納する。なお、ECCエラーの無
い場合、線326のリプレースロー番号を用い、
アドレスアレイ302から読み出された4ロー分
の登録済アドレスのうち、リプレースロー番号に
対応する登録済アドレスをレジスタ313にセツ
トする。
The replacement determination circuit 310 determines a replacement row based on the replacement information in the register 309 when there is no ECC error, and replaces the row containing the correctable error detected by the ECC inspection/correction circuit 312 when there is an ECC error. Decide as low. This replacement throw number is line 3
26 to address array 302, address array 302 registers the upper address of address register 301 for that row in the appropriate column via line 320. The replacement throw number determined by the replacement throw determination circuit 310 is also given to the selection circuit 314. As a result, the selection circuit 314 selects the newly registered address on the line 321 for the row to be replaced, and selects the newly registered address on the line 321 for the row that will not be replaced.
The registered address read out from address array 302 on 23 is selected. This selection circuit 31
ECC generation circuit 315 generates a new ECC check code for output data No. 4, and stores it in the corresponding column of ECC array 303 via register 316 and line 327. In addition, if there is no ECC error, use the replace throw number on line 326,
Among the four rows of registered addresses read from the address array 302, the registered address corresponding to the replacement row number is set in the register 313.

Not in BSの通知を受けたリクエスト制御部
110では、まず、BS112における該当カラ
ム中の上記リプレースロー決定回路310で選択
されたリプレースローのデータを読み出し、レジ
スタ313内の登録アドレスで示されるMS11
3上の所定領域へ書き戻す。その後、リクエスト
アドレスのラインアドレスで示されるMS113
上の領域のデータを読み出し、BS112の該当
カラム中の上記リプレースローに対して転送す
る。
Upon receiving the notification of Not in BS, the request control unit 110 first reads out the data of the replace throw selected by the replace throw determination circuit 310 in the corresponding column of the BS 112, and sends the data to the MS 11 indicated by the registered address in the register 313.
3. Write back to the specified area above. Then, the MS113 indicated by the line address of the request address
The data in the upper area is read and transferred to the above-mentioned replace row in the corresponding column of BS112.

なお、ECC検出・訂正回路312においては
訂正不可能なエラーが検出された場合は、例えば
マシンチエツク割込み等により回復動作あるいは
機能縮小等が試みられることになる。これは本発
明に直接関係するところではないので、これ以上
の説明は省略する。
If an uncorrectable error is detected in the ECC detection/correction circuit 312, a recovery operation or function reduction is attempted by, for example, a machine check interrupt. Since this is not directly related to the present invention, further explanation will be omitted.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかな如く、本実施例によれ
ば次のような効果が得られる。
As is clear from the above description, the following effects can be obtained according to this embodiment.

(1) In BSの場合はECC回路を動作させる必要が
ないため、BSのアクセスタイムにECC回路の
動作によるオーバヘツドが加わることがない。
(1) In the case of In BS, there is no need to operate the ECC circuit, so no overhead is added to the BS access time due to the operation of the ECC circuit.

(2) Not in BSとなつた場合、アドレスアレイ
の読出しデータに誤りが発生しているケース
は、訂正可能誤りでは該当ローをリプレースロ
ーとして選択し、訂正済アドレスによりBSか
らMSへデータを書き戻すので、データは失な
われず、又、アドレスアレイの誤りも回復され
る。
(2) If Not in BS occurs and an error occurs in the read data of the address array, select the corresponding row as a replacement row in the case of a correctable error and write data from the BS to the MS using the corrected address. Therefore, no data is lost and errors in the address array are recovered.

(3) 実際にはIn BSであるにもかかわらず、アド
レスアレイの読出しデータに誤りが発生してい
てNot in BSとなつた場合、誤りビツトを含
むローをリプレースローとして選択するので、
2重登録の危険性が防止される。
(3) Even though it is actually In BS, if an error occurs in the read data of the address array and it becomes Not in BS, the row containing the error bit is selected as the replacement row.
The risk of double registration is prevented.

〔発明の効果〕〔Effect of the invention〕

以上述べたように、本発明によれば、実際には
バツフアメモリ内にリクエスト先のデータが格納
されているにもかかわらず、アドレスアレイの読
出しデータに誤りが発生していてアドレスアレイ
に登録されている主記憶アドレスとリクエストア
ドレスが不一致となつた場合であつても、2重登
録となる危険性を防止することができる。
As described above, according to the present invention, although the requested data is actually stored in the buffer memory, an error has occurred in the read data of the address array and the data is registered in the address array. Even if the current main memory address and the request address do not match, the risk of double registration can be prevented.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明が対象とするデータ処理装置の
構成例を示す図、第2図は本発明の一実施例で第
1図におけるデイレクトリ部の詳細図、第3図は
リクエストアドレスの一例を示す図、第4図はア
ドレスアレイの登録アドレスの一例を示す図であ
る。 101…入出力チヤネル装置、102,103
…中央処理装置、104…記憶制御装置、112
…バツフアメモリ、113…主記憶装置、301
…リクエストアドレスレジスタ、302…アドレ
スアレイ、303…ECCアレイ、308…リプ
レースアメントレイ、310…リプレースロー決
定回路、312…ECC検査・訂正回路、315
…ECCチエツクコード生成回路。
FIG. 1 is a diagram showing an example of the configuration of a data processing device targeted by the present invention, FIG. 2 is an embodiment of the present invention and is a detailed diagram of the directory section in FIG. 1, and FIG. 3 is an example of a request address. FIG. 4 is a diagram showing an example of registered addresses in the address array. 101...I/O channel device, 102, 103
...Central processing unit, 104...Storage control device, 112
...Buffer memory, 113...Main storage device, 301
...Request address register, 302...Address array, 303...ECC array, 308...Replacement array, 310...Replace throw determination circuit, 312...ECC inspection/correction circuit, 315
...ECC check code generation circuit.

Claims (1)

【特許請求の範囲】 1 主記憶装置と、当該主記憶装置のデータの一
部を格納するバツフアメモリと、当該バツフアメ
モリに格納されるデータの主記憶アドレスを登録
するアドレスアレイとを有するデータ処理装置の
バツフアメモリ制御方法において、 前記バツフアメモリに主記憶の一部のデータを
格納する際、前記データの主記憶アドレスと共に
当該主記憶アドレスに対するパリテイチエツクビ
ツトおよび所定のアルゴリズムにより得られる
ECCチエツクコードをアドレスアレイに登録し、 前記主記憶装置へのリクエストの際、当該リク
エストアドレスと前記アドレスアレイに格納され
たアドレスとをパリテイチエツクビツトと共に比
較し、前記リクエストアドレスに対応するデータ
が前記バツフアメモリ内に存在するか否かを判定
し、 前記判定の結果前記リクエストアドレスに対応
するデータが前記バツフアメモリに存在しないと
き、前記アドレスアレイから読みだした主記憶ア
ドレスに対して前記ECCチエツクコードを用い
てエラー検出を行い、 エラーが検出されない場合には所定のアルゴリ
ズムにより前記バツフアメモリ中のリプレース領
域を決定してリプレース処理を行い、 エラーが検出された場合にはエラービツトを含
む登録アドレスに対応する前記バツフアメモリ中
の領域をリプレース領域として決定し、前記
ECCチエツクコードにより当該エラーを訂正し
てリプレース処理を行うことを特徴とするバツフ
アメモリ制御方法。
[Scope of Claims] 1. A data processing device having a main memory, a buffer memory for storing a part of data in the main memory, and an address array for registering main memory addresses of data stored in the buffer memory. In the buffer memory control method, when storing part of the data in the main memory in the buffer memory, a parity check bit for the main memory address and a predetermined algorithm are obtained along with the main memory address of the data.
An ECC check code is registered in the address array, and when a request is made to the main memory, the request address and the address stored in the address array are compared together with the parity check bit, and the data corresponding to the request address is checked. Determine whether the request address exists in the buffer memory or not, and if as a result of the determination, data corresponding to the request address does not exist in the buffer memory, apply the ECC check code to the main memory address read from the address array. If no error is detected, a replacement area in the buffer memory is determined and replaced by a predetermined algorithm, and if an error is detected, the area corresponding to the registered address including the error bit is detected. Determine an area in the buffer memory as a replacement area, and
A buffer memory control method characterized in that the error is corrected using an ECC check code and replacement processing is performed.
JP59044022A 1984-03-09 1984-03-09 Buffer memory control system Granted JPS60189553A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59044022A JPS60189553A (en) 1984-03-09 1984-03-09 Buffer memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59044022A JPS60189553A (en) 1984-03-09 1984-03-09 Buffer memory control system

Publications (2)

Publication Number Publication Date
JPS60189553A JPS60189553A (en) 1985-09-27
JPH0353660B2 true JPH0353660B2 (en) 1991-08-15

Family

ID=12680034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59044022A Granted JPS60189553A (en) 1984-03-09 1984-03-09 Buffer memory control system

Country Status (1)

Country Link
JP (1) JPS60189553A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63257854A (en) * 1987-04-15 1988-10-25 Nec Corp Lru memory fault detecting circuit
WO2007096998A1 (en) * 2006-02-24 2007-08-30 Fujitsu Limited Cache memory device and cache memory control method

Also Published As

Publication number Publication date
JPS60189553A (en) 1985-09-27

Similar Documents

Publication Publication Date Title
US7376877B2 (en) Combined tag and data ECC for enhanced soft error recovery from cache tag errors
US6304992B1 (en) Technique for correcting single-bit errors in caches with sub-block parity bits
US5659678A (en) Fault tolerant memory
US4608687A (en) Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
US6480975B1 (en) ECC mechanism for set associative cache array
US5267242A (en) Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US4654847A (en) Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array
US8205136B2 (en) Fault tolerant encoding of directory states for stuck bits
US6108753A (en) Cache error retry technique
KR870001307B1 (en) System for treatment of single bit error in buffer storage unit
CN1220949C (en) Method and device for allowing irrecoverable error in multi-processor data process system
US7689891B2 (en) Method and system for handling stuck bits in cache directories
US6035436A (en) Method and apparatus for fault on use data error handling
US6631489B2 (en) Cache memory and system with partial error detection and correction of MESI protocol
JPH0353660B2 (en)
JPH05165719A (en) Memory access processor
EP0128353A2 (en) Error recovery of non-store-through cache
JPS61112259A (en) Control system for cache memory device
JPS6044709B2 (en) Buff retry method
JPH04273348A (en) Cache memory
JPS63271555A (en) Storage control system
JPS6223901B2 (en)
JPS59207080A (en) Control device of cache memory
JPS6226492B2 (en)
JPS62130443A (en) Memory access controller