KR970005648B1 - Semiconductor memory with error correction means - Google Patents

Semiconductor memory with error correction means Download PDF

Info

Publication number
KR970005648B1
KR970005648B1 KR1019860002956A KR860002956A KR970005648B1 KR 970005648 B1 KR970005648 B1 KR 970005648B1 KR 1019860002956 A KR1019860002956 A KR 1019860002956A KR 860002956 A KR860002956 A KR 860002956A KR 970005648 B1 KR970005648 B1 KR 970005648B1
Authority
KR
South Korea
Prior art keywords
circuit
data
signal
memory
input
Prior art date
Application number
KR1019860002956A
Other languages
Korean (ko)
Other versions
KR860008557A (en
Inventor
마사시 호리구지
마사가즈 아오기
요시노브 나가고메
신이지 이게나가
가쯔히로 시모히가시
Original Assignee
가부시기가이샤 히다찌세이사꾸쇼
미쓰다 가쓰시게
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
Priority claimed from JP60080155A external-priority patent/JPH06101240B2/en
Priority claimed from JP60139729A external-priority patent/JPS62676A/en
Application filed by 가부시기가이샤 히다찌세이사꾸쇼, 미쓰다 가쓰시게 filed Critical 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR860008557A publication Critical patent/KR860008557A/en
Application granted granted Critical
Publication of KR970005648B1 publication Critical patent/KR970005648B1/en

Links

Images

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/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Abstract

내용 없음.No content.

Description

에러정정수단을 갖는 반도체메모리Semiconductor memory with error correction means

제1도, 제4도 및 제7도는 본 발명에 의한 반도체 메모리의 제1, 제2, 제3의 실시예의 회로블럭도.1, 4 and 7 are circuit block diagrams of the first, second and third embodiments of the semiconductor memory according to the present invention.

제2도, 제3도, 제5도, 제6도, 제8도 및 제9도는 각 실시예의 동작 타이밍도.2, 3, 5, 6, 8 and 9 are operation timing diagrams of the embodiments.

제10도는 본 발명의 제3의 실시예를 도시한 반도체 메모리의 구성도.10 is a configuration diagram of a semiconductor memory showing a third embodiment of the present invention.

제11도∼제14도는 ECC에 의한 에러정정기능을 갖는 회로구성도.11 to 14 are circuit configuration diagrams having an error correction function by ECC.

제15도는 본 발명의 제4의 실시예를 도시한 반도체 메모리의 구성도.FIG. 15 is a configuration diagram of a semiconductor memory showing the fourth embodiment of the present invention. FIG.

제16도는 제15도의 처리흐름도.FIG. 16 is the flow chart of FIG.

제17도는 제15도에 있어서의 통상동작시의 타이밍도.FIG. 17 is a timing chart during normal operation in FIG. 15. FIG.

제18도는 제15도에 있어서의 메모리셀의 테스트시의 동작 타이밍도.FIG. 18 is an operation timing chart at the time of testing the memory cell in FIG.

제19도는 제15도에 있어서의 부호화 테스트시의 동작 타이밍도.19 is an operation timing diagram at the time of the encoding test in FIG.

제20도는 제15도에 있어서의 부호화 테스트시의 동작 타이밍도.20 is an operation timing diagram at the time of the encoding test in FIG.

제21도는 정보비트의 정정 테스트와 동시에 검사비트도 실시할 때의 타이밍도.Fig. 21 is a timing diagram when a check bit is also performed at the same time as an information bit correction test.

제22도는 ECC인에이블 신호의 입력단자를 2개 마련한 경우의 반도체 메모리의 구성도.Fig. 22 is a configuration diagram of a semiconductor memory in the case where two input terminals of an ECC enable signal are provided.

제23도는 본 발명의 제5의 실시예를 도시한 반도체 메모리의 구성도.23 is a configuration diagram of a semiconductor memory showing the fifth embodiment of the present invention.

본 발명은 반도체 메모리에 관한 것으로, 특히 에러정정부호에 의한 데이타정정수단을 갖는 반도체 메모리에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor memory, and more particularly to a semiconductor memory having data correction means by an error correcting code.

반도체 메모리의 소프트에러 대책으로서, Yamada, J., et.al. A Submicron VLSI Memory with a 4b-at-a-Time Built in ECC Circuit ISSCC Digest of Technical Papers, pp. 104-105, Feb. 1984에 기재된 바와 같이, 에러정정부호(이하, ECC라고 약칭한다)에 의한 용장비트를 부가하고 부호화·복호회로를 칩상에 마련하여 데이타의 정정을 실행하는 방법이 있다. 이 방식을 채용하는 경우, 부호화·복호회로의 규모가 문제로 되지만, ECC로서 순회부호를 사용하고 그 성질을 이용해서 시리얼로 부호화·복호를 실행하도록 하면 회로규모는 작아진다. 이것은 특히 데이타의 리드, 라이트를 시리얼로 실행하는 메모리에 대해서 유효하다. 그러나, 이 방식에는 다음과 같은 문제점이 있다. 라이트할 때에는 부호화회로를 n사이클로 동작시키면 좋지만, 리드할 때에는 복호회로를 신드롬생성에 n사이클, 에러정정에 n사이클 합계 2n사이클 동작시키지 않으면 안 된다. 이와 같이 리드와 라이트에서 액세스시간이 다르기 때문에 사용자에게 있어서는 사용하기 어려운 메모리로 되어 버린다.As a countermeasure for software errors in semiconductor memories, Yamada, J., et.al. A Submicron VLSI Memory with a 4b-at-a-Time Built in ECC Circuit ISSCC Digest of Technical Papers, pp. 104-105, Feb. As described in 1984, there is a method of adding data redundant by an error correcting code (hereinafter abbreviated as ECC) and providing an encoding / decoding circuit on a chip to perform data correction. In the case of adopting this method, the size of the coding / decoding circuit becomes a problem, but if the circuit code is used as the ECC and the encoding and decoding is executed serially using the property, the circuit size becomes small. This is especially true for memory that serially reads and writes data. However, this method has the following problems. When writing, it is sufficient to operate the encoding circuit in n cycles, but when reading, the decoding circuit must be operated in cycles of n cycles for generating the syndrome and 2n cycles in total for n cycles for error correction. In this way, the access time is different between reads and writes, and the memory becomes difficult to use for the user.

본 발명의 목적은 상술한 문제점을 해결하고, 에러정정기능을 갖는 반도체 메모리를 사용자에게 있어서 사용하기 쉬운 것으로 하는 수단을 제공하는 것이다.It is an object of the present invention to solve the above problems and to provide a means for making a semiconductor memory having an error correction function easy to use for a user.

또, 본 발명의 목적은 에러정정수단을 갖는 반도체 메모리의 테스트를 용이하게 실행할 수 있는 수단을 제공하는 것이다.It is also an object of the present invention to provide a means for easily executing a test of a semiconductor memory having error correction means.

상기 목적을 달성하기 위해, 본 발명의 반도체메모리의 입력데이타에 따라서 용장비트를 부가하는 부호화회로, 입력데이타 및 용장비트를 기억하는 기억회로, 기억회로에서 리드된 데이타 및 용장비트의 에러를 정정하는 복호회로를 구비하는 반도체 메모리에 있어서, 복호회로의 동작이 완료한 것을 나타내는 완료신호를 반도체 메모리의 외부로 출력하는 제어회로를 구비하는 것을 특징으로 한다.In order to achieve the above object, an encoding circuit for adding redundant bits in accordance with input data of a semiconductor memory of the present invention, a memory circuit for storing input data and redundant bits, correcting errors of data read from the memory circuit and redundant bits A semiconductor memory having a decoding circuit, characterized by comprising a control circuit for outputting a completion signal indicating that the operation of the decoding circuit is completed to the outside of the semiconductor memory.

또, 상기 목적을 달성하기 위해, 본 발명의 반도체 메모리는 여러 개의 워드선, 여러 개의 워드선과 교차하도록 마련된 여러개의 데이타선 및 여러개의 워드선과 상기 여러개의 데이타선과의 바라는 교점에 마련된 여러개의 메모리셀을 갖는 메모리에러이, 여러개의 워드선 중 1개의 워드선을 선택하는 디코더, 입력되는 신호에 응답해서 여러개의 데이타선의 각 데이타선을 순차 선택하는 데이타선 선택회로 k비트의 입력데이타에 따라서 m비트의 용장비트를 부가하는 부호화회로, 메모리 어레이에서 리드된 데이타의 에러를 정정하는 복호회로, 복호회로의 에러정정을 정지시키는 에러정정동작 정지수단 및 에러정정동작 정지수단으로부터의 제어신호가 제1의 상태일 때에는 용장비트에 대응하는 분의 타이밍신호를 자발적으로 발생하고, 제어신호가 제2의 상태일 때에는 용장비트에 대응하는 분의 타이밍신호를 외부클럭에 동기에서 발생하여 타이밍신호를 데이타선 선택회로에 공급하는 타이밍 발생수단을 구비하는 것을 특징으로 한다.In addition, in order to achieve the above object, the semiconductor memory of the present invention comprises a plurality of memory lines provided at a desired intersection of a plurality of word lines, a plurality of data lines arranged to intersect a plurality of word lines, and a plurality of word lines and the plurality of data lines. A memory error having a memory error, a decoder for selecting one word line among a plurality of word lines, and a data bit selection circuit for selecting each data line of a plurality of data lines sequentially in response to an input signal. The control signal from the encoding circuit which adds redundant bits, the decoding circuit which corrects the error of the data read from the memory array, the error correction operation stop means which stops the error correction of the decoding circuit, and the control signal from the error correction operation stop means is a 1st state. Is spontaneously generated when the timing signal corresponding to the redundant bit is generated. In the second state, a timing generating means for generating a timing signal corresponding to the redundant bit in synchronization with the external clock and supplying the timing signal to the data line selection circuit is provided.

다음에, 본 발명의 제1의 실시예를 제1도에 따라서 설명한다. 이것은 N개의 워드선 W0∼WN-1, M(예를 들면 7)개의 데이타선 D0∼D6, NM(-7N)개의 메모리셀 MC0∼MCN-1.6을 가는 다이나믹 메모리이다. 워드선을 디코더(10)에 의해서 랜덤하게 선택할 수 있지만, 데이타선은 클럭 SCLK에 동기에서 사용하는 시프트 레지스터(20)에 의해서 시리얼로 선택한다. 따라서, 데이타의 리드, 라이트는 SCLK에 동기해서 1비트의 시리얼로 실행한다.Next, a first embodiment of the present invention will be described with reference to FIG. This is a dynamic memory having N word lines W 0 to WN −1 , M (for example, 7) data lines D 0 to D 6 , and NM (-7N) memory cells MC 0 to MC N-1.6 . Although the word line can be randomly selected by the decoder 10, the data line is serially selected by the shift register 20 used in synchronization with the clock SCLK. Therefore, reading and writing of data are performed in serial of 1 bit in synchronization with SCLK.

또, 이 메모리는 에러정정부호(이하, ECC라고 약칭한다)에 의한 데이타정정기능을 갖고 있다. ECC로서 여기에서는 간단히 하기 위해 정보점수4, 검사점수3의 순회 해명부호를 이용하고 있으나, 물론 다른 부호라도 본 발명은 적용할 수 있다. 7개의 데이타선중 D0∼D3이 정보비트 기억용, D4∼D6이 ECC용의 용장비트 기억용이다. ECC용의 용량비트의 부가는 부호화회로(24)에서, 에러정정은 부호회로(25)에서 실행한다. 이들은 모두 순회부호의 성질을 이용해서 구동신호 øEC에 동기해서 시리얼로 부호화 또는 복호를 실행하는 회로이다.This memory has a data correction function by an error correcting code (hereinafter abbreviated as ECC). As an ECC, a circumstantiary explanation code of information score 4 and test score 3 is used here for simplicity, but of course, the present invention can be applied to other codes. Of the seven data lines, D 0 to D 3 are for information bit storage, and D 4 to D 6 are for redundant bit storage for ECC. The addition of the capacitive bits for ECC is performed in the coding circuit 24, and the error correction is performed in the coding circuit 25. All of these circuits perform serial encoding or decoding in synchronism with the drive signal? EC using the characteristics of the cyclic code.

이 메모리는 기억할 때의 동작을 제2도에 따라서 설명한다. 외부에서 칩선택신호 CS가 인가되면, 타이밍펄스 발생회로(I)은 우선 어드레스버퍼 구동신호 øA를 내보낸다. 어드레스버퍼는 이것을 받고 어드레스단자 A0∼An-1로부터 어드레스신호를 페치하여 디코더(10)으로 보낸다. 다음에, 타이밍펄스 발생회로(1)은 워드선 구동신호 øX, 계속해서 센스앰프 구동신호 øSA를 출력한다. øX에 의해서 1개의(디코더(10)에 의해서 선택된) 워드선이 구동되고, 그 워드선상의 메모리셀에서 각 데이타선으로 데이타가 리드되고, øSA에 의해서 그들이 센스앰프 SA0∼SA6에 의해 증폭된다.This memory explains the operation when storing according to FIG. When the chip select signal CS is applied externally, the timing pulse generating circuit I first emits the address buffer driving signal? A. The address buffer receives this and fetches the address signal from the address terminals A 0 to A n-1 and sends it to the decoder 10. Next, the timing pulse generation circuit 1 outputs the word line driving signal? X , and then the sense amplifier driving signal? SA . One word line (selected by decoder 10) is driven by ø X , data is read from each memory cell on the word line to each data line, and by ø SA they are sent to sense amplifiers SA 0 to SA 6 . Is amplified by.

다음에 타이밍펄스 발생회로(1)은 신호 øS를 출력하고 입출력 제어회로(3)을 기동한다. 이 입출력 제어회로(3)은 데이타의 리드, 라이트를 제어하는 회로로서, 제1도에 도시한 바와 같이 지연회로(30), 인버터(31), 셀렉타(32), 카운터(33) 및 제어회로(34)로 이루어진다. 지연회로(30)은 압력신호에서 적당한 시간만큼 지연될 신호(øY, øSR등)을 출력하는 회로이다. 지연회로(30)의 입력신호로서는 외부클럭 SCLK, 자체내에서 출력하는 신호를 인버터(31)에서 반전시킨 신호 øE중 어느한쪽으로 셀렉터(32)에 의해서 전환하도록 되어 있다. 카운터(33)은 신호를 발생한 횟수를 카운트하기 위한 것이고, 제어회로(34)는 (33)의 출력을 받고 셀렉터(32)의 전환을 실행하는 회로이다.Next, the timing pulse generating circuit 1 outputs the signal? S and starts the input / output control circuit 3. The input / output control circuit 3 is a circuit for controlling reading and writing of data. As shown in FIG. 1, the delay circuit 30, the inverter 31, the selector 32, the counter 33, and the control circuit are shown. It consists of 34. The delay circuit 30 is a circuit for outputting a signal (ø Y , ø SR, etc.) to be delayed by a suitable time from the pressure signal. As the input signal of the delay circuit 30, the selector 32 switches one of the external clock SCLK and the signal? E inverted by the inverter 31 to the signal output from itself. The counter 33 is for counting the number of times a signal has been generated, and the control circuit 34 is a circuit which receives the output of 33 and performs the switching of the selector 32.

그리고, 기동신호 øS를 받으면 제어회로(34)는 즉시 준비완료신호 READY를 출력한다. 이것은 메모리가 데이타의 리드, 라아트(여기에서는 라이트)가 가능한 상태로 된 것을 나타내는 신호이며, 사용자에게 클럭 SCLK의 인가를 요구하는 것이다.When the start signal? S is received, the control circuit 34 immediately outputs the ready signal READY. This is a signal indicating that the memory is in a state where data can be read and written (write here), and the user is required to apply the clock SCLK.

클럭 SCLK가 로우레벨로 되면, (셀렉터 (32)는 사전에 SCLK측을 선택하는 상태로 되어 있으므로) 지연회로(30)은 우선 데이타선 선택신호 øY및 입력버퍼가 구동신호 øIB를 출력한다. 데이타선 선택회로(21)은 øY를 받고 데이타선 D0을 선택한다(시프트 레지스터(20)은 D0이 선택되는 상태로 초기설정되어 있다). 입력버퍼(22)는 øIB를 받으면, 데이타 입력단자 Dfn으로부터 데이타를 페치하여 부호화회로(24)로 전송한다. 다음에 지연회로(30)은 부호화·복호회로 구동신호 øEC를 출력한다. 부호화회로(24)는 øEC를 받고 입력버퍼(22)로부터 전송되어온 데이타를 그대로 데이타선(상술한 바와 같이, 이때 Dø0이 선택되어 있다)으로 송출함과 동시에 용장비트의 계산을 실행한다.When the clock SCLK goes low, the delay circuit 30 first outputs the data line selection signal? Y and the input buffer? IB (since the selector 32 has been selected in advance to select the SCLK side). . The data line selection circuit 21 receives ø Y and selects the data line D0 (the shift register 20 is initially set with D 0 selected). When the input buffer 22 receives? IB , the input buffer 22 fetches data from the data input terminal D fn and transmits the data to the encoding circuit 24. The delay circuit 30 then outputs the encoding / decoding circuit drive signal? EC . Coding circuit 24 executes receiving ø EC as the data line to the data which has been sent from the input buffer 22 and simultaneously transmitted to the (as described above, wherein Dø is 0 is selected), the calculation of the redundant bit.

클럭 SCLK가 하이레벨로 되돌아가면, 지연회로(31)은 시프트레지스터 구동신호 øSR및 카운터 구동신호 øCT를 출력한다. 시프트 레지스터(20)은 øSR에 의해서 시프트되어 데이타선 D1이 선택되는 상태로 된다. 카운터(33) (출력이 0으로 되도록 초기설정이되어 있다)은 øCT에 의해서 카운트 업되고 그 출력은 1로 된다.When the clock SCLK returns to the high level, the delay circuit 31 outputs the shift register drive signal? SR and the counter drive signal? CT . The shift register 20 is shifted by [Delta] SR to enter a state in which the data line D1 is selected. The counter 33 (initialized so that the output becomes 0) is counted up by? CT and its output is set to 1.

다음에, SCLK가 로우레벨로 되었을 때에는 데이타선 D2로의 라이트가 실행된다. 다음에, SCLK가 하이레벨로 되돌아갔을 때 시프트 레지스터(20)은 재차 시프트되어 데이타선 D2가 선택되는 상태로 되고, 타운터(33)은 재차 카운트업되고 그 출력은 2로 된다.Next, when the SCLK goes low, writing to the data line D 2 is executed. Next, when the SCLK returns to the high level, the shift register 20 is shifted again, and the data line D 2 is selected, the townter 33 is counted up again, and the output thereof is two.

동일한 것이 다음에 2회 반복되고 데이타선 D2, D3으로의 라이트가 실행된다. 이 시점에서 시프트 레지스터(20)은 데이타선 D4가 선택되는 상태로, 카운터(33)은 출력이 4이 되어 있다. 또, 부호화회로(24)는 용장비트의 계산을 완료하고 결과를 회로내에 축적하고 있다.The same thing is repeated twice next, and writing to the data lines D 2 and D 3 is executed. At this point, the shift register 20 is in a state where the data line D 4 is selected, and the counter 33 has an output of 4. The encoding circuit 24 completes the calculation of the redundant bits and stores the result in the circuit.

카운터(33)의 출력이 4로 되면, 제어회로(34)는 셀렉터(32)를 øE축으로 전환한다. 그 경로가, 지연회로(30), 인버터(31), 셀렉터(32)는 소위 링 오실레이터로 되어 발진을 시작한다. 발진이 계속되고 있는 동안, 지연회로(30)은 SCLK가 인가되었을 때와 마찬가지로 신호를 계속해서 출력한다(단, øIB는 출력하지 않는다). 따라서, 데이타선은 D4, D5, D6의 순으로 선택된다. 또, 부호화회로(24)는 øEC가 인가될 때마다 회로내에 축적되고 있던 용장비트를 1비트씩 출력한다. 그 결과, 회로내에 축적되고 있던 용장비트를 1비트씩 출력한다. 그 결과, 용장비트는 D4, D5, D6의 순으로 라이트된다.When the output of the counter 33 is 4, the control circuit 34 switches the selector 32 to the E E axis. The path, the delay circuit 30, the inverter 31, and the selector 32 become so-called ring oscillators to start oscillation. While the oscillation is being continued, the delay circuit 30 continuously outputs a signal as in the case where SCLK is applied (however,? IB is not output). Therefore, the data lines are selected in the order of D 4 , D 5 , and D 6 . The coding circuit 24 outputs the redundant bits accumulated in the circuit by one bit each time? EC is applied. As a result, the redundant bits accumulated in the circuit are output one by one. As a result, the redundant bits are written in the order of D 4 , D 5 , and D 6 .

카운터(33)의 출력이 7로 되면, 제어회로(34)는 셀렉터(32)를 SCLK측으로 전환하고 발진을 정지시킨다.When the output of the counter 33 reaches 7, the control circuit 34 switches the selector 32 to the SCLK side and stops oscillation.

다음에, 리드할 때의 동작을 제3도에 따라서 설명한다. 외부로부터 칩선택신호 CS가 인가되고 나서 기동신호 øS가 출력될 때까지의 동작은 라이트의 경우(제2도)와 마찬가지이므로 설명을 생략한다.Next, the operation at the time of reading is explained according to FIG. Applied to the chip select signal CS from the outside, and then the operation until the start signal S is output ø is omitted here because it is same as in the case of the light (FIG. 2).

제어회로(34)는 기동신호 øS를 받으면 셀렉터(32)를 øE측으로 전환한다(이 시점에서는 준비완료신호 READY는 출력하지 않는다). 이로 인해 지연회로(30), 인버터(31), 셀렉터(32)로 이루어지는 링 온실 레이터가 발진을 개시한다. 발진이 계속되고 있는 동안, 지연회로(30)은 데이타선 선택신호 øY, 시프트 레지스터 구동신호 øSR, 카운터 구동신호 øCT 및 부호화·복호회로 구동신호 øEC를 계속해서 발생한다. 상술한 라이트의 경우와 마찬가지로, 데이타선은 D0, D1, …, D6의 순으로 선택되고, 카운터(33)의 출력은 1, 2, …, 7로 변화한다. 각 데이타선에서 리드된 데이타는 차례로 복호회로(25)에 입력된다. 복호회로(25)는 구동신호 øEC에 동기해서 신드롬의 계산을 실행한다.When the control circuit 34 receives the start signal? S , the control circuit 34 switches the selector 32 to the? E side (at this point, the ready signal READY is not output). For this reason, the ring concentrator consisting of the delay circuit 30, the inverter 31, and the selector 32 starts oscillation. While the oscillation is continued, the delay circuit 30 is the data line continues to a selection signal ø Y, shift register drive signal ø R S, the counter drive signal øCT and coding and decoding circuit driving signal ø EC to occur. As in the case of the above-described light, the data lines are represented by D 0 , D 1 ,. , D 6 , and the counter 33 outputs 1, 2,... , To 7 Data read from each data line is input to the decoding circuit 25 in turn. The decoding circuit 25 calculates the syndrome in synchronization with the drive signal? EC .

카운터(33)의 출력이 7로 되면, 제어회로(34)는 준비완료신호 READY를 출력함과 동시에 셀렉터(32)를 SCLK측으로 전환하고 발진을 정지시킨다. 메모리는 외부로부터 클럭 SCLK가 인가되는 것을 대기하는 상태로 된다.When the output of the counter 33 reaches 7, the control circuit 34 outputs the ready signal READY and switches the selector 32 to the SCLK side and stops oscillation. The memory is in a state waiting for the clock SCLK to be applied from the outside.

외부에서 SCLK가 인가되면, 지연회로(30)은 이에 동기해서 øY, øSR, øCT,øEC에 부가해서 출력버퍼 구동신호 øDB도 출력한다. 데이타선은 재차 D0, D1, D2, D3의 순으로 선택된다. 복호회로(25)는 øEC에 동기해서 정보비트를 정정한 결과를 1비트씩 출력버퍼(23)으로 전송한다. 출력버퍼(23)은 그것을 øOB에 동기해서 출력단자 DOOT로 출력한다. 정정된 정보비트는 또 데이타선측으로도 전송된다. 따라서, 데이타선 D0, D1, D2, D3에는 각각 원래의 정보비트를 정정한 결과가 재차 기억된다.When SCLK is externally applied, the delay circuit 30 also outputs the output buffer drive signal? DB in addition to? Y ,? SR ,? CT and? EC . The data lines are again selected in the order of D 0 , D 1 , D 2 , and D 3 . The decoding circuit 25 transmits the result of correcting the information bit to the output buffer 23 by one bit in synchronization with? EC . The output buffer 23 outputs it to the output terminal DOOT in synchronization with ø OB . The corrected information bits are also sent to the data line side. Therefore, the data lines D 0 , D 1 , D 2 , and D 3 respectively store the result of correcting the original information bits.

클럭 SCLK가 4회 인가되고 카운터(33)의 출력이 11로 되면, 제어회로(34)는 셀렉터(32)를 재차 øE측으로 전환한다. 재차 발진이 시작되고, 지연회로(31)은 øY, øSR, øCT, øEC를 계속 출력한다(øOB는 출력하지 않는다). 데이타선은 D4, D5, D6의 순으로 선택된다. 복호회로(25)는 øEC에 동기해서 용장비트를 정정한 결과를 1비트씩 출력한다. 따라서 D4, D5, D6에는 각각 원래의 용장비트를 정정한 결과가 재차 라이트된다.When the clock SCLK is applied four times and the output of the counter 33 reaches 11, the control circuit 34 switches the selector 32 to the? E side again. Oscillation starts again, and the delay circuit 31 continues to output? Y,? SR ,? CT , ?? EC (? OB is not output). The data lines are selected in the order of D 4 , D 5 , and D 6 . The decoding circuit 25 outputs the result of correcting the redundant bit in synchronization with? EC by one bit. Therefore, the result of correcting the original redundant bit is rewritten to D 4 , D 5 , and D 6 , respectively.

카운터(33)의 출력이 14로 되면, 제어회로(34)는 셀렉터(32)를 재차 SCLK측으로 전환하고 발진을 정지시킨다.When the output of the counter 33 reaches 14, the control circuit 34 switches the selector 32 to the SCLK side again and stops oscillation.

이상의 설명에서 명확한 바와 같이, 이 메모리에 있어서는 칩선택회로 CS가 인가되고 나서 준비완료신호 READY가 출력될 때까지의 시간 tD는 리드의 경우와 라이트의 경우가 다르다. 즉, 지연회로(30)에 의한 자여발진(自勵發疹)의 주기를 tC로 하면 리드의 경우 쪽이 7tC만큼 길다. 그러나, 사용자로서는 리드의 경우든 라이트의 경우든 READY가 출력된 것을 검출하고 SCLK를 4의 인가하면 좋다.As is clear from the above description, in this memory, the time tD from when the chip select circuit CS is applied until the ready signal READY is output is different from that of the read and write cases. That is, if the period of self-excited oscillation by the delay circuit 30 is tC, the lead side is as long as 7tC. However, the user may detect that the READY is output in the case of read or write and apply SCLK of 4.

제4도에 본 발명의 제2의 실시예를 도시한다. 제1도와의 차이점은 에러검출회로(26)를 부가한 것이다. 이 회로는 에러정정능력은 없지만, 에러의 검출은 병렬로 (조합논리회로로) 실행할 수 있다. 본 메모리의 라이트시의 동작은 앞의 실시예 (제2도)와 동일하므로 설명은 생략하고, 리드시의 동작을 제5도 및 제6도에 따라서 설명한다.4 shows a second embodiment of the present invention. The difference from FIG. 1 is that an error detection circuit 26 is added. This circuit has no error correction capability, but error detection can be performed in parallel (combined logic circuit). Since the operation at the time of writing this memory is the same as in the previous embodiment (Fig. 2), the description is omitted, and the operation at the time of reading will be described according to Figs.

외부에서 칩선택신호 CS가 인가되고 나서 센스앰프가 동작할 때까지의 동작은 앞의 실시예와 동일하다. 센스앰프가 증폭동작을 완료한 후, 에러검출회로(26)은 리드된 데이타에 에러가 없는지 있는지를 판정한다. 에러가 있는 경우는 제5도에 도시한 바와 같이 신호 øED를 하이레벨로, 에러가 없는 경우는 제6도에 도시한 바와 같이 신호 øED를 로우레벨로 한다.The operation from the external chip selection signal CS until the sense amplifier operates is the same as in the previous embodiment. After the sense amplifier completes the amplification operation, the error detection circuit 26 determines whether or not there is an error in the read data. If there is an error, the signal? ED is at a high level as shown in FIG. 5, and if there is no error, the signal? ED is at a low level, as shown in FIG.

다음에 입출력 제어회로(3)의 기동신호 øS에 의해서 기동되지만, 이 동작은 에러의 유무에 따라서 다르다. 에러가 있는 경우의 동작 (제5도)의 앞의 실시예와 동일하다. 즉, 처음에 7사이클 자여발진해서 신드롬의 계산을 실행하고, 다음에 4사이클 외부클럭 SCLK에 동기해서 정보비트의 정정과 데이타의 출력을 실행하고, 마지막으로 3사이클을 자여발진해서 용장비트의 정정을 실행한다.Next, it is started by the start signal? S of the input / output control circuit 3, but this operation varies depending on the presence or absence of an error. Same as the previous embodiment of the operation (Fig. 5) in the case of an error. That is, seven cycles of self-oscillation are first performed to calculate the syndrome, and then the information bits are corrected and data is output in synchronization with the 4-cycle external clock SCLK, and finally, three cycles are oscillated to correct the redundant bits. Run

에러가 없는 경우(제6도)에 제어회로(34)는 기동신호 øS를 받는 즉시 준비완료신호 READY를 출력한다. 외부로부터 클럭SCLK가 인가되면(셀렉터(32)는 SCLK측을 선택하는 상태 그대로이다). 지연회로(30)은 데이타선 선택신호 øY, 시프트 레지스터 구동신호 øSR, 카운터 구동신호 øCT, 부호화·복호회로 구동신호 øEC및 출력버퍼 구동신호 øDB를 출력한다. 데이타선은 D0, D1, D2, D3의 순으로 선택되고, 카운터의 출력은 1, 2, 3, 4로 변화한다. 각 데이타선에서 리드된 데이타는 차례로 복호회로(25)에 입력된다. 복호회로(25)는 이 때에는 øED의 로우레벨에 응답해서 데이타를 정정하지 않고 단지 출력버터(23)으로 전송만한다. 출력버퍼는 이 데이타를 øOB에 동기해서 출력단자 DOuT로 출력한다.If there is no error (FIG. 6), the control circuit 34 outputs the ready signal READY as soon as the start signal? S is received. When the clock SCLK is applied from the outside (the selector 32 remains in the state of selecting the SCLK side). The delay circuit 30 outputs a data line selection signal? Y , a shift register drive signal? SR , a counter drive signal? CT , an encoding / decoding circuit drive signal? EC, and an output buffer drive signal? DB . The data lines are selected in the order of D 0 , D 1 , D 2 , and D 3 , and the counter outputs change to 1, 2, 3, 4. Data read from each data line is input to the decoding circuit 25 in turn. The decoding circuit 25 only transmits to the output butter 23 without correcting data in response to a low level of? ED at this time. The output buffer outputs this data to output terminal D OuT in synchronization with ø OB .

본 실시예에 있어서는 칩선택신호CS가 인가되고 나서 준비완료신호 READY가 출력될 때까지의 시간은 일정하지 않다. 즉, 라이트의 경우와 리드에서 에러가 없었던 경우는 동일하지만, 리드에서 에러가 있었던 경우는 그것보다도 7tC(tC는 자여발진의 주기)만큼 길다. 그러나, 사용자로서는 어느 경우든 READY가 출력된 것을 검출하고 SCLK를 4회 인가하면 좋다.In this embodiment, the time from when the chip select signal CS is applied until the ready signal READY is output is not constant. That is, the case of the write and the case of no error in the read are the same, but the case of the error in the read is longer by 7t C (t C is the period of self-excited oscillation). However, in any case, the user may detect that the READY is output and apply the SCLK four times.

본 발명은 상술한 바와 같이 데이타의 리드, 라이트를 시리얼로 실행하는 메모리 뿐만 아니라 랜덤 액세스 메모리(RAM)에도 적용할 수 있다. 본 발명을 다이나믹 RAM(DRAM)에 적용한 제3의 실시예를 제7도에, 그 라이트, 리드시의 동작 타이밍도를 각가 제8도, 제9도에 도시한다.As described above, the present invention can be applied not only to a memory for serially reading and writing data but also to a random access memory (RAM). A third embodiment in which the present invention is applied to a dynamic RAM (DRAM) is shown in FIG. 7, and an operation timing diagram at the time of writing and reading is shown in FIGS. 8 and 9, respectively.

로우 어드레스 스트로브RAS가 인가되고 나서 센스엠프가 동작할 때까지의 동작은 통상의 DRAM과 동일하므로 설명은 생략한다. 타이밍펄스 발생회로(1)은 라이트의 경우(제8도)에 센스엠프 동작후 즉시, 리드인 경우 (제9도)에는 복호회로(25)가 에러정정을 실행한 후에 준비완료신호READY를 출력한다.Since the operation from the row address strobe RAS until the sense amplifier is operated is the same as that of a normal DRAM, description thereof is omitted. The timing pulse generation circuit 1 outputs the ready signal READY immediately after the sense amplifier operation in the case of writing (Fig. 8) and immediately after the decoding circuit 25 performs error correction in the case of reading (Fig. 9). do.

외부에서 컬럼어드레스 스트로브CAS가 인가되면, 타이밍펄스 발생회로(4)는 우선 커럼어드레스버퍼 구동신호øCA를 출력한다. 컬럼어드레스버퍼(5)는 이것을 받고 어드레스단자 A0∼A1-1로부터 컬럼어드레스신호를 페치하여 컬럼디코더(27)로 전송한다. 다음에, 타이밍펄스 발생회로(4)는 데이타선 선택신호øY및 입력버퍼 구동신호øIB(라이트의 경우) 또는 출력버퍼 구동신호 øOB(리드의 경우)를 출력한다. øY에 의해서 1개의(컬럼디코더(27)에 의해서 선택된) 데이타선이 구동된다. 리드의 경우는 사전에 복호회로(25)에 의해서 에러가 정정되어 있으므로, øOB에 의해서 출력단자 DDDT에 에러정정후의 데이타가 리드된다. 라이트의 경우는 øIB에 의해서 입력단자 øln으로부터 데이타가 페치되고 메모리셀에서 리드된 데이타를 치완한다. 그 후, 부호화회로(24)에 의해서 용장비트가 부가되고 메모리셀과 기억된다.When the column address strobe CAS is externally applied, the timing pulse generation circuit 4 first outputs the column address buffer driving signal? CA. The column address buffer 5 receives this and fetches the column address signal from the address terminals A 0 to A 1-1 and transmits it to the column decoder 27. Next, the timing pulse generation circuit 4 outputs the data line selection signal? Y and the input buffer drive signal? IB (for write) or the output buffer drive signal? OB (for lead). One data line (selected by the column decoder 27) is driven by ø Y. In the case of reading, since the error is corrected by the decoding circuit 25 in advance, the data after error correction is read into the output terminal DDDT by OB . In the case of a write, data is fetched from the input terminal ø ln by ø IB and the data read from the memory cell is repaired. Thereafter, the redundant bit is added by the encoding circuit 24 and stored in the memory cell.

본 실시예에 있어서는 RAS가 인가되고 나서 READY가 출력될 때까지의 시간은 리드의 경우와 라이트의 경우가 다르지만, 사용자는 READY가 출력된 것을 검출한 후에 CAS를 인가하면 좋다.In this embodiment, the time from the application of RAS to the output of READY is different from the case of read and the case of write. However, the user may apply CAS after detecting that READY is output.

이상의 제1도∼제9도의 실시예에 의하면, 에러정정기능을 위한 액세스 시간이 일정하지 않은 메모리를 사용자에게 있어서 사용하기 쉬운 것으로 할 수 있다.According to the embodiments of FIGS. 1 to 9 described above, a memory whose access time for the error correction function is not constant can be made easy for the user.

그러나, 이상의 방법을 실시하여 메모리를 제0조한 후의 체크등(테스팅)을 실행하는 경우는 에러정정기능을 탑재한 반도체 메모리인 것을 나타내고, 에러정정기능도 포함해서 각종의 테스트를 실행하지만, 예를 들면 ECC로서 단일 에러정정부호를 사용한 경우 우선의 1개이 메모리셀에 디펙트가 있으면, 리드된 데이타가 ECC에 의해서 정정되기 때문에 이 디펙트를 발견할 수 없어 외견상 에러가 없는 것으로 된다.However, when the above-described method is executed to check (testing) after the memory has been established, it indicates that the semiconductor memory is equipped with an error correction function, and various tests are performed including the error correction function. For example, when a single error correcting code is used as the ECC, if one of the priorities has a defect in the memory cell, since the read data is corrected by the ECC, this defect cannot be found and there is no apparent error.

또, 이 디펙트상에 있어서, 에러의 메모리셀과 같은 에러정정의 단위블럭에 속하는 다른 메모리셀에 우연히 소프트에러가 발생하면, 합계 2비트의 에러가 발생한 것으로 되기 때문에 ECC에 의한 에러정정이 불가능하게 된다.In this defect, if a soft error occurs accidentally in another memory cell belonging to the same unit of error correction as the memory cell of the error, error correction by ECC is impossible because a total of two bits of error have occurred. Done.

따라서, 에러정정기능이 부가된 반도체 메모리에 대한 각종 테스트를 완전히 실시하기 위해서는 메모리셀 자체의 부호회로, 복호회로 등으로 이루어지는 에러정정기능을 각각 독립적으로 테스트할 필요가 있지만, 아직 실용화할 수 있는 것으로서 발표되어 있지 않다.Therefore, in order to fully perform various tests on the semiconductor memory to which the error correction function is added, it is necessary to independently test the error correction functions made up of the code circuit and the decoding circuit of the memory cell itself, but they are still practical. It is not announced.

본 발명은 이와 같은 문제를 해결하고 ECC에 의한 에러정정기능을 탑재한 반도체 메모리에 있어서, ECC용의 용장비트, 즉 검사비트를 기억하기 위한 메모리에 자체의 테스트, 부호화회로의 테스트, 부호회로의 테스트 등을 각각 독립적으로 실시할 수 있는 반도체 메모리를 제공한다.The present invention has solved such a problem, and in a semiconductor memory equipped with an error correction function by ECC, a self-test, an encoding circuit test, and a code circuit in a memory for storing redundant bits for ECC, that is, check bits. A semiconductor memory capable of independently performing tests and the like is provided.

상기한 것을 위해, 발명의 반도체 메모리는 데이타에 에러정정부호에 따른 검사비트를 부가하는 부호화수단과 상기 검사비트가 부가된 데이타를 에러정정하는 복호수단을 갖는 반도체 메모리에 있어서, 상기 검사비트를 상기 데이타의 마찬가지로 라이트, 리드하는 라이트/리드수단(단자aa, 기타)와 상기 복호수단에 의한 에러정정을 동작정지로 하는 수단(단자ECCE, 기타)를 구비하는 것에 특징이 있다.In the semiconductor memory of the present invention, the semiconductor memory includes encoding means for adding a check bit according to an error correcting code to data and decoding means for error correcting data to which the check bit is added. Similarly, it is characterized by having data write / read means (terminal aa, etc.) of data, and means (terminal ECCE, etc.) for stopping operation of error correction by said decoding means.

다음에, 제4의 실시예를 도면에 따라서 설명한다.Next, a fourth embodiment will be described with reference to the drawings.

제10도는 본 발명의 제4의 실시예를 도시한 반도체 메모리의 구성도이다. 동일도면에 있어서, (101)은 log2r개의 어드레스신호를 디코더하고 워드선 드라이버(102)를 통해서 메모리 어레이(103)의 워드선 W0∼Wr-1의 1개를 지정하는 디코더, (104)는 지정된(1개의) 워드선상의 모든 메모리셀의 데이타를 데이타선 D0∼Dns-1을 통해서 리드하여 증폭하는 센스앰프군, (106)은 log2s개의 어드레스신호를 디코드하여 데이타선 D0∼Dns-1중 n개를 지정하고, 그 지정한 센스앰프군(104)의 (n개의) 데이타를 데이타선 셀렉터(105)를 거쳐서(n개의) 공통 입출력전I/O로 송출하는 디코더, (110), (120), (130), (140)은 각각 복호회로, 부호화회로, 셀렉터회로, 라이트회로이며 ECC에 의한 에러정정기능을 구성하는 것이다.10 is a configuration diagram of the semiconductor memory showing the fourth embodiment of the present invention. In the same drawing, reference numeral 101 denotes a decoder which decodes log 2 r address signals and designates one of the word lines W 0 to W r-1 of the memory array 103 via the word line driver 102, ( 104 denotes a sense amplifier group that reads and amplifies data of all memory cells on a designated (one) word line through data lines D 0 to D ns -1 , and 106 decodes log 2 s address signals to decode the data. N of the lines D 0 to D ns-1 are designated, and the (n) data of the specified sense amplifier group 104 are sent to the common input I / O through the (n) common data via the data line selector 105. The decoders 110, 120, 130, and 140 are decoding circuits, encoding circuits, selector circuits, and write circuits, respectively, and constitute an error correction function by ECC.

본 반도체 메모리는 RAM(Random Access Memory)이고, 정보점수k, 검사점수m, 보호길이n(=k+m)의 ECC에 의한 에러정정기능을 갖는다. 또, ECC에 인에이블신호를 입력하는 단자ECCE와 검사용비트를 지정하는 단자aa를 갖고, 통상의 사용상태에 있어서는 단자ECCE가 저항기R1에 의해서 높은 전위(논리 1), 한쪽의 단자aa가 저항기R2에 의해서 낮은 전위(논리 0)으로 에러정정기능을 작동시켜서 각종의 데이타를 기억한다. 상세한 것은 다음에 기술하지만, 단자ECCE를 낮은 전위(논리 0)으로 하는 것에 의해 에러정정기능의 동작을 정지시키고, 한쪽의 단자aa를 높은 전위(논리 1)로 하는 것에 의해 검사비트를 라이트/리드시켜서 각부를 체크한다.This semiconductor memory is a RAM (Random Access Memory) and has an error correction function by an ECC having an information score k, an inspection score m, and a protection length n (= k + m). In addition, it has a terminal ECCE for inputting an enable signal to the ECC and a terminal a specifying an inspection bit.In a normal use state, the terminal ECCE is set to a high potential (logic 1) by the resistor R 1 and one terminal a operation, the error correction capabilities to a lower potential (logical 0) by the resistor R 2 by stores various kinds of data. Although details will be described later, the operation bit is stopped by setting the terminal ECCE to a low potential (logic 0), and the test bit is written / read by setting one terminal aa to a high potential (logic 1). Check each part.

다음에, ECC에 의한 에러정정기능을 구성하는 각 회로(110)∼(140)의 구성과 그 동작에 대해서 제11도∼제14도에 따라서 기술한다.Next, the configuration and operation of each of the circuits 110 to 140 constituting the error correction function by ECC will be described according to FIGS. 11 to 14.

복호회로(110)은 ECC에 의해 에러정정을 실행하기 위해 제11도에 도시한 바와 같이, 신드롬 생성회로(111), 에러위치 지정회로(112), 에러정정용의 배타적 논리합(EOR) 게이트군의 AND게이트군으로 구성한다. 신드롬 생성회로(111)은 공통 입출력선I/O로부터의 데이타 X0∼Xn-1에 대한 신드롬을 생성하고 그것을 에러위치 지정회로(112)로 송출한다. 에러위치 정정회로(112)는 신드롬을 해석해서 데이타 X0∼Xn-1의 에러위치를 추정하고, 출력하는 n개중 에러가 있다고 추정된 출력선만을 논리 1(다음 출력은 모두 논리 0)로 한다.The decoding circuit 110 includes the syndrome generating circuit 111, the error positioning circuit 112, and the exclusive logical OR (EOR) gate group for error correction as shown in FIG. It consists of an AND gate group. The syndrome generating circuit 111 generates a syndrome for the data X0 to Xn-1 from the common input / output line I / O and sends it to the error positioning circuit 112. The error position correction circuit 112 analyzes the syndrome, estimates the error position of the data X0 to Xn-1, and sets only the output line estimated as having an error among the n outputted data to be logic 1 (all next outputs are logic 0).

이 때, 에러정정을 실행하는 경우는 상기 n개의 출력이 그대로 AND게이트군을 통해서 EOR게이트군으로 송출되기 때문에 데이타 X0∼Xn-1중 에러가 있다고 추정된 비트만이 반전되어 출력 y0∼Xy-1로 된다. 반대로 에러정정을 실행하지 않는 경우는 AND게이트군의 출력 모두가 논리 0으로 되고, 데이타 X0∼Xn-1이 그대로 출력 y0∼yn-1로 된다.In this case, when the error correction is executed, the n outputs are sent directly to the EOR gate group through the AND gate group, so that only bits estimated as having errors in the data X 0 to X n-1 are inverted and output y 0. X to y-1 . On the contrary, when error correction is not performed, all of the outputs of the AND gate group are logical 0s, and the data X 0 to X n-1 are output y 0 to y n-1 as they are.

선택회로(130)은 복호회로(110)으로부터의 데이타 y0∼y6(단, n=7, k=4, m=3)을 단자aa 및 log2k개의 어드레스 내용에 따라서 출력단자 Dout로 송출하고, 메모리어레이(103)의 데이타를 리드하기 위해 제12도에 도시한 바와 같이 인버터군, AND게이트군, OR게이트로 구성한다.Select circuit 130 has data y 0 ~y 6 from the decoding circuit 110 (however, n = 7, k = 4 , m = 3) and the terminal aa log 2 k output terminals according to the address information D out And an inverter group, an AND gate group, and an OR gate as shown in FIG. 12 to read data from the memory array 103.

즉, 3개의 어드레스신호 a1, a1+1, aa의 내용에서 입력한 데이타 y0∼y6중의 1개를 선택하고 AND게이트군, OR게이트를 통해서 Dout로 송출하지만, 이때 aa가 논리 0이면 상기 선택을 y0∼y3즉 정보비트중에서 실행하고, 반대로 aa가 논리 1이면 y4∼y6즉 검사비트중에서 실행한다.That is, one of the data y 0 to y 6 inputted from the contents of the three address signals a 1 , a 1 + 1 , and aa is selected and sent to D out through the AND gate group and the OR gate. If 0, then the selection is performed in y 0 to y 3, i.e., the information bits. Conversely, if aa is logical 1, then the selection is performed in y 4 to y 6, i.

즉, 정보비트 y0∼y3을 리드하기 위한 본래의 어드레스 a1, a1+1에 어드레스aa를 추가한 것에 의해, 정보비트, 검사비트의 양쪽을 리드하는 것이 가능하게 된다.That is, by adding address aa to the original addresses a 1 and a 1 + 1 for reading the information bits y 0 to y 3 , both the information bit and the check bit can be read.

라이트회로(140)은 aa와 log2k개의 어드레스 내용에 따라서 데이타 y0∼y6(n=7, k=4, m=3)중의 1비트를 입력단자Din으로부터의 데이타로 치환해서 부호화회로(20)으로 송출하고 메모리어레이(103)에 재차 라이트하기 위해, 제13도에 도시한 바와 같이 인버터군과 AND게이트군으로 되는 디코더회로(141), 인버터군, 트랜지스터군으로 구성한다.Write circuit 140 by substituted by aa and log 2 k pieces of address information according to the data y 0 ~y 6 (n = 7 , k = 4, m = 3) input terminal of the 1-bit data from the encoding D in In order to send to the circuit 20 and write to the memory array 103 again, the decoder circuit 141 is composed of an inverter group and an AND gate group as shown in FIG. 13, an inverter group, and a transistor group.

즉, 3개의 어드레스신호 a1, a1+1, aa의 내용에서 복호회로(110)으로부터의 데이타 y0∼y6중의1개를 Dln으로부터의 데이타로 치환해서 부호화회로(120)으로 송출하지만, 이때 aa가 논리 0이면 상기 치환을 y0∼y3(정보비트)중에서 실행하고, 반대로 aa가 논리 1이면 y4∼y6(검사비트) 중에서 실행한다.That is, in the contents of the three address signals a 1 , a 1 + 1 and aa, one of the data y 0 to y 6 from the decoding circuit 110 is replaced with data from Dln and sent to the encoding circuit 120. At this time, if aa is logical 0, the substitution is executed in y 0 to y 3 (information bits). On the contrary, if aa is logical 1, the substitution is executed in y 4 to y 6 (check bits).

즉, 선택회로(130)의 경우와 마찬가지로 정보비트 y0∼y3을 치환하기 위한 본래의 어드레스 a1+1, a1+1에 어드레스 aa를 추가한 것에 의해, 정보비트, 검사비트의 양쪽에 대해서 외부로부터의 임의의 데이타를 라이트하는 것이 가능하게 된다. 그리고, 본 실시예에서는 k≥m으로 가정하고 있으므로, 추가하는 어드레스는 aa1개로 실현할 수 있지만, k<m일 때에는 부가하는 어드레스 개수를 증가시켜서 대응한다.That is, as in the case of the selection circuit 130, by adding the address aa to the original addresses a 1 + 1 and a 1 + 1 for substituting the information bits y 0 to y 3 , both the information bits and the check bits are added. It is possible to write arbitrary data from the outside. In the present embodiment, k? M is assumed. Therefore, aa1 addresses can be added. However, when k < m, the number of addresses to be added is increased.

부호화회로(120)은 라이트회로(140)으로부터의 데이타 Z0∼Nn-1을 공통 입출력선 I/O의 X0∼Xn-1로 출력하고 메모리어레이(103)에 라이트할 때, 정보비트(Z0∼Zk-1)는 그대로, 한쪽의 검사비트(Zk∼Zn-1)을 그대로 또는 새로이 생성한 검사비트로 치환하기 위해 제14도에 도시한 바와 같이 검사비트 생성회로(121), 트랜지스터군, 인버터로 구성한다.The encoding circuit 120 is output as a X 0 ~X n-1 of the data Z 0 ~N n-1 to the common output line I / O from the write circuit 140 to be written into the memory array 103, the information The bits Z 0 to Z k-1 are left unchanged, as shown in FIG. 14, in order to replace one check bit Z k to Z n-1 with new or generated test bits. 121), and a transistor group and an inverter.

즉, 검사비트 생성회로(121)이 Z0∼Zk-1(정보비트)의 내용에 따라서 m개로 이루어지는 ECC의 검사비트를 생성하고, 이 때 aa가 논리 0이면 Xk∼Xn-1(검사비트)로 생성한 검사비트를, 반대로 논리 0이면 Zk∼Zn-1을 그대로 송출하고, Zn∼Zk-1과 함께 데이타선 선택회로(105)를 통해서 메모리어레이(103)내에 라이트한다.That is, the check bit generation circuit 121 generates m check bits of the ECC according to the contents of Z 0 to Z k -1 (information bits), and if aa is logical 0, then X k to X n-1 On the contrary, if the check bit generated by the (check bit) is logical 0, Z k to Z n-1 are transmitted as it is, and the memory array 103 is transmitted through the data line selection circuit 105 together with Z n to Z k-1 . Write in.

여기서, 반도체 메모리를 제조한 후의 체크(테스팅)에 대해서 상술한 내용을 정리하면,Here, if the above-mentioned contents are summarized about the check (testing) after manufacturing a semiconductor memory,

(1) 메모리셀의 테스트(1) Memory Cell Test

ECCE를 논리 0(에러정정기능을 정지)인 채로, 메모리어레이(103)에 1과 0의 체크데이타를 라이트하고, 그후 리드해서 데이타내용을 체크하여 검사비트용의 메모리셀도 포함시킨 메모리셀 자체의 테스트를 실시한다. 그리고, 이때의 aa는 어드레스와 마찬가지로 주사시킨다.With ECCE set to logic 0 (stopping the error correction function), the memory cells themselves are written to the memory array 103 by writing check data of 1 and 0, and then reading the data contents to include the memory cells for the test bits. Conduct the test. And aa at this time is scanned similarly to an address.

(2) 부호화의 테스트(2) coding test

ECCE는 논리 1(에러정정기능을 동작), aa를 논리 0으로하여 정보비트를 라이트하고, 그후 ECCE를 논리 0(에러정정기능을 정지)로 하여 정보비트를, 계속해서 aa를 논리 1(검사비트를 지정)으로 하여 검사비트를 함께 리드하고, 데이타 내용을 체크해서 검사비트가 부호화회로(120)에 있어서 정확하게 부가되어있는가의 테스트를 실시한다.The ECCE writes the information bits with logic 1 (the error correction function is activated) and aa as logic 0, then the ECCE as logic 0 (the error correction function is stopped) and the information bits, followed by aa with logic 1 (check). Bit is specified), the check bits are read together, and the contents of the data are checked to test whether the check bits are correctly added to the coding circuit 120.

(3) 복호의 테스트(3) testing of decryption

ECCE는 논리 0, aa를 논리 0으로하여 정보비트를 라이트하고, 계속해서 aa를 논리 1로 바꾸어 검사비트 라이트하고, 그후 ECCE를 논리 1, aa를 논리 0으로하여 정보비트를 리드하고, 데이타 내용을 체크해서 정보비트가 복호회로(110)에 있어서 정확하게 정정되어 있는가의 테스트를 실시한다. 계속해서, aa만을 논리 1로 바꾸어 검사비트를 리드라고 마찬가지로 체크해서 검사비트에 대한 정정의 테스트를 실시한다. 그리고, 라이트하는 데이타는 복호회로(110)에서 정정할 수 있는 에러를 포함한 내용으로 한다.The ECCE writes the information bits with logic 0 and aa as logic 0, and then writes the check bits by changing aa to logic 1 and then reads the information bits with ECCE as logic 1 and aa as logic 0 and the data contents. Is checked to test whether the information bits are correctly corrected in the decoding circuit 110. Subsequently, only aa is changed to logic 1, and the check bit is similarly read as read, and the test for the check bit is corrected. The data to be written is a content including an error that can be corrected by the decoding circuit 110.

본 실시예에서는 ECC인에이블신호, 어드레스 신호를 입력하기 위하여 단자ECCE, aa를 마련하였지만, 다른 단자를 사분할로 겸용하고 양 신호를 입력하여도 좋다. 또, 통상동작시에는 사용하지 않는 신호의 조합(예를들면, 스테이틱RAM에 있어서는 출력 인세이블신호OE와 라이트 인에이블신호WE를 동시에 인가하는 등)에 의해서 내부에서 신호를 생성하여도 좋다.In this embodiment, the terminals ECCE and aa are provided for inputting an ECC enable signal and an address signal. However, the other terminals may be used in quadrant and both signals may be input. The signal may be generated internally by a combination of signals that are not used during normal operation (for example, simultaneously applying the output enable signal OE and the write enable signal WE in the static RAM).

