JP5010271B2 - エラー訂正コード生成方法、およびメモリ制御装置 - Google Patents
エラー訂正コード生成方法、およびメモリ制御装置 Download PDFInfo
- Publication number
- JP5010271B2 JP5010271B2 JP2006353505A JP2006353505A JP5010271B2 JP 5010271 B2 JP5010271 B2 JP 5010271B2 JP 2006353505 A JP2006353505 A JP 2006353505A JP 2006353505 A JP2006353505 A JP 2006353505A JP 5010271 B2 JP5010271 B2 JP 5010271B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- store
- error
- error detection
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Description
的な構成要素として、一次データ・キャッシュメモリ10の内部のストア対象キャッシュラインデータを一時的に保持するフェッチ・データ・レジスタ(FCDR)12、命令ユニット2からの指示に対応して一次データ・キャッシュメモリ10に対するアドレスを指定するアドレス選択部13、アドレス選択部13などの動作を制御するコントロールユニット14、一次データ・キャッシュメモリ10の内部のデータに対するエラーを検出するエラー検出部15、ストアバッファ11内のデータとFCDR12に保持されているデータとをマージして、マージ結果に対するエラー訂正コード(ECC)を生成するストアマージおよびECC生成部16、生成されたECCが格納されるECC RAM17、一次データ・キャッシュメモリから二次キャッシュメモリ6へのムーブアウトデータに対するECCのチェックを行うECCチェック/訂正部18、二次キャッシュメモリ6からのムーブインデータに対するECCの検査を行い、ムーブインデータに対するパリティを生成すECCチェック/訂正およびパリティ生成部19を備えている。ここで二次キャッシュメモリ6と一次データ・キャッシュメモリ4との間で転送されるデータはECCで保護されており、また一次データ・キャッシュメモリに格納されているデータはパリティによって保護されているものとする。なお本発明のキャッシュメモリ制御装置は、図3の一次データ・キャッシュメモリ4の内部で、L1D$RAM10を除くすべてのブロックによって構成されているものとする。
にそれぞれn個のエントリが設けられ、キャッシュメモリへのデータの書き込みに対応して、STB11とFCDR12とのエントリに、ストアデータとストア対象キャッシュラインのデータが1対1の形式で登録される。例えば同一のアドレス、すなわち同一のキャッシュラインに連続してデータのストアが行われる場合には、STB11とFCDR12とのそれぞれ複数のエントリにデータの登録が行われ、連続的にデータ書き込み処理が行われることになる。図8は、そのような場合のECC更新動作の説明図である。
ストア命令に対応するストアデータのキャッシュメモリへの書き込みに先立って、該ストアデータが書き込まれるべきキャッシュラインのデータをレジスタに格納し、
該ストアデータをキャッシュメモリに書き込み、
前記レジスタ格納内容と、該ストアデータとをマージし、
該マージ結果に対してエラー訂正コードを生成することを特徴とするエラー訂正コード生成方法。
(付記2)
前記ストア命令の後続のストア命令が前記キャッシュラインと同一のキャッシュラインへのデータのストア命令であるとき、
前記ストア命令に対応する前記マージの結果と後続ストア命令に対応するストアデータとをマージし、
該マージ結果を用いて、該後続ストア命令に対応するエラー訂正コードを生成することを特徴とする請求項1記載のエラー訂正コード生成方法。
(付記3)
前記キャッシュメモリが、ランダム・アクセス・メモリによって構成されることを特徴とする請求項1、または2記載のエラー訂正コード生成方法。
(付記4)
ストア命令に対応するストアデータが格納されるバッファと、
該ストアデータのキャッシュメモリへの書き込みに先立って、該ストアデータが書き込まれるべきキャッシュラインのデータが格納されるレジスタと、
該ストアデータと該レジスタの格納内容とをマージするマージ回路と、
該マージ結果に対してエラー訂正コードを生成するエラー訂正コード生成回路とを備えることを特徴とするキャッシュメモリ制御装置。
(付記5)
前記マージ回路は、
同一キャッシュラインにデータを書き込むべき連続ストア命令のうち、先行ストア命令に対して、前記レジスタの格納内容とストアデータとをマージし、
後続ストア命令に対して、先行ストア命令に対応して前記マージされたデータと該後続ストア命令に対応するストアデータとをマージすることを特徴とする請求項4記載のキャッシュメモリ制御装置。
(付記6)
前記キャッシュメモリがランダム・アクセス・メモリによって構成されることを特徴とする請求項4、または5記載のキャッシュメモリ制御装置。
2 命令ユニット(IU)
3 演算ユニット(EU)
4 一次データ・キャッシュメモリ
5 一次命令・キャッシュメモリ
6 二次キャッシュメモリ
11 ストアバッファ(STB)
12 フェッチ・データ・レジスタ(FCDR)
13 アドレス選択部
14 コントロールユニット
15 エラー検出部
16 ストアマージおよびECC生成部
17 エラー訂正コード格納用ランダム・アクセス・メモリ(ECCRAM)
18 ECCチェック/訂正部
19 ECCチェック/訂正およびパリティ生成部
21 セレクタ
22 中継用レジスタ
23 マージ回路
24 ストア・フェッチ・データ・レジスタ(STFDR)
25 エラー訂正コード(ECC)生成回路
Claims (12)
- 第1のストア命令に対応する第1のストアデータの書込み前に前記第1のストアデータが書き込まれるキャッシュラインにエラーがない場合、前記キャッシュラインから読み出したデータを第1のレジスタに格納しておき、
読み出した前記データの前記第1のレジスタへの格納後であって、前記第1のストアデータを含む前記キャッシュラインに対応するキャッシュデータについてのエラー検出情報の生成前に、前記第1のストアデータを前記キャッシュラインに書き込み、
前記第1のレジスタに格納されたデータと前記第1のストアデータとをマージして生成した第1のマージデータのエラーの検出に用いることができるエラー検出情報を生成することを特徴とするエラー訂正コード生成方法。 - 第1のストア命令に対応する第1のストアデータが書き込まれるキャッシュラインにエラーがない場合、前記キャッシュラインから読み出したデータを第1のレジスタに格納しておき、
読み出した前記データの前記第1のレジスタへの格納後に、前記第1のストアデータを前記キャッシュラインに書き込み、
前記第1のレジスタに格納されたデータと前記第1のストアデータとをマージして生成した第1のマージデータを第2のレジスタに格納し、
前記第1のストア命令の後に発行された第2のストア命令に対応する第2のストアデータを前記キャッシュラインに書き込み、
前記第2のストアデータと前記第2のレジスタに格納された前記第1のマージデータとをマージして生成した第2のマージデータのエラー検出に用いることができるエラー検出情報を生成することを特徴とするエラー訂正コード生成方法。 - 前記エラー訂正コード生成方法はさらに、
エラー検出部により前記キャッシュラインのエラーの有無を検出することを特徴とする請求項1又は2に記載のエラー訂正コード生成方法。 - 前記エラー訂正コード生成方法はさらに、
生成した前記エラー検出情報を、エラー検出情報を保持するエラー検出情報メモリに書き込むことを特徴とする請求項1〜3のいずれか1項に記載のエラー訂正コード生成方法。 - 前記エラー訂正コード生成方法はさらに、
生成した前記第1のマージデータのエラー検出に用いることができる第1のエラー検出情報を生成することを特徴とする請求項4に記載のエラー訂正コード生成方法。 - 前記エラー訂正コード生成方法はさらに、
生成した前記第1のエラー検出情報を前記エラー検出情報メモリに書き込むことを特徴とする請求5記載のエラー訂正コード生成方法。 - 第1のストア命令に対応する第1のストアデータの書込み前に前記第1のストアデータが書き込まれるキャッシュラインにエラーがない場合、前記キャッシュラインから読み出したデータを格納しておく第1のレジスタと、
読み出した前記データの前記第1のレジスタへの格納後であって、前記第1のストアデータを含む前記キャッシュラインに対応するキャッシュデータについてのエラー検出情報の生成前に、前記第1のストアデータを前記キャッシュラインに書き込む書込み部と、
前記第1のレジスタに格納されたデータと前記第1のストアデータとをマージして第1のマージデータを生成するマージデータ生成部と、
生成された前記第1のマージデータのエラーの検出に用いることができるエラー検出情報を生成するエラー検出情報生成部を有することを特徴とするキャッシュメモリ制御装置。 - 第1のストア命令に対応する第1のストアデータが書き込まれるキャッシュラインにエラーがない場合、前記キャッシュラインから読み出したデータを格納しておく第1のレジスタと、
読み出した前記データの前記第1のレジスタへの格納後に、前記第1のストアデータを前記キャッシュラインに書き込むとともに、前記第1のストア命令の後に発行された第2のストア命令に対応する第2のストアデータを前記キャッシュラインに書き込む書込み部と、
前記第1のレジスタに格納されたデータと前記第1のストアデータとをマージして生成した第1のマージデータを格納する第2のレジスタと、
前記第2のストアデータと前記第2のレジスタに格納された前記第1のマージデータとをマージして第2のマージデータを生成するマージデータ生成部と、
生成された前記第2のマージデータのエラー検出に用いることができるエラー検出情報を生成するエラー検出情報生成部を有することを特徴とするキャッシュメモリ制御装置。 - 前記キャッシュメモリ制御装置はさらに、
前記キャッシュラインのエラーの有無を検出するエラー検出部を有することを特徴とする請求項7又は8に記載のキャッシュメモリ制御装置。 - 前記キャッシュメモリ制御装置はさらに、
生成した前記エラー検出情報を、エラー検出情報を保持するエラー検出情報メモリに書き込むことを特徴とする請求項7〜9のいずれか1項に記載のキャッシュメモリ制御装置。 - 前記キャッシュメモリ制御装置はさらに、
生成した前記第1のマージデータのエラー検出に用いることができる第1のエラー検出情報を生成することを特徴とする請求項10に記載のキャッシュメモリ制御装置。 - 前記キャッシュメモリ制御装置はさらに、
生成した前記第1のエラー検出情報を前記エラー検出情報メモリに書き込むことを特徴とする請求項11記載のキャッシュメモリ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006353505A JP5010271B2 (ja) | 2006-12-27 | 2006-12-27 | エラー訂正コード生成方法、およびメモリ制御装置 |
US11/864,057 US8127205B2 (en) | 2006-12-27 | 2007-09-28 | Error correction code generation method and memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006353505A JP5010271B2 (ja) | 2006-12-27 | 2006-12-27 | エラー訂正コード生成方法、およびメモリ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008165449A JP2008165449A (ja) | 2008-07-17 |
JP5010271B2 true JP5010271B2 (ja) | 2012-08-29 |
Family
ID=39585799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006353505A Expired - Fee Related JP5010271B2 (ja) | 2006-12-27 | 2006-12-27 | エラー訂正コード生成方法、およびメモリ制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8127205B2 (ja) |
JP (1) | JP5010271B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2159705B1 (en) | 2007-06-20 | 2016-03-02 | Fujitsu Limited | Cache memory device, arithmetic processing unit, and its control method |
JP5466953B2 (ja) * | 2008-02-08 | 2014-04-09 | 富士通株式会社 | バックアップ方法及びディスクアレイシステム |
KR101543245B1 (ko) | 2009-03-18 | 2015-08-11 | 삼성전자주식회사 | 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 |
JP2012203443A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
US9195551B2 (en) | 2012-03-29 | 2015-11-24 | Intel Corporation | Enhanced storage of metadata utilizing improved error detection and correction in computer memory |
JP2013242694A (ja) * | 2012-05-21 | 2013-12-05 | Renesas Mobile Corp | 半導体装置、電子装置、電子システム及び電子装置の制御方法 |
WO2015016880A1 (en) | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Global error correction |
US9262263B2 (en) * | 2013-11-25 | 2016-02-16 | Qualcomm Incorporated | Bit recovery system |
US9684559B1 (en) * | 2014-04-25 | 2017-06-20 | Altera Corporation | Methods and apparatus for storing error correction information on a memory controller circuit |
WO2016095191A1 (en) | 2014-12-19 | 2016-06-23 | Micron Technology, Inc. | Apparatuses and methods for pipelining memory operations with error correction coding |
US9934086B2 (en) | 2016-06-06 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for selective determination of data error repair |
JP7184632B2 (ja) * | 2018-12-25 | 2022-12-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US11036636B2 (en) | 2019-06-28 | 2021-06-15 | Intel Corporation | Providing improved efficiency for metadata usages |
JP2022014963A (ja) | 2020-07-08 | 2022-01-21 | 富士通株式会社 | キャッシュ制御装置及びキャッシュシステムの制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5058116A (en) | 1989-09-19 | 1991-10-15 | International Business Machines Corporation | Pipelined error checking and correction for cache memories |
JPH0437935A (ja) * | 1990-06-01 | 1992-02-07 | Hitachi Ltd | キャッシュメモリを有する計算機 |
US5418973A (en) * | 1992-06-22 | 1995-05-23 | Digital Equipment Corporation | Digital computer system with cache controller coordinating both vector and scalar operations |
US5687353A (en) * | 1995-03-03 | 1997-11-11 | Hal Computer Systems, Inc. | Merging data using a merge code from a look-up table and performing ECC generation on the merged data |
US6408417B1 (en) * | 1999-08-17 | 2002-06-18 | Sun Microsystems, Inc. | Method and apparatus for correcting soft errors in digital data |
JP2001084064A (ja) | 1999-09-16 | 2001-03-30 | Toshiba Corp | コンピュータシステム及びコンピュータの拡張装置 |
US7149945B2 (en) * | 2003-05-09 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing error correction code testing functionality |
-
2006
- 2006-12-27 JP JP2006353505A patent/JP5010271B2/ja not_active Expired - Fee Related
-
2007
- 2007-09-28 US US11/864,057 patent/US8127205B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008165449A (ja) | 2008-07-17 |
US20080163029A1 (en) | 2008-07-03 |
US8127205B2 (en) | 2012-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
US7810016B2 (en) | Semiconductor storage device equipped with ECC function | |
EP2159709B1 (en) | Error correcting method and computing element | |
US8589763B2 (en) | Cache memory system | |
JP7303408B2 (ja) | 欠陥検出を備えるエラー補正ハードウェア | |
US20080126905A1 (en) | Memory control device, computer system and data reproducing and recording device | |
JPS6151241A (ja) | 制御記憶装置の誤り回復方式 | |
US20080301528A1 (en) | Method and apparatus for controlling memory | |
US7752527B2 (en) | Microcontroller and RAM | |
JP2008090442A (ja) | メモリ制御装置 | |
US7058877B2 (en) | Method and apparatus for providing error correction within a register file of a CPU | |
JPWO2007088597A1 (ja) | エラー訂正コード生成方法及びメモリ管理装置 | |
JP4102313B2 (ja) | 半導体集積回路装置 | |
JP2011257966A (ja) | キャッシュ装置及び情報処理装置 | |
US8286053B2 (en) | Method and apparatus for reading data | |
JP6332134B2 (ja) | メモリ診断回路 | |
KR20210116342A (ko) | 데이터 처리 디바이스 및 데이터 처리 방법 | |
JP5446931B2 (ja) | 誤り検出訂正装置及びメモリ装置 | |
JPH0773114A (ja) | 宇宙用デジタル計算機のメモリ制御回路 | |
JPH0316655B2 (ja) | ||
US8533565B2 (en) | Cache controller and cache controlling method | |
JP2004126911A (ja) | 制御装置 | |
JP2006155735A (ja) | 記憶装置 | |
JP2004326564A (ja) | 不揮発性半導体メモリ装置 | |
JP2013156821A (ja) | データ処理装置、制御ユニット、メモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120227 |
|
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: 20120529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120601 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150608 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |