KR20000013395A - 에러 정정 회로를 구비한 반도체 메모리 장치 - Google Patents

에러 정정 회로를 구비한 반도체 메모리 장치 Download PDF

Info

Publication number
KR20000013395A
KR20000013395A KR1019980032236A KR19980032236A KR20000013395A KR 20000013395 A KR20000013395 A KR 20000013395A KR 1019980032236 A KR1019980032236 A KR 1019980032236A KR 19980032236 A KR19980032236 A KR 19980032236A KR 20000013395 A KR20000013395 A KR 20000013395A
Authority
KR
South Korea
Prior art keywords
bits
error
data bits
syndrome
odd
Prior art date
Application number
KR1019980032236A
Other languages
English (en)
Other versions
KR100287018B1 (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 윤종용
Priority to KR1019980032236A priority Critical patent/KR100287018B1/ko
Priority to TW088106920A priority patent/TW422976B/zh
Priority to GB9910278A priority patent/GB2340629A/en
Priority to JP22464499A priority patent/JP4138169B2/ja
Priority to DE19937101A priority patent/DE19937101A1/de
Priority to US09/370,938 priority patent/US6510537B1/en
Publication of KR20000013395A publication Critical patent/KR20000013395A/ko
Application granted granted Critical
Publication of KR100287018B1 publication Critical patent/KR100287018B1/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Detection And Correction Of Errors (AREA)
  • Dram (AREA)

Abstract

여기에 개시되는 반도체 메모리 장치에는, 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와 상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출하는 감지 증폭 회로가 제공된다. 더욱이, 상기 반도체 메모리 장치는 제 1 에러 정정 회로, 제 2 에러 정정 회로, 그리고 출력 회로가 제공된다. 상기 제 1 에러 정정 회로는 상기 독출된 체크 비트들과 데이터 비트들 중 홀수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 정정한다. 상기 제 2 에러 정정 회로는 상기 독출된 체크 비트들과 데이터 비트들 중 짝수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 정정하며, 상기 출력 수단은 상기 제 1 에러 정정 수단과 상기 제 2 에러 정정 수단에 공통으로 연결되고, 상기 에러 정정된 홀수번 데이터 비트들과 상기 에러 정정된 짝수번 데이터 비트들을 번갈아 그리고 순차적으로 외부로 출력한다.

Description

에러 정정 회로를 구비한 반도체 메모리 장치(A SEMICONDUCTOR MEMORY DEVICE WITH A ERROR CORRECTION CIRCUIT)
본 발명은 반도체 메모리 장치에 관한 것으로서, 구체적으로는 에러 정정 회로를 구비한 반도체 메모리 장치에 관한 것이다.
반도체 메모리 장치 특히, 플래시 메모리 장치 (flash memory device)에는, 플로팅 게이트를 가지는 전기적으로 소거 및 프로그램 가능한 메모리 셀들 (electrically erasable and programmable memory cells, 이하 EEPROM 셀들이라 칭함)의 메모리 셀 어레이가 제공된다. 상기 각 EEPROM 셀의 플로팅 게이트 (floating gate)에 전하를 저장하는 것은 상기 각 EEPROM 셀의 드레솔드 전압이 로직 '1'과 로직 '0'을 각각 나타내는 로우 및 하이 레벨 값들 사이에서 전기적으로 변화되도록 한다. 플로팅 게이트 기술들을 이용하는 경우, 데이터 보존에 대한 본질적인 문제는 없다. 그러나, 기입 및 소거를 위해서 사용되는 고 에너지의 전자 주입 및 방출 메커니즘 (high energetic electron injection and emission mechanisms) 결과로서 터널 산화막 (tunnel oxide) 내에 결함들 및 트랩들 (traps)이 생성되기 때문에 신뢰성 문제들은 기입 및 소거 사이클 동안에 생긴다. 저장된 전자들은 이러한 터널 산화막 결함들 및 트랩들을 통해서 플로팅 게이트로부터 빠져나갈 수 있다. 반대로, 상기 플로팅 게이트는 EEPROM 셀의 제어 게이트가 독출 동작 동안에 전원 전압으로 유지될 때 전자들을 서서히 얻는다. 전하 손실 및 획득은 메모리 셀 즉, EEPROM 셀 트랜지스터의 드레솔드 전압의 증감의 원인이 되고 결과적으로 랜덤 비트 에러들 (random bit errors)이 생길 수 있다.
일반적으로, 플래시 메모리 시스템 성능 향상을 위해서 에러 정정 코드/회로 (an error correcting code/circuit, 이후 ECC라 칭함)가 사용되고 있다. ECC를 콘트롤러에 설치하여 에러를 정정하기 위한 방법이 있지만, 그러한 기능의 콘트롤러를 지원하지 않는 카드 시스템에서 용이하게 사용될 수 있는 온-칩 ECC의 응용이 요구되고 있다. 그 결과로서, ECC를 콘트롤러에 위치시키는 것보다 칩 내에 위치시키는 것이 제조 비용 면에서 유리하다. 온-칩 ECC 기술이 IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 32. NO. 5, 1997년 5월에 "A COMPACT ON-CHIP ECC FOR LOW COST FLASH MEMORIES"라는 제목으로 게재되었다.
도 1은 종래 기술에 따른 온-칩 ECC를 구비한 반도체 메모리 장치의 개략적인 구성을 보여주는 블록도이다.
도 1을 참조하면, 반도체 메모리 장치 특히, 플래시 메모리 장치 (1)는 복수 개의 데이터 비트들 (data bits)과 상기 데이터 비트들의 에러를 정정하기 위한 체크 비트들 (check bits)을 저장하기 위한 메모리 셀 어레이 (10)를 포함한다. 본 실시예에서는, 이하, 이 분야에 잘 알려진 NAND형 플래시 메모리 장치가 일 예로 설명될 것이다. 상기 NAND형 플래시 메모리 장치에 제공되는 플래시 EEPROM 셀들은 USP. No. 5,696,717에 "NONVOLATILE INTEGRATED CIRCUIT MEMORY DEVICES HAVING ADJUSTABLE ERASE/PROGRAM THRESHOLD VOLTAGE VERIFICATION CAPABILITY"라는 제목으로 상세히 게재되었다. 상기 메모리 셀 어레이 (10)는, 일 예로서, 입출력 데이터 폭 (IO data width) (예컨대, X8, X16 등)에 따라 복수 개의 입출력 메모리 블록들 (IOMBi) (여기서, i=1-8)로 분리되어 있다. 상기 각 입출력 메모리 블록 (IOMBi)에는, 복수 개의 워드 라인들 (또는, 복수 개의 페이지들) (WLm) (m=1, 2, 3, …, i), 상기 워드 라인들 (WLm)과 교차하도록 배열된 복수 개의 비트 라인들 (BLn) (예를 들면, 512개의 비트 라인들), 복수 개의 패리티 비트 라인들 (PBLx) (예를 들면, 10개의 패리티 비트 라인들) 그리고 상기 워드 라인들 (WLm)과 상기 비트 라인들 (BLn) 및 (PBLx)의 교차점들에 있는, 상기 데이터 비트들 및 상기 체크 비트들을 저장하기 위한, 복수 개의 메모리 셀들 (MC)이 제공된다.
상기 워드 라인들 (WLm)은 상기 메모리 셀 어레이 (10)의 일 측에 배열된 행 디코더 (a row decoder) (12)에 각각 연결된다. 상기 행 디코더 (12)는 외부로부터 제공되는 행 어드레스 (RAi)에 따라 상기 워드 라인들 (WLm) 중 하나의 워드 라인 (또는, 한 페이지)을 선택하고 상기 선택된 워드 라인을 각 동작 모드 (예를 들면, 읽기 동작 및 프로그램 동작)에서 요구되는 워드 라인 전압 (word line voltage)으로 구동한다. 이에 관련된 상세한 설명은 상기 '717에 게재되어 있다. 상기 각 입출력 메모리 블록 (IOMB1)-(IOMB8)에 배열되는 512개의 비트 라인들 (BL1)-(BL512)과 10개의 패리티 비트 라인들 (PBL1)-(PBL10)은 상기 메모리 셀 어레이 (10)의 하측에 배열된 감지 증폭 회로 (a sense amplifier circuit) (14)에 각각 연결된다. 상기 감지 증폭 회로 (14)에는, 비록 도면에는 도시되지 않았지만, 상기 비트 라인들 (BL1)-(BL512) 및 (PBL1)-(PBL10) 각각에 연결된, 현재 NAND 플래시 메모리 장치 및 DRAM 장치에서 사용되는, 래치 형태의 감지 증폭기들이 제공된다. 상기 NAND 플래시 메모리 장치에서 사용되는 래치 형태의 감지 증폭기에 대한 일 예가 USP. No. 5,216,633에 "NONVOLATILE SEMICONDUCTOR MEMORY DEVICE INCLUDING ACCESS CODE CIRCUITRY"에 상세히 게재되어 있다. 상기 각 감지 증폭기는 읽기 동작 동안에 대응하는 비트 라인들 및 패리티 비트 라인들 (BL1)-(BL512) 및 (PBL1)-(PBL10)에 연결된 메모리 셀들의 데이터 비트들 (예를 들면, 512-비트) 및 체크 비트들 (예를 들면, 10-비트)을 감지/증폭하고 상기 감지 증폭된 데이터 비트들 및 체크 비트들을 각각 래치한다. 결과적으로, 하나의 입출력 메모리 블록 (IOMB)에 대응하는 감지 증폭기들의 수는 522개 (512+10)이다. 상기 데이터 및 체크 비트들은 하나의 ECC 워드로서 하나의 워드 라인 즉, 한 페이지에 대응한다.
상기 감지 증폭 회로 (14)에는, 열 패스 게이트 회로 (column pass gate circuit) (16)가 연결되고, 상기 열 패스 게이트 회로 (16)는 열 디코더 (column decoder) (18)에 의해서 제어된다. 상기 열 패스 게이트 회로 (16)에는, 입출력 메모리 블록들 (IOMB1)-(IOMB8)에 각각 대응하는 에러 정정 회로들 (20)이 연결된다. 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8)에서 각각 독출된 즉, 상기 감지 증폭 회로 (14)에 래치된 512개의 데이터 비트들 및 10개의 체크 비트들은 상기 열 디코더 (18)의 제어에 따라 상기 열 패스 게이트 회로 (16)를 통해서 대응하는 에러 정정 회로들 (20)로 순차적으로 출력된다. 이에 대한 동작은 이후 상세히 설명된다.
도 2를 참조하면, 앞서 언급된 레퍼런스에서 제안된 도 1의 에러 정정 회로 (20)의 개략적인 블록도가 도시되어 있다. 도 2에 도시된 에러 정정 회로 (20)는 도 1에 도시된 8개의 입출력 회로들 (22) 중 어느 하나에 대응하며, 다른 입출력 회로들에 대응하는 에러 정정 회로들 (20) 역시 도 2와 동일한 구성으로 구현될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 도 2에서, 512개의 데이터 비트들 및 10개의 체크 비트들을 위한 에러 정정 회로 (20)는 해밍 코드 이론 (Hamming code theory, 2r≥ m+r+1; m은 데이터 비트들의 수를 의미하고, r은 체크 비트들의 수를 의미한다.)에 기초한 g(x)=x10+x3+1의 다항식에 따라 구성된다.
데이터 독출 동작은 기본적으로 제 1 및 제 2 사이클들을 통해서 수행된다. 상기 제 1 사이클 동안에, ECC 워드의 522비트들은 열 패스 게이트 회로 (16)를 통해서 대응하는 감지 증폭기들로부터 신드롬 발생기 (syndrome generator) (22)로 1-비트씩 순차적으로 전달되고 상기 신드롬 발생기 (22)로부터 10비트들의 신드롬 비트들 (syndrome bits)이 생성된다. 상기 신드롬 비트들은 제 2 사이클 동안에 한 페이지의 데이터 비트들 중 1비트 에러에 대한 어드레스 정보로서 사용되고, 에러 검출기 (24)에 의해서 코딩된다. 도 2에서, 도 1의 상기 열 패스 게이트 회로 (16)는 제 1 및 제 2 사이클들 동안에 배타적으로 동작하는 스위치들 (26) 및 (28)으로서 표시되었다.
그 다음에, 상기 제 2 사이클 동안에, 상기 에러 검출기 (24)에 의해서 코딩된 신호 (에러에 대한 어드레스 정보)와 상기 감지 증폭기들에 래치된 512개의 데이터 비트들은 배타적-오어 게이트로서 구현되는 에러 정정기 (error corrector) (30)로 직접 그리고 순차적으로 인가되고, 그 다음에 512개의 정정된 데이터 비트들은 대응하는 입출력 회로 (22)를 통해서 외부로 출력된다. 예를 들면, 감지 증폭기들로부터 출력되는 데이터 비트들 중 임의의 데이터 비트에 대응하는 상기 에러 검출기 (24)의 출력이 로직 '1'이면, 상기 임의의 데이터 비트는 에러 비트로서 상기 에러 정정기 (30)에서 정정된 후 출력되고, 상기 에러 검출기 (30)의 출력이 로직 '0'이면, 상기 임의의 데이터 비트는 정상적인 비트로서 그대로 출력된다. 상기 에러 정정 회로에 대한 구체적인 에러 정정 회로는 앞서 설명된 레퍼런스에 게재되어 있다. 앞서 설명된 독출 동작을 개략적으로 보여주는 도 2의 에러 정정 회로 (20)에 관련된 타이밍도가 도 3에 도시되어 있다.
상술한 에러 정정 회로를 구비한 종래의 플래시 메모리 장치에 있어서, 한 페이지 (512개의 데이터 비트들+10개의 체크 비트들) 당 1비트 에러만이 검출되고 정정된다. 이러한 에러 정정 스킴에 따르면, 앞서 언급된 바와 같이, 522개의 ECC 워드 (512개의 데이터 비트들과 10개의 체크 비트들)를 독출하고 에러 위치를 검출하기 위해서 제 1 사이클 동안에 522번의 클럭 펄스들이 사용되며, 이는 플래시 메모리 장치의 독출 시간이 증가되게 한다. 결과적으로, 플래시 메모리 장치의 성능이 저하된다.
따라서 본 발명의 목적은 향상된 동작 속도를 가지는 플래시 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 한 페이지 당 적어도 2-비트 에러들을 정정할 수 있는 에러 정정 스킴을 가지는 플래시 메모리 장치를 제공하는 것이다.
도 1은 종래 기술에 따른 온-칩 ECC를 구비한 반도체 메모리 장치의 개략적인 구성을 보여주는 블록도;
도 2는 도 1에 도시된 에러 정정 회로의 개략적인 블록도;
도 3은 종래 기술에 따른 독출 동작을 설명하기 위한 타이밍도;
도 4는 본 발명의 바람직한 제 1 실시예에 따른 반도체 메모리 장치의 블록도;
도 5는 도 4에서 하나의 입출력 회로에 대응하는 2개의 에러 정정 회로들의 블록도;
도 6은 도 5에 도시된 스위칭 소자들을 제어하기 위한 신호들의 파형을 보여주는 도면;
도 7은 감지 증폭 회로, 열 패스 게이트 회로, 그리고 입출력 회로와 에러 정정 회로의 연결 관계를 보여주는 블록도;
도 8은 본 발명의 바람직한 제 1 실시예에 따른 도 6 및 도 7에서 사용된 에러 정정 회로의 상세 회로도;
도 9는 도 7의 에러 정정 회로에서 사용되는 신호들의 타이밍을 보여주는 도면;
도 10은 본 발명의 바람직한 제 2 실시예에 따른 반도체 메모리 장치의 블록도;
도 11은 본 발명의 바람직한 제 2 실시예에 따른 하나의 입출력 회로에 대응하는 도 10의 에러 정정 회로의 블록도;
도 12는 본 발명의 바람직한 제 3 실시예에 따른 반도체 메모리 장치의 블록도;
도 13은 본 발명의 바람직한 제 4 실시예에 따른 반도체 메모리 장치의 블록도; 그리고
도 14는 본 발명의 바람직한 제 4 실시예에 따른 하나의 입출력 회로에 대응하는 도 13의 에러 정정 회로의 블록도이다.
*도면의 주요 부분에 대한 부호 설명
10, 100, 300 : 메모리 셀 어레이 12, 120, 320 : 행 디코더
14, 140, 340 : 감지 증폭 회로 16, 160, 360 : 열 패스 게이트 회로
18, 180, 380 : 열 디코더 20, 200, 400 : 에러 정정 회로
22, 220, 420 : 입출력 회로
(구성)
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 반도체 메모리 장치가 제공되며, 상기 반도체 메모리 장치는 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출하는 수단을 포함한다. 게다가, 상기 장치는 제 1 에러 정정 수단, 제 2 에러 정정 수단, 그리고 출력 수단을 더 포함한다. 상기 제 1 에러 정정 수단은 상기 독출된 체크 비트들과 데이터 비트들 중 홀수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 정정한다. 상기 제 2 에러 정정 수단은 상기 독출된 체크 비트들과 데이터 비트들 중 짝수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 정정하며, 상기 출력 수단은 상기 제 1 에러 정정 수단과 상기 제 2 에러 정정 수단에 공통으로 연결되고, 상기 에러 정정된 홀수번 데이터 비트들과 상기 에러 정정된 짝수번 데이터 비트들을 번갈아 그리고 순차적으로 외부로 출력한다.
이 실시예에 있어서, 상기 제 1 에러 정정 수단은, 상기 홀수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와; 상기 제 1 신드롬 발생기로부터의 상기 일련의 제 1 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 1 신드롬 비트들을 디코딩하여 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 검출하고, 그리고 상기 제 1 에러 비트의 존재 표시를 출력하는 제 1 에러 검출기 및; 상기 홀수번 데이터 비트들과 상기 제 1 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 정정하는 제 1 에러 정정기를 포함한다.
이 실시예에 있어서, 상기 제 2 에러 정정 수단은, 상기 짝수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와; 상기 제 2 신드롬 발생기로부터의 상기 일련의 제 2 신드롬 비트들을 입력들로서 받아들이고, 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 검출하기 위한 상기 일련의 제 2 신드롬 비트들을 디코딩하고, 그리고 상기 제 2 에러 비트의 존재 표시를 출력하는 제 2 에러 검출기 및; 상기 짝수번 데이터 비트들과 상기 제 2 에러 비트의 존재 표시를 받아들여서 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 정정하는 제 2 에러 정정기를 포함한다.
본 발명의 다른 특징에 의하면, 상기 반도체 메모리 장치에는, 메모리 셀 어레이, 제 1 및 제 2 독출 수단들, 제 1 및 제 2 에러 정정 수단들, 그리고 출력 수단이 제공된다. 상기 메모리 셀 어레이는 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장한다. 상기 제 1 독출 수단은 상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 홀수번 데이터 비트들 및 상기 체크 비트들 중 홀수번 체크 비트들을 독출하고, 상기 제 2 독출 수단은 상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 짝수번 데이터 비트들 및 상기 체크 비트들 중 짝수번 체크 비트들을 독출한다. 그 다음에, 상기 제 1 에러 정정 수단은 상기 독출된 체크 비트들과 데이터 비트들 중 홀수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 정정하고, 상기 제 2 에러 정정 수단은 상기 독출된 체크 비트들과 데이터 비트들 중 짝수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 정정한다. 상기 출력 수단은 상기 제 1 에러 정정 수단과 상기 제 2 에러 정정 수단에 공통으로 연결되고, 상기 에러 정정된 홀수번 데이터 비트들과 상기 에러 정정된 짝수번 데이터 비트들을 번갈아 그리고 순차적으로 출력한다.
게다가, 상기 제 1 에러 정정 수단은 a) 상기 홀수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와; b) 상기 제 1 신드롬 발생기로부터의 상기 일련의 제 1 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 1 신드롬 비트들을 디코딩하여 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 검출하고, 그리고 상기 제 1 에러 비트의 존재 표시를 출력하는 제 1 에러 검출기 및; c) 상기 홀수번 데이터 비트들과 상기 제 1 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 정정하는 제 1 에러 정정기로 구성된다.
또한, 상기 제 2 에러 정정 수단은 a) 상기 짝수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와; b) 상기 제 2 신드롬 발생기로부터의 상기 일련의 제 2 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 2 신드롬 비트들을 디코딩하여 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 검출하고, 그리고 상기 제 2 에러 비트의 존재 표시를 출력하는 제 2 에러 검출기 및; 상기 짝수번 데이터 비트들과 상기 제 2 에러 비트의 존재 표시를 받아들여서 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 정정하는 제 2 에러 정정기로 구성된다.
본 발명의 또 다른 특징에 의하면, 반도체 메모리 장치에는, 복수 개의 데이터 비트들과 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출하는 수단과; 상기 데이터 비트들을 외부로부터/로 순차적으로 입력받는/출력하는 입력/출력 수단과; 상기 독출된 데이터 비트들 중 홀수번 데이터 비트들과 상기 독출된 체크 비트들 중 홀수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와; 상기 독출된 데이터 비트들 중 짝수번 데이터 비트들과 상기 독출된 체크 비트들 중 짝수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와; 상기 제 1 및 제 2 신드롬 발생기들로부터의 상기 일련의 제 1 및 제 2 신드롬 비트들을 입력들로서 번갈아 그리고 순차적으로 받아들이고, 상기 일련의 제 1 및 제 2 신드롬 비트들을 각각 번갈아 디코딩하여 상기 홀수번 및 짝수번 데이터 비트들 내의 상기 제 1 및 제 2 에러 비트들을 각각 검출하고, 그리고 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 각각 번갈아 출력하는 에러 검출기 및; 상기 홀수번 및 짝수번 데이터 비트들과 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 번갈아 그리고 순차적으로 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트 및 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 각각 정정하는 에러 정정기가 제공된다.
이러한 구조에 따르면, 상기 에러 정정 수단에 의해서 에러 정정된 상기 홀수번 및 짝수번 데이터 비트들은 상기 적어도 하나의 입력/출력 수단을 통해서 순차적으로 그리고 번갈아 출력된다.
(작용)
이러한 장치에 의하면, 하나의 ECC 워드, 예를 들면, 512개의 데이터 비트들 및 18개의 체크 비트들이 단지 265번의 클럭 사이클들 내에 대응하는 적어도 2개의 에러 정정 회로들로 순차적으로 전달된다. 그 결과, 플래시 메모리 장치의 동작 속도가 될 수 있을 뿐만 아니라, 2개의 에러 정정 회로들에서는, 대응하는 홀수번 및 짝수번 데이터 비트들 중의 1비트 에러가 각각 검출되고 정정되기 때문에, 한 페이지 내에서 적어도 2-비트 에러가 정정될 수 있다.
(제 1 실시예)
도 4를 참조하면, 본 발명의 바람직한 제 1 실시예에 따른 반도체 메모리 장치의 블록도가 도시되어 있다. 반도체 메모리 장치는 메모리 셀 어레이 (100)를 포함하며, 상기 어레이 (100)는 입출력 데이터 폭 (본 발명의 경우, X8)에 따라 8개의 입출력 메모리 블록들 (IOMB1)-(IOMB8)로 분리되어 있다. 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에는, 512개의 비트 라인들 (BL1)-(BL512)과 18개의 패리티 비트 라인들 (PBL1)-(PBL18)이 제공된다. 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8)에는, 도 4에 도시된 바와 같이, 복수 개의 워드 라인들 (WLm) (m=1, 2, 3, …, i)이 각 입출력 메모리 블록의 비트 라인들과 교차하도록 배열되고 행 디코더 회로 (120)에 각각 연결된다. 여기서, 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에 제공되는 상기 비트 라인들 (BL1)-(BL512)에 관련된 메모리 셀들에는, 데이터 비트들이 각각 저장된다. 그리고, 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에 제공되는 상기 패리티 비트 라인들 (PBL1)-(PBL18)에 관련된 메모리 셀들에는, 상기 데이터 비트들에 관련된 에러 정정을 위한 체크 비트들이 각각 저장된다.
이하, 설명의 편의상, 도 4의 구성 요소들은 하나의 입출력 메모리 블록 (예를 들면, IOMB1)에 관련하여 설명된다. 다른 입출력 메모리 블록들 (IOMB2)-(IOMB8)에 관련된 구성 요소들 역시 그것과 동일함은 자명하다.
다시 도 4를 참조하면, 상기 메모리 셀 어레이 (100)의 하측에는, 제 1 감지 증폭 회로 (a first sense amplifier circuit) (140_bottom)가 배열된다. 상기 제 1 감지 증폭 회로 (140_bottom)에는, 상기 입출력 메모리 블록 (IOMB1)의 512개의 비트 라인들 (BL1)-(BL512)과 18개의 패리티 비트 라인들 (PBL1)-(PBL18) 중 홀수번 비트 라인들 (BL1), (BL3), …, (BL511) 및 패리티 비트 라인들 (PBL1), (PBL3), …, (PBL17)이 각각 연결된다. 상기 제 1 감지 증폭 회로 (140_bottom)에는, 비록 도면에는 도시되지 않았지만, 앞서 언급된 USP. No. 5,696,717에 게재된 바와 같은 래치 형태의 감지 증폭기들이 상기 256개의 비트 라인들 (BL1), (BL3), …, (BL511)과 상기 9개의 패리티 비트 라인들 (PBL1), (PBL3), …, (PBL17)에 각각 대응하도록 제공될 것이다. 앞서 언급된 독출 동작의 제 1 사이클 동안에, 상기 행 디코더 회로 (120)에 의해서 선택되는 하나의 워드 라인 (또는, 페이지)에 연결된 530개의 메모리 셀들 중 상기 256개의 비트 라인들 (BL1), (BL3), …, (BL511)과 상기 9개의 패리티 비트 라인들 (PBL1), (PBL3), …, (PBL17)에 연결된 메모리 셀들에 각각 저장된 데이터 비트들 및 체크 비트들은 대응하는 감지 증폭기들에 의해서 감지되고 래치된다.
도 4에 도시된 바와 같이, 상기 메모리 셀 어레이 (100)의 상측에는, 제 2 감지 증폭 회로 (a second sense amplifier circuit) (140_top)가 배열된다. 상기 제 2 감지 증폭 회로 (140_top)에는, 상기 입출력 메모리 블록 (IOMB1)의 512개의 비트 라인들 (BL1)-(BL512)과 18개의 패리티 비트 라인들 (PBL1)-(PBL18) 중 짝수번 비트 라인들 (BL2), (BL4), …, (BL512) 및 패리티 비트 라인들 (PBL2), (PBL4), …, (PBL18)가 각각 연결된다. 상기 제 2 감지 증폭 회로 (140_top)에는, 상기 256개의 짝수번 비트 라인들 (BL2), (BL4), …, (BL512)와 상기 9개의 짝수번 패리티 비트 라인들 (PBL2), (PBL4), …, (PBL18)에 각각 대응하도록 감지 증폭기들이 제공될 것이다. 여기서, 상기 제 2 감지 증폭 회로 (140_top)에 제공되는 감지 증폭기들은 상기 제 1 감지 증폭 회로 (140_bottom)의 그것과 동일하다. 상기 제 1 사이클 동안에, 상기 선택된 워드 라인 (또는, 페이지)에 연결된 530개의 메모리 셀들 중 상기 256개의 짝수번 비트 라인들 (BL2), (BL4), …, (BL512)와 상기 9개의 짝수번 패리티 비트 라인들 (PBL2), (PBL4), …, (PBL18)에 연결된 메모리 셀들에 각각 저장된 데이터 비트들 및 체크 비트들은 대응하는 감지 증폭기들에 의해서 감지되고 래치된다.
상기 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top) 각각에는, 대응하는 열 패스 게이트 회로 (160_bottom)/(160_top) 및 열 디코더 회로 (180_bottom)/(180_top)가 제공된다. 상기 열 패스 게이트 회로들 (160_bottom) 및 (160_top)에는, 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)이 각각 연결된다. 도 4에 도시된 바와 같이, 하나의 입출력 회로 (220)에는, 대응하는 열 패스 게이트 회로들 (160_bottom) 및 (160_top)에 각각 연결되는 2개의 에러 정정 회로들 (200_bottom) 및 (200_top)이 공통으로 연결된다. 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 연결된 상기 열 패스 게이트 회로들 (160_bottom) 및 (160_top)은 상기 제 1 사이클 동안에 대응하는 감지 증폭 회로들의 감지 증폭기들에 각각 래치된 홀수번 및 짝수번 데이터 비트들 및 체크 비트들을 순차적으로 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)으로 전달한다.
예를 들면, 하나의 홀수번 비트 라인 (예를 들면, BL1)과 하나의 짝수번 비트 라인 (예를 들면, BL2)에 관련된 데이터 비트들은 대응하는 열 패스 게이트 회로들 (160_bottom) 및 (160_top)을 통해서 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)에 동시에 전달된다. 그 다음에, 그렇게 전달된 256개의 데이터 비트들 및 9개의 체크 비트들을 받아들인 에러 정정 회로들 (200_bottom) 및 (200_top) 각각은 제 1 사이클 동안에 대응하는 256개의 데이터 비트들에 대한 1비트 에러 위치를 각각 검출한다. 계속해서, 상기 각 에러 정정 회로들 (200_bottom) 및 (200_top)은 제 2 사이클 동안에 대응하는 감지 증폭기들에 각각 래치된 256개의 데이터 비트들을 순차적으로 그리고 번갈아 받아들이고 상기 검출된 에러 위치에 대한 정보를 이용하여 대응하는 데이터 비트들의 1비트 에러를 각각 정정한다. 즉, 한 페이지에서 2-비트 에러가 정정될 수 있다. 예를 들면, 제 1 감지 증폭 회로 (140_bottom)에 래치된 256개의 홀수번 데이터 비트들과 상기 제 2 감지 증폭 회로 (140_top)에 래치된 256개의 짝수번 데이터 비트들은 대응하는 열 패스 게이트 회로들 (160_bottom) 및 (160_top)을 통해서 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)으로 번갈아 그리고 순차적으로 전달된다. 즉 상기 홀수번 및 짝수번 데이터 비트들을 출력하기 위해서 512번의 클럭 사이클들이 제 2 사이클 동안에 사용된다.
도 4에서, 상기 입출력 메모리 블록 (IOMB1)에 대응하는 입출력 회로 (220)에 연결된 2개의 에러 정정 회로들 (200_bottom) 및 (200_top)은 기입 동작 동안에 체크 비트 발생기로서 기능 한다. 예를 들면, 기입될 512개의 데이터 비트들 중 홀수번 데이터 비트들은 대응하는 에러 정정 회로 (200_bottom)를 통해서 대응하는 제 1 감지 증폭 회로 (140_bottom)에 순차적으로 래치된다. 이에 관련된 동작은 이후 상세히 설명된다. 상기 홀수번 데이터 비트들이 모두 래치된 후, 상기 에러 정정 회로 (140_bottom)에서 생성되는 9개의 체크 비트들이 대응하는 제 1 감지 증폭 회로 (140_bottom)에 래치된다. 짝수번 데이터 비트들에 대한 체크 비트 발생 및 래치 동작 역시 홀수번 데이터 비트들의 그것과 동일하게 수행된다. 이후, 상기 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 래치된 한 페이지의 데이터 비트들 및 체크 비트들에 대한 기입 동작이 이 분야에 잘 알려진 기입 방법에 따라 수행된다.
이러한 데이터 전달 스킴 하에서, 512개의 데이터 비트들 및 18개의 체크 비트들 즉, ECC 워드는 단지 265번의 클럭 사이클들 내에 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)으로 순차적으로 전달된다. 본 발명에 따른 제 1 사이클 시간은 종래 기술의 그것에 비해서 대략 절반이다. 그리고, 각 에러 정정 회로 (200_bottom) 및 (200_top)에서는, 대응하는 홀수번 및 짝수번 데이터 비트들 중의 1비트 에러가 각각 검출되고 정정됨으로써, 530-비트(512개의 데이터 비트들 및 18개의 체크 비트들)의 한 페이지 내에서 적어도 2-비트 에러가 정정될 수 있다. 만약 각 입출력 블록에 제공되는 비트 라인들을 4개의 그룹으로 분리하여 각 그룹에 대응하는 4개의 에러 정정 회로들이 앞서 언급된 스킴에 따라 하나의 입출력 회로에 대응하도록 구현되면, 한 페이지 당 4-비트 에러가 정정될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 5를 참조하면, 하나의 입출력 회로에 대응하는 2개의 에러 정정 회로들의 블록도가 도시되어 있다. 도시의 편의를 위해서, 하나의 입출력 회로 (220)에 연결된 2개의 에러 정정 회로들 (200_bottom) 및 (200_top)에 각각 대응하는 도 4의 제 1 및 제 2 열 패스 게이트 회로들 (160_bottom) 및 (160_top)은 스위치 소자들 (161_1), (161_2), (162_1), 그리고 (162_2)로 각각 도시되어 있다. 여기서, 기호들 (_1) 및 (_2)은 제 1 사이클과 제 2 사이클을 각각 나타낸다. 상기 각 스위치 소자 (161_1), (161_2), (162_1), 그리고 (162_2)는 대응하는 신호들 (CTNB_1_i) (i=1-265), (CTNB_2_j) (j=1-256), (CTNT_1_i), 그리고 (CTNT_2_j)에 따라 스위칭된다. 여기서, 기호들 (B) 및 (T)은 메모리 셀 어레이 (100)의 하부 및 상부를 각각 나타낸다. 상기 신호들에 대한 파형도가 도 6에 도시되어 있다. 상기 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top) 각각은 신드롬 발생기 (syndrome generator) (201), 에러 검출기 (error detector) (202), 그리고 에러 정정기 (error corrector) (203)로 구성된다.
하나의 입출력 회로 (220)에 대응하는 2개의 에러 정정 회로들 (200_bottom) 및 (200_top)에 대한 에러 정정 동작이 이하 설명된다.
독출 동작의 제 1 사이클 동안에, 도 4의 하나의 워드 라인 (또는 페이지)이 선택되고 상기 선택된 워드 라인에 연결된 메모리 셀들에 각각 저장된 530-비트들 (512개의 데이터 비트들 및 18개의 체크 비트들) 중 256개의 홀수번 데이터 비트들 및 9개의 체크 비트들이 대응하는 제 1 감지 증폭 회로 (140_bottom)에 의해서 감지되고 래치된다. 그리고, 상기 선택된 페이지의 나머지 데이터 비트들 및 체크 비트들은 제 2 감지 증폭 회로 (140_top)에 의해서 감지되고 래치된다. 그 다음에, 도 6에 도시된 바와 같이, 신호들 (CTNB_1_i) 및 (CTNT_1_i)이 동시에 그리고 순차적으로 토글되며, 그 결과 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 래치된 256개의 데이터 비트들 및 9개의 체크 비트들은 대응하는 스위치 소자들 (161_1) 및 (162_1)을 통해서 대응하는 신드롬 발생기들 (201)로 순차적으로 전달된다. 여기서, 상기 스위치 소자들 (161_2) 및 (162_2)은 제 1 사이클 동안에 스위치-오프 상태로 유지된다. 예를 들면, 상기 신호들 (CTNB_1_1) 및 (CTNT_1_1)이 동시에 로우 레벨에서 하이 레벨로 천이되면, 제 1 및 제 2 비트 라인들 (BL1) 및 (BL2)에 각각 대응하는 데이터 비트들이 대응하는 스위치 소자들 (161_1) 및 (162_1)을 통해서 대응하는 신드롬 발생기들 (201)로 전달된다. 나머지 홀수번 및 짝수번 비트 라인들 및 패리티 비트 라인들에 대응하는 홀수번 및 짝수번 데이터 비트들과 홀수번 및 짝수번 체크 비트들 역시 앞서 언급된 방법으로 대응하는 신드롬 발생기들 (201)로 순차적으로 그리고 동시에 전달된다. 상기 신드롬 발생기들 (201)은 대응하는 256개의 데이터 비트들 및 9개의 체크 비트들을 받아들이고 9개의 신드롬 비트들을 생성한다. 여기서, 각 신드롬 발생기 (201)에서 생성된 신드롬 비트들은 256개의 홀수번 및 짝수번 데이터 비트들에 대한 각 에러 위치를 나타내는 어드레스 정보로서 사용된다. 각 신드롬 발생기 (201)에서 생성된 신드롬 비트들은 대응하는 에러 검출기들 (202)에 의해서 코딩된다. 이러한 일련의 동작을 통해서, 한 페이지 당 2개의 에러 위치들이 검출될 수 있다. 또한, 에러를 검출하기 위한 제 1 사이클 시간은 265개의 클럭 사이클들에 대응하며, 결과적으로 본 발명에 따른 에러 정정 스킴을 이용한 플래시 메모리 장치의 동작 속도는 종래 기술에 따른 에러 정정 스킴을 이용한 그것보다 빠르다.
계속해서, 제 2 사이클 동안에는, 각 신드롬 발생기 (201)에서 생성된 상기 신드롬 비트들을 이용하여 데이터 비트들의 에러가 정정되고 상기 정정된 데이터 비트들이 대응하는 입출력 회로 (220)를 통해서 외부로 출력된다. 이때, 스위치 소자들 (161_1) 및 (162_1)은 제 2 사이클 동안에 스위치-오프 상태로 유지된다. 구체적으로 설명하면, 먼저 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 래치된 256개의 데이터 비트들은 도 6에 도시된 바와 같이 토글되는 신호들 (CTNB_2_i) 및 (CTNT_2_i)에 의해서 각각 제어되는 스위치 소자들 (161_2) 및 (162_2)을 통해서 대응하는 에러 정정기들 (203)로 번갈아 그리고 순차적으로 전달된다. 예를 들면, 신호 (CTNB_2_1)가 로우 레벨에서 하이 레벨로 천이될 때, 제 1 감지 증폭 회로 (140_bottom)에 래치된 홀수번 데이터 비트들 중 제 1 비트 라인 (BL1)에 관련된 홀수번 데이터 비트가 대응하는 에러 정정기 (203)로 전달된다. 이와 동시에, 에러 검출기 (202)는 대응하는 신드롬 발생기 (201)에서 생성된, 상기 홀수번 데이터 비트에 대응하는, 9개의 신드롬 비트들을 코딩하여 에러 유무를 표시한다. 그 결과, 상기 에러 정정기 (203)는 대응하는 에러 검출기 (202)로부터 출력되는 에러 유무의 표시 즉, 상기 에러 검출기 (202)의 출력 레벨 (하이 레벨 또는 로우 레벨)에 따라 상기 홀수번 데이터 비트를 정정한 후 또는 그대로 대응하는 입출력 회로 (220)로 출력한다. 예를 들면, 상기 에러 검출기 (202)의 출력이 로우 레벨일 때, 데이터 비트는 에러 정정기 (203)를 통해서 그대로 대응하는 입출력 회로로 전달된다. 이와 반대로, 상기 에러 검출기 (202)의 출력이 하이 레벨일 때, 상기 데이터 비트는 에러 정정기 (203)에서 정정된 후 입출력 회로 (220)로 전달된다. 상기 제 2 비트 라인 (BL2)에 대응하는 데이터 비트 역시 제 1 비트 라인 (BL1)에 대응하는 그것과 동일한 방법으로 전달된다. 마찬가지로, 나머지 비트 라인들 (BL3)-(BL512)에 대응하는 데이터 비트들 역시 상기 제 1 및 제 2 비트 라인들 (BL1) 및 (BL2)에 대응하는 데이터 비트들과 동일한 방법으로 대응하는 입출력 회로 (220)로 순차적으로 전달된다.
도 7은 감지 증폭 회로 (140), 열 패스 게이트 회로 (160), 그리고 입출력 회로 (220)와 에러 정정 회로 (200)의 연결 관계를 보여주는 블록도이다. 도 7의 블록도는 앞서 언급된 레퍼런스에 게재된 것이다. 도 8은 본 발명의 바람직한 제 1 실시예에 따른 도 6 및 도 7에서 사용된 에러 정정 회로 (200)의 구체적인 회로도이다. 그리고, 도 9는 도 7의 에러 정정 회로에서 사용되는 신호들 (CTL1), (CTL2), 그리고 (CTL3)의 타이밍을 보여주는 도면이다.
도 8을 참조하면, 본 발명의 바람직한 제 1 실시예에 따른 에러 정정 회로 (200)는 해밍 코드 이론 (2r≥m+r+1)에 따라 g(x)=x9+x+1의 다항식을 기본으로 하여 구현된 9개의 신드롬 비트들을 생성하기 위한 9개의 쉬프트 레지스터들 및 2개의 배타적-오어 게이트들 (exclusive-or gates)로 구성된 신드롬 발생기 (201), 9-입력 로직 회로 (202) (도 6에서 에러 검출기로서 사용됨), 배타적-오어 게이트로 구성된 에러 정정기 (203), 3개의 2-입력 NAND 게이트들 (204), (205), 그리고 (206), 그리고 PMOS 및 NMOS 트랜지스터들 (207) 및 (208)으로 구성된다. 도 8의 에러 정정 회로 (200_bottom)는 제 1 감지 증폭 회로 (140_bottom)에 대응하며, 제 2 감지 증폭 회로 (140_top)에 대응하는 그것 역시 동일하게 구성됨은 자명하다.
이하 도 8의 에러 정정 회로에 대한 동작이 설명된다. 독출 동작의 제 1 사이클 동안에, 신호들 (CTL1), (CTL2), 그리고 (CTL3)는 로우 레벨로 유지되고, 상기 제 1 감지 증폭기 (140_bottom)에 래치된 홀수번 데이터 비트들 및 체크 비트들이 PMOS 트랜지스터 (207)를 통해서 신드롬 발생기 (201)로 순차적으로 입력된다. 이때, 제 2 감지 증폭기 (140_top)에 래치된 짝수번 데이터 비트들 및 체크 비트들 역시 대응하는 에러 정정 회로 (200_top)의 PMOS 트랜지스터 (207)를 통해서 신드롬 발생기 (201)로 순차적으로 입력된다. 여기서, 순차적으로 입력된 데이터 비트들 및 체크 비트들은 쉬프트 레지스터들을 통해서 순환된다. 이러한 일련의 순환 동작 결과로서, 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top) 내의 신드롬 발생기들 (201)로부터 각각 생성된 9개의 신드롬 비트들이 대응하는 에러 검출기들 (202)에 입력된다.
그 다음에, 상기 독출 동작의 제 2 사이클 동안에, 상기 신호들 (CTL1) 및 (CTL2)은 로우 레벨에서 하이 레벨로 천이되고 상기 신호 (CTL3)는 계속해서 로우 레벨로 유지된다. 이러한 조건하에서, 제 1 및 제 2 감지 증폭 회로들 (140_bottom) 및 (140_top)에 각각 래치된 홀수번 및 짝수번 데이터 비트들 및 체크 비트들은 대응하는 열 패스 게이트 회로들 (160_bottom) 및 (160_top)을 통해서 대응하는 에러 정정 회로들 (200_bottom) 및 (200_top)내의 NAND 게이트들 (204) 및 (205)에 의해서 각 에러 정정기 (203)에 순차적으로 그리고 번갈아 입력된다. 이때, 상기 제 1 사이클 동안에 생성된 신드롬 비트들은 신드롬 발생기 (201) 내의 쉬프트 레지스터들을 통해서 순환 즉, 쉬프트된다. 쉬프트될 때마다 출력되는 신드롬 비트들은 대응하는 에러 검출기 (202)에 의해서 코딩된다. 상기 코딩된 결과 (에러 검출기의 출력) 역시 대응한 에러 정정기 (203)에 순차적으로 입력된다. 앞서 설명된 바와 같이, 상기 에러 검출기에 의해서 코딩된 결과 즉, 출력은 현재 에러 정정기 (203)에 입력된 데이터 비트의 에러 유무를 나타낸다. 앞서 언급된 일련의 동작이 수행될 때, 만약 에러 검출기 (202)의 출력이 하이 레벨이면, 에러 정정기 (203)에 입력된 데이터 비트는 정정된 후 대응하는 입출력 회로 (220)로 전달된다. 이와 반대로, 에러 검출기 (202)의 출력이 로우 레벨이면, 에러 정정기 (203)에 입력된 데이터 비트는 그대로 대응하는 입출력 회로 (220)로 전달된다.
(제 2 실시예)
도 10은 본 발명의 바람직한 제 2 실시예에 따른 에러 정정 회로를 구비한 반도체 메모리 장치의 블록도이다. 도 10에 있어서, 도 4 및 도 5의 구성 요소들과 동일한 구성 요소들은 동일한 참조 번호들로 표기되며, 그것에 대한 설명은 생략된다. 도 10을 참조하면, 입출력 회로들 (220)에 각각 대응하는 에러 정정 회로들 (200')은 제 1 및 제 2 열 패스 게이트 회로들 (160_bottom) 및 (160_top) 사이에 각각 연결된다. 상기 에러 정정 회들 (200') 중 하나의 입출력 회로 (220)에 대응하는 하나의 에러 정정 회로에 관련된 블록도가 도 11에 상세히 도시되어 있다.
제 1 실시예의 반도체 메모리 장치에는, 하나의 입출력 회로에 각각 대응하고, 2 개의 신드롬 발생기들 (201), 2 개의 에러 검출기들 (202), 그리고 2 개의 에러 정정기들 (203)로 구성되는, 두 개의 에러 정정 회로들 (200)이 제공되는 반면에, 제 2 실시예의 반도체 메모리 장치에는, 하나의 입출력 회로에 대응하고, 2 개의 신드롬 발생기들 (201'), 하나의 에러 검출기 (202'), 그리고 하나의 에러 정정기 (203')로 구성되는, 에러 정정 회로 (200')이 제공된다는 점에서 본 발명의 제 2 실시예에 따른 반도체 메모리 장치는 제 1 실시예에 따른 그것과 다르다. 상기 제 2 실시예에 제공되는 구성 요소들 (201'), (202'), 그리고 (203')은 도 5 및 도 8의 그것들과 동일하게 또는 유사하게 구성되고 동일한 수행하기 때문에, 그것들에 대한 설명은 여기서 생략된다.
제 1 실시예에서 언급된 바와 같이, 제 2 사이클 동안에 홀수번 데이터 비트들과 짝수번 데이터 비트들이 대응하는 열 패스 게이트 회로들 (160_bottom) 및 (160_top)으로부터 번갈아 그리고 순차적으로 출력되기 때문에, 제 1 및 제 2 열 패스 게이트 회로들 (160_bottom) 및 (160_top) (도 6의 타이밍도에 따라 제어되는 스위칭 소자들로 표시됨)에 공통으로 연결된 에러 정정 회로 (200')에 제공되는, 도 11과 같이 연결된, 하나의 에러 검출기 (202') 및 하나의 에러 정정기 (203')만을 사용하여 제 1 실시예에 따른 에러 정정 회로들 (200_bottom) 및 (200_top)과 동일한 기능이 수행될 수 있음은 자명하다. 따라서, 설명의 중복을 피하기 위해서, 본 발명의 제 2 실시예에 따른 구성 및 그것의 동작에 대한 설명은 여기서 생략된다.
(제 3 실시예)
도 12는 본 발명의 바람직한 제 3 실시예에 따른 에러 정정 회로를 구비한 반도체 메모리 장치의 블록도이다.
도 12를 참조하면, 본 발명의 제 3 실시예에 따른 반도체 메모리 장치는 메모리 셀 어레이 (300)를 포함하며, 상기 어레이 (300)는 입출력 데이터 폭 (본 발명의 경우, X8)에 따라 8개의 입출력 메모리 블록들 (IOMB1)-(IOMB8)로 분리되어 있다. 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에는, 512개의 비트 라인들 (BL1)-(BL512)과 18개의 패리티 비트 라인들 (PBL1)-(PBL18)이 제공된다. 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8)에는, 도 12에 도시된 바와 같이, 복수 개의 워드 라인들 (WLm) (m=1, 2, 3, , i)이 각 입출력 메모리 블록의 비트 라인들과 교차하도록 배열되고 행 디코더 회로 (320)에 연결된다. 여기서, 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에 제공되는 상기 비트 라인들 (BL1)-(BL512)에 관련된 메모리 셀들에는, 데이터 비트들이 각각 저장된다. 그리고, 상기 입출력 메모리 블록들 (IOMB1)-(IOMB8) 각각에 제공되는 상기 패리티 비트 라인들 (PBL1)-(PBL18)에 관련된 메모리 셀들에는, 상기 데이터 비트들에 관련된 에러 정정을 위한 체크 비트들이 각각 저장된다.
이하, 설명의 편의상, 도 12의 구성 요소들은 하나의 입출력 메모리 블록 (예를 들면, IOMB1)에 관련하여 설명된다. 다른 입출력 메모리 블록들 (IOMB2)-(IOMB8)에 관련된 구성 요소들 역시 그것과 동일함은 자명하다.
상기 메모리 셀 어레이 (300)의 하측에는, 감지 증폭 회로 (340)가 배열된다. 상기 감지 증폭 회로 (340)에는, 상기 입출력 메모리 블록 (IOMB1)의 512개의 비트 라인들 (BL1)-(BL512)과 18개의 패리티 비트 라인들 (PBL1)-(PBL18)이 각각 연결된다. 상기 감지 증폭 회로 (340)에는, 비록 도면에는 도시되지 않았지만, 앞서 언급된 USP. No. 5,696,717에 게재된 바와 같은 래치 형태의 감지 증폭기들이 상기 512개의 비트 라인들과 상기 18개의 패리티 비트 라인들에 각각 대응하도록 제공될 것이다. 앞서 언급된 독출 동작의 제 1 사이클 동안에, 상기 행 디코더 회로 (320)에 의해서 선택되는 하나의 워드 라인 (또는, 페이지)에 연결된 530개의 메모리 셀들에 각각 저장된 데이터 비트들 및 체크 비트들은 대응하는 감지 증폭기들에 의해서 감지되고 래치된다.
상기 감지 증폭 회로 (340)에는, 열 디코더 회로 (180)에 의해서 제어되는 열 패스 게이트 회로 (360)가 연결된다. 도 12에 도시된 바와 같이, 하나의 입출력 회로 (420)에는, 상기 열 패스 게이트 회로 (360)에 연결되는 2개의 에러 정정 회로들 (400_odd) 및 (400_even)이 공통으로 연결된다. 상기 감지 증폭 회로 (340)에 연결된 상기 열 패스 게이트 회로 (360)는 상기 제 1 사이클 동안에 감지 증폭 회로들의 감지 증폭기들에 각각 래치된 홀수번 및 짝수번 데이터 비트들 및 체크 비트들을 순차적으로 대응하는 에러 정정 회로들 (400_odd) 및 (400_even)으로 전달한다.
예를 들면, 하나의 홀수번 비트 라인 (예를 들면, BL1)과 하나의 짝수번 비트 라인 (예를 들면, BL2)에 관련된 데이터 비트들은 열 패스 게이트 회로 (360)를 통해서 대응하는 에러 정정 회로들 (400_odd) 및 (400_even)에 동시에 전달된다. 그 다음에, 그렇게 전달된 256개의 데이터 비트들 및 9개의 체크 비트들을 받아들인 에러 정정 회로들 (400_odd) 및 (400_even) 각각은 상기 256개의 데이터 비트들에 대한 1비트 에러 위치를 각각 검출한다. 계속해서, 상기 각 에러 정정 회로들 (400_odd) 및 (400_even)은 제 2 사이클 동안에 대응하는 감지 증폭기들에 각각 래치된 256개의 데이터 비트들을 순차적으로 그리고 번갈아 받아들이고 상기 검출된 에러 위치에 대한 정보를 이용하여 대응하는 256개의 데이터 비트들 중 1비트 에러를 정정한다. 즉, 한 페이지에서 2-비트 에러가 정정될 수 있다. 도 12에서, 하나의 입출력 회로 (420)에 공통으로 연결된 2 개의 에러 정정 회로들 (400_odd) 및 (400_even)이 도 5에 도시된 그것들 (200_bottom) 및 (200_top)과 동일하게 구성될 수 있고 도 8에 도시된 상세 회로로 설계될 수 있음은 자명하다. 따라서, 그것에 대한 설명은 여기서 생략된다. 만약 각 입출력 블록에 제공되는 비트 라인들을 4개 또는 그 보다 많은 그룹들로 분리하여 각 그룹에 대응하는 4개 또는 그 보다 많은 에러 정정 회로들이 하나의 입출력 회로에 대응하도록 구현되면, 한 페이지 당 4-비트 또는 그보다 많은 에러가 정정될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
(제 4 실시예)
도 13은 본 발명의 바람직한 제 4 실시예에 따른 에러 정정 회로를 구비한 반도체 메모리 장치의 블록도이다. 도 13에 있어서, 도 11의 구성 요소들과 동일한 기능을 수행하는 구성 요소들은 동일한 참조 번호들로 표기되며, 그것에 설명은 여기서 생략된다. 도 13을 참조하면, 입출력 회로들 (420)에 각각 대응하는 에러 정정 회로들 (400')은 열 패스 게이트 회로 (360)에 각각 연결된다. 상기 에러 정정 회로들 (400') 중 하나의 입출력 회로 (220)에 대응하는 하나의 에러 정정 회로에 관련된 블록도가 도 14에 상세히 도시되어 있다.
제 3 실시예의 반도체 메모리 장치에는, 하나의 입출력 회로 (420)에 각각 대응하는 두 개의 에러 정정 회로들 (400) (도면에는 도시되지 않았지만, 제 1 실시예의 그것과 동일한 구성 요소들 즉, 2 개의 신드롬 발생기들 (201), 2 개의 에러 검출기들 (202), 그리고 2 개의 에러 정정기들 (203)로 구성됨)이 제공되는 반면에, 제 4 실시예의 반도체 메모리 장치에는, 하나의 입출력 회로 (420)에 대응하고, 2 개의 신드롬 발생기들 (401), 하나의 에러 검출기 (402), 그리고 하나의 에러 정정기 (403)로 구성되는, 에러 정정 회로 (400')가 제공된다는 점에서 본 발명의 제 4 실시예에 따른 반도체 메모리 장치는 제 3 실시예에 따른 그것과 다르다. 상기 제 4 실시예에 제공되는 에러 정정 회로 (400')의 구성 요소들 (401), (402), 그리고 (403)는 도 5 및 도 8의 그것들과 동일하게 또는 유사하게 구성되고 동일한 수행하기 때문에, 그것들에 대한 설명은 여기서 생략된다.
제 1 실시예에서 언급된 바와 같이, 제 2 사이클 동안에 홀수번 데이터 비트들과 짝수번 데이터 비트들이 열 패스 게이트 회로 (360)로부터 번갈아 그리고 순차적으로 출력되기 때문에, 도 14와 같이 연결된, 하나의 에러 검출기 (402) 및 하나의 에러 정정기 (403)만을 사용하여 제 3 실시예에 따른 에러 정정 회로들 (400_odd) 및 (400_even)과 동일한 기능이 수행될 수 있음은 자명하다. 따라서, 설명의 중복을 피하기 위해서, 본 발명의 제 4 실시예에 따른 구성 및 그것의 동작에 대한 설명은 여기서 생략된다.
상기한 바와 같이, 512개의 데이터 비트들 및 18개의 체크 비트들 즉, ECC 워드는 단지 265번의 클럭 사이클들 내에 대응하는 적어도 2개의 에러 정정 회로들로 순차적으로 전달된다. 그 결과, 본 발명에 따른 플래시 메모리 장치의 동작 속도가 종래 기술의 그것에 비해서 개선된다. 그리고, 2개의 에러 정정 회로들에서는, 대응하는 홀수번 및 짝수번 데이터 비트들 중의 1비트 에러가 각각 검출되고 정정됨으로써, 한 페이지 내에서 적어도 2-비트 에러가 정정될 수 있다.

Claims (10)

  1. 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출 하는 수단과;
    상기 독출된 체크 비트들과 데이터 비트들 중 홀수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 정정하는 제 1 에러 정정 수단과;
    상기 독출된 체크 비트들과 데이터 비트들 중 짝수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 정정하는 제 2 에러 정정 수단 및;
    상기 제 1 에러 정정 수단과 상기 제 2 에러 정정 수단에 공통으로 연결되고, 상기 에러 정정된 홀수번 데이터 비트들과 상기 에러 정정된 짝수번 데이터 비트들을 번갈아 그리고 순차적으로 외부로 출력하는 수단을 포함하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제 1 에러 정정 수단은,
    상기 홀수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와;
    상기 제 1 신드롬 발생기로부터의 상기 일련의 제 1 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 1 신드롬 비트들을 디코딩하여 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 검출하고, 그리고 상기 제 1 에러 비트의 존재 표시를 출력하는 제 1 에러 검출기 및;
    상기 홀수번 데이터 비트들과 상기 제 1 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 정정하는 제 1 에러 정정기를 포함하는 반도체 메모리 장치.
  3. 제 2 항에 있어서,
    상기 제 1 신드롬 발생기는 상기 데이터 비트들의 기입 동작 모드 동안에 상기 홀수번 체크 비트들을 발생하는 수단으로서 사용되는 반도체 메모리 장치.
  4. 제 2 항에 있어서,
    상기 제 2 에러 정정 수단은,
    상기 짝수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와;
    상기 제 2 신드롬 발생기로부터의 상기 일련의 제 2 신드롬 비트들을 입력들로서 받아들이고, 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 검출하기 위한 상기 일련의 제 2 신드롬 비트들을 디코딩하고, 그리고 상기 제 2 에러 비트의 존재 표시를 출력하는 제 2 에러 검출기 및;
    상기 짝수번 데이터 비트들과 상기 제 2 에러 비트의 존재 표시를 받아들여서 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 정정하는 제 2 에러 정정기를 포함하는 반도체 메모리 장치.
  5. 제 4 항에 있어서,
    상기 제 2 신드롬 발생기는 상기 데이터 비트들을 위한 기입 동작 모드 동안에 상기 짝수번 체크 비트들을 발생하는 수단으로서 사용되는 반도체 메모리 장치.
  6. 복수 개의 데이터 비트들과 복수개의 체크 비트들을 저장하는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출하는 수단과;
    상기 데이터 비트들을 외부로부터/로 순차적으로 입력받는/출력하는 입력/출력 수단 및;
    상기 입력/출력 수단에 대응하는 적어도 2개의 에러 정정 수단을 포함하고,
    상기 적어도 2개의 에러 정정 수단 중 하나는 a) 상기 독출된 데이터 비트들 중 홀수번 데이터 비트들과 상기 독출된 체크 비트들 중 홀수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와; b) 상기 제 1 신드롬 발생기로부터의 상기 일련의 제 1 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 1 신드롬 비트들을 디코딩하여 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 검출하고, 그리고 상기 제 1 에러 비트의 존재 표시를 출력하는 제 1 에러 검출기 및; c) 상기 홀수번 데이터 비트들과 상기 제 1 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 정정하는 제 1 에러 정정기로 구성되고;
    상기 적어도 2개의 에러 정정 수단 중 다른 하나는 a) 상기 독출된 데이터 비트들 중 짝수번 데이터 비트들과 상기 독출된 체크 비트들 중 짝수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와; b) 상기 제 2 신드롬 발생기로부터의 상기 일련의 제 2 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 2 신드롬 비트들을 디코딩하여 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 검출하고, 그리고 상기 제 2 에러 비트의 존재 표시를 출력하는 제 2 에러 검출기 및; c) 상기 짝수번 데이터 비트들과 상기 제 2 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 정정하는 제 2 에러 정정기로 구성되고; 그리고
    상기 대응하는 에러 정정 수단에 의해서 에러 정정된 상기 홀수번 및 짝수번 데이터 비트들은 상기 적어도 하나의 입력/출력 수단을 통해서 순차적으로 그리고 번갈아 출력되는 반도체 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제 1 및 제 2 신드롬 발생기들은 상기 데이터 비트들의 기입 동작 모드 동안에 상기 홀수번 및 짝수번 체크 비트들을 각각 발생하는 수단으로서 각각 사용되는 반도체 메모리 장치.
  8. 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 홀수번 데이터 비트들 및 상기 체크 비트들 중 홀수번 체크 비트들을 독출 하는 제 1 독출 수단과;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 짝수번 데이터 비트들 및 상기 체크 비트들 중 짝수번 체크 비트들을 독출 하는 제 2 독출 수단과;
    상기 독출된 체크 비트들과 데이터 비트들 중 홀수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 홀수번 데이터 비트들 내의 제 1 에러 비트를 정정하는 제 1 에러 정정 수단과;
    상기 독출된 체크 비트들과 데이터 비트들 중 짝수번 데이터 비트들 및 체크 비트들을 받아들여서 상기 짝수번 데이터 비트들 내의 제 2 에러 비트를 정정하는 제 2 에러 정정 수단 및;
    상기 제 1 에러 정정 수단과 상기 제 2 에러 정정 수단에 공통으로 연결되고, 상기 에러 정정된 홀수번 데이터 비트들과 상기 에러 정정된 짝수번 데이터 비트들을 번갈아 그리고 순차적으로 출력하는 출력 수단을 포함하고;
    상기 제 1 에러 정정 수단은 a) 상기 홀수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와; b) 상기 제 1 신드롬 발생기로부터의 상기 일련의 제 1 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 1 신드롬 비트들을 디코딩하여 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 검출하고, 그리고 상기 제 1 에러 비트의 존재 표시를 출력하는 제 1 에러 검출기 및; c) 상기 홀수번 데이터 비트들과 상기 제 1 에러 비트의 존재 표시를 입력들로서 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트를 정정하는 제 1 에러 정정기로 구성되고; 그리고
    상기 제 2 에러 정정 수단은 a) 상기 짝수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와; b) 상기 제 2 신드롬 발생기로부터의 상기 일련의 제 2 신드롬 비트들을 입력들로서 받아들이고, 상기 일련의 제 2 신드롬 비트들을 디코딩하여 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 검출하고, 그리고 상기 제 2 에러 비트의 존재 표시를 출력하는 제 2 에러 검출기 및; 상기 짝수번 데이터 비트들과 상기 제 2 에러 비트의 존재 표시를 받아들여서 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 정정하는 제 2 에러 정정기를 포함하는 반도체 메모리 장치.
  9. 복수 개의 데이터 비트들과 복수개의 체크 비트들을 저장하는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 및 상기 체크 비트들을 독출 하는 수단과;
    상기 데이터 비트들을 외부로부터/로 순차적으로 입력받는/출력하는 입력/출력 수단 및;
    상기 독출된 데이터 비트들 중 홀수번 데이터 비트들과 상기 독출된 체크 비트들 중 홀수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와;
    상기 독출된 데이터 비트들 중 짝수번 데이터 비트들과 상기 독출된 체크 비트들 중 짝수번 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와;
    상기 제 1 및 제 2 신드롬 발생기들로부터의 상기 일련의 제 1 및 제 2 신드롬 비트들을 입력들로서 번갈아 그리고 순차적으로 받아들이고, 상기 일련의 제 1 및 제 2 신드롬 비트들을 각각 번갈아 디코딩하여 상기 홀수번 및 짝수번 데이터 비트들 내의 상기 제 1 및 제 2 에러 비트들을 각각 검출하고, 그리고 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 각각 번갈아 출력하는 에러 검출기 및;
    상기 홀수번 및 짝수번 데이터 비트들과 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 번갈아 그리고 순차적으로 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트 및 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 각각 정정하는 에러 정정기를 포함하고;
    상기 에러 정정 수단에 의해서 에러 정정된 상기 홀수번 및 짝수번 데이터 비트들은 상기 적어도 하나의 입력/출력 수단을 통해서 순차적으로 그리고 번갈아 출력되는 반도체 메모리 장치.
  10. 복수 개의 데이터 비트들 및 복수 개의 체크 비트들을 저장하는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 홀수번 데이터 비트들 및 상기 체크 비트들 중 홀수번 체크 비트들을 독출 하는 제 1 독출 수단과;
    상기 메모리 셀 어레이로부터 상기 데이터 비트들 중 짝수번 데이터 비트들 및 상기 체크 비트들 중 짝수번 체크 비트들을 독출 하는 제 2 독출 수단과;
    상기 홀수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 1 신드롬 비트들을 발생하는 제 1 신드롬 발생기와;
    상기 짝수번 데이터 및 체크 비트들을 입력들로서 순차적으로 받아들여서 일련의 제 2 신드롬 비트들을 발생하는 제 2 신드롬 발생기와;
    상기 제 1 및 제 2 신드롬 발생기들로부터의 상기 일련의 제 1 및 제 2 신드롬 비트들을 입력들로서 번갈아 그리고 순차적으로 받아들이고, 상기 일련의 제 1 및 제 2 신드롬 비트들을 각각 번갈아 디코딩하여 상기 홀수번 및 짝수번 데이터 비트들 내의 제 1 및 제 2 에러 비트들을 각각 검출하고, 그리고 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 각각 번갈아 출력하는 에러 검출기와;
    상기 홀수번 및 짝수번 데이터 비트들과 상기 제 1 및 제 2 에러 비트들의 존재 표시들을 번갈아 그리고 순차적으로 받아들여서 상기 홀수번 데이터 비트들 내의 상기 제 1 에러 비트 및 상기 짝수번 데이터 비트들 내의 상기 제 2 에러 비트를 각각 정정하는 에러 정정기 및;
    상기 에러 정정 수단에 의해서 에러 정정된 상기 홀수번 데이터 비트들 및 상기 짝수번 데이터 비트들을 순차적으로 그리고 번갈아 출력하는 출력 수단을 포함하는 반도체 메모리 장치.
