JPH0136137B2 - - Google Patents

Info

Publication number
JPH0136137B2
JPH0136137B2 JP58004764A JP476483A JPH0136137B2 JP H0136137 B2 JPH0136137 B2 JP H0136137B2 JP 58004764 A JP58004764 A JP 58004764A JP 476483 A JP476483 A JP 476483A JP H0136137 B2 JPH0136137 B2 JP H0136137B2
Authority
JP
Japan
Prior art keywords
error
register
data
address
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
Application number
JP58004764A
Other languages
Japanese (ja)
Other versions
JPS59129995A (en
Inventor
Toshuki Hatsutori
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP58004764A priority Critical patent/JPS59129995A/en
Publication of JPS59129995A publication Critical patent/JPS59129995A/en
Publication of JPH0136137B2 publication Critical patent/JPH0136137B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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

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)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は記憶装置に関し、特にその誤り訂正方
式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a storage device, and particularly to an error correction method thereof.

(従来技術) 従来の情報処理装置ではハミングコードなどの
誤り訂正符号を用い、RAMまたはROMのよう
なランダムアクセス形メモリから読出された1ワ
ードのデータの誤りを訂正するためには、誤り訂
正機能を有する記憶装置が使用され、これは第1
図に示すような構成である。
(Prior Art) Conventional information processing devices use error correction codes such as Hamming codes, and in order to correct errors in one word of data read from random access memory such as RAM or ROM, error correction functions are required. A storage device is used which has the first
The configuration is as shown in the figure.

第1図において、記憶装置の一例はアドレスレ
ジスタ1と、RAMまたはROM2と、セレクタ
3と、データレジスタ4と、誤り訂正回路5とを
具備したものである。
In FIG. 1, an example of a storage device includes an address register 1, a RAM or ROM 2, a selector 3, a data register 4, and an error correction circuit 5.

第1図において、アドレスレジスタ1とデータ
レジスタ4とはそれぞれクロツク信号に同期して
動作しており、第1のアドレスレジスタ1の内容
を番地とする1ワードのデータがRAMまたは
ROM2から読出され、セルクタ3を通つてデー
タレジスタ4にセツトされる。
In FIG. 1, address register 1 and data register 4 each operate in synchronization with a clock signal, and one word of data whose address is the contents of first address register 1 is stored in RAM or
The data is read from the ROM 2 and set in the data register 4 through the cell vector 3.

データレジスタ4の出力は、そのデータを必要
とする他の装置へ転送されるが、これと同時に誤
り訂正回路5にも加えられる。
The output of the data register 4 is transferred to other devices that require the data, but is also applied to the error correction circuit 5 at the same time.

もしデータレジスタ4の内容に誤りがあれば、
誤りが検出され、正しく訂正されてからセレクタ
3に戻されている。また、出力信号線104上の
データに誤りがあるか否かを他の装置へ知らせる
ため、信号線105が備えてある。
If there is an error in the contents of data register 4,
After an error is detected and corrected, it is returned to the selector 3. Further, a signal line 105 is provided to inform other devices whether or not there is an error in the data on the output signal line 104.

次に第1図の回路の動作の一例を第2図のタイ
ミングチヤートにより詳しく説明する。
Next, an example of the operation of the circuit shown in FIG. 1 will be explained in detail with reference to the timing chart shown in FIG.

アドレスレジスタ1からの出力信号線101上
の信号の状態がクロツクタイミングt1において
200番地を示している。RAMまたはROM2のア
ドレス200番地から1ワードのデータが信号線1
04上にデータ204として読出され、セレクタ
3を通り、次のクロツクタイミングt2においてデ
ータレジスタ4にセツトされる。
The state of the signal on the output signal line 101 from address register 1 changes at clock timing t1.
It shows address 200. One word of data from address 200 of RAM or ROM2 is sent to signal line 1.
04 as data 204, passes through the selector 3, and is set in the data register 4 at the next clock timing t2 .

クロツクタイミングt2においては、データレジ
スタ4にセツトされているデータに誤りが含まれ
ていないか否かを誤り訂正回路5により検出す
る。誤りが存在しなかつた場合には、出力信号線
105の上の信号の状態は論理値0になり、出力
信号線104上の信号を受けとる装置はデータ2
04が有効であると認識する。
At clock timing t2 , the error correction circuit 5 detects whether the data set in the data register 4 contains an error. If no error existed, the state of the signal on output signal line 105 would be a logic 0, and the device receiving the signal on output signal line 104 would have data 2.
04 is recognized as valid.

このクロツクタイミングt2においては、アドレ
スレジスタ1からの出力信号線101上のデータ
が201番地のアドレスを指示する。
At this clock timing t2 , the data on the output signal line 101 from the address register 1 indicates the address of address 201.

