KR100681429B1 - 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 - Google Patents

반도체 메모리 장치 및 그것의 비트 에러 검출 방법 Download PDF

Info

Publication number
KR100681429B1
KR100681429B1 KR1020050100406A KR20050100406A KR100681429B1 KR 100681429 B1 KR100681429 B1 KR 100681429B1 KR 1020050100406 A KR1020050100406 A KR 1020050100406A KR 20050100406 A KR20050100406 A KR 20050100406A KR 100681429 B1 KR100681429 B1 KR 100681429B1
Authority
KR
South Korea
Prior art keywords
ecc
data
crc
bit error
code
Prior art date
Application number
KR1020050100406A
Other languages
English (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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050100406A priority Critical patent/KR100681429B1/ko
Priority to US11/582,106 priority patent/US20080016428A1/en
Application granted granted Critical
Publication of KR100681429B1 publication Critical patent/KR100681429B1/ko
Priority to US11/748,933 priority patent/US8479077B2/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
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Abstract

본 발명은 반도체 메모리 장치 및 그것의 비트 에러 검출 방법에 관한 것이다. 본 발명에 따른 반도체 메모리 장치는 일정 수의 비트 에러를 정정하고, 다수의 비트 에러를 검출할 수 있다. 이를 위해 본 발명에 따른 반도체 메모리 장치는 CRC 회로 와 ECC 회로를 포함한다. CRC 회로는 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성한다. ECC 회로는 상기 데이터에 대한 ECC 코드를 생성하고, 읽기 동작 시에 상기 ECC 코드를 이용하여 상기 데이터의 비트 에러를 검출 및 정정한다. 상기 CRC 회로는 상기 읽기 동작 시에 상기 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출한다. 본 발명에 의하면, 종래의 반도체 메모리 장치에 비해 비트 에러에 대한 신뢰성을 더욱 확보할 수 있다.

Description

반도체 메모리 장치 및 그것의 비트 에러 검출 방법 {SEMICONDUCTOR MEMORY DEVICE AND BIT ERROR DETECTION METHOD THEREOF}
도 1은 본 발명의 제 1 실시예에 따른 반도체 메모리 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 CRC 회로를 보여주는 블록도이다.
도 3은 본 발명의 제 2 실시예에 따른 반도체 메모리 장치를 보여주는 블록도이다.
도 4a는 본 발명의 제 3 실시예에 따른 낸드 플래시 메모리 장치의 쓰기 동작을 보여주기 위한 블록도이고, 도 4b는 그것의 읽기 동작을 보여주기 위한 블록도이다.
도 5는 도 4a 및 도 4b에 도시된 CRC 회로를 보여주는 블록도이다.
도 6은 도 4a 도시된 낸드 플래시 메모리 장치의 쓰기 동작을 설명하기 위한 순서도이다.
도 7은 도 4b에 도시된 낸드 플래시 메모리 장치의 읽기 동작을 설명하기 위한 순서도이다.
*도면의 주요부분에 대한 부호의 설명*
100, 200: 반도체 메모리 장치 300a, 300b: 낸드 플래시 메모리 장치
110, 210, 310, 311: 셀 어레이 312, 313: 페이지 버퍼
120, 220, 320: 데이터 버퍼 130, 230, 330: CRC 회로
140, 240, 250, 340, 350: ECC 회로
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 반도체 메모리 장치 및 그것의 비트 에러 검출 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 데이터를 저장해 두고 필요할 때 꺼내어 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 램(Random Access Memory; RAM)과 롬(Read Only Memory; ROM)으로 나눌 수 있다. 램(RAM)은 전원이 끊어지면 저장된 데이터가 소멸하는 휘발성 메모리 장치(volatile memory device)이다. 롬(ROM)은 전원이 끊어지더라도 저장된 데이터가 소멸하지 않는 불휘발성 메모리(nonvolatile memory device)이다. 램(RAM)은 DRAM(Dynamic RAM), SRAM(Static RAM) 등을 포함한다. 롬(ROM)은 PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically EPROM), 플래시 메모리(flash memory ) 등을 포함한다. 플래시 메모리에는 노아 플래시 메모리 및 낸드 플래시 메모리 등이 있다.
플래시 메모리는 이동 통신 단말기, 휴대형 미디어 플레이어, 디지털 카메라, 이동 저장 매체 등에 널리 이용되고 있다. 플래시 메모리가 저장 매체로 사용 되기 위해서는 데이터의 무결성(integrity)이 보장되어야 한다. 그러나 플래시 메모리는 물리적 특성상 비트 에러를 발생할 수 있다. 이때 플래시 메모리는 비트 에러를 검출하고 정정할 수 있어야 한다. 종래의 플래시 메모리는 비트 에러를 검출하고 정정하기 위해 ECC(Error Correction Code) 회로를 사용하고 있다.
플래시 메모리에 사용되는 ECC 회로는 일반적으로 1_비트 에러를 정정하고, 2_비트 에러를 검출할 수 있다. 즉, 종래의 ECC 회로는 1_비트 에러에 대해서는 검출 및 수정을 할 수 있지만, 2_비트 에러에 대해서는 검출만 할 수 있다. 그리고 플래시 메모리에 3_비트 이상의 에러가 발생한 경우에는 이를 검출할 수 없다. 이는 플래시 메모리의 신뢰성을 크게 떨어뜨리는 요인이 되고 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 비트 에러를 정정할 수 있고, 3_비트 이상의 에러를 검출하는 반도체 메모리 장치를 제공하는 데 있다.
본 발명의 다른 목적은 비트 에러를 정정할 수 있고, 3_비트 이상의 에러를 검출할 수 있는 반도체 메모리 장치의 비트 에러 검출 방법을 제공하는 데 있다.
본 발명에 따른 반도체 메모리 장치는 일정 수의 비트 에러를 정정하고, 다수의 비트 에러를 검출할 수 있다. 이를 위해 본 발명에 따른 반도체 메모리 장치는, 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 CRC 회로; 및 상기 데이터에 대한 ECC 코드를 생성하고, 읽기 동작 시에 상기 ECC 코드를 이용하여 상기 데이터의 비트 에러를 검출 및 정정하는 ECC 회로를 포함한다. 여기에서, 상기 CRC 회로는 상기 읽기 동작 시에 상기 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출한다.
실시예로서, 상기 CRC 회로는 상기 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함한다.
다른 실시예로서, 상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며, 상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며, 상기 데이터는 메인 영역에 프로그램되고, 상기 ECC 코드 및 상기 CRC 코드는 상기 스페어 영역에 프로그램된다. 또한, 상기 ECC 회로는 2_비트 에러를 검출하고 1_비트 에러를 정정하며, 상기 CRC 회로는 2_비트 이상의 에러를 검출한다.
본 발명에 따른 반도체 메모리 장치의 다른 일면은, 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 CRC 회로; 상기 데이터에 대한 ECC 코드(이하, ECC_1이라 함)를 생성하고, 읽기 동작 시에 상기 ECC_1을 이용하여 상기 데이터의 비트 에러를 검출 및 정정하는 제 1 ECC 회로; 및 상기 쓰기 CRC 코드에 대한 ECC 코드(이하, ECC_2라 함)를 생성하고, 상기 읽기 동작 시에 상기 ECC_2를 이용하여 상기 쓰기 CRC 코드의 비트 에러를 검출 및 정정하는 제 2 ECC 회로를 포함한다. 여기에서, 상기 CRC 회로는 상기 읽기 동작 시에 상기 제 1 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 제 2 ECC 회로에 의해 정정된 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출한다.
실시예로서, 상기 CRC 회로는, 상기 제 1 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및 상기 읽기 CRC 코드와 상기 정정된 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함한다.
다른 실시예로서, 상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며; 상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며; 상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램된다. 상기 제 1 및 제 2 ECC 회로는 각각 2_비트 에러를 검출하고 1_비트 에러를 정정하며; 상기 CRC 회로는 2_비트 이상의 에러를 검출한다.
본 발명에 따른 반도체 메모리 장치의 비트 에러 검출 방법은, 메모리 셀에 저장될 데이터에 대한 ECC 코드 및 쓰기 CRC 코드를 생성하는 단계; 상기 ECC 코드를 이용하여 상기 메모리 셀에 저장된 데이터에 대한 비트 에러를 정정하는 단계; 상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함한다. 상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리한다. 또한, 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하지 않는 경우에 상기 데이터를 페일 처리한다.
실시예로서, 상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고; 상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며; 상기 데이터를 메인 영역에 프로그램하고, 상기 ECC 코드 및 상기 CRC 코드를 상기 스페어 영역에 프로그램하는 단계를 더 포함한다. 비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며; 상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출한다.
본 발명에 따른 반도체 메모리 장치의 비트 에러 검출 방법의 다른 일면은, 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 단계; 상기 메모리 셀에 저장될 데이터에 대한 ECC 코드(이하, ECC_1이라 함) 및 상기 쓰기 CRC 코드에 대한 ECC 코드(이하, ECC_2라 함)를 생성하는 단계; 상기 데이터, 상기 쓰기 CRC 코드, 상기 ECC_1, 그리고 상기 ECC_2를 상기 메모리 셀에 프로그램하는 단계; 상기 ECC_1을 이용하여 상기 데이터에 대한 비트 에러를 정정하고, 상기 ECC_2를 이용하여 상기 쓰기 CRC 코드에 대한 비트 에러를 정정하는 단계; 상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및 상기 읽기 CRC 코드와 상기 비트 에러를 정정한 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함한다. 상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리한다.
실시예로서, 상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고; 상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며; 상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램된다. 비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며; 상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1 및 도 2는 본 발명의 제 1 실시예에 따른 반도체 메모리 장치를 보여준다. 도 1은 반도체 메모리 장치(100)를 보여주고, 도 2는 도 1에 도시된 CRC 회로(130)를 보여준다. 본 발명의 제 1 실시예에 따른 반도체 메모리 장치(100)는 소정의 비트 에러(예를 들면, 1_비트 에러)를 정정하고, 다수의 비트 에러(예를 들면, 3_비트 에러 이상)를 검출할 수 있다.
도 1을 참조하면, 반도체 메모리 장치(100)는 셀 어레이(110), 데이터 버퍼(120), CRC(Cyclic Redundancy Check) 회로(130), 그리고 ECC(Error Correction Code) 회로(140)를 포함한다.
셀 어레이(110)는 데이터 버퍼(120)를 통해 입력된 데이터를 저장한다. 메모리 셀의 물리적, 구조적 특성으로 인해, 셀 어레이(110)에 저장된 데이터에 비트 에러(bit error)가 발생할 수 있다. 예를 들면, 데이터 '1'이 '0'으로 바뀌거나, 데이터 '0'이 '1'로 바뀌는 경우가 그러하다. 이러한 경우에 대비하여 반도체 메모리 장치(100)는 비트 에러를 검출하고 정정할 수 있는 에러 검출 및 정정 회로(이 하, ECC 회로라 함)를 포함한다. 그러나 ECC 회로는 검출하고 정정할 수 있는 비트 에러가 한정되어 있기 때문에, 본 발명에 따른 반도체 메모리 장치(100)는 검출할 수 있는 비트 에러의 수를 높이기 위해 ECC 회로(140) 외에 CRC 회로(130)를 더 포함한다.
CRC 회로(130)는 쓰기 동작 시에는 데이터 버퍼(120)로부터 쓰기 데이터( Data_W)를 입력받고, 읽기 동작 시에는 ECC 회로(140)로부터 읽기 데이터(Data_R)를 입력받는다. CRC 회로(130)는 쓰기 데이터(Data_W)를 이용하여 쓰기 CRC 코드( CRC_W)를 생성한다. CRC 회로(130)는 읽기 데이터(Data_R)를 이용하여 내부적으로 읽기 CRC 코드(도 2 참조, CRC_R)를 생성한다. CRC 회로(130)는 쓰기 CRC 코드(CRC_W)와 읽기 CRC 코드(CRC_R)를 비교하고, 패스 신호(Pass) 또는 페일 신호(Fail)를 발생한다. CRC 회로(130)의 내부 구성 및 동작 원리는 도 2를 참조하여 좀 더 자세하게 설명된다.
ECC 회로(140)는 쓰기 동작 시에 데이터 버퍼(120)로부터 쓰기 데이터(Data_W)를 입력받고, 읽기 동작 시에 셀 어레이(110)로부터 읽기 데이터(Data_R)를 입력받는다. ECC 회로(140)는 쓰기 데이터(Data_W)를 이용하여 ECC 코드(ECC)를 생성한다. ECC 회로(140)는 쓰기 데이터(Data_W) 및 ECC 코드(ECC)를 셀 어레이(110)에 제공한다. 한편, ECC 회로(140)는 읽기 동작 시에 셀 어레이(110)에 저장된 ECC 코드(ECC)를 이용하여 셀 어레이(110)로부터 입력된 읽기 데이터(Data_R)의 비트 에러를 검출 및 정정한다.
ECC 회로(140)는 해밍 코드(Hamming Code), BCH 코드, 리드-솔로몬(Reed- Solomon Code) 등의 다양한 코드 방식으로 구현될 수 있다. 예를 들면, 소정의 비트로 이루어지는 해밍 코드를 이용한 ECC 회로는 2_비트 에러를 검출하고 1_비트 에러를 정정할 수 있다. 즉, 해밍 코드를 이용한 ECC 회로는 1_비트 에러를 검출하고 수정할 수 있고, 2_비트 에러를 검출할 수 있다. 그러나 3_비트 이상의 에러에 대해서는 정정은 물론 검출도 할 수 없다.
도 1에 도시된 반도체 메모리 장치(100)는 ECC 회로(140)의 이와 같은 문제점을 극복하기 위해 CRC 회로(130)를 더 포함한다. 반도체 메모리 장치(100)는 ECC 회로(140)를 이용하여 소정의 비트 에러(예를 들면, 1_비트 에러)를 정정하고, CRC 회로(130)를 이용하여 3_비트 이상의 에러를 검출할 수 있다.
도 2는 도 1에 도시된 CRC 회로를 보여주는 블록도이다. 도 2를 참조하면, CRC 회로(130)는 선택회로(131), CRC 엔진(132), 그리고 비교기(133)를 포함한다. CRC 회로(130)는 쓰기 동작 시에 쓰기 데이터(Data_W)를 입력받고, 쓰기 CRC 코드(CRC_W)를 생성한다. CRC 회로(130)는 읽기 동작 시에 읽기 데이터(Data_R)를 입력받고, 내부적으로 읽기 CRC 코드(CRC_R)를 생성하고, 쓰기 CRC 코드(CRC_W)와 읽기 CRC 코드(CRC_R)의 비교 결과에 따라 패스 신호(Pass) 또는 페일 신호(Fail)를 발생한다.
선택회로(131)는 커맨드(CMD)에 따라 쓰기 데이터(Data_W) 및 읽기 데이터(Data_R) 중에서 어느 하나를 출력한다. 즉, 선택회로(131)는 쓰기 커맨드에 응답하여 쓰기 데이터(Data_W)를 출력하고, 읽기 커맨드에 응답하여 읽기 데이터(Data_R)를 출력한다. 여기에서, 읽기 데이터(Data_R)는 ECC 회로(140)에 의해 정 정된 데이터이다.
CRC 엔진(132)은 쓰기 데이터(Data_W)를 입력받고 쓰기 CRC 코드(CRC_W)를 출력한다. CRC 엔진(132)은 읽기 데이터(Data_R)를 입력받고 읽기 CRC 코드(CRC_R)를 출력한다. 일반적으로, CRC 엔진은 데이터 통신, 데이터 압축, 데이터 저장 매체(에를 들면, 자기 테이프, 자기 디스크 등)에서 데이터의 신뢰성을 검증하기 위해 사용되고 있다. 예를 들면, 32_비트 CRC 엔진을 사용하면, 비트 에러가 검출되지 않을 확률을 2-32까지 보장할 수 있다. 즉, CRC 엔진을 이용하면, 비트 에러를 검출하지 못할 확률은 거의 0에 가깝게 된다.
비교기(133)는 읽기 CRC 코드(CRC_R)와 쓰기 CRC 코드(CRC_W)를 비교한다. 비교기(133)는 읽기 CRC 코드(CRC_R)와 쓰기 CRC 코드(CRC_W)가 일치하면 패스 신호(Pass)를 발생하고, 일치하지 않으면 페일 신호(Fail)를 발생한다.
다시 도 1을 참조하면, 본 발명의 제 1 실시예에 따른 반도체 메모리 장치(100)는 ECC 회로(140)에서 검출하지 못한 비트 에러를 검출하기 위해 CRC 회로(130)를 포함한다. 본 발명의 제 1 실시예에 따른 반도체 메모리 장치(100)에 의하면, ECC 회로(140)를 이용하여 소정의 비트 에러(예를 들면, 1_비트 에러)를 정정할 수 있을 뿐만 아니라, CRC 회로(130)를 이용하여 ECC 회로(140)에서 검출하지 못한 비트 에러를 검출할 수 있다. 따라서 본 발명의 제 1 실시예에 따른 반도체 메모리 장치(100)에 의하면, 종래의 반도체 메모리 장치에 비해 비트 에러에 대한 신뢰성이 더욱 보장된다.
도 3은 본 발명의 제 2 실시예에 따른 반도체 메모리 장치를 보여준다. 도 3을 참조하면, 반도체 메모리 장치(200)는 도 1에 도시된 반도체 메모리 장치(100)와 비교하여 제 2 ECC 회로(250)를 더 포함한다. 도 3에서, CRC 회로(230) 및 제 1 ECC 회로(240)는 도 1의 CRC 회로(130) 및 ECC 회로(140)와 동일한 동작을 수행한다.
본 발명의 제 2 실시예에 따른 반도체 메모리 장치(200)는 쓰기 CRC 코드(CRC_W)에 발생한 비트 에러를 검출하기 위해 제 2 ECC 회로(250)를 포함한다. 반도체 메모리 장치(200)에 의하면, 도 1의 반도체 메모리 장치(100)에 비해 비트 에러에 대한 신뢰성을 더욱 확보할 수 있다.
제 2 ECC 회로(250)는 쓰기 동작 시에 CRC 회로(230)로부터 쓰기 CRC 코드(CRC_W)를 입력받고, 읽기 동작 시에 셀 어레이(110)로부터 읽기 CRC 코드(CRC_R)를 입력받는다. 제 2 ECC 회로(250)는 쓰기 CRC 코드(CRC_W)를 이용하여 제 2 ECC 코드(ECC_2)를 생성한다. 여기에서, 제 1 ECC 회로(240)에서 생성된 ECC 코드는 제 1 ECC 코드(ECC_1)라고 한다. 제 2 ECC 회로(250)는 쓰기 CRC 코드(CRC_W) 및 제 2 ECC 코드(ECC_2)를 셀 어레이(210)에 제공한다.
한편, 제 2 ECC 회로(250)는 읽기 동작 시에 셀 어레이(210)에 저장된 제 2 ECC 코드(ECC_2)를 이용하여 셀 어레이(210)로부터 입력된 읽기 CRC 코드(CRC_R)의 비트 에러를 검출 및 정정한다. 제 2 ECC 회로(250)는 읽기 CRC 코드(CRC_R)의 비트 에러를 정정하고, 정정한 읽기 CRC 코드(CRC_R')를 CRC 회로(230)에 제공한다.
CRC 회로(230)는 읽기 데이터(Data_R)를 이용하여 내부적으로 읽기 CRC 코드 (CRC_R")를 생성한다. CRC 회로(230)는 내부적으로 생성한 읽기 CRC 코드(CRC_R")와 정정한 읽기 CRC 코드(CRC_R')를 비교하고, 패스 신호(Pass) 또는 페일 신호(Fail)를 발생한다.
도 3을 참조하면, 본 발명의 제 2 실시예에 따른 반도체 메모리 장치(200)는 CRC 회로(230)에 의해 생성된 CRC 코드의 비트 에러를 정정하기 위해 제 2 ECC 회로(250)를 포함한다. 본 발명의 제 2 실시예에 따른 반도체 메모리 장치(200)에 의하면, CRC 코드에 발생한 비트 에러를 정정할 수 있기 때문에 도 1의 반도체 메모리 장치(100)에 비해 비트 에러에 대한 신뢰성을 더욱 확보할 수 있다.
도 4 내지 도 7은 본 발명의 제 3 실시예에 따른 반도체 메모리 장치를 보여준다. 여기에서, 반도체 메모리 장치는 낸드 플래시 메모리 장치이다. 도 4a는 쓰기 동작 시의 데이터 흐름을 보여주고, 도 4b는 읽기 동작 시의 데이터 흐름을 보여준다. 도 5는 도 4a 및 도 4b에 도시된 CRC 회로(330)의 내부 구성을 보여준다. 도 6 및 도 7은 쓰기 동작 및 읽기 동작을 설명하기 위한 순서도이다.
도 4a 및 도 4b를 참조하면, 발명에 따른 낸드 플래시 메모리 장치(300)는 셀 어레이(310, 311), 페이지 버퍼(312, 313), 데이터 버퍼(320), CRC 회로(330), 제 1 ECC 회로(340), 그리고 제 2 ECC 회로(350)를 포함한다.
낸드 플래시 메모리 장치(300)의 셀 어레이는 일반적으로 메인 영역(310)과 스페어 영역(311)으로 구분된다. 또한, 페이지 버퍼는 메인 영역(310)에 대응하는 메인 페이지 버퍼(312)와 스페어 영역(311)에 대응하는 스페어 페이지 버퍼(313)로 구분된다. 낸드 플래시 메모리 장치(300)의 셀 어레이 및 페이지 버퍼의 구성 및 동작은 이 기술 분야의 당업자에게 잘 알려져 있다. 따라서 이에 대한 상세한 설명은 생략하기로 한다.
도 4a를 참조하면, CRC 회로(330)는 쓰기 데이터(Data_W)를 입력받고, 쓰기 CRC 코드(CRC_W)를 생성한다. 제 1 ECC 회로(340)는 쓰기 데이터(Data_W)를 입력받고, 제 1 ECC 코드(ECC_1)를 생성한다. 제 2 ECC 회로(350)는 쓰기 CRC 코드(CRC_W)를 입력받고, 제 2 ECC 코드(ECC_2)를 생성한다. 쓰기 데이터(Data_W)는 메인 페이지 버퍼(312)에 저장된다. 제 1 ECC 코드(ECC_1), 제 2 ECC 코드(ECC_2), 그리고 쓰기 CRC 코드(CRC_W)는 스페어 페이지 버퍼(313)의 (a), (b), (c)에 각각 저장된다. 메인 페이지 버퍼(312)에 저장된 쓰기 데이터(Data_W)는 메인 영역(310)에, 스페어 페이지 버퍼(313)에 저장된 제 1 ECC 코드(ECC_1), 제 2 ECC 코드(ECC_2), 그리고 쓰기 CRC 코드(CRC_W)는 스페어 영역(311)에 동시에 프로그램된다.
도 4b를 참조하면, 제 1 ECC 회로(340)는 제 1 ECC 코드(ECC_1)를 이용하여 읽기 데이터(Data_R)의 비트 에러를 검출 및 정정한다. 제 1 ECC 회로(340)는 1_비트 에러를 검출 및 정정한다. 그러나 2_비트 이상의 비트 에러가 검출되면, 제 1 ECC 회로(340)는 페일 신호(Fail)를 발생한다. 마찬가지로, 제 2 ECC 회로(350)는 제 2 ECC 코드(ECC_2)를 이용하여 읽기 CRC 코드(CRC_R)의 비트 에러를 검출 및 정정한다. 제 2 ECC 회로(350)는 1_비트 에러를 검출하면, 비트 에러를 정정한다. 그러나 2_비트 이상의 에러가 검출되면, 제 2 ECC 회로(350)는 페일 신호(Fail)를 발생한다.
도 5를 참조하면, CRC 회로(330)는 제 1 ECC 회로(340)에 의해 정정된 읽기 데이터(Data_R')를 입력받고, 내부적으로 읽기 CRC 코드(CRC_R")를 생성한다. CRC 회로(330)는 내부적으로 생성한 읽기 CRC 코드(CRC_R")와 제 2 ECC 회로(350)에 의해 정정된 읽기 CRC 코드(CRC_R')를 비교한다. CRC 회로(330)는 비교 결과 두 코드가 일치하지 않으면 페일 신호(Fail)를 발생한다.
도 6은 도 4a에 도시된 낸드 플래시 메모리 장치의 쓰기 동작을 보여주는 순서도이다. 도 4a 및 도 6을 참조하여 본 발명에 따른 낸드 플래시 메모리 장치(300)의 쓰기 동작이 설명된다.
S110 단계에서는 쓰기 데이터(Data_W)에 대한 쓰기 CRC 코드(CRC_W)가 생성된다. 도 4a를 참조하면, CRC 회로(330)는 데이터 버퍼(320)로부터 쓰기 데이터(Data_W)를 입력받고, 쓰기 CRC 코드(CRC_W)를 생성한다.
S120 단계에서는 쓰기 데이터(Data_W) 및 쓰기 CRC 코드(CRC_W)에 대한 ECC 코드(ECC_1, ECC_2)가 생성된다. 도 4a를 참조하면, 제 1 ECC 회로(340)는 쓰기 데이터(Data_W)를 입력받고, 쓰기 데이터(Data_W)에 대한 제 1 ECC 코드(ECC_1)를 생성한다. 제 2 ECC 회로(350)는 쓰기 CRC 코드(CRC_W)를 입력받고, 쓰기 CRC 코드(CRC_W)에 대한 제 2 ECC 코드(ECC_2)를 생성한다.
S130 단계에서는 메인 영역(310)에 쓰기 데이터(Data_W)가, 스페어 영역(311)에 제 1 ECC 코드(ECC_1), 제 2 ECC 코드(ECC_2), 그리고 쓰기 CRC 코드(CRC_W)가 프로그램된다.
도 7은 도 4b에 도시된 낸드 플래시 메모리 장치의 읽기 동작을 보여주는 순 서도이다. 도 4b 및 도 7을 참조하여 본 발명에 따른 낸드 플래시 메모리 장치(300)의 읽기 동작이 설명된다.
S210 단계에서는 셀 어레이에서 읽은 데이터가 페이지 버퍼에 저장된다. 여기에서, 페이지 버퍼에 저장된 데이터는 쓰기 동작 시에 셀 어레이에 프로그램된 데이터이다. 도 4b를 참조하면, 메인 영역(310)에서 읽은 읽기 데이터(Data_R)는 메인 페이지 버퍼(312)에 저장된다. 스페어 영역(311)에서 읽은 제 1 ECC 코드(ECC_1), 제 2 ECC 코드(ECC_2), 그리고 읽기 CRC 코드(CRC_R)는 스페어 페이지 버퍼(313)에 저장된다.
S220 단계에서는 메인 페이지 버퍼(312)의 읽기 데이터(Data_R) 및 스페어 페이지 버퍼(313)의 읽기 CRC 코드(CRC_R)에 대한 비트 에러를 검사한다. 도 4b를 참조하면, 제 1 ECC 회로(340)는 제 1 ECC 코드(ECC_1)를 이용하여 읽기 데이터(Data_R)에 대한 비트 에러를 검사한다. 제 2 ECC 회로(350)는 제 2 ECC 코드(ECC_2)를 이용하여 읽기 CRC 코드(CRC_R)에 대한 비트 에러를 검사한다.
S230 단계에서는 읽기 데이터(Data_R) 및 읽기 CRC 코드(CRC_R)에 대한 비트 에러가 검출된다. 비트 에러가 검출되면 S240 단계로 이동하고, 비트 에러가 검출되지 않으면 S232 단계로 이동한다.
S232 단계는 비트 에러가 검출되지 않은 경우이다. 이때 제 1 ECC 회로(340)는 읽기 데이터(Data_R)를 그대로 출력한다. 즉, Data_R = Data_R'이다. 마찬가지로, 제 2 ECC 회로(350)는 읽기 CRC 코드(CRC_R)를 그대로 출력한다. 즉, CRC_R = CRC_R'이다.
S240 단계에서는 비트 에러의 정정 여부가 판단된다. 여기에서, 제 1 및 제 2 ECC 회로(340, 350)는 1_비트 에러만을 정정한다고 가정하자. 이때 S230 단계에서 2_비트 이상의 에러가 검출되면, 제 1 및 제 2 ECC 회로(340, 350)는 2_비트 이상의 에러를 정정할 수 없다. 이때 S280 단계로 이동한다. S280 단계에서는 읽기 데이터가 페일 처리된다. 반면에 S230 단계에서 1_비트 에러가 검출되면, 1_비트 에러는 정정된다. 이때 S242 단계로 이동한다.
S242 단계에서는 비트 에러가 정정된다. 도 4b를 참조하면, 제 1 ECC 회로(340)는 읽기 데이터(Data_R)의 비트 에러를 정정하고, 정정한 읽기 데이터(Data_R')를 출력한다. 마찬가지로, 제 2 ECC 회로(350)는 읽기 CRC 코드(CRC_R)의 비트 에러를 정정하고, 정정한 읽기 CRC 코드(CRC_R')를 출력한다.
S250 단계에서는 정정한 읽기 데이터(Data_R')에 대한 읽기 CRC 코드(CRC_R")가 생성된다. 도 4b 및 도 5를 참조하면, CRC 회로(330)는 정정한 읽기 데이터(Data_R')를 입력받고, 내부적으로 읽기 CRC 코드(CRC_R")를 생성한다.
S260 단계에서는 내부적으로 생성한 읽기 CRC 코드(CRC_R")와 정정한 읽기 CRC 코드(CRC_R')가 동일한지를 판단한다. 도 5를 참조하면, 비교기(333)는 내부적으로 생성한 읽기 CRC 코드(CRC_R")와 제 2 ECC 회로(350)에 의해 정정된 읽기 CRC 코드(CRC_R')를 비교한다. 비교기(333)는 두 CRC 코드가 일치하면 패스 신호(Pass)를 발생하고(S270), 일치하지 않으면 페일 신호(Fail)를 발생한다(S280).
도 4 내지 도 7을 참조하면, 본 발명의 제 3 실시예에 따른 낸드 플래시 메모리 장치(300)는 제 1 ECC 회로(340)를 이용하여 데이터의 비트 에러를 정정하고, CRC 회로(330)를 이용하여 제 1 ECC 회로(340)에 의해 검출되지 않은 비트 에러를 검출하고, 제 2 ECC 회로(350)를 이용하여 CRC 코드의 비트 에러를 정정한다. ECC 회로만을 사용하는 종래의 낸드 플래시 메모리 장치와 비교해 볼 때, 본 발명에 따른 낸드 플래시 메모리 장치는 CRC 회로 및 CRC 코드의 비트 에러를 정정하는 ECC 회로를 더 구비하여 비해 비트 에러에 대한 신뢰성을 더욱 확보할 수 있다.
또한, 본 발명의 제 3 실시예에 따른 낸드 플래시 메모리 장치(300)는 데이터와 동시에 CRC 코드를 프로그램하기 때문에, 별도로 컨펌 마크(confirm mark)를 프로그램할 필요가 없다. 낸드 플래시 메모리 장치는 쓰기 동작 중에 전원이 갑자기 차단되는 것에 대비하여 스페어 영역에 표시를 하는 데, 이를 컨펌 마크라고 한다. 컨펌 마크를 프로그램하기 위해서는 낸드 플래시 메모리 장치는 동일 페이지에 쓰기 동작을 두 번 해야 한다. 그러나 본 발명의 제 3 실시예에 따른 낸드 플래시 메모리 장치에 의하면, CRC 코드가 컨펌 마크의 기능을 수행하기 때문에 한 번의 쓰기 동작만 수행해도 되는 장점을 갖는다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명에 따른 반도체 메모리 장치 및 그것의 비트 에러 검출 방법에 의하 면, ECC 회로를 이용하여 소정의 비트 에러(예를 들면, 1_비트 에러)를 정정할 수 있을 뿐만 아니라, CRC 회로를 이용하여 ECC 회로에서 검출하지 못한 비트 에러를 검출할 수 있다. 본 발명에 의하면, 종래의 반도체 메모리 장치에 비해 비트 에러에 대한 신뢰성을 더욱 확보할 수 있다.

Claims (20)

  1. 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 CRC 회로; 및
    상기 데이터에 대한 ECC 코드를 생성하고, 읽기 동작 시에 상기 ECC 코드를 이용하여 상기 데이터의 비트 에러를 검출 및 정정하는 ECC 회로를 포함하되,
    상기 CRC 회로는 상기 읽기 동작 시에 상기 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 CRC 회로는 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치.
  3. 제 1 항에 있어서,
    상기 CRC 회로는,
    상기 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및
    상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  4. 제 1 항에 있어서,
    상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며;
    상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;
    상기 데이터는 메인 영역에 프로그램되고, 상기 ECC 코드 및 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
  5. 제 4 항에 있어서,
    상기 ECC 회로는 2_비트 에러를 검출하고 1_비트 에러를 정정하며;
    상기 CRC 회로는 2_비트 이상의 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
  6. 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 CRC 회로;
    상기 데이터에 대한 ECC 코드(이하, ECC_1이라 함)를 생성하고, 읽기 동작 시에 상기 ECC_1을 이용하여 상기 데이터의 비트 에러를 검출 및 정정하는 제 1 ECC 회로; 및
    상기 쓰기 CRC 코드에 대한 ECC 코드(이하, ECC_2라 함)를 생성하고, 상기 읽기 동작 시에 상기 ECC_2를 이용하여 상기 쓰기 CRC 코드의 비트 에러를 검출 및 정정하는 제 2 ECC 회로를 포함하되,
    상기 CRC 회로는 상기 읽기 동작 시에 상기 제 1 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 제 2 ECC 회로에 의해 정정된 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
  7. 제 6 항에 있어서,
    상기 CRC 회로는 상기 읽기 CRC 코드와 상기 정정된 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치
  8. 제 6 항에 있어서,
    상기 CRC 회로는,
    상기 제 1 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및
    상기 읽기 CRC 코드와 상기 정정된 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
  9. 제 6 항에 있어서,
    상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며;
    상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;
    상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
  10. 제 9 항에 있어서,
    상기 제 1 및 제 2 ECC 회로는 각각 2_비트 에러를 검출하고 1_비트 에러를 정정하며;
    상기 CRC 회로는 2_비트 이상의 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
  11. 제 9 항에 있어서,
    상기 데이터, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 동시에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
  12. 반도체 메모리 장치의 비트 에러 검출 방법에 있어서:
    메모리 셀에 저장될 데이터에 대한 ECC 코드 및 쓰기 CRC 코드를 생성하는 단계;
    상기 ECC 코드를 이용하여 상기 메모리 셀에 저장된 데이터에 대한 비트 에러를 정정하는 단계;
    상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및
    상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함하는 비트 에러 검출 방법.
  13. 제 12 항에 있어서,
    상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
  14. 제 12 항에 있어서,
    상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하지 않는 경우에 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
  15. 제 12 항에 있어서,
    상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고;
    상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;
    상기 데이터를 메인 영역에 프로그램하고, 상기 ECC 코드 및 상기 CRC 코드를 상기 스페어 영역에 프로그램하는 단계를 더 포함하는 비트 에러 검출 방법.
  16. 제 15 항에 있어서,
    비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며;
    상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출하는 것을 특징으로 하는 비트 에러 검출 방법.
  17. 반도체 메모리 장치의 비트 에러 검출 방법에 있어서:
    메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 단계;
    상기 메모리 셀에 저장될 데이터에 대한 ECC 코드(이하, ECC_1이라 함) 및 상기 쓰기 CRC 코드에 대한 ECC 코드(이하, ECC_2라 함)를 생성하는 단계;
    상기 데이터, 상기 쓰기 CRC 코드, 상기 ECC_1, 그리고 상기 ECC_2를 상기 메모리 셀에 프로그램하는 단계;
    상기 ECC_1을 이용하여 상기 데이터에 대한 비트 에러를 정정하고, 상기 ECC_2를 이용하여 상기 쓰기 CRC 코드에 대한 비트 에러를 정정하는 단계;
    상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및
    상기 읽기 CRC 코드와 상기 비트 에러를 정정한 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함하는 비트 에러 검출 방법.
  18. 제 17 항에 있어서,
    상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
  19. 제 17 항에 있어서,
    상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고;
    상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;
    상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 비트 에러 검출 방법.
  20. 제 19 항에 있어서,
    비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며;
    상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출하는 것을 특징으로 하는 비트 에러 검출 방법.
KR1020050100406A 2005-10-24 2005-10-24 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 KR100681429B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050100406A KR100681429B1 (ko) 2005-10-24 2005-10-24 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US11/582,106 US20080016428A1 (en) 2005-10-24 2006-10-17 Semiconductor memory device and bit error detection method thereof
US11/748,933 US8479077B2 (en) 2005-10-24 2007-05-15 Memory device and bit error detection method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050100406A KR100681429B1 (ko) 2005-10-24 2005-10-24 반도체 메모리 장치 및 그것의 비트 에러 검출 방법

Publications (1)

Publication Number Publication Date
KR100681429B1 true KR100681429B1 (ko) 2007-02-15

Family

ID=38106101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050100406A KR100681429B1 (ko) 2005-10-24 2005-10-24 반도체 메모리 장치 및 그것의 비트 에러 검출 방법

Country Status (2)

Country Link
US (2) US20080016428A1 (ko)
KR (1) KR100681429B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101609510B1 (ko) * 2015-04-10 2016-04-06 홍익대학교 산학협력단 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100681429B1 (ko) * 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7801084B2 (en) * 2006-06-09 2010-09-21 Intel Corporation Doppler frequency determination for mobile wireless devices
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
TW200828328A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method of improving accessing reliability of flash memory
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
DE112007003639B4 (de) * 2007-11-03 2016-07-28 Robert Bosch Gmbh Verfahren und System zum Erfassen einer Störung in einer Fehlerkorrektureinheit
US8132074B2 (en) * 2007-11-19 2012-03-06 Intel Corporation Reliability, availability, and serviceability solutions for memory technology
TWI393146B (zh) * 2008-10-15 2013-04-11 Genesys Logic Inc 具有錯誤修正碼容量設定單元之快閃記憶體控制器及其方法
US8352835B2 (en) * 2009-06-10 2013-01-08 International Business Machines Corporation Data verification using checksum sidefile
KR101056876B1 (ko) * 2009-06-30 2011-08-12 주식회사 하이닉스반도체 불휘발성 메모리 장치의 동작 방법 및 이를 구현하는 불휘발성 메모리 장치
US8495465B1 (en) * 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8612828B2 (en) * 2009-12-22 2013-12-17 Intel Corporation Error correction mechanisms for 8-bit memory devices
TW201201008A (en) * 2010-03-22 2012-01-01 Mosaid Technologies Inc Composite semiconductor memory device with error correction
DE102010035361B4 (de) * 2010-08-25 2022-08-18 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Kamerasystem
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US8607121B2 (en) * 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
US8902653B2 (en) 2011-08-12 2014-12-02 Micron Technology, Inc. Memory devices and configuration methods for a memory device
US8468423B2 (en) 2011-09-01 2013-06-18 International Business Machines Corporation Data verification using checksum sidefile
US9128862B2 (en) 2012-02-23 2015-09-08 International Business Machines Corporation Efficient checksums for shared nothing clustered filesystems
KR102204391B1 (ko) 2014-08-18 2021-01-18 삼성전자주식회사 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치
DE102016107285B4 (de) * 2016-04-20 2019-04-25 Infineon Technologies Ag Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung
US10223199B2 (en) 2016-09-23 2019-03-05 Sandisk Technologies Llc Non-volatile memory configured to return error reduced read data
KR102362767B1 (ko) 2017-12-29 2022-02-15 마이크론 테크놀로지, 인크. 정정 불가능 ecc
US10642536B2 (en) 2018-03-06 2020-05-05 Western Digital Technologies, Inc. Non-volatile storage system with host side command injection
US10990294B2 (en) 2018-03-26 2021-04-27 Western Digital Technologies, Inc. Non-volatile storage system with multi-read mode
JP7182373B2 (ja) * 2018-04-24 2022-12-02 ラピスセミコンダクタ株式会社 半導体集積回路、記憶装置及びエラー訂正方法
CN110874282B (zh) * 2018-08-31 2023-03-21 群联电子股份有限公司 数据存取方法、存储器控制电路单元与存储器存储装置
CN109545267A (zh) * 2018-10-11 2019-03-29 深圳大普微电子科技有限公司 闪存自检的方法、固态硬盘以及存储装置
TWI689935B (zh) * 2019-04-02 2020-04-01 華邦電子股份有限公司 具糾錯電路的記憶體
US11200106B2 (en) 2019-08-12 2021-12-14 Advanced Micro Devices, Inc. Data integrity for persistent memory systems and the like
CN111858135B (zh) * 2020-06-17 2023-12-19 百富计算机技术(深圳)有限公司 数据存储、校验方法、装置、终端设备及存储介质
US11416331B2 (en) * 2020-12-09 2022-08-16 Micron Technology, Inc. Modified checksum using a poison data pattern

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4403303A (en) * 1981-05-15 1983-09-06 Beehive International Terminal configuration manager
JPH09116541A (ja) * 1995-10-16 1997-05-02 Toshiba Corp 通信制御装置
KR100266748B1 (ko) * 1997-12-31 2000-10-02 윤종용 반도체 메모리 장치 및 그 장치의 에러 정정 방법
US7283965B1 (en) * 1999-06-30 2007-10-16 The Directv Group, Inc. Delivery and transmission of dolby digital AC-3 over television broadcast
US6836869B1 (en) * 2001-02-02 2004-12-28 Cradle Technologies, Inc. Combined cyclic redundancy check (CRC) and Reed-Solomon (RS) error checking unit
JP3703439B2 (ja) * 2002-03-19 2005-10-05 Necマイクロシステム株式会社 データ転送制御装置及び方法
KR100463207B1 (ko) 2003-02-21 2004-12-23 삼성전자주식회사 플래쉬 메모리의 오류를 방지하기 위한 오류 제어 시스템
US7418645B2 (en) * 2003-09-24 2008-08-26 Hitachi Global Storage Technologies Netherlands B.V. Error correction/detection code adjustment for known data pattern substitution
KR100577988B1 (ko) 2003-12-24 2006-05-11 주식회사 포인칩스 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법
US7673080B1 (en) * 2004-02-12 2010-03-02 Super Talent Electronics, Inc. Differential data transfer for flash memory card
US7607025B1 (en) * 2004-02-26 2009-10-20 Xilinx, Inc. Methods of intrusion detection and prevention in secure programmable logic devices
KR100681429B1 (ko) * 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101609510B1 (ko) * 2015-04-10 2016-04-06 홍익대학교 산학협력단 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치

Also Published As

Publication number Publication date
US8479077B2 (en) 2013-07-02
US20080016428A1 (en) 2008-01-17
US20070226588A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
KR100681429B1 (ko) 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US11734106B2 (en) Memory repair method and apparatus based on error code tracking
US8954818B2 (en) Error detection and correction scheme for a memory device
US9703633B2 (en) Circuits, apparatuses, and methods for correcting data errors
KR100645058B1 (ko) 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US10467091B2 (en) Memory module, memory system including the same, and error correcting method thereof
US8347183B2 (en) Flash memory device using ECC algorithm and method of operating the same
KR20120114366A (ko) 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
JPH03248251A (ja) 情報処理装置
US7747926B2 (en) Methods and apparatus for a memory device with self-healing reference bits
US10795763B2 (en) Memory system and error correcting method thereof
KR20190129653A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US11030040B2 (en) Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system
CN108228381B (zh) 存储系统及其错误校正方法
US11249844B2 (en) Memory system and memory module
US11265022B2 (en) Memory system and operating method thereof
US10665297B2 (en) Memory systems for memory devices and methods of operating the memory systems
KR100577988B1 (ko) 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법
KR20180123207A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR20130077401A (ko) 반도체 메모리 장치 및 그 구동 방법
US11537467B2 (en) Memory, memory system, and operation method of memory
JP2009158051A (ja) 不揮発性半導体記憶装置及び読み出しテスト方法

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: 20130131

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150202

Year of fee payment: 9