KR1019980032236A 1998-08-07 1998-08-07 에러 정정 회로를 구비한 반도체 메모리 장치 KR100287018B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1019980032236A KR100287018B1 (ko) 1998-08-07 1998-08-07 에러 정정 회로를 구비한 반도체 메모리 장치
TW088106920A TW422976B (en) 1998-08-07 1999-04-29 A semiconductor memory device with on-chip error correction circuit and a method of correcting an error
GB9910278A GB2340629A (en) 1998-08-07 1999-05-04 Semiconductor memory device with an on-chip error correction circuit
JP22464499A JP4138169B2 (ja) 1998-08-07 1999-08-06 オンチップエラー訂正回路を備えた半導体メモリ装置及びエラー訂正方法
DE19937101A DE19937101A1 (de) 1998-08-07 1999-08-06 Halbleiterspeicherbauelement mit Chipinterner Fehlerkorrekturschaltung und ein Verfahren zum Korrigieren eines Datenfehlers darin
US09/370,938 US6510537B1 (en) 1998-08-07 1999-08-09 Semiconductor memory device with an on-chip error correction circuit and a method for correcting a data error therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980032236A KR100287018B1 (ko) 1998-08-07 1998-08-07 에러 정정 회로를 구비한 반도체 메모리 장치

Publications (2)

Publication Number Publication Date
KR20000013395A true KR20000013395A (ko) 2000-03-06
KR100287018B1 KR100287018B1 (ko) 2001-04-16

Family

ID=19546726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980032236A KR100287018B1 (ko) 1998-08-07 1998-08-07 에러 정정 회로를 구비한 반도체 메모리 장치

Country Status (6)

Country Link
US (1) US6510537B1 (ko)
JP (1) JP4138169B2 (ko)
KR (1) KR100287018B1 (ko)
DE (1) DE19937101A1 (ko)
GB (1) GB2340629A (ko)
TW (1) TW422976B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100635195B1 (ko) * 2000-12-29 2006-10-16 주식회사 하이닉스반도체 플래쉬 메모리 장치
KR20140074305A (ko) * 2011-08-26 2014-06-17 옥스퍼드 브룩스 유니버시티 디지털 에러보정
KR20170032144A (ko) * 2015-09-14 2017-03-22 삼성전자주식회사 메모리 장치의 에러 체크 및 정정(ecc) 제어 방법 및 이를 수행하는 메모리 장치
KR20200122448A (ko) * 2019-04-17 2020-10-28 윈본드 일렉트로닉스 코포레이션 에러 정정 회로를 가지는 메모리
US10846168B1 (en) 2019-05-23 2020-11-24 Winbond Electronics Corp. Memory with error correction circuit

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668341B1 (en) * 1999-11-13 2003-12-23 International Business Machines Corporation Storage cell with integrated soft error detection and correction
JP4378015B2 (ja) * 2000-02-28 2009-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリ・チップ
JP4323707B2 (ja) * 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
US6990623B2 (en) * 2001-05-16 2006-01-24 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US20020174397A1 (en) * 2001-05-16 2002-11-21 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
JP4112849B2 (ja) * 2001-11-21 2008-07-02 株式会社東芝 半導体記憶装置
KR100441608B1 (ko) 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
JP2004246754A (ja) * 2003-02-17 2004-09-02 Renesas Technology Corp 半導体記憶装置およびその制御装置
US7904786B2 (en) * 2003-03-06 2011-03-08 Hewlett-Packard Development Company, L.P. Assisted memory system
EP1538525A1 (en) * 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US20060010339A1 (en) * 2004-06-24 2006-01-12 Klein Dean A Memory system and method having selective ECC during low power refresh
US7340668B2 (en) 2004-06-25 2008-03-04 Micron Technology, Inc. Low power cost-effective ECC memory system and method
US7116602B2 (en) * 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
US6965537B1 (en) * 2004-08-31 2005-11-15 Micron Technology, Inc. Memory system and method using ECC to achieve low power refresh
US8245109B2 (en) * 2006-03-31 2012-08-14 Hewlett-Packard Development Company, L.P. Error checking and correction (ECC) system and method
US7506226B2 (en) * 2006-05-23 2009-03-17 Micron Technology, Inc. System and method for more efficiently using error correction codes to facilitate memory device testing
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US7894289B2 (en) * 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) * 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US8112699B2 (en) * 2008-02-14 2012-02-07 Atmel Rousset S.A.S. Error detecting/correcting scheme for memories
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
US20130007563A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co., Ltd. Semiconductor memory device having error correction function and memory system including the same
US8848465B2 (en) * 2011-07-06 2014-09-30 Samsung Electronics Co., Ltd. Memory devices including selective RWW and RMW decoding
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
TWI486961B (zh) * 2013-01-16 2015-06-01 Univ Nat Taiwan Science Tech 非揮發性記憶體的故障遮蔽方法
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction
US11150814B2 (en) * 2019-10-28 2021-10-19 International Business Machines Corporation Utilizing a link interface for performing partial write operations to memory
US11169876B2 (en) * 2019-12-31 2021-11-09 Micron Technology, Inc. Apparatuses, systems, and methods for error correction
EP4227944A4 (en) * 2020-09-18 2024-06-19 Changxin Memory Technologies, Inc. STORAGE
CN114203230B (zh) * 2020-09-18 2023-09-15 长鑫存储技术有限公司 一种列选择信号单元电路、位线感测电路及存储器
EP4231301A4 (en) 2020-09-18 2024-06-19 Changxin Memory Technologies, Inc. BITLINE SCANNING CIRCUIT AND MEMORY
JP7178465B1 (ja) * 2021-08-31 2022-11-25 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
CN117435386A (zh) * 2023-09-27 2024-01-23 杭州长川科技股份有限公司 异常数据定位方法、装置、芯片测试机及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3755779A (en) * 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4201337A (en) * 1978-09-01 1980-05-06 Ncr Corporation Data processing system having error detection and correction circuits
GB2048529A (en) * 1979-05-08 1980-12-10 Honeywell Inf Systems Error detection and correction system
US4736376A (en) * 1985-10-25 1988-04-05 Sequoia Systems, Inc. Self-checking error correcting encoder/decoder
JP2583547B2 (ja) * 1988-01-13 1997-02-19 株式会社日立製作所 半導体メモリ
US4958350A (en) * 1988-03-02 1990-09-18 Stardent Computer, Inc. Error detecting/correction code and apparatus
KR940004404B1 (ko) 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
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
JP3067866B2 (ja) * 1991-11-26 2000-07-24 沖電気工業株式会社 半導体記憶装置
US5491702A (en) * 1992-07-22 1996-02-13 Silicon Graphics, Inc. Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
KR0169412B1 (ko) 1995-10-16 1999-02-01 김광호 불휘발성 반도체 메모리 장치
US5920580A (en) * 1996-03-11 1999-07-06 Integrated Device Technology, Inc. Multiple error detection in error detection correction circuits

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100635195B1 (ko) * 2000-12-29 2006-10-16 주식회사 하이닉스반도체 플래쉬 메모리 장치
KR20140074305A (ko) * 2011-08-26 2014-06-17 옥스퍼드 브룩스 유니버시티 디지털 에러보정
KR20170032144A (ko) * 2015-09-14 2017-03-22 삼성전자주식회사 메모리 장치의 에러 체크 및 정정(ecc) 제어 방법 및 이를 수행하는 메모리 장치
KR20200122448A (ko) * 2019-04-17 2020-10-28 윈본드 일렉트로닉스 코포레이션 에러 정정 회로를 가지는 메모리
US10846168B1 (en) 2019-05-23 2020-11-24 Winbond Electronics Corp. Memory with error correction circuit

Also Published As

Publication number Publication date
JP4138169B2 (ja) 2008-08-20
GB9910278D0 (en) 1999-06-30
JP2000090691A (ja) 2000-03-31
TW422976B (en) 2001-02-21
DE19937101A1 (de) 2000-02-17
KR100287018B1 (ko) 2001-04-16
GB2340629A (en) 2000-02-23
US6510537B1 (en) 2003-01-21

Similar Documents

Publication Publication Date Title
KR100287018B1 (ko) 에러 정정 회로를 구비한 반도체 메모리 장치
KR100996770B1 (ko) 반도체 메모리 장치 및 그 제어 방법
US6233717B1 (en) Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein
KR101239690B1 (ko) 다중―레벨 플래시 메모리를 위한 체계적 에러 정정
US6359806B1 (en) Memory device
US4726021A (en) Semiconductor memory having error correcting means
US10120741B2 (en) Semiconductor memory device
JP2005346758A (ja) 半導体記憶装置および信号処理システム
KR20110053452A (ko) 메모리 디바이스 및 메모리 디바이스에 데이터를 저장하는 방법
US8347183B2 (en) Flash memory device using ECC algorithm and method of operating the same
US7656322B2 (en) Semiconductor memory device having error correction function
US11487614B2 (en) Semiconductor storing apparatus and readout method
JP2015082333A (ja) 半導体記憶装置
US8443258B2 (en) Memory device including memory controller
KR101326898B1 (ko) 메모리 디바이스, 집적 회로 및 메모리 디바이스에서 사용하기 위한 방법
KR100377490B1 (ko) 비휘발성 반도체 기억 장치
US7085169B2 (en) Flash memory device capable of reducing read time
KR19980087184A (ko) 비휘발성 반도체 메모리 장치
KR100634432B1 (ko) 카피백 프로그램 동작 중에 에러를 검출하는 낸드 플래시메모리 장치 및 에러 검출 방법
US8537586B2 (en) Memory array and storage method
KR100648271B1 (ko) 출력 데이터의 왜곡을 방지하는 플래시 메모리 장치
KR100632949B1 (ko) 낸드 플래시 메모리 장치 및 그것의 카피백 프로그램 방법
KR20040073170A (ko) 에러 정정을 위한 데이터 기입 방법
JP4833073B2 (ja) 半導体装置及びデータ読み出し方法
KR950000426B1 (ko) 복수 바이트 단위의 틀림 정정회로를 내장한 불휘발성 메모리장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100114

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee