KR20070109686A - 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작 - Google Patents

멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작 Download PDF

Info

Publication number
KR20070109686A
KR20070109686A KR1020060043020A KR20060043020A KR20070109686A KR 20070109686 A KR20070109686 A KR 20070109686A KR 1020060043020 A KR1020060043020 A KR 1020060043020A KR 20060043020 A KR20060043020 A KR 20060043020A KR 20070109686 A KR20070109686 A KR 20070109686A
Authority
KR
South Korea
Prior art keywords
error
data
flash memory
level cell
back operation
Prior art date
Application number
KR1020060043020A
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 KR1020060043020A priority Critical patent/KR20070109686A/ko
Publication of KR20070109686A publication Critical patent/KR20070109686A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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
    • 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Abstract

본 발명은 플래시 메모리 장치의 에러 정정 방법에 관한 것으로, 페리티 장치부로부터 입력 데이터를 받아 페리티 비트를 생성하고 인코딩하는 단계, 상기 인코딩된 데이터가 신드롬 장치부에 전송되어 연산되는 단계, 상기 연산된 데이터에 의해 에러를 검출하고 에러가 발생한 위치를 찾아내어 레지스터에 저장하는 단계, 상기 레지스터에 저장된 값을 바탕으로 에러가 발생한 위치에서 XOR 연산을 통하여 잘못된 비트들을 수정하는 단계 및 소스 페이지에서 발생한 에러들을 수정하여 에러의 축적없이 데이터를 타겟 페이지에 전송하는 단계를 포함하고, 카피백 동작시에 BCH 코드를 적용하여, 에러를 검출하고 정정하여 데이터를 타겟 페이지에 전달함으로써 정확한 데이터를 얻을 수 있다.
플래시 메모리, 에러 정정, 카피백

Description

멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을 사용한 개선된 카피백 동작{Improved copy back operation using the method of correcting error in a multi level cell NAND flash memory}
도 1은 종래의 카피백 동작을 간략하게 도시한 도면이다.
도 2는 본 발명에 적용되는 BCH 코드의 알고리즘이다.
도 3은 도 2가 적용된 에러정정 회로를 간략히 도시한 블럭도이다.
도 4는 도 3의 ECC 유니트를 상세히 도시한 블럭도이다.
도 5는 도 4의 카피백 동작을 나타낸 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
141 : 페리티 장치부 142 : 신드롬 장치부
143 : 체인 장치부
본 발명은 플래시 메모리 장치의 구동 방법에 관한 것으로서, 특히 에러 정정 방법에 관한 것이다.
최근에, 플래시 메모리의 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀 에 복수개의 데이타를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메모리 셀을 통상 멀티 레벨 셀(Multi-Level Cell; MLC)이라고 한다. 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single-Level Cell; SLC)이라 한다. 이러한 멀티 레벨 셀(MLC)은 낸드 플래시 메모리의 소스 페이지(source page)에서 전압 손실(charge loss) 또는 전압 과잉(charge gain)과 같은 결함이 발생할 수 있다.
도 1은 종래의 카피백 동작을 간략하게 도시한 도면이다. 카피백(copy back) 동작은 tRD 시간 동안 소스 페이지(13)의 데이터를 페이지 버퍼(14)로 전송한 후, tPGM 시간 동안 페이지 버퍼에 있는 데이터를 타겟 페이지(12)로 전송한다.
이때, 상기 결함을 지닌 상태에서 카피백 동작을 수행하게 되면 멀티 레벨 셀(11)에 결함이 축적될 수 있게 되어 플래시 메모리의 신뢰도가 떨어질 수 있게 된다.
따라서, 본 발명은 멀티 레벨 셀을 구비한 플래시 메모리 장치에서 카피백 동작시에 에러 정정 코드로 많이 쓰이는 BCH 코드를 적용하여, 에러의 검출뿐만 아니라 수정도 가능하도록 하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명에 따른 플래시 메모리 장치의 에러 정정 방법은, 페리티 장치부로부터 입력 데이터를 받아 페리티 비트를 생성하고 인코딩하는 단계, 상기 인코딩된 데이터가 신드롬 장치부에 전송되어 연산되는 단계, 상기 연산된 데이터에 의해 에러를 검출하고 에러가 발생한 위치를 찾아내어 레지스터에 저장하는 단계, 상기 레지스터에 저장된 값을 바탕으로 에러가 발생한 위치에서 XOR 연산을 통하여 잘못된 비트들을 수정하는 단계 및 소스 페이지에서 발생한 에러들을 수정하여 에러의 축적없이 데이터를 타겟 페이지에 전송하는 단계를 포함하는 플래시 메모리 장치의 에러 정정 방법을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 2는 본 발명에 적용되는 BCH 코드의 알고리즘이다. 에러 정정 코드인 BCH(Bose-Chaudhuri-Hocquenghen) 코드는 발명자 3인의 이름을 따서 BCH 코드로 불리어 지며, 이는 대표적인 랜덤 에러(random error) 정정 코드로 쓰이고 있다. 정정 동작은 페리티 비트 형성(21), 암호화(22), 신드롬 연산부(23), BM 연산부(24) 및 체인 연산부(25)의 순서로 에러를 정정하게 된다. 먼저 데이터(DATA)가 입력되면 페리티 비트를 형성하여(21) 생성된 페리티 비트와 입력된 데이터(DATA)를 혼합하여 암호화(22) 하여 데이터(DATA)를 인코딩한다. 다음으로 신드롬(syndromes) 이라는 중간값을 얻고(23) 신드롬 값들이 모두 "0"이면 에러가 없음을 나타내어 바로 입력된 데이터(DATA)를 출력한다. 하지만, 신드롬 값들 중 하나라도 "1"의 값이 있으면 에러가 있음을 검출하게 된다. 그러면, BM(Berlekamp-Massey) 연산부(24)는 전단계의 신드롬 값을 바탕으로 하여 다항식의 상수를 생성하고, 다항식의 근으로부터 에러 위치를 얻게 된다. 마지막 단계로, 체인 연산부(Chein-Search, 25)는 이전의 다항식 근으로부터 에러의 위치를 찾게 되고, 에러 위치를 찾아내면 XOR 연산을 수행하여 에러가 발생한 데이터를 정정하게 된다.
도 3은 도 2가 적용된 에러정정 회로를 간략히 도시한 블럭도이다. 에러정정 회로는 메모리 어레이(110), 리피터(120), 버퍼(130), ECC 유니트(140) 및 제어부(150)를 포함한다. 라이트 동작은 호스트(미도시)로 부터 유저 데이터를 받아 버퍼(130)에 저장한다. 버퍼(130)에 저장된 모든 유저 데이터에서 각각의 ECC 블록에 해당하는 정보를 메모리 어레이(110)와 ECC(error correction code) 유니트(140)로 입력하여 ECC 패리티(parity)를 생성한 후, 그 패리티를 임시 저장한다. 임시로 저장된 패리티 정보 및 각 섹터의 상태정보는 메모리 어레이(110)의 오버헤드 영역에 따로 저장된다. 이때, 메모리 어레이(110)에 저장되어 있는 패리티 정보를 함께 리드(read)하여 신드롬을 계산하고, 계산된 신드롬에 의해 에러 발생 여부를 판단하여, 에러가 발생할 경우는 ECC에 의해 에러 정정을 하도록 이루어진다.
도 4는 도 3의 ECC 유니트를 상세히 도시한 블럭도이다. ECC 유니트(140)는 페리티 장치부(141), 신드롬 장치부(142) 및 체인 장치부(143)를 포함한다. 페리티 장치부(141)는 데이터를 입력받아 페리티 비트를 형성하고 이를 암호화 하여 인코딩한다. 신드롬 장치부(142)는 에러를 검출하는 장치로써, 신드롬 값들이 모두 "0"이면 에러가 없음을 나타내어 바로 입력된 데이터를 출력하고, 신드롬 값들 중 하나라도 "1"의 값이 있으면 에러가 있음을 검출하게 된다. 체인 장치부(143)는 신드 롬 값을 바탕으로 하여 다항식의 상수를 생성하고, 다항식의 근으로부터 에러 위치를 찾고, XOR 연산을 수행하여 에러가 발생한 데이터를 정정하게 된다.
도 5는 도 4의 카피백 동작을 나타낸 순서도이다. 멀티 레벨 셀(MLC)에 데이터가 입력되기 전에 페리티 장치부(141)에서 입력 데이터를 받아(201) 페리티 비트(parity bit)를 생성한다. 오리지널(original) 데이터에 페리티를 첨부하여 인코딩된 데이터(202)를 멀티 레벨 셀(MLC)에 전달하여 저장한다(203). 그리고 카피백을 수행할지를 선택(204)한다. 카피백 동작을 하게 되면 멀티 레벨 셀의 인코딩된 데이터는 페이지 버퍼와 신드롬 장치부(142)에 각각 전송된다(206). 신드롬 장치부(142)에서 신드롬 데이터를 연산하여(207) 신드롬 데이터가 모두 "0"이면(208) 에러가 없다는 것이므로 타겟 페이지에 데이터를 전송한다(209). 만약, 신드롬 데이터 중 하나라도 "1"이 있으면 체인 장치부(143)에서 에러가 있음을 검출하게 된다(210). 체인 장치부(143)는 에러를 검출한 다음에 에러가 발생한 위치를 찾아내어(211) 레지스터(N)에는 에러의 수, 레지스터(P)에는 에러의 위치, 레지스터(M)에는 에러 정정을 위한 마스크값을 저장한다. 상기 레지스터(N, P, M) 값을 바탕으로 에러가 발생한 위치에서 XOR 연산을 통하여 잘못된 비트(bit)들을 수정하게 된다(212). 그리고 소스 페이지에서 발생한 에러들을 수정하여 에러의 축적없이 데이터를 타겟 페이지에 전송하게 된다(213).
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 플래시 메모리 장치의 구동 방법은, 카피백 동작시에 BCH 코드를 적용하여, 에러를 검출하고 정정하여 데이터를 타겟 페이지에 전달함으로써 정확한 데이터를 얻을 수 있다.

Claims (1)

  1. 페리티 장치부로부터 입력 데이터를 받아 페리티 비트를 생성하고 인코딩하는 단계;
    상기 인코딩된 데이터가 신드롬 장치부에 전송되어 연산되는 단계;
    상기 연산된 데이터에 의해 에러를 검출하고 에러가 발생한 위치를 찾아내어 레지스터에 저장하는 단계;
    상기 레지스터에 저장된 값을 바탕으로 에러가 발생한 위치에서 XOR 연산을 통하여 잘못된 비트들을 수정하는 단계; 및
    소스 페이지에서 발생한 에러들을 수정하여 에러의 축적없이 데이터를 타겟 페이지에 전송하는 단계를 포함하는 플래시 메모리 장치의 에러 정정 방법.
KR1020060043020A 2006-05-12 2006-05-12 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작 KR20070109686A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060043020A KR20070109686A (ko) 2006-05-12 2006-05-12 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060043020A KR20070109686A (ko) 2006-05-12 2006-05-12 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작

Publications (1)

Publication Number Publication Date
KR20070109686A true KR20070109686A (ko) 2007-11-15

Family

ID=39064166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060043020A KR20070109686A (ko) 2006-05-12 2006-05-12 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작

Country Status (1)

Country Link
KR (1) KR20070109686A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100908541B1 (ko) * 2007-12-24 2009-07-20 주식회사 하이닉스반도체 불휘발성 메모리 소자의 카피백 프로그램 방법
KR20110125892A (ko) * 2010-05-14 2011-11-22 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법
US8370699B2 (en) 2008-03-25 2013-02-05 Samsung Electronics Co., Ltd. Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
US9747170B2 (en) 2013-03-15 2017-08-29 Samsung Electronics Co., Ltd. Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100908541B1 (ko) * 2007-12-24 2009-07-20 주식회사 하이닉스반도체 불휘발성 메모리 소자의 카피백 프로그램 방법
US8370699B2 (en) 2008-03-25 2013-02-05 Samsung Electronics Co., Ltd. Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
KR20110125892A (ko) * 2010-05-14 2011-11-22 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법
US8751900B2 (en) 2010-05-14 2014-06-10 Samsung Electronics Co., Ltd. Storage device having a non-volatile memory device and copy-back method thereof
US9747170B2 (en) 2013-03-15 2017-08-29 Samsung Electronics Co., Ltd. Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system

Similar Documents

Publication Publication Date Title
JP4672743B2 (ja) 誤り訂正装置および誤り訂正方法
US8713407B2 (en) Semiconductor memory system having ECC circuit and controlling method thereof
US8418028B2 (en) Chien search device and Chien search method
KR100833600B1 (ko) 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치
JP4825874B2 (ja) マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US9990247B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US9312885B2 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
JP2008165808A (ja) 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US20120131418A1 (en) Memory device
KR20180089104A (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
US20140068378A1 (en) Semiconductor storage device and memory controller
KR20070109686A (ko) 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작
TWI517176B (zh) 降低nand快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置
US20130104003A1 (en) Memory system and method for recording/reproducing data thereof
KR101171773B1 (ko) 반도체 메모리 장치 및 이의 패리티 생성 방법
KR101999288B1 (ko) 메모리 데이터의 에러 보정 장치 및 방법
US20190114221A1 (en) Coding technique
KR20130077401A (ko) 반도체 메모리 장치 및 그 구동 방법
JP2005011386A (ja) 誤り訂正装置
JP5121947B2 (ja) 誤り訂正装置および誤り訂正方法
US20210319835A1 (en) Memory apparatus and data reading method thereof
TWI703572B (zh) 記憶體儲存裝置及其記憶體測試方法
US20210109808A1 (en) Using Original Data as Soft Bit Information in a Decoder

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination