JPH04130550A - メモリ装置 - Google Patents

メモリ装置

Info

Publication number
JPH04130550A
JPH04130550A JP2250192A JP25019290A JPH04130550A JP H04130550 A JPH04130550 A JP H04130550A JP 2250192 A JP2250192 A JP 2250192A JP 25019290 A JP25019290 A JP 25019290A JP H04130550 A JPH04130550 A JP H04130550A
Authority
JP
Japan
Prior art keywords
data
memory
main memory
cache memory
code
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
Application number
JP2250192A
Other languages
English (en)
Inventor
Soichi Isono
聡一 磯野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2250192A priority Critical patent/JPH04130550A/ja
Publication of JPH04130550A publication Critical patent/JPH04130550A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ誤りの検出ないし訂正を行う階層型メモ
リ装置に関する。
〔従来の技術〕
従来、メモリ装置ではデータの一語ごとに冗長ビットを
並列に付加して、データ誤りの検出訂正を行っている。
例えば、公知のハミング符号では一語32ビットのデー
タの一ビットの誤り訂正及び二ビットの誤り検出を行う
ために七ビットの冗長ビットを付加する。また、磁気デ
ィスク装置等の外部記憶装置では一定長のデータブロッ
クに対して冗長ビットを直列に付加して、データ誤りの
検出訂正を行っている0例えば、公知のリードソロモン
符号では、512バイトのデータブロックに12バイト
の冗長ビットを直列に付加して、最小17ビツトのバー
スト誤りを訂正できる。
誤り検出および訂正に関してはラオ(T、R。
N、RAO)および藤原(E、FUJ IWARA)著
プレンティスホールインターナショナル社(Prent
ice−Hall  International、I
nc、)発行のエラーコントロールコーディング フォ
ー コンピュータ システム(Error−Contr
ol  Coding forComputer  S
ystems)に詳述されテイル。
〔発明が解決しようとする課題〕
上記従来技術で、冗長ビットをデータの一語ごとに並列
に付加する方法では、メモリ装置のデータバス幅が増大
し、実装面積が増大するという問題があった。
また、データブロックに冗長ビットを直列に付加する方
法では、データを一語ごとに検査することができないた
め、−語ごとにランダムに読み書きされるメモリ装置に
は適用できなかった。
本発明の目的は、データバス幅の増加を抑制して、実装
面積の増加を抑制し、且つ、データの信頼性を保つラン
ダムアクセス可能なメモリ装置を提供することにある。
本発明の他の目的は主メモリと外部記憶装置間のデータ
転送の信頼性を高めることにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は大容量の主メモリ
と小容量のキャッシュメモリと前記キャッシュメモリの
制御手段と誤り検出訂正コード生成手段と誤り検出訂正
手段とを設けた。
〔作用〕
前記主メモリには−ブロックのデータと前記ブロックに
対する誤り検出訂正コードとを連続した番地に格納する
。前記キャッシュメモリと前記主メモリ間はブロック単
位でデータを転送する。キャッシュメモリから主メモリ
へのデータ転送時には、前記誤り検出訂正コード生成手
段により転送したデータブロックに対する誤り検出訂正
コードを生成し、前記データブロックに引き続いて主メ
モリに書き込む、主メモリからキャッシュメモリへのデ
ータ転送時には、データブロックとそれに対応する誤り
検出訂正コードを主メモリから読みだし、前記誤り検出
訂正手段により転送したデータブロックに対する誤り検
出および訂正を行う。
説明のためメモリ装置の上位に演算装置があり、メモリ
装置内のデータをランダムにアクセスするとする。
上記演算装置とは常にキャッシュメモリを介してデータ
を転送するように前記キャッシュメモリ制御手段は動作
する。前記演算装置からアクセス要求の来たデータが前
記キャッシュメモリ上にあった場合、前記演算装置と前
記キャッシュメモリ間でデータの転送が行われ、前記主
メモリはアクセスされない。前記演算装置からアクセス
要求の来たデータが前記キャッシュメモリ上に無い場合
、前記キャッシュメモリ制御手段は前記キャッシュメモ
リ上の任意の1ブロツクのデータと前記ブロックに対す
る誤り検出訂正コードを前記主メモリに転送する。さら
に、アクセス要求のあったデータを含むデータブロック
を前記主メモリから前記キャッシュメモリへ転送し、転
送したデータブロックに対する誤り検出および訂正を行
う。
CI l−i’fi ) +111− イffl dJ
 him & −x %l LI J161 山rrτ