201番地に記憶されているデータ205は上記
と同様にして、クロツクタイミングt3の期間にデ
ータレジスタ4へセツトされる。このとき、誤り
訂正回路5により誤りが検出されたものとすれ
ば、出力信号線105上の信号の状態は論理値1
になり、出力信号線104上のデータ205が誤
りであり、無効なことを他の装置が知る。
Data 205 stored at address 201 is set in data register 4 during clock timing t3 in the same manner as described above. At this time, if an error is detected by the error correction circuit 5, the state of the signal on the output signal line 105 is a logical value of 1.
This causes other devices to know that the data 205 on the output signal line 104 is incorrect and invalid.

誤り訂正回路5はデータ205を正しく訂正し
てデータ206とし、セレクタ3を信号線106
の側に向ける。そこで、クロツクタイミングt4
おいて正しいデータ206がデータレジスタ4に
セツトされる。クロツクタイミングt4ではデータ
レジスタ4にセツトされているデータは正しくな
つているので、出力信号線105上の信号の状態
は論理値0になる。
The error correction circuit 5 correctly corrects the data 205 as data 206, and connects the selector 3 to the signal line 106.
turn towards the side. Therefore, correct data 206 is set in the data register 4 at clock timing t4. At clock timing t4 , the data set in the data register 4 is correct, so the state of the signal on the output signal line 105 becomes a logical value 0.

なお、クロツクタイミングt3からクロツクタイ
ミングt4に移るとき、アドレスレジスタ1の内容
が変化しないように保持する。以後、クロツクタ
イミングt4、t5ではデータレジスタ4にセツトさ
れているデータが正しいので、クロツクタイミン
グt1、t2におけるのと同様な動作をする。ところ
が、この方式では誤り訂正回路5により誤りを検
出するさいに、1ワード以内のECC部の誤りが
あつても、他の情報ビツトの誤りと同様に取扱つ
て訂正を行なつてしまう。このため、ECC部に
ワード方向の故障が存在するような場合には、デ
ータを読出すさいに第2図のクロツクタイミング
t3のような訂正サイクルが入り、クロツクタイミ
ングt3とt4とを交互に繰返すことになるため、実
際に有効な動作をしているのは全体の半分の時間
しか存在しないと云う欠点があつた。
Note that when moving from clock timing t3 to clock timing t4 , the contents of address register 1 are held so that they do not change. Thereafter, since the data set in the data register 4 is correct at clock timings t4 and t5 , the same operation as at clock timings t1 and t2 is performed. However, in this system, when errors are detected by the error correction circuit 5, even if there is an error in the ECC part of one word or less, it is treated and corrected in the same way as errors in other information bits. Therefore, if there is a fault in the ECC section in the word direction, the clock timing shown in Figure 2 will be changed when reading data.
A correction cycle such as t 3 is inserted, and the clock timings t 3 and t 4 are repeated alternately, so the disadvantage is that only half of the time is there actually effective operation. It was hot.

(発明の目的) 本発明の目的は、1ワード内にデータ部と
ECC部とを有するランダムアクセス形のRAMま
たはROMにおいて、誤りの存在したビツトがデ
ータ部にあるか、あるいは誤り訂正のために付加
したECC部にあるかの判定を行なうため、パリ
テイチエツク回路と、シンドロームデコーダと、
判定論理回路とを備え、さらにデータ部に誤りが
存在する場合に限つて誤りの訂正を行なうように
データ部誤り訂正回路を設けることにより上記欠
点を解決し、アクセス性能の低下を抑圧するよう
に構成した誤り訂正回路を備えた記憶装置を提供
することにある。
(Object of the invention) The object of the invention is to
In a random access RAM or ROM having an ECC section, a parity check circuit is used to determine whether the bit in which the error occurred is in the data section or in the ECC section added for error correction. , a syndrome decoder,
The above-mentioned drawbacks are solved by providing a judgment logic circuit and a data section error correction circuit that corrects the error only when there is an error in the data section. An object of the present invention is to provide a storage device equipped with the configured error correction circuit.

(発明の構成) 本発明による記憶装置はRAM/ROMと、レ
ジスタと、誤り訂正回路とを少なくとも具備し、
誤り訂正回路はパリテイチエツク回路と、シンド
ロームデコーダと、判定論理回路と、データ部誤
り訂正回路とから成立つものである。
(Structure of the Invention) A storage device according to the present invention includes at least a RAM/ROM, a register, and an error correction circuit,
The error correction circuit consists of a parity check circuit, a syndrome decoder, a judgment logic circuit, and a data section error correction circuit.

RAM/ROMは1ワード内にECC部とデータ
部とを有する情報を記憶するためのランダムアク
セス形のメモリである。
RAM/ROM is a random access type memory for storing information having an ECC part and a data part in one word.

レジスタはRAM/ROMから読出した情報を
保持するための回路である。
A register is a circuit for holding information read from RAM/ROM.

誤り訂正回路は、レジスタに保持された内容に
誤りが存在する場合に、この誤りを検出して訂正
するための回路である。
The error correction circuit is a circuit for detecting and correcting an error when it exists in the contents held in the register.

誤り訂正回路を構成するためのパリテイチエツ
ク回路は、データ部とECC部のパリテイチエツ
クを行なうための回路である。シンドロームデコ
ーダはパリテイチエツク回路の出力を受け、パリ
テイエラー信号の組合せから誤りの生じているビ
ツトの指示信号を出力するための回路である。
The parity check circuit for configuring the error correction circuit is a circuit for performing a parity check on the data section and the ECC section. The syndrome decoder is a circuit that receives the output of the parity check circuit and outputs an indication signal of an erroneous bit based on a combination of parity error signals.

判定論理回路はシンドロームデコーダの出力を
もとにして誤りの存在をチエツクし、誤りが
ECC部に存在するか、あるいはデータ部に存在
するかを判定して、データ部の誤りのみを訂正さ
せるよう指示するための回路である。
The decision logic circuit checks for the presence of an error based on the output of the syndrome decoder, and determines whether an error exists.
This circuit determines whether an error exists in the ECC section or the data section and instructs to correct only the error in the data section.

データ部誤り訂正回路はデータ部に誤りがある
場合にこれを訂正し、レジスタに戻すための回路
である。
The data section error correction circuit is a circuit for correcting errors in the data section and returning them to the register.

(実施例) 次に、本発明について図面を参照しながら詳細
に説明する。
(Example) Next, the present invention will be described in detail with reference to the drawings.

第3図に本発明による記憶装置の一実施例を示
す。
FIG. 3 shows an embodiment of a storage device according to the present invention.

第3図は情報処理システムの制御記憶装置の一
例を示すものであり、第1〜第3のレジスタ6,
9,15と、第1〜第5のセレクタ7,10,1
3,14,18と、レジスタ群8と、加算器11
と、RAM/ROM12と、誤り訂正回路16と、
フリツプフロツプ群17とを具備したものであ
る。
FIG. 3 shows an example of a control storage device for an information processing system, in which first to third registers 6,
9, 15 and the first to fifth selectors 7, 10, 1
3, 14, 18, register group 8, and adder 11
, RAM/ROM 12 , error correction circuit 16 ,
It is equipped with a flip-flop group 17.

第3図にしたがい、上記記憶装置の動作を以下
に説明する。
The operation of the storage device will be explained below according to FIG.

第3図において、RAM/ROM12にはマイ
クロ命令が記憶されている。
In FIG. 3, microinstructions are stored in RAM/ROM 12.

第2のセレクタ10の出力により、RAM/
ROM12の該当するアドレスにおける最下位ビ
ツト(LSB)を除く全ビツトがアクセスされる。
最下位ビツトの値が0(データ信号線116上に
表われる値)であるか、あるいは1(データ信号
線117上に表われる値)であるかは、第5のセ
レクタ18の出力に応じて第3のセレクタ13に
より選択されるように構成してある。
The output of the second selector 10 determines whether the RAM/
All bits except the least significant bit (LSB) at the corresponding address in ROM 12 are accessed.
Whether the value of the least significant bit is 0 (the value appearing on the data signal line 116) or 1 (the value appearing on the data signal line 117) depends on the output of the fifth selector 18. It is configured to be selected by the third selector 13.

選択された1ワードのマイクロ命令は第4のセ
レクタ14を介して第3のレジスタ15に読出さ
れる。このマイクロ命令は、第4図に示すような
第1〜第5のフイールド19〜23から構成され
ている。
The selected one-word microinstruction is read out to the third register 15 via the fourth selector 14. This microinstruction is composed of first to fifth fields 19 to 23 as shown in FIG.

第1のフイールド19はデータパスを制御する
ためのフイールドである。例えば、第6図はデー
タパスの一例を示す図であり、第4および第5の
レジスタ24,25と、演算論理ユニツト
(ALU)26とから成立つ。
The first field 19 is a field for controlling the data path. For example, FIG. 6 is a diagram showing an example of a data path, which is comprised of fourth and fifth registers 24, 25, and an arithmetic logic unit (ALU) 26.

第1のフイールド19は、第4および第5のレ
ジスタ24,25に対する書込み信号と、演算論
理ユニツト26に対する演算モード信号とを制御
し、次の演算を行なわせるものである。
The first field 19 controls the write signals to the fourth and fifth registers 24 and 25 and the operation mode signal to the arithmetic logic unit 26 to perform the next operation.

すなわち、 (第4のレジスタ24)+(第5のレジスタ2
5)→(第4のレジスタ24) (第4のレジスタ24)−(第5のレジスタ2
5)→(第5のレジスタ25) である。
That is, (4th register 24) + (5th register 2
5) → (4th register 24) (4th register 24) - (5th register 2
5)→(fifth register 25).

第2のフイールド20はRAM/ROM12の
動作シーケンスを制御する命令を表わすためのフ
イールドである。
The second field 20 is a field for representing an instruction for controlling the operation sequence of the RAM/ROM 12.

第3のフイールド21は第2のフイールド20
が第5図に示すようなTEST命令のとき、読出す
ビツトを選択するためのものである。
The third field 21 is the second field 20
This is used to select the bit to be read when the TEST instruction is as shown in FIG.

第4のフイールド22はブランチ先アドレスや
演算定数などを設定するためのフイールドであ
る。第4のフイールド23は冗長フイールドであ
り、冗長フイールドはマイクロ命令の1ワード内
の誤りを検出して訂正するためのフイールドであ
る。レジスタ群8はアドレスの後入れ先出しスタ
ツクであり、サブルーチンを呼出す場合の戻り番
地を保存しておくために使われる。
The fourth field 22 is a field for setting branch destination addresses, calculation constants, and the like. The fourth field 23 is a redundancy field, and the redundancy field is a field for detecting and correcting errors within one word of a microinstruction. Register group 8 is a last-in, first-out stack of addresses and is used to store the return address when calling a subroutine.

このレジスタ群8にアドレスを収容したときに
は、スタツクポインタとなる第1のレジスタ6の
内容は1だけ増分され、読出された後では1だけ
減分される。
When an address is stored in this register group 8, the contents of the first register 6, which serves as a stack pointer, is incremented by one, and after being read out, it is decremented by one.

第3のレジスタ15にセツトされているデータ
の第2のフイールド20がINCSR命令のときに
は、第1のセレクタ7は信号線108を選択し
CALL命令のときには信号線110を選択してレ
ジスタ群8にセツトするアドレスを切換えてい
る。
When the second field 20 of the data set in the third register 15 is an INCSR instruction, the first selector 7 selects the signal line 108.
When issuing a CALL command, the signal line 110 is selected and the address set in the register group 8 is switched.

第2のレジスタ9は常に現在実行中のマイクロ
命令の次の番地を保持しているレジスタであり、
その内容は加算器11によつて増分される。した
がつて、第2のレジスタ9はマイクロプログラム
カウンタと呼ばれている。
The second register 9 is a register that always holds the next address of the microinstruction currently being executed.
Its contents are incremented by adder 11. The second register 9 is therefore called a microprogram counter.

第2のセレクタ10はRAM/ROM12のア
ドレスを選択するためのセレクタであり、複数の
信号線111,113,114のうち、いずれを
選ぶかは第3のレジスタ15にセツトされた第2
のフイールド20により決定される。
The second selector 10 is a selector for selecting the address of the RAM/ROM 12, and which of the plurality of signal lines 111, 113, and 114 is selected is determined by the second selector set in the third register 15.
is determined by the field 20 of.

第2のフイールド20の内容が命令の命令部を
表わすものであることは第5図から明らかであ
る。第3のセレクタ13は条件付き分岐を行なわ
せるためのセレクタであり、第3のレジスタ15
にセツトされている第2のフイールド20が
TEST命令のとき、第3のフイールド21により
選択されたフリツプフロツプ群17のビツトの状
態が0であるか、あるいは1であるかによつて、
隣合つた偶数アドレスか、あるいは奇数アドレス
かのいずれかに分岐する。
It is clear from FIG. 5 that the contents of the second field 20 represent the instruction portion of the instruction. The third selector 13 is a selector for performing a conditional branch, and the third selector 13 is a selector for performing a conditional branch.
The second field 20 set to
At the time of the TEST instruction, depending on whether the state of the bit of the flip-flop group 17 selected by the third field 21 is 0 or 1,
Branch to either an adjacent even address or an odd address.

これによつて、次のサイクルに実行する命令の
番地が指定される。
This specifies the address of the instruction to be executed in the next cycle.

第4のセレクタ14はRAM/ROM12から
送出された命令コードか、あるいは誤り訂正回路
16により訂正されたコードかのいずれかを第3
のレジスタ15にセツトするように選択する。
The fourth selector 14 selects either the instruction code sent from the RAM/ROM 12 or the code corrected by the error correction circuit 16.
Select to set it in register 15 of

第3のレジスタ15は現在実行中のマイクロ命
令を保持するためのレジスタである。
The third register 15 is a register for holding the microinstruction currently being executed.

誤り訂正回路16は誤りを訂正するための回路
であり、第3のレジスタ15のECC部以外のフ
イールド、すなわち第1〜第4のフイールド19
〜22に誤りがあつたことを検出した場合には、
第3のレジスタ15の内容が無効であることを信
号線122に使つて示している。
The error correction circuit 16 is a circuit for correcting errors, and is a circuit for correcting errors in fields other than the ECC section of the third register 15, that is, the first to fourth fields 19.
If it is detected that there is an error in ~22,
The signal line 122 is used to indicate that the contents of the third register 15 are invalid.

信号線122上の信号により、第1のレジスタ
6と、レジスタ群8と、第2のレジスタ9と、第
4のレジスタ24と、第5のレジスタ25とは内
容を保持している。
The signals on the signal line 122 cause the first register 6, register group 8, second register 9, fourth register 24, and fifth register 25 to hold their contents.

この場合、正しく訂正されたデータは第4のセ
レクタ14に戻され、第3のレジスタ15にセツ
トされる。また、誤りが存在しないか、あるいは
誤りが存在してもECC部の第5のフイールド2
3に誤りが存在するような場合には、上記のよう
な誤り訂正動作は行なわない。
In this case, the correctly corrected data is returned to the fourth selector 14 and set in the third register 15. Also, if there is no error, or even if there is an error, the fifth field 2 of the ECC section
If there is an error in No. 3, the above error correction operation is not performed.

フリツプフロツプ群17は演算の結果生じたオ
ール0やオーバフローなどの状態を保持するため
のフリツプフロツプの集合体であり、第3のレジ
スタ15にセツトされている第2のフイールド2
0の内容がTEST命令の場合に限り、第3のフイ
ールド21によつてフリツプフロツプ群17のひ
とつのビツトだけが選択され、信号線126と、
第5のセレクタ18と、信号線125とを介して
第3のセレクタ13を切換える。
The flip-flop group 17 is a collection of flip-flops for holding the states such as all 0s and overflows that occur as a result of operations, and the flip-flop group 17 is a set of flip-flops for holding the states such as all 0s and overflows that occur as a result of operations.
Only when the content of 0 is the TEST instruction, only one bit of the flip-flop group 17 is selected by the third field 21, and the signal line 126 and
The third selector 13 is switched via the fifth selector 18 and the signal line 125.

その結果、信号線125上の信号の状態が0で
あるならば、偶数アドレス側の信号線116を選
択し、1であるならば奇数アドレス側の信号線1
17を選択して条件付き分岐をする。
As a result, if the state of the signal on the signal line 125 is 0, the signal line 116 on the even address side is selected, and if it is 1, the signal line 116 on the odd address side is selected.
Select 17 to perform a conditional branch.

第2のフイールド20がTEST命令ではない場
合には、第5のセレクタ18は信号線124の側
を選択し、第2のセレクタ10の最下位ビツトに
よりRAM/ROM12の最下位アドレスを決定
することになる。
If the second field 20 is not a TEST instruction, the fifth selector 18 selects the signal line 124 side, and the lowest address of the RAM/ROM 12 is determined by the lowest bit of the second selector 10. become.

第8図と第9図とは、上記回路部分の動作を説
明するための図であり、マイクロプログラムとそ
の実行タイミングチヤートとを解析的に示した図
である。
FIG. 8 and FIG. 9 are diagrams for explaining the operation of the above-mentioned circuit portion, and are diagrams analytically showing a microprogram and its execution timing chart.

いま、第9図に示すようにマイクロ命令は
RAM/ROM12に記憶されているものとする。
Now, as shown in Figure 9, the microinstruction is
It is assumed that the data is stored in the RAM/ROM 12.

最初に000番地の命令を実行するものとすれば、
INCSRが実行され、第5図から明らかなように
第2のセレクタ10は信号線113を選択し、第
1のセレクタ7は信号線108を選択し、第4の
フイールド22の内容“001”がレジスタ群8に
格納され、第1のレジスタ6の内容は“001”と
なつて次の001番地へ進む。
Assuming that the instruction at address 000 is executed first,
INCSR is executed, and as is clear from FIG. 5, the second selector 10 selects the signal line 113, the first selector 7 selects the signal line 108, and the content of the fourth field 22 is "001". The data is stored in the register group 8, the contents of the first register 6 become "001", and the process advances to the next address 001.

001番地はTEST命令であり、第3のフイール
ド21により選択されたフリツプフロツプ群17
のなかの特定ビツトが0であるとすれば、第3の
セレクタ13は信号線116を選択し、最下位ビ
ツトの値は0である。
Address 001 is the TEST instruction, and the flip-flop group 17 selected by the third field 21
If the specific bit in 0 is 0, the third selector 13 selects the signal line 116, and the value of the least significant bit is 0.

また、第2のセレクタ10は第4のフイールド
22に接続された信号線114を選択するので、
2+0→2となり、次のサイクルは002番地へ進
む。002番地はRTN命令を格納しており、レジス
タ群8からはINCSRで始まる“1”が読出され、
第2のセレクタ10は信号線111の側を選択す
る。
Furthermore, since the second selector 10 selects the signal line 114 connected to the fourth field 22,
2+0→2, and the next cycle advances to address 002. Address 002 stores the RTN instruction, and “1” starting with INCSR is read from register group 8.
The second selector 10 selects the signal line 111 side.

そこで、次は001番地へ飛ぶ。 So, next time I will fly to address 001.

001番地は上記と同様なTEST命令であるが、
前回とは異なつてフリツプフロツプ群17により
選択されたビツトの値が“001”であつたとすれ
ば、002+001→003となり、次は003番地へ飛ぶ。
003番地にはBRH命令が格納されており、第2の
セレクタ10は信号線114を選択して第4のフ
イールド22をアクセスする。その結果、次は
006番地に飛ぶ。006番地はCALL命令であり、こ
れは第1のセレクタ7は信号線110の側を選択
し、第2のレジスタ9の内容をレジスタ群8に格
納する。これと同時に、第2のセレクタ10は信
号線114の側を選択する。その結果、次は004
番地へ飛ぶ。004番地にはINC命令が格納され、
第2のセレクタ10が信号線113の側を選択す
る。その結果、次は005番地へ進む。005番地には
RTN命令が格納され上記のようにレジスタ群8
に格納されていた007番地へ飛ぶ。007番地には
INC命令が格納され、次は008番地へ飛ぶと云つ
た具合に命令のシーケンスが進んでゆく。
Address 001 is the same TEST instruction as above, but
If, unlike the previous time, the value of the bit selected by the flip-flop group 17 is "001", then the sequence is 002+001→003, and the next step is to jump to address 003.
A BRH command is stored at address 003, and the second selector 10 selects the signal line 114 to access the fourth field 22. As a result, the next
Fly to address 006. Address 006 is a CALL command, in which the first selector 7 selects the signal line 110 side and stores the contents of the second register 9 in the register group 8. At the same time, the second selector 10 selects the signal line 114 side. As a result, next is 004
Fly to the address. The INC instruction is stored at address 004,
The second selector 10 selects the signal line 113 side. As a result, the next step is to proceed to address 005. At address 005
RTN instructions are stored in register group 8 as shown above.
Fly to address 007 where it was stored. At address 007
The INC instruction is stored, the next step is to jump to address 008, and so on, and so on.

この間、第3のレジスタ15の他のフイールド
によつてデータパスが制御され、各種の演算やデ
ータの転送が行なわれる。
During this time, the data path is controlled by other fields of the third register 15, and various calculations and data transfers are performed.

第10図は、第3図における誤り訂正回路16
とその周辺との構成の一実施例を詳細に示した図
である。
FIG. 10 shows the error correction circuit 16 in FIG.
FIG. 3 is a diagram showing in detail an example of the configuration of the device and its surroundings.

第10図において、添字aはデータ部ビツトに
属するもの、添字bはECC部ビツトに属するも
のを示している。誤り訂正回路16において、2
7はパリテイチエツク回路であり、ECC部とデ
ータ部とのパリテイチエツクを行うものである。
28はシンドロームデコーダであり、パリテイチ
エツク回路27の出力を信号線134を介して受
け、パリテイエラー信号の組合せから誤りの生じ
ているビツトを指示する信号を信号線135に出
力するためのデコーダである。
In FIG. 10, the subscript a indicates what belongs to the data part bits, and the subscript b indicates what belongs to the ECC part bits. In the error correction circuit 16, 2
A parity check circuit 7 performs a parity check between the ECC section and the data section.
28 is a syndrome decoder which receives the output of the parity check circuit 27 via a signal line 134 and outputs a signal indicating an erroneous bit from a combination of parity error signals to a signal line 135. It is.

29はデータ部の誤りを訂正するためのデータ
部誤り訂正回路である。
29 is a data section error correction circuit for correcting errors in the data section.

その出力信号線123aは第4のセレクタ14
に戻され、訂正セレクタのときに正正しいデータ
が第3のレジスタ15にセツトされる。
The output signal line 123a is connected to the fourth selector 14.
The correct data is set in the third register 15 at the time of the correction selector.

30はシンドロームデコーダ28の出力をもと
にして誤りが存在するか否かをチエツクし、誤り
が存在する場合にはデータ部ビツトに存在するも
のであるか、あるいはECC部ビツトに存在する
ものであるかを判定するための判定論理回路であ
る。誤りが存在しないか、あるいは存在していて
もECC部ビツトに限られている場合には信号線
120上のデータは有効であり、データ部ビツト
15aの内容が誤つている場合には信号線120
上の信号が無効であると云う信号を信号線122
上に出力する。
30 checks whether an error exists based on the output of the syndrome decoder 28, and if an error exists, it is determined whether the error exists in the data part bits or the ECC part bits. This is a determination logic circuit for determining whether or not there is. If there is no error, or if there is an error but it is limited to the ECC part bits, the data on the signal line 120 is valid; if the contents of the data part bits 15a are incorrect, the data on the signal line 120 is valid.
A signal indicating that the above signal is invalid is sent to signal line 122.
Output on top.

本明細では装置全体の性能を左右する情報処理
装置の制御用記憶装置に対して実施した例を示し
たが、誤り訂正符号を有する他のいかなる記憶装
置にも応用できることは云うまでもない。
In this specification, an example has been shown in which the present invention is applied to a control storage device of an information processing device that influences the performance of the entire device, but it goes without saying that the present invention can be applied to any other storage device having an error correction code.

(発明の効果) 本発明には以上説明したように、1ワード内に
データ部とECC部とを有するランダムアクセス
形のRAMまたはROMにおいて、誤りの存在し
たビツトがデータ部にあるか、あるいはECC部
にあるかの判定を行なうため、パリテイチエツク
回路と、シンドロームデコーダと、判定論理回路
とを備え、さらにデータ部に誤りが存在する場合
に限つて誤りの訂正を行なうようにデータ部誤り
訂正回路を設けることにより、記憶装置の1ワー
ド内の1〜2割を占めるECC部の誤りを訂正す
る時間を省略することができ、長期的にみれば平
均アクセスタイムが短縮され、処理を有効に行な
うことができると云う効果がある。
(Effects of the Invention) As explained above, the present invention has a random access type RAM or ROM that has a data part and an ECC part in one word. A parity check circuit, a syndrome decoder, and a judgment logic circuit are provided to determine whether an error exists in the data section, and a data section error correction circuit is provided to correct the error only when an error exists in the data section. By providing a circuit, it is possible to omit the time required to correct errors in the ECC section, which account for 10 to 20% of one word in a memory device, and in the long run, the average access time is shortened and processing is made more effective. There is an effect that it can be done.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来方式により構成した誤り訂正回路
を具備した記憶装置のブロツク図である。第2図
は第1図の動作を示すタイミングを示す図であ
る。第3図は本発明による記憶装置の一実施例を
示すブロツク図である。第4図は第3図の記憶装
置を動作させるためのマイクロ命令のフオーマツ
トの一例を示す図である。第5図は第4図におけ
る命令フイールドの動作を要約した図である。第
6図は第3図の記憶装置の出力により制御される
演算回路の一実施例を示すブロツク図である。第
7図は第6図の演算回路の動作例を示すタイミン
グ図である。第8図は第3図における動作例を示
すタイミング図である。第9図は第3図の記憶装
置を動作させるためのマイクロプログラムの一例
を示す図である。第10図は第3図の記憶装置に
含まれている誤り訂正回路の構成例を示すブロツ
ク図である。 1,4,6,9,15,24,25…レジス
タ、2,12…RAM/ROM、3,7,10,
13,14,18…セレクタ、5,16…誤り訂
正回路、8…レジスタ群、11…加算器、17…
フリツプフロツプ群、19〜23…マイクロ命令
内部フイールド、26…演算論理ユニツト、27
…パリテイチエツク回路、28…シンドロームデ
コーダ、29…データ部誤り訂正回路、30…判
定論理回路、101〜135…信号線、200〜
207…情報。
FIG. 1 is a block diagram of a storage device equipped with an error correction circuit constructed according to a conventional method. FIG. 2 is a timing diagram showing the operation of FIG. 1. FIG. 3 is a block diagram showing one embodiment of a storage device according to the present invention. FIG. 4 is a diagram showing an example of the format of microinstructions for operating the storage device of FIG. 3. FIG. 5 is a diagram summarizing the operation of the instruction field in FIG. 4. FIG. 6 is a block diagram showing one embodiment of an arithmetic circuit controlled by the output of the storage device of FIG. 3. FIG. 7 is a timing diagram showing an example of the operation of the arithmetic circuit shown in FIG. FIG. 8 is a timing diagram showing an example of the operation in FIG. 3. FIG. 9 is a diagram showing an example of a microprogram for operating the storage device of FIG. 3. FIG. 10 is a block diagram showing an example of the configuration of an error correction circuit included in the storage device of FIG. 3. 1, 4, 6, 9, 15, 24, 25...Register, 2, 12...RAM/ROM, 3, 7, 10,
13, 14, 18...Selector, 5, 16...Error correction circuit, 8...Register group, 11...Adder, 17...
Flip-flop group, 19-23... Microinstruction internal field, 26... Arithmetic logic unit, 27
... Parity check circuit, 28 ... Syndrome decoder, 29 ... Data section error correction circuit, 30 ... Judgment logic circuit, 101-135 ... Signal line, 200-
207...Information.

Claims (1)

【特許請求の範囲】[Claims] 1 ワード内にデータ部とECC部とを有する情
報を記憶するためのランダムアクセス形のRAM
またはROMと、前記RAMまたはROMから読出
した前記情報を保持するためのレジスタと、前記
レジスタに保持された内容に誤りが存在する場合
には、前記誤りを検出して訂正するための誤り訂
正回路とを少なくとも具備し、かつ、前記誤り訂
正回路は前記データ部と前記ECC部のパリテイ
チエツクを行なうためのパリテイチエツク回路
と、前記パリテイチエツク回路の出力を受けてパ
リテイエラー信号の組合せから誤りが生じている
ビツトの指示信号を出力するためのシンドローム
デコーダと、前記シンドロームデコーダの出力を
もとにして誤りの存在をチエツクし、前記誤りが
前記ECC部に存在するか、あるいは前記データ
部に存在するかを判定して前記データ部の誤りの
みを訂正させるよう指示するための判定論理回路
と、前記データ部の誤りを訂正して前記レジスタ
に戻すためのデータ部誤り訂正回路とから成立つ
ことを特徴とした記憶装置。
1 Random access type RAM for storing information that has a data part and an ECC part in one word
or a ROM, a register for holding the information read from the RAM or ROM, and an error correction circuit for detecting and correcting the error if there is an error in the content held in the register. and the error correction circuit includes a parity check circuit for performing a parity check on the data section and the ECC section, and a parity error signal combination based on the output of the parity check circuit. a syndrome decoder for outputting an indication signal of a bit in which an error has occurred; and a syndrome decoder for checking the presence of an error based on the output of the syndrome decoder to determine whether the error exists in the ECC section or a determination logic circuit for determining whether the error exists in the data section and instructing to correct only the error in the data section; and a data section error correction circuit for correcting the error in the data section and returning it to the register. A storage device characterized by being established.
JP58004764A 1983-01-14 1983-01-14 Storage device Granted JPS59129995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58004764A JPS59129995A (en) 1983-01-14 1983-01-14 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58004764A JPS59129995A (en) 1983-01-14 1983-01-14 Storage device

Publications (2)

Publication Number Publication Date
JPS59129995A JPS59129995A (en) 1984-07-26
JPH0136137B2 true JPH0136137B2 (en) 1989-07-28

Family

ID=11592936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58004764A Granted JPS59129995A (en) 1983-01-14 1983-01-14 Storage device

Country Status (1)

Country Link
JP (1) JPS59129995A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251949A (en) * 1986-04-25 1987-11-02 Mitsubishi Electric Corp Error correcting method for memory device
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56168266A (en) * 1980-05-28 1981-12-24 Fujitsu Ltd Processing system for error of memory for control
JPS5771032A (en) * 1980-10-22 1982-05-01 Nec Corp Priority controlling circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56168266A (en) * 1980-05-28 1981-12-24 Fujitsu Ltd Processing system for error of memory for control
JPS5771032A (en) * 1980-10-22 1982-05-01 Nec Corp Priority controlling circuit

Also Published As

Publication number Publication date
JPS59129995A (en) 1984-07-26

Similar Documents

Publication Publication Date Title
US4409654A (en) Data processor adapted for interruption to an instruction stream
US4446517A (en) Microprogram memory with page addressing and address decode in memory
EP0125855A2 (en) Buffer-storage control system
JPH0136137B2 (en)
US4171765A (en) Error detection system
EP0113982A2 (en) A data processing system
JPS60214043A (en) Pipeline control circuit
JPS58213349A (en) Information processor
JPH038029A (en) Microprogram controller
EP0305530A1 (en) High-speed floating point arithmetic unit
JPH04162161A (en) Storage controller
JPH0533252U (en) Memory controller
JPH0135369B2 (en)
JPH04255032A (en) Error correcting system for control storage
JPS63276126A (en) Instruction decoding circuit
JPH05120155A (en) Microprogram controller
JPS5936853A (en) Operation processor
JPS6340939A (en) Error correcting and controlling system for control storage
JPS60238933A (en) Error processing system of control storage device
JPH0512004A (en) Instruction execution system
JPH0332823B2 (en)
JPH1097422A (en) Microprocessor
JPH05289947A (en) Ecc check system
JPS61196341A (en) System for correcting memory error
JPH04317128A (en) Micro program control system