다음에, 본 발명의 제5의 실시예를 제15도∼제21도에 따라서 상세하게 기술한다.Next, a fifth embodiment of the present invention will be described in detail with reference to FIGS. 15 to 21. FIG.

제15도는 반도체 메모리의 구성도이다. 상술한 제10도의 다른 점은 (i) 데이타선 D0∼Dn-1를 시리얼 형상으로 선택하는 점이다. 즉, r개의 워드선 W6∼Wr-1은 제10도의 마찬가지로 디코더부(101)에 의해 램텀하게 선택되지만, n개의 데이타선 D0∼Dn-1은 외부로부터의 클럭신호SCLK에 동기해서 시프트하는 시프트 레지스터부(107)에 의해 D0, D1, D2, …, Dn-1순으로 선택된다. 단, 데이타선 D0∼Dn-1은 상술한 바와 마찬가지로 k개의 정보비트 D0∼Dk-1기억용과 m개의 검사비트 Dk∼Dn-1기억용으로 구성한다. 따라서, 메모리어레이(103)에 대한 정보비트의 라이트/리드는 SCLK신호에 동기해서 1비트씩 k회의 타이밍으로 실행한다.15 is a configuration diagram of a semiconductor memory. The difference of FIG. 10 mentioned above is that (i) data lines D 0 to D n-1 are selected as serial shapes. In other words, r word lines W 6 to W r-1 are selected in the same manner as in FIG. 10 by the decoder 101, but n data lines D0 to Dn-1 are shifted in synchronization with an external clock signal SCLK. The shift register section 107 makes D 0 , D 1 , D 2 ,. , D n-1 . However, as described above, the data lines D 0 to D n-1 are configured for storing k information bits D 0 to D k-1 and m checking bits D k to D n-1 . Therefore, the write / read of the information bits for the memory array 103 is executed at timing k times by one bit in synchronization with the SCLK signal.

(ⅱ) ECC로서 순회부호를 채용한 점이다. 이로 인해 부호화회로(125), 복호회로(115)에는 각각 순회부호의 성질을 이용하여 시리얼적으로 부호화, 복호화를 실행하는 회로를 이용한다.(Ii) The circuit code is adopted as the ECC. For this reason, a circuit for serially encoding and decoding is used for the encoding circuit 125 and the decoding circuit 115 using the nature of the cyclic code.

(ⅲ) SCLK신호, ECC인에이블신호를 입력해서 시프트 레지스트부(107), 부호화회로(125), 복호회로(115)를 구동하기 위한 타이밍펄스를 발생하는 입출력 제어회로(155)를 구비한다. 그리고, 상세한 것은 다음에 기술하겠지만, 필요에 따라서 SCLK신호가 없더라도 타이밍펄스를 송출한다.(Iii) An input / output control circuit 155 for inputting an SCLK signal and an ECC enable signal to generate a timing pulse for driving the shift resister 107, the encoding circuit 125, and the decoding circuit 115 is provided. As will be described later in detail, timing pulses are transmitted even if there is no SCLK signal.

(ⅳ) 데이타선 선택회로(105)로부터의 공통 입출력선I/O의 접속지를 복호회로(115)의 출력측과 입력측, 부호화회로(125)의 출력측으로 전환하는 스위치(165)를 마련하고 있다.(Iii) A switch 165 for switching the connection of the common input / output line I / O from the data line selection circuit 105 to the output side of the decoding circuit 115, the input side, and the output side of the encoding circuit 125 is provided.

