KR100681429B1 - 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 - Google Patents
반도체 메모리 장치 및 그것의 비트 에러 검출 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
도 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)
- 메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 CRC 회로; 및상기 데이터에 대한 ECC 코드를 생성하고, 읽기 동작 시에 상기 ECC 코드를 이용하여 상기 데이터의 비트 에러를 검출 및 정정하는 ECC 회로를 포함하되,상기 CRC 회로는 상기 읽기 동작 시에 상기 ECC 회로에 의해 정정된 데이터에 대한 읽기 CRC 코드를 생성하고, 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 1 항에 있어서,상기 CRC 회로는 상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 1 항에 있어서,상기 CRC 회로는,상기 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 1 항에 있어서,상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며;상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;상기 데이터는 메인 영역에 프로그램되고, 상기 ECC 코드 및 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
- 제 4 항에 있어서,상기 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 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 6 항에 있어서,상기 CRC 회로는 상기 읽기 CRC 코드와 상기 정정된 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치
- 제 6 항에 있어서,상기 CRC 회로는,상기 제 1 ECC 회로에 의해 정정된 데이터를 입력받고 상기 읽기 CRC 코드를 생성하는 CRC 엔진; 및상기 읽기 CRC 코드와 상기 정정된 쓰기 CRC 코드가 일치하는 경우에 패스 신호를 발생하고, 일치하지 않는 경우에는 페일 신호를 발생하는 비교기를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 6 항에 있어서,상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이며;상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
- 제 9 항에 있어서,상기 제 1 및 제 2 ECC 회로는 각각 2_비트 에러를 검출하고 1_비트 에러를 정정하며;상기 CRC 회로는 2_비트 이상의 에러를 검출하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 9 항에 있어서,상기 데이터, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 동시에 프로그램되는 것을 특징으로 하는 반도체 메모리 장치.
- 반도체 메모리 장치의 비트 에러 검출 방법에 있어서:메모리 셀에 저장될 데이터에 대한 ECC 코드 및 쓰기 CRC 코드를 생성하는 단계;상기 ECC 코드를 이용하여 상기 메모리 셀에 저장된 데이터에 대한 비트 에러를 정정하는 단계;상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및상기 읽기 CRC 코드와 상기 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함하는 비트 에러 검출 방법.
- 제 12 항에 있어서,상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
- 제 12 항에 있어서,상기 읽기 CRC 코드와 상기 쓰기 CRC 코드가 일치하지 않는 경우에 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
- 제 12 항에 있어서,상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고;상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;상기 데이터를 메인 영역에 프로그램하고, 상기 ECC 코드 및 상기 CRC 코드를 상기 스페어 영역에 프로그램하는 단계를 더 포함하는 비트 에러 검출 방법.
- 제 15 항에 있어서,비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며;상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출하는 것을 특징으로 하는 비트 에러 검출 방법.
- 반도체 메모리 장치의 비트 에러 검출 방법에 있어서:메모리 셀에 저장될 데이터에 대한 쓰기 CRC 코드를 생성하는 단계;상기 메모리 셀에 저장될 데이터에 대한 ECC 코드(이하, ECC_1이라 함) 및 상기 쓰기 CRC 코드에 대한 ECC 코드(이하, ECC_2라 함)를 생성하는 단계;상기 데이터, 상기 쓰기 CRC 코드, 상기 ECC_1, 그리고 상기 ECC_2를 상기 메모리 셀에 프로그램하는 단계;상기 ECC_1을 이용하여 상기 데이터에 대한 비트 에러를 정정하고, 상기 ECC_2를 이용하여 상기 쓰기 CRC 코드에 대한 비트 에러를 정정하는 단계;상기 비트 에러를 정정한 데이터에 대한 읽기 CRC 코드를 생성하는 단계; 및상기 읽기 CRC 코드와 상기 비트 에러를 정정한 쓰기 CRC 코드를 비교해서 상기 데이터의 비트 에러를 검출하는 단계를 포함하는 비트 에러 검출 방법.
- 제 17 항에 있어서,상기 비트 에러를 정정하는 단계에서, 정정할 수 있는 비트 에러의 수를 초과한 경우에는 상기 데이터를 페일 처리하는 것을 특징으로 하는 비트 에러 검출 방법.
- 제 17 항에 있어서,상기 반도체 메모리 장치는 낸드 플래시 메모리 장치이고;상기 낸드 플래시 메모리 장치의 셀 어레이는 메인 영역과 스페어 영역으로 구분되며;상기 데이터는 메인 영역에 프로그램되고, 상기 ECC_1, 상기 ECC_2, 그리고 상기 CRC 코드는 상기 스페어 영역에 프로그램되는 것을 특징으로 하는 비트 에러 검출 방법.
- 제 19 항에 있어서,비트 에러를 정정하는 단계에서는 2_비트 에러를 검출하고 1_비트 에러를 정정하며;상기 데이터의 비트 에러를 검출하는 단계에서는 상기 정정 단계에서 검출되지 않은 비트 에러를 더 검출하는 것을 특징으로 하는 비트 에러 검출 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101609510B1 (ko) * | 2015-04-10 | 2016-04-06 | 홍익대학교 산학협력단 | 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치 |
Families Citing this family (34)
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)
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 |
-
2005
- 2005-10-24 KR KR1020050100406A patent/KR100681429B1/ko active IP Right Grant
-
2006
- 2006-10-17 US US11/582,106 patent/US20080016428A1/en not_active Abandoned
-
2007
- 2007-05-15 US US11/748,933 patent/US8479077B2/en active Active
Cited By (1)
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 |