JP2011257966A - Cache device and information processor - Google Patents
Cache device and information processor Download PDFInfo
- Publication number
- JP2011257966A JP2011257966A JP2010131574A JP2010131574A JP2011257966A JP 2011257966 A JP2011257966 A JP 2011257966A JP 2010131574 A JP2010131574 A JP 2010131574A JP 2010131574 A JP2010131574 A JP 2010131574A JP 2011257966 A JP2011257966 A JP 2011257966A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- parity
- target data
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、キャッシュ装置においてソフトエラーを訂正する方式に関する。 The present invention relates to a method of correcting a soft error in a cache device.
半導体プロセスの微細化が年々進展することを活用し、情報処理装置の要であるマイクロプロセッサ(以降プロセッサと記述)は、高速化・高機能化してきた。
具体的には、例えば、
1)半導体プロセスの微細化によるトランジスタや論理回路の高速化による、プロセッサの動作周波数の向上、
2)実装可能なトランジスタ数の増大によるキャッシュ装置の実装と、その容量の増大化と階層化、
3)プロセッサのアーキテクチャの進展による処理のパイプライン化とその段数の多段化、
が高性能化のための主要技術である
Utilizing the progress of miniaturization of semiconductor processes year by year, the microprocessor (hereinafter referred to as processor), which is the key of the information processing apparatus, has been increased in speed and functionality.
Specifically, for example,
1) Improvement of processor operating frequency by speeding up transistors and logic circuits by miniaturization of semiconductor processes,
2) Implementation of a cache device by increasing the number of transistors that can be mounted, increasing its capacity and stratification,
3) Pipelining of processing due to the advancement of processor architecture and increasing the number of stages,
Is the main technology for high performance
このように半導体プロセスの微細化は、プロセッサの高速化を根底からささえているが、微細化により、プロセッサの内部電圧が低下し、チップ内外からのノイズに対するマージンが少なくなってきている。
特に、キャッシュを構成するSRAM(Static Random Access Memory)のマージンが少なくなり、ノイズに弱くなり、SRAMが保持している情報(ビット)が反転し、情報が誤ってしまう現象が発生しやすくなっている。これをソフトエラーという。
ソフトエラーは、チップ内部の電圧変動や、宇宙からの中性子線などで発生する。
前述したとおり、プロセッサの高性能化には、キャッシュが不可欠であり、しかもその容量が増大傾向にある。
近年の高性能なプロセッサは、キャッシュを1次キャッシュと2次キャッシュという2つのレベルで持つことが一般的になっている。
1次キャッシュは、プロセッサに密に結合しており、高速に動作することが不可欠である。
1次キャッシュは、高速動作のために容量を大きくしにくい。
そこで、1次キャッシュに入らないデータを2次キャッシュで受ける構造をとる。
2次キャッシュは、1次キャッシュより低速動作であり、プロセッサからのアクセスも時間がかかるが、容量が大きく、キャッシュのヒット率(欲しいデータがキャッシュに入っている比率)は高い。
この1次キャッシュ、2次キャッシュがソフトエラーを発生したときに、プロセッサが誤作動しないための工夫として、従来からパリティチェックとECC(Error Check and Correction)の技術がある。
As described above, the miniaturization of the semiconductor process supports the speeding up of the processor, but the internal voltage of the processor is lowered due to the miniaturization, and the margin for noise from inside and outside the chip is reduced.
In particular, the SRAM (Static Random Access Memory) margin that constitutes the cache is reduced, it becomes vulnerable to noise, and the information (bits) held by the SRAM is inverted, and the information is likely to be erroneous. Yes. This is called a soft error.
Soft errors occur due to voltage fluctuations inside the chip and neutrons from space.
As described above, a cache is indispensable for improving the performance of a processor, and its capacity tends to increase.
In recent years, high-performance processors generally have caches at two levels, a primary cache and a secondary cache.
The primary cache is tightly coupled to the processor and must operate at high speed.
The primary cache is difficult to increase in capacity for high-speed operation.
Therefore, a structure is adopted in which data that does not enter the primary cache is received by the secondary cache.
The secondary cache operates at a lower speed than the primary cache and takes a long time to access from the processor, but has a large capacity and a high cache hit rate (ratio of the desired data in the cache).
Conventionally, there are techniques of parity check and ECC (Error Check and Correction) as measures for preventing the processor from malfunctioning when the primary cache and the secondary cache generate a soft error.
パリティチェックは、1バイト程度のひとまとまりのデータに対して1ビットのパリティビットという冗長ビットを付加する。
データかパリティビットが1ビット反転したときに、その現象(パリティエラー)を検出することができる。しかし、どのビットが反転したかは検出できない。
ECCは、8バイト程度のひとまとまりのデータに対して複数のチェックビット(例えば8ビット)を付加する。
データかチェックビットが1ビット反転したときに、その現象を検出し、反転したビットを検出し、もとのデータを復元する(エラー訂正)ことができる。
一般的なECC方式は、1ビットエラーの訂正と、2ビットエラーの検出が可能である。
本明細書では、2ビットエラーの検出に関する議論は本質ではないので言及しない。
パリティチェックは、エラー検出しかできないが、回路が単純で、高速動作に向いている。
一方、ECC方式は、エラー訂正まで可能であるが、回路が複雑で、エラー検出はパリティチェックより長時間を要し、エラー訂正には、さらに多くの時間を要するので、高速動作には向いていない。
しかるに、高速性を要する1次キャッシュにはパリティチェックを利用し、容量が大きい2次キャッシュにはECCチェックビットを付加する方式が一般的であった。
さらに、特許文献1には、1次キャッシュのデータ復元を実現するために、1次キャッシュにパリティとECCチェックビットの両者を付加し、通常の1次キャッシュアクセス時はパリティチェックを行い、パリティエラーが検出されたとき、ECCチェックビットのデータを読み、データを復元する方式が記載されている。
In the parity check, a redundant bit called a parity bit of 1 bit is added to a group of data of about 1 byte.
When the data or parity bit is inverted by 1 bit, the phenomenon (parity error) can be detected. However, it cannot be detected which bit is inverted.
The ECC adds a plurality of check bits (for example, 8 bits) to a group of data of about 8 bytes.
When the data or check bit is inverted by 1 bit, the phenomenon can be detected, the inverted bit can be detected, and the original data can be restored (error correction).
A general ECC method can correct a 1-bit error and detect a 2-bit error.
In this specification, the discussion regarding detection of 2-bit errors is not essential and will not be mentioned.
The parity check can only detect errors, but the circuit is simple and suitable for high-speed operation.
On the other hand, the ECC method is capable of error correction, but the circuit is complicated, error detection requires a longer time than parity check, and error correction requires more time, so it is suitable for high-speed operation. Absent.
However, a method of using a parity check for a primary cache requiring high speed and adding an ECC check bit to a secondary cache having a large capacity is common.
Furthermore, in
しかし、1次キャッシュは、プロセッサのパイプラインと密接に関連しているため、パリティチェックのタイミング、パリティビットの生成のタイミング、ECCチェックビット生成のタイミング、ECCチェックビットによるデータ復元のタイミングをパイプラインのどのステージで実現するかによりプロセッサの性能とコストに影響を及ぼす。
特許文献1には、この点に関する記載がない。
本発明は、パイプライン処理を行うプロセッサに用いられるキャッシュ装置において、プロセッサ性能への影響が少ないソフトエラーの訂正方式を実現することを主な目的とする。
However, since the primary cache is closely related to the processor pipeline, the parity check timing, parity bit generation timing, ECC check bit generation timing, and data restoration timing using the ECC check bits are pipelined. The performance and cost of the processor are affected depending on which stage of the processor is implemented.
The main object of the present invention is to realize a soft error correction method that has little influence on processor performance in a cache device used in a processor that performs pipeline processing.
本発明に係るキャッシュ装置は、
パイプライン処理が行われるプロセッサとデータを送受信するキャッシュ装置であって、
データを、パリティビットとともに記憶するデータアレイと、
前記データアレイにおいて記憶されているデータのECC(Error Check and Correction)ビットを記憶するチェックビットアレイと、
前記プロセッサからリード要求があった際に、リード要求の対象であるリード対象データに対して当該リード対象データのパリティビットを用いてパリティチェックを行い、リード対象データのデータ誤りを検出した場合に、前記プロセッサに対してパイプラインストールを指示するストール指示信号を出力するパリティチェック部と、
前記パリティチェック部によりリード対象データのデータ誤りが検出された場合に、リード対象データのECCビットを用いて、リード対象データの誤り訂正を行い、誤り訂正後のリード対象データと、パイプラインストールの解除を指示するストール解除信号とを前記プロセッサに出力する誤り訂正部とを有することを特徴とする。
The cache device according to the present invention includes:
A cache device that transmits and receives data to and from a processor that performs pipeline processing,
A data array for storing data along with parity bits;
A check bit array for storing ECC (Error Check and Correction) bits of data stored in the data array;
When there is a read request from the processor, a parity check is performed on the read target data that is the target of the read request using the parity bit of the read target data, and when a data error in the read target data is detected, A parity check unit that outputs a stall instruction signal for instructing the processor to install a pipeline;
When a data error in the read target data is detected by the parity check unit, error correction of the read target data is performed using the ECC bit of the read target data, and the read target data after the error correction and release of the pipeline installation are performed. And an error correction unit that outputs a stall release signal instructing to the processor.
本発明では、パリティチェックによりデータ誤りを検出した際にストール指示信号を出力してパイプラインをストールさせて、ECCビットを用いた誤り訂正を行っている。
データ誤りの発生頻度は低く、発生頻度の低いデータ誤りのためのECCビットのリードやECCビットを用いた誤り訂正に対して専用のパイプラインステージを設けることはせずに、データ誤りが生じた場合に限ってパイプラインをストールさせて誤り訂正を行うので、プロセッサの実装コストやパイプライン構成の複雑さの増大を抑えることができ、データ誤りのない状況において効率的にプロセッサのパイプラインを進行させることができる。
In the present invention, when a data error is detected by a parity check, a stall instruction signal is output to stall the pipeline, and error correction using the ECC bits is performed.
The frequency of data errors is low, and data errors occur without providing a dedicated pipeline stage for reading ECC bits and correcting errors using ECC bits for infrequent data errors. Since the error correction is performed by stalling the pipeline only in some cases, it is possible to suppress an increase in the implementation cost of the processor and the complexity of the pipeline configuration, and the processor pipeline progresses efficiently in a situation where there is no data error. Can be made.
実施の形態1〜4では、プロセッサの性能を最大限にし、コストを最小に抑えるためのプロセッサのパイプライン構成と、パリティチェック関連の機構とECC関連の機構を説明する。 In the first to fourth embodiments, a processor pipeline configuration, a parity check related mechanism, and an ECC related mechanism for maximizing processor performance and minimizing cost will be described.
実施の形態1.
図1〜図10を用いて、本実施の形態に係る情報処理装置を説明する。
図1は、本実施の形態に係る情報処理装置100の構成例を示す。
The information processing apparatus according to the present embodiment will be described with reference to FIGS.
FIG. 1 shows a configuration example of an
図1において、1はプロセッサ、2はメモリ、3は命令用1次キャッシュ、4はデータ用1次キャッシュ、5は命令・データ共用の2次キャッシュである。
プロセッサ1はパイプライン処理を行う。
メモリ2と2次キャッシュ5は、ソフトエラー対策としてECCチェックビット(以下、ECCビットともいう)を付加している。
命令用1次キャッシュ3は、パリティのみを付加している。
なぜなら、命令用1次キャッシュの内容はプロセッサからのライトにより変更されることがないので、正しいデータが必ずメモリ2に入っていることが保障されている。
従って、命令用1次キャッシュ3でパリティエラーが検出された場合は、メモリ2から命令を取って来ることで、正しい命令を得ることができる。
一方、データ用1次キャッシュ4は、パリティビットとECCチェックビットの両方を付加する。
なぜなら、データ用1次キャッシュ4は、プロセッサからのデータ書き換えにより、2次キャッシュ5やメモリ2とは異なるデータとなること(このとき、このキャッシュラインはDirty状態という)があるため、メモリ2からデータを取ってきても、正しいデータを得られず、プロセッサは処理を正しく継続することができなくなる。
そのため、データ用1次キャッシュの1ビット誤りに対しては、訂正することができるECCチェックビットを付加することにする。
しかし、ECCチェックビットで誤り検出を行うと、プロセッサの高速動作が困難になるため、1ビット誤りがより短時間に検出できるパリティビットも付加することにする。
なお、データ用1次キャッシュ4がキャッシュ装置の例に相当する。
In FIG. 1, 1 is a processor, 2 is a memory, 3 is a primary cache for instructions, 4 is a primary cache for data, and 5 is a secondary cache for sharing instructions and data.
The
The
The instruction
This is because the contents of the primary cache for instructions are not changed by a write from the processor, so that it is guaranteed that correct data is always stored in the
Therefore, when a parity error is detected in the instruction
On the other hand, the data
This is because the data
Therefore, an ECC check bit that can be corrected is added to a 1-bit error in the data primary cache.
However, if error detection is performed using ECC check bits, high-speed operation of the processor becomes difficult, so a parity bit that can detect a 1-bit error in a shorter time is also added.
The data
次に、データ用1次キャッシュ4の構成例を図2及び図3に示す。
図2及び図3は同じデータ用1次キャッシュ4を表しているが、図2はプロセッサ1からデータ用1次キャッシュ4に対してリード要求があった際のデータ用1次キャッシュ4内の要素間の信号の入出力関係を示しており、図3はプロセッサ1からデータ用1次キャッシュ4に対してライト要求があった際のデータ用1次キャッシュ4内の要素間の信号の入出力関係を示している。
このため、図2と図3で示されている構成要素は同じであるが、信号線の向き(矢印の向き)や入出力される信号の種類が図2と図3では異なっている。
なお、図が複雑になりすぎることを避けるため、説明上必ずしも重要度の高くない信号線は図2及び図3において図示を省略している。
Next, a configuration example of the data
2 and 3 show the same primary cache for
Therefore, although the components shown in FIGS. 2 and 3 are the same, the direction of the signal line (the direction of the arrow) and the type of input / output signal are different between FIGS.
Note that signal lines that are not necessarily important in the description are not shown in FIGS. 2 and 3 in order to avoid overcomplicating the drawing.
図2及び図3において、1はプロセッサ、4はデータ用1次キャッシュ、5は2次キャッシュである。
データ用1次キャッシュ4は、タグアレイ41、ヒット判定部42、データアレイ43、読み出し部431、書き込み部432、パリティチェック部44、パリティビット生成部45、チェックビットアレイ46、読み出し部461、書き込み部462、誤り訂正部47、ECCビット生成部48から構成される。
2 and 3, 1 is a processor, 4 is a primary cache for data, and 5 is a secondary cache.
The data
図2及び図3に示される構成要素のうち、以下にて、主要な要素について説明を行う。 Of the components shown in FIG. 2 and FIG. 3, the main components will be described below.
データアレイ43は、データをパリティビットとともに記憶している。
チェックビットアレイ46は、データアレイ43において記憶されているデータのECCビットを記憶している。
The
The
パリティチェック部44は、プロセッサ1からリード要求があった際(図2)に、リード要求の対象であるリード対象データと、当該リード対象データのパリティビットを、読み出し部431を介してデータアレイ43から取得し、パリティビットを用いてリード対象データのパリティチェックを行う。
リード対象データにデータ誤りがなければ、リード対象データをプロセッサ1に出力する。
一方、リード対象データのデータ誤りを検出した場合は、プロセッサ1に対してパイプラインストールを指示するストール指示信号を出力する。
誤り訂正部47は、パリティチェック部44によりリード対象データのデータ誤りが検出された場合に、パイプラインストール中に、リード対象データのECCビットを読み出し部461を介してチェックビットアレイ46から取得し、ECCビットを用いてリード対象データの誤り訂正を行い、誤り訂正後のリード対象データと、パイプラインストールの解除を指示するストール解除信号とをプロセッサ1に出力する。
When there is a read request from the processor 1 (FIG. 2), the
If there is no data error in the read target data, the read target data is output to the
On the other hand, when a data error in the read target data is detected, a stall instruction signal for instructing the pipeline installation to the
When the
また、パリティチェック部44は、プロセッサ1からライト要求があった際(図3)に、データアレイ43に既に記憶されているデータであってライト要求の対象であるライト対象データとマージされるマージ対象データと、当該マージ対象データのパリティビットを、読み出し部431を介してデータアレイ43から取得する。
そして、パリティチェック部44は、パリティビットを用いてマージ対象データのパリティチェックを行う。
マージ対象データにデータ誤りがなければ、パリティビット生成部45を介して書き込み部432にマージ対象データを出力して、ライト対象データとマージさせる。
一方、マージ対象データのデータ誤りを検出した場合は、プロセッサ1に対してパイプラインストールを指示するストール指示信号を出力する。
誤り訂正部47は、パリティチェック部44によりマージ対象データのデータ誤りが検出された場合に、パイプラインストール中に、マージ対象データのECCビットを読み出し部461を介してチェックビットアレイ46から取得し、ECCビットを用いてマージ対象データの誤り訂正を行う。
パリティビット生成部45は、パイプラインストール中に、誤り訂正部47による誤り訂正後のマージ対象データを入力し、パリティビットを生成する。
また、パリティチェック部44は、パイプラインストール中に、パリティビット生成部45により生成されたパリティビットを用いてマージ対象データにデータ誤りがないことを確認し、パイプラインストールの解除を指示するストール解除信号をプロセッサ1に出力する。
書き込み部432は、パリティチェック部44によりマージ対象データにデータ誤りがないことが確認された際に、ライト対象データとマージ対象データとをマージしてデータアレイ43に書き込むとともに、ライト対象データとマージ対象データとのマージデータのパリティビットをデータアレイ43に書き込む。
ECCビット生成部48は、パリティチェック部44によりマージ対象データにデータ誤りがないことが確認された際に、ライト対象データとマージ対象データとのマージデータのECCビットを生成する。
書き込み部462は、ECCビット生成部48により生成されたマージデータのECCビットをチェックビットアレイ46に書き込む。
In addition, the
Then, the
If there is no data error in the merge target data, the merge target data is output to the
On the other hand, when a data error in the merge target data is detected, a stall instruction signal for instructing the pipeline installation to the
When the
The parity
Further, the
When the
The ECC
The
次に、図4に、データアレイ43に格納されているデータとパリティビットと、チェックビットアレイ46に格納されているECCチェックビットとの間の関連を示す。
Next, FIG. 4 shows the relationship between the data and parity bits stored in the
データアレイ43は、複数のラインを保持している。
例えば、キャッシュ容量32KBのとき、キャッシュラインサイズを32バイトとすると、1K=1024個のキャッシュラインを持つことになる。
図4は、そのうちの1ラインを示している。
ラインは、データ部とパリティビット部を持つ。
この例では、1ライン=32バイトで、1バイト(8ビット)ごとに、1ビットのパリティビットを持つ。
データの1バイト分のパリティチェックは、それに対応するパリティビットを1ビット読めば実行できる。
また、そのラインに対応してECCチェックビットを有する。
チェックビットアレイ46の中に、それぞれのキャッシュラインに対応するECCチェックビットを32ビットずつ持つ。
8バイト(64ビット)のデータに8ビットのECCチェックビットを付加する構成とする。
64ビットデータに8ビットのチェックビットを持つことで、1ビットの誤りを訂正し、2ビットの誤りを検出する方式は一般に知られている。
The
For example, when the cache capacity is 32 KB and the cache line size is 32 bytes, 1K = 1024 cache lines are provided.
FIG. 4 shows one of them.
The line has a data portion and a parity bit portion.
In this example, one line = 32 bytes, and one byte (8 bits) has one parity bit.
A parity check for one byte of data can be executed by reading the corresponding parity bit.
In addition, an ECC check bit is provided corresponding to the line.
The
An 8-bit ECC check bit is added to 8-byte (64-bit) data.
A method of correcting a 1-bit error and detecting a 2-bit error by having 8-bit check bits in 64-bit data is generally known.
次にデータ用1次キャッシュ4の動作例を説明する。
まず、データ用1次キャッシュの読み出し動作から説明する。
図2がデータ読み出し動作における信号の入出力関係を示し、図5がデータ読み出し動作における動作フローを示す。
Next, an operation example of the data
First, the data primary cache read operation will be described.
FIG. 2 shows a signal input / output relationship in the data read operation, and FIG. 5 shows an operation flow in the data read operation.
プロセッサ1から、リード要求がアドレスとともに発行されると(S101)、タグアレイ41が、その該当アドレスにより読みだされ、ヒット判定部42でキャッシュにヒットしたか否かを判定する(S102)。
ヒットしなかった場合(S103でミスの場合)は、2次キャッシュ5にデータを取りに行く(S111)。
ヒットした場合(S103でヒットの場合)は、データアレイのアドレスがデータアレイ43に入力され、読み出し部431より、データがパリティビットとともに読みだされ、パリティチェック部44でパリティの計算がなされる(S104)。
データに誤り(1ビットの反転)が発生していなければ(S105でNO)、そのデータはプロセッサ1に送られる(S112)。
パリティ計算の結果、パリティエラーが検出されたら(S105でYES)、パリティチェック部44からプロセッサ1にパイプラインストールを指示する信号(ストール指示信号)が送信され(S106)、同時にECCのチェックビットアレイ46にアレイのアドレスが入力され、読み出し部461よりECCチェックビットが読みだされる。
そして、1ビット誤りを含んだデータとECCチェックビットを誤り訂正部47に入力し、誤り訂正部47でデータが訂正されて(S107)、訂正されたデータが誤り訂正部47からプロセッサ1に送信される(S108)。
同時に、訂正されたデータはパリティビット生成部45に入力され、パリティビット生成部45により正しいパリティが生成され、書き込み部432を経由し、データアレイ43に書き戻す(S109)。
これらの処理が終了すれば、パイプラインストールの解除を指示するストール解除信号が誤り訂正部47からプロセッサ1に送信され、パイプラインストールが解除される(S110)。
When a read request is issued from the
If there is no hit (in the case of a miss in S103), the data goes to the secondary cache 5 (S111).
If there is a hit (in the case of hit in S103), the address of the data array is input to the
If no error (inversion of 1 bit) has occurred in the data (NO in S105), the data is sent to the processor 1 (S112).
If a parity error is detected as a result of the parity calculation (YES in S105), a signal (stall instruction signal) instructing pipeline installation is transmitted from the
Then, the data including the 1-bit error and the ECC check bit are input to the
At the same time, the corrected data is input to the parity
When these processes are completed, a stall release signal instructing the release of the pipeline installation is transmitted from the
次に、データ用1次キャッシュへの書き込み動作を説明する。
図3がデータ書き込み動作における信号の入出力関係を示し、図6がデータ書き込み動作における動作フローを示す。
Next, a write operation to the data primary cache will be described.
FIG. 3 shows a signal input / output relationship in the data write operation, and FIG. 6 shows an operation flow in the data write operation.
プロセッサ1から、ライト要求がアドレスとデータ(ライト対象データ)とともに発行されると(S201)、タグアレイ41が、その該当アドレスにより読みだされ、ヒット判定部42でキャッシュにヒットしたか否かを判定する(S202)。
ヒットしなかった場合(S203でミスの場合)は、データをアドレスとともに2次キャッシュ5に送信する(S208)。
ヒットした場合(S203でヒット)は、データアレイのアドレスがデータアレイ43に入力され、読み出し部431より、データ(マージ対象データ)がパリティビットとともに読みだされ、パリティチェック部44でパリティの計算がなされる。
このデータ(マージ対象データ)は、書き込みデータ(ライト対象データ)のアドレスを含む、ECCの観点でのひと塊りのデータである。この例では、8バイトのデータである。
データに誤り(1ビットの反転)が発生していなければ(S205でNO)、そのデータ(マージ対象データ)と、ライトすべきデータ(ライト対象データ)がマージされ、マージされたデータ(マージデータ)に対するパリティビットがパリティビット生成部45で生成され、書き込み部432がマージされたデータとパリティビットをデータアレイ43に書き戻す(S210)。
また、ECCビット生成部48で、そのマージされたデータ(マージデータ)に相当するECCチェックビットが生成される。
この例では64ビットに8ビットのECCチェックビットを付加する構成であるので、16ビットのライト要求がプロセッサ1より送られてきたとしても、データアレイ43は64ビット読み出し、16ビットの変化データ(ライト対象データ)と48ビットのもともとのデータ(マージ対象データ)をマージした合計した64ビットのデータ(マージデータ)に対して、新しいECCチェックビットの8ビットが生成されることになる。
このECCチェックビットが書き込み部462によりチェックビットアレイ46に書かれる(S211)。
When a write request is issued from the
If there is no hit (in the case of a miss in S203), the data is transmitted to the
If there is a hit (hit in S203), the address of the data array is input to the
This data (merging target data) is a group of data from the viewpoint of ECC including the address of the write data (write target data). In this example, the data is 8 bytes.
If no error (inversion of 1 bit) has occurred in the data (NO in S205), the data (merge target data) and the data to be written (write target data) are merged, and the merged data (merge data) ) Is generated by the parity
Further, the ECC
In this example, since an ECC check bit of 8 bits is added to 64 bits, even if a 16-bit write request is sent from the
The ECC check bit is written in the
パリティチェック部44でパリティエラーが検出された場合(S205でYES)は、パリティチェック部44からプロセッサ1にパイプラインストールを指示する信号(ストール指示信号)が送信される(S206)。
そして、チェックビットアレイ46とデータアレイ43からのデータにより誤り訂正部47によりデータを一旦正しく訂正し、また、パリティビット生成部45が訂正されたデータから正しいパリティビットを生成し、書き込み部432が訂正されたデータとパリティビットをデータアレイ43に書き戻す(S207)。
再度、データアレイ43からデータ(マージ対象データ)が読み出され、パリティチェック部44がパリティチェックを行う(S204)。
このときは、パリティエラーは検出されないので(S205でNO)、パイプラインストールの解除を指示するストール解除信号がパリティチェック部44からプロセッサ1に送信され、パイプラインストールが解除される(S209)。
次に、修正されたデータアレイ43のデータ(マージ対象データ)と、ライトすべきプロセッサからのデータ(ライト対象データ)がマージされ、マージされたデータ(マージデータ)に対するパリティビットがパリティビット生成部45で生成され、書き込み部432がマージされたデータとパリティビットをデータアレイ43に書き戻す(S210)。
また、ECCビット生成部48で、そのマージされたデータ(マージデータ)に相当するECCチェックビットが生成され、書き込み部462によりチェックビットアレイ46に書き戻される(S211)。
When a parity error is detected in the parity check unit 44 (YES in S205), a signal (stall instruction signal) instructing pipeline installation is transmitted from the
Then, the data from the
The data (merging target data) is read again from the
At this time, since a parity error is not detected (NO in S205), a stall release signal instructing release of the pipeline installation is transmitted from the
Next, the corrected data in the data array 43 (merge target data) and the data from the processor to be written (write target data) are merged, and the parity bit for the merged data (merge data) is a parity bit generator. The data and parity bits generated at 45 and merged by the
Further, the ECC
以上の動作をパイプライン動作にあてはめたものが、図7〜図10である。
パイプラインは、命令フェッチ、命令デコード、実行(データフェッチなど、命令の種類に応じて様々な機能を実現)、データライトの4ステージ構造であると想定する。
FIGS. 7 to 10 show the above operation applied to the pipeline operation.
The pipeline is assumed to have a four-stage structure of instruction fetch, instruction decode, execution (various functions such as data fetch are implemented according to the type of instruction), and data write.
図7は、データ用1次キャッシュからリードしたときにパリティエラーが発生しなかったケースを示す。
図8は、データ用1次キャッシュからリードしたときにパリティエラーが発生したケースを示す。
図9は、データ用1次キャッシュへライトしたときにパリティエラーが発生しなかったケースを示す。
図10は、データ用1次キャッシュへライトしたときにパリティエラーが発生したケースを示す。
FIG. 7 shows a case where no parity error occurred when reading from the data primary cache.
FIG. 8 shows a case where a parity error has occurred when reading from the data primary cache.
FIG. 9 shows a case where no parity error occurred when writing to the data primary cache.
FIG. 10 shows a case where a parity error has occurred when writing to the data primary cache.
図7において、対象としている命令は、ロード命令(LD命令)であり、データ用1次キャッシュ4にヒットし、このデータ用1次キャッシュ4からデータを取ってきて、プロセッサ1の汎用レジスタに格納する。
時刻=1で、プロセッサ1は、LD命令を命令用1次キャッシュ3から取ってきて、時刻=2で、命令がLD命令であることを判定する。
時刻=3で、データ用1次キャッシュ4でヒットし、データアレイ43からデータをリードしてきて、パリティチェック部44がパリティチェックを行う。
パリティエラーがないのでパイプラインのストール(停止)は、発生しない。
時刻=4で、プロセッサ1は、データ用1次キャッシュ4から読みだされたデータを汎用レジスタに書き込む。
この例では、パイプラインのストールが発生しないので、後続の命令(時刻=2で命令フェッチしている命令)もスムーズに処理が進む。
In FIG. 7, the target instruction is a load instruction (LD instruction), hits the data
At time = 1, the
At time = 3, the data
Since there is no parity error, pipeline stalls do not occur.
At time = 4, the
In this example, since the pipeline stall does not occur, the subsequent instruction (instruction fetched at time = 2) also proceeds smoothly.
図8においても、図7と同様に、対象としている命令は、ロード命令であり、データ用1次キャッシュ4にヒットし、データ用1次キャッシュ4からデータを取ってきて、プロセッサ1の汎用レジスタに格納する。
ただし、キャッシュに誤り(ソフトエラー)があることを想定する。
時刻=1で、プロセッサ1は、LD命令を命令用1次キャッシュ3から取ってきて、時刻=2で、命令がLD命令であることを判定する。
時刻=3で、データ用1次キャッシュ4でヒットし、データアレイ43からデータをリードしてきて、パリティチェック部44がパリティチェックを行う。
ここで、キャッシュに誤りがありパリティエラーが検出されたので、プロセッサ1のパイプラインストールが発生する。
つまり、本命令は、データフェッチのステージに留まり、後続命令(時刻=2で命令フェッチしている命令)は、命令デコードステージで停止する。
時刻=4で、本命令に対応するデータ用1次キャッシュ4の動作は、チェックビットアレイ46から該当チェックビットを読み出し、時刻=5でチェックビットを使いデータを訂正し、プロセッサ1に送信するとともにストールを解除する。
時刻=6で、本命令は、汎用レジスタにデータをライトし、後続命令は命令実行のステージを実行する。
このように、キャッシュに誤りがあるケースでは、パイプラインのストールが発生し、プロセッサの性能は低下する。
しかし、このようなエラーの発生頻度は一般的には十分低いため、システムの性能に影響を及ぼすことはない。
むしろ、ECCリードやECC訂正の専用のパイプラインステージを設けていないので、プロセッサの実装コストや複雑さの増大を抑えられるメリットが大きい。
In FIG. 8, as in FIG. 7, the target instruction is a load instruction, hits the data
However, it is assumed that there is an error (soft error) in the cache.
At time = 1, the
At time = 3, the data
Here, since there is an error in the cache and a parity error is detected, pipeline installation of the
That is, this instruction stays at the data fetch stage, and the subsequent instruction (instruction fetched at time = 2) stops at the instruction decode stage.
At time = 4, the operation of the data
At time = 6, this instruction writes data to the general-purpose register, and subsequent instructions execute the instruction execution stage.
Thus, in the case where there is an error in the cache, a pipeline stall occurs, and the performance of the processor decreases.
However, since the frequency of such errors is generally low enough, it does not affect system performance.
Rather, since there is no dedicated pipeline stage for ECC read or ECC correction, there is a great merit that the increase in the mounting cost and complexity of the processor can be suppressed.
図9において、対象としている命令は、ストア命令(ST命令)であり、データ用1次キャッシュ4にヒットし、汎用レジスタのデータをこのキャッシュに格納する。
時刻=1でプロセッサは、ST命令を命令用1次キャッシュ3から取ってきて、時刻=2で、命令がST命令であることを判定する。
時刻=3で、データ用1次キャッシュ4でヒットし、データアレイ43からデータ(マージ対象データ)をリードしてきて、パリティチェック部44がパリティチェックを行う。
パリティエラーがないのでパイプラインのストール(停止)は、発生しない。
また、同時に、汎用レジスタのデータをリードし、パリティビットを生成する。
例えば、8ビットのデータに1ビットのパリティが必要であれば、16ビットのデータをキャッシュに書き戻すときには、2ビットのパリティビットを生成すればよい。
パリティビットは8入力のXORで生成できるので容易かつ高速に生成可能であるので、このステージで生成することは可能である。
一方、ECCのチェックビットの生成には、データアレイからのデータの読み出し、書き込むべきデータ(この場合、汎用レジスタの16ビット)とのマージ、ECCのチェックビットの生成とチェックビットアレイへの書き戻しと、多くの処理が必要であるため、次のステージ(データライト)と、さらに次のステージ(ECCライト)を設け、これらの処理がストールなしに処理できるようにした。
時刻=4では、データライトのステージで、ECCチェックビットを生成し、それと並行して該当データとパリティビットを1次キャッシュに書き戻す。
時刻=5では、特別に設けられたECCチェックビットのライトのステージで、生成されたECCチェックビットをチェックビットアレイ46に書き戻す。
この例では、パイプラインのストールが発生しないので、後続の命令(時刻=2で命令フェッチしている命令)もスムーズに処理が進む。
汎用レジスタの内容をデータ用1次キャッシュに書き戻す処理は、通常のプログラムでは頻繁に発生する事象なので、後続命令をスムーズに処理させることは、情報処理装置の高性能化には必須である。
従って、コストをかけ、特別なステージを設けることは合理的である。
In FIG. 9, the target instruction is a store instruction (ST instruction), hits the data
At time = 1, the processor fetches the ST instruction from the instruction
At time = 3, the data
Since there is no parity error, pipeline stalls do not occur.
At the same time, the general register data is read to generate a parity bit.
For example, if 8-bit data requires 1-bit parity, 2-bit parity bits may be generated when 16-bit data is written back to the cache.
Since the parity bit can be generated by XOR of 8 inputs and can be generated easily and at high speed, it can be generated at this stage.
On the other hand, for generation of ECC check bits, data is read from the data array, merged with data to be written (in this case, 16 bits of the general-purpose register), ECC check bits are generated and written back to the check bit array. Since many processes are required, a next stage (data write) and a next stage (ECC write) are provided so that these processes can be performed without stalling.
At time = 4, an ECC check bit is generated at the data write stage, and in parallel, the corresponding data and parity bit are written back to the primary cache.
At time = 5, the generated ECC check bits are written back to the
In this example, since the pipeline stall does not occur, the subsequent instruction (instruction fetched at time = 2) also proceeds smoothly.
Since the process of writing back the contents of the general-purpose register to the data primary cache is an event that frequently occurs in a normal program, smooth processing of subsequent instructions is essential for improving the performance of the information processing apparatus.
Therefore, it is reasonable to set a special stage at a high cost.
図10において、対象としている命令は、ストア命令であり、データ用1次キャッシュ4にヒットし、汎用レジスタのデータをデータ用1次キャッシュ4に格納する。
但し、キャッシュに誤り(ソフトエラー)があることを想定する。
このケースは、図8の動作と図9の動作を合成したような動作となる。
時刻=1で、プロセッサ1は、ST命令を命令用1次キャッシュ3から取ってきて、時刻=2で、命令がST命令であることを判定する。
時刻=3で、データ用1次キャッシュ4でヒットし、データアレイ43からデータ(マージ対象データ)をリードしてきて、パリティチェック部44がパリティチェックを行う。
ここで、キャッシュに誤りがありパリティエラーが検出されたので、プロセッサ1のパイプラインストールが発生する。
時刻=4で、ECCのチェックビットアレイから該当するECCチェックビットを読みだす。
時刻=5で、ECCのチェックビットを使いデータを訂正し、正しいパリティとともにデータをデータアレイ43に格納する。
時刻=6で、再び、データアレイ43からデータリードを行い、パリティチェック部44がパリティチェックを行う。今回は、パリティチェックの結果、パリティエラーにならないので、パイプラインストールを解除する。
時刻=7で、データライトのステージで、ECCのチェックビットを生成し、それと並行して該当データとパリティビットをデータ用1次キャッシュ4に書き戻す。
時刻=8で、特別に設けられたECCライトのステージで、生成されたチェックビットをチェックビットアレイに書き戻す。
このように、図8と同様に、キャッシュに誤りがあるケースでは、パイプラインのストールが発生し、プロセッサの性能は低下するが、このようなエラーの発生頻度は一般的には十分低いため、システムの性能に影響を及ぼすことはない。
むしろ、リード処理と同等の処理にすることにより、構造が単純になり、低コストで品質のよい情報処理装置が提供可能となる。
In FIG. 10, the target instruction is a store instruction, hits the data
However, it is assumed that there is an error (soft error) in the cache.
In this case, the operation shown in FIG. 8 is combined with the operation shown in FIG.
At time = 1, the
At time = 3, the data
Here, since there is an error in the cache and a parity error is detected, pipeline installation of the
At time = 4, the corresponding ECC check bit is read from the ECC check bit array.
At time = 5, the ECC check bits are used to correct the data, and the data is stored in the
At time = 6, data is read from the
At time = 7, an ECC check bit is generated at the data write stage, and the corresponding data and parity bit are written back to the data
At time = 8, the generated check bits are written back to the check bit array in a special ECC write stage.
Thus, as in FIG. 8, in the case where there is an error in the cache, a pipeline stall occurs and the performance of the processor decreases, but the frequency of occurrence of such an error is generally low enough, Does not affect system performance.
Rather, by making the processing equivalent to the read processing, the structure becomes simple, and it is possible to provide a low-cost and high-quality information processing apparatus.
実施の形態2.
図11に、別の構成の情報処理装置100を示す。
図11の情報処理装置100は、2次キャッシュを持たない構成となっている。
図11において、1はプロセッサ、2はメモリ、3は命令用の1次キャッシュ、4はデータ用の1次キャッシュである。
メモリ2は、ソフトエラー対策としてECCチェックビットを付加している。
命令用の1次キャッシュ3は、パリティビットのみを付加している。
データ用1次キャッシュ4は、パリティビットとECCチェックビットの両方を付加し、実施の形態1で説明した機能を有す。
FIG. 11 shows an
The
In FIG. 11, 1 is a processor, 2 is a memory, 3 is a primary cache for instructions, and 4 is a primary cache for data.
The
The instruction
The data
実施の形態3.
図12に、別の構成の情報処理装置100を示す。
図12の情報処理装置100は、1次キャッシュを命令とデータで共用する構成である。
図12において、1はプロセッサ、2はメモリ、4は命令・データ共用の1次キャッシュである。
メモリ2は、ソフトエラー対策としてECCチェックビットを付加している。
命令・データ共用1次キャッシュ4は、パリティビットとECCチェックビットの両方を付加し、実施の形態1で説明した機能を有す。
FIG. 12 shows an
The
In FIG. 12, 1 is a processor, 2 is a memory, and 4 is an instruction / data shared primary cache.
The
The instruction / data shared
実施の形態4.
図13に、別の構成の情報処理装置100を示す。
図13の情報処理装置100は、マルチプロセッサの例である。
図13において、1と101はプロセッサ、2はメモリ、3と103は命令用の1次キャッシュ、4と104はデータ用の1次キャッシュ、5と105は命令・データ共用の2次キャッシュである。
メモリ2と2次キャッシュ5、105は、ソフトエラー対策としてECCチェックビットを付加している。
命令用の1次キャッシュ3、103は、パリティビットのみを付加している。
データ用1次キャッシュ4、104は、パリティビットとECCチェックビットの両方を付加し、実施の形態1で説明した機能を有す。
FIG. 13 shows an
The
In FIG. 13, 1 and 101 are processors, 2 is a memory, 3 and 103 are primary caches for instructions, 4 and 104 are primary caches for data, and 5 and 105 are secondary caches for sharing instructions and data. .
The
Only the parity bit is added to the
The data
以上の実施の形態1〜4では、
プロセッサとデータを送受信するキャッシュ装置において、
(a)データの書き換えが発生するデータ用キャッシュは
(b)データのパリティをチェックするビットを持ち
(c)データのECCをチェックするビットを持ち
(d)データを読み出したときに、パリティをチェックする機能を持ち
(e)パリティエラーが検出されたときに、プロセッサのパイプラインを停止させる手段を有し、
(f)ECCを読み出し、ECCと(d)により読みだされたデータから正しいデータを復元する手段を有し、
(g)復元されたデータをプロセッサに供給手段を有し、
(h)プロセッサに復元されたデータを供給したらパイプラインの停止を解除する手段を有する情報処理装置を説明した。
In the above first to fourth embodiments,
In a cache device that transmits and receives data to and from a processor,
(A) Data cache where data rewrite occurs (b) Has a bit to check data parity (c) Has a bit to check data ECC (d) Checks parity when data is read (E) having a means for stopping the processor pipeline when a parity error is detected;
(F) having means for reading out the ECC and restoring correct data from the ECC and the data read out in (d);
(G) having means for supplying the restored data to the processor;
(H) The information processing apparatus having means for releasing the suspension of the pipeline when the restored data is supplied to the processor has been described.
また、実施の形態1〜4では、
(a)プロセッサがデータをキャッシュ装置に書き戻すとき、そのデータのパリティを生成し、データにパリティビットを書き戻す機能を持ち、
(b)同時にプロセッサのキャッシュラインからすべてのデータを順次読みだすためのパイプラインステージを有し、
(c)書き戻されるデータをキャッシュラインのデータの一部として置き換える手段を有し、
(d)ECCを再計算する手段を有し、
(e)ECCを書き戻す手段を有し、
(f)上記(c)〜(e)をパイプラインステージに割り当てた情報処理装置を説明した。
In the first to fourth embodiments,
(A) When the processor writes data back to the cache device, it has a function of generating parity of the data and writing back parity bits to the data,
(B) having a pipeline stage for sequentially reading all data from the processor cache line;
(C) having means for replacing the data to be written back as part of the data in the cache line;
(D) having means for recalculating the ECC;
(E) having means for writing back ECC;
(F) The information processing apparatus in which the above (c) to (e) are assigned to the pipeline stage has been described.
1 プロセッサ、2 メモリ、3 命令用1次キャッシュ、4 データ用1次キャッシュ、5 2次キャッシュ、41 タグアレイ、42 ヒット判定部、43 データアレイ、44 パリティチェック部、45 パリティビット生成部、46 チェックビットアレイ、47 誤り訂正部、48 ECCビット生成部、100 情報処理装置、431 読み出し部、432 書き込み部、461 読み出し部、462 書き込み部。 1 processor, 2 memory, 3 instruction primary cache, 4 data primary cache, 5 secondary cache, 41 tag array, 42 hit determination unit, 43 data array, 44 parity check unit, 45 parity bit generation unit, 46 check Bit array, 47 error correction unit, 48 ECC bit generation unit, 100 information processing device, 431 reading unit, 432 writing unit, 461 reading unit, 462 writing unit.
Claims (8)
データを、パリティビットとともに記憶するデータアレイと、
前記データアレイにおいて記憶されているデータのECC(Error Check and Correction)ビットを記憶するチェックビットアレイと、
前記プロセッサからリード要求があった際に、リード要求の対象であるリード対象データに対して当該リード対象データのパリティビットを用いてパリティチェックを行い、リード対象データのデータ誤りを検出した場合に、前記プロセッサに対してパイプラインストールを指示するストール指示信号を出力するパリティチェック部と、
前記パリティチェック部によりリード対象データのデータ誤りが検出された場合に、リード対象データのECCビットを用いて、リード対象データの誤り訂正を行い、誤り訂正後のリード対象データと、パイプラインストールの解除を指示するストール解除信号とを前記プロセッサに出力する誤り訂正部とを有することを特徴とするキャッシュ装置。 A cache device that transmits and receives data to and from a processor that performs pipeline processing,
A data array for storing data along with parity bits;
A check bit array for storing ECC (Error Check and Correction) bits of data stored in the data array;
When there is a read request from the processor, a parity check is performed on the read target data that is the target of the read request using the parity bit of the read target data, and when a data error in the read target data is detected, A parity check unit that outputs a stall instruction signal for instructing the processor to install a pipeline;
When a data error in the read target data is detected by the parity check unit, error correction of the read target data is performed using the ECC bit of the read target data, and the read target data after the error correction and release of the pipeline installation are performed. A cache device, comprising: an error correction unit that outputs a stall release signal instructing to the processor.
パイプラインストール中に、リード対象データの誤り訂正を行い、誤り訂正後のリード対象データを前記プロセッサに送信することを特徴とする請求項1に記載のキャッシュ装置。 The error correction unit is
The cache device according to claim 1, wherein during pipeline installation, error correction is performed on read target data, and the read target data after error correction is transmitted to the processor.
データを、パリティビットとともに記憶するデータアレイと、
前記データアレイにおいて記憶されているデータのECCビットを記憶するチェックビットアレイと、
前記プロセッサからライト要求があった際に、前記データアレイに既に記憶されているデータであってライト要求の対象であるライト対象データとマージされるマージ対象データに対して当該マージ対象データのパリティビットを用いてパリティチェックを行い、マージ対象データのデータ誤りを検出した場合に、前記プロセッサに対してパイプラインストールを指示するストール指示信号を出力するパリティチェック部と、
前記パリティチェック部によりマージ対象データのデータ誤りが検出された場合に、マージ対象データのECCビットを用いて、マージ対象データの誤り訂正を行う誤り訂正部と、
誤り訂正後のマージ対象データのパリティビットを生成するパリティビット生成部とを有し、
前記パリティチェック部は、
前記パリティビット生成部により生成されたパリティビットを用いてマージ対象データにデータ誤りがないことを確認し、パイプラインストールの解除を指示するストール解除信号を前記プロセッサに出力することを特徴とするキャッシュ装置。 A cache device that transmits and receives data to and from a processor that performs pipeline processing,
A data array for storing data along with parity bits;
A check bit array for storing ECC bits of data stored in the data array;
When there is a write request from the processor, the parity bit of the merge target data with respect to the merge target data merged with the write target data that is already stored in the data array and is the target of the write request A parity check unit that outputs a stall instruction signal for instructing the pipeline installation to the processor when a data error in the data to be merged is detected.
An error correction unit that performs error correction of the merge target data using an ECC bit of the merge target data when a data error of the merge target data is detected by the parity check unit;
A parity bit generation unit that generates parity bits of merge target data after error correction,
The parity check unit
A cache device characterized by confirming that there is no data error in the data to be merged using the parity bit generated by the parity bit generation unit, and outputting a stall release signal instructing release of pipeline installation to the processor .
パイプラインストール中に、マージ対象データのECCビットを用いて、マージ対象データの誤り訂正を行い、
前記パリティビット生成部は、
パイプラインストール中に、誤り訂正後のマージ対象データのパリティビットを生成し、
前記パリティチェック部は、
パイプラインストール中に、前記パリティビット生成部により生成されたパリティビットを用いてマージ対象データにデータ誤りがないことを確認することを特徴とする請求項3に記載のキャッシュ装置。 The error correction unit is
During the pipeline installation, using the ECC bit of the merge target data, error correction of the merge target data is performed,
The parity bit generator is
During the pipeline installation, the parity bit of the data to be merged after error correction is generated,
The parity check unit
4. The cache device according to claim 3, wherein during the pipeline installation, it is confirmed that there is no data error in the data to be merged using the parity bit generated by the parity bit generation unit.
前記パリティチェック部によりマージ対象データにデータ誤りがないことが確認された際に、ライト対象データとマージ対象データとをマージして前記データアレイに書き込むとともに、ライト対象データとマージ対象データとのマージデータのパリティビットを前記データアレイに書き込む書き込み部を有することを特徴とする請求項3又は4に記載のキャッシュ装置。 The cache device further includes:
When the parity check unit confirms that there is no data error in the merge target data, the write target data and the merge target data are merged and written to the data array, and the write target data and the merge target data are merged. 5. The cache device according to claim 3, further comprising a writing unit that writes a parity bit of data to the data array.
前記パリティチェック部によりマージ対象データにデータ誤りがないことが確認された際に、ライト対象データとマージ対象データとのマージデータのECCビットを生成するECCビット生成部を有し、
前記書き込み部は、
前記ECCビット生成部により生成されたマージデータのECCビットを前記チェックビットアレイに書き込むことを特徴とする請求項5に記載のキャッシュ装置。 The cache device further includes:
An ECC bit generation unit that generates an ECC bit of merge data between the write target data and the merge target data when the parity check unit confirms that there is no data error in the merge target data;
The writing unit
The cache device according to claim 5, wherein ECC bits of merge data generated by the ECC bit generation unit are written in the check bit array.
マージデータのECCビットの前記チェックビットアレイへの書き込みのために設けられているパイプラインステージにおいて、前記ECCビット生成部により生成されたマージデータのECCビットを前記チェックビットアレイに書き込むことを特徴とする請求項6に記載のキャッシュ装置。 The writing unit
In a pipeline stage provided for writing ECC bits of merge data to the check bit array, the ECC bits of merge data generated by the ECC bit generation unit are written to the check bit array. The cache device according to claim 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131574A JP2011257966A (en) | 2010-06-09 | 2010-06-09 | Cache device and information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131574A JP2011257966A (en) | 2010-06-09 | 2010-06-09 | Cache device and information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011257966A true JP2011257966A (en) | 2011-12-22 |
Family
ID=45474082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010131574A Pending JP2011257966A (en) | 2010-06-09 | 2010-06-09 | Cache device and information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011257966A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2894566A1 (en) | 2014-01-08 | 2015-07-15 | Renesas Electronics Corporation | Data processing apparatus using error detection in combination with error correction |
WO2015141730A1 (en) * | 2014-03-18 | 2015-09-24 | 株式会社 東芝 | Cache memory, error correction circuit, and processor system |
KR20160046225A (en) * | 2014-10-20 | 2016-04-28 | 한국전자통신연구원 | Cache memory with fault tolerance |
KR101629411B1 (en) * | 2015-02-03 | 2016-06-10 | 한국전자통신연구원 | Apparatus and method for controlling level 0 cache |
US10642685B2 (en) | 2014-03-20 | 2020-05-05 | Kioxia Corporation | Cache memory and processor system |
-
2010
- 2010-06-09 JP JP2010131574A patent/JP2011257966A/en active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9647693B2 (en) | 2014-01-08 | 2017-05-09 | Renesas Electronics Corporation | Data processing apparatus |
JP2015130085A (en) * | 2014-01-08 | 2015-07-16 | ルネサスエレクトロニクス株式会社 | Data processor |
US10230402B2 (en) | 2014-01-08 | 2019-03-12 | Renesas Electronics Corporation | Data processing apparatus |
EP2894566A1 (en) | 2014-01-08 | 2015-07-15 | Renesas Electronics Corporation | Data processing apparatus using error detection in combination with error correction |
US9935658B2 (en) | 2014-01-08 | 2018-04-03 | Renesas Electronics Corporation | Data processing apparatus |
JP2015179307A (en) * | 2014-03-18 | 2015-10-08 | 株式会社東芝 | Cache memory, error correction circuit, and processor system |
US10120750B2 (en) | 2014-03-18 | 2018-11-06 | Kabushiki Kaisha Toshiba | Cache memory, error correction circuitry, and processor system |
WO2015141730A1 (en) * | 2014-03-18 | 2015-09-24 | 株式会社 東芝 | Cache memory, error correction circuit, and processor system |
US10642685B2 (en) | 2014-03-20 | 2020-05-05 | Kioxia Corporation | Cache memory and processor system |
KR20160046225A (en) * | 2014-10-20 | 2016-04-28 | 한국전자통신연구원 | Cache memory with fault tolerance |
KR102131337B1 (en) | 2014-10-20 | 2020-07-07 | 한국전자통신연구원 | Cache memory with fault tolerance |
KR101629411B1 (en) * | 2015-02-03 | 2016-06-10 | 한국전자통신연구원 | Apparatus and method for controlling level 0 cache |
US9823963B2 (en) | 2015-02-03 | 2017-11-21 | Electronics And Telecommunications Research Institute | Apparatus and method for controlling level 0 cache |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140179B2 (en) | Combined group ECC protection and subgroup parity protection | |
US8589763B2 (en) | Cache memory system | |
US8127205B2 (en) | Error correction code generation method and memory control device | |
JP5212369B2 (en) | Operation unit and control method of operation unit | |
US6543028B1 (en) | Silent data corruption prevention due to instruction corruption by soft errors | |
US9003260B2 (en) | Partial-writes to ECC (error check code) enabled memories | |
JP2007133986A (en) | Semiconductor memory | |
JP2008139908A (en) | Memory control device, computer system and data reproducing and recording device | |
JPS6324428A (en) | Cache memory | |
CN107992376A (en) | Dsp processor data storage Active Fault Tolerant method and apparatus | |
JP4339914B2 (en) | Error correction code generation method and memory management device | |
JP2011257966A (en) | Cache device and information processor | |
KR20170031758A (en) | Method and apparatus for reverse memory sparing | |
US7058877B2 (en) | Method and apparatus for providing error correction within a register file of a CPU | |
JP2011048681A (en) | Processor | |
CN112181712B (en) | Method and device for improving reliability of processor core | |
US20070186135A1 (en) | Processor system and methodology with background error handling feature | |
US8495452B2 (en) | Handling corrupted background data in an out of order execution environment | |
JP2005222618A (en) | Semiconductor integrated circuit device | |
JP5843804B2 (en) | Arithmetic apparatus and error processing method | |
US9720764B2 (en) | Uncorrectable memory errors in pipelined CPUs | |
JP2013061887A (en) | Fault position determining circuit, storage device and information processing apparatus | |
JP2011054221A (en) | Storage device and electronic device | |
US8533565B2 (en) | Cache controller and cache controlling method | |
JPH08286977A (en) | System for processing fault of in-store cache |