제16도는 제15도의 반도체 메모리의 처리 흐름도이다. 제17도는 제15도에서의 통상동작시의 동작 타이밍도이다.FIG. 16 is a process flowchart of the semiconductor memory of FIG. FIG. 17 is an operation timing diagram in normal operation in FIG.

반도체 메모리는 도시하고 있지 않지만, 선택신호인 침선택신호 CS가 L이고, 디코더부(101) 및 워드선 드라이버(102)에 의해서 워드선 W0∼Wr-1의 1개가 선택되면, 도시하지 않지만 리드 또는 라이트를 지시하는 신호인 WE신호가 L(라이트)일 때에는 회로(155)에서 부호화회로(125), 시프트 레지스트부(107)로 SCLK신호에 동기하는 타이밍펄스를 k회 송출시키고, 데이타선을 D0, D1, D2, …, Dk-1의 순서로 1개의 전환하여 입력단자 Dln으로부터의 데이타를 메모리어레이(103)의 그것에 대응하는 메모리셀에 라이트한다(제16도의 스텝 1122). 그리고, 스위치(165)의 접속하는 부호화회로(125)의 출력측(단자C)이다.Although not shown in the semiconductor memory, when the needle selection signal CS which is the selection signal is L and one of the word lines W 0 to W r-1 is selected by the decoder unit 101 and the word line driver 102, not shown. However, when the WE signal, which is a signal indicating read or write, is L (write), a timing pulse synchronized with the SCLK signal is sent from the circuit 155 to the encoding circuit 125 and the shift resister 107 k times, and the data is transmitted. The lines D 0 , D 1 , D 2 ,. 1 is switched in the order of D k-1 , and the data from the input terminal Dln is written to the memory cell corresponding to that of the memory array 103 (step 1122 in FIG. 16). The output side (terminal C) of the encoding circuit 125 to which the switch 165 is connected.

계속해서, 회로(155)에서 부호화회로(125), 시프트 레지스터(107)로 타이밍펄스를 m의 송출시키고, 부호화회로(125)가 생성하고 있던 m로 이루어지는 검사비트를 사기와 동일한 방법으로 메모리에러이(103)에 라이트한다(스텝 1123).Subsequently, the circuit 155 sends the timing pulse to the encoding circuit 125 and the shift register 107, and the memory error is generated in the same manner as that of checking the check bit made of m generated by the encoding circuit 125. It writes to 103 (step 1123).

상기 동작을 반복하는 것에 의해, Dln으로 부터의 데이타 모두와 ECC의 검사비트를 메모리어레이(103)내에 라이트한다.By repeating the above operation, all the data from Dln and the check bits of the ECC are written into the memory array 103.

한편, WE신호가 H(리드)일 때에는 우선 회로(155)에서 타이밍펄스를 송출시켜서 시프트 레지스터부(107), 복호회로(115)를 구동하고, 신드롬의 계산을 실행하도록 한다(스텝 1131) 계속해서, 회로(155)에서 복호회로(115), 시프트 레지스터부(107)로 SCLK신호에 동기하는 타이밍펄스를 송출시키고, 라이트시와 마찬가지로 에이타선을 D0, D1, D2, …, Dk-1의 순으로 1개씩 전환하여 메모리어레이(103)에 대응하는 메모리셀로부터 k개의 정보비트를 리드하고, 복호회로(115)에서 에러정정을 한후, 출력단자 Dout로 출력한다. 이와 동시에 정정된 정보비트를 스위치(165)의 단자A, 데이타선 선택회로(105)를 통해서 메모리어레이(103)의 본래의 메모리셀에 재차 라이트한다(제16도의 스텝1132).On the other hand, when the WE signal is H (lead), first, the timing pulse is sent from the circuit 155 to drive the shift register section 107 and the decoding circuit 115 to execute the calculation of the syndrome (step 1131). The circuit 155 outputs timing pulses in synchronization with the SCLK signal from the decoding circuit 115 and the shift register unit 107, and outputs the ata lines as D 0 , D 1 , D 2 ,. , K k bits of information are read from the memory cells corresponding to the memory array 103 by switching one by one in the order of D k-1 , and error correction is performed by the decoding circuit 115 and then output to the output terminal D out . At the same time, the corrected information bits are written back to the original memory cells of the memory array 103 via the terminal A of the switch 165 and the data line selection circuit 105 (step 1132 in FIG. 16).

다음에, 타이밍 발생회로(155)에서 복호회로(115), 시프트레지스터부(107)로 타이밍펄스를 또 m의 송출시키고, 상기 정보비트와 마찬가지로 데이타선을 Dk, Dk+1, …, Dn-1의 순으로 1개씩 전환하여 대응하는 메모리셀로부터 m개의 검사비트를 리드하고, 복호회로(115)에서 에러정정을 한 후 스위치(165)의 단자A, 데이타선 선택회로(105)를 통해서 메모리어레이(103)의 본래의 메모리셀에 재차 라이트한다(스텝1133). 그리고, m개의 검사비트를 리라이트하지만 Dout로 송출은 하지 않는다.Next, timing pulses are further sent from the timing generation circuit 155 to the decoding circuit 115 and the shift register unit 107 by m, and the data lines are similar to the information bits D k , D k + 1 ,. , D n-1 , switched one by one, reads the m check bits from the corresponding memory cell, corrects the error in the decoding circuit 115, and then selects the terminal A and the data line selection circuit 105 of the switch 165. Is written back into the original memory cell of the memory array 103 (step 1133). Then, m check bits are rewritten, but are not sent to D out .

상기의 리드동작을 반복하는 것에 의해, 메모리어레이(103)내의 지정한 정보비트를 Dout로 출력한다.By repeating the above read operation, the specified information bits in the memory array 103 are output to Dout.

이 경우, 라이트시, 리드시도 외부에서 인가하는 SCLK신호의 사이클 수는 k회이며, 라이트, 리드 데이타수도 k비트이다. 즉, 외부에서는 k비트의 시리얼 반도체 메모리로 보이고, ECC용의 m개의 검시비트는 보이지 않는다.In this case, the number of cycles of the SCLK signal applied externally at the time of write and read is k, and the number of write and read data is k bit. That is, externally, it appears as a k-bit serial semiconductor memory, and m test bits for ECC are not seen.

제18도는 제15도에서의 메모리셀(검사비트용의 메모리셀도 포함한다)의 테스트할 때의 동작타이밍도이다.FIG. 18 is an operation timing chart when testing the memory cells (including the memory cells for the test bits) in FIG.

반도체 메모리는 CS신호와 단자ECCE가 모두 L이고 워드선 W0∼Wr-1의 1개가 선택되면, WE신호가 L(라이트)일 때에는 제17도(통상동작시)와 마찬가지로 회로(155)에서 부호화회로(125), 시프트 레지스터(107)로 SCLK신호에 동기하는 타이밍펄스를 k회 송출시키고, 데이타선을 D0, D1, D2, …, Dk-1의 순으로 전환하여 Dln으로부터의 데이타(정보비트)를 스위치(165)의 C단자, 데이타선 선택회로(105)를 통해서 메모리어레이(103)의 대응하는 메모리셀에 차례로 라이트한다(제16도의 스텝1112).In the semiconductor memory, when both the CS signal and the terminal ECCE are L and one of the word lines W 0 to W r-1 is selected, the circuit 155 is operated as in FIG. 17 (in normal operation) when the WE signal is L (write). To the encoder circuit 125 and the shift register 107 to output timing pulses synchronized with the SCLK signal k times, and the data lines are divided into D 0 , D 1 , D 2 ,. , D k-1 , and then write data (information bits) from D ln to the corresponding memory cell of the memory array 103 through the C terminal of the switch 165 and the data line selection circuit 105 in order. (Step 1112 of FIG. 16).

계속해서, 상기와 마찬가지로 타이밍펄스를 회로(155)에서 부호화회로(125), 시프트 레지스터부(107)로 m회 송출시키고, 데이타선을 Dk, Dk+1, Dk+2, …, Dn-1의 순으로 전환해서 Dln으로부터의 데이타(검사비트)를 스위치(165)의 C단자, 데이타선 선택회로(105)를 통해서 메모리어레이(103)의 대응하는 메모리셀에 차례로 라이트한다(스텝 1113).Subsequently, the timing pulse is sent out m from the circuit 155 to the encoding circuit 125 and the shift register unit 107 in the same manner as described above, and the data lines D k , D k + 1 , D k + 2 ,. In order of D n-1 , and sequentially writes data (check bit) from D ln to the corresponding memory cell of the memory array 103 through the C terminal of the switch 165 and the data line selection circuit 105. (Step 1113).

상기 동작을 반복한 것에 의해, Dln으로부터의 데이타(정보 및 검사비트를)를 메모리어레이(103)의 각 메모리셀에 라이트한다.By repeating the above operation, data (information and check bits) from D ln are written to each memory cell of the memory array 103.

한편, WE신호가 H(리드)일 때에는 제17도(통상동작)과 마찬가지로 시프트 레지스터부(107), 복호회로(115)에 신드롬의 계산을 실행하도록 한 후(제16도의 스텝1141), 타이밍 발생회로(155)에서 복호회로(115), 시프트 레지스터부(107)로 SCLK신호에 동기한 타이밍펄스를 송출시키고, 라이트할 때와 마찬가지로 데이타선을 D0, D1, D2, …, Dk-1의 순으로 전환해서 메모리어레이(103)이 대층하는 메모리셀에서 k개의 정보비트를 리드하여 Dout로 출력한다. 그와 동시에 스위치(165)의 단자A, 데이타선 선택회로(105)를 통해서 메모리어레이(103)에 재차 라이트한다(스텝1142).On the other hand, when the WE signal is H (lead), the shift register section 107 and the decoding circuit 115 perform calculation of the syndrome as in FIG. 17 (normal operation) (step 1141 in FIG. 16). The timing circuit in synchronization with the SCLK signal is sent from the generation circuit 155 to the decoding circuit 115 and the shift register section 107, and the data lines are divided into D 0 , D 1 , D 2 ,... , D k-1 , and then, k information bits are read from the memory cells stacked by the memory array 103 and output to D out . At the same time, the memory A is again written to the memory array 103 via the terminal A of the switch 165 and the data line selection circuit 105 (step 1142).

계속해서, 상기와 마찬가지의 타이밍펄스를 또 타이밍 발생회로(155)에서 복호회로(115), 시프트 레지스터부(107)로 m회 송출시키고, 데이타선을 Dk, Dk+1, …, Dn-1의 순으로 전환해서 대응하는 메모리셀에서 m개의 검사비트를 리드하여 Dout로 출력한다. 동시에, 스위치(165)의 단자 A, 데이타선 선택회로(105)를 통해서 메모리어레이(103)에 재차 라이트한다(스텝 1143).Subsequently, the same timing pulse as described above is sent from the timing generating circuit 155 to the decoding circuit 115 and the shift register section 107 m times, and the data lines D k , D k + 1 ,. , D n-1 is switched, and m check bits are read from the corresponding memory cell and output to Dout. At the same time, the memory array 103 is again written through the terminal A of the switch 165 and the data line selection circuit 105 (step 1143).

상기의 리드동작을 반복하는 것에 의해, 메모리어레이(103)의 정보와 검사비트를 Dout로 출력한다.By repeating the above read operation, the information and the check bit of the memory array 103 are output to D out .

메모리셀의 테스트시에는 통상동작시와 달리, 라이트/리드 모두 SCLK신호를 (k+m)회 인가하고, 복호회로(115)에 의한 데이타의 에러정정을 동작정지로 한다(그리고, 이것은 제11도와 동일한 방법으로 실현한다). 이로 인해, SCLK신호를 n(=k+m)회 인가하면, 메모리셀에 라이트한 정보비트 뿐만 아니라 검사비트로 정정하지 않고 Dout로 리드시키므로, 메모리셀 자체(검사비트용의 메모리셀도 포함)의 테스트가 가능하게 된다. 또, 이 경우 외부에서는 에러정정기능이 없는 n비트의 시리얼 반도체 메모리로 보인다.In the test of the memory cell, unlike the normal operation, the write / lead applies the SCLK signal (k + m) times, and the error correction of the data by the decoding circuit 115 is set to stop operation (and this is the eleventh operation). Is realized in the same way as the tiles). For this reason, when the SCLK signal is applied n (= k + m) times, not only the information bits written to the memory cells but also the read bits are read out to D out without correcting them, so that the memory cells themselves (including the memory cells for the test bits) are also included. Can be tested. In this case, it appears to be an external n-bit serial semiconductor memory without an error correction function.

제19도는 제15도에서의 부호화의 테스트시의 동작 타이밍도이다.19 is an operation timing diagram at the time of testing the encoding in FIG.

반도체 메모리는 CS신호가 L, 단자ECCE가 H이고, WE신호가 L(라이트)일 때에 워드선 W0∼Wr-1이 1개가 선택되면, 제17도(통상동작시)와 마찬가지로 SCLK신호에 동기하는 타이밍펄스(k회)로 Dln으로부터의 데이타(정보비트)를 메모리어레이(103)에 라이트하고(스텝1122), 계속해서 타이밍펄스(m회)로 부호화회로(125)가 생성된 m개의 검사비트를 메모리어레이(103)에 라이트한다(스텝1123).In the semiconductor memory, when the CS signal is L, the terminal ECCE is H, and the WE signal is L (write), if one word line W 0 to W r-1 is selected, the SCLK signal is similar to that in FIG. 17 (normal operation). The data (information bits) from D ln are written to the memory array 103 at a timing pulse (k times) in synchronization with (step 1122). Then, the encoding circuit 125 is generated with a timing pulse (m times). The m check bits are written to the memory array 103 (step 1123).

상기 동작을 반복하는 것에 의해, Dln으로부터의 데이타 모두와 그에 대한 ECC의 검사비트를 메모리어레이(103)내에 라이트한다.By repeating the above operation, all of the data from D ln and the check bits of the ECC are written into the memory array 103.

한편, 단자ECCE가 L이고 WE신호가 H(리드)일 때에 워드선 W0∼Wr-1이 1개 선택되면, 제18도(메모리셀을 테스트할 때)와 마찬가지로 신드롬의 계산을 한 후, SCLK신호에 동기한 타이밍펄스(k회)로 메모리어레이(103)의 정보비트를 k개 리드하여 Dout로 출력함과 동시에 메모리어레이(103)에 재차 라이트한다(스텝1141, 1142). 계속해서, 상기 정보비트와 마찬가지로 SCLK신호에 동기하는 타이밍펄스(m회)로 메모리어레이(103)의 검사비트를 m개 리드하여 Dout로 출력함과 동시에 메모리어레이(103)에 재차 라이트한다(스텝1143).On the other hand, if one word line W 0 to W r-1 is selected when the terminal ECCE is L and the WE signal is H (lead), the syndrome is calculated as in FIG. 18 (when the memory cell is tested). At the timing pulse (k times) synchronized with the SCLK signal, k information bits of the memory array 103 are read and outputted to Dout, and written to the memory array 103 again (steps 1141 and 1142). Subsequently, m test bits of the memory array 103 are read out in a timing pulse (m times) synchronized with the SCLK signal in the same manner as the above information bits, outputted to Dout, and written to the memory array 103 again (step). 1143).

상기의 리드동작을 반복하는 것에 의해, 메모리어레이(103)내의 정보와 검사비트를 Dout로 출력한다.By repeating the above read operation, the information and the check bit in the memory array 103 are output to D out .

이 경우, ECCE를 H로 하고 정보비트와 부호화회로(125)에서 부가한 검사비트를 메모리셀에 라이트한 후, 이를 ECCE를 L(에러정정기능을 정지)로 하여 정보비트와 검사비트로 이루어지는 n비트의 데이타를 에러정정없이 리드하기 때문에 부호화되고(125)에 있어서 검사비트를 정확하게 부가하고 있는가를 테스트할 수가 있다.In this case, the ECCE is set to H and the check bit added by the information bit and the coding circuit 125 is written to the memory cell, and the ECCE is set to L (stop error correction function). Since the data is read without error correction, it is possible to test whether or not the check bit is correctly added in the encoding (125).

제20도는 제15도에서의 부호화의 테스트시의 동작타이밍도이다.20 is an operation timing diagram at the time of testing the encoding in FIG.

반도체 메모리는 CS신호, 단자ECCE가 모드 L이고, WE신호가 L(라이트)일 때에는 제18도(메모리셀의 테스트시)와 마찬가지로 SCLK신호에 동기하는 타이밍펄스(k회)로 Dln으로 부터의 데이타(k개의 정보비트)를 메모리어레이(103)의 메모리셀에 라이트하고(스텝1112), 계속해서 상기 정보비트와 마찬가지의 타이밍펄스(m회)로 Dln으로부터의 데이타(m개의 검사비트)를 메모리셀에 차례로 라이트한다(스텝1113).In the semiconductor memory, when the CS signal and the terminal ECCE are in mode L, and the WE signal is L (write), the timing pulse (k times) synchronized with the SCLK signal is changed from D ln as in FIG. Data (k information bits) are written to the memory cells of the memory array 103 (step 1112), and then data (m check bits) from Dln with the same timing pulse (m times) as the information bits. ) Are sequentially written to the memory cells (step 1113).

한편, WE신호가 H(리드)일 때에는 제17도(통상동작시)와 마찬가지로 신드롬의 계산후, SCLK신호에 동기하는 타이밍펄스(k회)로 메모리어레이(103)으로부터 k개의 정보비트를 리드하고, 복호회로(115)에서 에러정정하여 Dout로 출력함과 동시에 재차 메모리셀에 라이트하고(스텝1131, 1132), 계속해서 타이밍펄스(m회)로 메모리어레이(103)으로부터 m개의 검사비를 리드하여 복호회로(115)에서 에러정정하고 재차 메모리셀에 라이트한다(스텝1133).On the other hand, when the WE signal is H (lead), as in FIG. 17 (normal operation), after calculating the syndrome, k information bits are read from the memory array 103 with a timing pulse (k times) synchronized with the SCLK signal. The error correction is performed by the decoding circuit 115, outputted to D out , and written to the memory cell again (steps 1131 and 1132). Then, the m inspection ratios are obtained from the memory array 103 with timing pulses (m times). The data is read and corrected by the decoding circuit 115, and written to the memory cell again (step 1133).

상기의 리드동작을 반복하는 것에 의해 메모리어레이(103)내의 정보비트를 Dout로 출력한다.By repeating the above read operation, the information bits in the memory array 103 are output to Dout.

이 경우, ECCE를 L로하고 정보비트 및 검사비트를 임의의 내용으로 메모리어레이(103)에 라이트한 후, 그 정보비트를 ECCE를 H 즉 복호회로(115)에서 에러정정하여 리드하므로, 복호회로(115)에 있어서 정확하게 정정하고 있는가를 테스트할 수 있다. 그리고, 라이트하는 데이타의 내용은 예를 들면 복호회로(115)에서 정정할 수 있는 에러를 포함하도록 한다. 또, 정보비트의 정정 테트스와 함께 검사비트를 실시할 때에는 제21도의 방법으로 실행한다.In this case, the ECCE is set to L, the information bits and the check bits are written to the memory array 103 with arbitrary contents, and the information bits are then read out with error correction by the ECCE in H, that is, the decoding circuit 115, so that the decoding circuit In 115, it can be tested whether it corrects correctly. The contents of the data to be written include, for example, errors that can be corrected by the decoding circuit 115. In addition, when the check bit is executed together with the correction test for the information bits, the method shown in FIG. 21 is executed.

즉, 반도체 메모리는 CS신호, 단자ECCE, WE신호가 모두 L상태인 제1단계에서 제20도와 마찬가지로 SCLK신호에 동기하는 타이밍펄스(k+m회)로 Dln으로부터의 k개의 정보비트와 m개의 검사비트의 양쪽을 메모리셀에 라이트한다(스텝1112, 1113).That is, in the first stage in which the CS signal, the terminal ECCE, and the WE signal are all in the L state, the semiconductor memory has k information bits and m information bits from Dln as timing pulses (k + m times) synchronized with the SCLK signal as in FIG. Both check bits are written to the memory cells (steps 1112 and 1113).

다음에, 단자 ECCE와 WE신호가 모두 H상태인 제2단계에서 제20도와 마찬가지로 신드롬의 계산후, SCLK신호에 동기하는 타이밍펄스(k회)로 메모리어레이(103)으로부터 정보비트를 리드해서 정정하고 Dout로 출력한 후, 타이밍펄스(m회)로 검사비트를 리스해서 정정하고 재차 메모리어레이(103)에 라이트한다(스텝1131∼1133).Next, after calculating the syndrome similarly to Fig. 20 in the second step in which both the terminal ECCE and the WE signal are in the H state, information bits are read out from the memory array 103 by timing pulses (k times) synchronized with the SCLK signal and corrected. After outputting to D out , the check bit is leased and corrected with a timing pulse (m times) and written to the memory array 103 again (steps 1131 to 1133).

계속해서, CS신호와 단자ECCE가 모두 L, WE신호가 H상태 그대로인 제3단계에서 제18도와 마찬가지로 신드롬의 계산후 SCLK신호에 동기하는 타이밍펄스(k회)로 정보비트를 리드해서 Dout로 출력하고 재차 메모리어레이(103)에 라이트한 후, 동일한 타이밍펄스(m회)로 제2단계에서 정정된 검사비트를 리드해서 Dout로 출력하고 재차 메모리어레이(103)에 라이트한다(스텝1141∼1143).Subsequently, in the third step in which both the CS signal and the terminal ECCE are in the L state and the WE signal are in the H state, the information bit is read out to D out by timing timing (k times) synchronized with the SCLK signal after calculating the syndrome as in the case of FIG. After outputting and writing again to the memory array 103, the test bit corrected in the second step is read out at the same timing pulse (m times), outputted to Dout, and written to the memory array 103 again (steps 1141 to 1143). ).

상기 3단계의 동작에서 검사비트가 정확하게 정정되었는가를 외부에서 판단할 수 있다. 또, 동작을 3단계로 하지 않고 실생하는 방법을 제22도에 따라서 설명한다.In the operation of step 3, it may be externally determined whether the check bit is correctly corrected. In addition, a method of realizing without performing the operation in three steps will be described with reference to FIG.

제22도는 ECC인에이블신호의 입력단자를 2개 마련한 경우의 반도체 메모리 구성도이다.FIG. 22 is a configuration diagram of a semiconductor memory in the case where two input terminals of an ECC enable signal are provided.

동일도면에 있어서, ECCE1은 타이밍 발생회로(156)과 부호화회로(126)을 상기와 마찬가지로 제어하는 단자, ECCE2는 복호회로(116)을 상기와 마찬가지로 제어하는 단자이다. 그리고, 그 이외는 제15도와 마찬가지이다.In the same drawing, ECCE 1 is a terminal for controlling the timing generator circuit 156 and the encoding circuit 126 in the same manner as above, and ECCE 2 is a terminal for controlling the decoding circuit 116 in the same manner as above. In addition, it is the same as FIG. 15 other than that.

즉, 검사비트의 복호테스트는 우선 라이트를 제20도(복호 테스트시)와 마찬가지로 CS신호, 단자ECCE1, WE신호를 모두 L(논리 0)으로 하고 단자ECCE2를 H(논리 1)로 해서 Dln으로부터의 데이타(정보 및 검사비트)를 메모리어레이(103)에 라이트하고, 다음의 리드를 ECCE1을 논리 0, ECCE2를 논리 1로 해서 리드하는 것에 의해, 복호회로(16)이 에러정정하고 있는 상태에서 직접 검사비트를 리드할 수 있어 검사비트의 정정을 상기 2단계로 테스트할 수 있다. 그리고, 그밖의 테스트시와 통상동작시는 제15도의 경우의 실시예를 ECCE1=ECCE2의 상태에서 실행한다.That is, in the decoding test of the test bit, first, as in FIG. 20 (decoding test), the CS signal, the terminal ECCE 1 and the WE signal are all set to L (logical 0) and the terminal ECCE 2 is set to H (logic 1). The decoding circuit 16 causes an error by writing data (information and check bits) from D ln to the memory array 103 and reading the next read with ECCE 1 as logic 0 and ECCE 2 as logic 1. The test bit can be read directly in the correcting state, and the test bit can be tested in the above two steps. In the other test and normal operation, the embodiment of FIG. 15 is executed in the state of ECCE 1 = ECCE 2 .

제23도는 본 발명의 제7실시예를 도시한 반도체 메모리의 구성도로서, 일본국 특허공개공보 소화60-13398호에 개시된 multilevel data storage memory를 이용하고 있다. 동일도면에 있어서, (173)은 다값(3비트)의 메모리 매트릭스 (167)은 데이타선 선택회로(175)로부터의 3개의 I/O선을 각각 복호회로의 입력측과 출력측, 부호화회로의 출력측에 접속하는 스위치이다. 그리고, 입력단자 Dln과 출력단자Dout의 개수는 3개로 되지만, 다른 각 회로의 동작은 기본적으로는 제15도와 마찬가지이다.FIG. 23 is a block diagram of a semiconductor memory showing the seventh embodiment of the present invention, which uses a multilevel data storage memory disclosed in Japanese Patent Laid-Open No. 60-13398. In the same drawing, reference numeral 173 denotes a multi-valued (3-bit) memory matrix 167 that connects three I / O lines from the data line selection circuit 175 to the input side and the output side of the decoding circuit and the output side of the coding circuit, respectively. It is a switch to connect. The number of input terminals D ln and output terminals D out is three, but the operations of the other circuits are basically the same as those in FIG.