−−ドを付加するため、データバス幅の増加を抑制して
、実装面積の増加を抑制しながら、データの信頼性を保
つことができ、必要なデータをキャッシュメモリ上に配
置することによりランダムアクセスが可能となる。さら
に、キャッシュメモリに並列の誤り検出訂正手段を設け
れば、前記キャッシュメモリは小容量なため、実装面積
をほとんど増加させずに、信頼性を向上できる。
また、前記主メモリ上の誤り検出訂正コードを対応する
データブロックと合わせて外部記憶装置に格納させるこ
とにより、主メモリと外部記憶装置間のデータ転送の信
頼性を向上することができる。
〔実施例〕
以下、本発明の一実施例を第1図、第2図、第3図、第
4図、第5図、第6図、第7図、第8図、第9図により
説明する。第1図は実施例のブロック図であり、演算装
置101、キャッシュ制御回路102、ハミング符号誤
検出訂正回路103、キャッシュメモリ104、R−8
符号誤検出訂正回路105、主メモリ106 、磁気デ
ィスク制御回路107、磁気ディスク装置108よりな
る。演算装置101はキャッシュ制御回路102を介し
てキャッシュメモリ104をアクセスする。キャッシュ
制御回路102は、演算装置101 とキャッシュメモ
リ104間のデータ転送、キャッシュメモリ104と主
メモリ106間のデータ転送及びキャッシュメモリ10
4内のデータ管理を行う。ハミング符号誤検出訂正回路
103はハミング符号により、第3図に示すように、−
語32ビットのデータ102に7ビツトの誤検出訂正コ
ード(以下、)(MECCと記す、 ) 121を並列
に付加して、データの一語ごとに誤り検出及び訂正を行
う、キャッシュメモリ104は、第3図に示すように、
32ビツトのデータ102 と7ビツトのHME CC
121を並列に格納する。R−3符号誤検出訂正回路1
05はリード・ソロモン符号により、第2図に示すよう
に、512バイトのデータ110に12バイトの誤検出
訂正コード(以下、R5ECCと記す、 ) 111を
直列に付加して、512バイトのデータブロックに対し
て誤り検出及び訂正を行う。
(以下、512バイトのデータブロックをページと記す
。)主メモリ106は、第2図に示すように、512バ
イトのデータ110 と12バイトR8ECC111を
ページ単位で格納する。磁気ディスク制御回路107は
主メモリ106 と磁気ディスク装置108間のデータ
転送を制御する。
次に、本実施例のキャッシュメモリ104と主メモリ1
06間のデータ転送時の動作を説明する。キャッシュメ
モリ104と主メモリ106間のデータ転送はキャッシ
ュ制御回路102が制御する。第4図はキャッシュメモ
リ104から主メモリ106へのデータ転送の動作を示
す、まず、R−3符号誤検出訂正回路105を初期化す
る(ステップ131 ) 、キャッシュメモリ104の
所定ページの先頭の一語をHMECC121と合わせて
読み出す(ステップ132 ) 、ハミング符号誤検出
訂正回路103によりECC演算を行い(ステップ13
3 ) 、データを検査する(ステップ134 ) 。
誤りを検出した場合は訂正可能かどうかをチエツクしく
ステップ140 ) 、訂正不可能な場合は、CPUへ
異常を通知しくステップ142 ) 、転送を終了する
。訂正可能な場合は、誤りを訂正しくステップ141 
) 、誤りの無い場合の動作に戻る。
データに誤りが無い場合は、R−3符号誤検出訂正回路
105にECC演算を実行させ(ステップ135 ) 
、HMECCを除いたデータの一語4バイトを主メモリ
106へ書き込む(ステップ13B ) 。
1ペ一ジ分のデータを転送完了するまで、キャッシュメ
モリ104のリード(ステップ132)から主メモリ1
06へのライト(ステップ136)までを繰り返す(ス
テップ137)。1ペ一ジ分のデータの転送が完了した
ら、R−8符号誤検出訂正回路105の生成したR8E
CCを主メモリへ書き込み(ステップ13g ) 、転
送を終了する。
第5図は主メモリ106からキャッシュメモリ104へ
のデータ転送の動作を示す。まず、R−8符号誤検出訂
正回路105を初期化する(ステップ151)、主メモ
リ106の所定ページの先頭の一語4バイトを読み出す
(ステップ152)。R−8符号誤検出訂正回路105
によりECC演算を行う(ステップ153)。ハミング
符号誤検出訂正回路103によりECC演算を行い(ス
テップ154)、HWECCを生成する。HMECCを
合わせた一語のデータをキャッシュメモリ104へ書き
込む(ステップ155)、1ペ一ジ分のデータを転送完
了するまで、主メモリ106のリード(ステップ152
)からキャッシュメモリ104へのライト(ステップ1
55)までを繰り返す(ステップ156)。1ペ一ジ分
のデータの転送が完了したら、さらに、主メモリ106
からR3ECCを読みだしくステップ157 )、R−
8符号誤検出訂正回路105によりECC演算を行い(
ステップ158)、データを検査する(ステップ159
)。
データに誤りが無い場合は、何もせずに転送を終了する
。誤りを検出した場合は訂正可能かどうかをチエツクし
くステップ160)、訂正不可能な場合は、CPUへ異
常を通知しくステップ163)転送を終了する。訂正可
能な場合は、誤りを訂正しくステップ161 ) 、転
送を終了する。
次に、本実施例の演算装置101 とキャッシュメモリ
104間のデータ転送時の動作を説明する。演算装置1
01 とキャッシュメモリ104間のデータ転送はキャ
ッシュ制御回路102が制御する。第6図は演算装置1
01によるキャッシュメモリ104内のデータの読み出
し動作を示す、演算装置101から読み出し要求がある
と、キャッシュ制御回路102は所定番地のデータがキ
ャッシュメモリ104内に格納されているかをチエツク
する(ステップ171) 。
キャッシュメモリ104内にデータが無い場合には主メ
モリ106から所定のデータを含むページをキャッシュ
メモリ104へ転送しなければならない。
このため、キャッシュメモリ104内に空き領域が有る
かをチエツクする(ステップ172)。空き領域が無い
場合には上述の第4図の手順に従い、任意の1ページを
キャッシュメモリ104から主メモリ106へ転送しく
ステップ173 ’) 、空き領域を作る。該空き領域
に所定のデータを含むページを、第5図の手順に従い、
主メモリ106からキャッシュメモリ104へ転送する
(ステップ174 ) 。
キャッシュメモリ104内にデータが有れば、所定の一
語をHMECCと合わせて読み出す(ステップ175)
。ハミング符号誤検出訂正回路103によりECC演算
を行い(ステップ176)、データを検査する(ステッ
プ177)。
誤りを検出した場合は訂正可能かどうかをチエツクしく
ステップ179 ) 、訂正不可能な場合は、CPUへ
異常を通知しくステップ181 ) 、転送を終了する
。訂正可能な場合は、誤りを訂正する(ステップ180
)。誤りの無い場合または誤りを訂正後に所定のデータ
を演算装置101へ転送しくステップ178 ) 、動
作を完了する。
第7図は演算装置101によるキャッシュメモリ104
へのデータの書き込み動作を示す。演算装置101から
書き込み要求があると、キャッジ制御回路102は所定
番地を含むページがキャッシュメモリ104内に格納さ
れているかをチエツクする(ステップ171)。格納さ
れていない場合、読み出し時と同様にキャッシュメモリ
104内のページの入れ替えを行う。
キャッシュメモリ104内に所定番地を含むページがあ
れば、演算装置101からデータを受け(ステップ19
1 ) 、ハミング符号誤検出訂正回路103によりE
CC演算を行い(ステップ176 ) 、HMECCを
生成する。データとHMECCを合わせてキャッシュメ
モリ104に書き込み(ステップ193 )、動作を完
了する。
次に、本実施例の主メモリ106と磁気ディスク装置1
08間のデータ転送時の動作を説明する。主メモリ10
6と磁気ディスク装置108間のデータ転送は磁気ディ
スク制御回路107が制御する。第8図は磁気ディスク
装置108から主メモリ106へのデータの読み出し動
作を示す。まず、R−8符号誤検出訂正回路105を初
期化する(ステップ201)。
磁気ディスク装置108から所定ページの先頭の一語を
読み出しくステップ202 ) 、主メモリ106へ書
き込む(ステップ203)。さらに、R−3符号誤検出
訂正回路105によりECC演算を行う(ステップ20
4)。1ペ一ジ分のデータを転送完了するまで、磁気デ
ィスク装置108リード(ステップ202)からECC
演算(ステップ204)までを繰リ返す(ステップ20
5)。1ペ一ジ分のデータの転送が完了したら、さらに
、磁気ディスク装置108R3ECCを読み出しくステ
ップ206 ) 、主メモリ106へ書き込む(ステッ
プ207)。さらに、R−8符号誤検出訂正回路105
によりECC演算を行い(ステップ208 ) 、デー
タを検査する(ステップ209)。
データに誤りが無い場合は、何もせずに転送を終了する
。誤りを検出した場合は訂正可能かどう、かをチエツク
しくステップ210 ) 、訂正不可能な場合は、CP
Uへ異常を通知しくステップ212)、転送を終了する
。訂正可能な場合は、誤りを訂正しくステップ211 
) 、転送を終了する。
同様に、主メモリ106から磁気ディスク装置108へ
のデータの書き込み動作でも、第9図に示すように、1
ページのデータとR8ECCを転送後に、データの検査
を行なう。
以上のように、本実施例によれば主メモリ内のデータに
直列に誤り検出訂正コードを付加するため主メモリのデ
ータバス幅を増加させずに、主メモリ内データの信頼性
を高めることができる。また、主メモリ内のデータをキ
ャッシュメモリを介して演算装置に転送するため、演算
装置からのランダムアクセスに対応できる。また、キャ
ッシュメモリにも誤り検出訂正回路を備えたため、キャ
ッシュメモリ内のデータの信頼性を高めることもできる
。さらに、主メモリ内の誤り検出訂正コードをデータと
合わせて、磁気ディスク装置に記憶させるため、主メモ
リと磁気ディスク装置間の転送の信頼性を高めることも
できる。
〔発明の効果〕
本発明によれば、主メモリ内のデータと直列に誤り検出
訂正コードを付加するため、データバス幅の増加を抑制
しつつ、データの信頼性を保つことができ、上位に対し
てはキャッシュメモリを介してデータを転送するため、
ランダムアクセス機能を損なうこともない。
さらに、キャッシュメモリにも誤り検出訂正手段を付加
すれば、キャッシュメモリは主メモリに比べて、一般に
、記憶容量が少ないため、回路規模の増加を少なく抑え
ながら、データの信頼性を高めることができる。
また、主メモリ内のデータに付加した誤り検出訂正コー
ドをデータと合わせて、外部記憶装置にも記憶させるこ
とにより、主メモリと外部記憶装置間のデータ転送の信
頼性を高めることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は主メ
モリ内のデータと誤り検出コードの配置図、第3図はキ
ャッシュメモリ内のデータと誤り検出コードの配置図、
第4図はキャッシュメモリから主メモリへのデータ転送
時のフローチャート、第5図は主メモリからキャッシュ
メモリへのデータ転送時のフローチャート、第6図はキ
ャッシュメモリから演算装置へのデータ転送時のフロー
チャート、第7図は演算装置からキャッシュメモリから
演算装置へのデータ転送時のフローチャート、第8図は
磁気ディスク装置から主メモリへのデータ転送時のフロ
ーチャート、第9図は主メモリから磁気ディスク装置へ
のデータ転送時のフローチャートである。 101・・・演算装置 102・・・キャッシュ制御回路 103・・・ハミング符号検出訂正回路104・・・キ
ャッシュメモリ 105・・・R−8符号誤検出訂正回路106・・・主
メモリ 107・・・磁気ディスク制御回路 10g・・・磁気ディスク装置 110−・・データ111−R8ECC120−チー 
’)       121− HW E CCデ 図 粥4図 〒5図

Claims (1)

  1. 【特許請求の範囲】 1、主メモリとキャッシュメモリとキャッシュメモリ制
    御装置からなるメモリ装置において、データ誤りを検出
    ないし訂正するためのコードを生成する手段と、前記コ
    ードによりデータ誤りの検出ないし訂正を行う手段とを
    設け、前記キャッシュメモリから前記主メモリへデータ
    を転送する際に前記誤り検出訂正コードを生成し、前記
    主メモリ上のデータ格納番地と連続する番地に前記誤り
    検出訂正コードを格納し、前記主メモリから前記キャッ
    シュメモリへデータを転送する際にデータ誤りの検出な
    いし訂正を行うことを特徴とするメモリ装置。 2、請求項1において、前記主メモリとキャッシュメモ
    リ間のデータ転送を複数バイト単位で行うメモリ装置で
    、転送単位ごとにデータの誤り検出ないし訂正処理を行
    うメモリ装置。 3、請求項1または2において、前記キャッシュメモリ
    に格納されたデータの誤りをデータの一語ごとに検出な
    いし訂正する手段を設けたメモリ装置。 4、キャッシュメモリのアクセスを制御するキャッシュ
    制御装置において、データ誤りを検出ないし訂正するた
    めのコードを生成する手段と、前記コードによりデータ
    誤りの検出ないし訂正を行う手段とを設け、データの主
    メモリへの転送時に前記誤り検出訂正コードを生成し、
    データの主メモリからの転送時にデータ誤りの検出ない
    し訂正を行うことを特徴とするキャッシュ制御装置。 5、請求項4において、前記キャッシュメモリに格納さ
    れたデータの誤りをデータの一語ごとに検出ないし訂正
    する手段を設けたメモリ装置。 6、演算装置とキャッシュメモリと主メモリと外部記憶
    装置よりなり、前記主メモリ上にデータと共に誤り検出
    ないし訂正コードを格納する情報処理装置において、前
    記主メモリ上のデータと誤り検出ないし訂正コードを合
    わせて、外部記憶装置に格納することを特徴とする情報
    処理装置。
