JPH04347751A - 半導体メモリ装置 - Google Patents

半導体メモリ装置

Info

Publication number
JPH04347751A
JPH04347751A JP3120418A JP12041891A JPH04347751A JP H04347751 A JPH04347751 A JP H04347751A JP 3120418 A JP3120418 A JP 3120418A JP 12041891 A JP12041891 A JP 12041891A JP H04347751 A JPH04347751 A JP H04347751A
Authority
JP
Japan
Prior art keywords
data
error
bit
bits
parity
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
JP3120418A
Other languages
English (en)
Inventor
Kanichi Endo
乾一 遠藤
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 Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3120418A priority Critical patent/JPH04347751A/ja
Publication of JPH04347751A publication Critical patent/JPH04347751A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、誤りを検出し自己訂正
する半導体メモリ装置に関し、特に、異なった誤りを訂
正回路を組み合わせることによって訂正能力を高め、か
つ、付加回路規模の増加を抑えて歩留り向上を実現する
ことができる半導体メモリ装置に関する。
【0002】
【従来の技術】従来の半導体メモリ装置に搭載されてい
る積符号(例えば、水平垂直パリティ方式)を用いた誤
り訂正回路には、特開昭57−152597号の「半導
体記憶装置」に示されるようなものがある。この誤り訂
正回路では、該当する任意符号長における訂正能力は1
ビットである。
【0003】また、2ビット以上の誤りを訂正するハミ
ング符号を用いた誤り訂正回路としては、「誤り訂正回
路の仕組み  −BCH符号(6) −、テレビ技術、
1986年12月号、pp67−76」に示すようなも
のがあり、シンドロームパターンを入力とする誤りパタ
ーン検索信号を発生させるためにROM(読み出し専用
メモリ)が用いられていた。
【0004】
【発明が解決しようとする課題】ところが、これまでの
半導体メモリ装置においては、次のような問題がある。 即ち、特開昭57−152597号に示されるものは、
該当する任意符号長における訂正能力が1ビットしかな
い。また、2ビット以上の誤りを訂正する前述の文献に
示されるハミング符号を用いた誤り訂正回路は、パリテ
ィチェック回路とシンドロームデコーダ系が大きくなり
、シンドロームパターンを入力とする誤りパターン検索
信号を発生させるROMの規模が符号長、訂正能力が増
すにつれて増加し、パリティチェック回路も含めて、付
加回路規模が大幅に増大して金物量が多かった。
【0005】本発明の目的は、比較的低い訂正能力を有
する積符号誤り訂正回路とハミング符号誤り訂正回路と
を組み合わることによって、ROM等の誤りパターン検
索動作を用いることなく2ビット誤り以上の訂正能力を
実現でき、また、この組み合わせにより、装置の金物量
を軽減することができる半導体メモリ装置を提供するこ
とにある。
【0006】
【課題を解決するための手段】前記目的を達成する本発
明の半導体メモリ装置は、図1に示されるように、情報
データとパリティーデータを蓄積するメモリアレイを有
し、該メモリアレイは複数のメモリセルとそれに接続す
る複数のワード線からなり、アドレスによって選択され
たワード線によって任意のビット線に出力した情報デー
タとパリティーデータを用いて内部で自己訂正し情報デ
ータを出力する半導体メモリ装置において、前記メモリ
アレイに保持データとして情報データとハミング符号パ
リティーデータと積符号パリティーデータを蓄積し、該
メモリアレイからのパラレルまたはシリアルの出力デー
タを個別に誤り検出するハミング符号復号回路並びに積
符号復号回路と、該ハミング符号復号回路と該積符号復
号回路との検出データを参照することにより誤り訂正を
行い外部出力する誤り訂正回路とを設けて構成されるこ
とを特徴とする。
【0007】
【作用】本発明の半導体メモリ装置では、メモリアレイ
の記録データが、情報データと積符号パリティーデータ
とハミング符号パリティーデータから構成されており、
独立にシンドロームを発生する積符号回路とハミング符
号回路が設けられ、積符号回路とハミング符号回路それ
ぞれのシンドロームを用いて誤りを訂正する回路が設け
られているので、比較的低い訂正能力を有する積符号誤
り訂正回路とハミング符号誤り訂正回路との組み合わせ
によって、ROM等の誤りパターン検索動作を用いるこ
となく2ビット誤り以上の訂正能力が実現でき、また、
この組み合わせにより、装置の金物量が軽減される。
【0008】
【実施例】以下添付図面を用いて本発明の実施例を詳細
に説明する。
【0009】(第1の実施例)図2は、本発明の第1の
実施例を示す図である。ここでは、説明を簡略化するた
めに、図3に示す論理空間で表される情報ビットd0−
d10、ハミング符号ビットc3−c0 、水平パリテ
ィビットp1−p4 、垂直パリティビットp5−p8
 、水平垂直パリティビットp9の、いずれか2ビット
の誤りを訂正する、(15,11) 1ビット誤り訂正
ハミング符号と積符号の1種である5×5水平垂直パリ
ティ符号を用いた2ビット誤り訂正法を示す。
【0010】本訂正方式の原理を図3を用いて説明する
。まず、第1段階として、ハミング符号によるシンドロ
ーム発生について、第2段階として、水平垂直パリティ
符号によるシンドローム発生について、第3段階として
、ハミング符号と水平垂直パリティ符号によるシンドロ
ームを用いた2ビット誤り訂正法について説明する。 (1a)第1段階 図3の4×4ハミング符号行列内のデータは、情報ビッ
トd0−d10、検査ビットc3−c0 、論理値 0
” からなり、以下の式が成り立つように検査ビットを
定める。
【0011】 s1=d10+d8+d6+d4+d2+d0+c2+
c0=0 (mod2)          …(1) s2=d9+d8+d5+d4+d1+d0+c1+c
0=0  (mod2)          …(2) s4=d7+d6+d5+d4+c3+c2+c1+c
0=0  (mod2)          …(3) s8=d3+d2+d1+d0+c3+c2+c1+c
0=0  (mod2)          …(4) ここで、(mod2)は2の剰余を示す。s8,s4,
s2,s1 は情報ビット11、検査ビット4、符号ビ
ット計15のハミング符号におけるシンドロームを表す
。(1)〜(4)式が成り立つとき、2ビット以内の誤
りは存在しないことを示す。任意の符号x(x=d0−
d10,c0−c3)のシンドローム行列をSham(
x)=[s8,s4,s2,s1] とする。表1には
、各符号(d0−d10,c0−c3)が1ビット誤っ
た場合のシンドローム(s8,s4,s2,s1)を示
す。以後、特に符号の種類に意味の無い場合はSham
とだけ記す。
【0012】
【表1】
【0013】このように、1つの誤りビットに対し、1
種類のシンドローム行列が存在する。任意の2ビットa
,b の荒真理の場合には、それぞれの誤りに対するシ
ンドローム行列Sham(a),Sham(b) とす
ると、Sham(x)=Sham(a)*Sham(b
) ■Sham(a,b)(*は排他的論理和) とな
る符号xが必ず存在する。
【0014】(1b)第2段階 5×5水平垂直符号行列内のデータ列[d10,d9,
d8,d7,p1] 、[d3,d6,d5,0,p2
]、[d2,d0,c2,d4,p3]、[c0,c1
,d1,c3,p4]、[p5,p6,p7,p8,p
9]を水平パリティ群とし、H1=d10*d9*d8
*d7*p1                 …(
5)H2=d3*d6*d5* 0*p2      
        …(6)H3=d2*d0*c2*d
4*p3                …(7)H
4=c0*c1*d1*c3*p4         
       …(8)HV=p5*p6*p7*p8
*p9                …(9)と定
める。ここで記号*は排他的論理和である。また、パリ
ティH1、H2、H3、H4、HVが、H1=H2=H
3=H4=HV=0となるようp1,p2,p3,p4
,p9を定める。全データ列中1bitのデータ誤りが
有るデータ群のパリティが“1”となる。また、データ
列[d10,d3,d2,c0,p5] 、[d9,d
6,d0,c1,p6]、[d8,d5,c2,d1,
p7]、[d7,0,d4,c3,p8]、[p1,p
2,p3,p4,p9]を垂直パリティ群とし、V1=
d10*d3*d2*c0*p5          
       …(10)V2=d9*d6*d0*c
1*p6                …(11)
V3=d8*d5*c2*d1*p7        
        …(12)V4=d7* 0*d4*
c3*p8              …(13)V
H=p1*p2*p3*p4*p9         
       …(14)と定める。ここで、パリティ
V1、V2、V3、V4、VHが、V1=V2=V3=
V4=VH=0となるようp5,p6,p7,p8,p
9を定める。全データ列中1bitのデータ誤りが有る
データ群のパリティが“1”となる。また上記の条件よ
りp9は、p9=p1*p2*p3*p4 =d10*d9*d8*d7*d3*d6*d5*0*
d2*d0*c2*d4*c0*c1*d1*c3=d
10*d3*d2*c0*d9*d6*d0*c1*d
8*d5*c2*d1*d7*0*d4*c3=p5*
p6*p7*p8 であることから、(9)、(14)式で矛盾しない。
【0015】上の(5)〜(14)式によれば、全デー
タ中1bitの誤りでは、水平パリティ、垂直パリティ
各々1bitのフラグが立ち、誤り訂正が可能になる。 例えば、H1とV2が“1”であれば、d9のデータが
誤りであると特定できる。5×5水平垂直行列中に2ビ
ットの誤りデータがある場合の出力の仕方を以下にまと
める。
【0016】[1b−1]各誤りビット位置の5×5水
平垂直行列の行、列番号が互いに異なる場合、それぞれ
のビットの示す行、列番号のパリティに“1”が出力す
る。例えば、d10 とc2が誤った場合、H1とH3
、V1とV3に“1”が出力する。ただし、d2とd8
が誤った場合でもH1とH3、V1とV3に“1”が出
力する(区別不能)。
【0017】[1b−2]各誤りビット位置の5×5水
平垂直行列の行番号のみが異なる場合、それぞれのビッ
トの示す行番号のパリティに“1”が出力する。例えば
、d10 とd2が誤った場合、H1とH3に“1”が
出力する。ただし、d9とd0、d8とc2、d7とd
4、p1とp3が誤った場合でもH1とH3に“1”が
出力する (区別不能) 。
【0018】[1b−3]各誤りビット位置の5×5水
平垂直行列の列番号のみが異なる場合、それぞれのビッ
トの示す列番号のパリティに“1”が出力する。例えば
、d10 とd8が誤った場合、V1とV3に“1”が
出力する。ただし、d3とd5、d2とc2、c0とd
1、p5とp7が誤った場合でもV1とV3に“1”が
出力する( 区別不能) 。
【0019】しかし、1ビット誤りの場合とは判別が可
能である。
【0020】(1c)第3段階 (1a)第1段階におけるハミング符号誤り訂正、(1
b)第2段階における水平垂直パリティ誤り訂正、はそ
れぞれ単独動作で1ビットの誤りまでしか訂正できない
。そこで、これを組み合わせて2ビット以内の誤り訂正
をする。
【0021】図3に示した論理図の配列の仕方を以下に
示す。
【0022】水平垂直パリティで、2ビット誤って判別
できない2ビットずつの組を水平垂直パリティの盲点群
と呼ぶことにする。これは、図4における任意のM×N
行列における任意の2行H′,H″と任意の2列V′,
V″によって決まる要素(a,b,c,d)を指してい
る。n×nハミング符号行列、(n+1)×(n+1)
水平垂直符号行列を構成した場合、盲点群となるのは、
n×nハミング符号行列中任意の2行と2列を選び出し
たときの要素4ビットのうち、2ビットずつ2組の組み
合わせ、3通りである。このn×nハミング符号行列に
おける、任意4ビットの要素(a,b,c,d)の2ビ
ットずつ2組の組み合わせは、(a,b) と(c,d
) 、(a,c)と(b,d)、(a,d)と(b,c
)の3通りである(4C2 ×1/2=3)。この3組
のそれぞれ2ビットの誤りは、水平垂直パリティの出力
ビットが等しくなり、水平垂直パリティのみでは誤り訂
正できない。
【0023】ハミング符号で、2ビット誤って出力する
シンドロームが等しくなる組み合わせを、ハミング符号
の盲点群と呼ぶことにする。水平垂直パリティの盲点群
が、ハミング符号の盲点群と一致しないように選ぶと、
2ビットの誤り訂正が可能である。
【0024】すなわち、任意の水平垂直パリティの盲点
群(a,b,c,d)に対し、 Sham(a,b) ≠Sham(c,d)     
        …(15)Sham(a,c) ≠S
ham(b,d)             …(16
)Sham(a,d) ≠Sham(b,c)    
         …(17)とすれば良い。上から、
n×nハミング符号行列の水平垂直パリティの盲点群の
総数NBhvは、NBhv= nC2 × nC2 ×
 4C2 × 1/2 =3× nC2 × nC2 
    …(18)本例の場合、NBhv=108 通
りである。
【0025】また、1ビット誤り訂正(n×n、n×n
−m)ハミング符号(mは検査ビット数)において、2
ビット誤り時に同一のシンドロームを発生する盲点群は
(n×n−1)/2であり、盲点群の総数NBham 
は、NBham ={(n×n−1)/2}×(n×n
)                …(19)となる
。本例の場合、n×n=15となり、(  0”は対象
外となる)、NBham=105 通りである。つぎに
、n×n行列における2ビットずつ配列する組み合わせ
の総数NBは、 NB=[n× nC2 ・(n×n−2)C2 ・(n
×n−4)− 2C2 ] /2      …(20
)であり、本例の場合、NB■5×109 通りである
。いずれの場合も、つぎの式が成立する。
【0026】 NB■NBham ,NBhv           
                         
  …(21) 従って、2つの誤り訂正符号の盲点同
士が重ならないように配列できる論理行列数のほうがは
るかに多くなり、任意の行列を実現できる。
【0027】この論理行列の1例である図3を用いて、
図2の構成における2ビット誤り訂正の方法を示す。
【0028】図2において、Mはメモリアレイ、Gha
m はハミング符号のシンドローム発生回路、Ghvは
水平垂直パリティのシンドローム発生回路、DET は
シンドロームにより誤りを訂正し外部に出力する回路で
ある。以下のような動作を行う。
【0029】メモリアレイMから、情報ビットDATA
(=d10,d9,d8,d7,d6,d5,d4,d
3,d2,d1,d0)、ハミング符号の検査ビットP
ham (c3,c2,c1,c0)、水平垂直パリテ
ィ符号の検査ビットPhv(p9,p8,p7,p6,
p5,p4,p3,p2,p1) が読み出される。D
ATAとPham とPhvはGhvにそれぞれ入力す
る。これにより、Gham は4×4ハミング符号行列
に対し、式(1)〜(4)に基づくシンドロームSha
m=(s8,s4,s2,s1) を発生する。また、
Ghvは5×5水平垂直パリティ行列に対し、式(5)
〜(14)に基づくシンドロームShv=(H1,H2
,H3,H4,HV,V1,V2,V3,V4,VH)
を発生する。この2系統のシンドロームが、DET に
入力し、任意の2ビット以内の情報データに対し、誤り
訂正を行ったうえで、外部出力OUTに出力する。以下
にシンドローム発生と訂正の手法を示す。
【0030】[1c−1]2ビット誤りの場合[1c−
11] 2ビット誤りとも4×4ハミング符号行列中に
存在する場合で、2ビットの行及び列番号がそれぞれ異
なる位置に存在する場合、Shamは式(1)〜(4)
に従い、1ビットの誤りを示すシンドロームを発生する
。 Shvにおいては式(5)〜(14)により、水平パリ
ティはHVを除く2ビット、垂直パリティはVHを除く
2ビットが“1”出力をする。この水平及び垂直パリテ
ィの示す4ビットによって作られる2組はそれぞれ式(
15)〜(17)を満たすので区別でき、DET で訂
正可能である。 例として、H1=H3=V1=V3=“1”(Shv=
(1,0,1,0,0,1,0,1,0,0))であっ
たら、(d10,c2)か(d2,d8)が誤りである
。さらに、s8=s2=“1”( Sham=(1,0
,1,0))であったら、(d2,d8)が、s8=s
4=“1”( Sham=(1,1,0,0))であっ
たら、(d10,c2)が誤りであると特定できる。
【0031】[1c−12] 2ビット誤りとも4×4
ハミング符号行列中に存在する場合で、2ビットの列番
号が等しく、行番号のみが異なる位置に存在する場合、
Shamは式(1)〜(4)に従い、1ビットの誤りを
示すシンドロームを発生する。Shvにおいては式(5
)〜(14)により、水平パリティはHVを除く2ビッ
トが“1”出力をする。この水平パリティの示す8ビッ
トによって作られる4組はそれぞれ式(15)〜(17
)を満たすので区別でき、DET で訂正可能である。 例として、H1=H3=“1”(Shv=(1,0,1
,0,0,0,0,0,0,0))であったら、(d1
0,d2)、(d9,d0) 、(d8,c2)、(d
7,d4)のいずれかが誤りである。さらに、s8=“
1” (Sham=(1,0,0,0))であったら(
d10,d2)が、s8=s1=“1”(Sham =
(1,0,0,1))であったら(d9,d0)が、s
8=s4=s2=“1” (Sham=(1,1,1,
0))であったら(d8,c2)が、s2=“1” (
Sham=(0,0,1,1))であったら(d7,d
4)が誤りであると特定できる。
【0032】[1c−13] 2ビット誤りとも4×4
ハミング符号行列中に存在する場合で、2ビットの行番
号が等しく、列番号のみが異なる位置に存在する場合、
Shamは式(1)〜(4)に従い、1ビットの誤りを
示すシンドロームを発生する。Shvにおいては式(5
)〜(14)により、垂直パリティはVHを除く2ビッ
トが“1”出力をする。この垂直パリティの示す8ビッ
トによって作られる4組はそれぞれ式(15)〜(17
)を満たすので区別でき、DET で訂正可能である。 例として、V1=V3=“1”(Shv=(0,0,0
,0,0,1,0,1,0,0,0))であったら、(
d10,d8)、(d3,d5)、(d2,c2)、(
c0,d1)のいずれかが誤りである。さらに、s2=
“1” (Sham=(0,0,1,0))であったら
(d10,d8)が、s8=s4=s2=“1” (S
ham=(1,1,1,0))であったら(d3,d5
)が、s4=“1” (Sham=(0,1,0,0)
)であったら(d2,c2)が、s4=s1=“1” 
(Sham=(0,1,0,1))であったら(c0,
d1) が誤りであると特定できる。
【0033】[1c−14] 1ビット誤りが4×4ハ
ミング符号行列中に存在し、残り1ビット誤りは4×4
ハミング符号行列外、5×5水平垂直パリティ符号行列
内にある場合、Shamは式(1)〜(4)に従い、1
ビット誤り位置に対応したビットのみ“1”出力をする
。Shvにおいては式(5)〜(14)により、水平垂
直パリティはVHまたはHVの出力が“1”となるので
、 [1c−11] と明確に区別できる。例として、
H1=H3=V1=VH=“1”(Shv=(1,0,
1,0,0,1,0,0,0,1))であったら、(d
10,p3)、(d2,p1)のいずれかが誤りである
。さらに、s1=“1”(Sham =(0,0,0,
1))であったら(d10,p3)が、s8=s1=“
1” (Sham=(1,0,0,1))であったら(
d2,p1) が誤りであると特定できる。この場合、
4×4ハミング符号行列に対し、Shamのみを参照し
、1ビット誤り訂正を行う。
【0034】[1c−15] 2ビット誤りとも4×4
ハミング符号行列外、5×5水平垂直パリティ符号行列
内にある場合、Shamは式(1)から(4)に従い、
全てのビットが 0” 出力をする。この場合、誤り訂
正を行わない。
【0035】[1c−2]1ビット誤りの場合[1c−
21] 1ビット誤りが4×4ハミング符号行列中に存
在する場合、Shamは式(1)から(4)に従い、1
ビットのみ“1”出力をする。Shvにおいては式(5
)から(14)により、水平パリティはHVを除く1ビ
ットが“1”出力をする。この水平及び、垂直パリティ
の示す1ビット誤り位置と、ハミング符号の誤りビット
位置が一致し、 [1c−1]とは区別できるので、D
ET で訂正可能である。例として、s2=s1=“1
”( Sham=(0,0,1,1))であったら、d
8,(d10,d9),(d4,d7),(d5,d6
),(d3,d0),(d2,d1),(c3,c0)
,(c1,c2) のいずれかが誤りである。しかし、
H1=V3=“1”(Shv=(1,0,0,0,0,
0,0,1,0,0))であったら、ただちにd8が誤
りであると特定できる。
【0036】[c −21] 1ビット誤りが4×4ハ
ミング符号行列外、5×5水平垂直パリティ符号行列内
にある場合、Shamは式(1)から(4)に従い、全
てのビットが 0” 出力をする。この場合、誤り訂正
を行わない。
【0037】[c−3]誤りが無い場合、ShvもSh
amも全てのビットが 0” となり、誤り訂正を行わ
ない。
【0038】従って、図3に示す全論理図中の2ビット
以内の全ての誤りに対して、異なるシンドロームSha
m、Shvの組み合わせを発生することができる。この
ため、情報でーたに対し、2ビット以内の誤り訂正を行
うことが可能になる。
【0039】本実施例は情報データ数を11、ハミング
符号、水平垂直パリティ符号による誤り訂正可能ビット
数を1としたが、情報データ数を増加させても、各ハミ
ング符号の訂正ビットを2以上としても実現可能である
。 また、メモリアレイからの読み出しデータをパラレル出
力としたが、シリアル出力においてもシフトレジスタの
使用などで、容易に実現できる。
【0040】(第2の実施例)図5は、本発明の第2の
実施例を示す図である。ここでは、図6に示す論理図に
従い4×4水平垂直パリティ符号行列とそれ全体を符号
化する、5ビットのハミング検査ビット列によって、第
1の実施例と同様に2ビット以内の誤りを訂正する手法
を示す。
【0041】説明を簡略化するために、図6に示す論理
空間で表される情報ビットd0−d8 、水平パリティ
ビットp1−p3 、垂直パリティビットp4−p6 
、水平垂直パリティビットp7の、ハミング符号ビット
c4−c0 、いずれか2ビットの誤りを訂正する、4
×4水平垂直パリティ符号と(21,16) 1ビット
誤り訂正ハミング符号とを用いた2重誤り訂正法を示す
【0042】本訂正方式の原理を図6を用いて説明する
。まず、第1段階として、水平垂直パリティ符号による
シンドローム発生について、第2段階として、ハミング
符号によるシンドローム発生について、第3段階として
、ハミング符号と水平垂直パリティ符号によるシンドロ
ームを用いた2ビット誤り訂正法について説明する。 (2a)第1段階 4×4水平垂直パリティ符号行列内のデータ列[d8,
d7,d2,p1] 、[d3,d2,d4,p2]、
[d5,d6,d0,p3] 、[p4,p5,p6,
p7] を水平パリティ群とし、 H1= d8*d7*d2*p1          
              …(22)H2= d3
*d2*d4*p2                
        …(23)H3= d5*d6*d0
*p3                      
  …(24)HV= p4*p5*p6*p7   
                     …(25
)と定める。ここで  、記号*は排他的論理和である
。また、パリティH1、H2、H3、HVが、H1=H
2=H3=HV=0となるようp1,p2,p3,p7
 を定める。全データ列中1bit のデータ誤りが有
るデータ群のパリティが“1”となる。 また、データ列[d8,d3,d5,p4] 、[d7
,d1,d6,p5] 、[d2,d4,d0,p6]
 、[p1,p2,p3,p7] を垂直パリティ群と
し、V1= d8*d3*d5*p4        
                …(26)V2= 
d7*d1*d6*p5              
          …(27)V3= d2*d4*
d0*p6                    
    …(28)VH= p1*p2*p3*p7 
                       …(
29)と定める。こでパリティV1、V2、V3、VH
がV1=V2=V3=VH=0となるようp4,p5,
p6,p7 を定める。全データ列中1bit のデー
タ誤りが有るデータ群のパリティが“1”となる。また
上記の条件よりp7は、 p7=p1*p2*p3 =d8*d7*d2*d3*d1*d4*d5*d6*
d0=d8*d3*d5*d7*d2*d6*d2*d
4*d0=p4*p5*p6 であることから、(25),(29)式で矛盾しない。
【0043】上の(22)〜(29)式によれば、全デ
ータ中1bit の誤りでは、水平パリティ、垂直パリ
ティ各々1bit のフラグが立ち、誤り訂正が可能に
なる。例えば、H1とV2が“1”であれば、d7のデ
ータが誤りであると特定できる。4×4水平垂直行列中
に2ビットの誤りデータがある場合の出力の仕方を以下
にまとめる。
【0044】[2a−1]各誤りビット位置の4×4水
平垂直行列の行、列番号が互いに異なる場合、それぞれ
のビットの示す行、列番号のパリティに“1”が出力す
る。 例えば、d8とd0が誤った場合、H1とH3、V1と
V3に“1”が出力する。ただし、d2とd5が誤った
場合でもH1とH3、V1とV3に“1”が出力する(
区別不能) 。
【0045】[2a−2]各誤りビット位置の4×4水
平垂直パリティ行列の行番号のみが異なる場合、それぞ
れのビットの示す行番号のパリティに“1”が出力する
。例えば、d5とd8が誤った場合、H1とH3に“1
”が出力する。ただし、d6とd7、d0とd2、p1
とp3が誤った場合でもH1とH3に“1”が出力する
 (区別不能) 。
【0046】[2a−3]各誤りビット位置の4×4水
平垂直パリティ行列の列番号のみが異なる場合、それぞ
れのビットの示す列番号のパリティに“1”が出力する
。例えば、d2とd8が誤った場合、V1とV3に“1
”が出力する。ただし、d3とd4、d0とd5、p4
とp6が誤った場合でもV1とV3に“1”が出力する
 (区別不能) 。
【0047】しかし、1ビット誤りの場合とは判別が可
能である。
【0048】(2b)第2段階図5の4×4水平垂直パ
リティ符号行列内のデータは、情報ビットd0−d8 
、水平パリティビットp1−p3 、垂直パリティビッ
トp4−p6 、水平垂直パリティビットp7からなり
、これ全体を情報ビットと見立てた場合、以下の式が成
り立つようにハミング検査ビットc4−c0 を定める
【0049】 s1=d8+d6+d4+d2+d0+p6+p5+p
4+c4+c2+c0=0         (mod
2)        …(30)s2=d7+d6+d
3+d2+p6+p5+p2+p1+c4+c1+c0
=0         (mod2)        
…(31)s4=d5+d4+d3+d2+p6+p4
+p3+p1+c3+c2+c1+c0=0     
 (mod2)        …(32)s8=d1
+d0+p6+p5+p4+p3+p2+p1+c4+
c3+c2+c1+c0=0   (mod2)   
     …(33) s16=p7+c4+c3+c
2+c1+c0=0                
       (mod2)        …(34
)ここで、(mod2)は2の剰余を示す。s16,s
8,s4,s2,s1 は情報ビット16、パリティビ
ット5のハミング符号におけるシンドロームを表す。(
30)〜(34)式が成り立つとき、2ビット以内の誤
りは存在しないことを示す。任意の符号x(x=d8−
d0,p7−p1,c4−c0) のシンドローム行列
をSham2(x)=[s16,s8,s4,s2,s
1]とする。表2には、各符号(d8−d0,p7−p
1,c4−c0) が1ビット誤った場合のシンドロー
ム(s16,s8,s4,s2,s1) を示す。以後
、特に符号の種類に意味の無い場合はSham2 とだ
け記す。
【0050】
【表2】
【0051】このように、1つの誤りビットに対し、1
種類のシンドローム行列が存在する。任意の2ビットa
,bの誤りの場合には、それぞれの誤りに対するシンド
ローム行列Sham2(a),Sham2(b) とす
ると、Sham2(x)=Sham2(a)*Sham
2(b) (*は排他的論理和)となる符号xが必ず存
在する。
【0052】(2c)第3段階 (2a)第1段階における水平垂直パリティ誤り訂正、
(2b)第2段階におけるハミング符号誤り訂正、はそ
れぞれ単独動作で1ビットの誤りまでしか訂正できない
。そこで、これを組み合わせて2ビット以内の誤り訂正
をする。
【0053】図6に示した論理図の配列の仕方を以下に
示す。
【0054】水平垂直パリティで、2ビット誤って判別
できない2ビットずつの組を水平垂直パリティの盲点群
と呼ぶことにする。これは、図4における任意のM×N
行列における任意の2行H′,H″と任意の2列V′,
V″によって決まる要素(a,b,c,d) を指して
いる。n×n水平垂直パリティ符号行列を構成した場合
、盲点群となるのは、任意の2行と2列を選びだしたと
きの要素4ビットのうち、2ビットずつ2組の組み合わ
せ、3通りである。この4ビットの要素(a,b,c,
d) の2ビットずつ2組の組み合わせは、(a,b)
 と(c,d) 、(a,c) と(b,d) 、(a
,d) と(b,c) の3通り( 4C2 ×1/2
)である。この3組のそれぞれ2ビットの誤りは、水平
垂直パリティの出力ビットが等しくなり、水平垂直パリ
ティのみでは誤り訂正できない。
【0055】ハミング符号で、2ビット誤って出力する
1ビットの誤り位置が等しい組み合わせをハミング符号
の盲点群と呼ぶことにする。水平垂直パリティの盲点群
がハミング符号の盲点群と一致しないように選ぶと、2
ビットの誤り訂正が可能である。
【0056】すなわち、 Sham2(a,b)≠Sham2(c,d)    
        …(35)Sham2(a,c)≠S
ham2(b,d)            …(36
)Sham2(a,d)≠Sham2(b,c)   
         …(37)とすれば良い。上から、
n×n水平垂直パリティ符号行列の盲点群の総数NBh
v2は(18)式に示すNBhvと等しくなる。従って
、本例の場合も108 通りである。また、1ビット誤
り訂正(n×n+m,n×n)ハミング符号(mは検査
ビット数)においても、2ビット誤り時における、任意
の1ビットに対する盲点群は(19)式に示すNBha
m と同等の計算から、 NBham 2={(n×n+m−1)/2}×(n×
n+m)    …(39)となる。本例の場合、n×
n+m=21となり、NBham2=210 通りであ
る。
【0057】つぎに、n×n水平垂直パリティ符号行列
の配列の総数NB2 は、(20)式のNBに等しくな
る。 本例の場合、NB2 ■5×109 通りである。いず
れの場合も、つぎの式が成立する。
【0058】 NB2 ■NBham2,NBhv2        
                      …(4
0)したがって、2つの誤り訂正符号の盲点同士が重な
らないように配列できる論理行列数のほうがはるかに多
くなり、任意の行列を実現できる。
【0059】この論理行列の1例である図5を用いて、
図4の構成における2ビット誤り訂正の方法を示す。
【0060】図5において、M2 はメモリアレイ、G
ham2はハミング符号のシンドローム発生回路、Gh
v2 は水平垂直パリティのシンドローム発生回路、D
ET2はシンドロームにより誤りを訂正し外部に出力す
る回路である。 以下のような動作を行う。
【0061】メモリアレイM2 から、情報ビットDA
TA2 (=d8,d7,d6,d5,d4,d3,d
2,d1,d0) 、水平垂直パリティ符号の検査ビッ
トPhv2 (p7,p6,p5,p4,p3,p2,
p1)、ハミング符号検査ビットPham2  (c4
,c3,c2,c1,c0)が読み出される。DATA
2 とPham2とPhv2 はGham2にそれぞれ
入力する。これにより、Ghv2 は4×4水平垂直パ
リティ符号行列に対し、式(22)〜(29) に基づ
くシンドロームShv2(H1,H2,H3,HV,V
1,V2,V3,VH)を発生する。 また、Gham2は4×4水平垂直パリティ符号行列と
5ビットのハミング検査ビット列に対し、式(30)〜
(34)に基づくシンドロームShv2 (s16,s
8,s4,s2,s1)を発生する。この2系統のシン
ドロームがDET2に入力し、任意の2ビット以内の情
報データに対し、誤り訂正を行った上で、外部出力OU
T2 に出力する。以下にシンドローム発生と訂正の手
法を示す。
【0062】[2c−1]2ビット誤りの場合[2c−
11] 2ビット誤りとも4×4ハミング符号行列中に
存在する場合で、2ビットの行及び列番号がそれぞれ異
なる位置に存在する場合、Sham2は式(30)〜(
34)に従い、1ビットの誤りを示すシンドロームを発
生する。Shv2 においては式(22)〜(29)に
より、水平パリティは2ビット、垂直パリティは2ビッ
トが“1”出力をする。この水平及び垂直パリティの示
す4ビットによって作られる2組はそれぞれ式(35)
〜(37)を満たすので区別でき、DET2で訂正可能
である。例として、H1=H3=V1=V3=“1”(
Shv2 =(1,0,1,0,1,0,1,0))で
あったら、(d0,d8) か、(d2,d5)が誤り
である。さらに、s8=“1”(Sham2=(0,1
,0,0,0))であったら、(d0,d8)が、s2
=s1=“1”(Sham2=(0,0,0,1,1)
)であったら、(d2,d5) が誤りであると特定で
きる。
【0063】[2c−12] 2ビット誤りとも4×4
ハミング符号行列中に存在する場合で、2ビットの列番
号が等しく、行番号のみが異なる位置に存在する場合、
Sham2 は式(30)〜(34)に従い、1ビット
の誤りを示すシンドロームを発生する。Shv2 にお
いては式(22)〜(29)により、水平パリティは2
ビットが“1”出力をする。この水平パリティの示す8
ビットによって作られる2ビットずつ4組はそれぞれ式
(35)〜(37)を満たすので区別でき、DET2で
訂正可能である。例として、H1=H3=“1”(Sh
v2 =(1,0,1,0,0,0,0,0))であっ
たら、(d5,d8) 、(d6,d7)、(d0,d
2)、(p1,p3)のいずれかが誤りである。さらに
、s4=s1=“1” (Sham2 =(0,0,1
,0,1))であったら(d5,d8) が、s1=“
1”(Sham2=(0,0,0,0,1))であった
ら(d6,d7)が、s8=s4=s2=“1”(Sh
am2=(0,1,1,1,0))であったら(d0,
d2)が、s2=“1”(Sham2=(0,0,0,
1,0))であったら(p1,p3)が誤りであると特
定できる。
【0064】[2c−13] 2ビット誤りとも4×4
水平垂直パリティ符号行列中に存在する場合で、2ビッ
トの行番号が等しく、列番号のみが異なる位置に存在す
る場合、Sham2 は式(30)〜(34)に従い、
1ビットの誤りを示すシンドロームを発生する。Shv
2 においては式(22)〜(29)により、垂直パリ
ティは2ビットが“1”出力をする。この垂直パリティ
の示す8ビットによって作られる2ビットずつ4組はそ
れぞれ式(35)〜(37)を満たすので区別でき、D
ET2で訂正可能である。 例として、V1=V3=“1”(Shv =(0,0,
0,0,1,0,1,0))であったら、(d2,d8
)、(d3,d4)、(d0,d5)、(p4,p6)
のいずれかが誤りである。さらに、s4=s2=“1”
 (Sham2 =(0,0,1,1,0))であった
ら(d2,d8) が、s2=s1=“1”(Sham
2=(0,0,0,1,1))であったら(d3,d4
)が、s8=s4=s1=“1”(Sham2=(0,
1,1,0,1))であったら(d0,d5)が、s2
=“1”(Sham2=(0,0,0,1,0))であ
ったら(p4,p6)が誤りであると特定できる。
【0065】[2c−14] 1ビット誤りが4×4水
平垂直パリティ符号行列中に存在し、残り1ビット誤り
は5ビットのハミング検査ビット行列中にある場合、S
hv2 は式(22)〜(29)に従い、1ビット誤り
位置に対応した水平パリティビットと垂直パリティビッ
トが“1”出力をする。4×4水平垂直パリティ符号中
に存在する誤りが1ビットなら、2ビット誤りと区別で
きるので、Sham2 を参照する必要はない。この場
合Shv2 のみを参照し、訂正を行う。
【0066】[2c−15] 2ビット誤りとも5ビッ
トのハミング検査ビット列内にある場合、Shv2 は
式(22)〜(29)に従い、全てのビットが 0” 
出力をする。この場合、誤り訂正を行わない。
【0067】[2c−2] 1ビット誤りの場合[2c
−21] 1ビット誤りが4×4水平垂直パリティ符号
行列中に存在する場合、Shv2 は式(22)〜(2
9)に従い、1ビット誤り位置に対応した水平パリティ
ビットと垂直パリティビットが“1”出力をする。Sh
am2 においては式(30)〜(34)により、水平
、及び垂直パリティの示す1ビット誤り位置と、ハミン
グ符号の誤りビット位置が一致し、DET2で訂正可能
である。
【0068】[c−21〕1ビット誤りが5ビットのハ
ミング検査ビット列内にある場合、Shv2 式(22
)〜(29)に従い、全てのビットが 0” 出力をす
る。この場合、誤り訂正を行わない。
【0069】[2c−3]誤りが無い場合、Shv2 
もSham2 も全てのビットが 0” となり、誤り
訂正を行わない。
【0070】従って、図6に示す全論理図中の2ビット
以内の全ての誤りに対して、異なるシンドロームSha
m2 、Shv2 の組み合わせを発生することができ
る。このため、情報データに対し、2ビット以内の誤り
訂正を行うことが可能になる。
【0071】本実施例は情報データ数を9、ハミング符
号、水平垂直パリティ符号による誤り訂正可能ビット数
を1としたが、情報データ数を増加させても、各ハミン
グ符号の訂正ビットを2以上としても実現可能である。 また、メモリアレイからの読み出しデータをパラレル出
力としたが、シリアル出力においてもシフトレジスタの
使用などで、容易に実現できる。
【0072】
【発明の効果】以上説明したように、本発明によれば、
誤り訂正回路の搭載に伴う回路規模の大幅な低減が可能
となり、本発明は、画像用フィールドメモリ、大規模R
OM、大規模RAM等に使用するとその効果が著しい。
【図面の簡単な説明】
【図1】本発明の原理構成を示す図である。
【図2】本発明の第1の実施例を示す図である。
【図3】本発明の第1の実施例に用いる論理空間を示す
図である。
【図4】本発明の第1、第2の実施例の説明に用いる行
列を示す図である。
【図5】本発明の第2の実施例を示す図である。
【図6】本発明の第2の実施例に用いる論理空間を示す
図である。
【符号の説明】
M  メモリアレイ Gham   ハミング符号のシンドローム発生回路G
hv  水平垂直パリティのシンドローム発生回路DE
T   シンドロームにより誤りを訂正し外部に出力す
る回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  情報データとパリティーデータを蓄積
    するメモリアレイを有し、該メモリアレイは複数のメモ
    リセルとそれに接続する複数のワード線からなり、アド
    レスによって選択されたワード線によって任意のビット
    線に出力した情報データとパリティーデータを用いて内
    部で自己訂正し情報データを出力する半導体メモリ装置
    において、前記メモリアレイに保持データとして情報デ
    ータとハミング符号パリティーデータと積符号パリティ
    ーデータを蓄積し、該メモリアレイからのパラレルまた
    はシリアルの出力データを個別に誤り検出するハミング
    符号復号回路並びに積符号復号回路と、該ハミング符号
    復号回路と該積符号復号回路との検出データを参照する
    ことにより誤り訂正を行い外部出力する誤り訂正回路と
    を設けたことを特徴とする半導体メモリ装置。
  2. 【請求項2】  該メモリアレイの保持するデータが、
    情報データと該情報データに付与するハミング符号パリ
    ティーデータとからなる一次データと、該一次データに
    付与する積符号パリティーデータとからなることを特徴
    とする請求項1に記載の半導体メモリ装置。
  3. 【請求項3】  該メモリアレイの保持するデータが、
    情報データと該情報データに付与する積符号パリティー
    データとからなる一次データと、該一次データに付与す
    るハミング符号パリティーデータとからなることを特徴
    とする請求項1に記載の半導体メモリ装置。
JP3120418A 1991-05-24 1991-05-24 半導体メモリ装置 Pending JPH04347751A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3120418A JPH04347751A (ja) 1991-05-24 1991-05-24 半導体メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3120418A JPH04347751A (ja) 1991-05-24 1991-05-24 半導体メモリ装置

Publications (1)

Publication Number Publication Date
JPH04347751A true JPH04347751A (ja) 1992-12-02

Family

ID=14785737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3120418A Pending JPH04347751A (ja) 1991-05-24 1991-05-24 半導体メモリ装置

Country Status (1)

Country Link
JP (1) JPH04347751A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084116A (ja) * 2006-09-28 2008-04-10 Aisin Seiki Co Ltd データ記憶装置及びデータ記憶装置からのデータ読み出し方法
US11162995B2 (en) 2018-03-15 2021-11-02 Toshiba Memory Corporation Failure analyzing apparatus and failure analyzing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084116A (ja) * 2006-09-28 2008-04-10 Aisin Seiki Co Ltd データ記憶装置及びデータ記憶装置からのデータ読み出し方法
US11162995B2 (en) 2018-03-15 2021-11-02 Toshiba Memory Corporation Failure analyzing apparatus and failure analyzing method

Similar Documents

Publication Publication Date Title
US4402045A (en) Multi-processor computer system
US7278085B1 (en) Simple error-correction codes for data buffers
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US7107507B2 (en) Magnetoresistive solid-state storage device and data storage methods for use therewith
JPS5960654A (ja) エラ−訂正システム
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
US5751744A (en) Error detection and correction circuit
US5251219A (en) Error detection and correction circuit
JP2005202957A (ja) エラー訂正のためのデータの分割
JPS6122826B2 (ja)
JPS6349245B2 (ja)
JP2007193910A (ja) 半導体記憶装置
US5691996A (en) Memory implemented error detection and correction code with address parity bits
US5761221A (en) Memory implemented error detection and correction code using memory modules
US8365036B2 (en) Soft error correction in a memory array and method thereof
JPH01158698A (ja) 半導体メモリ
JPH0760394B2 (ja) 誤り訂正・検出方式
Wolf An introduction to tensor product codes and applications to digital storage systems
JPH04347751A (ja) 半導体メモリ装置
US11650877B2 (en) Detecting address errors
JP3654655B2 (ja) データ処理システム
US6405343B1 (en) ECC Q-parity checkbyte indexing
JP3813337B2 (ja) 消失誤り訂正方法とその装置
RU169207U1 (ru) Устройство хранения и передачи данных с обнаружением ошибок
SU1226536A1 (ru) Запоминающее устройство с исправлением ошибок