부호화회로(127)이 3비트 각각의 부호화를 상술한 마찬가지의 방법으로 실행하여 다값 메모리에 라이트하고, 복호회로(17)이 3비트 각각의 에러정정을 마찬가지로 상술한 것과 동일한 방법으로 실행하여 다값 메모리의 데이타를 리드하는 것에 의해, 상술한 각종 테스트를 실시한다.The encoding circuit 127 executes the encoding of each of the three bits in the same manner as described above and writes it to the multivalued memory, and the decoding circuit 17 executes the error correction of each of the three bits in the same manner as described above. The above-described various tests are performed by reading the data.

이와 같이, ECC인에이블신호, 검사비트의 외부로의 입출력을 지시하여 ECC용의 검사비트를 축적하는 메모리셀 자체의 테스트, 부호회회로의 테스트, 복로회로의 테스트 등을 각각 독립시킬 수 있으므로, 종래보다 테스팅의 신뢰감을 높일 수 있다.As described above, since the ECC enable signal and the input / output of the check bit are instructed to the outside, the test of the memory cell itself that accumulates the check bit for ECC, the test of the code circuit, and the test of the redundancy circuit can be independent. The reliability of testing can be increased than before.

이상 설명한 바와 같이, 본 발명에 의하면 ECC에 의한 에러정정기능을 탑재한 반도체 메모리에 있어서, ECC의 검사비트 기억용 메모리셀로의 라이트를 단자Dln으로부터의 입력데이타 또는 부호화회로에서의 생성데이타에 의해 실행하고, 반대로 메모리어레이의 데이타를 리드할 때, 복호회로에 의한 에러정정의 동작, 비동작 및 검사비트의 출력, 비출력을 전환해서 실행하므로, 검사비트용의 메모리셀 자체의 테스트, 부호화회로의 테스트, 복호회로의 테스트 등을 각각 독립적인 것으로 하는 것이 가능하게 된다.As described above, according to the present invention, in a semiconductor memory equipped with an error correction function by ECC, writing of ECC to the test bit storage memory cell is performed on input data from terminal Dln or generation data in coding circuit. And the error correction operation by the decoding circuit, the non-operation and the output of the test bit, and the non-output, when the data of the memory array is read in reverse, the test and encoding of the memory cell itself for the test bit are executed. The test of the circuit, the test of the decoding circuit, and the like can be made independent of each other.

Claims (8)

입력데이타에 따라서 용장비트를 부가하는 부호화회로, 3자정 상기 입력데이타 및 상기 용장비트를 기억하는 기억회로, 상기 기억회로에서 리드된 데이타 및 용장비트의 에러를 정정하는 복호회로를 구비하는 반도체메모리에 있어서, 상기 복호회로의 동작이 완료한 것을 나타내는 완료신호를 상기 반도체메모리의 외부로 출력하는 제어회로를 구비하는 것을 특징으로 하는 반도체메모리.And a coding circuit for adding redundant bits in accordance with the input data, a memory circuit for storing the three-valued input data and the redundant bits, and a decoding circuit for correcting errors in the data and redundant bits read from the memory circuit. And a control circuit for outputting a completion signal indicating that the operation of the decoding circuit is completed to the outside of the semiconductor memory. 제1항에 있어서, 상기 기억회로는 여러개의 워드선, 상기 여러개의 워드선과 교차하도록 마련된 여러개의 데이타선 및 여러개의 워드선과 상기 여러개의 데이타선과의 바라는 교점에 마련된 여러개의 메모리셀을 갖는 메모리어레이와 어드레스신호에 의해 상기 메모리어레이의 상기 여러개의 워드선중 1개의 워드선을 선택하는 디코더를 구비하는 것을 특징으로 하는 반도체메모리.2. The memory array of claim 1, wherein the memory circuit includes a plurality of word lines, a plurality of data lines arranged to intersect the plurality of word lines, and a plurality of memory cells provided at desired intersections of the plurality of word lines and the plurality of data lines. And a decoder for selecting one word line among the plurality of word lines of the memory array by an address signal. 제2항에 있어서, 상기 입력데이타는 외부로부터의 클럭신호에 동기해서 입력되고, 상기 제어회로는 상기 클럭신호에 상기 용장비트수의 펄스신호를 부가해서 출력하는 기능을 갖고, 상기 클럭신호 및 상기 펄스신호에 응답해서 상기 메모리어레이의 상기 여러개의 데이타선의 각 데이타선을 순차 선택하고, 상기 입력데이타 및 상기 용장비트의 각각을 상기 메모리어레이의 상기 여러개의 데이타선의 상기 각 데이타선에 전달하는 데이타선 선택회로를 구비해서 이루어지고, 상기 제어회로는 상기 펄스신호를 출력한 후에 상기 메모리어레이로의 다음의 데이타의 라이트 또는 상기 메모리어레이로부터의 데이타의 리드가 가능하게 된 것을 나타내는 상기 완료신호를 출력하는 것을 특징으로 하는 반도체메모리.The clock signal and the clock signal of claim 2, wherein the input data is input in synchronization with a clock signal from an external source, and the control circuit has a function of adding and outputting a pulse signal of the number of redundant bits to the clock signal. A data line that sequentially selects each data line of the multiple data lines of the memory array in response to a pulse signal, and transfers each of the input data and the redundant bits to each of the data lines of the multiple data lines of the memory array And a selection circuit, wherein the control circuit outputs the completion signal indicating that writing of the next data to the memory array or reading of data from the memory array is enabled after outputting the pulse signal. A semiconductor memory, characterized in that. 제3항에 있어서, 상기 제어회로는 입력신호에서 소장 시간 지연된 신호를 출력하는 지연회로, 상기 지연회로의 출력신호를 카운트하는 카운터 및 상기 카운터의 출력에 응답해서 상기 클럭신호의 입력단자 또는 상기 지연회로의 출력단자에 상기 지연회로의 입력을 접속시키는 접속회로를 갖고, 상기 접속회로는 상기 카운터가 상기 클럭신호의 수를 카운트했을 때에 상기 지연회로의 출력단자에 상기 지연회로의 입력을 접속시키고, 그 후 상기 카운터가 상기 용장비트수를 카운트했을 때에 상기 클럭신호의 상기 입력단자에 상기 지연회로의 입력을 접속시킴과 동시에 상기 완료신호를 출력하는 것을 특징으로 하는 반도체메모리.4. The control circuit of claim 3, wherein the control circuit comprises: a delay circuit for outputting a delayed time signal from an input signal; A connection circuit for connecting the input of the delay circuit to an output terminal of the circuit, wherein the connection circuit connects the input of the delay circuit to the output terminal of the delay circuit when the counter counts the number of clock signals, And when the counter counts the redundant bits, connects the input of the delay circuit to the input terminal of the clock signal and outputs the completion signal. 제1항∼제4항중 어느 한항에 있어서, 상기 부호화 회로는 에러정정부호로서, 순회부호 또는 단축화 순회부호를 사용하는 것을 특징으로 하는 반도체메모리.The semiconductor memory according to any one of claims 1 to 4, wherein the encoding circuit uses a cyclic code or a shortened cyclic code as an error correcting code. 제1항∼제26항중 어느 한항에 있어서, 상기 반도체메모리는 1개의 칩으로 이루어지는 것을 특징으로 하는 반도체메모리.27. The semiconductor memory according to any one of claims 1 to 26, wherein said semiconductor memory consists of one chip. 여러개의 워드선, 상기 여러개의 워드선과 교차하도록 마련된 여러개의 데이타선 및 여러개의 워드선과 상기 여러개의 데이타와의 바라는 교점에 마련된 여러개의 메모리셀을 갖는 메모리어레이, 상기 여러개의 워드선중 1개의 워드선을 선택하는 디코더, 입력되는 신호에 응답해서 상기 여러개의 데이타선의 각 데이타선을 순차 선택하는 데이타선 선택회로, k비트의 입력데이타에 따라서 m비트의 용장비트를 부가하는 부호화회로, 상기 메모리어레이에서 리드된 데이타의 정정하는 복호회로 상기 복호회로의 에러정정을 정지시키는 에러정정동작 정지수단 및 상기 에러정정동작 정지수단으로부터의 제어신호가 제1의 상태일 때에는 용장비트에 대응하는 분의 타이밍신호를 자발적으로 발생하고, 상기 제어신호가 제2의 상태일 때에는 상기 용장비트에 대응하는 분의 타이밍신호를 외부클럭에 동기해서 발생하고, 상기 타이밍신호를 상기 데이타선 선택회로에 공급하는 타이밍 발생수단을 구비하는 것을 특징으로 하는 반도체메모리.A memory array having a plurality of word lines, a plurality of data lines arranged to intersect the plurality of word lines, a plurality of word lines and a plurality of memory cells provided at desired intersections of the plurality of data, and one word of the plurality of word lines A decoder for selecting lines, a data line selecting circuit for sequentially selecting each data line of the plurality of data lines in response to an input signal, an encoding circuit for adding m-bit redundant bits in accordance with k-bit input data, and the memory array Decoding circuit for correcting the data read in. The timing signal corresponding to the redundant bit when the error correction operation stop means for stopping error correction of the decoding circuit and the control signal from the error correction operation stop means are in the first state. Is generated spontaneously and when the control signal is in the second state, the redundant bit And a timing generating means for generating a timing signal corresponding to the signal in synchronization with an external clock and supplying the timing signal to the data line selection circuit. 제1항∼제4항중 어느 한항에 있어서, 상기 반도체메모리는 1개의 칩으로 이루어지는 것을 특징으로 하는 반도체메모리.The semiconductor memory according to any one of claims 1 to 4, wherein the semiconductor memory is composed of one chip.
KR1019860002956A 1985-04-17 1986-04-17 Semiconductor memory with error correction means KR970005648B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP60-80155 1985-04-17
JP80155 1985-04-17
JP60080155A JPH06101240B2 (en) 1985-04-17 1985-04-17 Semiconductor memory
JP60139729A JPS62676A (en) 1985-06-26 1985-06-26 Pulsation damper for reciprocating gas compressor
JP60-139729 1985-06-26

Publications (2)

Publication Number Publication Date
KR860008557A KR860008557A (en) 1986-11-17
KR970005648B1 true KR970005648B1 (en) 1997-04-18

Family

ID=26421203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019860002956A KR970005648B1 (en) 1985-04-17 1986-04-17 Semiconductor memory with error correction means

Country Status (1)

Country Link
KR (1) KR970005648B1 (en)

Also Published As

Publication number Publication date
KR860008557A (en) 1986-11-17

Similar Documents

Publication Publication Date Title
US4726021A (en) Semiconductor memory having error correcting means
US5491703A (en) Cam with additional row cells connected to match line
US5016220A (en) Semiconductor memory device with logic level responsive testing circuit and method therefor
US7679976B2 (en) Circuit and method for testing multi-device systems
US4903268A (en) Semiconductor memory device having on-chip error check and correction functions
US7275200B2 (en) Transparent error correcting memory that supports partial-word write
US6421789B1 (en) Synchronous semiconductor memory device capable of reducing test cost and method of testing the same
JP2525112B2 (en) Non-volatile memory device having error correction circuit
EP1657723A1 (en) Semiconductor memory and operation method of semiconductor memory
US6119251A (en) Self-test of a memory device
US6728149B2 (en) Semiconductor memory device
US5966389A (en) Flexible ECC/parity bit architecture
JP3039455B2 (en) Semiconductor memory device test method and semiconductor memory device
US4926426A (en) Error correction check during write cycles
US5228000A (en) Test circuit of semiconductor memory device
JPS6255180B2 (en)
US6807116B2 (en) Semiconductor circuit device capable of accurately testing embedded memory
KR20100014235A (en) Memory device with error correction capability and efficient partial word write operation
US5195099A (en) Semiconductor memory device having improved error correcting circuit
KR0143184B1 (en) Semiconductor memory device in which data are read and written asynchronously with application of address signal
JPH01137500A (en) Memory array device with buried binary pattern
KR970005648B1 (en) Semiconductor memory with error correction means
KR0135231B1 (en) Memory device with high speed test function
US6529428B2 (en) Multi-bit parallel testing for memory devices
JPH04212776A (en) Test circuit of semiconductor memory device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20031006

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee