KR101431760B1 - Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 - Google Patents

Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 Download PDF

Info

Publication number
KR101431760B1
KR101431760B1 KR1020080060223A KR20080060223A KR101431760B1 KR 101431760 B1 KR101431760 B1 KR 101431760B1 KR 1020080060223 A KR1020080060223 A KR 1020080060223A KR 20080060223 A KR20080060223 A KR 20080060223A KR 101431760 B1 KR101431760 B1 KR 101431760B1
Authority
KR
South Korea
Prior art keywords
parity
data
cell
memory device
flash memory
Prior art date
Application number
KR1020080060223A
Other languages
English (en)
Other versions
KR20100000647A (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 KR1020080060223A priority Critical patent/KR101431760B1/ko
Priority to US12/486,875 priority patent/US8347183B2/en
Publication of KR20100000647A publication Critical patent/KR20100000647A/ko
Application granted granted Critical
Publication of KR101431760B1 publication Critical patent/KR101431760B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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

Landscapes

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

Abstract

ECC 알고리즘을 이용한 플래시 메모리 장치 및 그 구동방법이 개시된다. 상기 플래시 메모리 장치는, 데이터를 저장하는 데이터 셀 및 제1 패리티 코드를 저장하는 패리티 셀을 포함하는 메모리 셀 어레이와, 플래시 메모리 장치의 동작 모드를 검출한 결과에 따라 제2 패리티 코드를 생성하는 패리티 제어부 및 상기 제1 패리티 코드 및 제2 패리티 코드 중 어느 하나를 입력받으며, 입력된 패리티 코드를 이용하여 상기 데이터 셀에 저장된 데이터에 대해 에러 정정 알고리즘을 수행하는 에러 정정 블록을 구비하는 것을 특징으로 하는 플래시 메모리 장치를 구비하는 것을 특징으로 한다.

Description

ECC 알고리즘을 이용한 플래시 메모리 장치 및 그 구동방법{Flash Memory Device using an ECC algorithm and Operating Method thereof}
본 발명은 플래시 메모리 장치에 관한 것으로서, 자세하게는 ECC(Error Correction Code) 알고리즘을 이용한 플래시 메모리 장치에 관한 것이다.
모바일(Mobile) 시스템 및 여러 가지 응용 시스템의 개발에 따라 불휘발성 메모리 장치인 플래시(flash) 메모리 장치의 요구가 증가되고 있다. 전기적으로 소거 및 프로그램이 가능한 플래시 메모리 장치는, 전원이 공급되지 않는 상태에서도 데이터를 보존할 수 있는 특징을 가지고 있다.
플래시 메모리는 셀과 비트라인의 연결 상태에 따라 노어(NOR)형과 낸드(NAND)형으로 구분된다. 일반적으로, 노어(NOR)형 플래시 메모리는 전류 소모가 크기 때문에 고집적화에는 불리하지만, 고속화에 용이하게 대처할 수 있는 장점이 있고, 낸드(NAND)형 플래시 메모리는 노어형 플래시 메모리에 비해 적은 셀 전류를 사용하기 때문에, 고집적화에 유리한 장점이 있다.
도 1a은 일반적인 낸드(NAND)형 플래시 메모리에 구비되는 메모리 셀 구조를 나타내는 회로도이다. 도 1a에 도시된 바와 같이, 낸드(NAND)형 플래시 메모리 장 치는 워드라인(WL11 내지 WL14)에 각각 연결되는 다수의 메모리 셀들(M11~M14)을 구비하며, 상기 다수의 메모리 셀들(M11~M14)은 선택용 트랜지스터들(ST1, ST2)과 함께 스트링(string) 구조를 이룬다. 반면에 도 1b에 도시된 바와 같이 노어(NOR)형 플래시 메모리 장치는, 메모리 셀들(M21 내지 M26)이 비트라인(BL1,BL2)과 소스 라인(CSL) 사이에 연결되는 구조를 갖는다. 낸드(NAND)형 플래시 메모리 장치는 적은 셀 전류를 사용하므로 1개의 워드라인에 연결된 모든 메모리셀에 대한 프로그램(program)을 1번의 프로그램 동작에서 수행하는 반면에, 노어(NOR)형 플래시 메모리 장치의 경우 큰 전류 소모로 인하여 1 번의 프로그램 동작에서 일정한 개수의 메모리 셀에 대하여 프로그램 동작이 수행된다.
플래시 메모리 장치는 하드 디스크 등의 다른 기록 매체와 비교하여 신뢰성이 높으며, 일반적으로 기록 단위 당(일예로서, 페이지 단위당) 많아야 하나 정도의 메모리 셀에 불량이 발생한다. 따라서 리드(Read) 동작시, 불량이 발생한 메모리 셀로부터 리드된 데이터를 정정하기 위하여 에러 정정 코드(ECC) 알고리즘이 플래시 메모리 장치에 채용되고 있다. 일예로서 헤밍 코드(Hamming Code)는 에러 정정 단위(ECC 단위)당 하나의 비트의 에러를 정정할 수 있으며, 상기 헤밍 코드에 기반한 ECC 알고리즘이 플래시 메모리 장치에 채용되는 경우가 많다.
도 2는 ECC 알고리즘을 채용한 플래시 메모리 장치의 셀 어레이(10)를 나타내는 블록도이다. 도시된 바와 같이 메모리 셀 어레이(10)는, 데이터를 저장하기 위한 데이터 셀(11)과, 에러 정정을 위한 패리티 코드(Parity Code)를 저장하기 위한 패리티 셀(12)을 포함한다. 리드 동작시, 패리티 셀(12)에 저장된 패리티 코드 도 함께 리드되고, 상기 리드된 패리티 코드가 ECC 알고리즘을 수행하는 블록으로 전달된다. 면적의 효율성을 위하여, 일반적인 플래시 메모리 장치의 경우, ECC 단위의 데이터 셀(11)과 이에 대응하는 패리티 셀(12)은 서로 벌크(bulk)를 공유하는 구조를 갖는다.
플래시 메모리 장치는, 데이터를 기록하기에 앞서 메모리 셀 어레이(10)을 소거하는 동작을 수행한다. 데이터 셀(11)과 패리티 셀(12)이 서로 벌크(bulk)를 공유하는 경우, 데이터 셀(11)에 저장된 데이터와 패리티 셀(12)에 저장된 패리티 코드가 함께 소거된다. 이에 따라 플래시 메모리 장치의 소거동작에서는 패리티 셀(12)에 저장된 패리티 코드를 이용할 수 없으며, 이에 따라 ECC 알고리즘이 소거동작에서는 적용되지 않는다.
일반적으로 플래시 메모리 장치의 소거 동작에서는, 모든 데이터 셀(11)의 문턱전압(Threshold voltage)을 변동하여 특정 전압보다 낮아지도록 한다. 또한 소거 동작 수행 후, 검증(Verify) 동작을 통하여 문턱 전압이 상기 특정 전압보다 낮아지지 않은 데이터 셀(11)이 존재하는지를 검출하고, 모든 데이터 셀(11)의 문턱 전압이 충분히 낮아질 때 까지 소거 동작을 반복한다. 상기와 같은 소거 동작의 반복은 에러 정정 단위(ECC 단위)당 하나의 비트에 에러가 발생한 경우에도 반복된다. 이에 따라 어느 하나의 셀의 문턱전압의 변동이 제대로 이루어지지 않는 경우에 전체 소거 동작이 페일(Fail)될 수 있으며, 또한 소거 동작의 반복에 의하여 소거 시간이 증가하는 등의 문제가 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 소거 동작의 페일 발생률 및 소거 동작의 소요시간을 감소시킬 수 있는 플래시 메모리 장치 및 그 구동방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 플래시 메모리 장치는, 데이터를 저장하는 데이터 셀 및 제1 패리티 코드를 저장하는 패리티 셀을 포함하는 메모리 셀 어레이와, 플래시 메모리 장치의 동작 모드를 검출한 결과에 따라 제2 패리티 코드를 생성하는 패리티 제어부 및 상기 제1 패리티 코드 및 제2 패리티 코드 중 어느 하나를 입력받으며, 입력된 패리티 코드를 이용하여 상기 데이터 셀에 저장된 데이터에 대해 에러 정정 알고리즘을 수행하는 에러 정정 블록을 구비하는 것을 특징으로 한다.
바람직하게는, 상기 패리티 제어부는, 상기 플래시 메모리 장치의 소거 동작 모드에 응답하여 상기 제2 패리티 코드를 생성하는 것을 특징으로 한다.
또한 바람직하게는, 상기 패리티 제어부는, 상기 제1 패리티 코드를 수신하고, 상기 수신된 제1 패리티 코드 및 상기 생성된 제2 패리티 코드 중 어느 하나를 선택적으로 출력하는 것을 특징으로 한다.
또한 바람직하게는, 상기 패리티 제어부는, 상기 플래시 메모리 장치의 소거 동작 모드에 응답하여 상기 제2 패리티 코드를 선택적으로 출력하는 것을 특징으로 한다.
또한 바람직하게는, 상기 패리티 제어부는, 소거 상태에 대응하는 데이터의 에러 정정을 수행하기 위한 제2 패리티 코드를 생성하는 것을 특징으로 한다.
한편, 상기 패리티 제어부는, 상기 제2 패리티 코드를 생성하는 패리티 발생부와, 상기 제1 패리티 코드 및 제2 패리티 코드를 수신하여 어느 하나의 패리티 코드를 상기 에러 정정 블록으로 출력하는 멀티플렉서 및 상기 동작 모드에 따라서 상기 패리티 발생부 및 상기 멀티플렉서를 제어하는 컨트롤러를 구비할 수 있다.
바람직하게는, 상기 컨트롤러는, 상기 플래시 메모리 장치의 소거 동작 모드에 응답하여, 상기 패리티 발생부가 상기 제2 패리티 코드를 생성하도록 제어하는 제1 제어신호를 발생하며, 또한 상기 멀티플렉서가 제2 패리티 코드를 선택적으로 출력하도록 제어하는 제2 제어신호를 발생하는 것을 특징으로 한다.
또한 바람직하게는, 상기 패리티 제어부는, 상기 플래시 메모리 장치의 동작 모드를 나타내는 신호를 입력받아 모드 상태를 검출하고, 검출 결과에 따른 신호를 상기 컨트롤러로 발생하는 모드 검출부를 더 구비하는 것을 특징으로 한다.
한편, 상기 플래시 메모리 장치는, 상기 메모리 셀 어레이에 대한 기록, 독출 및 소거 동작 등을 제어하기 위한 제어로직을 더 구비하며, 상기 제어로직은, 상기 플래시 메모리 장치의 소거 동작시, 에러가 발생한 데이터 셀에 대하여 에러 정정이 가능한지를 판단하고, 에러 정정이 가능한 것으로 판단된 경우 상기 에러가 발생한 데이터 셀에 대한 소거 동작이 종료되도록 제어하는 것을 특징으로 한다.
바람직하게는, 에러 정정 단위의 데이터에 대하여, 에러가 발생한 비트수를 검출한 결과에 기반하여 에러 정정이 가능한지를 판단하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제어로직은, 에러 정정 단위당 발생된 에러 비트수가 기 설정된 값을 초과하는 경우, 상기 에러가 발생한 데이터 셀에 대하여 소거 동작을 반복하고, 에러 정정 단위당 발생된 에러 비트수가 기 설정된 값 이하인 경우, 상기 에러가 발생한 데이터 셀에 대한 소거 동작을 종료하도록 제어하는 것을 특징으로 한다.
한편, 상기 패리티 제어부는, 상기 플래시 메모리 장치의 리드 동작시, 리드하고자 하는 데이터 셀에 대한 어드레스 정보를 더 수신하며, 상기 어드레스 정보에 따라 상기 제2 패리티 코드를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 패리티 제어부는, 상기 리드하고자 하는 데이터 셀이 프로그램된 셀에 해당하는 경우, 상기 제1 패리티 코드를 상기 에러 정정블록으로 제공하며, 상기 리드하고자 하는 데이터 셀이 소거 상태의 셀에 해당하는 경우, 상기 제2 패리티 코드를 생성하고 이를 상기 에러 정정블록으로 제공하는 것을 특징으로 한다.
한편, 본 발명의 다른 실시예에 따른 플래시 메모리 장치는, 데이터 셀 및 패리티 셀을 포함하는 메모리 셀 어레이와, 상기 데이터 셀로부터의 데이터를 수신하고 에러 정정 알고리즘을 수행하여 에러 정정된 데이터를 출력하는 에러 정정 블록과, 동작 모드에 따라서, 상기 패리티 셀로부터 독출된 제1 패리티 코드를 상기 에러 정정 블록으로 제공하거나, 내부에서 제2 패리티 코드를 생성하여 이를 상기 에러 정정 블록으로 제공하는 패리티 제어부 및 에러 정정 단위 당 에러가 발생한 비트수의 검출 결과에 따라, 에러가 발생한 데이터 셀에 대하여 소거 동작을 재수행하거나, 또는 소거 동작의 재수행을 차단하도록 제어하는 제어로직을 구비하는 것을 특징으로 한다.
한편, 본 발명의 일실시예에 따른 에러 정정 블록을 구비하는 플래시 메모리 장치의 구동 방법은, 메모리 셀에 대한 소거 동작을 수행하는 단계와, 상기 소거 동작 수행된 메모리 셀에 대하여, 에러 정정 단위의 데이터들 중 에러가 발생한 비트의 수를 판단하는 단계 및 상기 에러가 발생한 비트의 수가 기 설정된 값 이하인 경우, 에러가 발생한 데이터 셀에 대한 소거 동작을 종료하는 단계를 구비하는 것을 특징으로 한다.
상기한 바와 같은 본 발명의 플래시 메모리 장치 및 그 구동방법에 따르면, 소거 동작의 페일 발생률 및 소거 동작의 소요시간을 감소시킬 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 장치를 나타내는 블록도이다. 도시된 바와 같이 플래시 메모리 장치(100)는, 메모리 셀 어레이(110)와, 상기 메모리 셀 어레이(110)에 대하여 프로그램, 독출 및 소거 등의 동작을 수행하기 위한 주변 회로를 구비할 수 있다. 메모리 셀 어레이(110)는 데이터(DATA)를 저장하기 위한 데이터 셀(111)과, ECC 알고리즘에 사용되는 제1 패리티 코드(Parity Code)를 저장하기 위한 패리티 셀(112)을 포함한다. 상기 플래시 메모리 장치(100)는 상기 제1 패리티 코드(PAR_1)를 발생하는 소정의 패리티 발생부(미도시)를 구비할 수 있다. 패리티 발생부는 에러 정정 단위(ECC 단위)의 데이터(일예로서, 페이지 단위의 데이터)에 대응하여 제1 패리티 코드(PAR_1)를 발생하며, 발생된 제1 패리티 코드(PAR_1)는 상기 패리티 셀(112)에 저장된다. 일반적으로 플래시 메모리 장치(100)에는 헤밍 코드(Hamming Code)를 이용한 ECC 알고리즘이 채용될 수 있으며, 이 경우 제1 패리티 코드의 정보에 의하여 ECC 단위의 데이터 당 하나의 비트의 에러를 정정할 수 있다.
한편, 플래시 메모리 장치(100)는 각각의 기능을 수행하는 다양한 주변 회로를 구비할 수 있으며, 일예로서 데이터 셀(111)로부터 리드된 데이터(DATA)를 감지 증폭하는 데이터 센스 앰프(121)와, 패리티 셀(112)로부터 리드된 제1 패리티 코드(PAR_1)를 감지 증폭하는 패리티 센스 앰프(122)와, 상기 데이터(DATA) 및 수신된 패리티 코드(PAR)를 이용하여 데이터(DATA)에 대한 ECC 알고리즘을 수행하여 에러 정정된 데이터를 출력하는 에러 정정 블록(140)을 구비할 수 있다. 도시된 바와 같이 에러 정정 블록(140)은, 제1 패리티 코드(PAR_1) 또는 제2 패리티 코 드(PAR_2)를 수신하고, 이를 이용하여 ECC 알고리즘을 수행한다. 또한, 본 발명의 일실시예에 따른 플래시 메모리 장치(100)는, 에러 정정 블록(140)으로 제공되는 패리티 코드(PAR)를 제어하기 위한 패리티 제어부(130)를 더 구비할 수 있다.
본 발명의 일실시예에 따르면, 패리티 제어부(130)는 플래시 메모리 장치(100)의 동작 모드를 검출한 결과에 따라서 제2 패리티 코드(PAR_2)를 생성할 수 있으며, 바람직하게는 상기 플래시 메모리 장치(100)가 소거 동작을 수행하는 경우, 상기 소거 모드를 검출하여 제2 패리티 코드(PAR_2)를 생성할 수 있다. 제2 패리티 코드(PAR_2)는 소거 상태의 데이터 셀(111)이 갖는 데이터에 대한 에러 정정을 수행하기 위한 패리티 코드이다. 소거 상태의 데이터는 일정한 값(일예로서 데이터 "1")을 가지므로, 소거 모드에 응답하여 제2 패리티 코드(PAR_2)가 일정한 패턴을 가지며 발생되도록 설정될 수 있다.
에러 정정 블록(140)은 제1 패리티 코드(PAR_1) 및 제2 패리티 코드(PAR_2) 중 어느 하나의 패리티 코드(PAR)를 입력받아, 이를 이용하여 수신된 데이터에 대한 에러 정정 알고리즘을 수행한다. 에러 정정 블록(140)으로의 패리티 코드(PAR)의 제공은 패리티 제어부(130)에 의해 제어된다. 바람직하게는, 패리티 제어부(130)는 패리티 센스 앰프(122)로부터 제1 패리티 코드(PAR_1)를 수신하며, 상기 수신된 제1 패리티 코드(PAR_1)와 내부에서 생성된 제2 패리티 코드(PAR_2) 중 어느 하나를 선택적으로 에러 정정 블록(140)으로 출력한다.
상기와 같은 동작을 수행하기 위하여 패리티 제어부(130)는 멀티플렉서(134)를 구비할 수 있다. 상기 멀티플렉서(134)의 일 입력단은 제1 패리티 코드(PAR_1) 를 수신하며, 다른 입력단은 제2 패리티 코드(PAR_2)를 수신한다. 또한, 멀티플렉서(134)는, 플래시 메모리 장치(100)의 동작 모드를 검출한 결과에 따라서 어느 하나의 패리티 코드를 선택적으로 출력한다. 바람직하게는, 플래시 메모리 장치(100)가 프로그램된 데이터에 대한 리드 동작을 수행하는 경우, 멀티플렉서(134)는 상기 데이터에 대응하는 패리티 셀(112)로부터 리드된 제1 패리티 코드(PAR_1)를 선택적으로 출력하며, 또한, 플래시 메모리 장치(100)가 소거 동작을 수행하는 경우, 멀티플렉서(134)는 패리티 제어부(130) 내에서 생성된 제2 패리티 코드(PAR_2)를 선택적으로 출력한다.
플래시 메모리 장치(100)의 리드 동작은 다음과 같다. 메모리 셀 어레이(110)의 데이터 셀(111)로부터 리드된 데이터(DATA)는 데이터 센스 앰프(121)를 거쳐 에러 정정 블록(140)으로 제공된다. 또한 상기 데이터(DATA)에 대응하는 제1 패리티 코드(PAR_1)가 패리티 셀(112)로부터 리드되며, 제1 패리티 코드(PAR_1)는 패리티 센스 앰프(122)를 거쳐 패리티 제어부(130)로 제공된다. 패리티 제어부(130)는 플래시 메모리 장치(100)의 리드 동작 모드에 응답하여 제1 패리티 코드(PAR_1)를 에러 정정 블록(140)으로 출력한다.
에러 정정 블록(140)은, 데이터 셀(111) 및 패리티 셀(112)로부터 각각 리드된 데이터(DATA) 및 제1 패리티 코드(PAR_1)를 이용하여 ECC 알고리즘을 수행하고, 에러 정정된 데이터를 출력한다. 헤밍 코드(Hamming Code)를 이용한 ECC 알고리즘이 적용되는 경우, 상기 제1 패리티 코드(PAR_1)의 정보에 의하여 ECC 단위의 데이터 당 하나의 비트의 에러가 정정될 수 있다.
본 발명의 일실시예에 따른 플래시 메모리 장치(100)의 소거 동작을 도 4a를 참조하여 설명한다. 도 4a는 도 3의 패리티 제어부(130)의 자세한 구성을 나타내는 블록도이다.
도시된 바와 같이 패리티 제어부(130)는, 모드 디텍터(131), 컨트롤러(132), 패리티 발생부(133) 및 멀티플렉서(134)를 구비할 수 있다. 모드 디텍터(131)는 플래시 메모리 장치(100)의 동작 모드에 관한 정보를 갖는 신호(Mode_sig)를 입력받아, 이에 응답하여 제어신호(CON1)를 발생하고 이를 컨트롤러(132)로 제공한다. 일예로서, 플래시 메모리 장치(100)가 소거 모드에서 동작하는 경우 제1 레벨을 갖는 제어신호(CON1)를 컨트롤러(132)로 제공할 수 있으며, 반면에 플래시 메모리 장치(100)가 다른 모드(리드 모드 또는 프로그램 모드)에서 동작하는 경우 제2 레벨을 갖는 제어신호(CON1)를 컨트롤러(132)로 제공할 수 있다.
컨트롤러(132)는 상기 제어신호(CON1)에 응답하여 패리티 제어부(130)의 전체적인 동작을 제어한다. 일예로서 컨트롤러(132)는 제어신호(CON1)에 응답하여 패리티 발생부(133)를 제어하기 위한 제어신호(CON2)를 발생하며, 또한 멀티플렉서(134)를 제어하기 위한 제어신호(CON3)를 발생한다. 소거 모드에서 컨트롤러(132)는 제1 레벨의 제어신호(CON1)에 응답하여 패리티 발생부(133)가 제2 패리티 코드(PAR_2)를 발생하도록 제어한다. 상술하였던 바와 같이 제2 패리티 코드(PAR_2)는 소거 상태에 해당하는 메모리 셀의 데이터를 정정하기 위한 패리티 코드이다.
멀티플렉서(134)는 패리티 셀(112)로부터 리드된 제1 패리티 코드(PAR_1)와 패리티 발생부(133)에서 발생된 제2 패리티 코드(PAR_2) 중 어느 하나를 선택적으로 출력한다. 자세하게는, 플래시 메모리 장치(100)가 소거 모드에서 동작하는 경우 멀티플렉서(134)는 제2 패리티 코드(PAR_2)를 입력받으며, 컨트롤러(132)로부터의 제어신호(CON3)에 응답하여 상기 제2 패리티 코드(PAR_2)를 에러 정정 블록(140)으로 출력한다. 반면에, 플래시 메모리 장치(100)가 다른 동작모드, 일예로서 리드 모드에서 동작하는 경우, 멀티플렉서(134)는 패리티 셀(112)로부터 리드된 제1 패리티 코드(PAR_1)를 에러 정정 블록(140)으로 출력한다.
상기한 바와 같은 본 발명의 일실시예에 따른 플래시 메모리 장치(100)는, 동작 모드에 따라 서로 다른 회로 블록에서 기인하는 패리티 코드를 이용하므로, 소거 모드에서도 패리티 코드를 적절이 이용하여 ECC 알고리즘을 수행할 수 있다. 즉, 소거 모드 이외의 동작, 일예로서 리드 모드에서는 데이터 셀(111)로부터 데이터를 리드하고 패리티 셀(112)로부터 이에 대응하는 제1 패리티 코드(PAR_1)를 리드하여 상기 데이터에 대한 ECC 알고리즘을 수행한다. 또한 소거 모드에서는 소거 동작이 수행된 데이터 셀(111)에 대하여 패리티 발생부(133)에서 발생된 제2 패리티 코드(PAR_2)를 이용하여 ECC 알고리즘을 수행한다.
자세하게는, 소거 동작이 수행된 데이터 셀(111) 중 일부의 데이터 셀이 소거가 되지 않은 경우에는, 데이터 셀(111)에 대해 소거 동작을 반복하지 않고 에러가 발생한 데이터에 대해 에러 정정을 수행하고 이를 출력한다. ECC 알고리즘에 의해 ECC 단위 당 하나의 비트의 에러를 정정할 수 있는 경우, 소거 동작이 수행된 ECC 단위의 데이터 셀(111)에 대하여 하나의 비트에 에러가 발생하면, ECC 알고리 즘을 수행하여 데이터를 정정하여 출력하므로 불필요한 소거 동작의 반복을 방지할 수 있다.
한편, 상기한 실시예에서는 모드 신호에 응답하여 제1 패리티 코드(PAR_1) 및 제2 패리티 코드(PAR_2) 중 어느 하나를 선택적으로 에러 정정 블록(140)으로 제공하는 일예를 설명하였으며, 구체적으로 소거 모드에 응답하여 제2 패리티 코드(PAR_2)를 에러 정정 블록(140)으로 제공하는 일예를 설명하였다. 상기와 같은 실시예에서, 모드 신호(Mode_sig)에 의하여 패리티 제어부(130)를 제어하는 예가 설명되었으나, 상기 패리티 제어부(130)는 리드 모드에서 어드레스 정보(Add_sig)에 의해 더 제어될 수 있는데, 이를 도 4b를 참조하여 설명한다.
도 4b는 도 3의 패리티 제어부(130)의 구성의 다른예를 나타내는 블록도이다. 도 4b에 도시된 패리티 제어부(130)는 도 4a에 도시된 구성을 포함하는 것으로서, 특히 리드 모드에서 어드레스 정보(Add_sig)를 더 수신하여 패리티 코드(PAR)의 출력을 제어한다.
앞서 설명하였던 바와 같이, 패리티 제어부(130)는 모드 신호(Mode_sig)에 응답하여 제1 패리티 코드(PAR_1) 및 제2 패리티 코드(PAR_2) 중 어느 하나를 선택적으로 에러 정정 블록(140)으로 제공하며, 그 일예로서 소거 모드에 응답하여 제2 패리티 코드(PAR_2)를 에러 정정 블록(140)으로 제공한다. 도 4b의 패리티 제어부(130)는 상기 경우 이외에도, 리드 모드에서 어드레스 정보(Add_sig)에 응답하여 제1 패리티 코드(PAR_1) 또는 제2 패리티 코드(PAR_2)를 에러 정정 블록(140)으로 제공한다.
메모리 셀 어레이(110)의 일부 블록이 소거 상태인 경우, 상기 소거 상태의 블록에 대응하는 패리티 셀(112) 또한 소거 상태이며, 이에 따라 소거 상태의 데이터 셀(111)을 리드하는 경우 패리티 셀(112)에 저장된 패리티 코드를 이용하여 ECC 알고리즘을 수행할 수 없다. 이에 따라, 리드하고자 하는 셀이 소거 상태의 블록에 포함되는 경우(소거상태의 데이터 셀인 경우), 패리티 제어부(130)는 어드레스 정보(Add_sig)에 응답하여 제2 패리티 코드(PAR_2)를 생성하고, 또한 생성된 제2 패리티 코드(PAR_2)를 에러 정정 블록(140)으로 제공한다. 즉, 상술하였던 바와 같이 소거 모드에서 ECC 단위 당 소정 비트(일예로서 하나의 비트)에 에러가 발생하더라도 소거 모드를 종료하며, 이후 리드동작에서 소거상태의 데이터 셀을 리드하는 경우 상기 에러가 발생한 데이터를 제2 패리티 코드(PAR_2)를 이용하여 정정할 수 있다.
반면에, 리드하고자 하는 셀이 소거 상태의 블록에 포함되지 않는 경우(프로그램된 데이터 셀인 경우), 패리티 제어부(130)는 어드레스 정보(Add_sig)에 응답하여 패리티 셀(112)로부터 수신된 제1 패리티 코드(PAR_1)를 에러 정정 블록(140)으로 제공한다. 이 경우 컨트롤러(132)는 패리티 발생부(133)를 비활성화시켜 제2 패리티 코드(PAR_2)의 발생을 차단시킬 수 있다.
한편, 패리티 코드를 이용하여 에러 정정을 수행하는 경우, ECC 단위 당 일정 비트수 이하의 데이터에 에러가 발생한 경우에 에러 정정이 가능하다. 이에 따라, 소거 동작이 수행된 데이터 셀(111)에 에러가 발생한 경우, 상기 에러가 정정이 가능한지를 판단하고, 판단 결과에 따라 데이터 셀(111)에 대한 소거 동작을 재 수행하거나 또는 소거 동작의 반복 없이 상기 데이터에 대하여 ECC 알고리즘을 수행할 필요가 있다. 이와 관련하여 본 발명의 일실시예에 따른 플래시 메모리 장치의 동작을 도 5를 참조하여 설명한다.
도 5는 본 발명의 다른 실시예에 따른 플래시 메모리 장치(200)를 나타내는 블록도이다. 도 5에 도시된 바와 같이 플래시 메모리 장치(200)는, 데이터 셀(211) 및 패리티 셀(212)을 포함하는 메모리 셀 어레이(210)와, 메모리 셀 어레이(210)의 리드, 프로그램 및 소거 등의 동작을 수행하기 위한 주변 회로 및 상기 주변 회로의 전반적인 동작을 제어하기 위한 제어로직(260)을 구비할 수 있다. 또한 상기 주변 회로로서, 데이터 센스 앰프(221), 패리티 센스 앰프(222), 에러 정정 블록(240) 및 검증 블록(250) 등이 플래시 메모리 장치(200)에 구비될 수 있다. 또한 패리티 제어부를 구성하는 모드 디텍터(231), 컨트롤러(232), 패리티 발생부(233) 및 멀티플렉서(234) 등이 플래시 메모리 장치(200)에 구비될 수 있다. 도 5에 도시된 회로 블록들 중 도 3에 도시되었던 회로 블록과 동일한 구성에 대해서는 그 동작 또한 동일 또는 유사하게 수행되므로 이에 대한 자세한 설명은 생략한다.
플래시 메모리 장치(200)의 리드 모드에서, 제어로직(260)은 메모리 셀 어레이(210)에 저장된 데이터를 리드하기 위하여 주변회로를 제어한다. 상기 제어하에서, 메모리 셀 어레이(210)의 데이터 셀(211)로부터 데이터(DATA)가 리드되며, 리드된 데이터(DATA)는 데이터 센스 앰프(221)를 거쳐 에러 정정 블록(240)으로 제공된다. 또한 모드 디텍터(231)는 동작 모드에 관한 정보를 갖는 신호(Mode_sig)에 응답하여 컨트롤러(232)로 제어신호(CON1)를 제공한다. 컨트롤러(232)는 제어신 호(CON1)에 응답하여 패리티 발생부(233)를 활성화시키거나 비활성화시키다. 또한 컨트롤러(232)는 멀티플렉서(234)를 제어하여 제1 패리티 코드(PAR_1) 또는 제2 패리티 코드(PAR_2)가 에러 정정 블록(240)으로 제공되도록 한다.
도 5에는 도시되지 않았으나, 상술하였던 바와 같이 리드 모드에서 컨트롤러(232)는 어드레스 정보를 더 입력받을 수 있으며, 리드하고자 하는 데이터가 프로그램된 데이터에 해당하는 경우, 멀티플렉서(234)는 상기 데이터에 대응하는 제1 패리티 코드(PAR_1)를 에러 정정 블록(240)으로 제공할 수 있다. 반면에 리드하고자 하는 데이터가 소거 상태의 데이터에 해당하는 경우, 패리티 발생부(233)는 제2 패리티 코드(PAR_2)를 생성하고, 멀티플렉서(234)는 제2 패리티 코드(PAR_2)를 에러 정정 블록(240)으로 제공할 수 있다.
에러 정정 블록(240)은 수신된 데이터(DATA)와 패리티 코드(PAR)를 이용하여 상기 데이터(DATA)에 대한 에러 정정을 수행한다. 리드된 데이터(DATA)의 ECC 단위에 대하여 소정의 비트수 이하(일예로서 1 비트)에 에러가 발생한 경우, ECC알고리즘에 의하여 에러 정정된 데이터가 에러 정정 블록(240)으로부터 출력된다.
한편, 플래시 메모리 장치(200)의 소거 모드에서는, 제어로직(260)은 메모리 셀 어레이(210)에 저장된 데이터를 소거하기 위하여 주변회로를 제어한다. 먼저, 메모리 셀 어레이(210)에 구비되는 데이터 셀(211)에 대한 소거 동작을 수행한다. 데이터 셀(211)과 패리티 셀(212)이 벌크(bulk)를 공유하는 경우 데이터 셀(211)과 패리티 셀(212)은 동시에 소거된다.
소거 동작 이후, 데이터 셀(211)에 구비되는 셀 트랜지스터의 문턱 전 압(Threshold voltage)이 특정한 기준 전압보다 낮아졌는지를 판단하기 위한 검증 동작이 수행된다. 도 5에 도시된 검증 블록(250)으로 데이터 셀(211)에서 리드된 데이터(DATA)가 제공되며, 상기 데이터 셀(211)에 대한 검증 동작을 수행한다. 또한 데이터 셀(211) 및 패리티 셀(212)에 구비되는 셀 트랜지스터에 대한 검증 동작이 수행되어도 무방하다. 이를 위하여 데이터 셀(211) 및 패리티 셀(212)의 리드 결과가 상기 검증 블록(250)으로 제공될 수 있다.
검증 블록(250)은 데이터 셀(211) 및/또는 패리티 셀(212)로부터 리드된 데이터를 검증한 결과를 제어로직(260)으로 출력한다. 제어로직(260)은 상기 검증 결과에 따라 메모리 셀 어레이(210)에 대해 소거동작을 반복하도록 제어하거나, 또는 소거 동작을 반복함이 없이 에러가 발생한 데이터에 대해 ECC 알고리즘이 수행되도록 제어한다. 바람직하게는, ECC 단위의 데이터에 대하여 발생된 에러가 정정이 가능한지를 판단하고, 에러 정정이 가능한 것으로 판단된 경우 메모리 셀 어레이(210)에 대해 소거 동작이 반복되는 것을 차단한다. 즉, ECC 단위 당 발생한 에러 비트수가 ECC 알고리즘에 의해 정정 가능한 비트수인지를 판단하여, 정정 가능한 비트수라면 에러가 발생한 데이터 셀에 대해 소거 동작을 재수행하지 않고, 에러 정정 블록(240)에 의하여 상기 에러가 정정되도록 제어한다.
ECC 단위 당 발생한 에러 비트수가 소정의 임계값을 초과하게 되면, 메모리 셀 어레이(210)에 대한 소거 동작이 반복된다. 검증 블록(250)은 상기 소거 동작이 재수행된 이후에 데이터 셀(211) 및/또는 패리티 셀(212)에 대한 검증 동작을 수행하고 이에 따른 검증 결과를 제어로직(260)으로 출력한다. 재소거 동작에 의하여 ECC 단위 당 발생한 에러 비트수가 상기 임계값 이하로 감소하면, 제어로직(260)은 메모리 셀 어레이(210)에 대한 소거 동작을 종료하고 ECC 단위의 데이터에 대한 ECC 알고리즘이 수행되도록 제어한다.
패리티 제어부의 동작을 제어하기 위한 컨트롤러(232)는 상기와 같은 제어로직(260)의 제어하에서 패리티 발생부(233) 및 멀티플렉서(234)를 제어한다. 이를 위하여 컨트롤러(232)는 모드 디텍터(231)로부터 제공되는 제어신호(CON1) 외에 ECC 단위의 데이터가 에러 정정 가능함을 나타내는 또 다른 제어신호(Det_sig)를 더 수신할 수 있다. 바람직하게는 상기 제어신호(Det_sig)는 제어로직(260)으로부터 제공될 수 있다.
컨트롤러(232)는 상기 제어신호(CON1) 및 제어신호(Det_sig)에 기반하여 패리티 발생부(233)와 멀티플렉서(234)를 제어한다. 즉, 플래시 메모리 장치(200)가 소거 모드에서 동작하고, ECC 단위의 데이터에 대해 ECC 알고리즘으로 에러 정정이 가능한 경우, 컨트롤러(232)는 패리티 발생부(233)를 활성화하여 제2 패리티 코드(PAR_2)가 발생되도록 한다. 또한 발생된 제2 패리티 코드(PAR_2)는 멀티플렉서(234)의 입력단으로 제공되며, 컨트롤러(232)는 멀티플렉서(234)를 제어하여 제2 패리티 코드(PAR_2)가 에러 정정 블록(240)으로 제공되도록 한다.
상기와 같은 동작에 따라, 소거 동작이 수행되는 모든 셀의 문턱전압이 특정한 기준 전압보다 낮아질 때까지 소거 동작을 반복할 필요가 없다. 즉, 소거가 이루어지지 않은 소수의 셀에 대해서는 소거 동작을 반복하지 않고 패리티 코드를 이용하여 에러 정정을 수행한다. 이에 따라 불필요한 소거 동작의 반복을 방지하여 소거 시간을 단축시킬 수 있으며, 소수 셀에 의하여 소거 동작 전체가 페일(Fail)되는 문제를 방지할 수 있다.
도 6은 본 발명의 일실시예에 따른 플래시 메모리 장치의 구동방법을 나타내는 플로우차트이다. 특히, 도 6은 에러 정정 알고리즘을 이용하여 소거 동작을 수행하는 구동방법을 나타낸다.
먼저, 플래시 메모리 장치가 소거 모드에서 동작함에 따라 메모리 셀 어레이의 셀들을 소거하는 동작이 수행된다(S11). 소거 동작을 수행한 후 상기 셀들에 대한 검증 동작이 수행되며(S12), 상기 검증 동작은 메모리 셀 어레이의 셀들의 문턱전압이 기준 전압 이하로 낮아졌는지를 판단함으로써 수행될 수 있다.
상기 셀들에 대한 검증 동작 수행결과, 패스(Pass) 또는 페일(Fail) 여부를 판별한다(S13). 패스(Pass)인 것으로 판별된 경우, 소거 동작이 수행된 셀들의 문턱전압이 모두 기준 전압 이하로 낮아졌으므로 해당 블록(block)에 대한 소거 동작을 종료한다(S14). 반면, 페일(Fail)인 것으로 판별된 경우, 소거 동작이 수행된 셀들 중 일부의 셀들이 소거되지 않은 상태이므로, 상기 일부의 셀들의 문턱전압을 기준 전압 이하로 낮추기 위하여 소거 동작을 재 수행하거나, 또는 본 발명의 일실시예에 따라 소거 동작을 재수행하지 않고 에러가 발생한 데이터에 대하여 ECC 알고리즘을 수행하여 에러를 정정하여 출력한다.
상기와 같은 동작을 수행하기 위하여, 검증 동작 결과가 페일(Fail)인 것으로 판별된 경우, ECC 단위로 에러의 데이터에 대하여 에러가 발생한 비트수를 카운트한다(S15). 에러가 발생한 비트수는 소거가 되지 않은 셀들의 수와 일치될 수 있 다. 반면에, 플래시 메모리 장치에 구비되는 메모리 셀 어레이가 멀티레벨 셀(Multi-level cell)을 구비하는 경우, 하나의 셀에 2 비트 이상의 에러가 발생할 수 있다.
한편, 에러가 발생한 비트수를 카운트한 후, 상기 카운트한 결과에 따라 ECC 알고리즘을 통해 에러가 정정 가능한지를 판별한다. 일예로서, ECC 알고리즘에 의하여 ECC 단위당 하나의 비트의 에러를 정정할 수 있는 경우, 상기 카운트 결과가 "1"에 해당하는 경우 에러 정정이 가능한 것으로 판별한다. 이와 같이 판별된 경우에는, 에러가 발생한 하나의 셀에 대한 소거 동작을 종료한다(S14). 그리고, 에러가 발생된 데이터에 대해 ECC 알고리즘을 수행하여 에러 정정된 데이터를 발생한다.
반면에, 에러가 발생한 비트수가 정정 불가능한 것으로 판단된 경우에는, 해당 셀에 대한 소거 동작이 재수행되도록 한다. 소거 동작을 재수행하는 횟수와 관련하여 최대 루프값이 설정될 수 있다. 이에 따라, 해당 셀에 대한 소거 동작 횟수가 최대 루프값을 초과하는 지를 판단한다(S17). 판단 결과 소거 동작 횟수가 최대 루프값 이하인 경우, 해당 셀에 대한 소거 동작을 수행하기 위한 단계가 수행된다(S11). 소거 동작을 재수행시 최대 루프값과 비교되는 루프 값을 카운팅하는 단계가 수행될 수 있다(S18). S11 단계에 의하여 소거 동작이 재수행되면, 이후 검증 동작, 패스(Pass)/페일(Fail) 판별 동작, 및 에러 정정 가능한지를 판별하는 동작 등이 반복된다. 소거 동작의 반복이 최대 루프값을 초과하게 되면, 해당 소거 동작 모드가 페일(Fail)인 것으로 결정한다(S19).
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
도 1a은 일반적인 낸드(NAND)형 플래시 메모리에 구비되는 메모리 셀 구조를 나타내는 회로도이다.
도 1b는 일반적인 노어(NOR)형 플래시 메모리에 구비되는 메모리 셀 구조를 나타내는 회로도이다.
도 2는 ECC 알고리즘을 채용한 플래시 메모리 장치의 셀 어레이를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 장치를 나타내는 블록도이다.
도 4a,b는 도 3의 패리티 제어부의 자세한 구성을 나타내는 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 플래시 메모리 장치를 나타내는 블록도이다.
도 6은 본 발명의 일실시예에 따른 플래시 메모리 장치의 구동방법을 나타내는 플로우차트이다.
* 도면의 주요부분에 대한 부호의 설명 *
100: 플래시 메모리 장치
110: 메모리 셀 어레이
111: 데이터 셀 112: 패리티 셀
121: 데이터 센스 앰프 122: 패리티 센스 앰프
130: 패리티 제어부
131: 모드 디텍터 132: 컨트롤러
133: 패리티 발생부 134: 멀티플렉서
140: 에러 정정 블록

Claims (23)

  1. 데이터를 저장하는 데이터 셀 및 제1 패리티 코드를 저장하는 패리티 셀을 포함하는 메모리 셀 어레이;
    플래시 메모리 장치의 동작 모드를 검출한 결과에 따라 제2 패리티 코드를 생성하는 패리티 제어부; 및
    상기 제1 패리티 코드 및 제2 패리티 코드 중 어느 하나를 입력받으며, 입력된 패리티 코드를 이용하여 상기 데이터 셀에 저장된 데이터에 대해 에러 정정 알고리즘을 수행하는 에러 정정 블록을 구비하는 것을 특징으로 하는 플래시 메모리 장치.
  2. 제1항에 있어서, 상기 패리티 제어부는,
    상기 플래시 메모리 장치의 소거 동작 모드에 응답하여 상기 제2 패리티 코드를 생성하는 것을 특징으로 하는 플래시 메모리 장치.
  3. 제2항에 있어서, 상기 패리티 제어부는,
    상기 제1 패리티 코드를 수신하고, 상기 수신된 제1 패리티 코드 및 상기 생성된 제2 패리티 코드 중 어느 하나를 선택적으로 출력하는 것을 특징으로 하는 플래시 메모리 장치.
  4. 제3항에 있어서, 상기 패리티 제어부는,
    상기 플래시 메모리 장치의 소거 동작 모드에 응답하여 상기 제2 패리티 코드를 선택적으로 출력하는 것을 특징으로 하는 플래시 메모리 장치.
  5. 삭제
  6. 제1항에 있어서, 상기 패리티 제어부는,
    상기 제2 패리티 코드를 생성하는 패리티 발생부;
    상기 제1 패리티 코드 및 제2 패리티 코드를 수신하여 어느 하나의 패리티 코드를 상기 에러 정정 블록으로 출력하는 멀티플렉서; 및
    상기 동작 모드에 따라서 상기 패리티 발생부 및 상기 멀티플렉서를 제어하는 컨트롤러를 구비하는 것을 특징으로 하는 플래시 메모리 장치.
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 플래시 메모리 장치는, 상기 메모리 셀 어레이에 대한 기록, 독출 및 소거 동작 등을 제어하기 위한 제어로직을 더 구비하며,
    상기 제어로직은,
    상기 플래시 메모리 장치의 소거 동작시, 에러가 발생한 데이터 셀에 대하여 에러 정정이 가능한지를 판단하고, 에러 정정이 가능한 것으로 판단된 경우 상기 에러가 발생한 데이터 셀에 대한 소거 동작이 종료되도록 제어하는 것을 특징으로 하는 플래시 메모리 장치.
  10. 삭제
  11. 삭제
  12. 제1항에 있어서, 상기 패리티 제어부는,
    상기 플래시 메모리 장치의 리드 동작시, 리드하고자 하는 데이터 셀에 대한 어드레스 정보를 더 수신하며, 상기 어드레스 정보에 따라 상기 제2 패리티 코드를 생성하는 것을 특징으로 하는 플래시 메모리 장치.
  13. 삭제
  14. 데이터 셀 및 패리티 셀을 포함하는 메모리 셀 어레이;
    상기 데이터 셀로부터의 데이터를 수신하고 에러 정정 알고리즘을 수행하여 에러 정정된 데이터를 출력하는 에러 정정 블록;
    동작 모드에 따라서, 상기 패리티 셀로부터 독출된 제1 패리티 코드를 상기 에러 정정 블록으로 제공하거나, 내부에서 제2 패리티 코드를 생성하여 이를 상기 에러 정정 블록으로 제공하는 패리티 제어부; 및
    에러 정정 단위 당 에러가 발생한 비트수의 검출 결과에 따라, 에러가 발생한 데이터 셀에 대하여 소거 동작을 재수행하거나, 또는 소거 동작의 재수행을 차단하도록 제어하는 제어로직을 구비하는 것을 특징으로 하는 플래시 메모리 장치.
  15. 제14항에 있어서, 상기 플래시 메모리 장치의 소거 동작시,
    에러 정정 단위 당 에러가 발생한 비트수가 기 설정된 값 이하인 경우, 상기 에러가 발생한 데이터 셀에 대한 소거 동작의 재수행이 차단되며,
    에러 정정 단위 당 에러가 발생한 비트수가 기 설정된 값을 초과하는 경우, 상기 에러가 발생한 데이터 셀에 대한 소거 동작을 반복하는 것을 특징으로 하는 플래시 메모리 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 에러 정정 블록을 구비하는 플래시 메모리 장치의 구동 방법에 있어서,
    메모리 셀에 대한 소거 동작을 수행하는 단계;
    상기 소거 동작 수행된 메모리 셀에 대하여, 에러 정정 단위의 데이터들 중 에러가 발생한 비트의 수를 판단하는 단계; 및
    상기 에러가 발생한 비트의 수가 기 설정된 값 이하인 경우, 에러가 발생한 데이터 셀에 대한 소거 동작을 종료하는 단계를 구비하는 것을 특징으로 하는 플래시 메모리 장치의 구동 방법.
  21. 삭제
  22. 삭제
  23. 삭제
KR1020080060223A 2008-06-25 2008-06-25 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 KR101431760B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080060223A KR101431760B1 (ko) 2008-06-25 2008-06-25 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US12/486,875 US8347183B2 (en) 2008-06-25 2009-06-18 Flash memory device using ECC algorithm and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080060223A KR101431760B1 (ko) 2008-06-25 2008-06-25 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법

Publications (2)

Publication Number Publication Date
KR20100000647A KR20100000647A (ko) 2010-01-06
KR101431760B1 true KR101431760B1 (ko) 2014-08-20

Family

ID=41449082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080060223A KR101431760B1 (ko) 2008-06-25 2008-06-25 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법

Country Status (2)

Country Link
US (1) US8347183B2 (ko)
KR (1) KR101431760B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447739B (zh) * 2010-03-22 2014-08-01 Phison Electronics Corp 錯誤校正方法、記憶體控制器與儲存系統
TWI456579B (zh) * 2010-03-26 2014-10-11 Silicon Motion Inc 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器
JP5720210B2 (ja) * 2010-12-02 2015-05-20 富士通株式会社 アクセス制御装置、誤り訂正制御方法およびストレージ装置
US8694862B2 (en) * 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
US9152584B2 (en) 2013-10-29 2015-10-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing bus resiliency in a hybrid memory system
US9696920B2 (en) * 2014-06-02 2017-07-04 Micron Technology, Inc. Systems and methods for improving efficiencies of a memory system
TWI596476B (zh) * 2015-11-27 2017-08-21 群聯電子股份有限公司 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元
TWI591641B (zh) * 2016-02-19 2017-07-11 群聯電子股份有限公司 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置
TWI575533B (zh) * 2016-04-18 2017-03-21 群聯電子股份有限公司 資料校正方法、記憶體控制電路單元與記憶體儲存裝置
US20220365707A1 (en) * 2021-05-12 2022-11-17 Samsung Electronics Co., Ltd. System and method for fine granular retention control in storage devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031593A1 (en) 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems
KR20060022144A (ko) * 2004-09-06 2006-03-09 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 반도체 메모리 장치
US20080028133A1 (en) 2003-07-23 2008-01-31 Jeong-Mi Kwon Flash memory system and data writing method thereof
US20080082736A1 (en) 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486132B1 (ko) 1996-12-03 2005-09-02 소니 가부시끼 가이샤 Ecc를이용한신속한데이터프로그래밍및소거기능을가지는불휘발성반도체기억장치
JP2000348497A (ja) 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
US8239732B2 (en) * 2007-10-30 2012-08-07 Spansion Llc Error correction coding in flash memory devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028133A1 (en) 2003-07-23 2008-01-31 Jeong-Mi Kwon Flash memory system and data writing method thereof
US20080082736A1 (en) 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US20060031593A1 (en) 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems
KR20060022144A (ko) * 2004-09-06 2006-03-09 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 반도체 메모리 장치

Also Published As

Publication number Publication date
US8347183B2 (en) 2013-01-01
KR20100000647A (ko) 2010-01-06
US20090327839A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
KR101431760B1 (ko) Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US9183946B2 (en) Method of storing data in nonvolatile memory device and method of testing nonvolatile memory device
CN109493907B (zh) 非易失性存储设备的操作方法和存储器控制器的操作方法
US9201718B2 (en) Data recovery in a solid state storage system
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US8418030B2 (en) Storage system with data recovery function and method thereof
US8719662B2 (en) Memory device with error detection
US8595593B2 (en) Nonvolatile memory device having a copy back operation and method of operating the same
US10803971B2 (en) Device for supporting error correction code and test method thereof
TWI446347B (zh) 偵測快閃記憶體程式化失敗之方法
US20120239866A1 (en) Non-volatile memory with error correction for page copy operation and method thereof
KR20060048803A (ko) 불휘발성 메모리 및 메모리 카드
JP4761910B2 (ja) 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP2007035244A (ja) プログラム速度を向上させる不揮発性メモリ装置及びそのプログラム方法
US20130061113A1 (en) Method of correcting errors and memory device using the same
US7471562B2 (en) Method and apparatus for accessing nonvolatile memory with read error by changing read reference
KR20170052066A (ko) 메모리 시스템 및 이의 동작 방법
JP6115740B1 (ja) 半導体記憶装置
CN116153378A (zh) 错误检查刷写操作方法和使用该方法的半导体***
JP2005056394A (ja) 記憶装置及びメモリカード
TWI497514B (zh) 非揮發性記憶體裝置及其操作方法
JP2013232272A (ja) 誤り訂正符号を有する不揮発性メモリシステムの消去
US7773421B2 (en) Method and apparatus for accessing memory with read error by changing comparison
US8077516B2 (en) Method and apparatus for accessing memory with read error by changing comparison
JP2008159134A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 6