JP3483296B2 - Information processing equipment - Google Patents
Information processing equipmentInfo
- Publication number
- JP3483296B2 JP3483296B2 JP09189594A JP9189594A JP3483296B2 JP 3483296 B2 JP3483296 B2 JP 3483296B2 JP 09189594 A JP09189594 A JP 09189594A JP 9189594 A JP9189594 A JP 9189594A JP 3483296 B2 JP3483296 B2 JP 3483296B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- data
- buffer storage
- tag
- buffer
- 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 - Fee Related
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】(目次) 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例(図2〜図5) 発明の効果(Table of contents) Industrial applications Conventional technology Problems to be Solved by the Invention Means for Solving the Problems (FIG. 1) Action (Fig. 1) Example (FIGS. 2 to 5) The invention's effect
【0002】[0002]
【産業上の利用分野】本発明は、処理装置と記憶装置と
の間に、データ・アクセスの高速化を目的として階層的
な記憶系(バッファ記憶装置の階層配置)をそなえてな
る情報処理装置に関し、特に、各バッファ記憶装置にお
けるエラー処理の改善をはかった情報処理装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing device having a hierarchical storage system (hierarchical arrangement of buffer storage devices) between a processing device and a storage device for the purpose of speeding up data access. In particular, the present invention relates to an information processing device in which error handling in each buffer storage device is improved.
【0003】[0003]
【従来の技術】近年、複数の処理装置(以下、CPUと
いう場合もある)とこれらのCPU間で共有する記憶装
置(以下、主記憶装置という場合もある)とからなる情
報処理装置における処理速度を向上すべく、記憶系を階
層的に構成する、即ち、各処理装置と主記憶装置との間
にバッファ記憶装置(以下、キャッシュあるいはキャッ
シュ・メモリという場合もある)を階層的にそなえるこ
とが行なわれている。2. Description of the Related Art In recent years, a processing speed of an information processing apparatus including a plurality of processing devices (hereinafter, sometimes referred to as CPUs) and a storage device shared by these CPUs (hereinafter, sometimes referred to as main memory device) In order to improve performance, a storage system may be configured in a hierarchical manner, that is, a buffer storage device (hereinafter, also referred to as cache or cache memory) may be provided in a hierarchical manner between each processing device and the main storage device. Has been done.
【0004】このように主記憶装置へのアクセス時間の
短縮のためにキャッシュ・メモリを用いることは、十分
な効果を上げているが、主記憶装置と同じように、各キ
ャッシュ・メモリにおいてもエラーが発生し、そのエラ
ーの復旧のために様々な手法が採られている。ストア・
スルー方式のキャッシュが用いられている場合には、C
PUによりデータの内容が書き換えられた場合、その変
更内容はキャッシュだけでなく必ず主記憶装置にも書き
込まれているので、キャッシュ・エラーを起こした場
合、キャッシュ・データを廃棄し、主記憶装置内の対応
データを参照・読出することで、直ちにキャッシュ・エ
ラーの復旧を行なうことができる。Although the use of the cache memory for shortening the access time to the main memory device is sufficiently effective as described above, an error occurs in each cache memory as in the main memory device. Has occurred, and various methods have been adopted to recover the error. Store
C if a through cache is used
When the content of the data is rewritten by the PU, the changed content is written not only in the cache but also in the main storage device. Therefore, if a cache error occurs, the cache data is discarded and the data in the main storage device is discarded. The cache error can be immediately recovered by referring to / reading the corresponding data of.
【0005】しかし、主記憶装置につながるCPU(演
算処理装置)の増加に伴って、主記憶装置へのアクセス
回数の増大がシステムの速度低下の原因となってきたた
め、近年、ストア・スルー方式から、ストア・イン方式
(CPUによるデータの変更内容をキャッシュだけに書
き込み、必要に応じて主記憶装置に書き込む方式)へ変
わってきている。However, with the increase in the number of CPUs (arithmetic processing units) connected to the main storage device, the increase in the number of accesses to the main storage device has been a cause of system speed reduction. The store-in method (a method of writing the changed contents of data by the CPU only in the cache and writing it in the main storage device as needed) has been changed.
【0006】ただし、このストア・イン方式においても
問題点がないわけではなく、第1の問題点としては、キ
ャッシュ内でデータ・エラーを生じると、その内容が、
主記憶装置に保持されていないため、主記憶装置から復
旧できず失われてしまうことである。これは、主記憶装
置においても同じことであるから、主記憶装置と同等の
処理を施すことにより、信頼性を維持することができ
る。However, this store-in system is not without problems, and the first problem is that when a data error occurs in the cache, its contents are
Since it is not stored in the main storage device, it cannot be recovered from the main storage device and is lost. Since this is the same in the main storage device, reliability can be maintained by performing the same processing as in the main storage device.
【0007】第2の問題点としては、キャッシュにはそ
れぞれのデータに対応してタグと呼ばれるデータが、主
記憶装置上のどのアドレスに対応するかを示す情報を保
持しているが、このタグにおけるアドレス情報が壊れた
場合には、そのキャッシュに格納されているデータが何
を意味するか分からなくなってしまうため、データが失
われたのと同じことになる。従って、ストア・イン方式
では、タグに関してもエラーに対する万全の対策が必要
となってくる。As a second problem, the cache holds information indicating which address on the main storage device the data called a tag corresponds to each data. If the address information in is corrupted, the data stored in the cache is unknown, meaning that the data is lost. Therefore, in the store-in method, it is necessary to take thorough countermeasures against errors in tags.
【0008】そこで、従来、タグの信頼性を高めるため
に採られてきた手法としては、以下のようなものがあ
る。
タグにECC(Error Check and Correction)コード
を付加する。
タグを二重化する。
下位階層からの問い合わせに対して速やかに対処でき
るように用意されている一つ上位階層のタグのコピーを
利用して、タグのエラーの復旧をはかる(ただし、上位
とはCPU等の処理装置側に近いことを示し、下位とは
主記憶装置側に近いことを示す)。Therefore, the following techniques have been conventionally adopted to increase the reliability of the tag. An ECC (Error Check and Correction) code is added to the tag. Redundant tags. The tag error of the upper layer is used to recover the tag error by using the copy of the tag in the upper layer, which is prepared so that the inquiry from the lower layer can be dealt with promptly. Is shown, and lower means that it is closer to the main storage side).
【0009】これらの他にも、上述の手法を実行する上
での詳細技術について様々な提案が行なわれているが、
それらの提案は、いずれも本質的には上述の3つの手法
として示される技術である。In addition to these, various proposals have been made regarding detailed techniques for executing the above-mentioned method.
Each of these proposals is essentially a technique shown as the above-mentioned three methods.
【0010】[0010]
【発明が解決しようとする課題】しかしながら、タグの
エラー対策として、前記項目のようにタグにECCを
付加することは、処理時間の延長を招き、キャッシュに
よる処理速度の向上という目的を阻害することになる。
また、タグのエラー対策として、前記項目のように二
重化を行なうことは、メモリ資源の増大を招き、コスト
を高くしてしまう。However, adding the ECC to the tag as described above as a measure against the error of the tag leads to extension of the processing time and impedes the purpose of improving the processing speed by the cache. become.
In addition, as a measure against a tag error, the duplication as in the above item causes an increase in memory resources and an increase in cost.
【0011】前記項目の手法では、タグのコピーもキ
ャッシュ内でのデータ処理に使用されているため、タグ
のコピーのエラーへの対処も必要となってくる。さら
に、データのエラーに対しても対策が必要となってくる
が、タグのエラーの場合とは区別し別個の手順で行なう
ために、エラーの処理手法が煩雑化し、コスト的にも不
利になっている。In the method of the above item, since the tag copy is also used for data processing in the cache, it is necessary to deal with the tag copy error. Furthermore, measures against data errors are also necessary, but since it is performed in a separate procedure that is different from the case of tag errors, the error processing method becomes complicated and it is also costly. ing.
【0012】本発明は、このような課題に鑑み創案され
たもので、メモリ資源の無駄な増大を抑制しながらエラ
ーの状況に応じて最短時間でエラーの復旧処理を行なう
とともに、エラー処理手順を簡略化しデータの管理も行
ないやすくして、信頼性の向上をはかった情報処理装置
を提供することを目的とする。The present invention was devised in view of the above problems, and performs error recovery processing in the shortest time according to the error situation while suppressing wasteful increase of memory resources, and an error processing procedure. It is an object of the present invention to provide an information processing apparatus that is simplified and easily manages data and has improved reliability.
【0013】[0013]
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1はデータを記憶する記
憶装置(主記憶装置)、2はこの記憶装置1のデータに
基づいて動作する少なくとも一つの処理装置(CP
U)、3は処理装置2と記憶装置1との間に階層的にそ
なえられるバッファ記憶装置(キャッシュ,キャッシュ
メモリ)で、これらの記憶装置1,処理装置2およびバ
ッファ記憶装置3から本発明の情報処理装置が構成され
ている。FIG. 1 is a block diagram of the principle of the present invention. In FIG. 1, 1 is a storage device (main storage device) for storing data, and 2 is based on the data of the storage device 1. At least one processing unit (CP
U) and 3 are buffer storage devices (caches, cache memories) hierarchically provided between the processing device 2 and the storage device 1. From these storage device 1, processing device 2 and buffer storage device 3 of the present invention, An information processing device is configured.
【0014】各バッファ記憶装置3には、記憶装置1の
データの一部(DATA)を保持するデータ部4と、こ
のデータ部4に保持されるデータのアドレスおよびステ
ータスを含むタグ情報(TAG)を保持するタグ部5
と、自バッファ記憶装置3よりも上位階層側のバッファ
記憶装置3のタグ情報の写し(TAGコピー)を保持す
るタグ複写部6とを有し、各バッファ記憶装置3のデー
タ保持状態はストア・イン方式で制御されるようになっ
ている。In each buffer storage device 3, a data section 4 for holding a part (DATA) of the data in the storage apparatus 1, and tag information (TAG) including the address and status of the data held in the data section 4 are stored. Tag part 5 for holding
And a tag copying unit 6 that holds a copy (TAG copy) of the tag information of the buffer storage device 3 on the upper layer side of the own buffer storage device 3, and the data holding state of each buffer storage device 3 is stored. It is designed to be controlled in-system.
【0015】そして、本発明では、各バッファ記憶装置
3には、エラー検出手段7,第1の通知手段8,検索手
段9,第2の通知手段10,処理実行手段11および第
3の通知手段12がそなえられている。ここで、エラー
検出手段7は、自バッファ記憶装置3内(データ部4,
タグ部5,タグ複写部6)でのエラーを検出するもので
あり、第1の通知手段8は、エラー検出手段7がエラー
を検出した場合に、そのエラー発生部分のエントリ・ア
ドレスとエラー検出事実とを他階層〔データ部4,タグ
部5のエラー検出時には下位階層(記憶装置1側);タ
グ複写部6のエラー検出時には上位階層(処理装置2
側)〕のバッファ記憶装置3に通知するものである。In the present invention, each buffer storage device 3 has an error detecting means 7, a first notifying means 8, a searching means 9, a second notifying means 10, a process executing means 11 and a third notifying means. Twelve are provided. Here, the error detection means 7 is in the self buffer storage device 3 (data section 4,
The first notifying unit 8 detects an error in the tag unit 5 and the tag copying unit 6), and when the error detecting unit 7 detects an error, the entry address of the error occurrence portion and the error detection are performed. The fact and the other layers [lower layer when an error is detected in the data section 4 and the tag section 5 (storage device 1 side); upper layer when an error is detected in the tag copying section 6 (processing apparatus 2)
Side)] to the buffer storage device 3.
【0016】 また、検索手段9は、自バッファ記憶装
置3よりも上位階層側のバッファ記憶装置3から当該上
位階層側のバッファ記憶装置内のタグ部5またはデータ
部4のエラー検出事実を通知された場合に、通知された
エントリ・アドレスでタグ複写部6を検索し、当該エン
トリ・アドレスの示すデータのアドレスおよびステータ
スを取り出すものであり、第2の通知手段10は、検索
手段9により取り出されたステータスに基づいて、エラ
ー発生部分に対する無効化要求またはムーブアウト要求
を、検索手段9により取り出されたデータのアドレスと
ともに、エラー通知のあった階層のバッファ記憶装置3
に通知するものである。Further, the search means 9 is a self-buffer storage device.
The on from the buffer memory 3 of the upper layer side of the location 3
Tag part 5 or data in the buffer storage device on the upper hierarchy side
When the error detection fact of the section 4 is notified, the tag copying section 6 is searched with the notified entry address, and the address and status of the data indicated by the entry address is retrieved. The second notifying means Reference numeral 10 denotes a buffer storage device of the layer in which the error notification is issued, together with the address of the data retrieved by the retrieval means 9, based on the status retrieved by the retrieval means 9, an invalidation request or a moveout request for the error occurrence portion. Three
To notify.
【0017】 さらに、処理実行手段11は、他階層の
バッファ記憶装置3から無効化要求またはムーブアウト
要求を通知された場合に、該当するデータに対する無効
化処理またはムーブアウト処理を実行するものであり、
第3の通知手段12は、他階層のバッファ記憶装置3か
ら無効化要求またはムーブアウト要求を通知された場合
に、該当するデータが、自バッファ記憶装置3よりも上
位階層側のバッファ記憶装置3内に存在するか否かを、
タグ複写部6を参照することにより調べ、存在する場合
にはさらに上位階層側のバッファ記憶装置3に対して無
効化要求またはムーブアウト要求を通知するものであ
る。そして、エラー検出手段7により自バッファ記憶装
置3におけるタグ部5またはデータ部4にエラーが発生
したことを検出した場合には、第1の通知手段8は、エ
ラーを起こしたタグ部5またはデータ部4のエントリ・
アドレスを、自バッファ記憶装置3よりも下位階層側の
バッファ記憶装置3に通知するものであり、当該下位階
層側のバッファ記憶装置3において、検索手段9は、通
知されたエントリ・アドレスでタグ複写部6を検索して
当該エントリ・アドレスの示すデータのアドレスを取り
出すものであり、第2の通知手段10は、取り出された
アドレスを前記自バッファ記憶装置3に通知するもので
あり、当該自バッファ記憶装置3は、前記下位階層側の
バッファ記憶装置3から通知されたアドレスによりタグ
複写部6を参照して自バッファ記憶装置3よりも上位階
層側のバッファ記憶装置3に最新データが存在している
か否かを調べ、最新データが存在しておらず且つ自バッ
ファ記憶装置3におけるデータが最新のものでなければ
そのデータを無効化し、最新データが存在しておらず且
つ自バッファ記憶装置3におけるデータが最新のもので
あればそのデータを前記下位階層側のバッファ記憶装置
3へムーブアウトしてから前記エラーを発生した自バッ
ファ記憶装置3のデータ・ブロックを無効化し、前記上
位階層側のバッファ記憶装置3に最新データが存在して
いれば、前記アドレスを前記上位階層側のバッファ記憶
装置3に通知するものであり、当該自バッファ記憶装置
3および当該上位階層側のバッファ記憶装置3は、最新
データを前記下位階層側のバッファ記憶装置3に残し、
且つ、前記自バッファ記憶装置3および前記上位階層側
のバッファ記憶装置3において前記最新データと同じア
ドレスをもつデータ・ブロックを全て無効化するもので
ある。また、エラー検出手段7により自バッファ記憶装
置3におけるタグ複写部6にエラーが発生したことを検
出した場合には、第1の通知手段8は、エラーを起こし
たタグ複写部6のエントリ・アドレスを、自バッファ記
憶装置3よりも上位階層側のバッファ記憶装置3に通知
するものであり、当該上位階層側のバッファ記憶装置3
は、通知されたエントリ・アドレスでタグ部5を検索し
て当該エントリ・アドレスの示すデータのアドレスを取
り出し、取り出されたアドレスによりタグ複写部6を参
照して当該上位階層側のバッファ記憶装置3よりもさら
に上位階層側のバッファ記憶装置3に最新データが存在
しているか否かを調べ、最新データが存在しておらず且
つ当該上位階層側のバッファ記憶装置3におけるデータ
が最新のものでなければそのデータを無効化し、最新デ
ータが存在しておらず且つ当該上位階層側のバッファ記
憶装置3におけるデータが最新のものであればそのデー
タを前記自バッファ記憶装置3へムーブアウトしてから
当該上位階層側のバッファ記憶装置3のデータ・ブロッ
クを無効化し、当該上位階層側のバッファ記憶装置3よ
りもさらに上位階層側のバッファ記憶装置3に最新デー
タが存在していれば、前記アドレスを当該上位階層側の
バッファ記憶装置3よりもさらに上位階層側のバッファ
記憶装置3に通知するものであり、当該上位階層側のバ
ッファ記憶装置3および当該上位階層側のバッファ記憶
装置3よりもさらに上位階層側のバッファ記憶装置3
は、最新データを前記自バッファ記憶装置3に残し、且
つ、前記上位階層側のバッファ記憶装置3および当該上
位階層側のバッファ記憶装置3よりもさらに上位階層側
のバッファ記憶装置3において前記最新データと同じア
ドレスをもつデータ・ブロックを全て無効化するもので
ある。Further, when the invalidation request or the moveout request is notified from the buffer storage device 3 of the other layer, the processing execution means 11 executes the invalidation processing or the moveout processing for the corresponding data. ,
When the invalidation request or the move-out request is notified from the buffer storage device 3 of the other layer, the third notifying unit 12 stores the corresponding data in the buffer storage device 3 on the upper layer side of the own buffer storage device 3. Whether it exists in
It is checked by referring to the tag copying unit 6, and if it exists, the invalidation request or the moveout request is notified to the buffer storage device 3 on the upper layer side. When the error in the tag part 5 or the data unit 4 in its own buffer storage device 3 is detected to be generated by the error detection means 7, first notification means 8, the tag part 5 or the data that caused the error Part 4 entry
Address, which notifies the buffer storage device 3 in the lower hierarchy side of the own buffer memory 3, the buffer storage device 3 of the lower layer side, the search unit 9, the tag copying with the notified entry address searching for parts 6 are those to leave <br/> takes the address of the data indicated by the entry address, second notification means 10 shall notify the retrieved address in the self buffer memory 3 so
There, the self buffer store 3 before Symbol buffer memory 3 of the upper layer side than the lower layer side by referring to the own buffer store tag copying unit 6 by notified address from the buffer memory 3 of 3 It is checked whether the latest data exists, and if the latest data does not exist and the data in the own buffer storage device 3 is not the latest data, the data is invalidated, and the latest data does not exist. the data as long as the data in its own buffer memory 3 is current invalidates the data block of the lower layer side of the own buffer storage device generated the error from the move-out to the buffer memory 3 3 , if the latest data exists in the upper layer side of the buffer storage device 3 notifies the front Symbol address in buffer memory 3 of the upper layer side And than, the self buffer store
3 and the buffer memory 3 of the upper layer side, leaving the latest data in the lower layer side of the buffer memory 3,
And, in which invalidates all data blocks with the same address as the latest data in the own buffer storage device 3 and the upper layer side of the buffer memory 3
There is . Further, when it is detected that an error has occurred by the error detection means 7 to the tag copying unit 6 in its own buffer memory 3, first notification means 8 entry address of the tag copying unit 6 that caused the error To the buffer storage device 3 on the upper layer side than the self buffer storage device 3
And the buffer storage device 3 on the upper layer side.
Retrieves the address of the data indicated by the entry address by searching the tag part 5 in notification entries address, Installing the issued address by referring to the tag copying unit 6 of the upper layer side It is checked whether or not the latest data exists in the buffer storage device 3 on the higher hierarchy side than the buffer storage device 3, and the latest data does not exist, and the data in the buffer storage device 3 on the higher hierarchy side is the latest data. If not, the data is invalidated, and if the latest data does not exist and the data in the buffer storage device 3 on the upper hierarchy side is the latest, the data is moved out to the own buffer storage device 3. the data block of the upper layer side of the buffer memory 3 to disable from further upper floors than the buffer memory 3 of the upper layer side If the latest data exists on the side of the buffer memory 3, which notifies the previous SL address in buffer memory 3 further upper layer side of the buffer storage device 3 of the upper layer side, the upper layer Side bar
Ffa storage device 3 and the upper layer side of the buffer memory 3 buffer memory device further upper layer side than 3
Leaves the latest data on the self buffer memory 3, and the latest in the upper layer side of the buffer memory 3 and the buffer memory 3 further upper layer side of the buffer storage device 3 of the upper layer side one that invalidates all the data blocks with the same address as the data
There is .
【0018】[0018]
【作用】上述の本発明の情報処理装置では、エラー検出
手段7により自バッファ記憶装置3のデータ部4または
タグ部5でのエラーが検出されると、第1の通知手段8
により、そのエラー発生部分のエントリ・アドレスとエ
ラー検出事実とが下位階層側のバッファ記憶装置3に通
知される一方、エラー検出手段7により自バッファ記憶
装置3のタグ複写部6でのエラーが検出されると、第1
の通知手段8により、そのエラー発生部分のエントリ・
アドレスとエラー検出事実とが上位階層側のバッファ記
憶装置3に通知される。In the information processing apparatus of the present invention described above, when the error detecting means 7 detects an error in the data section 4 or the tag section 5 of the own buffer storage device 3, the first notifying means 8 is provided.
By this, the entry address of the error occurrence portion and the fact of error detection are notified to the buffer storage device 3 on the lower hierarchy side, while the error detection means 7 detects an error in the tag copying section 6 of the own buffer storage device 3. When done, first
By the notification means 8 of
The address and the fact of error detection are notified to the buffer storage device 3 on the upper layer side.
【0019】そして、他階層のバッファ記憶装置3から
エラー検出事実を通知されたバッファ記憶装置3では、
検索手段9により、通知されたエントリ・アドレスでタ
グ複写部6が検索され、当該エントリ・アドレスの示す
データのアドレスおよびステータスが取り出されてか
ら、第2の通知手段10により、検索手段9にて取り出
されたステータスに基づき、エラー発生部分に対する無
効化要求またはムーブアウト要求が、検索手段9にて取
り出されたデータのアドレスとともに、エラー通知のあ
った階層のバッファ記憶装置3に通知される。Then, in the buffer storage device 3 notified of the fact of error detection from the buffer storage device 3 of the other layer,
After the search means 9 searches the tag copying unit 6 with the notified entry address and the address and status of the data indicated by the entry address is retrieved, the second notification means 10 causes the search means 9 to perform the search. Based on the retrieved status, an invalidation request or a move-out request for the error occurrence part is notified to the buffer storage device 3 of the layer having the error notification, together with the address of the data retrieved by the retrieval means 9.
【0020】他階層のバッファ記憶装置3から無効化要
求またはムーブアウト要求を通知されたバッファ記憶装
置3では、処理実行手段11により、該当するデータに
対して無効化処理またはムーブアウト処理が施されるほ
か、第3の通知手段12により、該当するデータが、自
バッファ記憶装置3よりも上位階層側のバッファ記憶装
置3内に存在するか否かが、タグ複写部6を参照するこ
とで調べられ、存在する場合にはさらに上位階層側のバ
ッファ記憶装置3に対して無効化要求またはムーブアウ
ト要求が通知される。In the buffer storage device 3 notified of the invalidation request or the move-out request from the buffer storage device 3 of the other layer, the process execution means 11 performs the invalidation process or the move-out process on the corresponding data. In addition to the above, the third notifying unit 12 checks whether or not the corresponding data exists in the buffer storage device 3 on the higher hierarchy side than the own buffer storage device 3 by referring to the tag copying unit 6. If it exists, the invalidation request or the moveout request is further notified to the buffer storage device 3 on the upper layer side.
【0021】このようにして、各階層のバッファ記憶装
置3におけるデータ部4のエラー,タグ部5のエラーお
よびタグ複写部6のエラーが、全て同じ手法でエラー発
生部分に対応するデータ(ブロック)を各階層から排除
することにより、復旧されることになる。In this way, the data (block) in which the error of the data section 4, the error of the tag section 5, and the error of the tag copying section 6 in the buffer storage device 3 of each layer all correspond to the error occurrence portion by the same method. Will be restored by excluding the item from each layer.
【0022】[0022]
【実施例】以下、図面を参照して本発明の実施例を説明
する。ここで説明される情報処理装置のメモリシステム
(記憶系)は、ストア・イン方式のキャッシュ(バッフ
ァ記憶装置)を階層的にそなえてなるもので、上位階層
側〔処理装置(CPU)側〕のキャッシュに存在するデ
ータ・ブロック(以下、単にブロックという場合もあ
る)は、必ず下位階層〔記憶装置(主記憶装置)側〕の
キャッシュにも存在する。Embodiments of the present invention will be described below with reference to the drawings. The memory system (storage system) of the information processing apparatus described here comprises a store-in type cache (buffer storage device) in a hierarchical manner. A data block existing in the cache (hereinafter, sometimes simply referred to as a block) always exists in the cache of the lower hierarchy [storage device (main storage device) side].
【0023】また、第n次のキャッシュとこの第n次の
キャッシュよりも上位階層の第n−m次(m=1,2,
…,n−1)のキャッシュとには同時にエラーが発生せ
ず、且つ、同一階層のキャッシュ内におけるデータとそ
のアドレスとにも同時にエラーは発生しないものと仮定
する。即ち、ここで発生しないものとして排除する障害
は、異なる階層間で同じブロックを指し示すデータまた
はアドレスに同時にエラーが発生する場合と、同一の階
層の同じキャッシュ内で対応するデータとアドレスとに
同時にエラーが発生する場合とである。これらの仮定
は、物理的に無関係でしかも離れた位置にあって論理上
で関係のある2つのブロックに突然同時に故障が発生す
る場合であるから、エラーの頻度とこのようなことが発
生する確率とからみても妥当なものである。The nth-order cache and the nth-mth order (m = 1, 2,
, N-1), no error occurs at the same time, and no error occurs at the same time for the data and its address in the cache of the same layer. In other words, the faults to be excluded as those that do not occur here are when an error occurs simultaneously in data or addresses that point to the same block in different layers, and when errors occur simultaneously in corresponding data and addresses in the same cache in the same layer. When occurs. These assumptions are when two blocks that are physically unrelated, but distant, and logically related, suddenly fail at the same time, so the frequency of errors and the probability of this happening. It is reasonable from the point of view.
【0024】なお、データの受渡しは、隣接する階層間
でのみ行なわれる。これは、チップのピン数を減じるた
めの手法であるとともに、処理を簡略化するための手法
でもある。さて、まず始めに、本発明の情報処理装置で
行なわれるキャッシュ・エラー処理の概略を説明する。Data transfer is performed only between adjacent layers. This is a method for reducing the number of pins of the chip and also a method for simplifying the processing. Now, first, an outline of cache error processing performed by the information processing apparatus of the present invention will be described.
【0025】まず、タグ部のエラーとデータ部のエラー
とを分けて考えると、タグ部およびタグ複写部とは互い
にコピーによって二重化されていると考えられるので、
エラーが発生した場合には、対になっている壊れていな
い方のタグ部(もしくはタグ複写部)を参照して正しい
タグ情報(アドレス,ステータス)を得ることができ
る。First, considering the error of the tag part and the error of the data part separately, it is considered that the tag part and the tag copying part are duplicated by copying each other.
When an error occurs, the correct tag information (address, status) can be obtained by referring to the pair of unbroken tag parts (or tag copying parts).
【0026】次に、データ部にエラーが発生した場合、
ストア・イン方式により、下位階層のキャッシュ・メモ
リに存在する筈のアドレスのデータ・ブロックを参照し
て正しい値を得るか、上位階層のキャッシュ・メモリに
そのデータ・ブロックがあればこれを共有(他のCPU
もこのデータ・ブロックを使用できる状態)または無効
化するついでにエラー処理を行なってしまう。Next, when an error occurs in the data section ,
According to the store-in method, the correct value is obtained by referring to the data block of the address that should exist in the cache memory of the lower layer, or if the data block is in the cache memory of the upper layer, it is shared ( Other CPU
Or even the state can use this data block) is thus subjected to error processing in passing to invalidate.
【0027】そこで、この3つの手順を簡単にし、タグ
部またはデータ部にエラーが発生した場合には、下位階
層のキャッシュ・メモリを参照し、タグ複写部にエラー
が発生した場合には上位階層のキャッシュ・メモリを参
照することにする。そして、エラーを起こしたデータ・
ブロックは正しいデータをそこに書き直しても、ハード
エラー(LSIのその部分が壊れてしまい復旧の可能性
のない、または頻繁に故障を起こすような状態になって
しまうこと)を起こした場合には、エラー処理に無駄な
時間を費やすことになり得るので、エラーを起こしたデ
ータ・ブロックはその階層のデータ部,タグ部およびそ
の対となるタグ複写部から排除する。Therefore, these three steps are simplified so that when an error occurs in the tag part or the data part , the cache memory in the lower layer is referred to, and when an error occurs in the tag copying part, the upper layer Will refer to the cache memory of. And the data that caused the error
If the block rewrites the correct data to it and still has a hard error (that part of the LSI is damaged and there is no possibility of recovery, or it will cause frequent failures) Since error processing can be wasted, the data block in which the error occurred is eliminated from the data section, the tag section, and the tag copy section which forms a pair with it.
【0028】また、タグ部のエラーとデータ部のエラー
とを同一の手順によって処理することによって、タグ部
のエラーとデータ部のエラーとを区別せず同じものとし
て扱うことができるようにする。同一の手順と言うの
は、タグ部のエラーかデータ部のエラーかの判別を行な
わず両方のエラーが回復される処理手順を採るというこ
とである。By processing the error in the tag part and the error in the data part by the same procedure, the error in the tag part and the error in the data part can be treated as the same without discriminating them. The same procedure means that a processing procedure is adopted in which both errors are recovered without determining whether the error is in the tag part or the error in the data part.
【0029】また、次に、本実施例のキャッシュ・エラ
ー処理を、図2により一般的に説明する。図2では、m
階層のキャッシュ・メモリをそなえる場合において、こ
れらのm階層のキャッシュ・メモリのうち、第n−1次
キャッシュ・メモリ20−(n−1),第n次キャッシ
ュ・メモリ20−nおよび第n+1次キャッシュ・メモ
リ20−(n+1)の3つを示している。Next, the cache error processing of this embodiment will be generally described with reference to FIG. In FIG. 2, m
In the case of providing a cache memory of a hierarchy, among the cache memories of these m hierarchies, the (n-1) th cache memory 20- (n-1), the nth cache memory 20-n and the (n + 1) th cache memory The three cache memories 20- (n + 1) are shown.
【0030】各キャッシュ・メモリ20−(n−1)〜
20−(n+1)には、記憶装置1のデータの一部(D
ATA)を保持するデータ部21と、このデータ部21
に保持されるデータのアドレスおよびステータスを含む
タグ情報(TAG)を保持するタグ部22と、自バッフ
ァ記憶装置3よりも一つ上位階層側のバッファ記憶装置
3のタグ情報の写し(TAGコピー)を保持するタグ複
写部23とがそなえられている。Each cache memory 20- (n-1)-
20- (n + 1) contains a part of the data in the storage device 1 (D
ATA) holding data part 21 and this data part 21
A tag unit 22 that holds tag information (TAG) that includes the address and status of the data that is held in the tag storage unit, and a copy of the tag information in the buffer storage device 3 one layer higher than the self buffer storage device 3 (TAG copy). And a tag copying section 23 for holding the tag.
【0031】なお、第n−1次キャッシュ・メモリ20
−(n−1)は第n次キャッシュ・メモリ20−nより
も上位階層(CPU)側であり、第n+1次キャッシュ
・メモリ20−(n+1)は第n次キャッシュ・メモリ
20−nよりも下位階層(主記憶装置)側である。ま
た、m階層の各キャッシュ・メモリには、図1により前
述したエラー検出手段7,第1の通知手段8,検索手段
9,第2の通知手段10,処理実行手段11および第3
の通知手段12としての機能がそなえられている。It should be noted that the (n-1) th level cache memory 20
-(N-1) is on the upper layer (CPU) side of the nth cache memory 20-n, and the (n + 1) th cache memory 20- (n + 1) is higher than the nth cache memory 20-n. It is on the lower layer (main memory) side. Further, in each of the m-level cache memories, the error detecting means 7, the first notifying means 8, the searching means 9, the second notifying means 10, the processing executing means 11 and the third means described above with reference to FIG.
The function as the notification means 12 is provided.
【0032】このとき、第n次キャッシュ・メモリ20
−nにエラーが発生したものとして、タグ部22または
データ部21にエラーが発生した場合と、タグ複写部2
3にエラーが発生した場合とに分けて説明する。タグ部
22またはデータ部21にエラーが発生したことを検出
した場合(図1に示すエラー検出手段7としての機能)
には、タグ部22のエントリ(エントリ・アドレス)即
ちエラーを起こしたタグ部22またはデータ部21が第
n次キャッシュ・メモリ20−nの何番目のブロックで
あるのかを、第n+1次キャッシュ・メモリ20−(n
+1)に通知する(図1に示す第1の通知手段8として
の機能)。At this time, the nth cache memory 20
-N indicates that an error has occurred in the tag unit 22 or the data unit 21, and the tag copying unit 2
The case where an error occurs in 3 will be described separately. When it is detected that an error has occurred in the tag portion 22 or the data portion 21 (function as the error detecting means 7 shown in FIG. 1)
The entry of the tag unit 22 (entry address), that is, the number of the block of the tag unit 22 or the data unit 21 in which the error has occurred in the n-th cache memory 20-n is indicated by the (n + 1) th cache cache. Memory 20- (n
+1) (function as the first notifying means 8 shown in FIG. 1).
【0033】第n+1次キャッシュ・メモリ20−(n
+1)では、第n+1次キャッシュ・メモリ20−(n
+1)のタグ複写部23から絶対アドレスを検索・生成
し(図1に示す検索手段9としての機能)、これを第n
次キャッシュ・メモリ20−nに通知する(図1に示す
第2の通知手段10としての機能)。第n次キャッシュ
・メモリ20−nでは、その絶対アドレスにより第n次
キャッシュに・メモリ20−nにあるタグ複写部23を
参照し上位階層側のキャッシュ・メモリ20−(n−
1)に最新データが存在している可能性があるか否かを
調べる。存在しておらず且つ第n次キャッシュ・メモリ
20−nにあるデータが最新のものでなければこれを無
効にする。存在しておらず且つ第n次キャッシュ・メモ
リ20−nにあるデータが最新のものであれば、第n+
1次キャッシュ・メモリ20−(n+1)にデータを送
った後(ムーブアウト処理後)、エラーを起こした第n
次キャッシュ・メモリ20−nのブロックを無効化す
る。上位階層側のキャッシュ・メモリ20−(n−1)
に最新データが存在していれば、第n−1次キャッシュ
・メモリ20−(n−1)にタグ複写部23のエントリ
を送り同様の処理を行なうように要請する(図1に示す
第2の通知手段10,処理実行手段11としての機
能)。N + 1st level cache memory 20- (n
+1), the n + 1th level cache memory 20- (n
The absolute address is searched and generated from the (+1) tag copying unit 23 (function as the searching means 9 shown in FIG. 1), and this is used as the nth
The next cache memory 20-n is notified (function as the second notifying means 10 shown in FIG. 1). In the nth-level cache memory 20-n , the tag copying unit 23 in the memory 20-n is referred to in the nth-level cache by its absolute address, and the cache memory 20- (n-
Check whether there is a possibility that the latest data exists in 1). If it does not exist and the data in the nth cache memory 20-n is not the latest, it is invalidated. If it does not exist and the data in the nth cache memory 20-n is the latest, the nth +
After sending data to the primary cache memory 20- (n + 1) (after move-out processing), the nth error occurred
The block of the next cache memory 20-n is invalidated. Upper layer cache memory 20- (n-1)
If the latest data exists in the cache memory, the entry of the tag copying unit 23 is sent to the (n-1) th cache memory 20- (n-1) to request the same processing (the second cache memory shown in FIG. 1). Function as the notification means 10 and the processing execution means 11).
【0034】必要があれば、第n−2次キャッシュ,第
n−3次キャッシュ,…と進み、最終的に最新データが
第n+1次キャッシュ・メモリ20−(n+1)に送ら
れるまでこれを繰り返す(図1に示す第3の通知手段1
2としての機能)。処理の終わった状態では、最新デー
タは第n+1次キャッシュ・メモリ20−(n+1)に
残り、それより上位階層側のキャッシュ・メモリにおい
て同じ絶対アドレスをもつブロックは全て無効になって
いる。これは、複数のCPUによる機器構成を考慮して
作られるシステムのため、他CPUからのアクセスを迅
速に対処するためと、データの管理を最下位階層に一元
化して処理の簡略化,信頼性を向上させやすくするため
に採られる方針による。If necessary, the process proceeds to the (n−2) th cache, the (n−3) th cache, ... And repeats until the latest data is finally sent to the (n + 1) th cache memory 20- (n + 1). (Third notification means 1 shown in FIG. 1
Function as 2.) In the state where the processing is completed, the latest data remains in the (n + 1) th level cache memory 20- (n + 1), and all the blocks having the same absolute address in the cache memory on the upper hierarchy side are invalid. This is a system created considering the device configuration with multiple CPUs, so that access from other CPUs can be dealt with swiftly, and data management is centralized at the lowest level to simplify processing and improve reliability. It depends on the policy adopted to make it easier to improve.
【0035】一方、タグ複写部23にエラーが発生した
ことを検出した場合(図1に示すエラー検出手段7とし
ての機能)には、タグ複写部23のエントリ・アドレス
を第n−1次キャッシュ・メモリ20−(n−1)に送
る(図1に示す第1の通知手段8としての機能)。第n
−1次キャッシュ・メモリ20−(n−1)では、これ
を絶対アドレスに戻して第n−1次キャッシュ・メモリ
20−(n−1)にあるタグ複写部23を参照して上位
階層側のキャッシュ・メモリに最新データがあるか否か
を調べて、タグ部22またはデータ部21のエラーの場
合と同様にして処理を進め、最終的に最新データが第n
次キャッシュ・メモリ20−nに存在し、それよりも上
位階層側では同じ絶対アドレスをもつブロックはすべて
無効になる。On the other hand, when it is detected that an error has occurred in the tag copying unit 23 (function as an error detection unit 7 shown in FIG. 1) is the entry address of the tag copying unit 2 cubic first n-1 It is sent to the cache memory 20- (n-1) (function as the first notifying means 8 shown in FIG. 1). Nth
In the -1st level cache memory 20- (n-1), this is returned to the absolute address and the (n-1) th level cache memory
The tag copying unit 23 at 20- (n-1) is referred to check whether or not there is the latest data in the cache memory on the upper layer side, and the same as in the case of an error in the tag unit 22 or the data unit 21. And proceed with processing, and finally the latest data is the nth
All blocks existing in the next cache memory 20-n and having the same absolute address on the upper hierarchy side are invalid.
【0036】より具体的な例について、図3〜図5によ
り説明する。ここで、図3は本発明の一実施例としての
情報処理装置を示すブロック図、図4は本実施例の記憶
系の要部を示すブロック図、図5は本実施例のSLBの
もつ機能を説明するためのブロック図であり、図3,図
4に示すように、ここでは、3階層のメモリ構造を有す
る情報処理装置(計算機システム)について説明する。A more specific example will be described with reference to FIGS. Here, FIG. 3 is a block diagram showing an information processing apparatus as one embodiment of the present invention, FIG. 4 is a block diagram showing a main part of a storage system of this embodiment, and FIG. 5 is a function of the SLB of this embodiment. 3 is a block diagram for explaining the above, and here, as shown in FIGS. 3 and 4, an information processing apparatus (computer system) having a memory structure of three layers will be described.
【0037】つまり、図3,図4において、31はデー
タを記憶する記憶装置〔以下、MSU(Main Storage U
nit;主記憶装置)という場合もある〕、32A,32
BはMSU31のデータに基づいて動作する処理装置
(CPU)である。これらのMSU31とCPU32A
との間には、第1次バッファ記憶装置〔以下、FLB
(First Level Buffer storage)という場合もある〕3
3A,第2次バッファ記憶装置〔以下、SLB(Second
Level Buffer storage)という場合もある〕34Aお
よび主記憶制御装置〔以下、MCU(Main storage Con
trol Unit)という場合もある〕35がそなえられると
ともに、MSU31とCPU32Bとの間には、FLB
33B,SLB34BおよびMCU35がそなえられ、
これらのメモリ階層構造と、MSU31,CPU32
A,32Bとにより本実施例の情報処理装置(計算機シ
ステム)が構成されている。[0037] That is, FIG. 3, 4, 31 is a storage device [hereinafter for storing data, MSU (Main St o rage U
nit; main memory)), 32A, 32
B is a processing unit (CPU) that operates based on the data of the MSU 31. These MSU31 and CPU32A
Between the first buffer storage device [hereinafter, FLB
(First Level Buffer st o rage) is sometimes referred to] 3
3A, secondary buffer storage device [hereinafter, SLB (Second
Level Buffer st o rage) is sometimes referred] 34A and the main storage controller [hereinafter, MCU (Main st o rage Con
control unit)] and the FLB is provided between the MSU 31 and the CPU 32B.
33B, SLB34B and MCU35 are provided,
These memory hierarchical structure, MSU31, CPU32
The information processing apparatus (computer system) of this embodiment is configured by A and 32B.
【0038】ここで、MCU35は、2つのCPU32
A,32Bに対する2系統のメモリ階層構造で共通に用
いられるもので、MSU31からのデータ読出(ロー
ド)およびMSU31へのデータ書込(ストア)を行な
うとともに、FLB33A,33B,SLB34A,3
4Bにおけるデータ保持状態をストア・イン方式で制御
するものである。Here, the MCU 35 has two CPUs 32.
It is commonly used in a two-system memory hierarchical structure for A and 32B, and performs data read (load) from MSU31 and data write (store) to MSU31, and FLB33A, 33B, SLB34A, 3
The data holding state in 4B is controlled by the store-in method.
【0039】また、図4に示すように、FLB33A
(33B)には、MSU31のデータの一部(DAT
A)を保持するデータ部36と、このデータ部36に保
持されるFLBデータの絶対アドレスの一部(FLB−
TAG)および後述するステータスを含むタグ情報を保
持するタグ部37とがそなえられている。SLB34A
(34B)には、MSU31のデータの一部(DAT
A)を保持するデータ部38と、このデータ部38に保
持されるSLBデータの絶対アドレスの一部(SLB−
TAG)および後述するステータスを含むタグ情報を保
持するタグ部39と、FLB33A(33B)のタグ部
37におけるタグ情報の写し(FLB−TAGC)を保
持するタグ複写部40とがそなえられている。Further, as shown in FIG. 4, FLB33A
In (33B), a part of the data of MSU 31 (DAT
A) holding the data section 36 and a part of the absolute address of the FLB data held in the data section 36 (FLB-
TAG) and a tag unit 37 that holds tag information including a status described later. SLB34A
In (34B), a part of the data of MSU31 (DAT
A) which holds A), and a part of the absolute address of the SLB data (SLB-
The tag unit 39 holds tag information including TAG) and a status described later, and the tag copy unit 40 holds a copy of the tag information (FLB-TAGC) in the tag unit 37 of the FLB 33A (33B).
【0040】さらに、MCU35には、SLB34Aの
タグ部39におけるタグ情報の写し(SLB−TAG
C)を保持するCPU32A用のタグ複写部41Aがそ
なえられるとともに、このタグ複写部41Aと同様の、
CPU32B用のタグ複写部41Bもそなえられてい
る。なお、図4には図示しないが、MCU35とCPU
32Bとの間にも、図4に図示したFLB33A,SL
B34Aと同様構成のFLB33B,SLB34Bがそ
なえられている。Furthermore, a copy of the tag information in the tag section 39 of the SLB 34A (SLB-TAG) is displayed on the MCU 35.
A tag copying section 41A for the CPU 32A holding C) is provided, and the same as the tag copying section 41A,
A tag copying section 41B for the CPU 32B is also provided. Although not shown in FIG. 4, the MCU 35 and the CPU
32B, FLB33A, SL shown in FIG.
FLB33B and SLB34B having the same structure as B34A are provided.
【0041】そして、本実施例でも、各FLB33A,
33B,SLB34A,34BおよびMCU35には、
図1により前述したエラー検出手段,第1の通知手段,
検索手段,第2の通知手段,処理実行手段および第3の
通知手段としての機能の全部もしくは一部がそなえられ
ている。例えば、SLB34A,34Bには、図5に示
すように、これらの機能の全部がそなえられている。Also in this embodiment, each FLB 33A,
33B, SLB34A, 34B and MCU35,
The error detecting means, the first notifying means described above with reference to FIG.
All or part of the functions of the searching means, the second notifying means, the processing executing means, and the third notifying means are provided. For example, the SLBs 34A and 34B have all of these functions as shown in FIG.
【0042】つまり、図5において、42は自SLB3
4A(34B)のデータ部38,タグ部39,タグ複写
部40内でのエラーを検出するエラー検出手段、43は
エラー検出手段42がエラーを検出した場合にそのエラ
ー発生部分のエントリ・アドレスとエラー検出事実とを
FLB33A(33B)もしくはMCU35に通知する
第1の通知手段である。That is, in FIG. 5, reference numeral 42 is the own SLB3.
4A (34B) data section 38, tag section 39, and error detecting means for detecting an error in tag copying section 40, and 43, when the error detecting means 42 detects an error, the entry address of the error occurrence part It is a first notifying means for notifying the FLB 33A (33B) or the MCU 35 of the fact of error detection.
【0043】また、44はFLB33A(33B)もし
くはMCU35からエラー検出事実を通知された場合に
通知されたエントリ・アドレスでタグ複写部39を検索
して当該エントリ・アドレスの示すデータのアドレスお
よびステータスを取り出す検索手段、45は検索手段4
4により取り出されたステータスに基づいてエラー発生
部分に対する無効化要求またはムーブアウト要求を検索
手段44により取り出されたデータのアドレスとともに
FLB33A(33B)に通知する第2の通知手段であ
る。Further, reference numeral 44 searches the tag copying section 39 with the entry address notified when the error detection fact is notified from the FLB 33A (33B) or the MCU 35, and retrieves the address and status of the data indicated by the entry address. Search means for taking out, 45 means for searching 4
It is a second notifying means for notifying the FLB 33A (33B) of the invalidation request or the moveout request for the error occurrence part together with the address of the data fetched by the searching means 44 based on the status fetched by 4.
【0044】さらに、46はMCU35から無効化要求
またはムーブアウト要求を通知された場合に該当するデ
ータに対する無効化処理またはムーブアウト処理を実行
する処理実行手段、47はMCU35から無効化要求ま
たはムーブアウト要求を通知された場合に該当するデー
タが自SLB34A(34B)よりも上位階層側のバッ
ファ記憶装置つまりFLB33A(33B)内に存在す
るか否かをタグ複写部40を参照することにより調べ存
在する場合にはさらにそのFLB33A(33B)に対
して無効化要求またはムーブアウト要求を通知する第3
の通知手段である。Further, 46 is processing execution means for executing invalidation processing or moveout processing for the corresponding data when the invalidation request or moveout request is notified from the MCU 35, and 47 is an invalidation request or moveout from the MCU 35. When the request is notified, it is checked by referring to the tag copying unit 40 whether or not the corresponding data exists in the buffer storage device on the upper layer side of the own SLB 34A (34B), that is, the FLB 33A (33B), and exists. In the case, the FLB 33A (33B) is further notified of an invalidation request or a moveout request.
Is the notification means.
【0045】上述の機能を有するように構成された本実
施例の情報処理装置の動作について以下に説明する。ま
ず、以下の説明において用いられる用語について説明し
ておく。前述したタグ情報としてタグ部37,39に保
持されるステータスとしては、CHG,SH,EX,I
NVがある。CHG(change,変更)はデータが変更され
ていて下位階層に変更内容が送られていない状態、SH
(share,共有)は他のCPUが同じブロックを持ってい
る可能性のある状態、EX(exclusive,排他)は他のC
PUが同じブロックを持っていない状態(CHGも含
む)、INV(invalid,無効)はデータが使用不可であ
る状態を示している。これらのステータスは、タグ情報
として、必要に応じてタグ部37,39のTAG,TA
GCに書き込まれる。The operation of the information processing apparatus of the present embodiment configured to have the above-mentioned functions will be described below. First, terms used in the following description will be described. The statuses held in the tag units 37 and 39 as the above-mentioned tag information include CHG, SH, EX, and I.
There is NV. CHG (change) is a state where the data has been changed and the changed contents have not been sent to the lower layer, SH
(Share) is a state where another CPU may have the same block, and EX (exclusive) is another C
State that PU does not have the same block (CHG including), INV (inval i d, disabled) shows the state data is unavailable. These statuses are used as tag information, if necessary, in TAG and TA of the tag parts 37 and 39.
Written to GC.
【0046】また、以下の説明中、ABS(absolute)は
データの絶対アドレス、エントリ・アドレスは、TAG
内の各データ・ブロックに与えられるシリアル・ナンバ
で、〔TAGの中身〕+〔エントリ・アドレス〕=〔A
BS〕となる。異なる階層間での命令は、命令+ABS
+etc.として行なわれるが、必要に応じてTAGの中身
を無視するため、実際上、エントリ・アドレスを送った
りABSを送ったりすることになる。In the following description, ABS (absolute) is the absolute data address and the entry address is TAG.
In the serial number given to each data block in [TAG contents] + [entry address] = [A
BS]. The command between different layers is command + ABS
This is done as + etc., But since the contents of the TAG are ignored if necessary, the entry address or ABS is actually sent.
【0047】さらに、以下の説明中、ブロックは、デー
タのまとまりのことで、データの受渡しはバイト単位で
はなくブロック単位(例えば8バイト×8)で取り扱わ
れる。さて、本実施例で用いられている計算機構成で
は、次のようにデータの管理が行なわれている。あるブ
ロックのキャッシュでの存在状況としては、下記〜
の3つの場合に制限する。Further, in the following description, a block is a unit of data, and data is transferred in block units (for example, 8 bytes × 8) instead of byte units. Now, in the computer configuration used in this embodiment, data management is performed as follows. The existence status of a block in the cache is as follows.
Limit to 3 cases.
【0048】SLB34A(34B)のステータスが
INVの場合、FLB33A(33B)のステータスは
INV。
SLB34A(34B)のステータスがSHの場合、
FLB33A(33B)のステータスはSH。
SLB34A(34B)のステータスがEX/CHG
の場合にFLB33A(33B)のステータスはIN
V,SH,EX,CHGのいずれか。When the status of the SLB 34A (34B) is INV, the status of the FLB 33A (33B) is INV. If the status of SLB34A (34B) is SH,
The status of FLB33A (33B) is SH. The status of SLB34A (34B) is EX / CHG
In case of, the status of FLB33A (33B) is IN
Any of V, SH, EX, CHG.
【0049】このように制限を行なうのは、下位階層が
的確に上位階層の状態を知るためである。なお、本実施
例の場合、TAGエラーとデータエラーとを区別しない
で済むため、エラーの発生は、
1.FLB33A(33B)のタグ部37またはデータ
部36
2.SLB34A(34B)のタグ複写部40
3.SLB34A(34B)のタグ部39またはデータ
部38
4.MCU35のタグ複写部41A(41B)
の4通りであり、以下、これを順に説明する。以下の説
明では、CPU32A,FLB33A,SLB34A,
タグ複写部41A側のメモリ階層構造の動作について説
明するが、CPU32B,FLB33B,SLB34
B,タグ複写部41B側のメモリ階層構造の動作も全く
同様に行なわれることは言うまでもない。The reason for limiting in this way is that the lower layer accurately knows the state of the upper layer. In the case of the present embodiment, it is not necessary to distinguish between the TAG error and the data error, and therefore the error occurrence is 1. 1. The tag section 37 or the data section 36 of the FLB 33A (33B). Tag copy unit 40 of SLB 34A (34B) 3. 3. Tag portion 39 or data portion 38 of SLB 34A (34B) 4. There are four types of the tag copy unit 41A (41B) of the MCU 35, which will be described below in order. In the following description, CPU 32A, FLB 33A, SLB 34A,
The operation of the memory hierarchical structure on the tag copying section 41A side will be described. The CPU 32B, FLB 33B, SLB 34
It goes without saying that the operation of the memory hierarchical structure on the side of the tag copying unit 41B is also performed in exactly the same manner.
【0050】1・1 FLB33A(33B)のタグ部
37またはデータ部36にエラーが発生した場合
まず、タグ部37のエントリ・アドレスをSLB34A
に送るとともに、エラーが検出されたこと(エラー検出
事実)を通知する。
1・2 SLB34Aでは、通知されたエントリ・アド
レスに基づいて、タグ複写部40(FLB−TAGC)
を検索してABSおよびステータスを取り出す。When an error occurs in the tag section 37 or the data section 36 of the 1.1 FLB 33A (33B) First, the entry address of the tag section 37 is set to the SLB 34A.
And notify that an error has been detected (error detection fact). In the 1.2 SLB 34A, the tag copying unit 40 (FLB-TAGC) is based on the notified entry address.
To retrieve the ABS and status.
【0051】タグ複写部40(FLB−TAGC)のス
テータスがEXであれば、FLB33Aにそのブロック
のエントリ・アドレスを送るとともに、このブロックを
SLB34Aに送りFLB33Aのタグ部37(FLB
−TAG)のステータスをINVにするように要求(ム
ーブアウト要求,無効化要求)を送る。FLB33Aで
は、このブロックをSLB34Aに送ることを通知し、
データバスが使用可能になったらブロックをSLB34
Aに送って、FLB33Aのタグ部37(FLB−TA
G)のステータスをINVにした後、SLB34Aのタ
グ複写部40(FLB−TAGC)のステータスをIN
Vにするよう要求する。If the status of the tag copy unit 40 (FLB-TAGC) is EX, the entry address of the block is sent to the FLB 33A and this block is sent to the SLB 34A, and the tag unit 37 (FLB of the FLB 33A is sent.
Send a request (moveout request, invalidation request) to change the status of (TAG) to INV. FLB33A notifies that this block is sent to SLB34A,
When the data bus becomes available, block SLB34
Send to A, and tag section 37 (FLB-TA of FLB33A).
After setting the status of G) to INV, set the status of the tag copying unit 40 (FLB-TAGC) of the SLB 34A to IN.
Request V.
【0052】また、タグ複写部40(FLB−TAG
C)のステータスがSHまたはINVであれば、SLB
34Aのタグ複写部40(FLB−TAGC)のステー
タスをINVにして、第2の通知手段45により、FL
B33Aにエントリ・アドレスを送るとともに、FLB
33Aのタグ部37(FLB−TAG)のステータスを
INVにするよう要求する。(以上、1・2による動
作)
2.SLB34A(34B)のタグ複写部40(FLB
−TAGC)にエラーが発生した場合
まず、タグ複写部40(FLB−TAGC)のエントリ
・アドレスをFLB33Aに送るとともにエラーが検出
されたことを通知する。Further, the tag copying section 40 (FLB-TAG
If the status of C) is SH or INV, SLB
The status of the tag copying unit 40 (FLB-TAGC) of 34A is set to INV, and the second notifying unit 45 causes the FL to be FL.
Send the entry address to B33A and also FLB
A request is made to set the status of the tag section 37 (FLB-TAG) of 33A to INV. (Above, operation according to 1.2) Tag copying unit 40 (FLB) of SLB 34A (34B)
-TAGC) when an error occurs First, the entry address of the tag copying unit 40 (FLB-TAGC) is sent to the FLB 33A, and the fact that an error has been detected is notified.
【0053】FLB33Aでは、通知されたエントリ・
アドレスに基づいて、タグ部37(FLB−TAG)を
検索してABSおよびステータスを取り出す。タグ部3
7(FLB−TAG)のステータスがEXであれば、S
LB34Aに対してABSを送るとともにそのブロック
を送ることを通知し、データ・バスが使用可能になった
らブロックをSLB34Aに送り、FLB33Aのタグ
部37(FLB−TAG)のステータスをINVにする
とともに、SLB34Aのタグ複写部40(FLB−T
AGC)のステータスをINVにするよう要求する。In the FLB 33A, the notified entry
Based on the address, the tag section 37 (FLB-TAG) is searched to retrieve the ABS and status. Tag part 3
If the status of 7 (FLB-TAG) is EX, S
Sends ABS to LB34A and notifies that the block will be sent. When the data bus becomes available, the block is sent to SLB34A and the status of the tag section 37 (FLB-TAG) of FLB33A is set to INV. Tag copy unit 40 (FLB-T of SLB34A)
Request that the status of AGC) be INV.
【0054】また、タグ部37(FLB−TAG)のス
テータスがSHまたはINVであれば、SLB34Aに
対してそのブロックのABSを送るとともにタグ複写部
40(FLB−TAGC)のステータスをINVにする
よう要求し、このブロックのデータは送らないことを通
知する。これと同時に、FLB33Aのタグ部37(F
LB−TAG)のステータスをINVにする。If the status of the tag unit 37 (FLB-TAG) is SH or INV, the ABS of the block is sent to the SLB 34A and the status of the tag copying unit 40 (FLB-TAG) is set to INV. Request and notify that no data in this block will be sent. At the same time, the tag portion 37 (F
LB-TAG) status to INV.
【0055】3.SLB34A(34B)のタグ部39
またはデータ部38にエラーが発生した場合
まず、タグ部39のエントリ・アドレスをMCU35に
送るとともに、エラーが検出されたことを通知する。M
CU35では、通知されたエントリ・アドレスに基づい
て、タグ複写部41A(SLB−TAGC)を検索して
ABSおよびステータスを取り出す。3. Tag part 39 of SLB34A (34B)
Alternatively, when an error occurs in the data section 38, first, the entry address of the tag section 39 is sent to the MCU 35 and the fact that an error has been detected is notified. M
The CU 35 searches the tag copy unit 41A (SLB-TAGC) on the basis of the notified entry address to extract the ABS and the status.
【0056】タグ複写部41A(SLB−TAGC)の
ステータスがEXであれば、SLB34Aにそのブロッ
クのABSを送るとともに、このブロックのデータをM
CU35に送るよう要求する。この要求を受けた時、S
LB34Aでは、項目1・2により前述した動作を行な
う。ただし、タグ複写部40(FLB−TAGC)を検
索してFLB33Aがこのブロックをもっていないこと
が分かった場合には直ちに前記項目1・2による動作を
中止して次の動作に進む。If the status of the tag copying section 41A (SLB-TAGC) is EX, the ABS of the block is sent to the SLB 34A and the data of this block is transferred to M.
Request to send to CU35. When receiving this request, S
The LB 34A performs the above-mentioned operation according to items 1 and 2. However, when the tag copying unit 40 (FLB-TAGC) is searched and it is found that the FLB 33A does not have this block, the operation according to the above items 1 and 2 is immediately stopped and the next operation is performed.
【0057】この後、ABSを送るとともにそのブロッ
クを送ることを通知し、データバスが使用可能になった
らブロックをMCU35に送り、SLB34Aのタグ部
39(SLB−TAG)のステータスをINVにして、
MCU35に対してタグ複写部41A(SLB−TAG
C)のステータスをINVにするよう要求する。タグ複
写部41A(SLB−TAGC)のステータスがEXで
あれば、SLB34AにそのブロックのABSを送ると
ともに、SLB34Aのタグ部39(SLB−TAG)
のステータスをINVにするよう要求する。Thereafter, the ABS is sent and the block is sent, and when the data bus becomes available, the block is sent to the MCU 35, the status of the tag section 39 (SLB-TAG) of the SLB 34A is set to INV,
Tag copy unit 41A (SLB-TAG) for MCU 35
Request the status of C) to be INV. If the status of the tag copy unit 41A (SLB-TAGC) is EX, the ABS of the block is sent to the SLB 34A and the tag unit 39 (SLB-TAG) of the SLB 34A is sent.
Request to set the status of INV to INV.
【0058】この要求を受けたSLB34Aでは、タグ
複写部40(FLB−TAGC)を検索しFLB33A
がこのブロックを持っていればFLB33Aのタグ部3
7(FLB−TAG)のステータスをINVにするよう
要求し、タグ複写部40(FLB−TAGC)のステー
タスをINBにする。FLB33Aがこのブロックを持
っていなければシリアライズを要求する。ここで、シリ
アライズとは、他のCPU(32B)と情報の書込/読
出の順番を調整するための命令で、このシリアライズに
よって、書込の順序が逆になって最新の正しいデータを
失うことを防止するとともに、必要以上に新しいデータ
を誤って読み出してしまうことを防止している。Upon receipt of this request, the SLB 34A retrieves the tag copy unit 40 (FLB-TAGC) and FLB 33A.
If you have this block, the tag part 3 of FLB33A
7 (FLB-TAG) status is requested to be INV, and the status of the tag copying unit 40 (FLB-TAGC) is set to INB. If the FLB 33A does not have this block, it requests serialization. Here, the serialization is an instruction for adjusting the writing / reading order of information with another CPU (32B), and the serialization reverses the writing order and loses the latest correct data. In addition to preventing the above, it prevents accidental reading of new data more than necessary.
【0059】その後、SLB34Aのタグ部39(SL
B−TAG)のステータスをINVにするとともに、M
CU35にエラー処理が終了したことを通知する。この
通知により、MCU35のタグ複写部41A(SLB−
TAGC)のステータスはINVになり、エラー処理が
終わる。
4.MCU35のタグ複写部41A(41B)にエラー
が発生した場合
この場合も、まず、タグ複写部41A(SLB−TAG
C)のエントリ・アドレスをSLB34Aに送るととも
にエラーが検出されたことを通知する。After that, the tag section 39 (SL
B-TAG) status to INV and M
The CU 35 is notified that the error processing has been completed. By this notification, the tag copy unit 41A (SLB-
The status of (TAGC) becomes INV, and the error processing ends. 4. When an error occurs in the tag copy unit 41A (41B) of the MCU 35 In this case as well, first, the tag copy unit 41A (SLB-TAG).
The entry address of C) is sent to the SLB 34A and the error is notified.
【0060】SLB34Aでは、通知されたエントリ・
アドレスによりタグ部39(SLB−TAG)を検索し
てABSおよびステータスを取り出す。そして、そのA
BSに基づき、タグ複写部40(FLB−TAGC)を
検索し、SLB−TAGとFLB−TAGCとの次のよ
うなステータスの組合せを得る。
〔A〕SLB−TAGがINVであるとき(このときは
FLB−TAGCを検索する必要はない)。In the SLB 34A, the notified entry
The tag portion 39 (SLB-TAG) is searched by the address to retrieve the ABS and status. And that A
The tag copying unit 40 (FLB-TAGC) is searched based on the BS, and the following status combinations of SLB-TAG and FLB-TAGC are obtained. [A] When SLB-TAG is INV (it is not necessary to search FLB-TAGC at this time).
【0061】〔B−a〕SLB−TAGがSHでFLB
−TAGがこのブロックを持っていないとき。
〔B−b〕SLB−TAGがSHでFLB−TAGがS
Hでこのブロックを持っているとき。
〔C−a〕SLB−TAGがEXであるがCHGではな
くてFLB−TAGがこのブロックを持っていないと
き。[B-a] SLB-TAG is SH and FLB
-When the TAG does not have this block. [B-b] SLB-TAG is SH and FLB-TAG is S
When you have this block in H. [C-a] SLB-TAG is EX but FLB-TAG does not have this block because it is not CHG.
【0062】〔C−b〕SLB−TAGがEXであるが
CHGではなくてFLB−TAGがSHでこのブロック
を持っているとき。
〔C−c〕SLB−TAGがEXであるがCHGではな
くてFLB−TAGがEXでCHGでなくこのブロック
を持っているとき。
〔C−d〕SLB−TAGがEXであるがCHGではな
くてFLB−TAGがCHGでこのブロックを持ってい
るとき。[Cb] When SLB-TAG is EX but FLB-TAG is SH but not CHG and has this block. [C-c] SLB-TAG is EX but not CHG but FLB-TAG is EX and has this block instead of CHG. [C-d] SLB-TAG is EX but not CHG, but FLB-TAG is CHG and has this block.
【0063】〔D−a〕SLB−TAGがCHGでFL
B−TAGがこのブロックを持っていないとき。
〔D−b〕SLB−TAGがCHGでFLB−TAGが
SHでこのブロックを持っているとき。
〔D−c〕SLB−TAGがCHGでFLB−TAGが
EXまたはCHGでこのブロックを持っていないとき。[D-a] SLB-TAG is CHG and FL
When B-TAG does not have this block. [D-b] When SLB-TAG is CHG and FLB-TAG is SH and has this block. [D-c] SLB-TAG is CHG and FLB-TAG is EX or CHG and does not have this block.
【0064】以上のような場合について、本実施例で
は、それぞれ次のような処理を行なっている。
〔A〕SLB−TAGをINVにして、MCU35に対
してABSを送るとともに、SLB−TAGCをINB
にするよう要求する。
〔B−a〕〔A〕と同じ処理を行なう。In the case of the above cases, the following processing is performed in this embodiment. [A] SLB-TAG is set to INV, ABS is sent to the MCU 35, and SLB-TAGC is set to INB.
Ask you to. The same processing as [Ba] and [A] is performed.
【0065】〔B−b〕FLB33Aに対してエントリ
・アドレスを送るとともにFLB−TAGをINVにす
るよう要求し、FLB−TAGCをINVにする。MC
U35に対してはABSを送るとともにムーブアウトし
ないことを通知し、SLB−TAGをINVにするとと
もにSLB−TAGCをINVにするよう要求する。[Bb] Sends the entry address to the FLB 33A and requests the FLB-TAG to be set to INV, and sets FLB-TAGC to INV. MC
The U35 is notified that it will not move out while sending ABS, and will request SLB-TAG to be INV and SLB-TAGC to be INV.
【0066】〔C−a〕MCU35に対してABSを送
るとともにムーブアウトしないことを通知し、SLB−
TAGをINVにするとともにSLB−TAGCをIN
Vにするよう要求する。
〔C−b〕〔B−b〕と同じ処理を行なう。
〔C−c〕FLB−TAGCのエントリ・アドレスをF
LB33Aに送るとともに、このブロックをSLB34
Aに送りFLB−TAGをINVにするよう要求を送
る。[C-a] Sends ABS to the MCU 35 and notifies the MCU 35 that the move-out will not be performed, and SLB-
Set TAG to INV and SLB-TAGC to IN
Request V. The same processing as [Cb] and [Bb] is performed. [C-c] FLB-TAGC entry address is F
Send this block to LB33A and SLB34
Send to A and send a request to bring FLB-TAG to INV.
【0067】FLB33Aでは、このブロックをSLB
34Aに送ることを通知し、データバスが使用可能にな
ったらブロックをSLB34Aに送り、FLB−TAG
をINVにするとともに、FLB−TAGCをINVに
するよう要求する。これを実行した後、MCU35に対
してABSを送るとともにこのブロックのデータは送ら
ないことを通知し、SLB−TAGをINVにするとと
もに、SLB−TAGCをINVにするよう要求する。In FLB33A, this block is SLB
34A, send the block to the SLB 34A when the data bus is available, FLB-TAG
To INV and request FLB-TAGC to INV. After executing this, the MCU 35 is notified of sending ABS and not sending the data of this block, and requests SLB-TAG to be INV and SLB-TAGC to be INV.
【0068】〔C−d〕FLB−TAGCのエントリ・
アドレスをFLB33Aに送るとともに、このブロック
をSLB34Aに送り、FLB−TAGをINVにする
よう要求を送る。FLB33Aでは、このブロックをS
LB34Aに送ることを通知し、データバスが使用可能
になったらブロックをSLB34Aに送り、FLB−T
AGをINVにするとともに、FLB−TAGCをIN
Vにするよう要求する。[C-d] FLB-TAGC entry
The address is sent to FLB 33A, this block is sent to SLB 34A, and a request is sent to set FLB-TAG to INV. In FLB33A, this block is S
Notify to send to LB34A and send block to SLB34A when data bus becomes available, FLB-T
Set AG to INV and set FLB-TAGC to IN
Request V.
【0069】これを実行した後、MCU35に対してA
BSとSLB−TAGのステータスとを送るとともに、
このブロックのデータを送ることを通知し、データバス
が使用可能になったらブロックをMCU35に送り、S
LB−TAGをINVにするとともに、SLB−TAG
CをINVにするよう要求する。なお、このとき、デー
タはSLB34Aに書き込まず、何らかのバッファにデ
ータを退避させておいてこの処理を行なう。After executing this, A is sent to the MCU 35.
While sending BS and SLB-TAG status,
Notify that the data of this block will be sent, and when the data bus becomes available, send the block to MCU 35, and
LB-TAG is set to INV and SLB-TAG
Request C to be INV. At this time, the data is not written in the SLB 34A, but the data is saved in some buffer and this processing is performed.
【0070】〔D−a〕MCU35に対してABSとS
LB−TAGのステータスとを送るとともに、このブロ
ックのデータを送ることを通知し、データバスが使用可
能になったらブロックをMCU35に送り、SLB−T
AGをINVにするとともに、SLB−TAGCをIN
Vにするよう要求する。
〔D−b〕FLB34Aに対してエントリ・アドレスを
送るとともに、FLB−TAGをINVにするよう要求
し、FLB−TAGCをINVにする。[Da] ABS and S for MCU 35
The LB-TAG status is sent, and the data of this block is notified to be sent. When the data bus becomes available, the block is sent to the MCU 35, and the SLB-T is sent.
Set AG to INV and SLB-TAGC to IN
Request V. [D-b] Sends the entry address to FLB 34A, requests FLB-TAG to be INV, and sets FLB-TAGC to INV.
【0071】MCU35に対してはABSとSLB−T
AGのステータスとを送るとともに、このブロックのデ
ータを送ることを通知し、データバスが使用可能になっ
たらブロックをMCU35に送り、SLB−TAGをI
NVにするとともに、SLB−TAGCをINVにする
よう要求する。
〔D−c〕〔C−d〕と同じ処理を行なう。ABS and SLB-T for the MCU 35
In addition to sending the status of AG, it notifies that the data of this block will be sent. When the data bus becomes available, the block is sent to MCU 35 and SLB-TAG is set to I.
Request to SLV-TAGC to INV as well as to NV. The same processing as [D-c] and [C-d] is performed.
【0072】このように、本実施例によれば、もともと
別の目的に使用されていたタグ情報の写し(TAGC)
を活用することによって、FLB33A,33B,SL
B34A,34B,MCU35におけるエラー処理が改
善され、メモリ資源の無駄な増大を抑制しながら、エラ
ーの状況に応じて最短時間でエラーの復旧処理を行なう
ことができるので、エラー処理手順が簡略化され、デー
タの管理も行ないやすくなって、情報処理装置(計算機
システム)としての信頼性が大幅に向上するのである。As described above, according to this embodiment, a copy of tag information originally used for another purpose (TAGC).
FLB33A, 33B, SL by utilizing
The error handling in the B34A, 34B, and MCU 35 is improved, and the error recovery process can be performed in the shortest time according to the error situation while suppressing the wasteful increase of the memory resource. Therefore, the error handling procedure is simplified. As a result, it becomes easier to manage data, and the reliability of the information processing device (computer system) is greatly improved.
【0073】なお、上述した実施例では、CPUを2台
そなえるとともに、各CPUとMSUとの間に3階層の
メモリ構造をそなえた場合について説明したが、本発明
は、これに限定されるものではなく、CPUを3台以上
そなえた場合や、2階層あるいは4階層以上のメモリ構
造をそなえた場合にも同様に適用され、上述した実施例
と同様の作用効果が得られることは言うまでもない。In the above embodiment, the case where two CPUs are provided and the memory structure of three layers is provided between each CPU and the MSU has been described, but the present invention is not limited to this. However, it is needless to say that the present invention can be similarly applied to a case where three or more CPUs are provided or a case where a memory structure having two or four or more hierarchies is provided, and the same effect as the above-described embodiment can be obtained.
【0074】[0074]
【発明の効果】以上詳述したように、本発明の情報処理
装置(請求項1,2)によれば、もともと別の目的に使
用されていたタグ情報の写しを活用しながら、各階層の
バッファ記憶装置のタグ部,データ部,タグ複写部にお
けるエラーを、全て同じ手法でエラー発生部分に対応す
るデータを各階層から排除することで復旧することがで
きるので、メモリ資源の無駄な増大を抑制しながら、エ
ラーの状況に応じて最短時間でエラーの復旧処理を行な
え、エラー処理手順を簡略化でき、データの管理も行な
いやすく、情報処理装置としての信頼性を大幅に向上で
きる効果がある。As described above in detail, according to the information processing apparatus of the present invention (claims 1 and 2), while utilizing the copy of the tag information originally used for another purpose, Errors in the tag unit, the data unit, and the tag copying unit of the buffer storage device can be recovered by removing the data corresponding to the error-occurring part from each layer by the same method. While suppressing, error recovery processing can be performed in the shortest time according to the error situation, error processing procedure can be simplified, data management can be easily performed, and reliability as an information processing device can be significantly improved. .
【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.
【図2】本発明の一般的な動作を説明すべく記憶系の要
部を取り出して示すブロック図である。FIG. 2 is a block diagram showing a main part of a storage system in order to explain a general operation of the present invention.
【図3】本発明の一実施例としての情報処理装置を示す
ブロック図である。FIG. 3 is a block diagram showing an information processing apparatus as an embodiment of the present invention.
【図4】本実施例の記憶系の要部を示すブロック図であ
る。FIG. 4 is a block diagram showing a main part of a storage system of this embodiment.
【図5】本実施例のSLBのもつ機能を説明するための
ブロック図である。FIG. 5 is a block diagram for explaining the function of the SLB of this embodiment.
1 記憶装置(主記憶装置)
2 処理装置(CPU)
3 バッファ記憶装置(キャッシュ,キャッシュメモ
リ)
4 データ部
5 タグ部
6 タグ複写部
7 エラー検出手段
8 第1の通知手段
9 検索手段
10 第2の通知手段
11 処理実行手段
12 第3の通知手段
20−(n−1) 第n−1次キャッシュ・メモリ(バ
ッファ記憶装置)
20−n 第n次キャッシュ・メモリ(バッファ記憶装
置)
20−(n+1) 第n+1次キャッシュ・メモリ(バ
ッファ記憶装置)
21 データ部
22 タグ部
23 タグ複写部
31 MSU(主記憶装置,記憶装置)
32A,32B CPU(処理装置)
33A,33B FLB(第1次バッファ記憶装置)
34A,34B SLB(第2次バッファ記憶装置)
35 MCU(主記憶制御装置)
36 データ部
37 タグ部
38 データ部
39 タグ部
40,41A,41B タグ複写部
42 エラー検出手段
43 第1の通知手段
44 検索手段
45 第2の通知手段
46 処理実行手段
47 第3の通知手段1 Storage Device (Main Storage Device) 2 Processing Device (CPU) 3 Buffer Storage Device (Cache, Cache Memory) 4 Data Unit 5 Tag Unit 6 Tag Copying Unit 7 Error Detection Means 8 First Notification Means 9 Search Means 10 Second Notifying means 11 Process executing means 12 Third notifying means 20- (n-1) n-1st level cache memory (buffer storage device) 20-n nth level cache memory (buffer storage device) 20- ( n + 1) n + 1st-order cache memory (buffer storage device) 21 data unit 22 tag unit 23 tag copying unit 31 MSU (main storage device, storage device) 32A, 32B CPU (processing device) 33A, 33B FLB (primary buffer) Storage device) 34A, 34B SLB (secondary buffer storage device) 35 MCU (main storage control device) 36 data unit 37 tag unit 8 data unit 39 tag portion 40,41A, 41B tag copying unit 42 error detection unit 43 first notification unit 44 retrieving means 45 second notification unit 46 processing execution unit 47 the third notification means
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡田 誠之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平5−265859(JP,A) 特開 昭53−125735(JP,A) 特開 昭57−113493(JP,A) 特開 昭58−6597(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Masayuki Okada 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Fujitsu Limited (56) Reference JP-A-5-265859 (JP, A) JP-A-53-125735 (JP, A) JP 57-113493 (JP, A) JP 58-6597 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 12 / 08-12 / 12
Claims (2)
いて動作する少なくとも一つの処理装置とをそなえると
ともに、各処理装置と該記憶装置との間に階層的にバッ
ファ記憶装置をそなえ、 各バッファ記憶装置が、該記憶装置のデータの一部を保
持するデータ部と、該データ部に保持されるデータのア
ドレスおよびステータスを含むタグ情報を保持するタグ
部と、自バッファ記憶装置よりも上位階層側のバッファ
記憶装置のタグ情報の写しを保持するタグ複写部とを有
し、 前記の各バッファ記憶装置のデータ保持状態をストア・
イン方式で制御する情報処理装置において、 各バッファ記憶装置は、 自バッファ記憶装置内でのエラーを検出するエラー検出
手段と、 該エラー検出手段がエラーを検出した場合に、そのエラ
ー発生部分のエントリ・アドレスとエラー検出事実とを
他階層のバッファ記憶装置に通知する第1の通知手段
と、自バッファ記憶装置よりも上位階層側 のバッファ記憶装
置から当該上位階層側のバッファ記憶装置内のタグ部ま
たはデータ部のエラー検出事実を通知された場合に、前
記エントリ・アドレスで該タグ複写部を検索し、当該エ
ントリ・アドレスの示すデータのアドレスおよびステー
タスを取り出す検索手段と、 該検索手段により取り出されたステータスに基づいて、
前記エラー発生部分に対する無効化要求またはムーブア
ウト要求を、該検索手段により取り出された前記データ
のアドレスとともに、エラー通知のあった階層のバッフ
ァ記憶装置に通知する第2の通知手段と、 他階層のバッファ記憶装置から無効化要求またはムーブ
アウト要求を通知された場合に、該当するデータに対す
る無効化処理またはムーブアウト処理を実行する処理実
行手段とをそなえるものであり、該 エラー検出手段により自バッファ記憶装置における該
タグ部または該データ部にエラーが発生したことを検出
した場合には、該第1の通知手段は、該エラーを起こし
たタグ部またはデータ部のエントリ・アドレスを、自バ
ッファ記憶装置よりも下位階層側のバッファ記憶装置に
通知するものであり、 当該下位階層側のバッファ記憶装置において、該検索手
段は、通知されたエントリ・アドレスで該タグ複写部を
検索して当該エントリ・アドレスの示すデータのアドレ
スを取り出すものであり、該第2の通知手段は、取り出
されたアドレスを前記自バッファ記憶装置に通知するも
のであり、 当該自バッファ記憶装置は、前記下位階層側のバッファ
記憶装置から通知されたアドレスにより該タグ複写部を
参照して自バッファ記憶装置よりも上位階層側のバッフ
ァ記憶装置に最新データが存在しているか否かを調べ、
最新データが存在しておらず且つ自バッファ記憶装置に
おけるデータが最新のものでなければそのデータを無効
化し、最新データが存在しておらず且つ自バッファ記憶
装置におけるデータが最新のものであればそのデータを
前記下位階層側のバッファ記憶装置へムーブアウトして
から前記エラーを発生した自バッファ記憶装置のデータ
・ブロックを無効化し、前記上位階層側のバッファ記憶
装置に最新データが存在していれば、前記アドレスを前
記上位階層側のバッファ記憶装置に通知するものであ
り、当該自バッファ記憶装置および 当該上位階層側のバッフ
ァ記憶装置は、最新データを前記下位階層側のバッファ
記憶装置に残し、且つ、前記自バッファ記憶装置および
前記上位階層側のバッファ記憶装置において前記最新デ
ータと同じアドレスをもつデータ・ブロックを全て無効
化するものであることを特徴とする、情報処理装置。1. A storage device and at least one processing device that operates based on data in the storage device, and a buffer storage device is hierarchically provided between each processing device and the storage device. The buffer storage device has a data part that holds a part of the data of the storage device, a tag part that holds tag information including the address and status of the data held in the data part, and a higher-order buffer than the own buffer storage device. And a tag copying unit that holds a copy of the tag information of the buffer storage device on the hierarchical level, and stores the data holding state of each of the buffer storage devices described above.
In the information processing apparatus controlled by the IN system, each buffer storage device has an error detection means for detecting an error in its own buffer storage device and an entry of an error occurrence part when the error detection means detects an error. First notification means for notifying the address and the error detection fact to the buffer storage device of the other layer, and the tag unit in the buffer storage device of the upper hierarchy side from the buffer storage device of the higher hierarchy side than the own buffer storage device Well
Or the fact that an error detection fact of the data section is notified, the tag copying section is searched by the entry address and the address and status of the data indicated by the entry address are retrieved by the retrieval section. Based on the status
Second notifying means for notifying the buffer storage device of the layer having the error notification of the invalidation request or the moveout request for the error occurrence part together with the address of the data retrieved by the searching means, when you are notified of the invalidation request or move-out request from the buffer store, which equipped with a processing execution unit for executing invalidation processing or move-out processing for the corresponding data, the own buffer storage by said error detection means When it is detected that an error has occurred in the tag part or the data part in the device, the first notifying means sets the entry address of the tag part or the data part in which the error has occurred in its own buffer storage device. It is intended to notify the buffer storage device in the lower hierarchy side of, of the lower layer side buffer Stories In the apparatus, the search means searches the tag copying unit at the notified entry address are those responsible to extract the address of the data indicated by the entry address, the notification means of the second is taken also address notifying the own buffer storage device
And than, the self buffer storage device, the latest data before Symbol buffer storage of the upper layer side than the reference to the own buffer store the tag copying unit by notified address from the lower layer side of the buffer store Check if it exists,
If the latest data does not exist and the data in the own buffer storage device is not the latest, invalidates the data, and if the latest data does not exist and the data in the own buffer storage device is the latest After moving out the data to the buffer storage device on the lower layer side, the data block of the own buffer storage device in which the error occurred is invalidated, and the latest data exists in the buffer storage device on the upper layer side. lever, der pre Symbol address shall notify the buffer memory of the upper layer side
Ri, the self buffer store and the upper layer side of the buffer storage device, leaving the latest data in the buffer storage device of the lower layer side, and, in the buffer storage device of the self buffer storage device and the upper layer side characterized in that said all data blocks with the same address as the latest data is to disable the information processing apparatus.
装置における該タグ複写部にエラーが発生したことを検
出した場合には、該第1の通知手段は、該エラーを起こ
したタグ複写部のエントリ・アドレスを、自バッファ記
憶装置よりも上位階層側のバッファ記憶装置に通知する
ものであり、 当該上位階層側のバッファ記憶装置は、通知されたエン
トリ・アドレスで該タグ部を検索して当該エントリ・ア
ドレスの示すデータのアドレスを取り出し、取り出され
たアドレスにより該タグ複写部を参照して当該上位階層
側のバッファ記憶装置よりもさらに上位階層側のバッフ
ァ記憶装置に最新データが存在しているか否かを調べ、
最新データが存在しておらず且つ当該上位階層側のバッ
ファ記憶装置におけるデータが最新のものでなければそ
のデータを無効化し、最新データが存在しておらず且つ
当該上位階層側のバッファ記憶装置におけるデータが最
新のものであればそのデータを前記自バッファ記憶装置
へムーブアウトしてから当該上位階層側のバッファ記憶
装置のデータ・ブロックを無効化し、当該上位階層側の
バッファ記憶装置よりもさらに上位階層側のバッファ記
憶装置に最新データが存在していれば、前記アドレスを
当該上位階層側のバッファ記憶装置よりもさらに上位階
層側のバッファ記憶装置に通知するものであり、当該上位階層側のバッファ記憶装置および 当該上位階層
側のバッファ記憶装置よりもさらに上位階層側のバッフ
ァ記憶装置は、最新データを前記自バッファ記憶装置に
残し、且つ、前記上位階層側のバッファ記憶装置および
当該上位階層側のバッファ記憶装置よりもさらに上位階
層側のバッファ記憶装置において前記最新データと同じ
アドレスをもつデータ・ブロックを全て無効化するもの
であることを特徴とする、請求項1記載の情報処理装
置。If wherein errors to the tag copying unit in its own buffer storage by said error detection means detects that it has generated, the notification means of the first, an entry of the tag copying unit that caused the error - an address, and notifies the buffer storage device of the upper layer side than the self buffer store
Is intended, the upper layer side of the buffer memory device, retrieves the address of the data indicated by the entry address by searching the tag portion in notification entries address, said by Installing issued address tag By referring to the copy unit, it is checked whether or not the latest data exists in the buffer storage device on the higher hierarchy side than the buffer storage device on the higher hierarchy side,
If the latest data does not exist and the data in the buffer storage device on the upper layer side is not the latest, the data is invalidated, and the latest data does not exist and in the buffer storage device on the upper layer side. data to invalidate the data block of the latest value, if the move out and the upper layer side of the buffer storage device from the data to the own buffer storage device, further than the upper layer side of the buffer store if the latest data exists in the buffer storage device of the upper layer side, which informs the previous SL address in buffer memory device further upper layer side of the buffer storage device of the upper layer side, the upper layer side the buffer storage device and the buffer memory device of the upper layer side further than the upper layer side of the buffer memory, the latest data Data in the buffer storage device on the upper layer side and on the buffer storage device on the layer further higher than the buffer storage device on the upper layer side and having the same address as the latest data. What invalidates all blocks
And characterized in that, the information processing apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09189594A JP3483296B2 (en) | 1994-04-28 | 1994-04-28 | Information processing equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09189594A JP3483296B2 (en) | 1994-04-28 | 1994-04-28 | Information processing equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07295883A JPH07295883A (en) | 1995-11-10 |
JP3483296B2 true JP3483296B2 (en) | 2004-01-06 |
Family
ID=14039307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09189594A Expired - Fee Related JP3483296B2 (en) | 1994-04-28 | 1994-04-28 | Information processing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3483296B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008155805A1 (en) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | Cache memory device, arithmetic processing unit, and its control method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007094048A1 (en) * | 2006-02-14 | 2007-08-23 | Fujitsu Limited | Invalidation processing device and invalidation processing method |
EP1986101B1 (en) | 2006-02-14 | 2012-06-20 | Fujitsu Ltd. | Coherency maintaining device and coherency maintaining method |
JPWO2007096998A1 (en) * | 2006-02-24 | 2009-07-09 | 富士通株式会社 | Cache memory device and cache memory control method |
WO2012029137A1 (en) * | 2010-08-31 | 2012-03-08 | 富士通株式会社 | Computing device, information processing device and method of controlling computing device |
-
1994
- 1994-04-28 JP JP09189594A patent/JP3483296B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008155805A1 (en) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | Cache memory device, arithmetic processing unit, and its control method |
US8700947B2 (en) | 2007-06-20 | 2014-04-15 | Fujitsu Limited | Cache memory apparatus, execution processing apparatus and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JPH07295883A (en) | 1995-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190951B2 (en) | Handling of errors in a data processing apparatus having a cache storage and a replicated address storage | |
US7987407B2 (en) | Handling of hard errors in a cache of a data processing apparatus | |
US8977820B2 (en) | Handling of hard errors in a cache of a data processing apparatus | |
EP1966697B1 (en) | Software assisted nested hardware transactions | |
JP2691120B2 (en) | Storage management subsystem and method for fast writing of blocks | |
US6587931B1 (en) | Directory-based cache coherency system supporting multiple instruction processor and input/output caches | |
JP2830218B2 (en) | Failure handling method for disk controller with cache | |
US7669008B2 (en) | Destage management of redundant data copies | |
JP2003162447A (en) | Error recovery | |
JPH0642193B2 (en) | Update recording method and apparatus for DASD array | |
JPH0820986B2 (en) | How to handle check bits for write error detection | |
JPH10301846A (en) | Functional bypass method and system for cache array defect using restoration mask | |
JP3851093B2 (en) | Data transfer method and data processing system | |
JPH10320280A (en) | Method for storing value in cache, and computer system | |
US5943686A (en) | Multiple cache directories for non-arbitration concurrent accessing of a cache memory | |
JP3192664B2 (en) | Cache memory system and cache memory controller | |
JP3483296B2 (en) | Information processing equipment | |
JPH10320279A (en) | Recoverable high-speed directory access method | |
JP2540008B2 (en) | Data processing system and method for validating data record image in memory means | |
CN111611223B (en) | Non-volatile data access method, system, electronic device and medium | |
JP5021978B2 (en) | Multiprocessor system and operation method thereof | |
JP3129224B2 (en) | Cache memory device | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
KR19980047273A (en) | How to Manage Cache on RAID Level 5 Systems | |
JP3080030B2 (en) | Hierarchical cache device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030930 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081017 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |