JP2014081865A - Cache memory, cache memory fault control method, and information processing system - Google Patents

Cache memory, cache memory fault control method, and information processing system Download PDF

Info

Publication number
JP2014081865A
JP2014081865A JP2012230553A JP2012230553A JP2014081865A JP 2014081865 A JP2014081865 A JP 2014081865A JP 2012230553 A JP2012230553 A JP 2012230553A JP 2012230553 A JP2012230553 A JP 2012230553A JP 2014081865 A JP2014081865 A JP 2014081865A
Authority
JP
Japan
Prior art keywords
way
entry
error
data
diagnosis
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.)
Granted
Application number
JP2012230553A
Other languages
Japanese (ja)
Other versions
JP6025193B2 (en
Inventor
Tomiko Yamada
富子 山田
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2012230553A priority Critical patent/JP6025193B2/en
Publication of JP2014081865A publication Critical patent/JP2014081865A/en
Application granted granted Critical
Publication of JP6025193B2 publication Critical patent/JP6025193B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a cache memory of which the degradation can be quickly and appropriately determined by the execution of diagnosis based on a detected error.SOLUTION: A cache memory 30 comprising an address array 33 and a data array 34 includes at least: an error detection unit 35 which detects and corrects an error of data read from a way of an entry in the data array 34; and an error diagnosis control unit 36 which is started in response to detection of an error in the error detection unit 35 to control the execution of diagnosis for the way of the entry where the error has been detected. When a diagnosis result of the error diagnosis control unit 36 shows that the error is determined to be caused by an intermittent fault, the way of the entry where the error has been detected is allowed to be continuously used. When the error is determined to be caused by a fixed fault, the way of the entry where the error has been detected is degraded and is set to an unavailable state.

Description

本発明は、キャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムに関し、特に、情報処理システムに備えられたキャッシュメモリにおける障害の診断制御機能を有するキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムに関するものであり、複数ウェイのセットアソシアティブ方式のキャッシュメモリを備えた情報処理システムにおいて好適に適用することができる。   The present invention relates to a cache memory, a cache memory failure control method, and an information processing system, and more particularly, to a cache memory having a failure diagnosis control function in a cache memory provided in the information processing system, a cache memory failure control method, and an information processing system. Therefore, the present invention can be suitably applied to an information processing system including a multi-way set associative cache memory.

情報処理システムに備えられたキャッシュメモリのエラーには、ソフトエラー等による間欠障害とハードエラー等による固定障害とがある。複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリの場合、キャッシュメモリの一部のウェイが使用不可能になっても、残りのウェイで、システムの運用を継続することが可能であることから、障害が発生したウェイをデグレードして使用しない状態に設定してキャッシュメモリを継続して使用することができる。   An error in a cache memory provided in the information processing system includes an intermittent failure due to a soft error or the like and a fixed failure due to a hardware error or the like. In the case of a cache memory consisting of a multi-way set associative address array and data array, even if some of the ways of the cache memory become unusable, the system operation will continue on the remaining ways. Therefore, it is possible to continue using the cache memory by degrading the way in which the failure has occurred and setting it to a state where it is not used.

ただし、かくのごときデグレードは性能低下を招く恐れがある。つまり、キャッシュメモリの障害には、前述のように、ソフトエラーによる間欠障害があるので、間欠障害が発生したウェイのように、本来ならば、当該ウェイを継続して使用することが可能なキャッシュメモリに関しても、1度のエラーの検出により、当該ウェイを直ちにデグレードさせてしまうことは、性能上望ましくない。一方、固定障害が発生したにも関わらず、キャッシュメモリの使用を継続すると、固定障害のウェイへのアクセスによる制御が増えて、性能が低下したりして、信頼性の低下につながる恐れがある。   However, there is a risk that degradation will cause performance degradation. In other words, as described above, since there is an intermittent failure due to a soft error in the cache memory failure, a cache that can continue to use the way is normally used like a way in which an intermittent failure has occurred. Regarding the memory, it is undesirable in terms of performance to immediately degrade the way by detecting an error once. On the other hand, if you continue to use the cache memory even if a fixed failure occurs, the control by accessing the fixed failure way increases, which may lead to a decrease in performance and reliability. .

間欠障害によるデグレードを防ぐ先行技術としては、特許文献1の特開平04−124747号公報「キャッシュメモリ」や特許文献2の特開平03−250345号公報「キャッシュメモリ制御回路」に記載の技術があり、診断によりデグレードを設定する先行技術としては、特許文献3の特許第3199378号公報「集積メモリ、その管理方法および該方法から得られる情報システム」に記載の技術がある。   As prior arts for preventing degradation due to intermittent failure, there are techniques described in Japanese Patent Laid-Open No. 04-124747 “Cache Memory” of Patent Document 1 and Japanese Patent Laid-Open No. 03-250345 “Cache Memory Control Circuit” of Patent Document 2. As a prior art for setting a degradation by diagnosis, there is a technique described in Japanese Patent No. 3199378 “Integrated Memory, Management Method and Information System Obtained from the Method” of Patent Document 3.

前記特許文献1に記載の技術は、間欠障害による過剰なデグレードによる性能低下を救うために、第1回目のエラーはミスヒットとして扱って、書き込み直し、第2回目に連続してエラーが発生したときに、デグレードを行うという技術であるが、第2回目のエラーに関しては、通常トランザクションが当該キャッシュメモリを読み出すまでの間は不明であり、間欠障害、固定障害のいずれが発生しているかを迅速に判定することができない。   The technique described in Patent Document 1 treats the first error as a miss hit and rewrites it in order to save performance degradation due to excessive degradation due to intermittent failure, and an error occurs continuously for the second time. Sometimes it is a technique to perform degradation, but the second error is unknown until the normal transaction reads the cache memory, and it is quick to determine whether an intermittent failure or a fixed failure has occurred. Cannot be judged.

前記特許文献2に記載の技術は、間欠障害による過剰なデグレードによる性能低下を救うために、エラー回数を保持して、システムとしてあらかじめ定義したエラー回数に到達した場合に、デグレードを行うという技術であるが、エラーの判定は、前記特許文献1の場合と同様、次にキャッシュメモリを読み出す通常トランザクションが発生するまで分からない。   The technique described in Patent Document 2 is a technique in which the number of errors is held and degradation is performed when the number of errors defined in advance as a system is reached in order to save performance degradation due to excessive degradation due to intermittent failures. However, as in the case of Patent Document 1, the error determination is not known until the next normal transaction for reading the cache memory occurs.

前記特許文献3に記載の技術は、診断を行うことによって使用不能な部分を検出してデグレードするという技術であるが、診断がプロセッサを介して実施され、かつ、運用中のエラーに起因して実施される診断ではないため、性能の低下を招き、かつ、運用中に発生するエラーを的確に検出することができない可能性がある。   The technique described in Patent Document 3 is a technique of detecting and degrading an unusable part by performing a diagnosis, but the diagnosis is performed through a processor and due to an error during operation. Since the diagnosis is not performed, there is a possibility that performance is deteriorated and an error that occurs during operation cannot be accurately detected.

特開平04−124747号公報(第2−3頁)JP 04-124747 A (page 2-3) 特開平03−250345号公報(第2−3頁)Japanese Patent Laid-Open No. 03-250345 (page 2-3) 特許第3199378号公報(第3−6頁)Japanese Patent No. 3199378 (pages 3-6)

複数ウェイのセットアソシアティブ方式のキャッシュメモリを備えた情報処理システムにおいては、前述したように、キャッシュメモリのデータにエラーが検出された場合に、エラーが検出されたエントリのウェイをデグレードして運用を継続することができる。この場合、発生したエラーが間欠障害によるものであった場合には、デグレードによる不必要な性能低下を防ぐことが重要であり、また、固定障害によるエラーを確実に検出してデグレードを実施することが重要である。   In an information processing system equipped with a multi-way set associative cache memory, as described above, when an error is detected in the cache memory data, the way of the entry in which the error is detected is degraded and operated. Can continue. In this case, if the error that occurred is due to an intermittent failure, it is important to prevent unnecessary performance degradation due to degradation, and to ensure that errors due to fixed failures are detected and degraded. is important.

しかしながら、前述したように、間欠障害によるデグレードを防ぐための前記特許文献1や前記特許文献2に記載のような従来の技術においては、間欠障害によるエラーか否かを判別するまでに時間がかかるという問題があり、また、固定障害を確実に検出するための前記特許文献3に記載のような従来の技術においては、診断用にプロセッサの能力を割く必要が生じること、また、実際に発生したエラーに基づく診断ではないため、有効な固定障害の検出にならない可能性があるという問題がある。   However, as described above, in the conventional techniques as described in Patent Document 1 and Patent Document 2 for preventing degradation due to intermittent failure, it takes time to determine whether the error is due to intermittent failure. In the conventional technique as described in Patent Document 3 for detecting a fixed fault with certainty, it is necessary to devote the capacity of the processor for diagnosis, and it has actually occurred. Since the diagnosis is not based on an error, there is a possibility that it may not be a detection of an effective fixed fault.

(本発明の目的)
本発明は、かかる事情に鑑みてなされたものであり、検出されたエラーに基づく診断の即時の実施により、デグレードを迅速かつ適切に判定することが可能なキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムを提供することをその目的としている。
(Object of the present invention)
The present invention has been made in view of such circumstances, and a cache memory, a cache memory failure control method, and information capable of quickly and appropriately determining a degradation by immediate execution of a diagnosis based on a detected error. Its purpose is to provide a processing system.

前述の課題を解決するため、本発明によるキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムは、主に、次のような特徴的な構成を採用している。   In order to solve the above-described problems, the cache memory, the cache memory failure control method, and the information processing system according to the present invention mainly adopt the following characteristic configuration.

(1)本発明によるキャッシュメモリは、複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリにおいて、前記データアレイのいずれかのエントリのウェイから読み出したデータのエラーの検出を行い、訂正を行うエラー検出部と、前記エラー検出部によりエラーが検出された際に起動され、該エラーが検出されたエントリのウェイに関する診断の実施を制御するエラー診断制御部と、を少なくとも備え、前記エラー診断制御部による診断結果として、検出されたエラーが間欠障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイを継続して使用することを可能にし、また、検出されたエラーが固定障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイをデグレードさせて、使用不可能な状態に設定することを特徴とする。   (1) A cache memory according to the present invention detects an error in data read from a way of any entry of the data array in a cache memory composed of a multiple way set associative address array and a data array. An error detection unit that performs and corrects, and an error diagnosis control unit that is activated when an error is detected by the error detection unit and controls the execution of the diagnosis of the way of the entry in which the error is detected When the detected error is determined to be an error due to an intermittent failure as a result of diagnosis by the error diagnosis control unit, the way of the entry in which the error is detected can be used continuously and detected. If the error is determined to be an error due to a fixed fault, the error is detected. By degrading the way of the entry, and sets the unusable.

(2)本発明によるキャッシュメモリ障害制御方法は、複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリの障害を制御するキャッシュメモリ障害制御方法であって、前記データアレイのいずれかのエントリのウェイから読み出したデータのエラーの検出を行い、訂正を行うエラー検出ステップと、前記エラー検出ステップによりエラーが検出された際に起動され、該エラーが検出されたエントリのウェイに関する診断の実施を制御するエラー診断制御ステップと、を少なくとも有し、前記エラー診断制御ステップによる診断結果として、検出されたエラーが間欠障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイを継続して使用することを可能にし、また、検出されたエラーが固定障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイをデグレードさせて、使用不可能な状態に設定することを特徴とする。   (2) A cache memory failure control method according to the present invention is a cache memory failure control method for controlling a failure of a cache memory composed of a multi-way set associative address array and a data array. An error detection step for detecting and correcting an error in data read from any entry way, and an entry way that is activated when an error is detected by the error detection step and that is detected by the error detection step An error diagnosis control step for controlling execution of diagnosis, and when the detected error is determined to be an error due to an intermittent failure as a diagnosis result of the error diagnosis control step, the entry in which the error is detected Allows you to continue using your way And, if the detected error is judged as an error by the fixed fault, by degrading the way of the entry in which the error is detected, and sets the unusable.

(3)本発明による情報処理システムは、プロセッサとメモリとの性能差を吸収するためのキャッシュメモリを少なくとも備えた情報処理システムにおいて、前記キャッシュメモリが、少なくとも前記(1)に記載のキャッシュメモリからなっていることを特徴とする。   (3) An information processing system according to the present invention is an information processing system including at least a cache memory for absorbing a performance difference between a processor and a memory, wherein the cache memory is at least from the cache memory according to (1). It is characterized by becoming.

本発明のキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムによれば、以下のような効果を奏することができる。   According to the cache memory, the cache memory failure control method, and the information processing system of the present invention, the following effects can be obtained.

すなわち、キャッシュメモリのエラーが検出されたときに、エラーが発生した部位(すなわちエントリのウェイ)を直ちに診断する機能としてエラー診断制御部(またはエラー診断制御ステップ)を設けて、キャッシュメモリの障害を迅速かつ的確に判定することを可能にしているので、間欠障害時における不要なデグレードによるキャッシュメモリの性能低下を最小限に留める一方、固定障害時において固定障害発生部位が不用意に継続して使用される事態を防ぐこともでき、而して、キャッシュメモリの信頼性を保つことができる。   In other words, when a cache memory error is detected, an error diagnosis control unit (or error diagnosis control step) is provided as a function for immediately diagnosing the part where the error has occurred (that is, the entry way), so Because it enables quick and accurate judgment, cache memory performance degradation due to unnecessary degradation at the time of intermittent failure is minimized, while the fixed failure occurrence site is used carelessly at the time of fixed failure It is possible to prevent such a situation, and thus the reliability of the cache memory can be maintained.

本発明による情報処理システムの内部構成の一例を示すシステム構成図である。It is a system configuration figure showing an example of an internal configuration of an information processing system by the present invention. 図1に示した情報処理システムのアドレスアレイおよびデータアレイが複数ウェイのセットアソシアティブ方式のキャッシュメモリとして構成されている場合のアドレスアレイおよびデータアレイの一構成例を説明するための説明図である。FIG. 2 is an explanatory diagram for explaining a configuration example of an address array and a data array when the address array and the data array of the information processing system shown in FIG. 1 are configured as a multi-way set associative cache memory. 図1、図2に示した情報処理システムの動作の一例を説明するフローチャートである。3 is a flowchart illustrating an example of the operation of the information processing system illustrated in FIGS. 1 and 2. 図1、図2に示した情報処理システムの動作の図3とは異なる例を説明するフローチャートである。3 is a flowchart for explaining an example of the operation of the information processing system shown in FIGS. 1 and 2 different from FIG. 図1、図2に示した情報処理システムの動作の図3、図4とは異なる例を説明するフローチャートである。5 is a flowchart for explaining an example different from FIGS. 3 and 4 of the operation of the information processing system shown in FIGS. 1 and 2. 図1、図2に示した情報処理システムの動作の補足説明を行うためのフローチャートである。3 is a flowchart for supplementary explanation of the operation of the information processing system shown in FIGS. 1 and 2.

以下、本発明によるキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明によるキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムについて説明するが、場合によっては、かかるキャッシュメモリ障害制御方法をコンピュータにより実行可能なキャッシュメモリ障害制御プログラムとして実施するようにしても良いし、あるいは、キャッシュメモリ障害制御プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。   Preferred embodiments of a cache memory, a cache memory failure control method, and an information processing system according to the present invention will be described below with reference to the accompanying drawings. In the following description, the cache memory, the cache memory failure control method, and the information processing system according to the present invention will be described. However, in some cases, the cache memory failure control method is executed as a cache memory failure control program that can be executed by a computer. Needless to say, the cache memory failure control program may be recorded on a computer-readable recording medium.

(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明によるキャッシュメモリ、キャッシュメモリ障害制御方法および情報処理システムにおいて、対象とする情報処理システムは、複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリを備えた情報処理システムである。
(Features of the present invention)
Prior to the description of the embodiments of the present invention, an outline of the features of the present invention will be described first. In the cache memory, the cache memory failure control method, and the information processing system according to the present invention, the target information processing system includes a cache memory including a plurality of ways of associative address arrays and data arrays. It is.

かくのごときキャッシュメモリの構成において、システム運用中に、キャッシュメモリのデータにエラーが発生したとき、エラーが発生したキャッシュメモリのエントリのウェイを即座に診断する機能を追加することによって、迅速に、発生したエラーが間欠障害、固定障害のいずれによるものかを切り分けて、間欠障害によるものの場合は、エラーが発生した当該エントリのウェイの継続使用を許可し、固定障害によるものの場合は、当該エントリのウェイをデグレードさせて使用不可の状態に設定することを、主要な特徴としている。而して、キャッシュメモリのエラーが発生したときの対処法として、迅速に、間欠障害、固定障害のいずれによるものかを切り分けて、必要以上のデグレードを防ぐことにより、性能低下を抑えることができ、かつ、固定障害部位の不用意な継続使用を防ぐことができ、キャッシュメモリの信頼性を保つことが可能になる。   In the cache memory configuration like this, when an error occurs in the cache memory data during system operation, by adding a function to immediately diagnose the way of the cache memory entry where the error occurred, Determine whether the error that occurred is due to an intermittent failure or a fixed failure.If the error is due to an intermittent failure, allow continuous use of the way of the entry in which the error has occurred. The main feature is that the way is degraded and set to an unusable state. Therefore, as a countermeasure against a cache memory error, it is possible to quickly determine whether it is due to an intermittent failure or a fixed failure, and to prevent unnecessary degradation, thereby suppressing performance degradation. In addition, inadvertent continuous use of the fixed failure site can be prevented, and the reliability of the cache memory can be maintained.

(実施形態の構成例)
次に、本発明によるキャッシュメモリ障害制御回路、キャッシュメモリ障害制御方法および情報処理システムの実施形態の構成例について説明する。まず、本発明による情報処理システムの構成例について、図1のシステム構成図を用いて説明する。図1は、本発明による情報処理システムの内部構成の一例を示すシステム構成図であり、複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリを備えた情報処理システムの構成例を示している。
(Configuration example of embodiment)
Next, configuration examples of embodiments of a cache memory failure control circuit, a cache memory failure control method, and an information processing system according to the present invention will be described. First, a configuration example of an information processing system according to the present invention will be described with reference to the system configuration diagram of FIG. FIG. 1 is a system configuration diagram showing an example of an internal configuration of an information processing system according to the present invention. The configuration of an information processing system including a cache memory including a multi-way set associative address array and a data array An example is shown.

図1に示す情報処理システム11は、プロセッサ21、メモリ22、トランザクション制御部25およびキャッシュメモリ30を含んで構成される。キャッシュメモリ30は、キャッシュ制御部32、アドレスアレイ33、データアレイ34、エラー検出部35およびエラー診断制御部36を少なくとも含んで構成される。   The information processing system 11 illustrated in FIG. 1 includes a processor 21, a memory 22, a transaction control unit 25, and a cache memory 30. The cache memory 30 includes at least a cache control unit 32, an address array 33, a data array 34, an error detection unit 35, and an error diagnosis control unit 36.

トランザクション制御部25は、プロセッサ21やメモリ22との間のトランザクションの送受信およびキャッシュ制御部32との間のトランザクションの送受信を行う。アドレスアレイ33およびデータアレイ34は、複数ウェイのセットアソシアティブ方式のキャッシュメモリである。また、キャッシュ制御部32は、アドレスアレイ33とデータアレイ34との制御を行う部位である。また、エラー検出部35は、データアレイ34から読み出したデータのエラーを検出して訂正を行う部位である。また、エラー診断制御部36は、本発明を特徴付ける追加機能の一つとして設けた部位であり、エラー検出部35からエラー通知を受けると、直ちに起動されて、エラーが検出された部位(すなわちエントリのウェイ)に対する診断の実行を制御し、リードの診断指示やライト&リードの診断指示をキャッシュ制御部32に対して行ったり、診断結果に基づいて、エラーが検出された部位のデグレード判定を行い、デグレードの設定指示をキャッシュ制御部32に対して行ったりする部位である。   The transaction control unit 25 performs transmission / reception of transactions with the processor 21 and the memory 22 and transmission / reception of transactions with the cache control unit 32. The address array 33 and the data array 34 are multi-way set associative cache memories. The cache control unit 32 is a part that controls the address array 33 and the data array 34. The error detector 35 is a part that detects and corrects errors in data read from the data array 34. Further, the error diagnosis control unit 36 is a part provided as one of the additional functions characterizing the present invention. Upon receiving an error notification from the error detection part 35, the error diagnosis control part 36 is activated immediately and a part where an error is detected (that is, an entry). Control of the diagnosis of the portion of the detected error is performed based on the diagnosis result based on the diagnosis result. In this part, a setting instruction for degradation is given to the cache control unit 32.

また、アドレスアレイ33には、図2に後述するように、エラーが検出されたエントリのウェイが診断中であることを示す診断中フラグとエントリのウェイが不正なデータになっていることを示す障害フラグとを設けている。キャッシュ制御部32は、アドレスアレイ33の診断中フラグを確認して、通常トランザクションが指定しているアドレスが診断中のエントリのウェイのアドレスと一致したときは、診断の実施を優先させて、該通常トランザクションの処理を待ち合わせることにより、診断中のデータが該通常トランザクションに使われないように制御する機能を有している。また、キャッシュ制御部32は、エラー診断制御部36からの診断指示を受け取ると、通常トランザクションに優先して、診断指示に従ったアドレスアレイ33やデータアレイ34へのキャッシュアクセス制御を行う機能を有している。かくのごときエラー診断制御部36およびキャッシュ制御部32の機能により、エラー検出部35によって、データアレイ34から読み出したデータにエラーが検出されたときに、エラーが検出されたエントリのウェイへの診断を通常トランザクションに優先して割り込ませて実施させることができ、迅速に、かつ、適切に、デグレード判定を行うことができる。   Further, as will be described later with reference to FIG. 2, the address array 33 indicates that the in-diagnosis flag indicating that the way of the entry in which the error is detected and the entry way are invalid data. A failure flag is provided. The cache control unit 32 checks the in-diagnosis flag of the address array 33. When the address specified by the normal transaction matches the address of the way of the entry under diagnosis, the cache control unit 32 gives priority to the execution of the diagnosis. It has a function of controlling the data being diagnosed not to be used for the normal transaction by waiting for the processing of the normal transaction. When the cache control unit 32 receives a diagnosis instruction from the error diagnosis control unit 36, the cache control unit 32 has a function of performing cache access control to the address array 33 and the data array 34 in accordance with the diagnosis instruction in preference to the normal transaction. doing. When the error detection unit 35 detects an error in the data read from the data array 34 by the functions of the error diagnosis control unit 36 and the cache control unit 32, the diagnosis of the entry in which the error is detected to the way is performed. Can be executed by interrupting the normal transaction, and the degradation determination can be performed promptly and appropriately.

図2は、図1に示した情報処理システム11のアドレスアレイ33およびデータアレイ34が複数ウェイのセットアソシアティブ方式のキャッシュメモリとして構成されている場合のアドレスアレイ33およびデータアレイ34の一構成例を説明するための説明図であり、図2(A)は、複数ウェイからなるアドレスアレイ33を示し、図2(B)は、複数ウェイからなるデータアレイ34を示している。   FIG. 2 shows a configuration example of the address array 33 and the data array 34 when the address array 33 and the data array 34 of the information processing system 11 shown in FIG. 1 are configured as a multi-way set associative cache memory. FIG. 2A illustrates an address array 33 including a plurality of ways, and FIG. 2B illustrates a data array 34 including a plurality of ways.

図2(A)に示すように、アドレスアレイ33は、キャッシュラインサイズごとの情報を保持する複数ウェイからなる構成であって、アドレスの一部(例えば下位側のアドレス)であるセットアドレス42を、アドレスアレイ33のエントリとして用いる。1つずつのエントリそれぞれは、キーアドレス41、ステータス43、フラグ44によって構成される。ここで、キーアドレス41は、アドレスのうち、セットアドレス42を除いた残りのアドレス(例えば上位側のアドレス)である。   As shown in FIG. 2A, the address array 33 is composed of a plurality of ways for holding information for each cache line size, and a set address 42 which is a part of an address (for example, a lower address) is stored. , Used as an entry in the address array 33. Each entry is composed of a key address 41, a status 43, and a flag 44. Here, the key address 41 is a remaining address (for example, a higher-order address) excluding the set address 42 among the addresses.

ステータス43は、セットアドレス42とキーアドレス41とによって示されるアドレス(エントリのウェイ)のキャッシング状況を示している。本実施形態においては、ステータス43は、例えば、ライトバック方式において使用されるMSI(Modified、Shared、Invalid)キャッシュプロトコルにおける3つの状態、すなわち、'Invalid'(キャッシュメモリのエントリウェイが使われていない状態)、'Shared'(キャッシュメモリのエントリウェイとメモリ22の対応するアドレスとに同じデータが存在している状態)、'Modified'(キャッシュメモリのエントリウェイだけにデータが存在している状態)の3つの状態の他に、さらに、エントリのウェイが使用不可のデグレード状態にあることを示す'Degrade'と称する状態を追加し、合計4つの状態のいずれの状態であるかを保持する。なお、該デグレード状態は、ステータス43とは別に、フラグとして別途1ビットを追加配置しても良いが、本実施形態においては、説明の便宜上、ステータス43の中に追加することにしている。   The status 43 indicates the caching status of the address (entry way) indicated by the set address 42 and the key address 41. In the present embodiment, the status 43 includes, for example, three states in the MSI (Modified, Shared, Invalid) cache protocol used in the write-back method, that is, 'Invalid' (the cache memory entry way is not used). State), 'Shared' (state where the same data exists in the cache memory entry way and the corresponding address in the memory 22), 'Modified' (state where data exists only in the cache memory entry way) In addition to the above three states, a state called “Degrade” indicating that the entry way is in an unusable degraded state is added to hold any of the four states in total. In the degraded state, one bit may be additionally arranged as a flag separately from the status 43, but in the present embodiment, it is added to the status 43 for convenience of explanation.

フラグ44は、本実施形態において追加した機能の1つであり、該当するエントリのウェイが診断中であることを示す診断中フラグ51と、該当するエントリのウェイに登録されているアドレスのデータが不正であることを示す障害フラグ52との2種類のフラグを有している。診断中フラグ51は、診断中の状態にあるアドレスのデータを通常トランザクションが使わないように通常トランザクションを待ち合わせるためのものである。一方、障害フラグ52は、同アドレスのデータが不正なデータであって、メモリ22にもデータがないことを示すものであり、コヒーレンシ制御用のフラグである。   The flag 44 is one of the functions added in the present embodiment, and the diagnosis flag 51 indicating that the way of the corresponding entry is being diagnosed and the data of the address registered in the way of the corresponding entry are displayed. There are two types of flags, a failure flag 52 indicating fraud. The in-diagnosis flag 51 is used to wait for a normal transaction so that the normal transaction does not use data at an address in a state under diagnosis. On the other hand, the failure flag 52 indicates that the data at the same address is invalid and there is no data in the memory 22, and is a flag for coherency control.

また、図2(B)に示すデータアレイ34は、アドレスアレイ33とはエントリとウェイとが同じ構成の1対1の関係にあり、1つずつのエントリそれぞれは、キャッシュデータ45によって構成される。キャッシュデータ45は、キャッシュラインサイズのデータであり、ECC(Error Correcting Code)等の誤り検出訂正ビットが付随している。   In addition, the data array 34 shown in FIG. 2B has a one-to-one relationship in which the entries and ways have the same configuration as the address array 33, and each entry is composed of cache data 45. . The cache data 45 is data of the cache line size and is accompanied by error detection and correction bits such as ECC (Error Correcting Code).

(実施形態の動作の説明)
次に、図1、図2に示した情報処理システム11の動作について、その一例を、図3、図4、図5のフローチャートを用いて説明する。図3は、図1、図2に示した情報処理システム11の動作の一例を説明するフローチャートであり、プロセッサ21からデータアレイ34のキャッシュデータ45を読み出したときにエラー検出部35にて訂正不可能なエラーを検出した後の診断制御動作の一例を説明している。また、図4は、図1、図2に示した情報処理システム11の動作の図3とは異なる例を説明するフローチャートであり、図3のフローチャートにおける診断終了後に、通常トランザクションが診断対象になっていたエントリのウェイを参照した場合の動作の一例を説明している。また、図5は、図1、図2に示した情報処理システム11の動作の図3、図4とは異なる例を説明するフローチャートであり、図3のフローチャートにおける診断中の状態において、通常トランザクションが診断対象のエントリのウェイを参照した場合の動作の一例を説明している。
(Description of operation of embodiment)
Next, an example of the operation of the information processing system 11 shown in FIGS. 1 and 2 will be described using the flowcharts of FIGS. 3, 4, and 5. FIG. 3 is a flowchart for explaining an example of the operation of the information processing system 11 shown in FIGS. 1 and 2. When the cache data 45 of the data array 34 is read from the processor 21, the error detection unit 35 does not correct the error. An example of a diagnostic control operation after detecting a possible error is described. FIG. 4 is a flowchart for explaining an example of the operation of the information processing system 11 shown in FIGS. 1 and 2 that is different from that in FIG. 3. After the diagnosis in the flowchart of FIG. An example of the operation when referring to the way of the entry that has been described will be described. FIG. 5 is a flowchart for explaining an example of the operation of the information processing system 11 shown in FIGS. 1 and 2 different from those in FIGS. 3 and 4. In the state under diagnosis in the flowchart of FIG. Describes an example of the operation when referring to the way of the entry to be diagnosed.

まず、図3のフローチャートを用いて、訂正不可能なエラーを検出して診断を実施した場合の動作の一例について説明する。プロセッサ21からの通常トランザクションの要求によりデータアレイ34のデータを読み出した際に、エラー検出部35にて訂正不可能なエラーを検出すると、その旨をエラー診断制御部36に報告する。エラー診断制御部36は、エラー検出部35からのエラー検出報告を受け取ると、キャッシュ制御部32からエラー検出時のエントリとウェイとに関する情報を受け取って、診断制御を直ちに開始する。まず、エラー診断制御部36は、キャッシュ制御部32に対して、受け取ったエラー検出時のエントリとウェイとに関する情報(以下には、「該エントリウェイ」と省略表示する)を指定した診断開始の指示を行うと、図3のフローチャートが起動される。   First, an example of an operation when an uncorrectable error is detected and diagnosis is performed will be described using the flowchart of FIG. When an error that cannot be corrected is detected by the error detection unit 35 when data in the data array 34 is read in response to a normal transaction request from the processor 21, the fact is reported to the error diagnosis control unit 36. When the error diagnosis control unit 36 receives the error detection report from the error detection unit 35, the error diagnosis control unit 36 receives information on the entry and way at the time of error detection from the cache control unit 32, and immediately starts diagnosis control. First, the error diagnosis control unit 36 designates information related to the received entry and way when an error is detected (hereinafter abbreviated as “the entry way”) to the cache control unit 32 and starts diagnosis. When the instruction is given, the flowchart of FIG. 3 is activated.

エラーが発生して図3のフローチャートが起動されると、エラー診断制御部36からの診断開始指示を受け取ったキャッシュ制御部32においては、トランザクション制御部25からのトランザクションの処理に優先して該診断開始指示に対応し、アドレスアレイ33の該エントリウェイに診断中フラグ51を設定する(ステップS101)。続いて、エラー診断制御部36は、最初の診断として、該エントリウェイから再リード(再読み取り)を行ってエラーが検出されるか否かを調べるために、キャッシュ制御部32に対して、該エントリウェイを指定したリード(読み取り)診断指示を行う(ステップS102)。   When an error occurs and the flowchart of FIG. 3 is started, the cache control unit 32 that has received the diagnosis start instruction from the error diagnosis control unit 36 prioritizes the transaction processing from the transaction control unit 25 and performs the diagnosis. In response to the start instruction, the diagnostic flag 51 is set in the entry way of the address array 33 (step S101). Subsequently, as an initial diagnosis, the error diagnosis control unit 36 performs reread (reread) from the entry way to check whether or not an error is detected, to the cache control unit 32, A lead (reading) diagnosis instruction designating the entry way is performed (step S102).

エラー診断制御部36からのリード(読み取り)診断指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51を索引して、診断中であることを確認した後、データアレイ34の該エントリウェイのデータをリードする(読み取る)。該リード(読み取り)動作におけるエラーの有無をエラー検出部35にてチェックし、チェックした結果をエラー診断制御部36に送出する。   In the cache control unit 32 that has received the read (read) diagnosis instruction from the error diagnosis control unit 36, after indexing the diagnostic flag 51 of the entry way of the address array 33 and confirming that the diagnosis is being performed, The data of the entry way of the data array 34 is read (read). The error detection unit 35 checks whether there is an error in the read operation, and sends the check result to the error diagnosis control unit 36.

エラー検出部35からのチェック結果を受け取ったエラー診断制御部36においては、該エントリウェイのリード(読み取り)診断結果として、エラーが検出されなかった場合は(ステップS103の「無」の場合)、該エントリウェイのリード(読み取り)時の間欠障害であると判断して、リードした(読み取った)該データも該エントリウェイもそのまま継続して使用することが可能な状態にあるものと見做し、ステップS109に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS109)。しかる後、エラー診断制御部36は診断処理を終了する。   In the error diagnosis control unit 36 that has received the check result from the error detection unit 35, when no error is detected as the entry way read (read) diagnosis result (in the case of “No” in step S 103), Judging that it is an intermittent failure at the time of reading (reading) the entryway, it is assumed that the read (read) data and the entryway can be used as they are, In step S109, the cache control unit 32 is instructed to cancel diagnosis by canceling the setting of the diagnostic flag 51 of the entry way. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S109). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

一方、最初の診断として実施した該エントリウェイのリード(読み取り)診断結果として、訂正不可能なエラー、すなわち、リードしたデータに付随しているECC等の誤り検出訂正ビットによるデータの訂正が不可能なエラーが検出された場合は(ステップS103の「有」の場合)、該エントリウェイのリード(読み取り)時の固定障害の可能性を確認するために、ステップS104に移行して、データアレイ34の該エントリウェイのデータのライト(書き込み)&リード(読み取り)診断を行う(ステップS104)。ここで、ライト&リード診断は、固定故障か否かを確実に切り分けることができるように、ECC等の誤り検出訂正ビットも含めて全ビットが'1'値と'0'値との双方にセットされることが必要であり、最低2回のライト&リード動作が必要になる。ここでは、第1回目は全ビットが'1'値、第2回目は全ビットが'0'値のデータを使って、2回のライト&リード動作を実施した結果の期待値チェックによる診断を例に採って説明する。   On the other hand, as the result of reading (reading) diagnosis of the entry way performed as the first diagnosis, an uncorrectable error, that is, correction of data by an error detection correction bit such as ECC attached to the read data is impossible. If an error is detected (in the case of “Yes” in step S103), in order to confirm the possibility of a fixed failure at the time of reading (reading) the entry way, the process proceeds to step S104, where the data array 34 The entry way data write (write) & read (read) diagnosis is performed (step S104). Here, in the write & read diagnosis, all the bits including the error detection and correction bits such as ECC are set to both the “1” value and the “0” value so that it is possible to surely determine whether or not the failure is a fixed failure. It must be set, and at least two write and read operations are required. Here, the first round uses data with a value of “1”, and the second round uses data with a value of “0” for all bits. An example will be described.

エラー診断制御部36は、まず、該エントリウェイの全ビットが'1'値のデータのライト(書き込み)診断指示をキャッシュ制御部32に送出する。エラー診断制御部36からの全ビットが'1'値のデータのライト(書き込み)診断指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51を索引して、診断中であることを確認した後、キャッシュデータ45としてデータアレイ34のラインデータの全ビットに'1'値を書き込み、書き込みが終了すると、その旨をエラー診断制御部36に通知する。   First, the error diagnosis control unit 36 sends to the cache control unit 32 a write (write) diagnosis instruction for data in which all bits of the entry way are “1” values. In the cache control unit 32 that has received a write (write) diagnosis instruction for data in which all bits from the error diagnosis control unit 36 are “1” values, the diagnostic flag 51 of the entry way in the address array 33 is indexed, After confirming that the diagnosis is in progress, a value “1” is written in all the bits of the line data of the data array 34 as the cache data 45. When the writing is completed, the error diagnosis control unit 36 is notified of this.

キャッシュ制御部32からの'1'値のライト(書き込み)動作終了通知を受け取ったエラー診断制御部36においては、次に、ライト後のリード診断指示をキャッシュ制御部32に対して送出する。エラー診断制御部36からのライト後のリード診断指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51を索引して、診断中であることを確認した後、データアレイ34の該エントリウェイのデータ(キャッシュデータ45)をリードする(読み取る)。該リード(読み取り)を行ったデータのエラーの有無をエラー検出部35にてチェックし、チェックした結果をエラー診断制御部36に送出する。   The error diagnosis control unit 36 that has received the write (write) operation end notification of the “1” value from the cache control unit 32 then sends a read diagnosis instruction after writing to the cache control unit 32. In the cache control unit 32 that has received the read diagnosis instruction after writing from the error diagnosis control unit 36, after indexing the diagnostic flag 51 of the entry way of the address array 33 and confirming that the diagnosis is being performed, Data of the entry way (cache data 45) of the data array 34 is read (read). The error detection unit 35 checks whether there is an error in the read data, and sends the check result to the error diagnosis control unit 36.

なお、ライト後のリード診断の場合は、リード(読み取り)を行ったデータ内容のチェックが必要であり、ECC等の誤り訂正回路を使用したチェックではデータ内容のチェックができない。このため、エラー検出部35は、キャッシュ制御部32から診断用のライト後のリード診断によるデータのチェックである旨を通知してもらい、通常のECC等の誤り訂正回路を使用したチェックではなく、リードした(読み取った)データの全ビットが'1'値の期待値と一致しているか否かのチェックを行う。   In the case of read diagnosis after writing, it is necessary to check the content of the data that has been read (read), and the data content cannot be checked by a check using an error correction circuit such as ECC. For this reason, the error detection unit 35 is notified from the cache control unit 32 that the data is checked by the read diagnosis after the write for diagnosis, and is not a check using an error correction circuit such as a normal ECC. It is checked whether all the bits of the read (read) data match the expected value of “1”.

エラー検出部35からのチェック結果を受け取ったエラー診断制御部36においては、次に、該エントリウェイの全ビットが'0'値のデータのライト(書き込み)診断指示をキャッシュ制御部32に送出し、全ビットが'1'値のライト&リード診断の場合と同様の制御を行って、エラー検出部35から全ビットが'0'値のライト&リード診断におけるチェック結果を取得する。   The error diagnosis control unit 36 that has received the check result from the error detection unit 35 next sends a write (write) diagnosis instruction for data in which all the bits of the entry way have a value of “0” to the cache control unit 32. The same control as in the case of the write & read diagnosis in which all bits are “1” values is performed, and the check result in the write & read diagnosis in which all bits are “0” values is acquired from the error detection unit 35.

全ビットが'1'値、全ビットが'0'値の2回のライト&リード動作のチェック結果を取得したエラー診断制御部36においては、チェック結果が2回ともエラーがなく、ライト後にリードした(読み取った)データが、全ビットが'1'値、全ビットが'0'値のそれぞれの期待値と一致していた場合には(ステップS105の「無」の場合)、該エントリウェイのリード(読み取り)時の間欠障害であると判断して、該エントリウェイはそのまま継続して使用することが可能な状態にあるものと見做す。   In the error diagnosis control unit 36 that acquired the check result of the two write & read operations in which all the bits are “1” value and all the bits are “0” value, the check result is read twice after writing without error. If the read (read) data matches the expected values of all bits having a value of “1” and all bits having a value of “0” (“NO” in step S105), the entry way Therefore, the entry way is considered to be in a state where it can be used continuously.

しかし、この場合、リード動作のみのステップS103の場合とは異なり、2回のライト&リード動作を行っているため、該エントリウェイはそのまま継続して使用することが可能な状態にあるものの、データ自体は使用することができない。そこで、エラー診断制御部36においては、該エントリウェイは継続使用が可能であるが、データは使用不可である旨を示すデータ使用不可指示をキャッシュ制御部32に対して送出する。   However, in this case, unlike the case of step S103 in which only the read operation is performed, since the write and read operations are performed twice, the entry way is in a state where it can be used as it is. Itself cannot be used. Therefore, the error diagnosis control unit 36 sends to the cache control unit 32 a data unusable instruction indicating that the entryway can be continuously used but the data is unusable.

エラー診断制御部36からのデータ使用不可指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイのステータス43を調べる(ステップS110)。ステータス43が'Shared'であった場合には(ステップS110の「Shared」の場合)、同じデータがメモリ22に存在していて、キャッシュメモリの該エントリウェイのデータを使用することができなくても問題はないので、アドレスアレイ33の該エントリウェイのステータス43を、キャッシュメモリを使っていない状態である旨を示す'Invalid'に設定した後(ステップS112)、ステータス43の設定終了の旨をエラー診断制御部36に通知する。   The cache control unit 32 that has received the data unusable instruction from the error diagnosis control unit 36 checks the status 43 of the entry way in the address array 33 (step S110). If the status 43 is “Shared” (in the case of “Shared” in step S110), the same data exists in the memory 22, and the data of the entry way in the cache memory cannot be used. Since there is no problem, the status 43 of the entry way in the address array 33 is set to “Invalid” indicating that the cache memory is not used (step S112). The error diagnosis control unit 36 is notified.

キャッシュ制御部32からステータス43の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS109に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS109)。しかる後、エラー診断制御部36は診断処理を終了する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the status 43 from the cache control unit 32 proceeds to step S109 and sets the entry way diagnostic flag 51 to the cache control unit 32. Instructs the diagnosis to be released. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S109). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

一方、ステップS110において、ステータス43が'Modified'であった場合は(ステップS110の「Modified」の場合)、該エントリウェイにしか有効なデータが存在していなかった場合であり、そのまま放置して処理を終了させることはできないので、アドレスアレイ33の該エントリウェイには、当該データが不正なデータであり、使用不可である旨を示す障害フラグ52を設定した後(ステップS111)、障害フラグ52の設定終了の旨をエラー診断制御部36に通知する。   On the other hand, if the status 43 is 'Modified' in step S110 (in the case of "Modified" in step S110), this is a case where valid data exists only in the entry way and is left as it is. Since the process cannot be terminated, a failure flag 52 indicating that the data is invalid data and cannot be used is set in the entry way of the address array 33 (step S111). Is notified to the error diagnosis control unit 36.

キャッシュ制御部32から障害フラグ52の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS109に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS109)。しかる後、エラー診断制御部36は診断処理を終了する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the failure flag 52 from the cache control unit 32 shifts to step S109 to notify the cache control unit 32 of the diagnostic flag 51 of the entryway. Instructs diagnosis cancellation to cancel the setting. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S109). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

また、ステップS105にて、全ビットが'1'値、全ビットが'0'値の2回のライト&リード動作のチェック結果を取得したエラー診断制御部36において、チェック結果が2回のいずれかまたは双方にエラーがあり、ライト後にリードした(読み取った)データが、全ビットが'1'値、全ビットが'0'値のそれぞれの期待値のいずれかまたは双方と一致していなかった場合には(ステップS105の「有」の場合)、該エントリウェイのリード(読み取り)時の固定障害であると判断して、該エントリウェイはそのまま継続して使用することができなく、デグレードを行う必要があるものと見做す。そこで、エラー診断制御部36においては、該エントリウェイは継続して使用することができない状態に設定するデグレードを行うために、デグレード指示をキャッシュ制御部32に対して送出する。   In step S105, the error diagnosis control unit 36 that acquired the check result of the two write & read operations in which all the bits have the value “1” and all the bits have the value “0”, the check result is Or both have errors, and the data read (read) after writing did not match one or both of the expected values of all bits having a value of '1' and all bits having a value of '0' In this case (in the case of “Yes” in step S105), it is determined that the entry way is a fixed failure at the time of reading (reading), and the entry way cannot be used as it is. Consider what needs to be done. Therefore, the error diagnosis control unit 36 sends a degradation instruction to the cache control unit 32 in order to perform a degradation that sets the entry way so that it cannot be used continuously.

エラー診断制御部36からのデグレード指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイのステータス43を調べる(ステップS106)。ステータス43が'Shared'であった場合には(ステップS106の「Shared」の場合)、同じデータがメモリ22に存在していて、キャッシュメモリの該エントリウェイのデータを使用することができなくても問題はないので、ステップS108に移行して、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換えて設定した後(ステップS108)、ステータス43の設定終了の旨をエラー診断制御部36に通知する。   The cache control unit 32 that has received the degradation instruction from the error diagnosis control unit 36 checks the status 43 of the entry way in the address array 33 (step S106). If the status 43 is “Shared” (in the case of “Shared” in step S106), the same data exists in the memory 22, and the data of the entry way in the cache memory cannot be used. Since there is no problem, the process proceeds to step S108, and the status 43 of the entry way in the address array 33 is rewritten and set to “Degrade” indicating an unusable state (step S108). This is notified to the error diagnosis control unit 36.

キャッシュ制御部32からステータス43の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS109に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS109)。しかる後、エラー診断制御部36は診断処理を終了する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the status 43 from the cache control unit 32 proceeds to step S109 and sets the entry way diagnostic flag 51 to the cache control unit 32. Instructs the diagnosis to be released. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S109). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

一方、ステップS106において、ステータス43が'Modified'であった場合は(ステップS106の「Modified」の場合)、該エントリウェイにしか有効なデータが存在していなかった場合であり、そのまま放置して処理を終了させることはできないので、アドレスアレイ33の該エントリウェイには、当該データが不正なデータであり、使用不可である旨を示す障害フラグ52を設定した後(ステップS107)、障害フラグ52の設定終了の旨をエラー診断制御部36に通知する。   On the other hand, when the status 43 is “Modified” in step S106 (in the case of “Modified” in step S106), this is a case where valid data exists only in the entry way, and is left as it is. Since the process cannot be terminated, a failure flag 52 indicating that the data is invalid and cannot be used is set in the entry way of the address array 33 (step S107). Is notified to the error diagnosis control unit 36.

キャッシュ制御部32から障害フラグ52の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS108に移行して、キャッシュ制御部32に対して、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換えるデグレード指示を行う。エラー診断制御部36からのデグレード指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換えて設定した後(ステップS108)、ステータス43の設定終了の旨をエラー診断制御部36に通知する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the failure flag 52 from the cache control unit 32 proceeds to step S108, and notifies the cache control unit 32 of the status of the entry way of the address array 33. Degrade instruction to rewrite 43 to “Degrade” indicating an unusable state is performed. In the cache control unit 32 that has received the degradation instruction from the error diagnosis control unit 36, the status 43 of the entry way in the address array 33 is rewritten and set to “Degrade” indicating an unusable state (step S108). The error diagnosis control unit 36 is notified that the setting of the status 43 has been completed.

キャッシュ制御部32からステータス43の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS109に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS109)。しかる後、エラー診断制御部36は診断処理を終了する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the status 43 from the cache control unit 32 proceeds to step S109 and sets the entry way diagnostic flag 51 to the cache control unit 32. Instructs the diagnosis to be released. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S109). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

以上の図3のフローチャートに示すように、訂正不可能なエラーが発生した場合には、発生したエラーに関する情報に基づいて、診断を直ちに実行して、間欠障害か固定障害かを判別し、間欠障害であると判定した場合、エラーが発生したエントリウェイのデータは使用することができないものの、該エントリウェイは継続して使用することができる状態に設定することにより、不要なデグレードによりキャッシュメモリの性能低下を防ぐことができる。一方、固定障害であると判定した場合には、エラーが発生したエントリウェイのステータス43を、使用不可状態(デグレード状態)を示す'Degrade'に書き換えて、該エントリウェイを継続して使用することを禁止することにより、不用意な継続使用によるキャッシュメモリの信頼性の低下を防ぐことができる。   As shown in the flowchart of FIG. 3 above, when an uncorrectable error occurs, a diagnosis is immediately executed based on the information about the generated error to determine whether it is an intermittent failure or a fixed failure. If it is determined that there is a failure, the entry way data in which the error has occurred cannot be used, but the entry way is set to a state where it can be used continuously. Performance degradation can be prevented. On the other hand, if it is determined that the failure is a fixed failure, the status 43 of the entry way in which the error has occurred is rewritten to “Degrade” indicating an unusable state (degraded state), and the entry way is continuously used. By prohibiting the cache memory, it is possible to prevent a decrease in the reliability of the cache memory due to inadvertent continuous use.

次に、図4のフローチャートを用いて、図3のフローチャートにおける診断終了後に、通常トランザクションが診断対象になっていたエントリのウェイ(以下、「該エントリウェイ」と省略表示する)を参照した場合の動作の一例について説明する。図4のフローチャートの説明に先立って、まず、診断終了後に診断対象になっていた該エントリウェイの障害フラグ52とステータス43との組み合わせについてさらに説明する。   Next, referring to the flowchart of FIG. 4, after the diagnosis in the flowchart of FIG. 3 is completed, the way of the entry for which the normal transaction is the diagnosis target (hereinafter referred to as “the entry way”) is referred to. An example of the operation will be described. Prior to the description of the flowchart of FIG. 4, first, the combination of the failure flag 52 and the status 43 of the entryway that has been a diagnosis target after completion of the diagnosis will be further described.

障害フラグ52が設定されて有効な状態になっている場合は、図3のフローチャートにおいて説明したように、ステータス43は'Modified'かまたは'Degrade'のいずれかに設定されている。障害フラグ52が有効な状態になっていて、ステータス43が'Modified'に設定されている場合は、データアレイ34に格納されているデータは使用することができないが、該エントリウェイ自体は継続して使用することが可能であることを示している。一方、障害フラグ52が有効な状態になっていて、ステータス43が'Degrade'に設定されている場合は、該エントリウェイ自体が使用不可能であり、かつ、格納されているデータも使用不可能であることを示している。また、診断中フラグ51と障害フラグ52とがいずれも設定されていなく、無効な状態になっている場合は、図3のフローチャートにおいて説明したように、ステータス43が'Degrade'には設定されていなく、通常の処理を実施することが可能な状態にあることを示している。しかし、診断中フラグ51と障害フラグ52とがいずれも設定されていなく、無効な状態になっている場合であって、かつ、ステータス43が'Degrade'に設定されている場合においては、該エントリウェイが使用不可で、かつ、該エントリウェイの登録がなく、かつ、該エントリウェイの新規登録も行うことができないことを示している。   When the failure flag 52 is set and is in a valid state, the status 43 is set to either 'Modified' or 'Degrade' as described in the flowchart of FIG. If the failure flag 52 is in a valid state and the status 43 is set to “Modified”, the data stored in the data array 34 cannot be used, but the entry way itself continues. It is possible to use it. On the other hand, when the failure flag 52 is in a valid state and the status 43 is set to “Degrade”, the entry way itself cannot be used, and the stored data cannot be used. It is shown that. If neither the diagnostic flag 51 nor the failure flag 52 is set and is in an invalid state, the status 43 is set to 'Degrade' as described in the flowchart of FIG. In other words, it indicates that the normal processing can be performed. However, if neither the in-diagnosis flag 51 nor the failure flag 52 is set and is in an invalid state and the status 43 is set to 'Degrade', the entry This indicates that the way cannot be used, the entry way is not registered, and the entry way cannot be newly registered.

図4のフローチャートにおいて、診断終了後に、通常の処理を行うプロセッサ21からの通常トランザクションが発生すると、トランザクション制御部25が該通常トランザクションを受け取り、キャッシュ制御部32において、トランザクション制御部25からの該通常トランザクションにより指定されているアドレス情報に基づいて、アドレスアレイ33を索引する(ステップS201)。索引した結果として、アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、診断結果として該エントリウェイの障害フラグ52が有効な状態に設定されているか否かを確認する(ステップS202)。アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、該エントリウェイの障害フラグ52が無効な状態になっている場合には(ステップS202の「無」の場合)、キャッシュメモリに対する通常の処理を行い(ステップS214)、正常リプライをトランザクション制御部25に返送して(ステップS211)、処理を終了する。   In the flowchart of FIG. 4, when a normal transaction from the processor 21 that performs normal processing occurs after the diagnosis is completed, the transaction control unit 25 receives the normal transaction, and the cache control unit 32 receives the normal transaction from the transaction control unit 25. The address array 33 is indexed based on the address information specified by the transaction (step S201). As a result of the indexing, it is confirmed whether or not the same address is registered as an entry way in the address array 33 and the failure flag 52 of the entry way is set to a valid state as a diagnosis result (step S202). . When the same address is registered as an entry way in the address array 33 and the failure flag 52 of the entry way is invalid (in the case of “No” in step S202), the cache memory is Is performed (step S214), a normal reply is returned to the transaction control unit 25 (step S211), and the process ends.

一方、ステップS202において、索引した結果として、アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、該エントリウェイの障害フラグ52が有効な状態に設定されている場合は(ステップS202の「有」の場合)、次のような制御を行う。キャッシュ制御部32において、まず、受け取った通常トランザクションの種別を判別する(ステップS203)。通常トランザクションの種別が書き込み要求の'ライト'の場合は(ステップS203の「ライト」の場合)、通常トランザクションは該エントリウェイのデータを最新のデータに更新しようとしている場合を示しているので、該エントリウェイ内の使用不可のデータは無効になって、新しい値に書き換えられることになる。   On the other hand, if the same address is registered in the address array 33 as an entry way and the failure flag 52 of the entry way is set to a valid state as a result of the indexing in step S202 (in step S202) If “Yes”, the following control is performed. The cache control unit 32 first determines the type of received normal transaction (step S203). When the type of the normal transaction is “write” of the write request (in the case of “write” in step S203), the normal transaction indicates that the entry way data is being updated to the latest data. Unusable data in the entry way becomes invalid and is rewritten with a new value.

したがって、キャッシュ制御部32においては、次に、アドレスアレイ33の該エントリウェイのステータス43を調べる(ステップS208)。ステータス43が'Modified'であった場合は(ステップS208の「Modified」の場合)、データアレイ34の該エントリウェイ自体は継続して使用することができるので、アドレスアレイ33の該エントリウェイの障害フラグ52の設定を解除した後(ステップS209)、データアレイ34の該エントリウェイにデータを上書きして書き込み(ステップS210)、しかる後、正常に処理を行った旨を示す正常リプライをトランザクション制御部25に返送して、ライトトランザクション発行元のプロセッサ21に対して正常な旨を通知させる動作を行ってから(ステップS211)、処理を終了する。   Therefore, the cache control unit 32 next checks the status 43 of the entry way in the address array 33 (step S208). If the status 43 is “Modified” (in the case of “Modified” in step S208), the entry way itself of the data array 34 can be used continuously, so the failure of the entry way of the address array 33 After the setting of the flag 52 is canceled (step S209), the data is overwritten and written in the entry way of the data array 34 (step S210), and thereafter, a normal reply indicating that the processing has been normally performed is sent to the transaction control unit. After returning to 25 and performing an operation to notify the processor 21 of the write transaction issuer of normality (step S211), the process is terminated.

これに対して、ステップS208において、ステータス43が'Degrade'であった場合は(ステップS208の「Degrade」の場合)、データアレイ34の該エントリウェイ自体が使用不可能な状態であり、継続して使用することができないことを示しているので、該エントリウェイの代替になる同じエントリの別の使用可能なウェイを選択して使用する状態に切り替えるために、アドレスアレイ33の該エントリウェイの障害フラグ52の設定を解除した後、使用可能な同エントリ別ウェイに、該エントリウェイのキーアドレス41とステータス43とを新規に登録してから(ステップS212)、アドレスアレイ33に該エントリウェイの代替として新規登録した同エントリ別ウェイと同じデータアレイ34の同エントリ別ウェイにデータを書き込む処理を行い(ステップS213)、しかる後、正常リプライをトランザクション制御部25に返送して、ライトトランザクション発行元のプロセッサ21に対して正常な旨を通知させる動作を行ってから(ステップS211)、処理を終了する。   On the other hand, if the status 43 is “Degrade” in step S208 (in the case of “Degrade” in step S208), the entry way itself of the data array 34 is in an unusable state and continues. The failure of the entry way in the address array 33 in order to switch to a state where another usable way of the same entry that substitutes for the entry way is selected and used is indicated. After canceling the setting of the flag 52, the key address 41 and the status 43 of the entry way are newly registered in the available way for the same entry (step S212), and the entry way is replaced in the address array 33. Write data to the same entry-specific way in the same data array 34 as the same entry-specific way registered as (Step S213), and after returning the normal reply to the transaction control unit 25 and performing an operation to notify the write transaction issuing processor 21 of the normality (step S211), The process ends.

一方、ステップS203において、通常トランザクションの種別が読み出し要求の'リード'の場合は(ステップS203の「リード」の場合)、通常トランザクションは使用不可能な該エントリウェイ(アドレス)のデータを読み取ろうとしている場合を示しているので、該エントリウェイのデータを使用する通常トランザクションの一連の処理はやり直しが必要になる。このため、トランザクション制御部25に対して、エラーリプライ等を返送して、該エントリウェイ(アドレス)のデータが壊れていて使用することができない旨を通知することにより、情報処理システム11として、当該通常トランザクションに関する一連の処理のやり直しを実施するか、または、障害処理を実施する契機を提供する動作をキャッシュ制御部32において実行する。   On the other hand, when the type of the normal transaction is “read” in the read request in step S203 (in the case of “read” in step S203), the normal transaction tries to read the data of the entry way (address) that cannot be used. Therefore, a series of processes of a normal transaction using the entry way data needs to be redone. Therefore, by returning an error reply or the like to the transaction control unit 25 and notifying that the entry way (address) data is broken and cannot be used, the information processing system 11 The cache control unit 32 executes an operation for performing a series of processes relating to the normal transaction again or providing an opportunity to execute the failure process.

つまり、キャッシュ制御部32においては、まず、アドレスアレイ33の該エントリウェイのステータス43を調べる(ステップS204)。ステータス43が'Modified'であった場合は(ステップS204の「Modified」の場合)、データアレイ34の該エントリウェイ自体は継続して使用することができるので、アドレスアレイ33の該エントリウェイのステータス43を'Invalid'に書き換えて設定した後(ステップS205)、アドレスアレイ33の該エントリウェイの障害フラグ52の設定を解除し(ステップS206)、しかる後、エラーリプライ[障害]をトランザクション制御部25に返送して、リードトランザクション発行元のプロセッサ21に対してエラーの旨を通知することにより、メモリ22のデータとの一貫性を保証するためのコヒーレンシ保証制御の実施を促してから(ステップS207)、処理を終了する。   That is, the cache control unit 32 first checks the status 43 of the entry way in the address array 33 (step S204). If the status 43 is “Modified” (in the case of “Modified” in step S204), the entry way itself of the data array 34 can be used continuously. 43 is rewritten and set as “Invalid” (step S205), the setting of the failure flag 52 of the entry way in the address array 33 is canceled (step S206), and then an error reply [failure] is sent to the transaction control unit 25. To the processor 21 of the read transaction issuer, and prompts the execution of coherency guarantee control for guaranteeing consistency with the data in the memory 22 (step S207). The process is terminated.

これに対して、ステップS204において、ステータス43が'Degrade'であった場合は(ステップS204の「Degrade」の場合)、データアレイ34の該エントリウェイ自体が使用不可能な状態であり、継続して使用することができないことを示しているので、アドレスアレイ33の該エントリウェイのステータス43を'Invalid'に書き換える処理を行う必要はなく、直ちに、アドレスアレイ33の該エントリウェイの障害フラグ52の設定を解除し(ステップS206)、しかる後、エラーリプライ[障害]をトランザクション制御部25に返送して、リードトランザクション発行元のプロセッサ21に対して処理がエラーになった旨を通知することにより、コヒーレンシ保証制御の実施を促してから(ステップS207)、処理を終了する。   On the other hand, when the status 43 is “Degrade” in step S204 (in the case of “Degrade” in step S204), the entry way itself of the data array 34 is in an unusable state and continues. Therefore, it is not necessary to rewrite the status 43 of the entry way of the address array 33 to “Invalid”, and the failure flag 52 of the entry way of the address array 33 is immediately set. By canceling the setting (step S206) and then returning an error reply [failure] to the transaction control unit 25 and notifying the processor 21 that issued the read transaction that the processing has become an error, After prompting the execution of the coherency guarantee control (step S207), the process is terminated.

以上の図4のフローチャートに示すように、診断処理後に、診断対象となっていたエントリのウェイ(すなわち「該エントリウェイ」)へのアクセスが通常トランザクションによって発生し、かつ、該エントリウェイのデータが不正なデータであることを示す障害フラグ52が設定されていた場合には、通常トランザクションの種別がデータの書き込み要求の場合、該エントリウェイまたは代替となる同一エントリの別ウェイに対する正常な書き込み動作を行う。すなわち、ステータス43が'Modified'であれば、障害フラグ52の設定を解除するとともに、新しい値としてデータを書き込み、ステータス43が'Degrade'であれば、障害フラグ52の設定を解除するとともに、該エントリウェイの代替となる同一エントリの別ウェイを選択して、選択した同一エントリの別ウェイに新しい値としてデータを書き込む。一方、通常トランザクションの種別がデータの読み出し要求の場合、通常トランザクションの一連の処理を再度やり直して、コヒーレンシ保証制御を行う必要があるので、障害フラグ52の設定を解除するとともに、通常処理がエラーになった旨のエラーリプライを出力する。   As shown in the flowchart of FIG. 4 above, after the diagnosis processing, access to the entry way (that is, “the entry way”) to be diagnosed occurs by a normal transaction, and the data of the entry way is If the failure flag 52 indicating that the data is invalid is set, if the normal transaction type is a data write request, a normal write operation to the entry way or another way of the same entry as an alternative is performed. Do. That is, if the status 43 is 'Modified', the setting of the failure flag 52 is canceled and data is written as a new value. If the status 43 is 'Degrade', the setting of the failure flag 52 is canceled and A different way of the same entry as an alternative to the entry way is selected, and data is written as a new value in another way of the selected same entry. On the other hand, if the type of normal transaction is a data read request, it is necessary to perform a series of normal transaction processing again and perform coherency guarantee control, so that the setting of the failure flag 52 is canceled and the normal processing results in an error. Outputs an error reply to the effect.

次に、図5のフローチャートを用いて、通常の処理を行う通常トランザクションが図3のフローチャートに示した診断中の状態にある場合に診断対象のエントリのウェイ(以下、「該エントリウェイ」と省略表示する)を参照した場合の動作の一例について説明する。
Next, referring to the flowchart of FIG. 5, when a normal transaction for performing normal processing is in a state of being diagnosed as shown in the flowchart of FIG. 3, the way of the entry to be diagnosed (hereinafter abbreviated as “the entry way”). An example of the operation when referring to (display) will be described.
The

図5のフローチャートにおいて、プロセッサ21からの通常トランザクションが発生すると、トランザクション制御部25が該通常トランザクションを受け取り、キャッシュ制御部32において、トランザクション制御部25からの該通常トランザクションにより指定されているアドレス情報に基づいて、アドレスアレイ33を索引する(ステップS201)。索引した結果として、アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、該エントリウェイの診断中フラグ51が有効な状態に設定されているか否かを確認する(ステップS302)。アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、該エントリウェイの診断中フラグ51が無効な状態になっている場合には(ステップS302の「無」の場合)、該エントリウェイに関する診断中の状態ではないので、キャッシュメモリに対する通常の処理を行い(ステップS304)、正常リプライをトランザクション制御部25に返送して、処理を終了する。   In the flowchart of FIG. 5, when a normal transaction from the processor 21 occurs, the transaction control unit 25 receives the normal transaction, and the cache control unit 32 stores the address information specified by the normal transaction from the transaction control unit 25. Based on this, the address array 33 is indexed (step S201). As a result of the indexing, it is confirmed whether or not the same address is registered as an entry way in the address array 33 and the diagnostic flag 51 of the entry way is set to a valid state (step S302). When the same address is registered as an entry way in the address array 33 and the entry way diagnostic flag 51 is invalid (in the case of “None” in step S302), the entry way Therefore, the normal processing is performed on the cache memory (step S304), a normal reply is returned to the transaction control unit 25, and the processing is terminated.

一方、ステップS302において、索引した結果として、アドレスアレイ33に同一アドレスがエントリウェイとして登録されていて、かつ、該エントリウェイの診断中フラグ51が有効な状態に設定されている場合は(ステップS302の「有」の場合)、該エントリウェイに関する診断中の状態にあるので、診断処理を優先させて、診断が終了するまで該エントリウェイを通常処理に使用させないようにする。つまり、かかる場合は、該通常トランザクションの処理の待ち合わせを行わせるために、該通常トランザクションの再発行指示をトランザクション制御部25に返送して(ステップS303)、処理を終了する。   On the other hand, as a result of the indexing in step S302, when the same address is registered as an entry way in the address array 33, and the diagnostic flag 51 of the entry way is set to a valid state (step S302). In the case of “Yes”, the diagnosis is related to the entry way. Therefore, the diagnosis process is prioritized so that the entry way is not used for the normal process until the diagnosis is completed. That is, in such a case, in order to wait for the processing of the normal transaction, an instruction for reissuing the normal transaction is returned to the transaction control unit 25 (step S303), and the processing ends.

以上の図4のフローチャートに示すように、診断中に、診断対象のエントリのウェイ(すなわち該エントリウェイ)へのアクセスが通常トランザクションによって発生した場合には、通常トランザクションの通常処理を、診断が終了するまで待ち合わせるように制御し、診断処理を優先して実行することにより、迅速に、間欠障害によるエラーか固定障害によるエラーかを判別することができ、適切な障害処理を行うことができる。   As shown in the flowchart of FIG. 4 above, when an access to a way of an entry to be diagnosed (that is, the entry way) is generated by a normal transaction during the diagnosis, the normal processing of the normal transaction is completed and the diagnosis is completed. By performing control so as to wait until it is performed and prioritizing diagnostic processing, it is possible to quickly determine whether an error is due to an intermittent failure or an error due to a fixed failure, and appropriate failure processing can be performed.

次に、補足説明として、データアレイ34のいずれかのエントリのウェイ(以下「該エントリウェイ」と省略表示する)のキャッシュデータ45のリード(読み取り)時に訂正可能なエラーが発生した場合に該エントリウェイの診断を実施して、該エントリウェイのデグレードを行う場合の動作の一例について、図6のフローチャートを用いて説明する。図6は、図1、図2に示した情報処理システム11の動作の補足説明を行うためのフローチャートであり、診断の実施結果として、訂正後のリードデータを予防保守手段として用いて、キャッシュメモリやメモリ22のデータを書き戻した後、固定障害と判定した場合には、訂正可能なエラーが発生した該エントリウェイのステータス43を'Degrade'に設定し、エラーが発生した該エントリウェイのデグレードを行うことによって、早期の予防保守を行うことができる場合の動作についてその一例を補足説明している。   Next, as a supplementary explanation, when an error that can be corrected occurs when the cache data 45 of any way of the data array 34 (hereinafter abbreviated as “the entry way”) is read (read), the entry An example of the operation when the way diagnosis is performed and the entry way is degraded will be described with reference to the flowchart of FIG. FIG. 6 is a flowchart for supplementary explanation of the operation of the information processing system 11 shown in FIGS. 1 and 2. As a result of the diagnosis, the corrected read data is used as preventive maintenance means, and the cache memory If the fixed failure is determined after the data in the memory 22 is written back, the status 43 of the entry way in which a correctable error has occurred is set to 'Degrade', and the entry way in which the error has occurred is degraded. An example of the operation in the case where early preventive maintenance can be performed by performing is described.

訂正可能なエラーが発生して図6のフローチャートが起動されると、図3のフローチャートの場合と同様、エラー診断制御部36からの診断開始指示を受け取ったキャッシュ制御部32においては、トランザクション制御部25からのトランザクションの処理に優先して該診断開始指示に対応し、アドレスアレイ33の該エントリウェイに診断中フラグ51を設定する(ステップS401)。続いて、エラー診断制御部36は、最初の診断として、該エントリウェイから再リード(再読み取り)を行ってエラーが検出されるか否かを調べるために、キャッシュ制御部32に対して、該エントリウェイを指定したリード(読み取り)診断指示を行う(ステップS402)。   When a correctable error occurs and the flowchart of FIG. 6 is activated, as in the flowchart of FIG. 3, in the cache control unit 32 that has received the diagnosis start instruction from the error diagnosis control unit 36, the transaction control unit Prior to the transaction processing from 25, the diagnosis start instruction 51 is set in the entry way of the address array 33 in response to the diagnosis start instruction (step S401). Subsequently, as an initial diagnosis, the error diagnosis control unit 36 performs reread (reread) from the entry way to check whether or not an error is detected, to the cache control unit 32, A lead (reading) diagnostic instruction specifying the entry way is performed (step S402).

エラー診断制御部36からのリード(読み取り)診断指示を受け取ったキャッシュ制御部32においては、図3のフローチャートの場合と同様、アドレスアレイ33の該エントリウェイの診断中フラグ51を索引して、診断中であることを確認した後、データアレイ34の該エントリウェイのデータをリードする(読み取る)。該リード(読み取り)動作におけるエラーの有無をエラー検出部35にてチェックし、チェックした結果をエラー診断制御部36に送出する。   In the cache control unit 32 that has received the read diagnosis instruction from the error diagnosis control unit 36, the diagnosis flag 51 of the entry way in the address array 33 is indexed and diagnosed, as in the flowchart of FIG. After confirming that the data is in the middle, the data of the entry way in the data array 34 is read (read). The error detection unit 35 checks whether there is an error in the read operation, and sends the check result to the error diagnosis control unit 36.

エラー検出部35からのチェック結果を受け取ったエラー診断制御部36においては、図3のフローチャートの場合と同様、該エントリウェイのリード(読み取り)診断結果として、エラーが検出されなかった場合は(ステップS403の「無」の場合)、該エントリウェイのリード(読み取り)時の間欠障害であると判断して、リードした(読み取った)該データも該エントリウェイもそのまま継続して使用することが可能な状態にあるものと見做し、ステップS410に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS410)。しかる後、エラー診断制御部36は診断処理を終了する。   In the error diagnosis control unit 36 that has received the check result from the error detection unit 35, as in the case of the flowchart of FIG. 3, if no error is detected as a read (read) diagnosis result of the entry way (step In the case of “No” in S403, it is determined that the entry way is an intermittent failure at the time of reading (reading), and the read (read) data and the entry way can be used as they are. Assuming that it is in a state, the process proceeds to step S410, and a diagnosis cancellation instruction is issued to the cache control unit 32 to cancel the setting of the diagnostic flag 51 of the entry way. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S410). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

一方、最初の診断として実施した該エントリウェイのリード(読み取り)診断結果として、リードデータの訂正が可能なエラーが検出された場合は(ステップS403の「有」の場合)、図3のフローチャートの場合とは異なり、該リードデータの訂正結果として得られた訂正後のリードデータを、別途、レジスタ等に一時的に保持する(ステップS404)。しかる後に、該エントリウェイのリード(読み取り)時の固定障害の可能性を確認するために、ステップS405に移行して、図3のフローチャートの場合と同様、データアレイ34の該エントリウェイのデータのライト(書き込み)&リード(読み取り)診断を行う(ステップS405)。ここで、ライト&リード診断は、図3のフローチャートの場合と同様、固定故障か否かを確実に切り分けることができるように、例えば、ECC等の誤り検出訂正ビットも含めて、第1回目は全ビットが'1'値、第2回目は全ビットが'0'値のデータを使った2回のライト&リード動作を実施した結果の期待値チェックによる診断を行う。   On the other hand, when an error that can correct the read data is detected as a read (read) diagnosis result of the entry way performed as the first diagnosis (in the case of “Yes” in step S403), the flowchart of FIG. Unlike the case, the corrected read data obtained as the correction result of the read data is temporarily held in a separate register or the like (step S404). Thereafter, in order to confirm the possibility of a fixed failure at the time of reading (reading) the entry way, the process proceeds to step S405, and the data of the entry way in the data array 34 is transferred as in the flowchart of FIG. Write (write) & read (read) diagnosis is performed (step S405). Here, as in the case of the flowchart of FIG. 3, the write and read diagnosis includes the error detection and correction bits such as ECC for the first time so that it can be surely determined whether or not it is a fixed failure. In the second round, a diagnosis is performed by checking the expected value as a result of performing two write and read operations using data having a value of “1” and all bits having a value of “0”.

全ビットが'1'値、全ビットが'0'値の2回のライト&リード動作のチェック結果を取得したエラー診断制御部36において、チェック結果が2回ともエラーがなく、ライト後にリードした(読み取った)データが、全ビットが'1'値、全ビットが'0'値のそれぞれの期待値と一致していた場合には(ステップS406の「無」の場合)、該エントリウェイのリード(読み取り)時の間欠障害であると判断して、該エントリウェイはそのまま継続して使用することが可能な状態にあるものと見做し、図3のフローチャートの場合とは異なり、ステップS404においてレジスタ等に一時的に保持しておいた訂正後のリードデータを、データアレイ34の該エントリウェイに書き戻した後(ステップS411)、該エントリウェイへの書き戻し処理を終了した旨をエラー診断制御部36に通知する。   In the error diagnosis control unit 36 that acquired the check results of the two write & read operations in which all the bits have the value “1” and all the bits have the value “0”, the check results are not errored twice and read after writing. If the (read) data matches the expected values of all bits having a value of “1” and all bits having a value of “0” (in the case of “No” in step S406), the entry way Unlike the case of the flowchart of FIG. 3, it is determined that the entryway is in a state where it can be used as it is because it is determined as an intermittent failure at the time of reading (reading). The corrected read data temporarily stored in the register or the like is written back to the entry way of the data array 34 (step S411), and then the write back process to the entry way is performed. That it has terminated and notifies the error diagnosis control unit 36.

キャッシュ制御部32から該エントリウェイへの書き戻し処理を終了した旨の通知を受け取ったエラー診断制御部36においては、ステップS410に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS410)。しかる後、エラー診断制御部36は診断処理を終了する。   In the error diagnosis control unit 36 that has received a notification from the cache control unit 32 that the write-back processing to the entry way has been completed, the error diagnosis control unit 36 proceeds to step S410 and instructs the cache control unit 32 to diagnose the entry way. A diagnosis cancellation instruction for canceling the setting of the middle flag 51 is issued. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S410). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

また、ステップS406にて、全ビットが'1'値、全ビットが'0'値の2回のライト&リード動作のチェック結果を取得したエラー診断制御部36において、チェック結果が2回のいずれかまたは双方にエラーがあり、ライト後にリードした(読み取った)データが、全ビットが'1'値、全ビットが'0'値のそれぞれの期待値のいずれかまたは双方と一致していなかった場合には(ステップS406の「有」の場合)、該エントリウェイのリード(読み取り)時の固定障害であると判断して、該エントリウェイはそのまま継続して使用することができなく、デグレードを行う必要があるものと見做す。そこで、エラー診断制御部36においては、図3のフローチャートの場合と同様、該エントリウェイは継続して使用することができない状態に設定するデグレードを行うために、デグレード指示をキャッシュ制御部32に対して送出する。   In step S406, the error diagnosis control unit 36 that has acquired the check results of the two write & read operations in which all the bits are “1” values and all the bits are “0” values. Or both have errors, and the data read (read) after writing did not match one or both of the expected values of all bits having a value of '1' and all bits having a value of '0' In this case (in the case of “Yes” in step S406), it is determined that the entry way is a fixed failure at the time of reading (reading), and the entry way cannot be used as it is. Consider what needs to be done. Therefore, in the error diagnosis control unit 36, as in the case of the flowchart of FIG. 3, the degradation instruction is sent to the cache control unit 32 in order to perform the degradation setting so that the entry way cannot be used continuously. And send it out.

エラー診断制御部36からのデグレード指示を受け取ったキャッシュ制御部32においては、図3のフローチャートの場合と同様、アドレスアレイ33の該エントリウェイのステータス43を調べる(ステップS407)。ステータス43が'Shared'であった場合には(ステップS407の「Shared」の場合)、同じデータがメモリ22に存在していて、キャッシュメモリの該エントリウェイのデータを使用することができなくても問題はないので、ステップS409に移行して、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換えて設定した後(ステップS409)、ステータス43の設定終了の旨をエラー診断制御部36に通知する。   The cache control unit 32 that has received the degradation instruction from the error diagnosis control unit 36 checks the status 43 of the entry way in the address array 33 as in the flowchart of FIG. 3 (step S407). If the status 43 is “Shared” (in the case of “Shared” in step S407), the same data exists in the memory 22, and the data of the entry way in the cache memory cannot be used. Since there is no problem, the process proceeds to step S409, the status 43 of the entry way in the address array 33 is rewritten and set to “Degrade” indicating an unusable state (step S409), and the setting of the status 43 is completed. This is notified to the error diagnosis control unit 36.

キャッシュ制御部32からステータス43の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS410に移行して、図3のフローチャートの場合と同様、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS410)。しかる後、エラー診断制御部36は診断処理を終了する。   In the error diagnosis control unit 36 that has received the notification of the completion of the setting of the status 43 from the cache control unit 32, the process proceeds to step S410, and the cache control unit 32 is notified of the same as in the flowchart of FIG. A diagnosis cancellation instruction is issued to cancel the setting of the entry way diagnostic flag 51. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S410). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

一方、ステップS407において、ステータス43が'Modified'であった場合は(ステップS407の「Modified」の場合)、該エントリウェイにしか有効なデータが存在していなかった場合であり、そのまま放置して処理を終了させることはできないので、図3のフローチャートの場合と異なり、ステップS404においてレジスタ等に一時的に保持しておいた訂正後のリードデータを、該エントリウェイに対応するメモリ22のアドレスに書き込んだ後(ステップS408)、メモリ22への書き込み処理終了の旨をエラー診断制御部36に通知する。   On the other hand, if the status 43 is “Modified” in step S407 (in the case of “Modified” in step S407), there is a case where valid data exists only in the entry way, and it is left as it is. Since the process cannot be terminated, unlike the flowchart of FIG. 3, the corrected read data temporarily stored in the register or the like in step S404 is stored in the address of the memory 22 corresponding to the entry way. After the writing (step S408), the error diagnosis control unit 36 is notified that the writing process to the memory 22 is finished.

キャッシュ制御部32からメモリ22への書き込み処理終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS409に移行して、キャッシュ制御部32に対して、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換える指示を行う。エラー診断制御部36からの書き換え指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイのステータス43を、使用不可状態を示す'Degrade'に書き換えて設定した後(ステップS409)、ステータス43の設定終了の旨をエラー診断制御部36に通知する。   The error diagnosis control unit 36 that has received the notification of the end of the writing process to the memory 22 from the cache control unit 32 proceeds to step S409 and notifies the cache control unit 32 of the entry way of the address array 33. An instruction to rewrite the status 43 to “Degrade” indicating an unusable state is issued. The cache control unit 32 that has received the rewrite instruction from the error diagnosis control unit 36 rewrites and sets the status 43 of the entry way in the address array 33 to “Degrade” indicating an unusable state (step S409). The error diagnosis control unit 36 is notified that the setting of the status 43 has been completed.

キャッシュ制御部32からステータス43の設定終了の旨の通知を受け取ったエラー診断制御部36においては、ステップS410に移行して、キャッシュ制御部32に対して、該エントリウェイの診断中フラグ51の設定を解除する診断解除指示を行う。エラー診断制御部36からの診断解除指示を受け取ったキャッシュ制御部32においては、アドレスアレイ33の該エントリウェイの診断中フラグ51の設定を解除する(ステップS410)。しかる後、エラー診断制御部36は診断処理を終了する。   The error diagnosis control unit 36 that has received the notification of the completion of the setting of the status 43 from the cache control unit 32 moves to step S410 and sets the entryway diagnostic flag 51 for the cache control unit 32. Instructs the diagnosis to be released. The cache control unit 32 that has received the diagnosis cancellation instruction from the error diagnosis control unit 36 cancels the setting of the diagnostic flag 51 of the entry way in the address array 33 (step S410). Thereafter, the error diagnosis control unit 36 ends the diagnosis process.

以上の図6のフローチャートに示すように、訂正可能なエラーが発生した場合には、図3のフローチャートのように訂正不可能なエラーが発生した場合とは異なり、キャッシュメモリから読み取ったデータのエラーを訂正した訂正後のリードデータを取得することができるので、ライト&リード診断の実施に先立って、図6のフローチャートのステップS404に示すように、訂正後のリードデータをレジスタ等に一時的に保持しておいて、ライト&リード診断の実施後に、該エントリウェイが使用可能な場合には、一時的に保持しておいた訂正後のリードデータをキャッシュメモリに書き戻して、正常な状態に復帰する。一方、該エントリウェイが使用不可能で、かつ、ステータス43が'Modified'の場合には、一時的に保持しておいた訂正後のリードデータを、該エントリウェイに対応するメモリ22に書き込むとともに、該エントリウェイのステータス43を使用不可状態を示す'Degrade'に設定する。而して、訂正可能なエラーが発生した場合には、早期の予防保守を行うことができる。   As shown in the flowchart of FIG. 6, when a correctable error occurs, unlike the case of an uncorrectable error as shown in the flowchart of FIG. 3, the error of the data read from the cache memory Since the read data after correction can be acquired, the corrected read data is temporarily stored in a register or the like as shown in step S404 of the flowchart of FIG. 6 prior to the execution of the write & read diagnosis. If the entry way is usable after the write & read diagnosis is performed, the corrected read data temporarily stored is written back to the cache memory to return to a normal state. Return. On the other hand, when the entry way cannot be used and the status 43 is “Modified”, the corrected read data temporarily stored is written in the memory 22 corresponding to the entry way. , The status 43 of the entry way is set to 'Degrade' indicating an unusable state. Thus, when a correctable error occurs, early preventive maintenance can be performed.

(実施形態の効果の説明)
以上に詳細に説明したように、本発明に係る実施形態においては、次のような効果が得られる。すなわち、キャッシュメモリのエラーが検出されたときに、エラーが発生した部位(すなわちエントリのウェイ)を直ちに診断する機能としてエラー診断制御部36を設けて、キャッシュメモリの障害を迅速かつ的確に判定することを可能にしているので、間欠障害時における不要なデグレードによるキャッシュメモリの性能低下を最小限に留める一方、固定障害時において固定障害発生部位が不用意に継続して使用される事態を防ぐこともでき、而して、キャッシュメモリの信頼性を保つことができる。
(Explanation of effect of embodiment)
As described in detail above, the following effects are obtained in the embodiment according to the present invention. That is, when a cache memory error is detected, an error diagnosis control unit 36 is provided as a function for immediately diagnosing the part where the error has occurred (that is, the entry way), and the failure of the cache memory is determined quickly and accurately As a result, cache memory performance degradation due to unnecessary degradation at the time of intermittent failure is minimized, and at the same time, the fixed failure occurrence site is prevented from being inadvertently used continuously. Thus, the reliability of the cache memory can be maintained.

以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。   The configuration of the preferred embodiment of the present invention has been described above. However, it should be noted that such embodiments are merely examples of the present invention and do not limit the present invention in any way. Those skilled in the art will readily understand that various modifications and changes can be made according to a specific application without departing from the gist of the present invention.

11 情報処理システム
21 プロセッサ
22 メモリ
25 トランザクション制御部
30 キャッシュメモリ
32 キャッシュ制御部
33 アドレスアレイ
34 データアレイ
35 エラー検出部
36 エラー診断制御部
41 キーアドレス
42 セットアドレス
43 ステータス
44 フラグ
45 キャッシュデータ
51 診断中フラグ
52 障害フラグ
11 Information processing system 21 Processor 22 Memory 25 Transaction control unit 30 Cache memory 32 Cache control unit 33 Address array 34 Data array 35 Error detection unit 36 Error diagnosis control unit 41 Key address 42 Set address 43 Status 44 Flag 45 Cache data 51 Under diagnosis Flag 52 Fault flag

Claims (10)

