JPH045213B2 - - Google Patents
Info
- Publication number
- JPH045213B2 JPH045213B2 JP57110404A JP11040482A JPH045213B2 JP H045213 B2 JPH045213 B2 JP H045213B2 JP 57110404 A JP57110404 A JP 57110404A JP 11040482 A JP11040482 A JP 11040482A JP H045213 B2 JPH045213 B2 JP H045213B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- memory
- ecc
- bit
- ecc circuit
- 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
Links
- 238000003491 array Methods 0.000 claims description 11
- 238000003745 diagnosis Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000002405 diagnostic procedure Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004092 self-diagnosis Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- 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
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はメモリのエラーチエツク&コレクシヨ
ン(誤り検出、誤り訂正)機能いわゆるECC機
能を有するECC回路の診断を行なうECC回路診
断方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to an ECC circuit diagnostic method for diagnosing an ECC circuit having a memory error check and correction function, so-called ECC function.
一般にこの種のECC回路はECC機能のほかに
ECCのためのチエツクビツトCを発生する機能
を有している。従来、このチエツクビツトCは第
1図に示されるようにメモリデータの1語(全
語)に対して付加されていた。この例では64ビツ
ト構成で、チエツクビツトCは8ビツト構成であ
る。メモリリードアクセスの場合、メモリコント
ローラ10の制御によつてメモリアレイ11から
読み出された1語64ビツトのメモリデータと8ビ
ツトのチエツクビツトCはメモリコントローラ1
0に設けられているECC回路12に入力される。
ECC回路12はこれら入力情報に基づいて周知
のECC動作を行ない、64ビツトの正しいメモリ
データを出力する。メモリコントローラ10は1
語のメモリリードアクセスであればECC回路1
2から出力される64ビツトのメモリデータをその
ままシステムバス13に送出し、1/2語(半語)、
1/4語または1/8語(1バイト)のメモリリードア
クセスであれば該当するデータビツト位置のメモ
リデータをシステムバス13のあらかじめ定めら
れているゾーン位置に送出する。システムバス1
3上のデータはCPU14、または入出力機器
(以下、I/Oと称する)15,16などに転送
される。
Generally, this type of ECC circuit has not only the ECC function but also the ECC function.
It has a function of generating check bit C for ECC. Conventionally, this check bit C has been added to one word (all words) of memory data as shown in FIG. In this example, the configuration is 64 bits, and the check bit C is 8 bits. In the case of memory read access, one word of 64-bit memory data read from the memory array 11 under the control of the memory controller 10 and the 8-bit check bit C are transferred to the memory controller 1.
The signal is input to the ECC circuit 12 provided at 0.
The ECC circuit 12 performs well-known ECC operations based on this input information and outputs correct 64-bit memory data. The memory controller 10 is 1
ECC circuit 1 for word memory read access
The 64-bit memory data output from 2 is sent as is to the system bus 13, and 1/2 word (half word),
In the case of a 1/4 word or 1/8 word (1 byte) memory read access, memory data at the corresponding data bit position is sent to a predetermined zone position on the system bus 13. System bus 1
3 is transferred to the CPU 14 or input/output devices (hereinafter referred to as I/O) 15, 16, etc.
一方、メモリライトアクセスの場合、例えば1
語(64ビツト)書き込みであれば、ECC回路1
2はシステムバス13を介して転送される1語の
書き込みデータに対してチエツクビツトCを生成
する。この書き込みデータおよびチエツクビツト
Cはメモリコントローラ10の制御によりメモリ
アレイ11に書き込まれる。これに対し、例えば
1/2語(32ビツト)書き込みであれば、メモリコ
ントローラ10の制御によりメモリアレイ11の
対応するアドレス位置から1語のメモリデータと
チエツクビツトCが読み出される。次に続み出し
データである1語のメモリデータの1/2語とシス
テムバス13を介して転送された1/2語の書き込
みデータとが合成され、1語の書き込みデータと
してECC回路12に与えられる。ECC回路12
はこの合成後の1語の書き込みデータに対してチ
エツクビツトCを生成する。以後の動作は1語書
き込みの場合と同じである。 On the other hand, in the case of memory write access, for example 1
For word (64 bit) writing, ECC circuit 1
2 generates a check bit C for one word of write data transferred via the system bus 13. This write data and check bit C are written into the memory array 11 under the control of the memory controller 10. On the other hand, when writing 1/2 word (32 bits), for example, one word of memory data and check bit C are read out from the corresponding address position in the memory array 11 under the control of the memory controller 10. Next, 1/2 word of 1 word of memory data, which is the continuation data, and 1/2 word of write data transferred via system bus 13 are combined and sent to ECC circuit 12 as 1 word of write data. Given. ECC circuit 12
generates a check bit C for one word of written data after this synthesis. The subsequent operation is the same as in the case of writing one word.
このようにECC回路を備えたシステムでは、
メモリリードアクセス時に、ECC回路のECC機
能により正しいメモリデータを転送することがで
きるようになつている。しかし従来のシステムで
は、ECC回路自身に故障が発生した場合、読み
出しデータのエラーが検出されなくなるため、誤
りデータがCPUなどに転送される欠点があつた。
また、メモリライトアクセス時において、1語書
き込みでない場合には、1語の書き込みデータと
するために、いつたんメモリアレイをメモリリー
ドアクセスして1語のメモリデータを続み出され
なければならず、アクセス時間が長くなる欠点も
あつた。
In a system equipped with an ECC circuit like this,
During memory read access, the ECC function of the ECC circuit allows correct memory data to be transferred. However, in conventional systems, if a failure occurs in the ECC circuit itself, errors in the read data are not detected, resulting in the erroneous data being transferred to the CPU, etc.
In addition, during memory write access, if one word is not written, in order to write one word of data, the memory array must be accessed for memory read access and one word of memory data must be successively read out. However, it also had the disadvantage of long access times.
本発明は上記事情に鑑みてなされたものでその
目的は、1/m語のメモリアクセス時にECC回
路の診断が行なえ、もつてエラー分解能が同上す
るECC回路診断方式を提供することにある。
The present invention has been made in view of the above circumstances, and its object is to provide an ECC circuit diagnostic method that can diagnose an ECC circuit when accessing a memory of 1/m words and has the same error resolution.
本発明の他の目的は、1/m語のメモリライト
アクセスに際し、当該アクセスに先立つて1語の
メモリリードアクセスを行なうことが不要とな
り、性能向上が図れるECC回路診断方式を提供
することにある。 Another object of the present invention is to provide an ECC circuit diagnostic method that can improve performance by eliminating the need to perform a 1-word memory read access prior to 1/m-word memory write access. .
本発明では、従来のように1語のメモリデータ
に対してチエツクビツトを付加するのではなく、
1/n(nは2以上の整数)語のメモリデータ単
位でチエツクビツトを付加するようにしている。
そこで本発明では、1/n語のメモリデータ単位
でチエツクビツトが付加されたn個のメモリアレ
イと、これら各メモリアレイに対応するn台の
ECC回路とを設けるようにしている。このよう
な構成とした場合、1/m(mはm≧nを満足す
る整数)語のメモリアクセスであれば、n台の
ECC回路のうちECC動作が必要となる回路は1
台だけであるが、本発明では残りのECC回路に
も共通の1/n語に対するECC動作を行なわせ
るようにしている。上記メモリアクセスがメモリ
リードであれば、n台のECC回路はn個のメモ
リアレイの一つから続み出された共通の1/n語
に対して診断、修正(誤り検出、誤り訂正)を行
なう。もしn台のECC回路が全て正常であれば、
各ECC回路の誤り検出結果は同一となるなずで
ある。したがつて比較部より各ECC回路の動作
結果、例えば誤り検出結果を比較することにより
ECC回路の診断が行なえる。
In the present invention, instead of adding a check bit to one word of memory data as in the past,
Check bits are added in memory data units of 1/n (n is an integer of 2 or more) words.
Therefore, in the present invention, n memory arrays to which check bits are added in memory data units of 1/n words, and n units corresponding to each of these memory arrays are provided.
An ECC circuit is also provided. In such a configuration, for memory access of 1/m (m is an integer satisfying m≧n) words, n units of memory can be accessed.
Among the ECC circuits, the circuit that requires ECC operation is 1.
However, in the present invention, the remaining ECC circuits are also made to perform ECC operations for common 1/n words. If the above memory access is a memory read, the n ECC circuits diagnose and correct (error detection, error correction) the common 1/n words successively read from one of the n memory arrays. Let's do it. If all n ECC circuits are normal,
The error detection results of each ECC circuit are bound to be the same. Therefore, by comparing the operation results of each ECC circuit, for example, the error detection results, using the comparison section,
Can diagnose ECC circuits.
以下、本発明の一実施例を図面を参照して説明
する。なお、第1図と同一部分には同一符号を付
して詳細な説明を省略する。第2図のシステムに
おいて20はメモリ装置であり、1語が例えば64
ビツトのメモリデータが扱われる。21,22は
メモリ装置20を構成するメモリアレイである。
メモリアレイ21は1語64ビツトのメモリデータ
のうち上位の半語(1/2語)すなわちビツト0〜
ビツト31の32ビツトを記憶するのに用いられ、メ
モリアレイ22は同じく下位の半語(1/2語)す
なわちビツト32〜ビツト63を記憶するのに用いら
れる。すなわち本実施例はn=2の場合である。
メモリアレイ21,22には半語のメモリデータ
のほかに、当該半語のメモリデータのチエツクビ
ツトC(7ビツト)が付加されて記憶される。
Hereinafter, one embodiment of the present invention will be described with reference to the drawings. Note that the same parts as in FIG. 1 are given the same reference numerals and detailed explanations are omitted. In the system shown in FIG. 2, 20 is a memory device, and one word is, for example, 64
Bit memory data is handled. 21 and 22 are memory arrays forming the memory device 20.
The memory array 21 stores the upper half word (1/2 word) of the 64-bit memory data per word, that is, bits 0 to 64 bits.
It is used to store 32 bits of bit 31, and memory array 22 is also used to store the lower half word (1/2 word), bits 32 through 63. That is, this embodiment is a case where n=2.
In addition to the half-word memory data, check bits C (7 bits) of the half-word memory data are added and stored in the memory arrays 21 and 22.
30はメモリコントローラである。メモリコン
トローラ30はメモリ装置20とシステムバス1
3との間に設けられ、メモリ装置20に対するメ
モリアクセス制御を行なう。31,32はメモリ
コントローラ30に内蔵されているECC回路で
ある。ECC31,32はメモリアレイ21,2
2、システムバス13のデータゾーンのビツト0
〜ビツト31、ビツト32〜ビツト63にそれぞれ対応
して設けられている。ECC回路31,32はチ
エツクビツトCの生成、誤り検出、誤り訂正の
ECC動作機能を有している。ECC回路31,3
2の動作制御はメモリコントローラ30によつて
行なわれる。33は比較部(以下、COMPと称
する)である。COMP33はECC回路31,3
2の各ECC動作結果(生成されたチエツクビツ
トC、誤り検出結果である1ビツトエラーの有無
やマルチビツトエラーの有無を示す信号)を比較
し、一致/不一致を検出する。 30 is a memory controller. The memory controller 30 connects the memory device 20 and the system bus 1
3, and controls memory access to the memory device 20. 31 and 32 are ECC circuits built into the memory controller 30. ECC31, 32 are memory arrays 21, 2
2. Bit 0 of the data zone of system bus 13
- Bits 31 and 32 to 63 are provided respectively. ECC circuits 31 and 32 perform check bit C generation, error detection, and error correction.
It has an ECC operation function. ECC circuit 31, 3
2 is controlled by the memory controller 30. 33 is a comparison section (hereinafter referred to as COMP). COMP33 is ECC circuit 31,3
The two ECC operation results (generated check bit C, signal indicating the presence or absence of a 1-bit error or multi-bit error as an error detection result) are compared to detect coincidence/mismatch.
次に本発明の一実施例の動作を説明する。メモ
リコントローラ30はCPU14或いはI/O1
5,16からのメモリアクセス要求に応じてメモ
リアクセス制御を行なう。今、この要求が1語の
メモリデータを読み出す1語(全語)読み出し要
求であるものとする。しかしてメモリコントロー
ラ30の制御により、メモリアレイ21から対応
する1語(64ビツト)の上位の半語(ビツト0〜
ビツト31の32ビツト)および当該半語に付加され
たチエツクビツトC(7ビツト)が読み出される。
同様にメモリアレイ22から上記対応する1語の
下位の半語(ビツト32〜ビツト63の32ビツト)お
よび当該半語に付加されたチエツクビツトC(7
ビツト)が読み出される。メモリ装置20(のメ
モリアレイ21)から読み出された上位の半語およ
びそのチエツクビツトC(39ビツト)はECC回路
31に入力され、同じくメモリ装置20(のメモ
リアレイ22)から読み出された下位の半語およ
びそのチエツクビツトC(39ビツト)はECC回路
32に入力される。ECC回路31,32はこれ
ら入力された半語およびそのチエツクビツトCに
基づいて誤り検出を行ない、必要があれば誤り訂
正を行ない、それぞれ正しい上位の半語(32ビツ
ト)、下位の半語(32ビツト)を出力する。メモ
リコントローラ30はECC回路31から出力さ
れる上位の半語をシステムバス13のデータゾー
ンのビツト0〜ビツト31のゾーンに送出する一
方、ECC回路32から出力される下位の半語を
システムバス13のデータゾーンのビツト32〜ビ
ツト63のゾーンに送出する。したがつて1語読み
出しの場合の動作は、1語を処理対象とする1台
のECCを備えた従来システムとほぼ等しい。1
語読み出しの場合、ECC回路31,32の処理
対象となる半語ぽ異なるため、COMP33の比
較結果は無視されるようになつている。また、
COMP33の動作を禁止してもよい。 Next, the operation of one embodiment of the present invention will be explained. The memory controller 30 is the CPU 14 or I/O 1
Memory access control is performed in response to memory access requests from 5 and 16. Assume now that this request is a one-word (all-word) read request for reading one word of memory data. Under the control of the memory controller 30, the upper half words (bits 0 to 64 bits) of the corresponding word (64 bits) are read from the memory array 21.
32 bits of bit 31) and check bit C (7 bits) added to the half word are read out.
Similarly, from the memory array 22, the lower half word (32 bits from bit 32 to bit 63) of the corresponding one word above and the check bit C (7
bit) is read out. The upper half word and its check bit C (39 bits) read from the memory device 20 (memory array 21) are input to the ECC circuit 31, and the lower half word read from the memory device 20 (memory array 22) is input to the ECC circuit 31. The half word and its check bit C (39 bits) are input to the ECC circuit 32. The ECC circuits 31 and 32 detect errors based on these input half words and their check bits C, perform error correction if necessary, and correct upper half words (32 bits) and lower half words (32 bits), respectively. bits). The memory controller 30 sends the upper half word output from the ECC circuit 31 to the bit 0 to bit 31 zone of the data zone of the system bus 13, while sending the lower half word output from the ECC circuit 32 to the system bus 13. It is sent to the zone of bit 32 to bit 63 of the data zone. Therefore, the operation when reading one word is almost the same as that of a conventional system equipped with one ECC that processes one word. 1
In the case of word reading, since the ECC circuits 31 and 32 process half a different word, the comparison result of the COMP 33 is ignored. Also,
The operation of COMP33 may be prohibited.
次に1語のメモリデータのうちの上位の半語の
読み出しの場合の動作を説明する。メモリコント
ローラ30は半語読み出しの場合にも(従来例の
メモリコントローラ10と同様に)1語読み出し
を行なう。これにより、メモリコントローラ30
には、メモリアレイ21から読み出された所望の
上位半語およびそのチエツクビツトCと、メモリ
アレイ22から読み出された不所望の下位半語お
よびそのチエツクビツトCとが入力される。 Next, the operation when reading the upper half word of one word of memory data will be explained. The memory controller 30 performs one-word reading even in the case of half-word reading (similar to the conventional memory controller 10). As a result, the memory controller 30
A desired upper half word and its check bit C read out from the memory array 21 and an undesired lower half word read out from the memory array 22 and its check bit C are inputted to the .
ところで、1語が64ビツトのメモリデータが扱
われるシステムでは、一般に1語(全語)アクセ
スのほかに1/2(半語)アクセス、1/4アクセス、
1/8アクセスができるように構成されている。そ
して、1/2語、1/4語、または1/8語のメモリデー
タがシステムバスの64ビツトのデータゾーンにお
いて往来するゾーン位置はそれぞれ一義的に決ま
つているのが一般的である。このため、1台の
ECC回路を有する従来のメモリコントローラは、
1語(全語)読み出しでない場合でも1語読み出
しを行ない、この1語に対してECC回路を動作
させ、ECC回路から出力される1語から所望の
ビツト位置の1/2語 1/4語、または1/8語を選択
してシステムバスの所定のゾーン位置に送出する
いわゆるゾーンコントロール機能を有している。
第3図はこのゾーンコントロールについて上位半
語の読み出しを例にとつて示したものである。す
なわち、メモリ装置より読み出された1語64ビツ
トの(誤り訂正後の)メモリデータから第3図の
斜線部aで示される所望の上位半語(ビツト0〜
ビツト31の32ビツト)がメモリコントローラによ
つて選択される。そして、この選択された上位半
語はシステムバスの64ビツトのデータゾーンの下
位32ビツトのゾーンすなわち第3図の斜線部bで
示されるビツト32〜ビツト63のゾーンに送出され
る。したがつて、システムバス13のデータゾー
ンのビツト0〜ビツト31に対応してECC回路3
1が設けられ、同じくビツト32〜ビツト63に対応
してECC回路32が設けられている本実施例で
は、半語読み出しの場合、ECC回路32を動作
させ、ECC回路32の出力(半語のメモリデー
タ)をシステムバス13のデータゾーンのビツト
31〜ビツト63の位置に送出する必要があることは
容易に理解されよう。このとき、ECC回路31
はアイドル状態にあつても何ら問題ないが、本実
施例は上位の半語読み出しにおいてアイドル状態
にあつてもよいECC回路31をも動作させ、
ECC回路31,32の自己診断を行なおうとす
るものである。 By the way, in systems that handle memory data where one word is 64 bits, in addition to single word (full word) access, 1/2 (half word) access, 1/4 access,
It is configured to allow 1/8 access. Generally, the zone positions where 1/2 word, 1/4 word, or 1/8 word memory data travel back and forth in the 64-bit data zone of the system bus are each uniquely determined. For this reason, one
A conventional memory controller with an ECC circuit is
Even if one word (full word) is not read, one word is read, the ECC circuit is operated for this one word, and 1/2 word 1/4 word of the desired bit position is output from the ECC circuit. It has a so-called zone control function that selects , or 1/8 word and sends it to a predetermined zone position on the system bus.
FIG. 3 shows an example of reading out upper half words regarding this zone control. That is, from the memory data of 64 bits per word (after error correction) read out from the memory device, the desired upper half word (bits 0 to 0) shown in the shaded area a in FIG.
bits 31 to 32) are selected by the memory controller. The selected upper half word is then sent to the lower 32 bit zone of the 64 bit data zone of the system bus, that is, the zone of bits 32 to 63 shown by the shaded area b in FIG. Therefore, the ECC circuit 3 corresponds to bits 0 to 31 of the data zone of the system bus 13.
In this embodiment, an ECC circuit 32 is provided corresponding to bits 32 to 63. In the case of half-word reading, the ECC circuit 32 is operated and the output of the ECC circuit 32 (half-word memory data) in the data zone of system bus 13.
It will be easily understood that it is necessary to send the signal to the positions from bit 31 to bit 63. At this time, the ECC circuit 31
There is no problem even if the ECC circuit 31 is in an idle state, but in this embodiment, the ECC circuit 31, which may be in an idle state, is also operated when reading an upper half word.
This is intended to perform self-diagnosis of the ECC circuits 31 and 32.
メモリコントローラ30に入力された(メモリ
アレイ21の出力である)所望の上位半語および
そのチエツクビツトCは、メモリコントローラ3
0の制御によりECC回路31,32の両回路に
入力される。これに対し、(メモリアレイ22の
出力である)不所望の下位半語およびそのチエツ
クビツトCはECC回路31は勿論ECC回路32
への入力も禁止される。これは、上位の半語また
は下位の半語のいずれか一方を選択してECC回
路32に導くセレクタを設けることによつて容易
に実現できる。なお、第2図では、セレクタは省
略されている。メモリコントローラ30はECC
回路32は勿論、本来アドレス状態にあつてもよ
いECC回路31をも動作させる。これにより
ECC回路31,32は同一データである上記上
位の半語およびチエツクビツトCに基づいて誤り
検出を行なう。ECC回路31,32は誤り検出
の結果として1ビツトエラーの有無、マルチビツ
トエラーの有無を示す信号を出力する。COMP
33はこれらECC回路31,32から出力され
る信号を比較し、一致/不一致を検出する。この
場合、ECC回路31,32は上述のように同一
データに基づいて誤り検出を行なつており、した
がつてECC回路31,32が共に正常であれば、
COMP33は一致検出を行なうはずである。す
なわち、COMP33によつて一致検出がなされ
れば、ECC回路31,32は共に正常であり、
COMP33によつて不一致検出がなされれば
ECC回路31,32のいずれかが故障であると
診断できる。ECC回路31,32は誤り検出の
結果、誤り訂正が可能であれば誤りビツトを訂正
し、正しい半語の読み出しデータとして出力す
る。メモリコントローラ30はECC回路32か
ら出力される半語の読み出しデータをシステムバ
ス13の64ビツトのデータゾーンのビツト32〜ビ
ツト63のゾーン位置に送出する。これに対し、
ECC回路31から出力される半語の読み出しデ
ータのシステムバス13におけるビツト0〜ビツ
ト31のゾーン位置への送出は行なわれない。これ
は、半語読み出しのために従来のメモリコントロ
ーラが有していた機能、すなわちメモリ装置から
全語(1語)を読み出し、この全語(実際には
ECC回路から出力される全語)からの所定のポ
ジシヨン(上位の半語読み出しであればビツト0
〜ビツト31、下位の半語読み出しであればビツト
32〜ビツト63)の半語を選択してシステムバスに
おけるビツト32〜ビツト63のゾーン位置に送出す
るゾーンコントロール機能を利用して簡単に実現
できる。 The desired upper half word inputted to the memory controller 30 (which is the output of the memory array 21) and its check bit C are sent to the memory controller 30.
The signal is input to both ECC circuits 31 and 32 under the control of 0. On the other hand, the undesired lower half word (which is the output of the memory array 22) and its check bit C are sent to the ECC circuit 32 as well as the ECC circuit 31.
input is also prohibited. This can be easily realized by providing a selector that selects either the upper half word or the lower half word and directs it to the ECC circuit 32. Note that the selector is omitted in FIG. 2. Memory controller 30 is ECC
Not only the circuit 32 but also the ECC circuit 31, which may originally be in the address state, is operated. This results in
ECC circuits 31 and 32 perform error detection based on the above upper half word and check bit C, which are the same data. As a result of error detection, the ECC circuits 31 and 32 output signals indicating the presence or absence of a 1-bit error or the presence or absence of a multi-bit error. COMP
33 compares the signals output from these ECC circuits 31 and 32 and detects coincidence/mismatch. In this case, the ECC circuits 31 and 32 perform error detection based on the same data as described above, so if both the ECC circuits 31 and 32 are normal,
COMP33 should perform match detection. That is, if a match is detected by COMP33, both ECC circuits 31 and 32 are normal;
If a discrepancy is detected by COMP33
It can be diagnosed that either the ECC circuit 31 or 32 is at fault. As a result of error detection, the ECC circuits 31 and 32 correct the erroneous bit if it is possible to correct the error and output it as correct half-word read data. The memory controller 30 sends the half-word read data output from the ECC circuit 32 to the zone positions of bits 32 to 63 of the 64-bit data zone of the system bus 13. In contrast,
The half-word read data output from the ECC circuit 31 is not sent to the zone positions of bit 0 to bit 31 on the system bus 13. This is a function that conventional memory controllers had for reading half words, that is, reading a whole word (one word) from the memory device, and this whole word (actually
A predetermined position from the entire word output from the ECC circuit (bit 0 if reading the upper half word)
~Bit 31, bit if lower half word reading
This can be easily achieved by using the zone control function that selects a half word from bit 32 to bit 63) and sends it to the zone position from bit 32 to bit 63 on the system bus.
ところで、ECC回路31,32の診断は上位
の半語読み出しの場合に限らず、メモリアレイ2
1内のメモリデータだけが読み出しの対象となつ
ていれば1/4語読み出しや1/8語読み出しの場合で
も行なえることは明らかである。この場合、メモ
リコントローラ30はECC回路32から出力さ
れる上位の半語の中から所定のポジシヨンの1/4
語または1/8語を選択し、1/4語読み出しであれば
システムバス13のデータゾーンのビツト48〜ビ
ツト63、1/8語読み出しであれば同じくビツト56
〜ビツト63のゾーン位置に送出することになる。 By the way, the diagnosis of the ECC circuits 31 and 32 is not limited to the case of upper half word reading, but also the diagnosis of the memory array 2.
It is clear that 1/4 word reading or 1/8 word reading can be performed as long as only memory data within 1 is to be read. In this case, the memory controller 30 selects 1/4 of the predetermined position from among the upper half words output from the ECC circuit 32.
bits 48 to 63 of the data zone of system bus 13 for 1/4 word reading, and bit 56 for 1/8 word reading.
~ It will be sent to the zone position of bit 63.
次に、メモリアクセス要求が上位半語の書き込
みである場合の動作を説明する。この場合、上位
半語が格納されるメモリアレイ21に対応した
ECC回路31を動作させてチエツクビツトCを
生成させ、このチエツクビツトCが付加された半
語をメモリアレイ21に導く必要があることは容
易に理解されよう。このとき、ECC回路32は
アイドル状態にあつても何ら問題ないが、本実施
例は上位の半語書き込みにおいて本来アイドル状
態にあつてもよいECC回路32をも動作させ、
ECC回路31,32の自己診断を行なおうとす
るものである。 Next, the operation when the memory access request is to write the upper half word will be explained. In this case, the memory array 21 corresponding to the upper half word is stored.
It will be easily understood that it is necessary to operate the ECC circuit 31 to generate the check bit C and to guide the half word to which the check bit C has been added to the memory array 21. At this time, there is no problem even if the ECC circuit 32 is in an idle state, but in this embodiment, the ECC circuit 32, which may originally be in an idle state, is also operated when writing an upper half word.
This is intended to perform self-diagnosis of the ECC circuits 31 and 32.
システムバス13のデータゾーンのビツト32〜
ビツト63のゾーン位置を介してメモリコントロー
ラ30に転送される書き込みデータとしての上位
半語は、ECC回路31,32の両回路に入力さ
れる。メモリコントローラ30はECC回路31
は勿論、本来アイドル状態にあつてもよいECC
回路32をも動作させる。これによりECC回路
31,32は同一データである上記半語に対する
チエツクビツトCを生成する。COMP33はこ
れらECC回路31,32で生成されるチエツク
ビツトCを比較し、一致/不一致を検出する。明
らかなように一致していればECC回路31,3
2は正常であり、不一致であればいずれかが故障
と診断される。ECC回路31,32はチエツク
ビツトCを生成すると、当該チエツクビツトCを
上記半語に付加して出力する。メモリコントロー
ラ30はECC回路31から出力されるチエツク
ビツトCが付加された半語をメモリアレイ21の
指定アドレス位置に書き込む。これに対し、
ECC回路32の出力を書き込む動作は行なわれ
ない。この説明から明らかなように本実施例によ
れば、上位半語の書き込み時にECC回路31,
32の診断が行なえ、しかも従来例のように、い
つたん全語(1語)読み出しを行ない、書き込む
べき半語と合成して全語の書き込みを行なう複雑
な手順を不要とすることができ、1回のメモリア
クセスで済む。なお、下位半語の書き込みに対し
ても1回のメモリアクセスで済むことは明らかで
ある。 Bit 32 of data zone of system bus 13
The upper half word as write data transferred to the memory controller 30 via the zone position of bit 63 is input to both ECC circuits 31 and 32. The memory controller 30 is an ECC circuit 31
Of course, ECC can also be in an idle state.
The circuit 32 is also operated. As a result, the ECC circuits 31 and 32 generate check bits C for the above half word, which are the same data. The COMP 33 compares the check bits C generated by these ECC circuits 31 and 32 and detects a match/mismatch. If it is clear that they match, the ECC circuits 31, 3
2 is normal, and if they do not match, one of them is diagnosed as a failure. When the ECC circuits 31 and 32 generate check bit C, they add the check bit C to the half word and output it. The memory controller 30 writes the half word outputted from the ECC circuit 31 to which the check bit C is added to the designated address position of the memory array 21. In contrast,
No operation is performed to write the output of the ECC circuit 32. As is clear from this explanation, according to this embodiment, when writing the upper half word, the ECC circuit 31,
32 diagnoses can be made, and the complicated procedure of reading out a whole word (one word) at once and combining it with the half word to be written to write the whole word, as in the conventional example, is not necessary. Only one memory access is required. Note that it is clear that one memory access is sufficient for writing the lower half word.
ところで前記実施例では、データ読み出し時の
ECC回路31,32の診断は、メモリアレイ2
1内のメモリデータだけが読み出しの対象となつ
ている場合に行なわれるものとして説明したが、
メモリアレイ22内のメモリデータだけが読み出
しの対象となつている場合にも応用することがで
きる。ただし、このためには、メモリアレイ21
から読み出される上位半語とそのチエツクビツ
ト、またはメモリアレイ22から読み出される下
位半語とそのチエツクビツトのいずれか一方を選
択してECC回路31に導く手段を設け、メモリ
アレイ22内のメモリデータだけが読み出しの対
象となつている場合に後者を選択するようにする
必要がある。 By the way, in the above embodiment, when reading data,
Diagnosis of ECC circuits 31 and 32 is performed using memory array 2.
Although it has been explained that this is done when only the memory data in 1 is the target of reading,
The present invention can also be applied to a case where only memory data in the memory array 22 is to be read. However, for this purpose, the memory array 21
Means is provided to select either the upper half word and its check bits read from the memory array 22 or the lower half word and its check bits read from the memory array 22 and guide it to the ECC circuit 31, so that only the memory data in the memory array 22 is read. It is necessary to choose the latter if the
また、前記実施例ではメモリ装置が半語のメモ
リデータを格納する2個のメモリアレイから構成
されている場合について説明したが、例えば1/4
語のメモリデータを格納する4個のメモリアレイ
や1/8個のメモリデータを格納する8個のメモリ
アレイで構成されていてもよい。この場合には、
ECC回路を4台、8台とする必要がある。なお、
本発明では書き込み時のECC回路診断機能は必
ずしも必要ではない。 Further, in the above embodiment, the case where the memory device is composed of two memory arrays storing half-word memory data has been described, but for example, 1/4 memory data is stored.
It may be configured with four memory arrays that store word memory data or eight memory arrays that store 1/8 memory data. In this case,
It is necessary to use 4 or 8 ECC circuits. In addition,
In the present invention, an ECC circuit diagnostic function during writing is not necessarily required.
以上詳述したように本発明のECC回路診断方
式によれば、1/m語のメモリアクセス時に
ECC回路の診断が行なえるので、エラー分解能
が向上する。
As detailed above, according to the ECC circuit diagnosis method of the present invention, when accessing memory for 1/m words,
ECC circuit diagnosis can be performed, improving error resolution.
また、本発明によれば、1/m語のメモリライ
トアクセスに際し、当該アクセスに先立つて1語
のメモリリードアクセスを行なう必要がなくなる
ので性能が向上する。 Further, according to the present invention, when performing a memory write access of 1/m words, there is no need to perform a memory read access of one word prior to the access, thereby improving performance.
第1図は従来例を示すブロツク図、第2図は本
発明の一実施例を示すブロツク図、第3図は上位
の半語に対するゾーンコントロールを説明するた
めの図である。
10,30……メモリコントローラ、11,2
1,22……メモリアレイ、12,31,32…
…ECC回路、13……システムバス、33……
比較部(COMP)。
FIG. 1 is a block diagram showing a conventional example, FIG. 2 is a block diagram showing an embodiment of the present invention, and FIG. 3 is a diagram for explaining zone control for upper half words. 10,30...Memory controller, 11,2
1, 22...memory array, 12, 31, 32...
...ECC circuit, 13...System bus, 33...
Comparison part (COMP).
Claims (1)
クビツトが付加されたn個のメモリアレイからな
るメモリ装置と、 このn個のメモリアレイに対応して設けられ、
1/n語に対するECC動作を行なうための同数
のECC回路と、 1/m(ただしmはm≧nを満足する整数)語
のメモリアクセス時には、対象となる1台の
ECC回路以外のECC回路にも共通の1/n語に
対するECC動作を行なわしめる手段と、 この共通の1/n語に対する上記各ECC回路
のECC動作結果を比較する比較部と、 を具備し、1/m語のメモリアクセス時に上記比
較部の比較結果に基づいて上記ECC回路の診断
を行なうことを特徴とするECC回路診断方式。[Scope of Claims] A memory device consisting of n memory arrays to which check bits are added in units of 11/n (n is an integer of 2 or more) words, and a memory device provided corresponding to the n memory arrays,
The same number of ECC circuits are used to perform ECC operations on 1/n words, and when accessing memory for 1/m (where m is an integer satisfying m≧n) words, one target
means for performing an ECC operation on a common 1/n word in an ECC circuit other than the ECC circuit; and a comparison unit that compares the ECC operation results of each of the ECC circuits on the common 1/n word, An ECC circuit diagnosis method characterized in that the ECC circuit is diagnosed based on the comparison result of the comparison section when accessing the memory of 1/m words.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57110404A JPS59743A (en) | 1982-06-26 | 1982-06-26 | Diagnosis system of ecc circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57110404A JPS59743A (en) | 1982-06-26 | 1982-06-26 | Diagnosis system of ecc circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59743A JPS59743A (en) | 1984-01-05 |
JPH045213B2 true JPH045213B2 (en) | 1992-01-30 |
Family
ID=14534931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57110404A Granted JPS59743A (en) | 1982-06-26 | 1982-06-26 | Diagnosis system of ecc circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59743A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0229112B1 (en) * | 1985-07-01 | 1991-12-04 | Unisys Corporation | Ic chip error detecting and correcting with automatic self-checkingand method therefor |
JPS6296744U (en) * | 1985-12-05 | 1987-06-20 | ||
US4827478A (en) * | 1987-11-30 | 1989-05-02 | Tandem Computers Incorporated | Data integrity checking with fault tolerance |
FR2642883B1 (en) * | 1989-02-09 | 1995-06-02 | Asahi Optical Co Ltd |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5298434A (en) * | 1976-02-14 | 1977-08-18 | Hitachi Ltd | Correction for memory error |
-
1982
- 1982-06-26 JP JP57110404A patent/JPS59743A/en active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5298434A (en) * | 1976-02-14 | 1977-08-18 | Hitachi Ltd | Correction for memory error |
Also Published As
Publication number | Publication date |
---|---|
JPS59743A (en) | 1984-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5959914A (en) | Memory controller with error correction memory test application | |
US6018817A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
US5663969A (en) | Parity-based error detection in a memory controller | |
US4686621A (en) | Test apparatus for testing a multilevel cache system with graceful degradation capability | |
US5142540A (en) | Multipart memory apparatus with error detection | |
US5966389A (en) | Flexible ECC/parity bit architecture | |
JPH0719232B2 (en) | Device and method for checking address and contents of memory array | |
US5357521A (en) | Address sensitive memory testing | |
US4928281A (en) | Semiconductor memory | |
US3992702A (en) | Code conversion arrangements for addresses to faulty memory locations | |
US4761783A (en) | Apparatus and method for reporting occurrences of errors in signals stored in a data processor | |
US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller | |
JPH045213B2 (en) | ||
WO1989009471A2 (en) | Memory selftest method and apparatus | |
JP3170145B2 (en) | Memory control system | |
JP2513615B2 (en) | Storage device with ECC circuit | |
JP2806856B2 (en) | Diagnostic device for error detection and correction circuit | |
JPH0756640B2 (en) | Storage device | |
JP3150571B2 (en) | Dual system switching method | |
JP3182834B2 (en) | Memory device | |
SU783795A2 (en) | Processor | |
JP2998282B2 (en) | Memory device | |
SU1249592A1 (en) | Storage with self-checking | |
SU951406A1 (en) | Memory device with self-check capability | |
JPH0752398B2 (en) | Check circuit diagnostic device |