JPH10143383A - 誤り検出訂正装置 - Google Patents

誤り検出訂正装置

Info

Publication number
JPH10143383A
JPH10143383A JP8299032A JP29903296A JPH10143383A JP H10143383 A JPH10143383 A JP H10143383A JP 8299032 A JP8299032 A JP 8299032A JP 29903296 A JP29903296 A JP 29903296A JP H10143383 A JPH10143383 A JP H10143383A
Authority
JP
Japan
Prior art keywords
data
parity
error
horizontal
vertical
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
JP8299032A
Other languages
English (en)
Inventor
Kiyoshi Arai
清 新井
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.)
NIPPON SYST HOUSE KK
Original Assignee
NIPPON SYST HOUSE KK
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 NIPPON SYST HOUSE KK filed Critical NIPPON SYST HOUSE KK
Priority to JP8299032A priority Critical patent/JPH10143383A/ja
Publication of JPH10143383A publication Critical patent/JPH10143383A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】誤データ検出訂正装置の信頼性を向上させる。 【解決手段】単一の誤データが存在する場合には、主デ
ータから生成される水平・垂直パリティと冗長データに
含まれる水平・垂直パリティとが夫々不一致となる不一
致行及び不一致列の個数は、夫々1つとなる。一方、2
以上の誤データが存在する場合には、少なくとも不一致
行の個数または不一致列の個数が2以上となる。この原
理に基づいて、誤データの個数を特定し(1個である
か、2個以上であるか)、誤データが1個の場合には、
当該誤データの位置を不一致行と不一致列との交点によ
り特定・訂正し、誤データが2個以上の場合には、その
旨を示す情報を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、誤り検出訂正装置
に係り、特に、パリティデータに基づいて誤データを検
出・訂正する誤り検出訂正装置に関する。
【0002】
【従来の技術】情報処理分野の進歩により、通信分野に
おける通信データの大規模化、メモリ分野におけるメモ
リの大容量化が急速に進んでいる。これにより、データ
の信頼性を確保することが一層重要になってきた。取り
扱うデータ量が増すと、例えば、通信分野では、通信装
置間におけるノイズ等によるデータ破壊、メモリ分野で
は、メモリチップ内におけるα線等によるデータ破壊等
の可能性が増大するからである。
【0003】そこで、データの信頼性を高めるべく、実
際に使用する主データに対して、誤データの検出・訂正
用の冗長データを付加し、この冗長データに基づいて主
データ中の誤データを検出・訂正する技術、所謂ECC
(error cheking and correcting)の技術が登場した。
【0004】特開昭63−308795号公報に、EC
C回路の一例が開示されている。このECC回路は、メ
モリにおいて、1ワードのデータを2次元状に仮想的に
配置し、その配置における水平方向及び垂直方向のパリ
ティ(水平・垂直パリティ)を設け、水平・垂直パリテ
ィにより、仮想的な配置における誤データの位置を特定
し、当該誤データの値を反転することにより訂正するも
のである。以下、この方式を水平・垂直パリティ方式
(HVパリティ方式)という。
【0005】
【発明が解決しようとする課題】上記の水平・垂直パリ
ティ方式は、誤データが1つしか存在しないことを前提
としている。従って、誤データが2つ以上存在する場合
には、そのことを検出することができず、当該メモリを
利用する側(例えば、CPU)は、誤データが存在しな
いものとして、処理を続行することになる。
【0006】また、上記の水平・垂直パリティ方式は、
水平・垂直パリティ自体に誤りが存在しないことを前提
としている。従って、水平・垂直パリティデータがα線
等により破壊された場合には、適正なデータ訂正ができ
なくなるばかりか、不適正なデータ訂正により正常なデ
ータを破壊することもある。水平・垂直パリティ方式
は、データを2次元状に配置した際の行数と列数との和
に相当する大規模なパリティデータを要するため、水平
・垂直パリティに誤りが存在しないとの前提は、徒にメ
モリ面積を増大させるだけで、データの信頼性の向上に
対する寄与を希薄にする。
【0007】上記の問題点は、メモリのみならず、ボー
ドやシステム上、さらには通信分野においても同様に議
論し得る。
【0008】本発明は、上記問題点に鑑みてなされたも
のであり、その課題は、より信頼性の高い誤データ検出
訂正装置を提供することにある。
【0009】
【課題を解決するための手段】上記課題を解決するた
め、本発明に係る誤データ検出訂正装置は、所定ビット
数で構成される主データに対して第1の水平及び垂直パ
リティを付加したパリティ付データにおける前記主デー
タの誤りを検出・訂正する誤データ検出訂正装置におい
て、前記主データより第2の水平及び垂直パリティを生
成する水平・垂直パリティ生成手段と、前記第1の水平
及び垂直パリティと前記第2の水平及び垂直パリティと
に基づいて、前記主データにおける1または2以上の誤
データの存在を検出する誤データ検出手段と、前記検出
手段により1つの誤データの存在が検出された場合に、
前記第1の水平及び垂直パリティと前記第2の水平及び
垂直パリティとに基づいて当該誤データを特定し訂正す
る訂正手段と、前記誤データ検出手段により2つ以上の
誤データの存在が検出された場合に、その旨を示す情報
を出力する出力手段とを備えることを特徴とする。
【0010】本発明に係る誤データ検出訂正装置におい
て、前記誤データ検出手段は、前記第1の水平パリティ
と前記第2の水平パリティとを比較し、両者の値が不一
致となる組が2つ以上存在するか否かを判定する第1の
判定手段と、前記第1の垂直パリティと前記第2の垂直
パリティとを比較し、両者の値が不一致となる組が2つ
以上存在するか否かを判定する第2の判定手段とを有
し、前記第1及び第2の判定手段の少なくとも一方によ
り、前記不一致となる組が2つ以上存在すると判定され
た場合に、2以上の誤データが存在するものと判断する
ことが好ましい。
【0011】本発明に係る誤データ検出訂正装置におい
て、前記パリティ付データは、前記主データの全体に関
する全体パリティを含み、前記全体パリティに基づいて
前記第1の水平及び垂直パリティにおける誤りの存在を
検出するパリティ誤り検出手段をさらに備えることが好
ましい。
【0012】本発明に係る誤データ検出訂正装置におい
て、前記訂正手段は、前記パリティ誤り検出手段により
前記第1の水平及び垂直パリティに誤りが検出されず、
かつ前記誤データ検出手段により前記主データにおける
1つの誤データの存在が検出された場合に、当該誤デー
タを訂正することが好ましい。
【0013】また、上記改題を解決するため、本発明に
係る第2の誤データ検出訂正装置は、所定ビット数で構
成される主データに対して、第1の水平及び垂直パリテ
ィと、前記主データ全体に関する全体パリティとを付加
したパリティ付データにおける前記主データの誤りを検
出・訂正する誤り検出訂正装置において、前記主データ
より第2の水平及び垂直パリティを生成する水平・垂直
パリティ生成手段と、前記第1の水平及び垂直パリティ
と前記第2の水平及び垂直パリティとに基づいて、前記
主データにおける誤データの存在を検知する誤データ検
出手段と、前記全体パリティに基づいて前記第1の水平
及び垂直パリティにおける誤りの存在を検出するパリテ
ィ誤り検出手段と、前記パリティ誤り検出手段により前
記第1の水平及び垂直パリティに誤りが検出されず、か
つ前記誤データ検出手段により前記主データにおける誤
データの存在が検出された場合に、当該誤データを訂正
する訂正手段とを備えることを特徴とする。
【0014】また、上記改題を解決するため、本発明に
係る第3の誤データ検出訂正装置は、主データに対して
誤データの検査情報を付加した検査情報付データにおけ
る前記主データの誤りを検出・訂正する誤り検出訂正装
置であって、前記検査情報付データは、前記検査情報の
パリティを含み、前記検査情報のパリティに基づいて前
記検査情報における誤りの存在を検出する検査情報誤り
検出手段と、前記検査情報誤り検出手段により前記検査
情報における誤りの存在が検出されない場合に、前記検
査情報に基づいて前記主データにおける誤データを検出
し、訂正する訂正手段とを備えることを特徴とする。
【0015】
【発明の実施の形態】以下、添付図面を参照しながら本
発明の好適な実施の形態を説明する。
【0016】<誤データの検出・訂正の原理>図1は、
本発明の実施の形態における水平・垂直パリティ方式を
説明する図である。本実施の形態においては、32ビッ
ト幅のデータD0〜D31を8行4列の2次元空間に仮
想的に配置し、この配置に基づいて水平パリティHPD
0〜HPD7、垂直パリティVPD0〜VPD3、全体
パリティCが付加される。
【0017】水平パリティは、水平方向の4個のデータ
のパリティであり、例えば、水平パリティHPD0は、
データD0〜D3に関するパリティである。垂直パリテ
ィは、垂直方向の8個のデータのパリティであり、例え
ば、垂直パリティVPD0は、データD0,D4,D
8,・・・,D24,D28のパリティである。全体パ
リティCは、全データ、すなわちD0〜D31のパリテ
ィである。なお、パリティCは、HPD0〜HPD7或
いはVPD0〜VPD3のパリティでもある。
【0018】本実施の形態において取り扱うデータは、
D0〜D31、HPD0〜HPD7、VPD0〜VPD
3、Cからなる45ビット幅のデータであり、これをパ
リティ付データと呼ぶ。このうち、D0〜D31は、デ
ータの処理装置(例えば、CPU等)により実際に利用
するデータであり、主データと呼ぶ。また、HPD0〜
HPD7、VPD0〜VPD3、Cは、誤データを検出
するためのデータであり、冗長データ或いはパリティデ
ータと呼ぶ。なお、全体パリティCは、パリティ付デー
タのビット幅を小さくするためには付加しないことが望
ましいが、誤データの検出・訂正の信頼性を確保するた
めには付加することが望ましい。
【0019】本実施の形態においては、1)主データに
単一の誤データが存在する場合には、当該誤データを検
出・訂正し、2)主データに2以上の誤データが存在す
る場合には、当該2以上の誤データを検出し、データ処
理装置に通知する。さらに、3)冗長データに誤りがあ
りか否かを調査し、誤りがある場合には、冗長データに
基づく誤データの検出・訂正を実行しない。
【0020】以下に、誤データの存在及び誤データの個
数を検出する方法を説明する。
【0021】先ず、図1において、データD14のみが
誤データであるものと仮定する。この場合、データD1
2,D13,D14(誤データ),D15より生成され
る水平パリティHPC3(不図示)と、冗長データに含
まれる水平パリティHPD3とが一致しないことにな
る。また、データD2,D6,D10,D14(誤デー
タ),・・・,D30より生成される垂直パリティVP
C2(不図示)と、冗長データに含まれる垂直パリティ
VPD2とが一致しないことになる。
【0022】上記のように、生成した水平パリティと冗
長データに含まれる水平パリティとが一致しない行を不
一致行、生成した垂直パリティと冗長データに含まれる
垂直パリティとが一致しない列を不一致列という。
【0023】誤データが1個存在する場合には、不一致
行と不一致列の個数は、夫々1個となる。
【0024】一方、誤データが2個存在する場合には、
不一致行の個数または不一致列の個数が2個となる。す
なわち、1)同一行上に2個の誤データが存在する場合
(例えば、D12とD14)には、不一致行の個数が0
個、不一致列の個数が2個となり、2)同一列上に2個
の誤データが存在する場合(例えば、D2とD14)に
は、不一致行の個数が2個、不一致列の個数が0個な
り、3)異なる行かつ異なる列に2個の誤データが存在
する場合(例えば、D0とD14)には、不一致行、不
一致列共に2個となる。
【0025】さらに、誤データが3個存在する場合に
は、不一致行の個数または不一致列の個数が2以上とな
る(双方が共に1以下になることはない)。
【0026】ところが、誤データが4個存在する場合で
あって、誤データが方形状に存在する場合(例えば、D
5,D7,D13,D15)には、不一致行、不一致列
共に0となり、誤データの存在を検出することはできな
い。しかしながら、このような組合わせは、極めて希で
あるし、また冗長データの信頼性も疑わしいため、本実
施の形態においては、このような組合わせを想定しな
い。
【0027】以上の検討より、誤データの有無、或いは
誤データの個数が1個であるか2以上であるかは、不一
致行の個数及び不一致列の個数を調べることにより判断
することができる。すなわち、1)不一致行及び不一致
列の個数が共に0個であれば、誤データは存在しない、
2)不一致行及び不一致列の個数が共に1個であれば、
1個の誤データが存在する、3)不一致行または不一致
列の個数が2以上であれば、2個以上の誤データが存在
する。
【0028】次に、冗長データの誤りの有無を検出する
方法の一例を説明する。ここでは、冗長データを構成す
る水平パリティHPD0〜HPD7及び垂直パリティV
PD0〜VPD3には、夫々2個以上の誤りは存在しな
いものとする。
【0029】水平パリティHPD0〜HPD7における
誤りは、水平パリティHPD0〜HPD7から生成され
るパリティHPDPと、冗長データに含まれる全体パリ
ティCとを比較することにより検出することができる。
前述のように、水平パリティHPD0〜HPD7に誤り
が存在しない場合、全体パリティCと水平パリティHP
D0〜HPD7とは一致するからである。
【0030】また、同様に垂直パリティVPD0〜VP
D3における誤りは、垂直パリティPVD0〜PVD3か
ら生成されるパリティVPDPと、冗長データに含まれ
る全体パリティCとを比較することにより検出すること
ができる。
【0031】<回路構成>図2は、本発明の実施の形態
に係るECC回路の適用例を示す図である。同図の
(a)に示す構成は、メモリ10とCPU20との間に
ECC回路100を備えた一例である。メモリ10とし
ては、例えば、DRAM、SRAM、EEPROM等が
挙げられる。なお、ECC回路100は、メモリ10内
に組み込んで用いても良い。一方、同図の(b)に示す
構成は、通信コントローラ30とCPU20との間にE
CC回路100を備えた一例である。通信コントローラ
は、シリアル通信用のコントローラであっても良いし、
パラレル通信用のコントローラでであっても良い。
【0032】同図の(a)及び(b)の実質的な相違点
は、前者がメモリデバイスへの適用例であり、後者がI
Oデバイスへの適用例であるということだけである。従
って、ここでは(a)に示す構成についてのみ説明す
る。
【0033】メモリ10とECC回路100は、双方向
のデータバスDM<0:44>で接続され、ECC回路
100とCPU20とは、双方向のデータバスDC<
0:31>で接続されている。メモリ10及びECC回
路100には、CPU20により制御されるリード信号
/RD、ライト信号/WR、アドレス信号ADR、メモ
リ/IOデバイスの選択信号MIO(実施の態様によ
り、例えば、/MREQ、/IOREQ等を利用する)
が接続されている。また、メモリ10には、アドレス信
号ADR、メモリ/IOデバイスの選択信号MIO等を
デコードして得られるチップイネーブル信号も接続され
ている(不図示)。なお、信号に付した”/”は、ロウ
アクティブであることを示す。
【0034】ECC回路100は、メモリ10よりデー
タを読出した際に訂正不能なエラーを発見した場合に、
その旨をCPU20に対して割り込み信号INTを介し
て通知する。
【0035】図3は、ECC回路200の詳細構成を示
す回路図である。デコーダ201は、CPU20から供
給されるリード信号/RD、ライト信号/WR、アドレ
ス信号ADR、選択信号MIOをデコードして、メモリ
10(または通信コントローラ30;以下において同
じ)に対するリード要求を示すリード信号/READ、
ライト要求を示すライト信号/WRITEを生成する。
【0036】バッファ202及び203は、双方向バッ
ファを構成し、双方向のデータバスDC<0:31>に
接続され、リード信号/READにより入力/出力のモ
ードが切り換えられる。具体的には、リード信号/RE
ADがアクティブ状態の時、すなわち、メモリ10より
データを読出す時は、ECCコア回路200からの出力
データDO<0:31>に基づいてデータバスDC<
0:31>を駆動し、インアクティブ状態の時は、デー
タバスDC<0:31>上の信号を入力する。
【0037】バッファ204及び205は、双方向バッ
ファを構成し、双方向のデータバスDM<0:31>に
接続され、ライト信号/WRITEにより入力/出力の
モードが切り換えられる。具体的には、ライト信号/W
RITEがアクティブ状態の時、すなわち、メモリ10
にデータを書込む時は、データバスDC<0:31>を
介してCPU20より入力された信号に基づいてデータ
バスDM<0:31>を駆動する(CPU20からの書
込みデータをそのままメモリ10に供給する)。一方、
ライト信号/WRITEがインアクティブ状態の時は、
データバスDM<0:31>上の信号を入力する。
【0038】マルチプレクサ208は、リード信号/R
EADがインアクティブ状態の時は、CPU20から供
給される書込みデータ(DCI<0:31>)を選択
し、リード信号/READがアクティブ状態の時、すな
わち、メモリ10よりデータを読出す時は、メモリ10
から供給される読出しデータ(DMI<0:31>)を
選択し、ECCコア回路200に供給する。
【0039】バッファ206及び207は、双方向バッ
ファを構成し、双方向のデータバスDM<32:44
>、すなわち、パリティ用のデータバスに接続され、ラ
イト信号により入力/出力のモードが切り換えられる。
具体的には、ライト信号/WRITEがアクティブ状態
の時、すなわち、メモリ10にデータを書込む時は、E
CCコア回路200により生成した水平パリティデータ
HPC<0:7>、垂直パリティVPC<0:3>及び
全体パリティTPを順にDM<32:44>に割当てて
出力する。一方、ライト信号/WRITEがインアクテ
ィブ状態の時は、データバスDM<31:44>上の信
号を入力する。メモリ10からのデータの読み出しの際
には、データバスDM<32:44>上には、メモリ1
0より、水平パリティ、垂直パリティ及び全体パリティ
が出力され、これらのデータは双方向バッファにより取
り込まれ、順に水平パリティデータHPD<0:7>、
垂直パリティデータVPD<0:3>及び全体パリティ
Cとして、ECCコア回路200に供給される。
【0040】ECCコア回路200は、メモリ10より
供給されるパリティデータに基づいて、誤データを検出
し、当該誤データを訂正可能な場合(単一の誤データが
存在する場合)には、当該誤データを訂正し、訂正不能
な場合(2つ以上の誤データが存在する場合)には、二
重エラー検出信号DEをアクティブレベルにする。割り
込み信号INTは、二重エラー検出信号DEに基づいて
駆動され、二重エラーの発生をCPU20に通知する。
【0041】図4は、ECCコア回路200の構成例を
示す回路図である。水平パリティ生成回路301は、入
力データDI<0:31>より水平パリティデータHP
C<0:7>を生成する。例えば、HPC<0>は、D
I<0>,DI<1>,DI<2>,DI<3>のパリ
ティデータである。なお、メモリ10への書込み時は、
ここで生成されたHPC<0:7>がデータバスDM<
32:39>を介してメモリ10に供給される。
【0042】垂直パリティ生成回路302は、DI<
0:31>より垂直パリティデータVPC<0:3>を
生成する。例えば、VPCC<0>は、DI<0>,D
I<4>,DI<8>,・・・,DI<28>のパリテ
ィデータである。なお、メモリ10への書込み時は、こ
こで生成されたVPC<0:3>がデータバスDM<4
0:43>を介してメモリ10に供給される。
【0043】水平パリティ比較回路303は、メモリ1
0からのデータの読出し時において、水平パリティデー
タHPC<0:7>と冗長データに含まれる水平パリテ
ィデータHPD<0:7>(データバスDM<32:3
9>を介して供給される)とをビット毎に比較し、比較
結果として不一致行信号HUM<0:7>を生成する。
【0044】垂直パリティ比較回路304は、メモリ1
0からのデータの読出し時において、垂直パリティデー
タVPC<0:3>と冗長データに含まれる垂直パリテ
ィデータVPD<0:3>(データバスDM<40:4
3>を介して供給される)とをビット毎に比較し、比較
結果として不一致列信号VUM<0:3>を生成する。
【0045】エラー判定回路306は、メモリ10から
のデータの読出し時において、不一致行信号HUM<
0:7>、不一致列信号VUM<0:3>、冗長データ
に含まれる水平パリティデータHPD<0:7>、垂直
パリティデータVPD<0:3>及び全体パリティデー
タC(データバスDM<44>を介して供給される)に
基づいて、単一の誤データの存在または2個以上の誤デ
ータの存在を検出し、夫々検出信号SEまたは検出信号
DEを介して出力する。
【0046】また、エラー判定回路306は、メモリ1
0へのデータの書込み時において、水平パリティ生成回
路301により生成された垂直パリティデータVPC<
0:3>に基づいて、全体パリティTPを生成し、これ
をデータバスDM<44>を介してメモリ10に供給す
る。
【0047】エラー位置特定回路305は、単一の誤デ
ータが存在することを検出信号SEにより通知された場
合に、不一致行信号HUM<0:7>及び不一致列信号
VUM<0:3>に基づいて当該誤データの位置を特定
し、その結果をデータ反転信号INV<0:31>を介
してエラー訂正回路307に供給する。
【0048】エラー訂正回路307は、メモリ10から
のデータの読出し時において、データ反転信号INV<
0:31>に基づいて、DI<0:31>、すなわち、
データバスDM<0:31>を介して供給されるデータ
を訂正する。
【0049】図5は、水平パリティ生成回路301の構
成例を示す回路図である。この構成例は、2段のEOR
回路により、各行に含まれる4個のデータ(例えば、D
I<0>〜DI<4>)のパリティを夫々算出するもの
である。
【0050】図6は、垂直パリティ生成回路302の構
成例を示す回路図である。この構成例は、3段のEOR
回路により、各列に含まれる8個のデータ(例えば、D
I<0>,DI<4>,DI<8>,・・・,DI<2
8>)のパリティを夫々算出するものである。
【0051】図7は、水平パリティ比較回路303の構
成例を示す回路図である。この回路は、水平パリティ生
成回路301により生成された水平パリティデータHP
C<0:7>と冗長データに含まれる水平パリティデー
タHPD<0:7>とを、EOR回路によりビット毎に
比較し、両データが不一致であれば、”1”、一致して
いれば”0”を出力する。
【0052】図8は、垂直パリティ比較回路304の構
成例を示す回路図である。この回路は、垂直パリティ生
成回路302により生成された垂直パリティデータVP
C<0:3>と冗長データに含まれる垂直パリティデー
タVPD<0:3>とを、EOR回路によりビット毎に
比較し、両データが不一致であれば、”1”、一致して
いれば”0”を出力する。
【0053】図9は、エラー判定回路306の構成例を
示す回路図である。全体パリティ生成回路901は、メ
モリ10に対するデータの書込み時において、VPC<
0:3>に基づいて全体パリティTPを生成する。この
全体パリティTPは、データバスDM<44>を介して
メモリ10に供給される。なお、冗長データ数を削減す
る場合、すなわち、全体パリティを付加しない場合に
は、この全体パリティ生成回路901は、不要である。
【0054】パリティエラー検出回路901は、メモリ
10からのデータの読出し時において、冗長データに含
まれる水平パリティデータHPD<0:7>、垂直パリ
ティデータVPD<0:3>及び全体パリティCに基づ
いて、水平パリティデータHPD<0:7>及び垂直パ
リティデータVPD<0:3>におけるエラーの存在を
検出し、エラー検出信号PEを介して単一エラー検出回
路903に通知する。
【0055】単一エラー検出回路903は、メモリ10
からのデータの読出し時において、水平パリティデータ
HPD<0:7>及び垂直パリティデータVPD<0:
3>にエラーが存在しない場合に、すなわち、エラー検
出信号PEがロウレベルである場合に、不一致行信号H
UM<0:7>及び不一致列信号VUM<0:3>に基
づいて、単一の誤データの存在を検出し、その結果を単
一エラー検出信号SE上に出力する。
【0056】二重エラー検出回路904は、メモリ10
からのデータの読出し時において、不一致行検出信号H
UM<0:7>及び不一致列検出信号VUM<0:3>
に基づいて、2以上の誤データの存在を検出し、その結
果を二重エラー検出信号DE上に出力する。
【0057】図10は、全体パリティ生成回路901の
構成例を示す回路図である。この回路は、2段のEOR
回路により構成され、メモリ10からのデータの読み出
し時において、垂直パリティデータVPC<0>〜VP
C<3>のパリティを算出することにより、データDI
<0>〜DI<31>の全体パリティを算出し、全体パ
リティ信号TP上に出力する。
【0058】図11は、パリティエラー検出回路902
の構成例を示す回路図である。メモリ10からのデータ
の読み出し時において、冗長データに含まれる水平パリ
ティデータHPD<0>〜HPD<7>のパリティHP
DPを算出し、これと冗長データに含まれる全体パリテ
ィCとを比較すると共に、冗長データに含まれる垂直パ
リティデータVPD<0>〜VPD<3>のパリティV
PDPを算出し、これと全体パリティCとを比較する。
水平パリティエラー検出信号HPEDETは、前者の比
較結果を示し、垂直パリティエラー検出信号VPEDE
Tは、後者の比較結果を示す。
【0059】パリティエラー検出信号PEは、水平パリ
ティエラー検出信号HPEDETと垂直パリティエラー
検出信号VPEDETとの論理和で与えられる。すなわ
ち、パリティエラー検出信号PEは、水平パリティデー
タHPD<0:7>または垂直パリティデータVPD<
0:3>のいずれかにエラーが存在する場合に、ハイレ
ベルになる。
【0060】図12は、単一エラー検出回路903の構
成例を示す回路図である。単一エラー検出回路903
は、パリティエラーが存在しない場合、すなわち、パリ
ティエラー検出信号PEがローレベルの場合に、不一致
行及び不一致列が夫々1個ずつ存在することを検出す
る。より具体的には、不一致行信号HUM<0>〜HU
M<7>のいずれか1つのみがロウレベルであり、か
つ、不一致列信号VUM<0>〜VUM<3>のいずれ
か1つのみがロウレベルであること調べることにより、
単一の誤データの存在を検出し、その結果を単一エラー
検出信号SE上に出力する。
【0061】図13は、単一エラー検出回路の他の構成
例を示す回路図である。この回路を適用する場合は、メ
モリ10からのデータの読み出し時においても、全体パ
リティ生成回路901により全体パリティTPを生成す
る。
【0062】この構成例においては、全体パリティTP
と、パリティエラー検出回路902において生成される
パリティHPDP、VPDP、冗長データに含まれる全
体パリティCを夫々比較し、比較結果を示す水平パリテ
ィエラー信号HPE、垂直パリティエラー信号VPE及
び全体パリティエラー信号TPEを夫々生成する。そし
て、水平パリティエラー信号HPE、垂直パリティエラ
ー信号VPE及び全体パリティエラー信号TPEの3つ
の信号の全てが不一致であることを示している場合(T
P≠HPDPかつTP≠VPDPかつTP≠C)に、単
一のエラーが存在すると判断する。この場合も、不一致
行及び不一致列が共に1つ存在し、かつ水平・垂直パリ
ティデータにエラーが存在しないことを認識することが
できる。
【0063】図14は、二重エラー検出回路904の構
成例を示す回路図である。前述のように、2以上の誤デ
ータが存在する場合は、不一致行または不一致列の個数
が2以上となる。そこで、不一致行信号HUM<0>〜
HUM<7>の8ビットから2ビットを選択して得られ
る全組合せ(28組)の中で、共にハイレベル(不一致
行であることを示す)となる組合わせが1つでも存在す
るか、或いは、不一致列信号VUM<0>〜VUM<3
>の4ビットから2ビットを選択して得られる全組合わ
せ(6組)の中で、共にハイレベルとなる組合わせが1
つでも存在する場合に、2以上の誤データが存在すると
判断することができる。二重エラー検出回路904は、
2以上の誤データの存在が検出すると、その結果を二重
エラー検出信号DE上に出力する。
【0064】図15は、単一の誤データが存在する場
合、すなわち単一エラー検出信号SEがハイレベル状態
の場合のエラー位置特定回路305の動作例を示す真理
値表である。単一の誤データの存在が検出された場合に
は、誤データの訂正が可能である。そこで、エラー位置
特定回路305は、パリティ付データを図1の如く配置
した場合において、不一致行信号HUM<0:7>が示
す不一致行及び不一致列信号VUM<0:3>が示す不
一致列の交点を特定することにより、誤データの位置を
特定する。誤データの位置(ビット)は、反転信号IN
V<0:31>により示される。すなわち、反転信号I
NV<0:31>のうち、ハイレベルに駆動されるビッ
トが誤データの位置を示す。なお、単一エラー検出信号
SEがロウレベルの場合は、反転信号INV<0:31
>の全ビットがロウレベルに駆動される。
【0065】図16は、エラー訂正回路307の構成例
を示す回路図である。この構成例は、メモリ10からの
データの読出し時において、反転信号INV<0:31
>とDI<0:31>とのビット毎の排他的論理和演算
により誤データを訂正する。すなわち、INV<0:3
1>のうちハイレベルに駆動されたビット(誤データの
ビット)は、DI<0:31>のうち対応するビットの
値を反転させ、これにより、誤データを訂正することが
できる。
【0066】以上のように、本実施の形態に拠れば、2
以上の誤データの存在を検出して、データ処理装置(例
えば、CPU)に通知することができる。また、水平・
垂直パリティのエラーの有無を全体パリティにより確認
するため、エラー検出・訂正の精度が向上する。従っ
て、システム全体の信頼性を向上させることができる。
【0067】次に、ECC回路100の動作をテストす
る方法を説明する。図17は、ECC回路100のテス
トシステムの構成例を示すブロック図である。このテス
トシステムは、メモリ10をテスト回路40に置換え、
テスト回路40に対して、CPU20から直接データを
書込めるようにしたものである。
【0068】テスト回路40は、主データを格納するた
めの主データレジスタ41、冗長データを格納するため
の冗長データレジスタ42及びIO空間のアドレスをデ
コードするためのデコーダ43を備えている。
【0069】図18は、テスト時のCPU20の動作例
を示すフローチャートである。
【0070】ECC回路100のテストに際して、CP
U20は、先ず、テスト用主データ及びテスト用冗長デ
ータを生成する(S101、S102)。次いで、CP
U20は、主データレジスタ41のIOアドレスを指定
して、テスト用主データを書き込む(S103)。次い
で、CPU20は、冗長データレジスタ42のIOアド
レスを指定して、テスト用データに対応するテスト用冗
長データを書込む(S104)。
【0071】次いで、CPU20は、ECC回路100
を介してテスト回路40よりデータを読出す(S10
5)。テスト回路40は、CPU20より読出し要求を
受けると、主データをデータバスDM<0:31>に割
当て、冗長データをデータバスDM<32:44>に割
当てて、データを出力する。
【0072】次いで、CPU20は、S105において
ECC100を介して供給されたデータの内容と、ステ
ップS103及びS104においてテスト回路に書込ん
だデータの内容とを比較して、ECC回路100の動作
を確認する。ステップS101〜S106のテストは、
主データ及び冗長データの全組合わせに関して行うこと
が好ましい。テスト回路40に書込むデータを更新して
テストを続行する場合には、S101に戻る(S10
7)。
【0073】以上のように、上記のテストシステムに拠
れば、ECC回路100の動作を簡易に評価することが
できる。
【0074】なお、本発明は、上記の特定の実施の形態
に限定されず、種々の変形が可能である。
【0075】
【発明の効果】本発明に拠れば、誤データ検出訂正装置
の信頼性を向上させることができる。
【0076】
【図面の簡単な説明】
【図1】本発明の実施の形態における水平・垂直パリテ
ィ方式を説明するための図である。
【図2】本発明の実施の形態に係るECC回路の適用例
を示す図である。
【図3】ECC回路の詳細構成を示す回路図である。
【図4】ECCコア回路の構成例を示す回路図である。
【図5】水平パリティ生成回路の構成例を示す回路図で
ある。
【図6】垂直パリティ生成回路の構成例を示す回路図で
ある。
【図7】水平パリティ比較回路の構成例を示す回路図で
ある。
【図8】垂直パリティ比較回路の構成例を示す回路図で
ある。
【図9】エラー判定回路の構成例を示す回路図である。
【図10】全体パリティ生成回路の構成例を示す回路図
である。
【図11】パリティエラー検出回路の構成例を示す回路
図である。
【図12】単一エラー検出回路の構成例を示す回路図で
ある。
【図13】単一エラー検出回路の他の構成例を示す回路
図である。
【図14】二重エラー検出回路の構成例を示す回路図で
ある。
【図15】単一エラー検出信号SEがロウレベルの時の
エラー位置特定回路の動作例を示す真理値表である。
【図16】エラー訂正回路の構成例を示す回路図であ
る。
【図17】ECC回路のテストシステムの一例を示すブ
ロック図である。
【図18】テスト時のCPUの動作例を示すフローチャ
ートである。
【符号の説明】
DM<0:31> 主データ用の双方向データバス DM<32:44> 冗長データ用の双方向データバス DC<0:31> 双方向データバス /RD リード信号 /WR ライト信号 ADR アドレス信号 MIO メモリ/IOデバイスの選択信号 /READ リード信号 /WRITE ライト信号 DO<0:31> 出力データ DI<0:31> 入力データ DCI<0:31> 書込みデータ DMI<0:31> 読出しデータ HPC<0:7> 水平パリティデータ(読出し時に生
成) VPC<0:3> 垂直パリティデータ(読出し時に生
成) TP 全体パリティ(読出し時、書込み時に生成) HPD<0:7> 水平パリティデータ(書込み時に生
成) VPD<0:3> 垂直パリティデータ(書込み時に生
成) C 全体パリティ 全体パリティ(メモリに格納された
全体パリティ) SE 単一エラー検出信号 DE 二重エラー検出信号 INT 割り込み信号 HUM<0:7> 不一致行信号 VUM<0:3> 不一致列信号 INV<0:31> 反転信号 HPDP HPD<0:7>のパリティ VPDP VDP<0:3>のパリティ HPEDET 水平パリティエラー検出信号 VPEDET 垂直パリティエラー検出信号 HPE 水平パリティエラー信号 VPE 垂直パリティエラー信号 TPE 全体パリティエラー信号 10 メモリ 20 CPU 30 通信コントローラ 40 テスト回路 41 主データレジスタ 42 冗長データレジスタ 43 デコーダ 100 ECC回路 200 ECCコア回路 201 デコーダ 202〜207 バッファ 208 マルチプレクサ 209〜213 バッファ 301 水平パリティ生成回路 302 垂直パリティ生成回路 303 水平パリティ比較回路 304 垂直パリティ比較回路 305 エラー位置特定回路 306 エラー判定回路 307 エラー訂正回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 所定ビット数で構成される主データに対
    して第1の水平及び垂直パリティを付加したパリティ付
    データにおける前記主データの誤りを検出・訂正する誤
    データ検出訂正装置であって、 前記主データより第2の水平及び垂直パリティを生成す
    る水平・垂直パリティ生成手段と、 前記第1の水平及び垂直パリティと前記第2の水平及び
    垂直パリティとに基づいて、前記主データにおける1ま
    たは2以上の誤データの存在を検出する誤データ検出手
    段と、 前記検出手段により1つの誤データの存在が検出された
    場合に、前記第1の水平及び垂直パリティと前記第2の
    水平及び垂直パリティとに基づいて当該誤データを特定
    し訂正する訂正手段と、 前記誤データ検出手段により2つ以上の誤データの存在
    が検出された場合に、その旨を示す情報を出力する出力
    手段と、 を備えることを特徴とする誤り検出訂正装置。
  2. 【請求項2】 前記誤データ検出手段は、 前記第1の水平パリティと前記第2の水平パリティとを
    比較し、両者の値が不一致となる組が2つ以上存在する
    か否かを判定する第1の判定手段と、 前記第1の垂直パリティと前記第2の垂直パリティとを
    比較し、両者の値が不一致となる組が2つ以上存在する
    か否かを判定する第2の判定手段と、 を有し、前記第1及び第2の判定手段の少なくとも一方
    により、前記不一致となる組が2つ以上存在すると判定
    された場合に、2以上の誤データが存在するものと判断
    することを特徴とする請求項1に記載の誤り検出訂正装
    置。
  3. 【請求項3】 前記パリティ付データは、前記主データ
    の全体に関する全体パリティを含み、 前記全体パリティに基づいて前記第1の水平及び垂直パ
    リティにおける誤りの存在を検出するパリティ誤り検出
    手段をさらに備えることを特徴とする請求項1に記載の
    誤り検出訂正装置。
  4. 【請求項4】 前記訂正手段は、前記パリティ誤り検出
    手段により前記第1の水平及び垂直パリティに誤りが検
    出されず、かつ前記誤データ検出手段により前記主デー
    タにおける1つの誤データの存在が検出された場合に、
    当該誤データを訂正することを特徴とする請求項3に記
    載の誤り検出訂正装置。
  5. 【請求項5】 所定ビット数で構成される主データに対
    して、第1の水平及び垂直パリティと、前記主データ全
    体に関する全体パリティとを付加したパリティ付データ
    における前記主データの誤りを検出・訂正する誤り検出
    訂正装置であって、 前記主データより第2の水平及び垂直パリティを生成す
    る水平・垂直パリティ生成手段と、 前記第1の水平及び垂直パリティと前記第2の水平及び
    垂直パリティとに基づいて、前記主データにおける誤デ
    ータの存在を検知する誤データ検出手段と、 前記全体パリティに基づいて前記第1の水平及び垂直パ
    リティにおける誤りの存在を検出するパリティ誤り検出
    手段と、 前記パリティ誤り検出手段により前記第1の水平及び垂
    直パリティに誤りが検出されず、かつ前記誤データ検出
    手段により前記主データにおける誤データの存在が検出
    された場合に、当該誤データを訂正する訂正手段と、 を備えることを特徴とする誤り検出訂正装置。
  6. 【請求項6】 主データに対して誤データの検査情報を
    付加した検査情報付データにおける前記主データの誤り
    を検出・訂正する誤り検出訂正装置であって、前記検査
    情報付データは、前記検査情報のパリティを含み、 前記検査情報のパリティに基づいて前記検査情報におけ
    る誤りの存在を検出する検査情報誤り検出手段と、 前記検査情報誤り検出手段により前記検査情報における
    誤りの存在が検出されない場合に、前記検査情報に基づ
    いて前記主データにおける誤データを検出し、訂正する
    訂正手段と、 を備えることを特徴とする誤り検出訂正装置。
JP8299032A 1996-11-11 1996-11-11 誤り検出訂正装置 Pending JPH10143383A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8299032A JPH10143383A (ja) 1996-11-11 1996-11-11 誤り検出訂正装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8299032A JPH10143383A (ja) 1996-11-11 1996-11-11 誤り検出訂正装置

Publications (1)

Publication Number Publication Date
JPH10143383A true JPH10143383A (ja) 1998-05-29

Family

ID=17867337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8299032A Pending JPH10143383A (ja) 1996-11-11 1996-11-11 誤り検出訂正装置

Country Status (1)

Country Link
JP (1) JPH10143383A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234883A (ja) * 2004-02-19 2005-09-02 Nec Corp 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
GB2426085A (en) * 2005-05-10 2006-11-15 Hewlett Packard Development Co Horizontal and vertical error correction coding
US20200348272A1 (en) * 2018-02-02 2020-11-05 Shimadzu Corporation Chromatography system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234883A (ja) * 2004-02-19 2005-09-02 Nec Corp 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
GB2426085A (en) * 2005-05-10 2006-11-15 Hewlett Packard Development Co Horizontal and vertical error correction coding
GB2426085B (en) * 2005-05-10 2009-12-23 Hewlett Packard Development Co Horizontal and vertical error correction coding (ECC) system and method
US20200348272A1 (en) * 2018-02-02 2020-11-05 Shimadzu Corporation Chromatography system
US11977058B2 (en) * 2018-02-02 2024-05-07 Shimadzu Corporation Chromatography system

Similar Documents

Publication Publication Date Title
US5905858A (en) System for method memory error handling
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US8245109B2 (en) Error checking and correction (ECC) system and method
EP1206739B1 (en) Methods and apparatus for correcting soft errors in digital data
JPH07191915A (ja) コンピュータ・システム、メモリ・カード、及びその操作方法
JPH03248251A (ja) 情報処理装置
JPS62251949A (ja) 記憶装置の誤り訂正方法
US20180293130A1 (en) Memory module with dedicated repair devices
US7246257B2 (en) Computer system and memory control method thereof
US11347608B2 (en) Memory module with dedicated repair devices
JP2606862B2 (ja) 単−エラー検出・訂正方式
CN116069548A (zh) 存储器装置、存储器模块和存储器控制器的操作方法
JP2004246754A (ja) 半導体記憶装置およびその制御装置
JPH10143383A (ja) 誤り検出訂正装置
JP2001290710A (ja) データエラー検出装置
US5357529A (en) Error detecting and correcting apparatus and method with transparent test mode
JPH08263391A (ja) 情報処理装置
JPH07200419A (ja) バスインタフェース装置
JP2513615B2 (ja) Ecc回路付記憶装置
JP2000099410A (ja) メモリ制御回路と情報処理装置
JP3071846B2 (ja) パリティーエラー検出方法及びパリティーエラー検出回路
JPH04341998A (ja) メモリ回路
JPS59110098A (ja) デ−タ記憶装置の誤り訂正装置
JPH0922387A (ja) メモリ装置
JPH0553924A (ja) 記憶装置の試験方式