KR100261790B1 - 에러 정정/검출회로와 반도체 기억장치 - Google Patents

에러 정정/검출회로와 반도체 기억장치 Download PDF

Info

Publication number
KR100261790B1
KR100261790B1 KR1019960006776A KR19960006776A KR100261790B1 KR 100261790 B1 KR100261790 B1 KR 100261790B1 KR 1019960006776 A KR1019960006776 A KR 1019960006776A KR 19960006776 A KR19960006776 A KR 19960006776A KR 100261790 B1 KR100261790 B1 KR 100261790B1
Authority
KR
South Korea
Prior art keywords
data
error
circuit
error correction
byte
Prior art date
Application number
KR1019960006776A
Other languages
English (en)
Other versions
KR960035267A (ko
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
Application filed by 니시무로 타이죠, 가부시끼가이샤 도시바 filed Critical 니시무로 타이죠
Publication of KR960035267A publication Critical patent/KR960035267A/ko
Application granted granted Critical
Publication of KR100261790B1 publication Critical patent/KR100261790B1/ko

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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 에러 정정/검출회로는, 제1사이클에서 입력된 정보데이터와 점검 데이터로부터 신드롬을 발생시키기 위한 신드롬 발생회로와; 상기 신드롬으로부터 에러의 위치 및 크기를 계산하기위한 에러 위치/크기 계산회로 및; 이 에러 위치/크기 계산회로에서 얻어진 에러의 위치 및 크기를 기초로 제2사이클에서 입력된 에러가 정정된 적어도 상기 정보 데이터에서 적어도 정보데이터를 출력하기 위한 에러정정회로를 구비하여 구성된 것을 특징으로 한다.

Description

에러 정정/검출회로와 반도체 기억장치
제1a 및 b도는 각각 병렬처리구성과 직렬처리구성에서 1비트 에러정정코드의 종래예를 나타낸 도면.
제2도는 제1종래예에 따른 에러 정정/검출회로를 나타낸 블럭도.
제3도는 제3종래예에 따른 에러 정정/ 검출회로가 제공된 반도체 기억장치를 나타낸 블럭도.
제4도는 제3종래예에서 메모리셀 어레이의 레이아웃과, 각각의 회로 및, 입력/출력 패드등을 나타낸 도면.
제5도는 본 발명의 제1실시예에 따른 직렬처리구성에서 에러 정정/검출회로를 나타낸 블럭도.
제6도는 본 발명의 제2실시예에 따른 직렬처리구성에서 에러 정정/검출회로를 나타낸 블럭도.
제7도는 본 발명의 제2실시예에 따른 반도체 기억장치를 나타낸 블럭도.
제8도는 본 발명의 제3실시예에 따른 반도체 기억장치를 나타낸 블럭도.
제9도는 제8도의 반도체 기억장치를 나타낸 레이아웃도.
제10a 및 b도는 각각 본 발명의 제3실시예에 따른 장치에서 코딩/디코딩 회로를 나타낸 도면.
제11a 및 e도는 각각 본 발명의 제3실시예에 따른 장치에서 코딩/디코딩 회로를 나타낸 도면.
제12a 및 d도는 각각 본 발명의 제3실시예에 따른 장치에서 코딩/디코딩 회로를 나타낸 도면.
제13도는 본 발명의 제3실시예에 따른 장치에서 기록동작을 위한 제어신호의 타이밍을 설명하는 도면.
제14도는 본 발명의 제3실시예에 따른 장치에서 독출동작을 위한 제어신호의 타이밍을 설명하는 도면.
제15도는 본 발명의 제4실시예에 따른 반도체 기억장치를 나타낸 블럭도.
제16도는 본 발명의 제4 실시예에서 메모리셀 어레이와, 각각의 회로 및, 입력/출력 패드등을 나타낸 레이아웃도.
제17a 및 도는 에러정정회로의 각 특정 회로구조를 나타낸 도면.
제18a 및 r도는 에러정정회로의 각 특정 회로구조를 나타낸 도면.
제19도는 본 발명의 제4 실시예에 따른 장치에서 기록의 시간에서 제어신호의 타이밍을 나타낸 도면.
제20도는 본 발명의 제4 실시예에 따른 장치에서 독출의 시간에서 제어신호의 타이밍을 나타낸 도면.
[산업상의 이용분야]
본 발명은 비트 데이터에 대한 비트 에러를 정정/검출하기 위한 에러 정정/검출회로와, 에러 정정/검출 회로가 이용되는 반도체 기억장치에 관한 것이다.
[종래의 기술 및 그 문제점]
종래, 에러 정정/검출방법은 병렬처리구조(IEEE Journal of Solid-State Circuit, vol. 24. pp50, 1989)와 직렬처리구조(Peterson and Weldon 저, 제2판, "Error-Correcting Codes")의 2가지 방법이 알려져 있다. 제1a도 및 제1b도는 각각 병렬처리구조와 직렬처리구조에서 512비트 깊이 x 8비트 폭의 데이터에 대한 1비트 에러 정정코드의 종래예를 나타낸 것이다.
통상적인 반도체 기억장치에 있어서, 에러정정 처리시간이 첫번째 우선으로 고려되기 때문에, 기록동작의 경우 점검비트의 낮은 발생뿐만 아니라 입력/출려 데이터의 시간에서 독출동작의 경우에 에러를 정정하기 위한 더 낮은 시간 손실을 나타내는 병렬처리구조[제1a도]가 이용되어진다. 이 경우, 점검 비트의 4비트가 8비트 데이터에 대해 요구된다. 즉, 메모리 영역이 50% 증가하게 된다. 한편, 직렬처리구조[제1b도]의 경우에는 점검 비트의 10비트가 512비트 데이터에 대해 충분하고, 그 용장성이 약 2%이다. 그러나, 522비트 길이의 지연시간이 에러를 정정하기 위해 요구된다.
직렬처리구조가 병렬처리구조 보다 더 적절할 수 있는 바, 에러정정코드를 부가하지 않을 때의 메모리의 신뢰성이 요구되어지는 그것 보다 더 나쁘고, 512비트 데이터에서 1비트 에러를 정정하기 위한 코드를 부가할 때의 메모리의 신뢰성은 그 요구되어지는 것 보다 더 양호하며, 그 외에 메모리 영역에서의 증가율이 에러정정을 위한 처리시간 보다 더욱 우선으로 된다.
그러나, 에러 정정회로의 크기에 있어서, 직렬처리구조가 병렬처리구조 보다 반대로 더 커지는 경우가 있다. 상기한 경우가 어떻게 존재하게 되는가에 대해 이하 설명한다. 직렬처리구조의 경우, 에러정정회로는 주로 점검데이터부를 포함하는 깊이와 동일한 시프트레지스터(상기 예에서는 522비트 x 8조)로 구성된 지연회로와, 점검비트수와 동일한 수의 시프트 레지스터(상기 예에서는 10비트 x 8조)로 구성된 신드롬발생회로로 이루어지고, 한편 병렬처리구조에 있어서 에러정정회로는 오직 5입력 배타적 OR의 4조 및 그 출력논리로 구성되어 있다.
상기한 설명으로부터 알 수 있는 바와 같이 직렬 처리 구조는 병렬 처리 구조와 비교하여 메모리 영역의 증가율을 극도로 감소시킬 수 있고, 에러정정회로의 크기가 반대로 더 커지게 되어 메모리칩의 증가율을 억제하기 위한 노력이 작아진다.
더욱이, 병렬처리구조에 있어서, 8비트 병렬방법에 따라 처리할 필요가 있기 때문에, 에러정정회로는 메모리셀가 비트선제어회로 사이나 모든 IO선이 모여 있는 곳에 위치해야만 하여 레이아웃 관점으로부터 구성의 유연성이 나빠지게 된다.
종래의 에러 정정/검출회로의 구성 및 문제점에 대해 이하 설명한다.
제2도는 상기한 문헌 (Peterson and Weldon 저, 제2판, "Error-Correcting Codes")에 개시된 제1종래예에 따른 에러 정정/검출회로를 나타낸 블럭도이다.
입력 데이터가 신드롬 발생회로(1; 검점비트발생회로)와 지연회로(4)에 입력된다. 신드롬은 소정의 값을 갖는 바, 예컨대 입력데이터가 에러를 포함하지 않는 때에는 영인 한편, 입력 데이터가 에러를 포함하는 때에는 영과 다른 수이며, 결과적인 값이 에러의 위치 및 크기를 계산하는 에러 위치/크기 계산회로에 입력된다.
입력신드롬이 영인 경우, 에러 위치/크기 계산회로(2)는 영을 출력하고, 지연회로(4)에 입력된 데이터가 어떠한 변경없이 에러정정회로(3)를 통해 출력된다. 신드롬이 영과 다른 소정값을 갖는 경우, 에러 위치/크기 계산회로(2)는 에러의 위치 및 크기를 계산하고, 지연회로(4)에 입력된 데이터에 포함된 에러가 에러정정회로(3)에서 정정된 후, 정정된 데이터가 그로부터 출력된다. 특히, 에러의 정정은 출력데이터가 소정의 에러를 포함하는 경우에만 에러정정 회로(3)에 의해 이루어지고, 결과적으로 정정 데이터가 출력된다.
그러나, 이러한 구성의 형태에 있어서, 지연회로(4)가 각각 입력데이터와 동일한 길이를 갖춘 시프트 레지스터로 구성되어 전체 에러정정회로(4)를 점유하는 지연회로(4)의 비율이 특히 긴 코드길이의 경우 높아지게 된다. 이는 결과적으로 에러 정정회로의 크기의 증가를 야기시킨다.
다음에, 1바이트가 b비트로 구성된 (2b-3)바이트의 정보 데이터 사이에서 1바이트 에러가 정정되는 소위 1바이트 에러정정코드와 관련한 제2종래예를 설명한다.
단일 바이트 에러정정회로에 있어서, 2바이트의 점검데이터가 입력정보데이터로부터 준비되고(코딩), 1바이트의 에러가 정보 데이터와 점검데이터로부터 정정되어(디코딩) 정정 정보데이터가 출력된다.
한편, 최대 데이터길이가 1바이트의 크기(b)에 기인하여 (2b-3)으로 한정되어 (2b-3)보다 더 긴 정보 데이터가 취급 될 때 정보데이터는 각각 (2b-3)이하의 길이를 갖춘 블럭으로 분할되어야만 한다. 정보데이터가 성공적으로 에러정정회로에 입력되는 경우, 각각의 블럭에 대한 단일 바이트 에러 정정회로의 준비가 요구된다. 이러한 이유로 인해 이러한 에러정정회로의 크기가 커지게 된다. 이 경우가 다수 바이트 에러 점검회로와 동일하다.
더욱이, 단일 에러정정회로만이 존재하는 경우, 정보가 정보데이터의 모든 블럭에서 코드/디코드되어 정보 데이터가 에러정정회로로부터 성공적으로 입출력될 수 없게 된다.
제3도는 제3종래예와 관련한 에러 정정/검출회로가 제공된 반도체 기억장치를 나타낸 블럭도이다. 반도체 기억장치는(13)는 전기적으로 재기록이 가능한 메모리셀이 매트릭스 형상으로 배열된 메모리셀 어레이(6)와, 메모리셀 어레이나 재기록된 데이터에서 메모리셀에 데이터를 래치하는 감지증폭기/데이터 래치회로(8), 외부로부터 재기록된 데이터를 입력함과 더불어 메모리셀로부터 독출된 데이터를 출력하는 다수의 데이터 입력/출력버퍼(12), 입력된 재기록된 데이터로부터 에러를 정정 및 검출하기 위한 점검 데이터를 발생시킴과 더불어 독출데이터를 출력하는 경우 독출데이터와 검점데이터로부터 독출데이터에서의 에러를 정정 및 검출하는 에러정정/검출회로(11), 메모리셀에 어드레스를 입력함과 더불어 열어드레스 및 행어드레스를 출력하는 어드레스버퍼(10), 열어드레스를 디코드함과 더불어 감지증폭기/데이터 래치회로(8)로부터의 데이터의 입력/출력을 제어하는 열디코더(9), 행어드레스를 디코드하는 행디코더(7) 및, 메모리셀에서의 데이터를 기록 및 독출하기 위한 제어신호를 출력하는 기록/독출제어회로(5)로 구성된다.
상기한 반도체 기억장치는 상기한 문헌 (IEEE Journal of Solid-State Circuit, vol. 24. pp50, 1989)에 개시되어 있다. 본 종래예에 있어서, 코딩/디코딩 데이터를 위한 처리시간을 최소화 하기 위해 에러 정정코드가 병렬적으로 처리된다. 코드는 1비트의 정복데이터나 모든 데이터 입력/출력선에서의 다수 비트와 정보데이터로부터 얻어진 점검데이터로 구성되고, 따라서 코드는 병렬처리가 가능하게 된다.
정보데이터의 비트수가 두배로 되는 모든 경우에 있어서, 점검데이터의 비트수는 약 1비트 이상을 요구하고, 따라서 그 정보비트에 대한 점검데이터의 비트수는 정보데이터의 비트 수의 증가에 따라 감소한다. 한편, 코딩/디코딩을 위한 배타적 OR의 수가 정보 데이터의 비트 수에 대략적으로 비례하여 코딩/디코딩회로의 크기가 정보데이터의 비트 수의 증가에 따라 커지게 된다. 따라서, 용장 메모리셀의 영역과 에러 정정/검출을 하기 위한 코딩/디코딩회로의 영역의 합의 최소값이 존재하고, 더욱이 상기한 최소값을 야기시키는 정보비트에서의 비트수의 최적 값이 존재하게 된다.
한편, 에러 정정/검출회로에서 이러한 형태의 회로는 상기한 배타적 OR에 의해 실현된 회로와 달리 직렬 시프트 레지스터에 의해 실현된다. 전자의 경우에 있어서, 점검데이터의 비트수와 동일한 수의 직렬 시프트 레지스터와, 정보 데이터의 비트수와 점검 데이터의 비트수의 합과 동일한 수의 직렬 시프트 레지스터에 의해 실현되는 지연회로를 준비하는 것이 요구된다. 따라서, 시프트 레지스터의 수는 정보 데이터의 비트수가 2배로 되는 모든 경우에 약 2비트 증가하게 된다. 이러한 이유로 인해 단위 정보 데이터에 대한 코딩/디코딩회로의 크기가 정보데이터의 비트수의 증가에 따라 감소하여 전체 에러정정 회로를 점유하는 지연회로의 비율이 높아지게 되고, 이는 에러정정회로의 크기를 증가시키게 된다. 더욱이, 이러한 형태의 에러 정정/검출회로가 이용되면, 지연시간이 정보데이터의 비트수와 디코딩을 위해 요구되는 점검데이터의 비트수의 합에 비례하게 된다.
더욱이, 본 종래예에서 메모리셀 어레이(6)의 레이아웃과, 각 회로(8, 11, 12) 및, 입력/출력패드(100)등이 제4도에 도시되어 있다.
도면으로부터 알 수 있는 바와 같이 에러 정정/검출회로(11)는 메모리셀 어레이(6)와 감지증폭기/데이터래치회로(8) 사이나 전체 I/O선이 모여있는 곳에 위치하는 것이 요구되고, 따라서 레이아웃 관점으로부터 유연성이 없게 되다.
버스트 에러가 야기될 때에도 이러한 경우가 존재하여 데이터가 코드 워드로 되어 버스트 에러가 검출될 수 없게 딘다. 특히, 버스트 에러가 야기될 때, 전체 "0" 데이터는 코드 워드의 하나이기 때문에, 데어터의 모든 "1"이 "0"으로 변환되어 모든 "0"으로 구성된 전체 "0"데이터는 에러가 없는 것으로 판단되게 된다. 따라서, 버스트 에러의 발생은 이 경우 검출될 수 없게 된다.
상기한 바와 같이 종래의 직렬 처리 구조의 에러 정정/검출회로에 있어서, 전체 에러정정회로를 점유하는 지연회로의 비가 긴 코드길이의 경우에 높아지게 되고, 이는 에러정정회로의 스케일을 증가시키는 결과를 초래하게 된다.
더욱이, 오직 단일 바이트 에러 정정회로만이 존재하는 경우, 정보 데이터가 성공적으로 입출력될 수 없게 된다. 따라서, 정보 데이터가 에러 정정회로에 성공적으로 입력될 때, 단일 바이트 에러 정정회로가 각 블럭에 대해 요구되어 에러정정회로의 크기가 커지게 된다.
더욱이, 직렬 시프트 레지스터에 의해 실현된 형태의 에러정정회로에 있어서 전체 에러정정회로를 점유하는 지연회로의 비가 특히 긴 코드길이의 경우에 높아지게 되고, 이는 에러정정회로의 크기를 증가시키는 결과를 초래하게 된다.
또한, 에러 정정/검출회로는 메모리셀 어레이와 데이터회로 사이나 전체 IO선이 모여있는 곳에 위치하는 것이 요구되어 레이아웃 관점으로부터 유연성이 없다는 문제를 포함하게 된다.
[발명의 목적]
본 발명의 목적은 상기한 점을 감안하여 발명된 것으로, 개선된 에러 정정/검출회로와, 이를 이용하는 반도체 기억장치를 제공함에 그 목적이 있는 바, 그 상세는 다음가 같다.
(1) 회로의 크기를 높은 비율로 점유하는 지연회로가 생략되어 회로의 크기가 극도로 감소된 에러 정정/검출회로를 제공하는 것.
(2) 정보 데이터가 에러 정정/검출회로에 대해 성공적으로 입출력되는 곳에도 크기가 감소될 수 있는 에러 정정/검출회로를 제공하는 것.
(3) 데이터를 재기록할 때 버스트에러를 검출할 수 있는 반도체 기억장치를 제공하는 것.
(4) 에러 정정/검출회로의 레이아웃의 유연성이 증가될 수 있는 반도체 장치를 제공하는 것.
[발명의 구성 및 작용]
상기 목적을 달성하기 위한 본 발명의 제1관점에 따르면, 에러 정정/검출회로가, 제1사이클에서 입력된 정보데이터와 점검데이터로부터 신드롬을 발생시키기 위한 신드롬 발생회로와; 신드롬으로부터 에러의 위치 및 크기를 계산하기 위한 에러 위치/크기 계산회로 및; 에러 위치/크기 계산회로에서 얻어진 에러의 위치 및 크기를 기초로 제2사이클에서 입력된 에러가 정정된 적어도 정보 데이터에서 적어도 정보데이터를 출력하기 위한 에러 정정회로를 구비하여 구성된다. 에러 정정/검출회로는 신드롬발생회로의 입력측에 연결됨과 더불어 제1사이클에서 턴온되는 한편 제2사이클에서 턴오프되는 제1스위치와; 에러정정 회로의 입력측에 연결됨과 더불어 제1사이클에서 턴오프 되는 한편 제2사이클에서 턴온되는 제2스위치를 더 구비하여 구성된다.
제1측면에 있어서 다른 반도체 기억장치는, 메모리셀이 매트릭스형태로 배치된 메모리셀 어레이와; 독출동작 동안 메모리셀의 데이터를 래치함과 더불어 감지하기 위한 감지증폭기/데이터 래치회로 및; 제1측면에 따른 에러 정정/검출회로를 구비하여 구성되고, 감지증폭기/데이터 래치회로가 에러 정정/검출회로에 래치된 데이터를 2번 보내는 것을 특징으로 한다.
본 발명의 제1측면에 따르면, 동일한 데이터가 2번 입력되므로, 에러정정 회로의 회로 크기를 높은 비율로 점유하는 지연회로를 생략할 수 있게 된다. 뿐만 아니라, 에러 정정/검출을 위한 디코딩이 종래의 경우에 비해 지연없이 수행될 수 있게 된다.
본 발명의 제2측면에 따르면, ROM등으로부터의 정보데이터를 성공적으로 입력/출력하기 위한 에러 정정/검출 회로가, 1바이트가 b비트인 정보데이터를 1바이트가 mb비트(m은 2 이상의 자연수)인 정보 데이터로 변환시키기 위한 코드길이 확대 회로와; 코드길이 확대회로의 출력으로부터 단일 바이트 에러나 mb비트로 구성되는 다수의 바이트 에러를 정정하기 위해 점검데이터를 발생시키기 위한 점검데이터 발생회로 및; 정보데이터와 점검데이터를 기초로 단일 바이트에러나 mb비트로 구성된 다수 바이트 에러를 정정하기 위한 바이트 에러 정정 회로를 구비하여 구성된다. 바이트 에러 정정회로는 단일 바이트 에러나 mb비트로 구성된 다수 바이트 에러를 정정한 후 b비트 바이트의 정보를 성공적으로 출력한다.
본 발명의 제2측면에 따르면, 단일 바이트 에러 정정 검출코드에 있어서, 1바이트로 구성된 비트 수가 다수 유니트에 병렬적으로 입력/출력되는 유니트로부터 변형되므로, 코드 길이를 길게하는 것이 가능하게 된다. 따라서, 긴 정보데이터의 경우에도 정보데이터를 블럭으로 분할하는 것이 요구되지 않아 에러정정회로의 크기를 감소시킬 수 있게 된다.
본 발명의 제3측면에 따르면, 에러 정정/검출회로가, 블럭으로 만들어진 데이터의 에러를 검출하기 위한 다수의 에러검출회로와; 에러가 모든 에러검출 회로에서 검출될 경우 에러 버스트 검출신호를 출력하기 위한 수단을 구비하여 구성된다.
더욱이, 본 발명에 따른 제1반도체 기억장치는, 메모리셀이 매트릭스형태로 배치된 메모리셀 어레이와; 이 메모리셀가 관련된 데이터를 출력하기 위한 N데이터 출력버퍼 및; 이 데이터 출력버퍼의 n(1 < n = < N)에 대응하여 제공됨과 더불어 독출데이터의 에러를 정정/검출하는 n에러 정정/검출회로를 구비하여 구성된다.
제1반도체 기억장치에 있어서, 에러 정정/검출회로의 각각에 적어도 하나의 상기 데이터 출력버퍼를 설치하여 구성한다.
더욱이, 제1반도체장치에 있어서, 에러 정정/검출회로와 상기 데이터 출력 버퍼를 쌍으로 하여 상기 메모리셀의 주변부에 배치하여 구성한다.
제1반도체 기억장치에 있어서, 상기한 에러 정정/검출회로가 모든 데이터 출력버퍼나 서로 가까이 위치한 모든 다수 데이터 출력버퍼에 배치된다.
더욱이, 제1반도에 기억장치에 있어서, 에러 정정/검출회로가 데이터 출력 버퍼의 근처에 위치한다.
본 발명에 따른 제2반도체 기억장치는, 전기적으로 재기록이 가능한 메모리 셀이 매트릭스형상으로 배치된 메모리셀 어레이와; 외부로부터 상기메모리 셀 어레이에 재기록이 가능한 데이터를 입력함과 더불어 상기 메모리셀로부터 독출데이터를 출력하기 위한 N데이터 입력/출력 버퍼 및; 상기 데이터 입력/출력 버퍼의 n(1< n = < N)에 제공되고, 재기록된 입력데이터로부터 에러를 정정/검출하기 위한 점검데이터를 발생시키며, 독출데이터를 출력할 경우 독출데이터와 점검데이터에 의한 독출데이터에서의 에러를 정정/검출하는 에러 정정/검출회로를 구비하여 구성된다.
더욱이, 제2반도체 기억장치에 있어서, 에러 정정/검출회로가 데이터 출력 버퍼의 근처에 위치하게 된다. 또한, 제2반도체 기억장치에 있어서, 상기 에러 정정/검출회로는 버스트 에러가 재기록 데이터의 경우에 검출될 수 있는 위치에서 에러 정정/검출을 위한 동작을 수행하게 된다.
본 발명의 실시예는 다음과 같이 열거된다.
(1) 제1반도체 기억장치에서 본 발명의 제1측면에 따른 에러 정정/검출회로를 적용하는 것.
(2) 제2반도체 기억장치에서 본 발명의 제2측면에 따른 에러 정정/검출회로를 적용하는 것.
(3) 제1 및 제2반도체 기억장치에서 본 발명의 제3측면에 따른 에러 정정/검출회로를 적용하는 것.
본 발명의 반도체 기억장치에 따르면, 에러정정회로가 모든 각 데이터(입력 및/또는)출력버퍼 또는 모든 각 다수 데이터(입력 및/또는)출력버퍼에서(입력 및/또는)출력버퍼의 가까이에 위치할 때, 장치의 유연성이 증가하게 된다. 더욱이, 코딩/디코딩이 버스트 에러가 검출될 수 있는 위치에서 수행될 때, 데이터를 재기록할 때의 버스트 에러의 발생이 검출될 수 있게 된다.
상기한 바와 같이, 에러 정정/검출회로에 따르면, 동일한 데이터가 2번 입력될 때, 에러정정회로의 회로 크기가 높은 비율로 점유하는 지연회로가 생략될 수 있게 되어 에러 정정회로의 회로 크기를 극도로 감소시킬 수 있을 뿐만 아니라 에러 정정/검출을 위한 디코딩이 종래의 경우와 비교하여 지연없이 수행될 수 있게 된다.
더욱이, 단일 바이트 에러 검출코드에 있어서, 1바이트로 구성된 비트 수가 다수 유니트에 병렬로 입력/출력되는 유니트로부터 변형될 때, 코드길이를 길게 하는 것이 가능하게 된다.
또한, 코딩/디코딩이 버스트 에러가 검출되는 위치에서 수행될 때, 데이터를 재기록할 때의 버스트 에러의 발생이 검출될 수 있게 된다. 그 외에, 에러 정정회로가 모든 각 데이터(입력 및/또는)출력버퍼 또는 모든 각 다수 데이터 (입력 및/또는)출력버퍼에서 (입력 및/또는)출력버퍼의 가까이에 위치할 때, 장치의 유연성이 증가하게 된다.
[실시예]
이하, 예시도면을 참조해서 본 고안에 따른 각 실시예를 상세히 설명한다.
[실시예1]
제5도는 본 발명의 제1실시예에 따른 직렬 처리구조의 에러 정정/검출회로를 나타낸 블럭도로서, 기본 구성은 제2도에 나타낸 회로와 동일하지만, 본 실시예에 있어서 지연회로가 생략됨과 더불어 스위치(S1, S2)가 지연회로 대신 입력측에 제공되고, 그 외에 입력 데이터가 2번 입력된다.
첫 번째 데이터 입력시, 스위치(S1)가 ON 상태로 되는 한편, 스위치(S2)가 OFF 상태로 된다. 첫 번째 데이터 입력의 완료 후, 신드롬 계산이 신드롬 발생회로(1)에 의해 동시에 종료되고, 에러에 대해 위치 및 크기에 대한 계산의 실행이 에러 위치/크기 계산 회로에 의해 개시된다.
두 번째 데이터 입력시, 스위치(S2)가 턴온됨과 더불어 스위치(S1)가 턴 오프됨으로써 데이터가 에러정정회로(3)에 입력된다.
상기한 바와 같이 지연회로가 본 발명에서 생략되므로 에러정정회로의 회로 크기가 종래의 경우와 비교하여 감소될 수 있고, 특히 긴 코드 길이의 경우에 있어서, 에러정정회로의 회로 크기가 현저하게 감소될 수 있으며, 그 외에 정정 데이터가 지연 시간의 증가없이 출력된다. 더욱이, 목적물을 입력하는데 이용되는 메모리가 NAND형 EEPROM에서의 코드 길이와 동일한 수의 하나의 데이터 래치회로를 포함하는 경우에 데이터의 입력을 2번 반복하기 위한 회로가 불필요하게 된다.
[실시예 2]
제6도는 본 발명의 제2실시예에 따른 직렬 처리 구조의 에러 정정/검출회로를 나타낸 블록도로서, 여기서 코드길이확대회로(15)는 하나의 mb 비트/바이트의 형태로 성공적으로 입력된 b 비트/바이트의 수 m을 출력한다. 결과적인 출력이 점검 바이트 발생회로(20)와 단일 mb 비트/바이트 에러 정정회로(16)에 입력된다. 점검바이트 발생회로(20)에 있어서, 점검데이터가 다일 mb 비트/바이트 에러 정정회로(16)에 점검 데이터를 출력하도록 코드길이 확대회로(15)로부터 입력된 데이터를 기초로 발생된다. 에러정정회로(16)는 입력 데이터를 기초로 단일 mb 비트/바이트 에러를 정정한다.
이 경우, 최대 데이터 길이가 m×(2mb-3)바이트(1바이트 = b 비트)로 만들어질 뿐만 아니라 필요한 점검데이터가 2m 바이트로 감소될 수 있다(1바이트=b바이트).
지금까지 최대 데이터 길이가 m×(2mb-3)바이트(1바이트 = b 비트)로 되도록 고려된 경우에 있어서 정보데이터가 에러정정회로에 성공적으로 입력될 때, 단일 바이트 에러 정정회로(14)의 m×(2mb-3)/(2b-3)와 점검 데이터의 2m×(2mb-3)/(2b-3)가 요구된다. 이러한 수치가 표 1에 배열되어 있다.
제7도는 제6도의 변형예를 나타낸 도면이다.
이는 코드길이확대회로(15)가 에러정정회로(16)와 점검바이트 발생회로(20)에 정보데이터를 출력하는 한편, 점검바이트 발생회로(20)가 오직 점검데이터만을 출력하는 것으로 제6도에 구성되어 있다. 그러나, 제7도에 있어서 코드길이확대회로(15)로부터의 정보데이터가 점검바이트 발생회로(20)를 통해 에러정정회로(16)에 점검바이트 발생회로(20)에서 발생된 점검데이터와 함께 출력된다.
제6도 및 제7도의 경우에 있어서, 에러정정회로(16)로부터 코드길이확대회로(15)로 출력되는 데이터는 오직 정보데이터만이든가 또는 정보데이터와 점검 데이터를 포함하는 데이터로 된다.
[실시예 3]
제8도는 본 발명의 제3실시예에 따른 반도체 기억장치를 나타낸 블럭도이고, 제9도는 제8도의 반도체 기억장치를 나타낸 레이아웃도이다.
제6도와 비교하는 것으로부터 알 수 있는 바와 같이 본 실시예에 있어서, 에러정정회로(11)가 메모리셀 어레이(6)와 감지증폭기/데이터 래치회로(8) 사이에 위치하지 않지만, 에러 정정/검출회로(11)가 모든 데이터 입력/출력 버퍼(12)에 제공된다. 에러 정정/검출회로(11)는 입력된 기록데이터로부터의 에러를 정정 또는 검출하기 위한 점검데이터를 발생시키고, 독출데이터를 출력할 경우 독출데이터와 점검데이터로부터 독출데이터에서의 에러를 정정 또는 검출한다.
상기한 구성에 있어서, 잠정적 레지스터가 에러를 정정하기 위해 지금까지 요구되었다. 그러나, 본 발명에 있어서, 이러한 잠정적 레지스터는 이용되지 않지만, 감지증폭기/데이터 래치회로(8)가 레지스터로서 또한 가능하여 회로 영역의 증가가 없게 된다.
본 실시예에 있어서, 256바이트(1바이트 = 8비트)로 구성된 정보데이터는 8데이터 입력/출력 패드를 통해 직렬로 입력/출력된다. 이 경우, 정보데이터의 256비트에서 단일비트 에러를 정정함과 더불어 우수 비트에러를 검출하는 확대 해밍코드(266, 256)가 이용된다.
제10a도 내지 제12d도는 본 실시예에서의 코딩/디코딩회로를 나타내고, 제13도 및 제14도는 기록동작과 독출동작에서 제어신호의 각 타이밍을 나타낸 것이다.
먼저, 이하 기록 데이터의 경우의 동작에 대해 설명한다.
신호(DIN)가 하이(high)인 주기동안, 기록정보데이터(DINi; i=1, ---, 8)가 데이터 입력/출력 패드로부터 입력되고, 제10a도 및 제10b도에 도시된 코딩회로에 입력된다. 이 경우, 신호(DINOUTB)가 로우(low)로 설정되고, DINSi = DINi 가 감지증폭기/데이터 래치회로(8)에 보내진다. 동시에, 신호(SLINB)가 로우로 만들어짐과 더불어 신호(DIV)가 하이로 설정되고, 기록정보데이터(DINi)가 시프트 래지스터(SL1)와 직렬 시프트 레지스터(SL2,---SL10)에 입력되어 점검 데이터를 발생시키기 위한 계산을 수행한다. 시프트 레지스터에서의 클럭이 입력데이터(DINi)와 동기된다. 신호(SLOUTlB, SLOUT2B)가 하이로 되도록 허용되므로 시프트레지스터(SL1 내지 SL10)로부터의 출력이 DINSi로 출력되지 않게 된다.
기록정보데이터(DINi)의 입력이 완료된 때, 조건은 신호(DINOUTB)가 하이, 신호(DIV)가 로우, 신호(SLINB)가 하이, 신호(SLOUT1B)가 로우로 변화되는 한편, 시프트레지스터(SL1)에서의 클럭이 정지된다. 이 경우, 직렬 시프트레지스터(SL1,--- SL10)의 조건은 9개의 점검비트를 표현하고, 입력이 로우상태로 고정될 때 이는 CINSi로 출력된다. 그 후, 신호(SLOUT1B)가 하이로 됨과 더불어 신호(SLOUT2B)가 로우로 되어 하나의 점검비트로 되는 시프트레지스터(SL1)의 조건이 DINSi로 출력된다. 신호(DINS)가 로우로 됨과 더불어 신호(SLOUT2B)가 하이로 될 때, 감지증폭기/데이터 래치회로(8)에 대한 입력이 종료된다.
따라서, 감지증폭기/데이터 래치회로(8)에 입력되는 기록데이터는 256비트 정보데이터와 10비트 점검데이터로 구성된다.
이때, 기록데이터 2128비트(= 266비트 x 8조)가 신호(PRG)가 하이인 주기동안 메모리셀에 기록된다.
그 후, 신호(BEREAD)가 하이인 주기동안 버스트에러가 존재하는가의 여부에 대한 검출이 다시 수행된다. 신호(BEREAD)가 하이 상태로 될 때, 기록된 데이터가 DINSi로 출력된 데이터의 순서에 따라 DINi에서 독출된다. 이 경우, 신호(DIV)가 하이로 되는 한편, 신호(SLINB)가 로우로 되고, 이는 시프트레지스터(SL1) 뿐만 아니라 시프트레지스터(SL2,---SL10)에 입력됨으로써 신드롬을 계산하게 된다.
에러가 독출데이터에 존재하는 경우에 있어서, 시프트레지스터(L1i 내지 L10i)의 조건에서 하나 이상의 수가 하이로 된다. 따라서, 신드롬 계산이 종료된 후, 신호(DETE)가 하이로 될 때, 신호(ERDETi)가 하이로 된다. 결과적으로, 신호(ERDETi)가 모든 i와 관련하여 하이로 되는 경우에 신호(BSTERR)는 에러 버스트가 발생한다는 효과에 대한 사실을 전송한다.
신호(BSTERR)가 칩의 상태를 지시하는 상태 레지스터에 보내짐과 더불어 이러한 정보가 상태 독출에 의해 칩의 외부로 전송될 수 있게 된다. 칩을 제어하기 위한 제어기가 어드레스가 억세스되는 메모리셀의 치명적인 에러의 발생을 인식할 수 있기 때문에, 에러 발생 후 메모리셀을 이용하지 않는 것과 같은 평가는 채용되어 질 수 있다.
일반적으로, 에러 정정/검출회로에 입력되어지는 데이터는 기록입력 데이터와 그 반전된 데이터의 양쪽이지만, 이 경우 데이터가 버스트 에러가 발생되는 경우에 코드워드로 되지 않는 하나로 되어지도록 허용되어진다. 특히, 버스트 에러가 발생할 때, 질의된 데이터에서의 "1"이 모두 "0"으로 되고, 예컨대 이는 소위 충만한(full)"0"으로 불리워지고, 이러한 충만한 "0"데이터가 에러를 포함하지 않은 것으로 판단하여 버스트에러의 발생이 알려지지 않게 된다. 그러나, 이와 관련하여 버스트 에러가 발생하는 구성으로 될 때, 질의된 데이터에서 "0"는 모두 "1"로 되고, 예컨대 완전한 "1"로 되는 경향이 있으며, 따라서, 에러가 검출되고, 따라서 버스트 에러의 발생을 알 수 있게 된다.
다음에, 데이터 독출에서의 동작을 이하 설명한다.
독출은, 예컨대 신드롬이 계산된 제1사이클(신호(ECCREAD)가 하이인 동안의 주기)과, 이러한 에러를 정정하는 동안 외부에 대해 에러를 정정함으로써 얻어진 정정 데이터를 출력하기 위한 제2사이클(신호(DATAOUT)가 하이인 동안의 주기)의 2개의 사이클로 구성된다. 제1사이클에 있어서, 신호(DIV)가 하이인 한편, 신호(SLINB)가 로우로 되어 독출데이터가 DINi로 출력됨과 더불어 직렬 시프트레지스터에 입력된다. 전체 데이터의 입력이 완료될 때, 에러 검출을 검출하기 위한 신호 (DETE)가 하이로 된다. 결과적으로, 제1사이클에서의 모든 단계가 완료되게 된다.
이어서, 제2사이클에서 신호(CORE)가 하이로 되고, 에러를 정정하는 것에 의해 얻어진 정정 데이터가 이러한 에러를 정정하는 동안 외부로 출력된다. 데이터가 소정 클럭에 동기하여 출력된다. 동시에, 입력이 동일하게 되도록 허용되는 직렬 시프트레지스터의 상태가 하이상태에서 신호(SLINB)를 유지하는 동안 클럭과 동기하여 시프트된다. 직렬 시프트레지스터가 특정 상태인 경우 에러의 정정이 출력 데이터를 반전시킴으로써 수행된다. 에러의 정정이 수행된 후, 신호(CORRECTi)가 하이로 된다. 그러나, 에러가 하이로 되어 검출된 것을 신호(ERDETi)가 알리는 사실에도 불구하고, 신호(CORRECTi)가 아직 로우 상태에 있다면, 예컨대 에러에 대해 수행되는 것이 없는 경우 신호(NOTCORi)가 하이로 된다.
상기한 바와 같이, 에러 정정/검출회로가 모든 각 데이터 입력/출력버퍼에 위치하고, 디코드된 입력데이터가 2개의 사이클에서 반복적으로 독출되는 방법에 따라 디코딩이 종래의 경우와 비교하여 지연시간을 수반하는 것 없이 달성되어 지연회로가 생략될 수 있다. 에러정정회로의 회로크기는 특히 긴 코드길이의 경우에 감소시킬 수 있게 된다.
더욱이, 본 발명에 있어서 제8도 및 제9도에 나타낸 바와 같이 메모리셀 어레이(6)와 감지증폭기/데이터 래치회로(8) 사이에 에러정정회로(11)를 위치시키는 것이 요구되지 않으므로 에러정정회로는, 예컨대 각 데이터 입력/출력 버퍼(12)의 가까이에 위치하므로 그 레이아웃에 있어서의 유연성을 중가시킬 수 있게 딘다.
[실시예 4]
제15도는 본 발명의 제4실시예에 따른 반도체 기억장치를 나타낸 블록도이고, 제16도는 제15도와 동일한 장치의 레이아웃 도면이다. 본 실시예는 에러 정정/검출회로(11)가 모든 다수 데이터 입력/출력 버퍼(12)(본 실시예에서는 2개)에 제공되는 점에서 제3실시예와 다르다.
본 실시예에 있어서, 256바이트(1바이트=8바이트)로 구성된 정보데이터가 8개의 데이터 입력/출력 핀(IOi; i = 1,---8)을 통해 직렬로 입력/출력된다. 레이아웃 관점으로부터 4개의 데이터 입력/출력 핀(IO1 내지 IO4)이 칩의 좌측단에 위치하고, 한편 4개의 데이터 입력/출력 핀(IO5 내지 IO8)이 칩의 우측단에 위치하게 된다. 이 경우, 8개의 데이터 입력/출력 핀이 예컨대 2개의 조(IO1 내지 IO4 와 IO5 내지 IO8)로 정형화된다. 각 조에서의 각 데이터는 소정 클럭에 동기하여 직렬로 입력/출력된다. 각각에 있어서, 1바이트(=8비트)는 제1클럭에 다라 입력/출력되는 4개의 비트와 제2클럭에 따라 입력/출력되는 4개의 비트로 구성된다. 상기와 동일한 방법에 따라 1바이트가 기수 클럭에 따라 입력/출력되는 4O의 비트와 우수 클럭에 따라 입력/출력되는 4개의 비트로 구성된다(제17a도와 제17b도).
따라서, 각각의 조는 128바이트=1024비트의 정보데이터로 구성된다. 본 발명에서 이용된 에러정정코드는 130바이트에서 1바이트를 정정하는 리드-솔로몬 코드(130, 128)이다.
제18a도 내지 제18r도는 각각 본 실시예에서 이용된 에러정정회로의 특정 회로 구성을 나타내고, 제19도 및 제20도는 각각 기록동작 및 독출독작에서 제어신호의 타이밍을 나타낸 도면이다.
먼저, 기록데이터의 경우에 대한 동작을 이하 설명한다.
신호(DIN)가 하이인 주기동안 기록정보데이터(DINm_i; m = 1, 2, i = 1, ---, 8)가 데이터 입력/출력 핀으로부터 입력되고, 제18a도 내지 제18c도에 도시된 코딩회로에 입력된다. 이 경우, 신호(DINOUTB)가 로우로 되고, DINSm_i=DINm_i이 감지증폭기/데이터 래치회로(8)에 보내진다. 동시에, 신호(DIV)가 하이로 되고, 기록정보데이터(DINm_i)가 8비트 시프트레지스터(SL1)에 입력되어 점검비트를 발생시키기 위한 계산이 달성된다. 시프트레지스터에서의 클럭이 입력데이터(DINm_i)와 동기된다. 신호(SLOUTB)가 하이이므로, 8비트 시프트레지스터(SL2)의 출력(SLOUTm_i)이 DINSm_i로 출력되지 않게 된다.
기록정보데이터(DINm_i)의 입력이 완료될 때, 신호(DINOUTB)가 하이로 되고, 신호(DIV)가 로우로 되며, 신호(SLOUTB)가 로우로 되어 입력(SLINm_i)이 로우로 고정될 때, 8비트 시프트레지스터(SL1 및 SL2)의 조건이 DINSm_i로 출력된다. 그 후, 신호(DINS)가 로우로 됨과 더불어 신호(SLOUTB)가 하이로 될 때, 기록데이터의 입력이 완료된다.
결과적으로, 감지증폭기/데이터 래치회로(8)입력된 기록데이터가 128바이트의 정보데이터의 2바이트의 점검데이터로 구성된 2개의 코드워드로 된다.
이 때, 신호(PRG)가 하이로 되는 주기동안 결과적인 기록데이터가 메모리셀에 기록된다.
그 후, 신호(BEREAD)가 하이상태로 되는 주기동안 버스트에러가 존재하는가의 여부가 다시 수행된다. 신호(BEREAD)가 하이로 될 때, 데이터가 DINSm_i로 출력되는 순서에 따라 기록데이터가 DOUTm_i에서 독출된다. 이 경우, 신호(CCRB)가 로우로 되고, 시프트레지스터(SL3, SL4)에 입력되어 신드롬을 계산한다. 기록데이터가 에러를 포함되는 경우, Som_i에서의 하나 이상의 수가 하이로 된다. 따라서, 신드롬 계산을 완료한 후, 신호(DETE)가 하이로 될 때, 신호(ERDETmB)가 또한 하이로 된다. 신호(ERDETmB)가 m = 1, 2와 관련하여 로우로 되는 경향이 있을 때, 신호(BSTERR)는 에러 버스트가 발생한다는 사실을 전송한다.
신호(BSTERR)가 칩의 상태를 지시하는 상태 레지스터에 전송되고, 이 정보는 상태 독출에 의해 칩의 외부로 전송될 수 있게 된다. 칩을 제어하기 위한 제어기가 어드레스가 억세스된 메모리셀의 치명적 에러의 발생을 인식할 수 있기 때문에, 에러 발생 후 메모리셀을 사용하지 않는 방식이 채용될 수 있게 된다.
일반적으로, 에러 정정/검출회로에 입력된 데이터는 기록입력데이터와 그 반전된 데이터의 양쪽으로 되지만, 이 경우 데이터는 버스트에러가 발생된 경우에 코드워드로 되지 않도록 허용된다. 특히, 버스트에러가 발생할 때, 질의된 데이터에서의 "1"은 모두 "0"으로 되는 바, 예컨대 모든 수는 한번 상기한 "0"으로 되고, 이러한 충만한 "0"데이터는 에러를 포함하지 않는 것으로 판단되어 버스트 에러의 발생은 알려지지 않는다. 그러나, 이와 관련하여 버스트에러가 발생된다는 구성으로 될 때, 질의된 데이터에서의 "0"은 모두 "1"로 되는 바, 예컨대 충만한 "1"로 되는 경향이 있어 에러가 검출되고, 따라서 버스트에러의 발생을 알 수 있게 된다.
다음에, 데이터를 독출하는 경우에 대해 이하 설명한다.
독출이, 예컨대 신드롬이 계산되는 제1사이클(신호(ECCREAD)가 하이인 동안의 주기)과, 에러를 정정하는 동안 외부로 에러를 정정하는 것에 의해 얻어진 정정 데이터를 출력하기 위한 제2사이클(신호(DATAOUT)가 하이인 동안의 주기)의 2개의 사이클로 구성된다. 제1사이클에 있어서, 신호(ECCRB)가 로우인 한편, 데이터 독출이 DOUTm_i에서 출력되고, 8비트 시프트레지스터(SL3, SL4, SL8, SL9)에 입력된다. 전체 데이터의 입력이 완료될 때, 에러검출을 검출하기 위한 신호(DETE)가 하이로 된다. 이 때, 에러가 존재하지 않으면, 시프트레지스터의 조건중 적어도 하나가 하이로 되어 에러가 검출된 사실을 알리는 신호(ERDETmB)가 로우로 된다. 결과적으로, 제1사이클에서의 모든 단계가 완료된다.
이어서, 제2사이클에서 신호(OUTEB)가 로우로 되고, 에러를 정정함으로써 얻어진 정정 데이터가 이러한 에러를 정정하는 동안 외부로 출력된다. 데이터가 상기한 클럭과 동기하여 출력된다. 동시에, 입력에서의 8비트 시프트레지스터(SL5, SL10)의 출력이 클럭과 동기하여 로우 시프트됨과 더불어 피드백된다. 에러의 정정은 8비트 시프트레지스터(SL5, SL10)의 출력이 신드롬(Sm_i)과 일치하는 경우에 출력되는 이러한 데이터를 반전시킴으로써 수행된다. 에러의 정정이 수행된 후, 신호(CORRECTi)가 하이로 된다. 그러나, 에러가 검출된 것을 알리는 신호(ERDETi)가 하이로 됨에도 불구하고, 신호(CORRECTi)가 아직까지 로우상태이면, 예컨대 정정이 에러상에서 수행되는 것이 없는 경우, 신호(NOTCORi)가 하이로 된다.
상기한 바와 같이 이러한 방법에 따르면, 에러 정정/검출회로가 데이터 입력/출력버퍼의 모든 조에 배치되고, 디코드되는 입력데이터가 2개의 사이클에서 반복적으로 독출되며, 디코딩이 지연시간을 수반하지 않고서 달성될 수 있어 지연회로가 생략될 수 있게 된다. 에러정정 회로의 회로 크기는 본 발명에 있어서 특히 긴 코드길이의 경우에 감소시킬 수 있다.
더욱이, 바이트당 비트수가 4비트에서 8비트로 확대될 때, 최대코드길이가 확대될 수 있게 된다.
또한, 본 발명에 있어서, 제10a, b도에 나타낸 바와 같이 메모리셀 어레이(6)와 감지증폭기/데이터 래치회로(8) 사이에 에러정정회로(11)를 위치시킬 필요가 없기 때문에, 에러 정정회로는, 예컨대 데이터 입력/출력 버퍼(12)에 가까운 주변영역에 배치될 수 있어 레이아웃의 관점에서 유연성을 증가시킬 수 있게 된다.
한편, 그 발명은 상기한 설명에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위내에서 다양하게 변형하여 실시할 수 있음은 물론이다.

Claims (16)

  1. 제1사이클에서 입력된 정보데이터와 점검데이터로부터 신드롬을 발생시키기 위한 신드롬 발생회로와; 이 신드롬 발생회로로부터 얻어지는 출력을 받아 상기 정복데이터의 에러 위치 및 크기를 계산하기 위한 에러 위치/크기 계산회로 및; 이 에러 위치/크기 계산회로에서 얻어진 에러의 위치 및 크기를 기초로 상기 정보데이터와 동일한 제2사이클에서 입력된 정보데이터로부터 에러 정정된 정보데이터를 출력하기 위한 에러정정회로를 구비하여 구성되고; 상기 제2사이클에서 오프상태일 때 상기 제1사이클에서 온상태로 되는 제1스위치를 상기 신드롬발생회로의 입력측에 설치하고, 상기 제2사이클에서 온상태로 되고 상기 제1사이클에서 오프상태로 되는 제2스위치를 상기 에러 정정회로의 입력측에 설치하여 이루어진 것을 특징으로 하는 에러 정정/검출회로.
  2. 1바이트가 b비트인 정보데이터를 1바이트가 mb비트(m은 2 이상의 자연수)인 정보데이터로 변환시키기 위한 코드길이 확대회로와; 이 코드길이 확대회로의 출력으로부터 단일 바이트 에러나 mb비트로 구성되는 다수 바이트 에러를 정정하기 위해 점검데이터를 발생시키기 위한 점검데이터 발생회로 및; 상기 정보데이터와 상기 점검데이터를 기초로 단일 바이트 에러나 mb비트로 구성된 다수 바이트 에러를 정정하기 위한 바이트 에러 정정회로를 구비하여 구성된 것을 특징으로 하는 에러 정정/검출회로.
  3. 제2항에 있어서, 상기 바이트 에러 정정회로가 단일 바이트 에러나 mb비트로 구성된 다수 바이트 에러를 정정한 후 b비트 바이트의 정보를 성공적으로 출력하는 것을 특징으로 하는 에러 정정/검출회로.
  4. 메모리셀이 매트릭스 형태로 배치된 메모리셀 어레이와; 상기 메모리셀에 대해 데이터를 출력하기 위한 N개의 데이터 출력버퍼 및 독출데이터의 에러를 정정 검출하고, 상기 데이터 출력버퍼의 n(1 < n = <N)에 기초하여 구성되는 n개의 에러 정정/검출회로를 구비하여 구성되고; 상기 에러 정정/검출 회로가, 제1사이클에서 입력된 정보데이터와 점검데이터로부터 신드롬을 발생시키기 위한 신드롬 발생회로와; 이 신드롬발생회로로부터 얻어지는 출력을 받아 상기 정보데이터의 에러의 위치 및 크기를 계산하기 위한 에러 위치/크기 계산회로 및; 이 에러 위치/크기 계산회로에서 얻어진 에러의 위치 및 크기를 기초로 상기 정보데이터와 동일한 제2사이클에서 입력된 정보데이터로부터 에러 정정된 정보데이터를 출력하도록 구성하여 이루어진 것을 특징으로 하는 반도체 기억장치.
  5. 제4항에 있어서, 상기 에러 정정/검출회로의 각각에 적어도 하나의 상기 데이터 출력버퍼를 설치하여 구성한 것을 특징으로 하는 반도체 기억장치.
  6. 제4항에 있어서, 상기 에러 정정/검출회로와 상기 데이터 출력버퍼를 쌍으로 하여 상기 메모리셀의 주변부에 배치하여 구성한 것을 특징으로 하는 반도체 기억장치.
  7. 메모리셀이 매트릭스 형태로 배치된 메모리셀 어레이와; 상기 메모리셀로부터 데이터를 독출하여 출력하도록 외부로부터 상기 메모리셀 어레이에 재기록 데이터를 입력하는 N개의 데이터 입력/출력버퍼 및; 이 데이터 입력/출력 버퍼를 n(1 < n = <N)에 기초하여 구성하고, 상기 재기록 데이터로부터의 에러를 정정하여 검출하기 위한 점검데이터를 발생시키면서 상기 독출데이터를 출력할 경우 상기 독출데이터내의 에러를 검출하는 에러 정정/검출 회로를 구비하여 구성되고; 상기 에러 정정/검출 회로가, 1바이트가 b비트인 정보데이터를 1바이트가 mb비트인 정보데이터로 변환시키기 위한 코드길이 확대회로와; 이 코드길이 확대호로의 출력으로부터의 mb비트 구성의 단일 바이트 에러 또는 복수 바이트 에러에 기초하여 점검데이터를 발생시키기 위한 점검데이터 발생회로 및; 상기 정보 데이터와 상기 점검 데이터를 기초로 mb비트 구성(단, m은 2 이상의 정수)의 단일 바이트 에러 또는 복수 바이트 에러를 정정하기 위한 바이트 에러 정정회로를 구비하여 이루어진 것을 특징으로 하는 반도체 기억장치.
  8. 제7항에 있어서, 상기 에러 정정/검출회로는 버스트 에러가 재기록 데이터의 경우에 검출될 수 있는 위치에서 에러 정정/검출을 위한 동작을 수행하는 것을 특징으로 하는 반도체 기억장치.
  9. 제7항에 있어서, 상기 에러 정정/검출회로가 모든 상기 데이터 출력 버퍼나 서로 가까이 위치한 모든 상기 다수 데이터 출력 버퍼에 배치되는 것을 특징으로 하는 반도체 기억장치.
  10. 제9항에 있어서, 상기 에러 정정/검출회로는 버스트 에러가 재기록 데이터의 경우에 검출될 수 있는 위치에서 에러 정정/검출을 위한 동작을 수행하는 것을 특징으로 하는 반도체 기억장치.
  11. 제7항에 있어서, 상기 에러 정정/검출회로가 상기 데이터 출력버퍼의 근처에 위치하는 것을 특징으로 하는 반도체 기억장치.
  12. 제11항에 있어서, 상기 에러 정정/검출회로는 버스트 에러가 재기록 데이터의 경우에 검출될 수 있는 위치에서 에러 정정/검출을 위한 동작을 수행하는 것을 특징으로 하는 반도체 기억장치.
  13. 메모리셀이 매트릭스 형태로 배치된 메모리셀 어레이와; 독출동작 동안 상기 메모리셀의 데이터를 잠정적으로 저장함과 더불어 감지하기 위한 감지증폭기/데이터 래치회로 및; 제1항에 기재된 에러 정정/검출회로를 구비하여 구성되고, 상기 감지 증폭기/데이터 래치회로가 상기 에러 정정/검출회로에 래치된 데이터를 2번 보내는 것을 특징으로 하는 반도체 기억장치.
  14. 제1사이클에서 입력된 정보데이터와 점검데이터로부터 신드롬을 발생시키기 위한 신드롬 발생회로와; 상기 신드롬으로부터 에러 위치 및 크기를 계산하기 위한 에러 위치/크기 계산회로 및; 이 에러 위치/크기 계산회로에서 얻어진 에러의 위치 및 크기를 기초로 상기 정보데이터와 동일한 제2사이클에서 입력된 정보데이터로부터 에러 정정된 정보데이터를 출력하기 위한 에러정정회로를 구비하여 구성되고; 2회 입력된 동일의 상기 정보데이터중 에러 정정된 정보데이터를 출력할 때에만 상기 에러 정정회로가 동작되도록 구성한 것을 특징으로 하는 에러 정정/검출회로.
  15. 메모리셀이 매트릭스 형태로 배치된 메모리셀 어레이와; 상기 메모리셀에 대해 데이터를 출력하기 위한 N개의 데이터 출력버퍼 및; 독출데이터의 에러를 정정 검출하고, 상기 데이터 출력버퍼의 n(1 < n = <N)에 기초하여 구성되는 n개의 에러 정정/검출회로를 구비하여 구성되고; 상기 에러 정정/검출 회로가, 블록화된 데이터의 에러를 검출하기 위한 복수의 에러 검출 회로와; 이 에러 검출회로에서 모든 에러를 검출한 때 버스트 에러 검출신호를 출력하는 수단을 설치하여 이루어진 것을 특징으로 하는 반도체 기억장치.
  16. 메모리셀이 매트릭스 형태로 배치된 메모리셀 어레이와; 상기 메모리셀로부터 데이터를 독출하여 출력하도록 외부로부터 상기 메모리셀 어레이에 재기록 데이터를 입력하는 N개의 데이터 입력/출력버퍼 및; 이 데이터 입력/출력 버퍼를 n(1 < n = <N)에 기초하여 구성하고, 상기 재기록 데이터로부터의 에러를 정정하여 검출하기 위한 점검데이터를 발생시키면서 상기 독출데이터를 출력할 경우 상기 독출데이터내의 에러를 검출하는 에러 정정/검출 회로를 구비하여 구성되고; 상기 에러 정정/검출 회로가, 블록화된 데이터의 에러를 검출하기 위한 복수의 에러 검출 회로와; 이 에러 검출 회로에서 모든 에러를 검출한 때 버스트 에러 검출 신호를 출력하는 수단을 설치하여 이루어진 것을 특징으로 하는 반도체 기억 장치.
KR1019960006776A 1995-03-16 1996-03-14 에러 정정/검출회로와 반도체 기억장치 KR100261790B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-083459 1995-03-16
JP08345995A JP3272903B2 (ja) 1995-03-16 1995-03-16 誤り訂正検出回路と半導体記憶装置

Publications (2)

Publication Number Publication Date
KR960035267A KR960035267A (ko) 1996-10-24
KR100261790B1 true KR100261790B1 (ko) 2000-07-15

Family

ID=13803055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960006776A KR100261790B1 (ko) 1995-03-16 1996-03-14 에러 정정/검출회로와 반도체 기억장치

Country Status (3)

Country Link
US (1) US5933436A (ko)
JP (1) JP3272903B2 (ko)
KR (1) KR100261790B1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3248098B2 (ja) * 1997-05-26 2002-01-21 日本プレシジョン・サーキッツ株式会社 シンドローム計算装置
US6360346B1 (en) * 1997-08-27 2002-03-19 Sony Corporation Storage unit, method of checking storage unit, reading and writing method
JP3239863B2 (ja) * 1998-11-27 2001-12-17 日本電気株式会社 データ復号処理装置および方法
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
US6360347B1 (en) 1999-05-18 2002-03-19 Advanced Micro Devices, Inc. Error correction method for a memory device
DE60004057D1 (de) * 1999-05-18 2003-08-28 Advanced Micro Devices Inc Fehlerkorrekturschaltung und verfahren in einer speichereinrichtung
JP4074029B2 (ja) 1999-06-28 2008-04-09 株式会社東芝 フラッシュメモリ
FR2810152A1 (fr) * 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
JP4112849B2 (ja) * 2001-11-21 2008-07-02 株式会社東芝 半導体記憶装置
JP4314057B2 (ja) 2003-04-18 2009-08-12 サンディスク コーポレイション 不揮発性半導体記憶装置および電子装置
JP4256198B2 (ja) * 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
JP4742553B2 (ja) * 2004-09-22 2011-08-10 ソニー株式会社 記憶装置
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
KR100833600B1 (ko) * 2006-08-25 2008-05-30 삼성전자주식회사 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치
US7861139B2 (en) * 2007-01-26 2010-12-28 Micron Technology, Inc. Programming management data for NAND memories
JP5363460B2 (ja) * 2008-07-30 2013-12-11 パナソニック株式会社 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム
JP5278441B2 (ja) * 2008-12-04 2013-09-04 富士通株式会社 記憶装置および故障診断方法
KR101149466B1 (ko) * 2010-01-15 2012-05-24 주식회사 노바칩스 다수의 채널을 사용하는 반도체 메모리 시스템, 및 이의 에러 검출 및 정정 방법
RU2534499C2 (ru) * 2013-03-25 2014-11-27 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации
US20140317471A1 (en) * 2013-04-18 2014-10-23 Samsung Electronics Co., Ltd. Semiconductor memory devices including separately disposed error-correcting code (ecc) circuits
US9990245B2 (en) * 2015-11-25 2018-06-05 Stmicroelectronics S.R.L. Electronic device having fault monitoring for a memory and associated methods
RU2758410C1 (ru) * 2021-01-26 2021-10-28 Межрегиональное общественное учреждение "Институт инженерной физики" Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации
RU2758065C1 (ru) * 2021-01-26 2021-10-26 Межрегиональное общественное учреждение "Институт инженерной физики" Отказоустойчивый процессор с коррекцией ошибок в байте информации
KR102610253B1 (ko) * 2022-11-23 2023-12-06 넷솔 주식회사 데이터 복구 방법 및 데이터 복구를 수행하는 비휘발성 메모리

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119997A (ja) * 1987-11-04 1989-05-12 Mitsubishi Electric Corp 半導体記憶装置
CA2019351A1 (en) * 1989-07-06 1991-01-06 Francis H. Reiff Fault tolerant memory
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
US5307356A (en) * 1990-04-16 1994-04-26 International Business Machines Corporation Interlocked on-chip ECC system
JPH04163966A (ja) * 1990-10-29 1992-06-09 Hitachi Ltd 縦型eepromとその書き込み方式
US5226043A (en) * 1990-12-27 1993-07-06 Raytheon Company Apparatus and method for data error detection and correction and address error detection in a memory system
JPH04315332A (ja) * 1991-04-15 1992-11-06 Hitachi Ltd 誤り訂正装置
JP2570634B2 (ja) * 1994-10-24 1997-01-08 日本電気株式会社 半導体記憶装置

Also Published As

Publication number Publication date
KR960035267A (ko) 1996-10-24
JP3272903B2 (ja) 2002-04-08
JPH08255111A (ja) 1996-10-01
US5933436A (en) 1999-08-03

Similar Documents

Publication Publication Date Title
KR100261790B1 (ko) 에러 정정/검출회로와 반도체 기억장치
KR100369273B1 (ko) 반도체디스크장치
US6018817A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
JP3234130B2 (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
US20060069851A1 (en) Integrated circuit memory devices that support detection of write errors occuring during power failures and methods of operating same
KR20020010543A (ko) Ecc 방식 에러 복구 회로를 갖는 반도체 메모리 장치
JPH01195557A (ja) データ処理システムにおけるデータ転送方法
JPH0260013B2 (ko)
JPS6217257B2 (ko)
US3898443A (en) Memory fault correction system
JPS6349245B2 (ko)
JP2776839B2 (ja) 半導体メモリ
JPH04290144A (ja) メモリ拡張方式
JP2009259113A (ja) 不揮発性メモリ管理装置
TWI748507B (zh) 資料存取系統及操作資料存取系統的方法
JP3600562B2 (ja) 半導体記憶装置
JP3654655B2 (ja) データ処理システム
JP2003100095A (ja) 半導体集積回路装置
JP3600561B2 (ja) 誤り訂正検出回路と半導体記憶装置
JP3157787B2 (ja) 記憶装置
WO2000070459A1 (en) Error correction circuit and method for a memory device
JP7235591B2 (ja) 情報処理回路及び情報処理方法
JPH0746517B2 (ja) 半導体メモリ及びそのテスト方法
JPH03147041A (ja) エラー訂正システム
JPS6223902B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120418

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee