JPH10111839A - Storage circuit module - Google Patents
Storage circuit moduleInfo
- Publication number
- JPH10111839A JPH10111839A JP8264690A JP26469096A JPH10111839A JP H10111839 A JPH10111839 A JP H10111839A JP 8264690 A JP8264690 A JP 8264690A JP 26469096 A JP26469096 A JP 26469096A JP H10111839 A JPH10111839 A JP H10111839A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ecc
- memory
- parity
- error correction
- 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.)
- Withdrawn
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】 この発明は、記憶回路モジュールに関し、既
存のSIMM等のメモリを用いて、ECC誤り訂正検出
も可能な記憶回路モジュールを提供することを課題とす
る。
【解決手段】 データを記憶するデータ記憶部と、デー
タ記憶部に記憶されるデータの誤り訂正符号を記憶する
ECC記憶部と、前記データの誤り訂正符号を生成する
訂正符号生成部と、前記ECC記憶部に記憶された誤り
訂正符号を利用して誤り訂正・検出を行う訂正・検出部
とを備え、前記ECC記憶部が、誤り訂正機能を有しな
い記憶素子から構成されることを特徴とする。
(57) Abstract: An object of the present invention is to provide a storage circuit module capable of performing ECC error correction detection using a memory such as an existing SIMM. A data storage unit for storing data, an ECC storage unit for storing an error correction code for data stored in the data storage unit, a correction code generation unit for generating an error correction code for the data, A correction / detection unit that performs error correction / detection using an error correction code stored in a storage unit, wherein the ECC storage unit is configured by a storage element having no error correction function. .
Description
【0001】[0001]
【発明の属する技術分野】この発明は、記憶回路モジュ
ールに関し、特に、パーソナルコンピュータ,画像処理
装置,プリンタなどに用いられる、SIMM(Single I
nline Memory Module)やDIMM(Dual Inline Memor
y Module )などの記憶回路モジュールの信頼性の向上
を図るために誤り訂正回路を付加した新規な構成の記憶
回路モジュールを提供するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage circuit module, and more particularly to a SIMM (Single I / O) used for a personal computer, an image processing apparatus, a printer, and the like.
nline Memory Module) or DIMM (Dual Inline Memor)
The present invention provides a storage circuit module having a novel configuration to which an error correction circuit is added in order to improve the reliability of the storage circuit module such as y Module).
【0002】[0002]
【従来の技術】近年、コンピュータシステムの普及に伴
って、コンピュータの主記憶や画像メモリに安価な記憶
回路モジュールが大量に利用されるようになった。特
に、パーソナルコンピュータでは、SIMM又はDIM
Mと呼ばれるメモリモジュールボードとして供給されて
おり、これらのメモリモジュールボードが安価となるに
つれて、実装されるメモリ容量は大容量化してきてい
る。メモリの読み出し及び書き込みに対して高度の信頼
性が要求されるワークステーション、サーバー等の分野
では、すでにECC(Error Checking and Correction
code)誤り訂正方式が採用され、高度な誤り検出及び訂
正を行っている。2. Description of the Related Art In recent years, with the widespread use of computer systems, inexpensive storage circuit modules have been used in large quantities for computer main storage and image memories. In particular, in personal computers, SIMM or DIM
M is supplied as a memory module board called M. As these memory module boards become inexpensive, the mounted memory capacity is increasing. In fields such as workstations and servers that require a high degree of reliability for memory read and write, ECC (Error Checking and Correction) has already been used.
code) error correction system is employed to perform advanced error detection and correction.
【0003】一方、パーソナルコンピュータ等で安価に
提供されるSIMMは、誤り検出を行わないタイプ(パ
リティ無しタイプ)か、あるいはパリティによる誤り検
出を行うタイプ(パリティ付きタイプ)のどちらかが使
用されている。パリティ無しタイプのSIMMでは、デ
ータの読み出し及び書き込みの際に、ビット誤りが発生
しても検出されずに、誤ったまま読み出し又は書き込み
がされる。一方、パリティ付きタイプのものでは、簡易
にビット誤り検出が可能である。On the other hand, SIMMs provided at low cost in personal computers and the like use either a type that does not perform error detection (type without parity) or a type that performs error detection using parity (type with parity). I have. In the non-parity type SIMM, when reading and writing data, even if a bit error occurs, it is not detected, and reading or writing is performed erroneously. On the other hand, with the parity type, bit error detection can be easily performed.
【0004】また、大量のデータ通信を行うネットワー
ク上のプリンタサーバなどのコンピュータシステムで
は、ECC誤り訂正方式を採用した高価なSIMMボー
ドが用いられている。また、SIMMやECC誤り訂正
方式のSIMMボードの記憶素子としては、Fit数
(ソフトエラー故障率)が1000程度の16Mビット
DRAMや4Mビット高速SRAMが用いられている。Further, in a computer system such as a printer server on a network that performs a large amount of data communication, an expensive SIMM board adopting an ECC error correction method is used. A 16-Mbit DRAM or a 4-Mbit high-speed SRAM having a Fit number (soft error failure rate) of about 1000 is used as a storage element of a SIMM board of a SIMM or an ECC error correction system.
【0005】図4に、SIMMを用いた従来用いられて
いる構成ブロック図を示す。CPU100は、ROMメ
モリ200,データ用メモリ50と、データバス及びア
ドレスバスを通して接続されている。CPU100は、
ROMメモリ200に格納されたプログラムを読み取
り、そのプログラムに対応した処理をし、その際に、デ
ータ用メモリ50にデータの書き込み動作が発生した場
合には、CPU100がアドレスを指定してデータ用メ
モリ50にそのデータを直接書き込む。またデータ用メ
モリ50からデータを読み出す場合も、CPU100が
アドレスを指定して直接データを読み出す。FIG. 4 is a block diagram showing a conventional configuration using SIMM. The CPU 100 is connected to the ROM memory 200 and the data memory 50 through a data bus and an address bus. The CPU 100
The program stored in the ROM memory 200 is read, and processing corresponding to the program is performed. At this time, when a data write operation occurs in the data memory 50, the CPU 100 specifies an address and specifies the address. The data is directly written to 50. Also, when reading data from the data memory 50, the CPU 100 directly reads data by designating an address.
【0006】ここで、データ用メモリ50にパリティな
しのSIMMが用いられた場合には、図5に示すよう
に、読み出し及び書き込み動作時には、SIMM92に
対してデータが直接読み出し及び書き込まれるだけであ
る。すなわち、何のエラーチェックもされないので、も
しビットエラーが発生しても、そのエラーが発生したデ
ータのまま、CPUは読み取りまた書き込みをする。Here, when a SIMM without parity is used for the data memory 50, as shown in FIG. 5, at the time of read and write operations, data is simply read and written directly to the SIMM 92. . That is, since no error check is performed, even if a bit error occurs, the CPU reads or writes the data with the error as it is.
【0007】また、データ用メモリ50にパリティ付き
のSIMMが用いられた場合を考えると、通常図6に示
すような構成がとられる。この場合も、基本的な動作
は、上記と同様であるが、読み出し又は書き込まれたデ
ータと共に、パリティデータも同時に読み出し又は書き
込みが行われる。図6において、パリティ付きのSIM
M92は、通常データ記憶用の領域(32ビット)とパ
リティ用の領域(4ビット)に分けられている。CPU
によって書き込まれたデータは、直接SIMM92に書
き込まれると同時に、パリティ発生回路91に入力さ
れ、ここで4ビットのパリティデータが生成され、SI
MM92のパリティ用領域の中の書き込まれたデータに
対応した位置に記憶される。[0007] Considering the case where a SIMM with parity is used for the data memory 50, a configuration as shown in FIG. 6 is usually employed. In this case as well, the basic operation is the same as described above, but the parity data is read or written simultaneously with the read or written data. In FIG. 6, SIM with parity
M92 is divided into a normal data storage area (32 bits) and a parity area (4 bits). CPU
Is written directly to the SIMM 92, and at the same time, is input to the parity generation circuit 91, where 4-bit parity data is generated, and
The data is stored at a position corresponding to the written data in the parity area of the MM 92.
【0008】逆に、CPU100がSIMM92からデ
ータを読み出す場合には、そのデータに対応したパリテ
ィデータがエラー検出回路93に読み出される。エラー
検出回路93は、SIMM92から読み出されたデータ
そのものと、パリティデータとの照合を行ってエラーが
検出されたか否かのチェックを行い、1ビットのエラー
検出の有無信号を出力する。CPU100は、このエラ
ー検出の有無信号を確認することによってエラーが発生
したか否かを検出することができる。Conversely, when the CPU 100 reads data from the SIMM 92, the parity data corresponding to the data is read to the error detection circuit 93. The error detection circuit 93 collates the data itself read from the SIMM 92 with the parity data to check whether an error has been detected, and outputs a 1-bit error detection presence / absence signal. The CPU 100 can detect whether or not an error has occurred by checking the presence / absence signal of the error detection.
【0009】図7に、従来のECCエラー訂正を行うこ
とのできるSIMMを用いた場合のメモリ構成図を示
す。SIMM92は、データメモリ領域(32ビット)
とECC用コードメモリ領域(8ビット)とに分けられ
ている。CPUによってデータの書き込みが行われる場
合には、データメモリ領域にデータが書き込まれるのと
同時に、そのデータはECCコード発生回路95に入力
され、ここでECCコードが生成されて、SIMM92
のECC用コードメモリ領域に記憶される。FIG. 7 shows a memory configuration diagram when a conventional SIMM capable of performing ECC error correction is used. The SIMM 92 has a data memory area (32 bits)
And an ECC code memory area (8 bits). When data is written by the CPU, the data is input to the ECC code generation circuit 95 at the same time as the data is written to the data memory area, where the ECC code is generated and the SIMM 92
Is stored in the ECC code memory area.
【0010】逆に、CPUがSIMM92からデータを
読み出す場合には、そのデータに対応したECCコード
がデータ訂正エラー検出回路94に読み出される。デー
タ訂正エラー検出回路94では、読み出されたデータそ
のものと、パリティデータとの照合を行ってエラーが検
出されたか否かのチェックを行い、「エラーなし」ある
いは「訂正可能」のときは、読み出された正常なデータ
をCPUへ出力し、「エラーあり」の場合で訂正不可能
な場合は、エラーが発生したことをCPUへ出力する。
このECCエラー訂正が可能なSIMMは、データ訂正
エラー検出回路94とECCコード発生回路95と共に
一体成形されて1つのLSIとして供給される。また、
SIMM92は、データバス及びアドレスバスを入出力
端子として有しており、容易に追加,交換ができるよう
に、装着操作によって着脱が可能な構造となっている。Conversely, when the CPU reads data from the SIMM 92, an ECC code corresponding to the data is read by the data correction error detection circuit 94. The data correction error detection circuit 94 checks whether or not an error is detected by comparing the read data itself with the parity data. The output normal data is output to the CPU, and if "error exists" and cannot be corrected, the fact that an error has occurred is output to the CPU.
The SIMM capable of ECC error correction is formed integrally with the data correction error detection circuit 94 and the ECC code generation circuit 95 and supplied as one LSI. Also,
The SIMM 92 has a data bus and an address bus as input / output terminals, and has a structure that can be detached by a mounting operation so that it can be easily added or replaced.
【0011】[0011]
【発明が解決しようとする課題】従来、パーソナルコン
ピュータでは、実装されるSIMMのメモリ容量は、高
々8Mバイトあるいは16Mバイト程度であったため、
パリティ無しあるいはパリティ付きタイプのSIMMを
用いても、信頼性については特に問題とはならなかっ
た。Conventionally, in a personal computer, the memory capacity of a SIMM to be mounted is at most about 8 Mbytes or 16 Mbytes.
Even if a SIMM without parity or with parity was used, there was no particular problem in reliability.
【0012】ところが、最近のSIMMの価格の低下に
より、32Mバイトあるいは64Mバイト以上のメモリ
が実装される場合も多く、今後のメモリの価格の低下に
より、さらに大容量のメモリが実装される可能性が高
い。したがって、実装されるメモリの容量が大きくなれ
ばなるほど、ビット誤りが発生する確率が高くなるた
め、現状用いられているパリティ無し又はパリティ付き
のSIMMを用いていたのでは、メモリの読み出し及び
書き込みの信頼性が問題となる場合が増加することが予
想される。However, due to the recent decrease in the price of SIMMs, a memory of 32 Mbytes or 64 Mbytes or more is often mounted. Due to the reduction in the price of the memory in the future, there is a possibility that a larger capacity memory will be mounted. Is high. Therefore, the larger the capacity of the memory to be mounted, the higher the probability of occurrence of a bit error. Therefore, if the currently used SIMM without parity or with parity is used, reading and writing of the memory can be performed. It is expected that reliability will be an issue more often.
【0013】一方、十分な信頼性を確保できる「ECC
誤り訂正方式のSIMM」は、現状コストも高く、入手
が困難である。さらに、「ECC誤り訂正方式のSIM
M」と「パリティ無しあるいはパリティ付きのSIM
M」とでは、ピンの互換性がない。On the other hand, "ECC" which can secure sufficient reliability
The error-correction SIMM is currently expensive and difficult to obtain. Furthermore, "SIM of the ECC error correction system"
M ”and“ SIM without parity or with parity ”
There is no pin compatibility with "M".
【0014】したがって、現状安価な「パリティ付きの
SIMM」を実装していたユーザが、メモリを増設する
際に信頼性を向上させるために、「パリティ付きのSI
MM」を「ECC誤り訂正方式のSIMM」に交換する
ことはできない。すなわち、十分な信頼性を確保しつ
つ、メモリを増設するためには、当初から信頼性の高い
「ECC誤り訂正方式のSIMM」を利用した装置を購
入しておく必要があった。[0014] Therefore, a user who has mounted an inexpensive “SIMM with parity” at present can use the “SIMM with parity” to improve the reliability when adding memory.
"MM" cannot be exchanged for "SIMC of the ECC error correction system". That is, in order to increase the memory while ensuring sufficient reliability, it was necessary to purchase a device using a highly reliable “ECC error correction system SIMM” from the beginning.
【0015】また、パーソナルコンピュータは、1つの
アプリケーションのみを利用して大容量のメモリは必要
としないユーザーから、画像の作成・加工を対象として
大容量のメモリを必要とするユーザーまで、種々の利用
の形態が考えられるため、ユーザーの要求に応じて実装
可能なメモリ容量を選択できるようにする必要がある。
したがって、小容量のメモリのみでよいユーザーにとっ
ては、多少信頼性は低くても現状の安価な「パリティ無
しのSIMM」を利用できるコンピュータが望まれ、ま
た、将来メモリの増設を予定しているユーザーによって
は、当初は安価なSIMMを利用できると共に、将来的
には、安価なSIMMと互換性がありかつ信頼性の高い
メモリと交換あるいはそのようなメモリが増設できるよ
うなメモリ構成のコンピュータが望まれる。The personal computer can be used in various ways from a user who uses only one application and does not need a large-capacity memory to a user who requires a large-capacity memory for image creation and processing. Therefore, it is necessary to be able to select a mountable memory capacity according to a user's request.
Therefore, for users who only need a small amount of memory, a computer that can use the current inexpensive “SIMM without parity” even though the reliability is somewhat low is desired, and users who are planning to add more memory in the future. In some cases, a computer with a memory configuration that allows use of an inexpensive SIMM at the beginning and that can be replaced with a highly reliable memory that is compatible with an inexpensive SIMM or that can be expanded in the future is desired. It is.
【0016】そこで、この発明は以上のような事情を考
慮してなされたものであり、従来から用いられているパ
リティ無しあるいはパリティ付きのSIMMを利用しな
がら、ECC誤り訂正が可能であってかつパリティ無し
あるいはパリティ付きのSIMMと互換性のある記憶回
路モジュールを提供することを課題とする。Accordingly, the present invention has been made in view of the above circumstances, and it is possible to perform ECC error correction while using a conventional SIMM without parity or with parity. It is an object to provide a storage circuit module that is compatible with a SIMM without parity or with parity.
【0017】[0017]
【課題を解決するための手段】この発明は、データを記
憶するデータ記憶部と、データ記憶部に記憶されるデー
タの誤り訂正符号を記憶するECC記憶部と、前記デー
タの誤り訂正符号を生成する訂正符号生成部と、前記E
CC記憶部に記憶された誤り訂正符号を利用して誤り訂
正・検出を行う訂正・検出部とを備え、前記ECC記憶
部が、誤り訂正機能を有しない記憶素子から構成される
ことを特徴とする記憶回路モジュールを提供するもので
ある。また、前記データ記憶部と前記ECC記憶部と
が、パリティ付きのSIMMメモリ又はパリティなしの
SIMMメモリとしてもよい。さらに、前記訂正符号生
成部及び前記訂正・検出部の動作を作動・停止させる切
替部をさらに備え、誤り訂正符号の利用可・不可を任意
に選択できるとしてもよい。ここで、前記SIMMメモ
リが、フラッシュメモリ,DRAM又はSRAMのうち
いずれかによって構成されることが好ましい。According to the present invention, there is provided a data storage unit for storing data, an ECC storage unit for storing an error correction code of data stored in the data storage unit, and a method of generating an error correction code for the data. A correction code generator for performing
A correction / detection unit that performs error correction / detection using an error correction code stored in a CC storage unit, wherein the ECC storage unit is configured by a storage element having no error correction function. A storage circuit module is provided. Further, the data storage unit and the ECC storage unit may be a SIMM memory with parity or a SIMM memory without parity. Furthermore, a switching unit that activates / deactivates the operation of the correction code generation unit and the correction / detection unit may be further provided, and the availability or non-use of the error correction code may be arbitrarily selected. Here, it is preferable that the SIMM memory is constituted by any one of a flash memory, a DRAM and an SRAM.
【0018】一般に、32ビット長のデータに対して、
8ビットのECCによるデータ誤り訂正符号が生成され
る。データ記憶部のために用いられるSIMMとして、
4Mバイト、32ビットバス幅のものを1つ用いた場
合、ECC記憶部のために同一容量のSIMMを1つ用
いればよい。このときECC誤り訂正符号を記憶するた
めにECC記憶部のSIMMは1/4の容量が使用され
る。Generally, for 32-bit data,
An 8-bit ECC data error correction code is generated. As a SIMM used for the data storage unit,
In the case of using one 4 Mbyte, 32-bit bus, one SIMM having the same capacity may be used for the ECC storage unit. At this time, in order to store the ECC error correction code, the SIMM of the ECC storage unit uses a quarter capacity.
【0019】また、4MバイトのSIMMを2つ用いて
8Mバイトのデータ記憶部を構成する場合は、ECC記
憶部としては4MバイトのSIMMの1/2が使用さ
れ、データ記憶部を12Mバイト、16Mバイト構成と
する場合には、ECC記憶部は、それぞれ4Mバイトの
SIMMの3/4,4/4が使用される。When an 8-Mbyte data storage unit is configured by using two 4-Mbyte SIMMs, one-half of a 4-Mbyte SIMM is used as an ECC storage unit, and a 12-Mbyte data storage unit is used. In the case of a 16 Mbyte configuration, the ECC storage unit uses 3/4, 4/4 of a 4 Mbyte SIMM.
【0020】ところで、記憶素子の信頼性を表わす目安
として故障率(フィット数)が通常用いられる。フィッ
ト数とは、故障率を表わすものである。たとえば、16
MビットDRAM,4MビットDRAM,4Mビット高
速SRAMの場合は、いずれもフィット数は1000程
度であり、1Mビット高速SRAMのフィット数は25
程度である。ここで、故障率とは、時間tにおける故障
率/時間tまでの残存数をいう。故障率が10-9になる
場合を1fitという。Incidentally, the failure rate (the number of fits) is usually used as a measure of the reliability of the storage element. The number of fits indicates a failure rate. For example, 16
In the case of the M-bit DRAM, the 4-Mbit DRAM, and the 4-Mbit high-speed SRAM, the number of fits is about 1000, and the number of fits of the 1-Mbit high-speed SRAM is 25.
It is about. Here, the failure rate refers to the failure rate at time t / the number remaining until time t. The case where the failure rate becomes 10 -9 is called 1 fit.
【0021】4MビットのDRAMを64個用いて32
Mバイトの記憶回路モジュールを構成し、この記憶回路
モジュール1000個を1か月当り250時間動作させ
たとすると、ECCやパリティによる誤り検出を行わな
い場合は約15.75時間に1回の誤りが発生するが、
ECC誤り訂正を行った場合には、15873時間に1
回の誤りが発生することになる。すなわち、ECCによ
る誤り訂正を行った場合には、約1000倍信頼性を向
上させることができると言える。Using 64 4 Mbit DRAMs, 32
Assuming that an M-byte storage circuit module is configured and 1000 storage circuit modules are operated for 250 hours per month, an error occurs approximately every 15.75 hours if error detection by ECC or parity is not performed. Occurs,
When ECC error correction is performed, 1 in 15873 hours
Errors will occur. That is, when error correction by ECC is performed, it can be said that the reliability can be improved about 1000 times.
【0022】[0022]
【発明の実施の形態】以下、図面に示す実施の形態に基
づいてこの発明を詳述する。なお、これによってこの発
明が限定されるものではない。図1に、この発明の記憶
回路モジュールの一実施例の構成ブロック図を示す。こ
こで、図4に示した従来の構成ブロック図に対して、E
CC回路300とECCコード用メモリ60が付加され
る点が異なる。また、データ用メモリ50及びECCコ
ード用メモリ60は、どちらも、現在市販されているS
IMMを用いるものとする。ここで、「パリティ無しの
SIMM」又は「パリティ付きのSIMM」のどちらか
を使い、基板上にSIMM専用のスロットを設け、これ
に着脱するようにする。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail based on an embodiment shown in the drawings. Note that the present invention is not limited to this. FIG. 1 is a block diagram showing a configuration of an embodiment of a storage circuit module according to the present invention. Here, the conventional configuration block diagram shown in FIG.
The difference is that a CC circuit 300 and an ECC code memory 60 are added. The data memory 50 and the ECC code memory 60 are both commercially available S
IMM shall be used. Here, using either “SIMM without parity” or “SIMM with parity”, a slot dedicated to the SIMM is provided on the board, and is attached to and detached from the slot.
【0023】データ用メモリ50及びECCコード用メ
モリ60は、従来のSIMMが容易に実装可能であった
のと同様に、容易に追加,変更及び削除が可能な構成と
することができる。すなわち、大容量のメモリを搭載で
きるようにするためには、データ用メモリ50のSIM
Mのスロットを予め複数個備えておけばよい。さらに、
ECCコード用メモリ60も基板にじか付けするのでは
なく、専用のスロットを設け、取りはずしができるよう
にしておく。The data memory 50 and the ECC code memory 60 can be configured to be easily added, changed, and deleted in the same manner as the conventional SIMM can be easily mounted. That is, in order to mount a large-capacity memory, the SIM
A plurality of M slots may be provided in advance. further,
The ECC code memory 60 is not directly attached to the substrate, but is provided with a dedicated slot so that it can be removed.
【0024】このように、ECCコード用メモリ60の
着脱が可能な構成とすることにより、小容量のメモリ構
成で、特にECCエラー訂正を必要としない場合はEC
Cコード用メモリ60としてのSIMMは実装しない
が、大容量のメモリ構成でECCエラー訂正が必要とな
る場合には、ECCコード用メモリ60としてのSIM
Mを実装することが可能となる。As described above, by adopting a configuration in which the ECC code memory 60 can be attached and detached, a small-capacity memory configuration is used, especially when ECC error correction is not required.
Although the SIMM as the C-code memory 60 is not mounted, if the large-capacity memory configuration requires ECC error correction, the SIM as the ECC-code memory 60 is required.
M can be implemented.
【0025】次に、図1において、この実施例における
データの読み出し及び書き込みの動作の概略を説明す
る。まず、あるデータAをデータ用メモリ50に書き込
む動作が発生した場合には、CPU100は、データ用
メモリ50のアドレスを指定して、データAの書き込み
動作を行う。このとき、ECC回路300にはデータバ
スが接続されているので、ECC回路300にデータA
が書込まれる。Next, referring to FIG. 1, an outline of data read and write operations in this embodiment will be described. First, when an operation of writing certain data A to the data memory 50 occurs, the CPU 100 specifies the address of the data memory 50 and performs the data A writing operation. At this time, since the data bus is connected to the ECC circuit 300, the data A is transmitted to the ECC circuit 300.
Is written.
【0026】ECC回路300は、このデータAが書き
込まれると、データAをデータ用メモリ50に格納する
と共に、その内部でECCコードを生成し、このECC
コードをECCコード用メモリ60に格納する。このと
き、データAが書き込まれるデータ用メモリ50のアド
レスと、データAのECCコードが書き込まれるECC
コード用メモリ60のアドレスとは1対1に対応づけら
れており、一般的には同じアドレスが付与される。When the data A is written, the ECC circuit 300 stores the data A in the data memory 50, generates an ECC code therein, and
The code is stored in the ECC code memory 60. At this time, the address of the data memory 50 where the data A is written and the ECC where the ECC code of the data A is written
The addresses of the code memory 60 are associated with each other on a one-to-one basis, and generally have the same address.
【0027】データ用メモリ50からあるデータBを読
み出す場合には、CPU100は、データ用メモリ50
のアドレスを指定して、データBの読み出し動作を行
う。このとき、データBがデータ用メモリ50からEC
C回路300に読み出されると共に、ECCコード用メ
モリ60からデータBに対応するECCコードが読み出
される。When reading certain data B from the data memory 50, the CPU 100
The read operation of the data B is performed by designating the address of. At this time, data B is transferred from data memory 50 to EC.
The ECC code corresponding to the data B is read from the ECC code memory 60 while being read by the C circuit 300.
【0028】ECC回路300では、読み出されたデー
タBに対してECCコードを生成し、この生成されたE
CCコードと読み出されたECCコードとを比較する。
一致する場合にはそのままデータBをCPU100へ送
り出すが、エラーが検出された場合には、そのエラー検
出情報をCPU100へ送り出す。また、ECCエラー
訂正によれば、1ビットの誤りはECCコードを利用し
て訂正できるので、ECC回路内部で訂正した後の正し
いデータBを生成してCPU100へ送り出す。以上が
この発明の一実施例におけるメモリ読み出し及び書き込
み動作の概要であるが、次にECC回路300の構成の
実施例について説明する。The ECC circuit 300 generates an ECC code for the read data B, and generates the generated ECC code.
The CC code is compared with the read ECC code.
When they match, the data B is sent to the CPU 100 as it is. When an error is detected, the error detection information is sent to the CPU 100. In addition, according to the ECC error correction, a one-bit error can be corrected using an ECC code. Therefore, correct data B corrected inside the ECC circuit is generated and sent to the CPU 100. The above is the outline of the memory read and write operations in one embodiment of the present invention. Next, an embodiment of the configuration of the ECC circuit 300 will be described.
【0029】図2に、この発明の一実施例のECC回路
300の構成ブロック図を示す。同図において、データ
用メモリ50及びECCコード用メモリ60以外が、E
CC回路300に相当する。バス切替部41は、CPU
100とデータバス及びライト信号線,リード信号線に
よって接続され、メモリに通じるデータバスをライト方
向(図2の右方向)か、又はリード方向(図2の左方
向)に切替える動作をするものであり、TTL又はCM
OS等の論理素子によって構成される。ここで、データ
バスの方向切替えは、ライト信号及びリード信号によっ
て行われる。FIG. 2 is a block diagram showing the configuration of the ECC circuit 300 according to one embodiment of the present invention. In the figure, except for the data memory 50 and the ECC code memory 60, E
It corresponds to the CC circuit 300. The bus switching unit 41 includes a CPU
100 is connected by a data bus and a write signal line and a read signal line, and performs an operation of switching a data bus leading to the memory in a write direction (right direction in FIG. 2) or in a read direction (left direction in FIG. 2). Yes, TTL or CM
It is composed of a logic element such as an OS. Here, the direction of the data bus is switched by a write signal and a read signal.
【0030】切替バイト制御部42は、データ用メモリ
50に記憶されるデータのバイト数に応じて、データ用
メモリ50に通じるデータバス(図2の「ハ」部)の各
ビット線の使用許可・不可を制御するものであり、TT
L又はCMOS等の論理素子によって構成される。ここ
で、ビット数の切り替えは、CPU100から送られる
4つのバイトイネーブル0〜3信号が使用される。The switching byte control unit 42 permits the use of each bit line of the data bus ("C" in FIG. 2) leading to the data memory 50 in accordance with the number of bytes of data stored in the data memory 50.・ It controls the impossibility, TT
It is constituted by a logic element such as L or CMOS. Here, the switching of the number of bits uses four byte enable signals 0 to 3 sent from the CPU 100.
【0031】この実施例においては、データ用メモリ5
0及びECCコード用メモリ60にはSIMMが用いら
れるわけであるが、いずれも32ビット構成のものを用
い、最大32ビットのデータが記憶できるものとする。
そして実際にデータを記憶する場合には、メモリ空間を
8ビット単位の4つのブロックに分けて使用できるよう
にするため、バイトイネーブル0〜3信号を利用する。In this embodiment, the data memory 5
SIMM is used for the 0 and ECC code memory 60, and both have a 32-bit configuration and can store data of a maximum of 32 bits.
When data is actually stored, byte enable signals 0 to 3 are used in order to divide the memory space into four blocks of 8 bits.
【0032】図3に、バイトイネーブル信号0〜3と、
SIMMメモリに書き込まれるデータの有効ビット数の
関係を示す。すなわち、32ビットデータを書き込む場
合は、全ビットを有効とするため、バイトイネーブル信
号0〜3はすべてON状態(“H”レベル)とし、下位
0〜7ビットの8ビットのみを有効として8ビットデー
タを書き込む場合は、バイトイネーブル0信号のみをO
N状態(“H”レベル)とする。その他の場合も、適宜
バイトイネーブル0〜3信号をON又はOFF状態とす
ることによって、所定のビット長のデータを所定のブロ
ックに書き込むことが可能となる。FIG. 3 shows byte enable signals 0-3,
The relationship between the number of effective bits of data written to a SIMM memory is shown. That is, when writing 32-bit data, to enable all bits, all byte enable signals 0 to 3 are set to the ON state (“H” level), and only the lower 8 bits of 0 to 7 bits are set to 8 bits. When writing data, only the byte enable 0 signal
N state (“H” level). In other cases, data of a predetermined bit length can be written to a predetermined block by appropriately turning on or off the byte enable signals 0 to 3.
【0033】パリティ発生部80は、図2の信号線
「ハ」部に出力されたデータのパリティを発生させる回
路であるが、これは従来から利用されている回路を用い
ればよい。ECCコード発生部20は、図2の「ハ」部
に出力されたデータのECCコードを発生させる回路で
あるが、これも従来から利用されている回路を用いれば
よい。The parity generating section 80 is a circuit for generating the parity of the data output to the signal line "c" in FIG. 2, but it may be a conventionally used circuit. The ECC code generation unit 20 is a circuit that generates an ECC code of the data output to the “C” part in FIG. 2, and a circuit that has been conventionally used may be used.
【0034】パリティECC切替部70は、切替部に相
当し、ECCコード用メモリ60に記憶されるエラーチ
ェック用コードとして、パリティを用いるか、又はEC
Cコードとするかを切替える回路であり、この切替えは
CPU100から送られる切替信号によって行われる。
たとえば、1ビットの切替信号を用いるとき、次のよう
に設定すればよい。“1”の時は、信号線「チ」部と
「リ」部を接続して、ECCコードをECCコード用メ
モリ60に書込む。“0”の時は、信号線「ト」部と
「リ」部を接続して、ECCコードをECCコード用メ
モリ60に書込む。The parity ECC switching unit 70 corresponds to a switching unit, and uses a parity as an error check code stored in the ECC code memory 60 or an ECC code.
This is a circuit for switching whether to use the C code or not, and this switching is performed by a switching signal sent from the CPU 100.
For example, when a 1-bit switching signal is used, the following settings may be made. When it is "1", the signal lines "H" and "R" are connected, and the ECC code is written into the ECC code memory 60. When it is "0", the signal lines "g" and "g" are connected, and the ECC code is written into the ECC code memory 60.
【0035】また、ECCコードやパリティによる誤り
検出をしない場合には、パリティECC切替部70にお
いて、信号線の「リ」部分を、信号線「ト」部及び
「チ」部のどちらにも接続しないようにすればよい。こ
れは、たとえば、切替信号として2ビットデータを用
い、“00”のときは、信号線「リ」部は接続なし、
“01”のときは、信号線「リ」部と「ト」部とを接
続、“10”のときは、信号線「リ」部と「チ」部とを
接続するというように設置すれば実現できる。When the error is not detected by the ECC code or the parity, the parity ECC switching unit 70 connects the “R” part of the signal line to both the “G” part and the “H” part of the signal line. What should be done is not. This is because, for example, 2-bit data is used as a switching signal, and when "00", the signal line "R" is not connected,
If the signal line is “01”, the signal lines “R” and “G” are connected, and if it is “10”, the signal lines “R” and “H” are connected. realizable.
【0036】また、パリティ又はECCコードを記憶し
ない場合は、ECCコード用メモリ60のスロットにS
IMMを搭載しないようにしてもよい。パリティチェッ
ク部90は、パリティエラー検出をするものであり、図
6に示したエラー検出回路93と同様のものを用いれば
よい。エラー訂正検出部30は、ECCコードによって
エラー検出をするものであり、図7に示したデータ訂正
エラー検出回路94と同様のものを用いればよい。パリ
ティチェック部90及びエラー訂正検出部30とも、デ
ータ用メモリ50から読み出したデータが入力される
と、それぞれそのデータのパリティ又はECCコードを
生成し、これとECCコード用メモリ60から読み出さ
れたデータと比較して、エラーの有無を出力する。When the parity or the ECC code is not stored, the slot of the ECC code memory 60 is
The IMM may not be mounted. The parity check unit 90 detects a parity error, and may use the same one as the error detection circuit 93 shown in FIG. The error correction detection section 30 detects an error using an ECC code, and may use the same one as the data correction error detection circuit 94 shown in FIG. When the data read from the data memory 50 is input, both the parity check unit 90 and the error correction detection unit 30 generate a parity or an ECC code of the data and read out the parity and the ECC code from the ECC code memory 60, respectively. Outputs the presence / absence of an error in comparison with the data.
【0037】以下に、まずECCコードを生成して、エ
ラーチェックを行う場合の実施例について説明する。初
めに、32ビットデータをデータ用メモリ50に書込む
場合について述べる。この場合、信号線「ハ」部分の3
2ビットがすべて使用されるので、CPU100は、バ
イトイネーブル0〜3信号をすべてON状態とする。ま
た、ECCコードを生成するため、CPU100は、切
替信号をON状態、すなわち“1”としてパリティEC
C切替部70に与える。このとき、前記したように信号
線「チ」と「リ」とが接続され、ECCコード発生部2
0で生成されたECCコードがECCコード用メモリ6
0に書込まれる。Hereinafter, an embodiment in which an ECC code is generated and an error check is performed will be described. First, a case where 32-bit data is written to the data memory 50 will be described. In this case, the signal line "c" portion 3
Since all two bits are used, the CPU 100 turns on all the byte enable signals 0 to 3. To generate the ECC code, the CPU 100 sets the switching signal to the ON state, that is, sets the parity signal to “1”.
This is given to the C switching unit 70. At this time, as described above, the signal lines “H” and “H” are connected, and the ECC code generator 2
0 is the ECC code memory 6
Written to 0.
【0038】CPU100が、あるデータAを、データ
用メモリに書込む動作をしたとする。CPUは、データ
バス上へデータAを、アドレスバス上へ書込むべきアド
レスを出力し、所定のタイミングでライト信号を出力す
る。このライト信号を受けてバス切替部41は、ライト
方向、すなわち図2の右方向にバスの方向を切替える。
また、バイトイネーブル0〜3信号によって、切替バイ
ト制御部40は、有効とするビット数を選択し、データ
バスを図2の右方向に切替える。It is assumed that the CPU 100 performs an operation of writing certain data A into the data memory. The CPU outputs data A on the data bus and an address to be written on the address bus, and outputs a write signal at a predetermined timing. Upon receiving this write signal, the bus switching unit 41 switches the bus direction to the write direction, that is, the right direction in FIG.
In addition, in response to the byte enable signals 0 to 3, the switching byte control unit 40 selects the number of valid bits and switches the data bus to the right in FIG.
【0039】バス切替部41及び切替バイト制御部40
がこのような状態で、CPU100から与えられたデー
タAは、信号線「ハ」部を通ってデータ用メモリ50へ
書込まれる。また、データAは、信号線「ハ」部を通っ
て、パリティ発生部80及びECCコード発生部20へ
入力され、それぞれデータAに対するパリティとECC
コードが生成される。パリティECC切替え部70は、
信号線「チ」部と「リ」部とを接続するが、信号線
「ト」部はどこにも接続されていないので、パリティ発
生部80で生成されたパリティは記憶されない。一方、
ECCコード発生部20で生成されたECCコードは、
パリティECC切替え部70を経由して信号線「リ」を
通って、アドレスバスで指定されたECCコード用メモ
リ60のアドレスへ記憶される。ここで記憶されるEC
Cコードは7ビットである。Bus switching unit 41 and switching byte control unit 40
In such a state, the data A given from the CPU 100 is written to the data memory 50 through the signal line "c". The data A is input to the parity generator 80 and the ECC code generator 20 through the signal line “C”, and the parity and the ECC for the data A are respectively input.
Code is generated. The parity ECC switching unit 70
Although the signal line “H” and the “R” are connected, the signal line “G” is not connected anywhere, so that the parity generated by the parity generator 80 is not stored. on the other hand,
The ECC code generated by the ECC code generator 20 is
The data is stored at the address of the ECC code memory 60 specified by the address bus via the signal line “R” via the parity ECC switching unit 70. EC stored here
The C code is 7 bits.
【0040】次に、ECCコードを生成するが、32ビ
ット長のデータ以外のデータ、たとえば8ビットデータ
Bをデータ用メモリ50に書込む場合について述べる。
このとき、切替信号には“1”が出力され、信号線
「チ」部と「リ」部とが接続される。書込まれるデータ
が0ビット目から7ビット目までの8ビットであると
き、バイトイネーブル0信号のみがON状態とされる。
すなわち、CPU100は、バイトイネーブル0信号を
ON状態、バイトイネーブル1〜3信号をOFF状態と
して出力する。Next, a case where an ECC code is generated and data other than 32-bit length data, for example, 8-bit data B is written in the data memory 50 will be described.
At this time, “1” is output as the switching signal, and the signal line “H” and “R” are connected. When the data to be written is 8 bits from the 0th bit to the 7th bit, only the byte enable 0 signal is turned on.
That is, the CPU 100 outputs the byte enable 0 signal as an ON state and the byte enable 1 to 3 signals as an OFF state.
【0041】このバイトイネーブル信号がバス切替え部
41と切替えバイト制御部40へ与えられると、信号線
「イ」部及び「ロ」部では、0〜7ビットの8つの信号
線のみが有効となる。そして、CPU100から与えら
れた8ビットデータBは、信号線「イ」部、「ロ」部を
通って、「ハ」部の0〜7ビットに出力される。When this byte enable signal is supplied to the bus switching unit 41 and the switching byte control unit 40, only eight signal lines of 0 to 7 bits are valid in the signal lines "a" and "b". . Then, the 8-bit data B given from the CPU 100 is output to the 0th to 7th bits of the “c” portion through the signal lines “a” and “b”.
【0042】まず、アドレスバスにデータ用メモリ50
のアドレスが出力されている状態で、CPU100がバ
イトライトすることによって、データ用メモリ50のそ
のアドレスに記憶された32ビットデータが読み出さ
れ、信号線「ニ」へ出力される。また同様に、CPUが
バイトライトすることによって、ECCコード用メモリ
60の同一アドレスに記憶されている7ビットのECC
コードが読み出され、信号線「ホ」部へ出力される。First, the data memory 50 is connected to the address bus.
When the CPU 100 performs a byte write in a state in which the address is output, the 32-bit data stored at that address in the data memory 50 is read and output to the signal line “d”. Similarly, when the CPU performs a byte write, the 7-bit ECC stored in the same address of the ECC code memory 60 is stored.
The code is read and output to the signal line “e”.
【0043】次に、信号線「ニ」部に出力された32ビ
ットデータと、信号線「ホ」部に出力されたECCコー
ドとは、エラー訂正検出部30へ与えられる。エラー訂
正検出部30では、32ビットデータと、信号線「ホ」
部から与えられたECCコードから、エラーの有無を判
断する。エラーの有無の判断後、エラー訂正検出部30
は、エラーがある場合は、「1ビットエラー」又は「2
ビット以上エラー」のどちらかを信号線を通してCPU
へ通知する。また、エラー訂正検出部30は、エラーが
1ビットの場合は、そのビットを訂正し、訂正された3
2ビットデータを信号線「ヘ」部へ出力する。エラーが
ない場合は、エラー訂正検出部30へ入力されたデータ
はそのまま信号線「ヘ」部へ出力される。Next, the 32-bit data output to the signal line “D” and the ECC code output to the signal line “E” are supplied to the error correction detector 30. In the error correction detection unit 30, the 32-bit data and the signal line "e"
The presence / absence of an error is determined from the ECC code given by the section. After determining whether there is an error, the error correction detection unit 30
Indicates "1 bit error" or "2
CPU error through a signal line
Notify to When the error is 1 bit, the error correction detection unit 30 corrects the bit and corrects the corrected 3 bit.
The 2-bit data is output to the signal line “F”. If there is no error, the data input to the error correction detection unit 30 is output to the signal line “F” as it is.
【0044】この後、信号線「ヘ」部へ出力された32
ビットデータは切替バイト制御部42へ与えられ、信号
線「ハ」部の8ビットから31ビット目は上記信号線
「ヘ」部の32ビットデータが用いられる。また、信号
線「ハ」部の0ビットから7ビット目は、信号線「ロ」
部を経由してきたデータが利用される。Thereafter, 32 output to the signal line "F"
The bit data is supplied to the switching byte control unit 42, and the 32-bit data of the signal line “F” is used for the 31st to 8th bits of the signal line “C”. Also, the 0th to 7th bits of the signal line “C” portion are the signal line “B”.
The data passed through the department is used.
【0045】このように、切替えバイト制御部40は、
「ロ」部及び「ヘ」部から入力されるデータを合成する
ためにセレクタ回路を備えることが好ましい。このセレ
クタ回路は、TTL又はCMOS等の論理素子を用いて
構成することができる。また、上記のように合成され、
かつ信号線「ハ」部へ出力された32ビットのデータ
は、データ用メモリ50に書込まれる。また、この
「ハ」部の32ビットデータはECCコード発生部20
に入力されてECCコードが発生され、ECCコード用
メモリ60の所定のアドレスに書込まれる。As described above, the switching byte control unit 40
It is preferable to provide a selector circuit for synthesizing the data input from the “b” section and the “f” section. This selector circuit can be configured using a logic element such as TTL or CMOS. Also, synthesized as described above,
The 32-bit data output to the signal line “C” is written into the data memory 50. Also, the 32-bit data of the "C" portion is stored in the ECC code generator 20.
To generate an ECC code, which is written to a predetermined address of the ECC code memory 60.
【0046】次に、データ用メモリ50に書込まれたデ
ータを読み出す場合の実施例について述べる。ここで、
データの読出しについては、データ長32ビットであろ
うと、8ビットであろうと同様の処理で行われる。CP
U100は、データ用メモリ50の読み出すべきアドレ
スをアドレスバス上に出力し、さらに所定のタイミング
でリード信号を出力する。リード信号が、バス切替部4
1に入力されると、バス切替部41は、バスの方向をリ
ード方向、すなわち図2の左方向に切替える。また、読
出しの場合は、バイトイネーブル0〜3信号は無視さ
れ、常に信号線「イ」部,「ロ」部及び「ハ」部では3
2ビット長のデータが入出力される。Next, an embodiment for reading data written in the data memory 50 will be described. here,
Regarding reading of data, the same processing is performed regardless of whether the data length is 32 bits or 8 bits. CP
U100 outputs an address to be read from data memory 50 onto an address bus, and further outputs a read signal at a predetermined timing. The read signal is sent to the bus switching unit 4
When input to 1, the bus switching unit 41 switches the bus direction to the read direction, that is, the left direction in FIG. In the case of reading, the byte enable signals 0 to 3 are ignored, and the signal lines “a”, “b”, and “c” always have 3 signals.
2-bit data is input / output.
【0047】以下、データ用メモリ50からの読出し処
理について説明する。まず、データ用メモリ50に、ア
ドレスバスを通してアドレスが与えられ、リード信号が
与えられると、そのアドレスに記憶されていた32ビッ
トデータが信号線「ニ」部に出力される。また、このと
き同様に、ECCコード用メモリ60に、同じアドレス
が与えられ、リード信号が与えられると、そのアドレス
に記憶されていた7ビットのECCコードがECCコー
ド用メモリ60から信号線「ホ」部に出力される。この
後、信号線「ニ」部に出力された32ビットデータと、
信号線「ホ」部に出力された7ビットのECCコードと
は、エラー訂正検出部30へ与えられ、エラー検出又は
訂正が行われる。The reading process from the data memory 50 will be described below. First, when an address is applied to the data memory 50 through the address bus and a read signal is applied, the 32-bit data stored at the address is output to the signal line “d”. Similarly, at this time, when the same address is given to the ECC code memory 60 and a read signal is given, the 7-bit ECC code stored at that address is transferred from the ECC code memory 60 to the signal line “e”. Section. Thereafter, the 32-bit data output to the signal line “d” is
The 7-bit ECC code output to the signal line "e" is supplied to the error correction detection unit 30, where error detection or correction is performed.
【0048】エラー訂正検出部30は、入力された32
ビットデータのECCコードを生成して、入力されたE
CCコードと比較して、エラーが検出された場合は、
「1ビットエラー」又は「2ビット以上エラー」を信号
線を通してCPUへ通知する。エラー訂正検出部30
は、「1ビットエラー」の場合は訂正が可能であるた
め、その1ビットを訂正した後の32ビットデータを信
号線「ヘ」部へ出力する。信号線「ヘ」部へ出力された
32ビットデータは、バス切替部41を通して図2の左
方向へ送られ、信号線「イ」を経由してCPU100へ
転送される。なお、データの読出し時においてCPU1
00へ転送されるデータは32ビットであるが、必要な
データが8ビットである場合には、CPU100側で、
その必要な8ビットのみを取り込むようにすればよい。The error correction detector 30 receives the input 32
ECC code of bit data is generated, and E
If an error is detected in comparison with the CC code,
"One bit error" or "two or more bits error" is notified to the CPU through a signal line. Error correction detector 30
In the case of "1 bit error", since the correction is possible, the 32-bit data after correcting the 1 bit is output to the signal line "f". The 32-bit data output to the signal line “F” is sent to the left in FIG. 2 through the bus switching unit 41 and is transferred to the CPU 100 via the signal line “A”. When data is read, the CPU 1
The data transferred to 00 is 32 bits, but if the required data is 8 bits, the CPU 100
What is necessary is just to take in only the necessary 8 bits.
【0049】以上のように、データ用メモリ50とEC
Cコード用メモリ60を備えて、データの記憶とは別に
ECCコードを記憶するように構成すれば、既存のパリ
ティ無しのSIMMをこれらのメモリに用いた場合でも
ECCによるエラーチェックが行なえるため、データの
記憶回路の信頼性を向上させることができる。また、高
価なECC誤り訂正方式のSIMMを用いることなく、
既存のSIMMを用いることができるので、コストアッ
プを最小限に抑え、さらに従来のSIMMと互換性のあ
る記憶回路モジュールとしても用いることができる。As described above, the data memory 50 and the EC
By providing the C code memory 60 and storing the ECC code separately from the data storage, the error check by the ECC can be performed even when the existing SIMM without parity is used for these memories. The reliability of the data storage circuit can be improved. Also, without using the expensive ECC error correction SIMM,
Since an existing SIMM can be used, cost increase can be minimized, and further, it can be used as a storage circuit module compatible with a conventional SIMM.
【0050】次に、図2の構成ブロックにおいて、パリ
ティによる誤り検出を行う実施例について説明する。こ
の場合、構成は前記したECCによる誤り訂正検出と同
じであるが、切替信号をOFF状態、すなわち“0”と
することによって機能する部分を異ならせることによっ
て実現できる。Next, a description will be given of an embodiment in which error detection by parity is performed in the configuration block shown in FIG. In this case, the configuration is the same as the error correction detection by the ECC described above, but it can be realized by changing the functioning part by setting the switching signal to the OFF state, that is, to “0”.
【0051】前記したECCによる誤り訂正検出では、
パリティECC切替部70によって信号線「チ」部と
「リ」部とを接続して、ECCコードがECCコード用
メモリ60に記憶されるようにしたが、今回は、信号線
「チ」部は切離し、信号線「ト」部と「リ」部とを接続
して、パリティ発生部80によって生成したパリティが
ECCコード用メモリ60に記憶されるようにする。す
なわち、CPUからデータ用メモリ50へデータの読み
書きをする場合に、切替信号をON又はOFFの状態に
切り替えるだけで、この発明の記憶回路モジュールをE
CCによる誤り訂正検出を行うものとするか、又はパリ
ティによる誤り検出を行うものとするかを容易に使い分
けることが可能となる。この点も、この発明の特徴の一
つである。In the above-described error correction detection by ECC,
The parity ECC switching unit 70 connects the signal line “H” and the “R” unit so that the ECC code is stored in the ECC code memory 60. This time, the signal line “H” is Then, the signal lines “g” and “g” are connected, and the parity generated by the parity generator 80 is stored in the ECC code memory 60. That is, when data is read from or written to the data memory 50 from the CPU, the storage circuit module of the present invention can be operated by simply switching the switching signal to the ON or OFF state.
It is possible to easily determine whether to perform error correction detection by CC or error detection by parity. This is also one of the features of the present invention.
【0052】以下に、パリティによる誤り検出を行って
データの書き込み又は読み出しを行う処理について説明
する。以下の処理では、CPU100は、切替信号とし
て常にOFF状態(“0”)を出力する。これによっ
て、パリティECC切替部70内部で、信号線「ト」部
と「リ」部とが接続され、この経路を通ってパリティ発
生部80で生成されたパリティは、ECCコード用メモ
リ60に記憶される。The process of writing or reading data by detecting an error using parity will be described below. In the following processing, the CPU 100 always outputs the OFF state (“0”) as the switching signal. As a result, the signal line “g” and “g” are connected inside the parity ECC switching unit 70, and the parity generated by the parity generation unit 80 through this path is stored in the ECC code memory 60. Is done.
【0053】まず、32ビットデータAをデータ用メモ
リ50に書込む場合の処理について述べる。ECC誤り
訂正の場合と同様に、CPU100は、アドレスバス上
に、書込むべきアドレスを出力し、所定のタイミングで
書込み信号を出力する。このとき、書込み信号を受け
て、バス切替部41は、ライト方向、すなわち図2の右
方向にバスの方向を切替える。また、バイトイネーブル
0〜3信号をすべてON状態とすることで全ビットが有
効ビットとなり、切替バイト制御部40は、図2の右方
向にデータバスを切替える。First, a process for writing 32-bit data A to the data memory 50 will be described. As in the case of the ECC error correction, the CPU 100 outputs an address to be written on the address bus, and outputs a write signal at a predetermined timing. At this time, in response to the write signal, the bus switching unit 41 switches the bus direction to the write direction, that is, the right direction in FIG. When all the byte enable signals 0 to 3 are turned on, all the bits become valid bits, and the switching byte control unit 40 switches the data bus to the right in FIG.
【0054】この状態で信号線「イ」部,「ロ」部及び
「ハ」部を通って32ビットデータAがデータ用メモリ
50の指定されたアドレスに書込まれる。また、信号線
「ハ」部を通して、32ビットデータAはパリティ発生
部80へ入力され、パリティが生成される。このときパ
リティは、通常1バイトすなわち8ビット単位ごとに別
々に生成されるが、これに限定するものではない。ここ
で、32ビットデータは、信号線「ハ」部を通ってEC
Cコード発生部20へ入力されるが、信号線「チ」部は
「リ」部とは接続されないので、ECCコードが生成さ
れてもECCコード用メモリ60へは記憶されない。In this state, the 32-bit data A is written to the designated address of the data memory 50 through the signal lines "a", "b" and "c". Further, the 32-bit data A is input to the parity generation unit 80 through the signal line “C”, and the parity is generated. At this time, the parity is usually generated separately for each byte, that is, for every 8 bits, but is not limited to this. Here, the 32-bit data is transmitted through the signal line “C” to the EC.
Although the signal is input to the C code generator 20, the signal line “H” is not connected to the “R”, so even if an ECC code is generated, it is not stored in the ECC code memory 60.
【0055】パリティECC切替部70によって信号線
「ト」部と「リ」部とが接続されるので、生成されたパ
リティは、信号線「ト」部、「リ」部を通ってECCコ
ード用メモリへ送られ、アドレスバス上に出力された指
定アドレスに記憶される。以上が32ビットデータAを
データ用メモリ50に書込み、同時に、このデータAの
パリティをECCコード用メモリ60へ書込む処理であ
るが、8ビットデータの場合もバイトイネーブル信号で
有効とされるビット数が異なるだけでほぼ同様の処理で
データの書込みを行うことができる。たとえばビットイ
ネーブル0信号のみをON状態として他をOFF状態と
すれば、信号線「ハ」部の0〜7ビットが有効ビットと
なり、これに対応するデータ用メモリ50の位置に8ビ
ットデータが書込まれ、さらに、0〜7ビットに対応す
るECCコード用メモリ60の位置に、8ビットデータ
のパリティが書込まれる。Since the signal line “g” and “ri” are connected by the parity ECC switching unit 70, the generated parity passes through the signal line “g” and the “ri”, and is used for the ECC code. The data is sent to the memory and stored at the specified address output on the address bus. The above is the processing of writing the 32-bit data A to the data memory 50 and, at the same time, writing the parity of the data A to the ECC code memory 60. In the case of 8-bit data, the bits that are enabled by the byte enable signal Data writing can be performed by almost the same process except for the number. For example, if only the bit enable 0 signal is turned on and the others are turned off, 0 to 7 bits of the signal line "c" become effective bits, and 8-bit data is written to the corresponding data memory 50 position. Then, the parity of the 8-bit data is written into the position of the ECC code memory 60 corresponding to 0 to 7 bits.
【0056】次に、データ用メモリ50からデータを読
出す場合の処理について述べる。CPU100は、デー
タ用メモリ50から読み出すべきデータのアドレスをア
ドレスバス上に出力し、さらに所定のタイミングでリー
ド信号を出力する。このときリード信号によって、バス
切替部41は、図2の左方向、すなわちリード方向にバ
スを切替える。データ用メモリ50に、リード信号が入
力されると、アドレスバス上に出力されたアドレスに記
憶されていた32ビットデータが信号線「ニ」部に読み
出される。同様に、ECCコード用メモリ60の同じア
ドレスに記憶されていたパリティが信号線「ホ」部に読
み出される。Next, a process for reading data from the data memory 50 will be described. The CPU 100 outputs an address of data to be read from the data memory 50 onto an address bus, and further outputs a read signal at a predetermined timing. At this time, the bus switching unit 41 switches the bus in the left direction in FIG. When a read signal is input to the data memory 50, the 32-bit data stored at the address output on the address bus is read to the signal line "d". Similarly, the parity stored at the same address in the ECC code memory 60 is read out to the signal line “e”.
【0057】信号線「ニ」部に読み出された32ビット
データと、信号線「ホ」部に読み出されたパリティと
が、パリティチェック部90へ入力されると、パリティ
チェック部90では、この32ビットデータのパリティ
が計算され、入力されたパリティと比較する。この比較
の結果、正しくなければ、「パリティエラー」を信号線
を介してCPU100に通知する。正しければ、パリテ
ィチェック部90から信号線「ヘ」へ読み出された32
ビットデータがそのまま出力され、さらにバス切替部4
1を通して信号線「イ」すなわちCPU100のデータ
バスへその32ビットデータが出力される。なお、EC
C誤り訂正検出の読出し動作と同様に、読み出されるデ
ータが36ビットでも8ビットでもその他のビット数で
も読出し処理は同様である。When the 32-bit data read to the signal line “d” and the parity read to the signal line “e” are input to the parity check unit 90, the parity check unit 90 The parity of the 32-bit data is calculated and compared with the input parity. If the result of this comparison is not correct, a "parity error" is notified to the CPU 100 via a signal line. If it is correct, 32 read from the parity check unit 90 to the signal line “F”
The bit data is output as it is, and the bus switching unit 4
1, the 32-bit data is output to the signal line "i", that is, the data bus of the CPU 100. In addition, EC
Similar to the read operation for C error correction detection, the read processing is the same whether the data to be read is 36 bits, 8 bits, or any other number of bits.
【0058】また、CPU100が32ビットデータを
読み出した後、CPU100側でこの32ビットのうち
必要なビット数を取り込むようにすれば、記憶回路モジ
ュールにおいて読み出すビット数に応じて処理を区別す
る必要はない。以上のように、データ用メモリ50とE
CCコード用メモリ60とを別々に備えて、パリティを
ECCコード用メモリ60に記憶させるようにすれば、
既存のSIMMを用いたパリティチェック機能を持つ記
憶回路モジュールとしても構成することができる。If the CPU 100 reads the 32-bit data and then takes in the required number of bits out of the 32-bit data on the CPU 100 side, it is not necessary to discriminate the processing according to the number of bits read in the storage circuit module. Absent. As described above, the data memory 50 and E
By separately providing the CC code memory 60 and storing the parity in the ECC code memory 60,
It can also be configured as a storage circuit module having a parity check function using an existing SIMM.
【0059】[0059]
【発明の効果】この発明によれば、高価なECC誤り訂
正方式用SIMMを用いることなく、既存のパリティ無
し又はパリティ付きSIMMを用いて、ECCによる誤
り訂正検出を行うことができるので、コストを低く抑
え、信頼性の高い記憶回路モジュールを提供することが
できる。また、訂正符号生成部及び訂正検出部の動作を
作動・停止させる切替部を備えることによって、容易に
高信頼性が要求される場合と、要求されない場合のどち
らにも対応可能な構成とすることができる。According to the present invention, it is possible to perform error correction detection by ECC using an existing parity-less or parity-attached SIMM without using an expensive ECC error correction system SIMM. It is possible to provide a highly reliable storage circuit module which is kept low. In addition, by providing a switching unit that activates / deactivates the operations of the correction code generation unit and the correction detection unit, a configuration that can easily cope with both cases where high reliability is required and cases where high reliability is not required is provided. Can be.
【図1】この発明の一実施例における基本構成ブロック
図である。FIG. 1 is a block diagram showing a basic configuration according to an embodiment of the present invention.
【図2】この発明の一実施例におけるECC回路の詳細
構成ブロック図である。FIG. 2 is a detailed configuration block diagram of an ECC circuit according to one embodiment of the present invention.
【図3】この発明で用いるバイトイネーブル信号とデー
タの有効ビット数の関係説明図である。FIG. 3 is an explanatory diagram showing a relationship between a byte enable signal used in the present invention and the number of effective bits of data.
【図4】SIMMを用いた従来の記憶回路モジュールの
構成ブロック図である。FIG. 4 is a configuration block diagram of a conventional storage circuit module using a SIMM.
【図5】従来において、パリティなしのSIMMを用い
た構成ブロック図である。FIG. 5 is a configuration block diagram using a conventional SIMM without parity.
【図6】従来において、パリティ付きのSIMMを用い
た構成ブロック図である。FIG. 6 is a configuration block diagram using a SIMM with parity in the related art.
【図7】従来において、ECCエラー訂正を行うSIM
Mを用いた構成ブロック図である。FIG. 7 shows a conventional SIM that performs ECC error correction.
It is a block diagram using M.
20 ECCコード発生部 30 エラー訂正検出部 41 バス切替部 42 切替バイト制御部 50 データ用メモリ 60 ECCコード用メモリ 70 パリティECC切替部 80 パリティ発生部 90 パリティチェック部 100 CPU 200 ROM 300 ECC回路 Reference Signs List 20 ECC code generation unit 30 Error correction detection unit 41 Bus switching unit 42 Switching byte control unit 50 Data memory 60 ECC code memory 70 Parity ECC switching unit 80 Parity generation unit 90 Parity check unit 100 CPU 200 ROM 300 ECC circuit
Claims (4)
するECC記憶部と、 前記データの誤り訂正符号を生成する訂正符号生成部
と、 前記ECC記憶部に記憶された誤り訂正符号を利用して
誤り訂正・検出を行う訂正・検出部とを備え、 前記ECC記憶部が、誤り訂正機能を有しない記憶素子
から構成されることを特徴とする記憶回路モジュール。A data storage unit that stores data; an ECC storage unit that stores an error correction code of data stored in the data storage unit; a correction code generation unit that generates an error correction code of the data; A correction / detection unit that performs error correction / detection using an error correction code stored in an ECC storage unit, wherein the ECC storage unit is configured by a storage element having no error correction function. Storage circuit module.
が、パリティ付きのSIMMメモリ又はパリティなしの
SIMMメモリであることを特徴とする請求項1記載の
記憶回路モジュール。2. The storage circuit module according to claim 1, wherein the data storage unit and the ECC storage unit are a SIMM memory with parity or a SIMM memory without parity.
部の動作を作動・停止させる切替部をさらに備え、誤り
訂正符号の利用可・不可を任意に選択できることを特徴
とする請求項1又は2記載の記憶回路モジュール。3. The apparatus according to claim 1, further comprising a switching unit that activates / deactivates the operation of the correction code generation unit and the correction / detection unit, and enables or disables use of the error correction code. 3. The storage circuit module according to 2.
リ,DRAM又はSRAMのうちいずれかによって構成
されることを特徴とする請求項2記載の記憶回路モジュ
ール。4. The storage circuit module according to claim 2, wherein said SIMM memory is constituted by one of a flash memory, a DRAM, and an SRAM.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8264690A JPH10111839A (en) | 1996-10-04 | 1996-10-04 | Storage circuit module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8264690A JPH10111839A (en) | 1996-10-04 | 1996-10-04 | Storage circuit module |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10111839A true JPH10111839A (en) | 1998-04-28 |
Family
ID=17406850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8264690A Withdrawn JPH10111839A (en) | 1996-10-04 | 1996-10-04 | Storage circuit module |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10111839A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009080822A (en) * | 2002-05-31 | 2009-04-16 | Nvidia Corp | Transparent ecc memory system |
JP4841709B1 (en) * | 2010-09-06 | 2011-12-21 | 三菱電機株式会社 | Memory control device and memory control method |
CN102623042A (en) * | 2011-01-25 | 2012-08-01 | 索尼公司 | Memory system and method of operation thereof |
JP2012234240A (en) * | 2011-04-28 | 2012-11-29 | Buffalo Inc | Storage device, computer device, control method of computer, and computer program |
JP2014154167A (en) * | 2013-02-08 | 2014-08-25 | Seagate Technology Llc | Method and apparatus for managing data in memory |
-
1996
- 1996-10-04 JP JP8264690A patent/JPH10111839A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009080822A (en) * | 2002-05-31 | 2009-04-16 | Nvidia Corp | Transparent ecc memory system |
JP4841709B1 (en) * | 2010-09-06 | 2011-12-21 | 三菱電機株式会社 | Memory control device and memory control method |
CN102623042A (en) * | 2011-01-25 | 2012-08-01 | 索尼公司 | Memory system and method of operation thereof |
JP2012155430A (en) * | 2011-01-25 | 2012-08-16 | Sony Corp | Memory system and operation method thereof |
JP2012234240A (en) * | 2011-04-28 | 2012-11-29 | Buffalo Inc | Storage device, computer device, control method of computer, and computer program |
JP2014154167A (en) * | 2013-02-08 | 2014-08-25 | Seagate Technology Llc | Method and apparatus for managing data in memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8135935B2 (en) | ECC implementation in non-ECC components | |
US6457155B1 (en) | Method for making a memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket | |
JP3982639B2 (en) | Method for reading data from a memory having multi-level cells | |
US6493843B1 (en) | Chipkill for a low end server or workstation | |
US8555144B2 (en) | Memory system, memory system controller, and a data processing method in a host apparatus | |
JPH07191915A (en) | Computer system, memory card and its operating method | |
US20120124446A1 (en) | System and method for data read of a synchronous serial interface nand | |
US11055173B2 (en) | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) | |
US20120131414A1 (en) | Reliability, availability, and serviceability solution for memory technology | |
JP2006107710A (en) | Integrated circuit memory device, by which existence of program error due to power failure is detectable, and its method | |
RU2004128074A (en) | DIRECT MEMORY SWAPING BETWEEN NAND FLASH MEMORY AND SRAM CODED WITH ERROR CORRECTION | |
KR20190129653A (en) | Memory device, memory system including the same and operation method of the memory system | |
EP0037705A1 (en) | Error correcting memory system | |
JP2009255550A (en) | Liquid storing body | |
US20080195893A1 (en) | A repairable semiconductor memory device and method of repairing the same | |
US8151136B2 (en) | Method and device for correcting code data error | |
US20210133020A1 (en) | Semiconductor device and semiconductor system equipped with the same | |
JPH10111839A (en) | Storage circuit module | |
US8661300B1 (en) | Error detection in high-speed asymmetric interfaces | |
JP3170145B2 (en) | Memory control system | |
JP3157787B2 (en) | Storage device | |
KR100324279B1 (en) | System and Method of Coherencing Memory between Two Duplication Processors in the Switching System | |
JPH04336347A (en) | Memory device | |
JP3482999B2 (en) | Memory chip degeneration control device | |
JP2004126911A (en) | Control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040106 |