JP2250192A 1990-09-21 1990-09-21 メモリ装置 Pending JPH04130550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2250192A JPH04130550A (ja) 1990-09-21 1990-09-21 メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2250192A JPH04130550A (ja) 1990-09-21 1990-09-21 メモリ装置

Publications (1)

Publication Number Publication Date
JPH04130550A true JPH04130550A (ja) 1992-05-01

Family

ID=17204187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2250192A Pending JPH04130550A (ja) 1990-09-21 1990-09-21 メモリ装置

Country Status (1)

Country Link
JP (1) JPH04130550A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861509B1 (ja) * 2010-10-29 2012-01-25 株式会社東芝 符号化・復号化装置、データ記憶装置、及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861509B1 (ja) * 2010-10-29 2012-01-25 株式会社東芝 符号化・復号化装置、データ記憶装置、及び方法
US8429508B2 (en) 2010-10-29 2013-04-23 Kabushiki Kaisha Toshiba Data storage apparatus with encoder and decoder

Similar Documents

Publication Publication Date Title
US20070268905A1 (en) Non-volatile memory error correction system and method
US6216247B1 (en) 32-bit mode for a 64-bit ECC capable memory subsystem
US8010875B2 (en) Error correcting code with chip kill capability and power saving enhancement
EP0989492B1 (en) Technique for correcting single-bit errors in caches with sub-block parity bits
US8468416B2 (en) Combined group ECC protection and subgroup parity protection
US5835704A (en) Method of testing system memory
US8185800B2 (en) System for error control coding for memories of different types and associated methods
US7587658B1 (en) ECC encoding for uncorrectable errors
US8352806B2 (en) System to improve memory failure management and associated methods
US4651321A (en) Apparatus for reducing storage necessary for error correction and detection in data processing machines
US20120079346A1 (en) Simulated error causing apparatus
US8181094B2 (en) System to improve error correction using variable latency and associated methods
JPH07191915A (ja) コンピュータ・システム、メモリ・カード、及びその操作方法
TW201346550A (zh) 實體頁、邏輯頁及碼字對應
JP2006318461A (ja) 水平及び垂直のエラー訂正符号化(ecc)システム及び方法
JP2519286B2 (ja) アドレス・ライン・テスト方法
CN103137215A (zh) 向存储器提供低延时错误纠正码能力
KR20180086816A (ko) 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법
US20130080854A1 (en) Address error detection
US11409608B2 (en) Providing host-based error detection capabilities in a remote execution device
US11714704B2 (en) Modified checksum using a poison data pattern
US5953265A (en) Memory having error detection and correction
EP2370899B1 (en) Poison bit error checking code scheme
US7240272B2 (en) Method and system for correcting errors in a memory device
US5838892A (en) Method and apparatus for calculating an error detecting code block in a disk drive controller