JPH0260013B2 - - Google Patents

Info

Publication number
JPH0260013B2
JPH0260013B2 JP60231467A JP23146785A JPH0260013B2 JP H0260013 B2 JPH0260013 B2 JP H0260013B2 JP 60231467 A JP60231467 A JP 60231467A JP 23146785 A JP23146785 A JP 23146785A JP H0260013 B2 JPH0260013 B2 JP H0260013B2
Authority
JP
Japan
Prior art keywords
error
bit
bits
word
syndrome
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 - Lifetime
Application number
JP60231467A
Other languages
English (en)
Other versions
JPS61157959A (ja
Inventor
Gureesu Rene
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61157959A publication Critical patent/JPS61157959A/ja
Publication of JPH0260013B2 publication Critical patent/JPH0260013B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1024Identification of the type of error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は、メモリにおけるエラー訂正の技術に
関する。 B 従来技術 ハミング・コードを使つて1ビツトエラーを訂
正し2ビツトエラーを検出することは、周知の方
法である。これは、IBMジヤーナル・リサー
チ・アンド・デベロツプメント(“IBM Journal
research and Development”)1970年7月号の
p.395〜401に発表されたエム・ワイ・シヤオ
(M.Y.Hsiao)の論文を参照することができる。 これらの方法に対する改良法が、アイ・イー・
イー・イー・トランザクシヨン・オン・インフオ
メーシヨン・セオリ(“IEEE Transactions on
information theory”)第IT−24巻、第6号、
1978年11月刊、p.712〜718に発表された論文に記
載されている。この改良法は、2以上のエラーが
検出されたとき、記憶されたビツト構成を反転す
ることによつてエラーをマスクできることを示唆
している。そこに提案された方法を具体化するに
は、各ビツト構成に追加ビツトを関連させて、そ
のビツト構成が真の値で記憶されているか、それ
とも反転された値で記憶されているかを示すよう
にすることが必要である。 C 発明が解決しようとする問題点 したがつて読み取りオペレーシヨンの度にこの
追加ビツトを検査しなければならず、そのためメ
モリの性能が低下する。 したがつて、本発明の目的は、メモリの性能を
損わずに少くとも2個のエラーを訂正するための
技術を提供することである。 D 問題点を解決するための手段 この目的を達成するため、N個(ただしNは偶
数)のECCビツトを含むワードからNビツトの
エラーシンドロームが生成され、このエラーシン
ドロームは1ビツトエラーを示すのに第1の値に
あるn1個のビツトを含むかまたは2ビツトエラ
ーを示すのにゼロまたはN以外の偶数個のビツト
を含み、前記n1が奇数であるようなメモリにお
ける本発明のエラー訂正方法は、(a)アドレスされ
たワードを読み取るステツプと、(b)エラーシンド
ロームを生成するステツプと、(c)読み取られたワ
ードがエラーを含まないかまたは1ビツトエラー
を含むということをエラーシンドロームが示す場
合は読み取りオペレーシヨンを終了して、(イ)エラ
ーシンドロームが第1の値にあるビツトを含まな
いときは何ら処理をせず、(ロ)エラーシンドローム
が第1の値にあるビツトをN個含むときは読み取
られたワードを反転し、(ハ)エラーシンドロームが
第1の値にあるビツトをn1個含むときは読み取
られたワードを訂正し、(ニ)エラーシンドロームが
第1の値にあるビツトを(N−n1)個含むとき
は読み取られたワードを訂正しおよび反転する、
ステツプと、(d)エラーシンドロームが2ビツトエ
ラーを示す場合は読み取られたワードを反転して
再書き込みするステツプと、(e)反転されたワード
を読み取つてそのエラーシンドロームを生成する
ステツプと、(f)ステツプ(e)で生成されたエラーシ
ンドロームが2ビツトエラーを示す場合は訂正不
能エラー状況を報告するステツプと、(g)ステツプ
(e)で生成されたエラーシンドロームがエラーなし
または1ビツトエラーを示す場合は読み取りオペ
レーシヨンを終了して、(イ)エラーシンドロームが
第1の値にあるビツトを含まないときは何ら処理
をせず、(ロ)エラーシンドロームが第1の値にある
ビツトをN個含むときは読み取られたワードを反
転し、(ハ)エラーシンドロームが前記第1の値にあ
るビツトをn1個含むときは読み取られたワード
を訂正し、(ニ)エラーシンドロームが前記第1の値
にあるビツトを(N−n1)個含むときは読み取
られたワードを訂正しおよび反転する、ステツプ
と、を遂行することによつてメモリからワードを
読み取るようにしたことを特徴とする。 以下に本発明の実施例を概説する。 実施例では、さらに下記の(a)ないし(d)のステツ
プを遂行することにより書き込みオペレーシヨン
を遂行する: (a) アドレスされたロケーシヨンにワードを書き
込むステツプ。 (b) そのワードを読み取ることから成る読み取り
検査を遂行するステツプ。 (c) そのエラーシンドロームを生成するステツ
プ。 (d) エラーシンドロームが2ビツト・エラーを示
すときはそのワードを反転された極性で再書き
込みし、エラーシンドロームがエラーなしまた
は1ビツト・エラーを示すときは書き込みオペ
レーシヨンを終了するステツプ。 本発明を実現するためのエラー訂正機構は実施
例によれば、読み取りアドレス信号、書き込みア
ドレス信号、および書き込むべきワードを供給す
るメモリコントローラ3と、読み取られたワード
中の1フイールドとそれに関通するECCビツト
(AないしH)を各々が受け取つてエラーシンド
ロームおよびその補数化出力を生成するN個のパ
リテイチエツカ(PC1ないしPC8)と、を含み、
下記の(a)ないし(c)の手段を有することを特徴とす
る: (a) エラーシンドロームおよびその補数化出力を
受け取つて、 (i) エラーシンドロームが第1の値にあるビツ
トをn1個または(N−n1)個含むときにそ
のうちの1つが活動化される(N+D)個の
訂正制御信号16と、 (ii) エラーシンドロームが第1の値にあるビツ
トを(N−n1)個もしくはN個含むとき、
または読み取られたワードを反転して再書き
込みさせるためにメモリコントローラ3から
反転信号が供給されたときに活動化される反
転制御信号20と、 (iii) エラーシンドロームが第1の値にあるビツ
トを偶数個(ただしゼロおよびNを除く)含
むときに活動化される2ビツト・エラー指示
信号と、 を出力する論理手段14。 (b) (N+D)個の第1の反転手段18:これら
の各々は、読み取られたワードのうちの1つの
ビツトと訂正制御信号の1つとを受け取つて、
この訂正制御信号が活動状態のとき受信ビツト
を反転する。 (c) (N+D)個の第2の反転手段22:これら
の各々は、第1の反転手段の1つの出力信号と
反転制御信号とを受け取つて、反転制御信号が
活動状態のとき上記第1の反転手段の出力信号
を反転する(したがつて、第2の反転手段の出
力はプロセツサで使用できる訂正された読み取
りワードを表わし、訂正不能な2ビツト・エラ
ーは報告されない)。 本発明の作用は、ワードが反転されて記憶され
ているかまたは反転されないで記憶されているか
を示す情報が生成されるエラーシンドローム自身
に包含されていることにより、従来必要であつた
余分なビツト(反転に関する情報を示すビツト)
が不要となりしたがつてこのビツトの検査も不要
となることである。実施例でいうと、8ビツトの
エラーシンドロームのうち“1”の個数が3なら
そのワードは反転しないで記憶されていることを
示し(これと同時に1ビツト・エラーがあるとい
うことも示す)、“1”の個数が5なら反転されて
記憶されていることを示す(これと同時に1ビツ
ト・エラーがあるということも示す)。このよう
に本発明によれば、反転に関する情報を示すビツ
トを独立に検査する必要がないので従来に比べて
効率よくエラーが訂正できるようになる。 E 実施例 本発明にもとづく方法および装置を用いると、
通常すべての単一ビツト・エラーを訂正し2ビツ
ト・エラーのすべての組合せを検出することので
きる単純距離4のハミング・コードを使つて、メ
モリ・アレイ内の訂正能力を拡張することができ
る。これは、メモリ・アレイ内の障害数を最小限
に抑えるために適当な極性でビツトを永続的に記
憶することからなるものである。
【表】
【表】 メモリに記憶されているMビツト・ワードがD
データ・ビツトすなわち4個の8ビツト・バイト
を含むものと仮定して、本発明の良好な実施例で
使用されるHマトリツクスを上記第1表に示す。
これらのデータ・ビツトは12ビツトからなる8つ
のフイールドに分配され、各フイールドのパリテ
イが生成されて、8個のECCビツトA、B、C、
D、E、F、G、Hが供給される。例えば、
ECCビツトAは第1フイールドのパリテイを表
し、ビツトBは第2フイールドのパリテイを表す
(以下同様)。したがつてMは40、Dは32となる。 本発明の良好な実施例では、奇数パリテイが使
用されるものと仮定する。すなわち、1度コード
化されると、連関するECCビツトを含む各フイ
ールドは、奇数個の1(すなわち活動化されたレ
ベル)を含むようになる。 このコードの有利な特徴は、それが透過性でな
く、したがつて1度コード化され反転されると、
40ビツト・ワードは反転されたエラー・シンドロ
ームをもたらす。このエラー・シンドロームは、
ワードの読み取り後にECCビツトをそれと対応
するデータ・フイールドと比較して検査すること
によつて生成される。A1,B2,C3,D4,E5,
F6,G7,H8の8ビツト構成から成るものであ
る。すべてのECCビツトが正しいときは、すべ
てが“0”のシンドロームが生成される。3個の
ビツトが“1”であるエラー・シンドロームは、
そのワードが1ビツト・エラーを含むことを示
す。例えばビツトA1,B2,E5が“1”であるエ
ラー・シンドロームは、バイト2のビツト4が誤
つていることを示す。偶数である2,4または6
個のビツトが“1”であるエラー・シンドローム
は、そのワードが2ビツト・エラーを含むことを
示す。下記の第2表を見るとわかるように、40ビ
ツト・ワード内の可能な780通りの2ビツト・エ
ラーの組合せによつて与えられるすべてのシンド
ロームは“1”であるビツトを偶数個含むが、8
個のビツトが誤まつているケースにぶつかること
はなく、2,4,または6ビツトの組合せしか生
じない。 第2表は、40ビツト・ワード内の780通りの2
ビツト・エラーの組合せによつて生成されるシン
ドロームおよび各シンドロームの発生数を表した
ものである。
【表】
【表】 先に説明したように8個のビツトが“1”であ
るケースは使用されない。 ECCビツトは関連された次のような12ビツ
ト・フイールド、 000101010001 1←パリテイ・ビツトが反転さ
れると、次の構成を与える。 111010101110 0←不良パリテイ したがつて、反転後は1ビツト・エラーは、3
個ではなくて5個のビツトが“1”であるエラ
ー・シンドロームによつて示される。 メモリからあるワードが読み取られたときに生
成されるエラー・シンドロームは、そのワードが
真の極性で記憶されているかそれとも反転された
極性で記憶されているかを示し、誤まつたビツト
を検出し訂正するのに次のようにして使用され
る。 すべてが“0”のシンドロームは、そのワード
が正しく、真の極性で記憶されていることを示
す。 すべてが“1”のシンドロームは、そのワード
が正しく、反転された極性で記憶されていること
を示す。 3個のビツトが“1”であるシンドロームは、
そのワードが真の極性で記憶され、1つの1ビツ
ト・エラーを含み、その位置が検出され、したが
つてそのビツトが反転によつて訂正できることを
示す。 5個のビツトが“1”であるシンドロームは、
そのワードが反転された極性で記憶され、1つの
ビツト・エラーを含み、その位置が検出され、し
たがつてそのビツトが反転によつて訂正できるこ
とを示す。 Nまたは0以外の偶数個のビツトが“1”であ
るシンドロームは、訂正できない1個の2ビツ
ト・エラーがあることを示す。2ビツト・エラー
を含むワードを反転すると、所与の条件下で2個
のハード・エラーがマスクされることがある。こ
のことは、そのワード中の2つの記憶位置が0ま
たは1でスタツクされていると仮定することによ
つて例示できる。 たとえば、2つの記憶位置が両方ともゼロ
(00)にスタツクされているとすると、 (i) 記憶すべきパターンが00なら、このパターン
は上記ハードクランプと一致するからエラーな
しであり、 (ii) 記憶すべきパターンが01または10なら、一方
のビツトが上記ハードクランプと一致するか
ら、1ビツトエラーであり、 (iii) 記憶すべきパターン11なら、このパターンは
上記ハードクランプと全く一致しないから、2
ビツトエラーとなる。 2つの記憶位置が“11”または“01”または
“10”でスタツクされるときも、これと同様であ
る。 最後のケースにぶつかつた場合、パターンは反
転された極性で記憶され、そのアドレス内容が更
新されない限り、この特定のワードについて2ビ
ツト・エラーがマスクされる。 第1図の左側は、以下の各ステツプからなる書
き込みオペレーシヨンの流れ図を示したもので
る。 ステツプI−W:関連するECCビツトととも
にデータ・ビツトが、アドレスされたワード
ロケーシヨンに記憶される。 ステツプ−W:アドレスされたワードロケー
シヨンから書き込まれたパターンを読み戻す
ことからなる、読み取り検査が遂行される。 ステツプ−W:エラー・シンドロームが分析
され、エラーがない場合または1個の1ビツ
ト・エラーがある場合には書込みオペレーシ
ヨンが終了する。 ステツプ−W:2ビツト・エラーが検出され
た場合はこのステツプに入る。アドレスされ
たワードロケーシヨンに反転されたパターン
が書き込まれ、したがつてそこで何らのオペ
レーシヨンが遂行されない限りそのメモリロ
ケーシヨンにそのワードが反転された極性で
記憶される。 第1図の右側は、以下の各ステツプからなる読
み取りオペレーシヨンの流れ図を示したものであ
る。 ステツプ−R:アドレスからたワードがメモ
リから読み取られる。 ステツプ−R:エラー・シンドロームが生成
され検査される。それが1ビツト・エラーを示す
場合は、エラーを含むビツトが訂正され、エラ
ー・シンドロームがそのワードが反転された極性
で記憶されたことを示すかそれとも真の極性で記
憶されたことを示すかに応じて、訂正されたワー
ドは反転されてまたは反転されずにこのワードを
使用するマシン(プロセツサ等)に送られる。エ
ラー・シンドロームがエラーのないことを示す場
合、エラー・シンドロームがそのワードが反転さ
れた極性で記憶されているかそれとも真の極性で
記憶されているかに応じて、読み取られたワード
は反転されてまたは反転されずにプロセツサ等に
送られる。 ステツプ−R:2ビツト・エラーが検出され
た場合、このステツプに入る。読み取られたワー
ドは、反転された極性でメモリに再書き込みされ
る。これが起こるのは次の場合である。 −直前のコード化以降に第2のハード・エラー
が発生した。 −マスクされていないハード・エラーが存在す
るときに、ソフト・エラーが発生した。 −直前のコード化以降に2つのハード・エラー
が発生した。 ステツプ−R:こうして反転されたワードが
読み取られる。 ステツプ−R:ステツプ−Rで読み取られ
たワードのエラー・シンドロームが生成され検査
される。 それが1ビツト・エラーを示す場合、誤りのあ
るビツトが訂正され、エラー・シンドロームがそ
のワードが反転された極性で記憶されたかそれと
も真の極性で記憶されたかに応じて、訂正された
ワードは反転されてまたは反転されずに、プロセ
ツサ等に送られる。エラー・シンドロームがエラ
ーのないことを示す場合、エラー・シンドローム
がそのワードが反転された極性で記憶されている
かそれとも真の極性で記憶されているかに応じ
て、読み取られたワードは反転されてまたは反転
されずにプロセツサ等に送られる。 それがさらに2ビツト・エラーを示すときは、
訂正不能なエラー状態であることを意味すので、
訂正不能エラー状況を報告する。したがつてエラ
ー訂正は機能しない。 これが起こるのは、2つのハード・エラー(そ
のうちの1つはマスクされている)と直前のコー
ド化以降に発生したソフト・エラーとが同時に存
在する場合である。この場合は反転後にもなお2
つのエラーがある。 したがつて、本発明にもとづく方法は、以下の
機能を有する。 −単一ハード・エラーは必ず訂正される。 −2つのハード・エラーは必ず訂正される。 −1つのソフト・エラーおよび1つのハード・
エラーは必ず訂正される。 −1つのソフト・エラーは必ず訂正される。 −1つのソフト・エラーおよび2つのハード・
エラーからなるエラー状態の50%が訂正される。 −2つのソフト・エラーは決して訂正されな
い。 ソフト・エラーを一掃するためのスクラビン
グ・ルーチンは、メモリの待機中にプロセツサの
制御下で実行すべきである。ワードは再補数化さ
れないので、正しいパターンがプロセツサに送ら
れるものの、ソフト・エラーは除去されない。 以上に説明したコード規則を満たすなら、この
方法を任意のビツト長のワードに関するエラー訂
正および検出に拡張することができる。すなわ
ち、 エラー・シンドロームは次のような偶数である
N個のビツトを含む。 ECCビツトを生成するために調べられるワー
ド・フイールドも偶数個のビツトを含む。 真の極性で記憶されたワード中の1ビツト・エ
ラーは第1の値(本発明の良好な実施例では
“1”である)にあるn1個のビツトと、上記第1
の値にあるn2個のビツトによつて示される。た
だし、n1+n2=Nであり、n1とn2は異なる数で
どちらも奇数である。 真の極性または反転された極性で記憶されたワ
ード中の2ビツト・エラーは、第1の値にあるN
およびゼロ以外の偶数個のビツトを含むエラー・
シンドロームによつて示さる。 第2図は、本発明にもとづく方法を実施するた
めに用されるエラー訂正機構のブロツク図を表す
ものである。メモリ1は、メモリコントローラ3
およびデータ入力レジスタ5によつて選択される
ワードロケーシヨンで、書き込みまたは読み取る
ことができる。メモリコントローラ3は、母線7
上にワード・アドレスを出し、選択されたワード
をメモリ1に書き込みまたは選択されたワードの
内容を読み取つてデータ出力レジスタ12に転送
するための読み取りコマンドまたは書き込みコマ
ンドを線9に出す。このような構成は通常のもの
なので詳しい説明は省略する。 エラー訂正・検出機構は、8個のパリテイ・チ
エツカPC1ないしPC8を含んでいる。これらの
パリテイ・チエツカはそれぞれ1つのデータ・ビ
ツト・フイールド1ないし8および関連する
ECCビツトAないしHを受け取る。パリテイ・
チエツカは、その真数出力端子Tで、良好な実施
例では検査されたビツトのパリテイが正しいとき
“0”レベルとなる信号を生成する。パリテイ・
チエツカの補数出力端子Iでは、反転されたレベ
ルが生成される。逆にパリテイが正しくないとき
は、パリテイ・チエツカはその真数出力端子で
“1”レベルを生成し、補数出力端子で“0”レ
ベルを生成する。このようにして、パリテイ・チ
エツカの真数出力端子でエラー・シンドロームが
生成される。 論理回路14は、パリテイ・チエツカPC1な
いしPC8の真数出力と補数出力を受け取る。こ
れは、その出力母線16上で訂正制御信号を生成
し、読み取られたワードの各ビツト毎に1つの訂
正制御信号を生成させる。1ビツト・エラーが検
出された場合、すなわち記憶されているワードの
極性に応じてエラー・シンドロームの3個または
5個のビツトが“1”である場合、訂正制御信号
が母線16の1本の線上で活動化され、その結果
第1表に示したHマトリツクスにもとづいてエラ
ー・シンドローム中の3個または5個のビツトが
“1”でることによつて示されるエラー・ビツト
が訂正される。 データ出力レジスタ12に含まれる読み取られ
たワードが、XOR回路のアセンブリ18に送ら
れる。このアセンブリ中の各XOR回路は、その
第1の入力端子で40ビツト・ワードの1ビツトを
受け取り、第2入力端子で第1入力端子に印加さ
れたビツトを訂正するための訂正制御信号を母線
16から受け取る。XOR回路の第2入力端子の
エラー訂正信号が活動状態(ハイ・レベル)のと
き、このXOR回路の出力信号のレベルは、その
第1入力端子の信号レベルを反転したものとな
る。こうして、1ビツト・エラーが検出された場
合、XOR回路アセンブリ18の出力端子は訂正
済みの読み取りワードを供給する。 論理回路14は、線20上に反転制御信号を出
力する。アドレスされたロケーシヨンがそのワー
ドの反転された値を含む場合、この信号は活動レ
ベル(ハイ・レベル)にセツトされる。XOR回
路アセンブリ18の出力が、第2のXOR回路ア
センブリ22中のXOR回路の第1の入力端子に
送られ、反転制御信号がそれらの第2入力端子に
送られて、エラー・シンドロームか5個または8
個の“1”を含む場合、読み取られたワードを反
転させる。XORアセンブリ22の出力は母線2
4を経てプロセツサに伝送され、メモリコントロ
ーラ3からのデータ作動可能線25が活動状態の
とき、すなわち2ビツト・エラー状況が23を経て
メモリコントローラ3に報告されなかつたとき、
読み取られた正しいワードとして使用される。ア
センブリ22の出力もメモリコントローラ3に印
加されて、反転されたビツト・パターンがメモリ
1に再書き込みされ、第1図に関して説明したス
テツプ−Wまたはステツプ−Rが遂行され
る。 論理回路14は、線23上に2ビツト・エラー
が検出されていることを示す信号を出す。この信
号は、エラー・シンドロームが“1”にあるビツ
トを偶数である2,4または6個含むとき、活動
レベルになる。この2ビツト・エラー指示信号が
メモリコントローラ3に送られて、対応するメモ
リロケーシヨンに反転されたビツト値で再書き込
みさせ、またはエラー訂正が機能しないというこ
とを示す。 第3図は、良好な実施例で使用できる特定の論
理回路14を表すものである。それぞれECCビ
ツトAないしHを含むフイールド1ないし8から
生成される、エラー・シンドローム・ビツトA1,
B2,C3,D4,E5,F6,G7,H8はパリテイ・チ
エツカの真数出力端子T1ないしT8に出力さ
れ、それらの補数出力は補数出力I1ないしI8
に出力される。 31のようなNANDゲート構成を40個含むア
センブリ30が、特動定の真数出力端子T1ない
しT8および補数出力端子I1ないしI8に適切
に接続され、母線16の線上に訂正制御信号を出
力する。ここでは、アセンブリ30中でバイト1
のビツト7の訂正制御信号を生成できるNAND
ゲート構成31のみが示してある。他のNAND
ゲート構成も同様であり、パリテイ・チエツカ
PC1ないしPC8の適切な出力端子に接続され、
第1表に示したHマトリツクスにもとづいてエラ
ー・シンドローム・ビツトを生成する。 各NANDゲート構成31は、3個のNANDゲ
ート33,35,36を含んでいる。 NANDゲート33は出力端子I1,T2,T
3,I4,I5,I6,I7,T8に接続されて
いる。したがつて、そのワードが真の極性で記憶
され、バイト1のビツト7が誤つている場合、
NANDゲート33の出力端子の信号レベルはロ
ー・レベルである。バイト1のビツト7がそのワ
ード中の他のビツト同様に正しい場合は、
NANDゲート33の出力はハイ・レベルになる。
2個以上のビツトが誤まつている場合は、
NANDゲート33の出力もハイ・レベルとなる。
そのワードが反転された極性で記憶されていると
きは、NANDゲート33の出力は全ての場合に
おいてハイ・レベルとなる。 NANDゲート35は、パリテイ・チエツカPC
1ないしPC8の出力端子T1,I2,I3,T
4,T5,T6,T7,I8に接続されている。
したがつて、そのワードが反転された極性で記憶
されており、バイト1のビツト7が誤まつている
場合、NANDゲート35の出力端子の信号レベ
ルはロー・レベルである。バイト1のビツト7が
そのワード中の他のビツトと同様に正しい場合、
NANDゲートの出力はハイ・レベルになる。2
個以上のビツトが誤まつている場合は、NAND
ゲート35の出力もハイ・レベルになる。そのワ
ードが真の極性で記憶されているときは、
NANDゲート35の出力は全ての場合において
ハイ・レベルとなる。 NANDゲート33および35の出力端子は
NANDゲート36に接続されている。この
NANDゲート36はその出力端子で反転制御信
号を生成する。この信号はバイト1のビツト7が
誤まつているとき活動状態であるハイ・レベルと
なる。他のすべての場合には、この信号は非活動
状態のロー・レベルとなる。 NANDゲート38は、パリテイ・チエツカの
出力端子T1,T2,T3,T4,T5,T6,
T7,T8に接続されており、したがつてエラ
ー・シンドロームがすべて“1”のときは(すな
わち読み取られるワードを反転すべき場合)、こ
のゲートの出力レベルはロー・レベルとなる。 NANDゲート40の入力端子は、アセンブリ
30の各回路中のNANDゲート35の出力端子
およびNANDゲート38の出力端子およびメモ
リコントローラ3からの線26に接続されてお
り、その出力端子に反転制御信号を生成する。こ
の信号は、NANDゲート38,35の出力レベ
ルがロー・レベルのときハイ・レベルとなり、
XORアセンブリ22によつてプロセツサに送ら
れるワードの反転を制御する。線26はロー・レ
ベルのとき活動状態となり、読み取られたパター
ンをアセンブリ22によつて反転させてメモリコ
ントローラ3に転送し、第1図に関して説明した
ように書き込みオペレーシヨンまたは読み取りオ
ペレーシヨンのステツプ−またはステツプ
−Rを遂行するため、メモリ1に再書き込みさせ
る。 2ビツト・エラー状況は、NANDゲート38,
42,44およびパリテイ・チエツカ46によつ
て生成される。NANDゲート42の入力端子は、
パリテイ・チエツカPC1ないしPC8の補数出力
端子I1ないしI8に接続されている。したがつ
て、エラー・シンドロームがすべて“0”のと
き、NANDゲート42の出力はロー・レベルで
あり、少くとも1個の“1”ビツトを含むときは
ハイ・レベルとなる。 パリテイ・チエツカ46は、エラー・シンドロ
ームが“1”にあるビツトを偶数個含むときハ
イ・レベルになる出力信号を生成する。NAND
ゲート44の入力端子は、NANDゲート42,
38の出力端子およびパリテイ・チエツカ46の
出力端子に接続されている。したがつて、
NANDゲート44は、下記の条件が充たされる
とき活動状態ロー・レベルの出力信号を生成す
る。 (a) エラー・シンドローム中の偶数個のビツト
“1”である。 (b) “0”であるビツトの数が8ではない。 (ニ) “1”であるビツトの数が8ではない。 上記の条件(b)および(c)は、エラーがないことを
示す。 2ビツト・エラー状況は、線23上を介してメ
モリ3に報告される。線23はエラー訂正プロセ
スが機能しないことを示すか又は線26を活動化
することによつて反転極性でのワードの再書き込
みを制御するかを示すのに使用される。エラー訂
正プロセスが機能しない場合(すなわち訂正不能
エラー状況が報告される場合)は、第2図のデー
タ作動可能線25が非活動状態になり、プロセツ
サは送られてきたデータ・ビツトを無視する。 F 発明の効果 以上説明したように本発明によれば、データが
反転されて記憶されているかまたは反転されない
で記憶されているかを検査する必要がないので、
従来に比べて効率よくメモリを利用することがで
きるようになる。
【図面の簡単な説明】
第1図は、本発明の方法にもとづく実施例にお
いて遂行される書き込みオペレーシヨンおよび読
み取りオペレーシヨンを説明する流れ図、第2図
は、本発明を実現するエラー訂正機構の実施例を
示す図、第3図は、第2図の論理回路14の詳細
を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 N個(ただしNは偶数)のECCビツトを含
    むワードからNビツトのエラーシンドロームが生
    成され、該エラーシンドロームは1ビツトエラー
    を示すのに第1の値にあるn1個のビツトを含む
    かまたは2ビツトエラーを示すのにゼロまたはN
    以外の偶数個のビツトを含み、前記n1が奇数で
    あるようなメモリにおけるエラー訂正方法であつ
    て、 (a) アドレスされたワードを読み取るステツプ
    と、 (b) エラーシンドロームを生成するステツプと、 (c) 読み取られたワードがエラーを含まないかま
    たは1ビツトエラーを含むということをエラー
    シンドロームが示す場合は読み取りオペレーシ
    ヨンを終了して、 (イ) エラーシンドロームが前記第1の値にある
    ビツトを含まないときは何ら処理をせず、 (ロ) エラーシンドロームが前記第1の値にある
    ビツトをN個含むときは読み取られたワード
    を反転し、 (ハ) エラーシンドロームが前記第1の値にある
    ビツトをn1個含むときは読み取られたワー
    ドを訂正し、 (ニ) エラーシンドロームが前記第1の値にある
    ビツトを(N−n1)個含むときは読み取ら
    れたワードを訂正しおよび反転する、 ステツプと、 (d) エラーシンドロームが2ビツトエラーを示す
    場合は読み取られたワードを反転して再書き込
    みするステツプと、 (e) 反転されたワードを読み取つてそのエラーシ
    ンドロームを生成するステツプと、 (f) ステツプ(e)で生成されたエラーシンドローム
    が2ビツトエラーを示す場合は訂正不能エラー
    状況を報告するステツプと、 (g) ステツプ(e)で生成されたエラーシンドローム
    がエラーなしまたは1ビツトエラーを示す場合
    は読み取りオペレーシヨンを終了して、 (イ) エラーシンドロームが前記第1の値にある
    ビツトを含まないときは何ら処理をせず、 (ロ) エラーシンドロームが前記第1の値にある
    ビツトをN個含むときは読み取られたワード
    を反転し、 (ハ) エラーシンドロームが前記第1の値にある
    ビツトをn1個含むときは読み取られたワー
    ドを訂正し、 (ニ) エラーシンドロームが前記第1の値にある
    ビツトを(N−n1)個含むときは読み取ら
    れたワードを訂正しおよび反転する、 ステツプと、 を遂行することによつてメモリからワードを読み
    取るようにしたことを特徴とするエラー訂正方
    法。
JP60231467A 1984-12-28 1985-10-18 メモリにおけるエラ−訂正方法 Granted JPS61157959A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP84430046.7 1984-12-28
EP84430046A EP0186719B1 (en) 1984-12-28 1984-12-28 Device for correcting errors in memories

Publications (2)

Publication Number Publication Date
JPS61157959A JPS61157959A (ja) 1986-07-17
JPH0260013B2 true JPH0260013B2 (ja) 1990-12-14

Family

ID=8192957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60231467A Granted JPS61157959A (ja) 1984-12-28 1985-10-18 メモリにおけるエラ−訂正方法

Country Status (4)

Country Link
US (1) US4712216A (ja)
EP (1) EP0186719B1 (ja)
JP (1) JPS61157959A (ja)
DE (1) DE3482509D1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937831A (en) * 1986-03-05 1990-06-26 Canon Kabushiki Kaisha Data processing apparatus for a camera
JPS62251949A (ja) * 1986-04-25 1987-11-02 Mitsubishi Electric Corp 記憶装置の誤り訂正方法
US4852100A (en) * 1986-10-17 1989-07-25 Amdahl Corporation Error detection and correction scheme for main storage unit
JPS63200239A (ja) * 1987-02-14 1988-08-18 Victor Co Of Japan Ltd 誤り訂正方式
DE3882223T2 (de) * 1988-04-29 1994-01-27 Ibm Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden.
US4964130A (en) * 1988-12-21 1990-10-16 Bull Hn Information Systems Inc. System for determining status of errors in a memory subsystem
US5014273A (en) * 1989-01-27 1991-05-07 Digital Equipment Corporation Bad data algorithm
US5058115A (en) * 1989-03-10 1991-10-15 International Business Machines Corp. Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature
CA2002361C (en) * 1989-03-10 1993-12-21 Robert M. Blake Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature
DE59009636D1 (de) * 1990-04-27 1995-10-12 Siemens Ag Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler.
AU660011B2 (en) * 1991-04-26 1995-06-08 Nec Corporation Method and system for fault coverage testing memory
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5539754A (en) * 1992-10-05 1996-07-23 Hewlett-Packard Company Method and circuitry for generating syndrome bits within an error correction and detection circuit
US5771541A (en) * 1994-11-03 1998-06-30 MTM--Modern Textile Machines Ltd. Apparatus for cleaning fibers
US5822339A (en) * 1996-05-30 1998-10-13 Rockwell International Data decoder and method to correct inversions or phase ambiguity for M-ary transmitted data
US6255970B1 (en) * 1997-10-10 2001-07-03 Photobit Corporation Correction of missing codes nonlinearity in A to D converters
US6519735B1 (en) * 1998-12-22 2003-02-11 Intel Corporation Method and apparatus for detecting errors in data output from memory and a device failure in the memory
CA2497103C (en) 2002-08-29 2011-07-19 Becton, Dickinson And Company Microabrader with controlled abrasion features
US7048815B2 (en) * 2002-11-08 2006-05-23 Ues, Inc. Method of making a high strength aluminum alloy composition
US7272773B2 (en) * 2003-04-17 2007-09-18 International Business Machines Corporation Cache directory array recovery mechanism to support special ECC stuck bit matrix
US7430167B2 (en) * 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
US7328304B2 (en) * 2004-02-27 2008-02-05 Intel Corporation Interface for a block addressable mass storage system
JP4889343B2 (ja) * 2006-03-31 2012-03-07 パナソニック株式会社 半導体記憶装置
US9251882B2 (en) 2011-09-16 2016-02-02 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US8751905B2 (en) 2011-09-16 2014-06-10 Avalanche Technology, Inc. Memory with on-chip error correction
US9658780B2 (en) 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
TWI486961B (zh) * 2013-01-16 2015-06-01 Univ Nat Taiwan Science Tech 非揮發性記憶體的故障遮蔽方法
JP2018074545A (ja) * 2016-11-04 2018-05-10 富士通株式会社 データ処理システム及びデータ処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623155A (en) * 1969-12-24 1971-11-23 Ibm Optimum apparatus and method for check bit generation and error detection, location and correction
US4037091A (en) * 1976-04-05 1977-07-19 Bell Telephone Laboratories, Incorporated Error correction circuit utilizing multiple parity bits
JPS5381036A (en) * 1976-12-27 1978-07-18 Hitachi Ltd Error correction-detection system
JPS592057B2 (ja) * 1979-02-07 1984-01-17 株式会社日立製作所 エラ−訂正・検出方式
US4319357A (en) * 1979-12-14 1982-03-09 International Business Machines Corp. Double error correction using single error correcting code
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
US4417339A (en) * 1981-06-22 1983-11-22 Burroughs Corporation Fault tolerant error correction circuit
EP0136587B1 (en) * 1983-09-06 1991-04-17 Kabushiki Kaisha Toshiba Error correction circuit
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors

Also Published As

Publication number Publication date
JPS61157959A (ja) 1986-07-17
EP0186719B1 (en) 1990-06-13
EP0186719A1 (en) 1986-07-09
DE3482509D1 (de) 1990-07-19
US4712216A (en) 1987-12-08

Similar Documents

Publication Publication Date Title
JPH0260013B2 (ja)
EP1160987B1 (en) Method and apparatus for verifying error correcting codes
US5313475A (en) ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
EP0188192B1 (en) Extended error correction for package error correction codes
JP3325914B2 (ja) データ用誤り訂正検出方法及びコンピュータ・メモリ用 誤り検出回路
US4817095A (en) Byte write error code method and apparatus
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US4296494A (en) Error correction and detection systems
US5745508A (en) Error-detection code
US7587658B1 (en) ECC encoding for uncorrectable errors
US4961193A (en) Extended errors correcting device having single package error correcting and double package error detecting codes
JPS6061837A (ja) エラ−訂正装置
JP2003507985A (ja) 2ビット・エラーを検出し、構成要素の障害によるエラーを訂正するためのシステムおよび方法
JPS6349245B2 (ja)
US7293221B1 (en) Methods and systems for detecting memory address transfer errors in an address bus
US20040088497A1 (en) Methods and apparatus for exchanging data using cyclic redundancy check codes
JPH05216698A (ja) 改良されたエラー検出および訂正回路
JPH03147041A (ja) エラー訂正システム
JPH06301604A (ja) 記憶再生システム
JPS62226353A (ja) Ras回路付記憶装置
SU868844A1 (ru) Запоминающее устройство с контролем
JPH01185753A (ja) 記憶装置
JPH01223546A (ja) 記憶装置
JPS5837638B2 (ja) キオクソウチ
JPH0769874B2 (ja) メモリシステムにおけるエラー検出装置