複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリにおいて、
前記データアレイのいずれかのエントリのウェイから読み出したデータのエラーの検出を行い、訂正を行うエラー検出部と、
前記エラー検出部によりエラーが検出された際に起動され、該エラーが検出されたエントリのウェイに関する診断の実施を制御するエラー診断制御部と、
を少なくとも備え、
前記エラー診断制御部による診断結果として、検出されたエラーが間欠障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイを継続して使用することを可能にし、
また、検出されたエラーが固定障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイをデグレードさせて、使用不可能な状態に設定する、
ことを特徴とするキャッシュメモリ。
In a cache memory composed of a multi-way set associative address array and data array,
An error detection unit that detects and corrects errors in data read from the way of any entry of the data array; and
An error diagnosis control unit that is activated when an error is detected by the error detection unit, and controls execution of a diagnosis regarding the way of the entry in which the error is detected;
Comprising at least
As a result of diagnosis by the error diagnosis control unit, when the detected error is determined to be an error due to an intermittent failure, the way of the entry in which the error is detected can be continuously used,
When the detected error is determined to be an error due to a fixed failure, the way of the entry in which the error is detected is degraded and set to an unusable state.
A cache memory characterized by that.
前記エラー診断制御部による診断結果として、検出されたエラーが、訂正不可能なエラーであり、かつ、間欠障害によるエラーと判定された場合において、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイが使用されていない状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイのデータは不正なデータであって使用不可能なデータであることを示す障害フラグを当該エントリのウェイに設定し、
さらに、前記エラー診断制御部による診断結果として、検出されたエラーが、訂正不可能なエラーであり、かつ、固定障害によるエラーと判定された場合において、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、前記障害フラグを当該エントリのウェイに設定するとともに、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定する、
ことを特徴とする請求項1に記載のキャッシュメモリ。
As a result of diagnosis by the error diagnosis control unit, when the detected error is an uncorrectable error and is determined to be an error due to an intermittent failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Rewrite and set the way not used,
In addition, when the way status of the entry in which the error is detected indicates that the data is held only in the way of the entry, the way data of the entry is invalid data and used. Set a failure flag indicating that the data is impossible to the way of the entry,
Further, as a result of diagnosis by the error diagnosis control unit, when the detected error is an uncorrectable error and is determined to be an error due to a fixed failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Degrade the way, rewrite and set it to an unusable state,
In addition, when the status of the way of the entry in which the error is detected indicates that data is held only in the way of the entry, the failure flag is set in the way of the entry, and the way The entry way status is rewritten and set to an unusable state by degrading the entry way.
The cache memory according to claim 1.
前記エラー診断制御部による診断結果として、検出されたエラーが、訂正可能なエラーであった場合には、エラー訂正後のデータを一時的に保持しておき、
検出された該エラーが、間欠障害によるエラーと判定された場合においては、
一時的に保持しておいた前記エラー訂正後のデータを、該エラーが検出されたエントリのウェイに書き戻し、
さらに、検出された該エラーが、固定障害によるエラーと判定された場合においては、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、一時的に保持しておいた前記エラー訂正後のデータを、当該エントリのウェイに対応するメモリに書き戻すとともに、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定する、
ことを特徴とする請求項1に記載のキャッシュメモリ。
As a result of diagnosis by the error diagnosis control unit, when the detected error is a correctable error, temporarily store the data after error correction,
When the detected error is determined to be an error due to intermittent failure,
The error-corrected data temporarily stored is written back to the entry way where the error was detected,
Furthermore, when the detected error is determined to be an error due to a fixed failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Degrade the way, rewrite and set it to an unusable state,
In addition, when the way status of the entry in which the error is detected indicates a state in which data is held only in the way of the entry, the data after the error correction temporarily stored Is written back to the memory corresponding to the way of the entry, and the way status of the entry is rewritten and set to an unusable state by degrading the way of the entry.
The cache memory according to claim 1.
前記エラー診断制御部による診断の終了後に、診断結果として前記障害フラグが設定されているエントリのウェイへの通常処理によるアクセスがあった場合であって、
前記通常処理のアクセスが該エントリのウェイへのデータの書き込み要求であった場合においては、
該エントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、前記通常処理のデータを当該エントリのウェイに書き込んで、正常に処理を行った旨を示す正常リプライを出力し、
また、該エントリのウェイのステータスが、デグレードさせて使用不可能な状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除するとともに、当該エントリのウェイの代替となる同一エントリの別ウェイを選択して登録し、前記通常処理のデータを登録した該同一エントリの別ウェイに書き込んで、前記正常リプライを出力し、
さらに、前記通常処理のアクセスが該エントリのウェイからのデータの読み出し要求であった場合においては、
該エントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイが使用されていない状態に書き換えて設定するとともに、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、処理がエラーになった旨を示すエラーリプライを出力し、
また、該エントリのウェイのステータスが、デグレードさせて使用不可能な状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、前記エラーリプライを出力する、
ことを特徴とする請求項2または3に記載のキャッシュメモリ。
After completion of diagnosis by the error diagnosis control unit, when there is an access by way of normal processing to a way of an entry in which the failure flag is set as a diagnosis result,
When the normal processing access is a data write request to the entry way,
When the status of the way of the entry indicates a state in which data is held only in the way of the entry, the setting of the failure flag set in the way of the entry is canceled, and the normal Write the processing data to the way of the entry, and output a normal reply indicating that the processing was successful,
In addition, when the way status of the entry indicates an unusable state after degrading, the setting of the failure flag set in the way of the entry is canceled and the way of the way of the entry is Select and register another way of the same entry as an alternative, write the normal process data to another way of the same entry, and output the normal reply
Further, in the case where the normal processing access is a data read request from the way of the entry,
If the way status of the entry indicates a state in which data is held only in the way of the entry, the way status of the entry is rewritten to a state where the way of the entry is not used. Set and release the setting of the failure flag set in the way of the entry, and output an error reply indicating that the process has an error,
In addition, when the way status of the entry indicates that the entry is degraded and cannot be used, the failure flag set in the way of the entry is canceled and the error reply is output. To
The cache memory according to claim 2 or 3, wherein
前記エラー診断制御部によって、エラーが検出されたエントリのウェイに関する診断を実行中に、通常処理による該エントリのウェイへのアクセス要求があった場合、
該エントリのウェイに対する診断の実行を優先させて、診断が終了するまで、該エントリのウェイにアクセスしようとする前記通常処理を待ち合わせるように制御する、
ことを特徴とする請求項1ないし4のいずれかに記載のキャッシュメモリ。
When there is a request for access to the way of the entry by normal processing while executing the diagnosis on the way of the entry in which the error is detected by the error diagnosis control unit,
Priority is given to the execution of diagnosis for the way of the entry, and control is performed to wait for the normal processing to access the way of the entry until the diagnosis is completed.
5. The cache memory according to claim 1, wherein
複数ウェイのセットアソシアティブ方式のアドレスアレイとデータアレイとから構成されるキャッシュメモリの障害を制御するキャッシュメモリ障害制御方法であって、
前記データアレイのいずれかのエントリのウェイから読み出したデータのエラーの検出を行い、訂正を行うエラー検出ステップと、
前記エラー検出ステップによりエラーが検出された際に起動され、該エラーが検出されたエントリのウェイに関する診断の実施を制御するエラー診断制御ステップと、
を少なくとも有し、
前記エラー診断制御ステップによる診断結果として、検出されたエラーが間欠障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイを継続して使用することを可能にし、
また、検出されたエラーが固定障害によるエラーと判定された場合、該エラーが検出された前記エントリのウェイをデグレードさせて、使用不可能な状態に設定する、
ことを特徴とするキャッシュメモリ障害制御方法。
A cache memory failure control method for controlling a failure of a cache memory composed of a multi-way set associative address array and a data array,
An error detection step for detecting and correcting an error in data read from the way of any entry of the data array;
An error diagnosis control step that is started when an error is detected by the error detection step and controls execution of a diagnosis relating to a way of an entry in which the error is detected;
Having at least
As a result of diagnosis by the error diagnosis control step, when the detected error is determined to be an error due to an intermittent failure, the way of the entry in which the error is detected can be continuously used,
When the detected error is determined to be an error due to a fixed failure, the way of the entry in which the error is detected is degraded and set to an unusable state.
And a cache memory failure control method.
前記エラー診断制御ステップによる診断結果として、検出されたエラーが、訂正不可能なエラーであり、かつ、間欠障害によるエラーと判定された場合において、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイが使用されていない状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイのデータは不正なデータであって使用不可能なデータであることを示す障害フラグを当該エントリのウェイに設定し、
さらに、前記エラー診断制御ステップによる診断結果として、検出されたエラーが、訂正不可能なエラーであり、かつ、固定障害によるエラーと判定された場合において、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、前記障害フラグを当該エントリのウェイに設定するとともに、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定する、
ことを特徴とする請求項6に記載のキャッシュメモリ障害制御方法。
As a result of diagnosis by the error diagnosis control step, when the detected error is an uncorrectable error and is determined to be an error due to an intermittent failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Rewrite and set the way not used,
In addition, when the way status of the entry in which the error is detected indicates that the data is held only in the way of the entry, the way data of the entry is invalid data and used. Set a failure flag indicating that the data is impossible to the way of the entry,
Furthermore, as a result of diagnosis by the error diagnosis control step, when the detected error is an uncorrectable error and is determined to be an error due to a fixed failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Degrade the way, rewrite and set it to an unusable state,
In addition, when the status of the way of the entry in which the error is detected indicates that data is held only in the way of the entry, the failure flag is set in the way of the entry, and the way The entry way status is rewritten and set to an unusable state by degrading the entry way.
The cache memory failure control method according to claim 6.
前記エラー診断制御ステップによる診断結果として、検出されたエラーが、訂正可能なエラーであった場合には、エラー訂正後のデータを一時的に保持しておき、
検出された該エラーが、間欠障害によるエラーと判定された場合においては、
一時的に保持しておいた前記エラー訂正後のデータを、該エラーが検出されたエントリのウェイに書き戻し、
さらに、検出された該エラーが、固定障害によるエラーと判定された場合においては、
該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイとメモリとの双方に同じデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定し、
また、該エラーが検出されたエントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、一時的に保持しておいた前記エラー訂正後のデータを、当該エントリのウェイに対応するメモリに書き戻すとともに、当該エントリのウェイのステータスを、当該エントリのウェイをデグレードさせて使用不可能な状態に書き換えて設定する、
ことを特徴とする請求項6に記載のキャッシュメモリ障害制御方法。
If the detected error is a correctable error as a diagnostic result by the error diagnostic control step, temporarily store the data after error correction,
When the detected error is determined to be an error due to intermittent failure,
The error-corrected data temporarily stored is written back to the entry way where the error was detected,
Furthermore, when the detected error is determined to be an error due to a fixed failure,
When the way status of the entry in which the error is detected indicates that the same data is held in both the entry way and the memory, the way status of the entry is Degrade the way, rewrite and set it to an unusable state,
In addition, when the way status of the entry in which the error is detected indicates a state in which data is held only in the way of the entry, the data after the error correction temporarily stored Is written back to the memory corresponding to the way of the entry, and the way status of the entry is rewritten and set to an unusable state by degrading the way of the entry.
The cache memory failure control method according to claim 6.
前記エラー診断制御ステップによる診断の終了後に、診断結果として前記障害フラグが設定されているエントリのウェイへの通常処理によるアクセスがあった場合であって、
前記通常処理のアクセスが該エントリのウェイへのデータの書き込み要求であった場合においては、
該エントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、前記通常処理のデータを当該エントリのウェイに書き込んで、正常に処理を行った旨を示す正常リプライを出力し、
また、該エントリのウェイのステータスが、デグレードさせて使用不可能な状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除するとともに、当該エントリのウェイの代替となる同一エントリの別ウェイを選択して登録し、前記通常処理のデータを登録した該同一エントリの別ウェイに書き込んで、前記正常リプライを出力し、
さらに、前記通常処理のアクセスが該エントリのウェイからのデータの読み出し要求であった場合においては、
該エントリのウェイのステータスが、該エントリのウェイにのみデータが保持されている状態を示していた際には、当該エントリのウェイのステータスを、当該エントリのウェイが使用されていない状態に書き換えて設定するとともに、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、処理がエラーになった旨を示すエラーリプライを出力し、
また、該エントリのウェイのステータスが、デグレードさせて使用不可能な状態を示していた際には、当該エントリのウェイに設定されていた前記障害フラグの設定を解除して、前記エラーリプライを出力する、
ことを特徴とする請求項7または8に記載のキャッシュメモリ障害制御方法。
After completion of the diagnosis by the error diagnosis control step, there is a case where there is an access by a normal process to a way of an entry in which the failure flag is set as a diagnosis result,
When the normal processing access is a data write request to the entry way,
When the status of the way of the entry indicates a state in which data is held only in the way of the entry, the setting of the failure flag set in the way of the entry is canceled, and the normal Write the processing data to the way of the entry, and output a normal reply indicating that the processing was successful,
In addition, when the way status of the entry indicates an unusable state after degrading, the setting of the failure flag set in the way of the entry is canceled and the way of the way of the entry is Select and register another way of the same entry as an alternative, write the normal process data to another way of the same entry, and output the normal reply
Further, in the case where the normal processing access is a data read request from the way of the entry,
If the way status of the entry indicates a state in which data is held only in the way of the entry, the way status of the entry is rewritten to a state where the way of the entry is not used. Set and release the setting of the failure flag set in the way of the entry, and output an error reply indicating that the process has an error,
In addition, when the way status of the entry indicates that the entry is degraded and cannot be used, the failure flag set in the way of the entry is canceled and the error reply is output. To
9. The cache memory failure control method according to claim 7 or 8, wherein:
プロセッサとメモリとの性能差を吸収するためのキャッシュメモリを少なくとも備えた情報処理システムにおいて、
前記キャッシュメモリが、請求項1ないし5のいずれかに記載のキャッシュメモリからなっている、
ことを特徴とする情報処理システム。
In an information processing system including at least a cache memory for absorbing a performance difference between a processor and a memory,
The cache memory comprises the cache memory according to any one of claims 1 to 5,
An information processing system characterized by this.
JP2012230553A 2012-10-18 2012-10-18 Cache memory, cache memory failure control method, and information processing system Active JP6025193B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012230553A JP6025193B2 (en) 2012-10-18 2012-10-18 Cache memory, cache memory failure control method, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012230553A JP6025193B2 (en) 2012-10-18 2012-10-18 Cache memory, cache memory failure control method, and information processing system

Publications (2)

Publication Number Publication Date
JP2014081865A true JP2014081865A (en) 2014-05-08
JP6025193B2 JP6025193B2 (en) 2016-11-16

Family

ID=50785983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012230553A Active JP6025193B2 (en) 2012-10-18 2012-10-18 Cache memory, cache memory failure control method, and information processing system

Country Status (1)

Country Link
JP (1) JP6025193B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016031049A1 (en) * 2014-08-29 2016-03-03 株式会社日立製作所 Computer system and method for controlling computer
JP2021144606A (en) * 2020-03-13 2021-09-24 Necプラットフォームズ株式会社 Cache control device, cache system, and cache control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5922300A (en) * 1982-07-29 1984-02-04 Fujitsu Ltd Method for recovering error of buffer storage device
JPH04115339A (en) * 1990-09-05 1992-04-16 Koufu Nippon Denki Kk Memory error processing system
JPH04273348A (en) * 1991-02-28 1992-09-29 Nec Corp Cache memory
US20070079184A1 (en) * 2005-09-16 2007-04-05 Weiss Donald R System and method for avoiding attempts to access a defective portion of memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5922300A (en) * 1982-07-29 1984-02-04 Fujitsu Ltd Method for recovering error of buffer storage device
JPH04115339A (en) * 1990-09-05 1992-04-16 Koufu Nippon Denki Kk Memory error processing system
JPH04273348A (en) * 1991-02-28 1992-09-29 Nec Corp Cache memory
US20070079184A1 (en) * 2005-09-16 2007-04-05 Weiss Donald R System and method for avoiding attempts to access a defective portion of memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016031049A1 (en) * 2014-08-29 2016-03-03 株式会社日立製作所 Computer system and method for controlling computer
JP2021144606A (en) * 2020-03-13 2021-09-24 Necプラットフォームズ株式会社 Cache control device, cache system, and cache control method

Also Published As

Publication number Publication date
JP6025193B2 (en) 2016-11-16

Similar Documents

Publication Publication Date Title
JP4332205B2 (en) Cache control device and cache control method
US8255614B2 (en) Information processing device that accesses memory, processor and memory management method
US7971112B2 (en) Memory diagnosis method
JP5202130B2 (en) Cache memory, computer system, and memory access method
US8583960B2 (en) Processor device and program
JP4395425B2 (en) Data processing apparatus and method for processing corrupted data values
JP2665718B2 (en) Cache memory test method for information processing device
US9065481B2 (en) Bad wordline/array detection in memory
EP3483732B1 (en) Redundant storage of error correction code (ecc) checkbits for validating proper operation of a static random access memory (sram)
US8775863B2 (en) Cache locking control
US8856587B2 (en) Control of interrupt generation for cache
JP6025193B2 (en) Cache memory, cache memory failure control method, and information processing system
US20040001269A1 (en) Control system and memory control method executing a detection of an error in a formation in parallel with reading operation
US11221789B2 (en) Semiconductor device, memory controller, and memory accessing method
US20150355962A1 (en) Malfunction escalation
JP3931757B2 (en) Shared cache memory failure handling method
JP5251142B2 (en) Transfer device, transfer device control method, and information processing device
JP2021144606A (en) Cache control device, cache system, and cache control method
JP4860403B2 (en) Multiprocessor system, memory control / coherency control device, and coherency guarantee method
JP7091853B2 (en) Electronic control device
JP2012083992A (en) Data failure processing apparatus and data failure processing method
WO2019211927A1 (en) Memory diagnosis device and memory diagnosis method
JP6334969B2 (en) Arithmetic processing device, control method, and program
JP2023104466A (en) In-vehicle electronic control device and memory control method
JP5272443B2 (en) Memory fault processing system, memory fault processing method, and memory fault processing program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161006

R150 Certificate of patent or registration of utility model

Ref document number: 6025193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150