[go: up one dir, main page]

KR101588293B1 - 비휘발성 메모리 장치의 읽기 방법 - Google Patents

비휘발성 메모리 장치의 읽기 방법 Download PDF

Info

Publication number
KR101588293B1
KR101588293B1 KR1020090012811A KR20090012811A KR101588293B1 KR 101588293 B1 KR101588293 B1 KR 101588293B1 KR 1020090012811 A KR1020090012811 A KR 1020090012811A KR 20090012811 A KR20090012811 A KR 20090012811A KR 101588293 B1 KR101588293 B1 KR 101588293B1
Authority
KR
South Korea
Prior art keywords
data
sector
bad sector
bad
error
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020090012811A
Other languages
English (en)
Other versions
KR20100093739A (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 KR1020090012811A priority Critical patent/KR101588293B1/ko
Priority to US12/702,481 priority patent/US8321765B2/en
Publication of KR20100093739A publication Critical patent/KR20100093739A/ko
Application granted granted Critical
Publication of KR101588293B1 publication Critical patent/KR101588293B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/26Sensing or reading circuits; Data output circuits
    • 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
    • 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/1515Reed-Solomon codes
    • 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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

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

비휘발성 메모리 장치의 읽기 방법은 메모리 셀 데이터 및 배드 섹터 정보에 기초하여 배드 섹터(bad sector)에 포함된 메모리 셀들에 기입된 데이터에 상응하는 배드 섹터 데이터를 전송하는 단계, 배드 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터를 배드 섹터로 판단하여 배드 섹터 정보를 갱신하는 단계, 갱신된 배드 섹터 정보에 기초하여 배드 섹터 데이터 요청 신호를 생성하는 단계, 배드 섹터 데이터 요청 신호에 응답하여 읽기 동작 워드 라인 전압을 조정하는 단계, 및 읽기 동작 워드 라인 전압에 기초하여 메모리 셀 어레이에 포함된 메모리 셀들에 기입된 데이터에 상응하는 메모리 셀 데이터를 갱신하는 단계를 포함한다. 비휘발성 메모리 장치의 읽기 방법은 동작 시간을 줄일 수 있다.

Description

비휘발성 메모리 장치의 읽기 방법 {method of reading data in a non-volatile memory device}
본 발명은 비휘발성 메모리 장치의 읽기 방법에 관한 것으로, 더욱 상세하게는 비휘발성 메모리 장치의 배드 섹터 데이터 전송과 관련한 읽기 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 크게 휘발성 메모리 장치(volatile memory device)와 비휘발성 메모리 장치(non-volatile memory device)로 나눌 수 있다. 비휘발성 메모리 장치는 전원이 차단되어도 저장되어있 던 데이터가 소멸하지 않는 반도체 메모리 장치로써, 블록(block), 혹은 블록을 구성하는 섹터(sector)단위로 데이터 기입 및 소거 동작을 수행한다. 기입 및 소거 동작을 반복함에 따라 반도체 메모리 장치에 포함되어 있는 셀의 문턱 전압 산포(threshold voltage distribution) 특성이 저하되고, 플로팅 게이트의 커플링 및 전하 손실 등 여러 가지 이유로 반도체 메모리 장치의 신뢰성이 저하된다. 따라서 메모리 셀 각각의 문턱 전압의 산포 특성이 저하됨에 따라 읽기 동작 워드 라인 전압을 변경하여 데이터를 읽고, 에러를 정정하는 과정에 소요되는 시간이 증가한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 읽기 시간을 줄일 수 있는 비휘발성 메모리 장치의 읽기 방법을 제공하는 것이다.
본 발명의 다른 목적은 에러 정정에 소요되는 시간을 줄여 동작 속도를 향상 시킬 수 있는 비휘발성 메모리 장치의 읽기 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 읽기 방법은 메모리 셀 데이터 및 배드 섹터 정보에 기초하여 배드 섹터(bad sector)에 포함된 메모리 셀들에 기입된 데이터에 상응하는 배드 섹터 데이터를 전송하는 단계, 상기 배드 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터를 배드 섹터로 판단하여 상기 배드 섹터 정보를 갱신하는 단계, 상기 갱신된 배드 섹터 정보에 기초하여 배드 섹터 데이터 요청 신호를 생성하는 단계, 상기 배드 섹터 데이터 요청 신호에 응답하여 읽기 동작 워드 라인 전압을 조정하는 단계, 및 상기 읽기 동작 워드 라인 전압에 기초하여 상기 메모리 셀 어레이에 포함된 메모리 셀들에 기입된 데이터에 상응하는 메모리 셀 데이터를 갱신하는 단계를 포함한다. 상기 배드 섹터 정보는 초기 상태에서 상기 메모리 셀 어레이에 포함된 모든 섹터가 상기 배드 섹터라는 정보를 포함할 수 있다.
일 실시예에 있어서, 비휘발성 메모리 장치의 읽기 방법은 미리 설정된 값 이하의 에러 비트 수를 가지는 섹터에 기입된 데이터의 에러를 정정하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 배드 섹터 데이터 요청 신호를 생성하는 단계는 상기 판단된 배드 섹터가 적어도 하나 이상 존재하는 경우에는 상기 배드 섹터 데이터 요청 신호를 활성화하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 읽기 동작 워드 라인 전압을 조정하는 단계는 상기 배드 섹터 정보에 기초하여 제어 신호를 생성하는 단계, 및 상기 제어 신호에 기초하여 읽기 동작 워드 라인 전압을 증가시키거나 감소시키는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 읽기 방법은 읽기 요청 신호에 기초하여 배드 섹터에 기입된 데이터를 읽으라는 섹터 읽기 제어 신호를 생성하고 읽기 동작 워드 라인 전압을 조정하는 단계, 상기 섹터 읽기 제어 신호 및 상기 읽기 동작 워드 라인 전압에 기초하여 배드 섹터에 포함된 메모리 셀들에 기입된 데이터에 상응하는 배드 섹터 데이터를 생성하는 단계, 상기 배드 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터를 상기 배드 섹터로 판단하여 상기 배드 섹터 정보를 갱신하는 단계, 및 상기 갱신된 배드 섹터 정보에 기초하여 상기 읽기 요청 신호를 생성하는 단계를 포함한다. 상기 섹터 읽기 제어 신호는 초기 상태에서 메모리 셀 어레이에 포함된 모든 섹터에 기입된 데이터를 읽으라는 신호일 수 있다.
일 실시예에 있어서, 비휘발성 메모리 장치의 읽기 방법은 미리 설정된 값 이하의 에러 비트 수를 가지는 섹터에 기입된 데이터의 에러를 정정하는 단계를 더 포함할 수 있다.
상기 읽기 요청 신호를 생성하는 단계는 상기 배드 섹터가 적어도 하나 이상인 경우에는 상기 읽기 요청 신호를 활성화하는 단계를 포함할 수 있다.
상기 섹터 읽기 제어 신호를 생성하고 상기 읽기 동작 워드 라인 전압을 조정하는 단계는 상기 읽기 요청 신호에 응답하여 제어 신호를 생성하는 단계, 상기 제어 신호에 기초하여 상기 섹터 읽기 제어 신호를 생성하는 단계, 및 상기 제어 신호에 기초하여 상기 읽기 동작 워드 라인 전압을 조정하는 단계를 포함할 수 있다.
상기와 같은 본 발명의 실시예들에 따른 비휘발성 메모리 장치 읽기 방법은 배드 섹터 데이터만을 전송하여 읽기 시간을 단축시킬 수 있다.
또한, 상기와 같은 본 발명의 실시예들에 따른 비휘발성 메모리 장치 읽기 방법은 배드 섹터 데이터에 포함된 에러만을 정정함으로써 에러 정정에 소요되는 시간을 단축시킬 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지 다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 1을 참조하면, 비휘발성 메모리 장치(100)는 제어부(110), 읽기 동작 워드 라인 전압 생성기(120), 복수 개의 메모리 셀들을 포함하는 메모리 셀 어레이(130), 페이지 버퍼(140), 및 에러 정정 회로부(150)를 포함한다.
비휘발성 메모리 장치(100)는 EEPROM(Electrically Erasable Programmable Read Only Memory), NAND 플래시 메모리, NOR 플래시 메모리, PRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등일 수 있다.
제어부(110)는 페이지 버퍼 제어기(112)를 포함한다. 페이지 버퍼 제어기(112)는 배드 섹터 정보(BSI)를 입력 받아 페이지 버퍼 제어 신호(PBCON)를 생성한다. 페이지 버퍼 제어 신호(PBCON)는 페이지 버퍼(140)가 에러 정정 회로부(150)로 송신하는 배드 섹터 데이터(BSDATA)를 생성하는 과정을 제어한다. 페이지 버퍼 제어기(112)는 제어부(110)에 포함되는 형태로 도시되었으나 제어부(110)의 외부에 구현될 수도 있다.
읽기 동작 워드 라인 전압 발생기(120)는 제어부(110)로부터 제어 신호(CON)를 입력 받아 읽기 동작 워드 라인 전압(Vrwl)을 조정한다. 읽기 동작 워드 라인 전압(Vrwl)은 읽기 동작에서의 선택 워드 라인 전압(Vread) 및 읽기 동작에서의 비선택 워드 라인 전압(Vpass)을 포함한다. 이들은 각각 읽기 전압(Vread), 및 패스 전압(Vpass)일 수 있다. 읽기 동작 워드 라인 전압(Vrwl)의 조정은 읽기 동작에서의 선택 워드 라인 전압(Vread), 혹은 읽기 동작에서의 비선택 워드 라인 전압(Vpass)을 조정하거나 읽기 동작에서의 선택 워드 라인 전압(Vread), 및 읽기 동작에서의 비선택 워드 라인 전압(Vpass)을 각각 조정하여 이루어질 수 있다. 메모리 셀의 기입 혹은 소거 과정이 반복됨에 따라 메모리 셀의 문턱 전압이 상이해지기 때문에 동일한 읽기 동작 워드 라인 전압(Vrwl)을 이용하여 읽기 동작을 수행할 경우, 에러 발생이 증가하게 되어 읽기 동작 워드 라인 전압(Vrwl)을 조정하여 읽기 동작을 반복할 필요가 있다. 읽기 동작 워드 라인 전압(Vrwl)은 셀의 상태를 판 별하기 위한 전압으로 예를 들어, 싱글 레벨 셀(Single Level Cell)방식으로 데이터를 기입한 경우에는, '0' 또는 '1'의 두 가지 상태 중의 하나에 해당하는지 여부만 판단하면 된다. 하지만, 반도체 메모리 장치의 집적도 향상을 위하여 멀티 레벨 셀(Multi Level Cell)방식으로 데이터를 기입한 경우에는 적어도 4가지 상태를 구별하기 위하여 적어도 3가지 경계를 판단하여야 한다. 경계 판단을 위한 읽기 동작 워드 라인 전압의 조정은 싱글 레벨 셀의 경우보다 정밀하게 이루어 져야 하며, 에러 정정에 소요되는 시간이 증가하게 된다. 따라서 메모리 셀의 집적도가 향상됨에 따라 에러 정정에 소요되는 시간이 증가하게 되어 읽기 동작의 전체 시간이 증가하게 되는 문제점이 발생한다. 본 발명에 따른 비휘발성 메모리 장치 읽기 방법은 읽기 동작에 소요되는 시간을 줄이게 됨으로써 전체 동작 시간을 줄일 수 있다. 생성된 읽기 동작 워드 라인 전압(Vrwl)은 메모리 셀 어레이(130)에 제공된다.
읽기 동작 워드 라인 전압(Vrwl)을 기초로 복수의 메모리 셀들에 기입된 데이터가 판독되고 메모리 셀 어레이(130)는 메모리 셀 데이터(MCDATA)를 생성한다. 메모리 셀 데이터(MCDATA)는 배드 섹터의 판단 여부에 관계없이 독출하고자 하는 특정한 블록에 포함되어 있는 복수의 메모리 셀들이 섹터 단위로 판독된 데이터에 상응한다.
페이지 버퍼(140)는 메모리 셀 데이터(MCDATA)를 수신하여 일시적으로 저장하거나 페이지 버퍼 제어 신호(PBCON)에 기초하여 메모리 셀 데이터(MCDATA)에 포함된 배드 섹터 데이터(BSDATA)를 에러 정정 회로부(150)에 제공한다. 배드 섹터 정보(BSI)에 기초하여 생성된 페이지 버퍼 제어 신호(PBCON)는 메모리 셀 데이 터(MCDATA)에 포함되어 있는 섹터 별 데이터 중에서 에러 정정 회로부(150)에서 에러 체크 페일(fail)한 배드 섹터에 해당하는 메모리 셀들에 기입되어 있는 데이터에 상응하는 배드 섹터 데이터(BSDATA)를 출력하도록 한다. 즉, 에러 정정 회로부(150)에 의해 에러 체크 페일된 배드 섹터들에 기입되어 있는 데이터이다. 페이지 버퍼 제어기(112)는 페이지 버퍼(140)가 메모리 셀 데이터(MCDATA)를 수신하는 감지 증폭기(Sense amplifier) 혹은 데이터를 메모리 셀들에 기입하는 기입 드라이버(write driver)로 동작하도록 제어할 수 있다. 페이지 버퍼(140)는 래치 회로를 포함하여 구현될 수 있다.
종래의 비휘발성 메모리 장치 읽기 방법에서는 페이지 버퍼에서 메모리 셀 데이터(MCDATA)를 에러 정정 회로로 전송하여 에러를 체크 패스 혹은 페일을 판단하여 에러 정정하는 과정으로 읽기 동작을 수행하였으나, 본 발명에 따른 비휘발성 메모리 장치 읽기 방법에서는 페이지 버퍼 제어기(112)로부터 페이지 버퍼 제어 신호(PBCON)를 수신한 페이지 버퍼(140)가 메모리 셀 데이터(MCDATA)내에 포함되어 있는 데이터 중에서 에러 체크 페일된 배드 섹터에 기록되어 있는 데이터에 상응하는 배드 섹터 데이터(BSDATA)를 에러 정정 회로부(150)로 전송한다. 따라서 배드 섹터 데이터(BSDATA)의 데이터 크기는 메모리 셀 데이터(MCDATA)의 데이터 크기보다 작아 데이터 전송에 소요되는 시간을 줄일 수 있다. 또한, 배드 섹터 데이터(BSDATA)에 대하여 에러 체크 및 정정 과정을 거치므로 에러 체크 및 정정 과정에 소요되는 시간을 줄일 수 있어 비휘발성 메모리 장치의 전체 동작 시간을 줄일 수 있다.
에러 정정 회로부(150)는 배드 섹터 데이터(BSDATA)를 수신하여 에러를 체크하고 미리 설정된 값 보다 많은 에러 비트 수를 가지는 섹터를 배드 섹터로 판단한다. 즉, 미리 설정된 값 보다 많은 에러 비트 수를 가지는 섹터는 에러 체크 페일된 배드 섹터로써, 반복적인 읽기 과정을 통하여 에러 체크 페일된 배드 섹터의 수는 줄어들 수 있다. 미리 설정된 값 이하의 에러 비트 수를 가지는 섹터는 에러 체크 패스되어 상응하는 섹터에 기입되어 있던 데이터는 에러 정정을 통하여 저장되고 재읽기 과정을 통하여 에러 체크 및 정정 과정을 반복하지 않는다. 배드 섹터들에 해당되는 메모리 셀들의 주소에 상응하는 배드 섹터 주소를 포함하는 배드 섹터 정보(BSI)를 페이지 버퍼 제어기(112)에 제공한다. 페이지 버퍼 제어기(112)는 페이지 버퍼 제어 신호(PBCON)를 생성하여 메모리 셀 데이터(MCDATA)중에서 에러 체크 페일된 섹터에 기입된 데이터에 상응하는 배드 섹터 데이터(BSDATA)를 에러 정정 회로부(150)로 전송하도록 한다. 또한, 에러 정정 회로부(150)는 배드 섹터 데이터 요청 신호(BSDRQ)를 생성하여 제어부(110)에 제공한다. 제어부(110)는 배드 섹터가 적어도 하나 이상 존재하는 경우에는, 읽기 동작 워드 라인 전압(Vrwl)을 변경하여 메모리 셀 어레이(130)의 데이터를 읽고 메모리 셀 데이터(MCDATA)를 갱신하도록 비휘발성 메모리 장치(100)를 제어한다. 배드 섹터가 존재하지 않는 경우에는, 즉 메모리 셀 어레이(130)의 모든 섹터가 에러 체크 패스된 경우에는 에러 정정 후에 읽기 동작은 종료된다.
도 2는 도 1의 에러 정정 회로부의 일 실시예를 나타내는 블록도이다.
도 2를 참조하면, 에러 정정 회로부(150)는 에러 감지기(151), 저장장 치(153), 배드 섹터 데이터 요청기(155), 및 에러 정정기(157)를 포함할 수 있다.
에러 감지기(151)는 페이지 버퍼(140)로부터 수신한 배드 섹터 데이터(BSDATA)의 에러 비트를 체크하여 에러 체크 정보(ECI)를 생성한다. 각 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 경우에는 배드 섹터로 판단되고, 미리 설정된 값 이하의 에러 비트 수를 가지는 경우에는 에러 정정기(157)에서 에러 정정이 가능하므로 배드 섹터로 판단되지 않는다. 미리 설정된 값은 에러 정정기(157)가 정정 할 수 있는 최대 비트 수에 상응하며 에러 정정기(157)에서 사용하는 에러 정정 부호 등에 따라 상이해질 수 있다. 에러 정정 부호는 데이터를 읽고 기록하는 과정에서 발생할 수 있는 에러들을 감지할 수 있을 뿐만 아니라 감지된 에러들을 스스로 수정할 수 있으며 에러 정정 부호는 해밍 부호(Hamming code), 변형된 해밍 부호(modified-Hamming code), 혹은 리드 솔로몬 부호(Reed-solomon code) 일 수 있다. 따라서 미리 설정된 값 이하의 에러 비트 수를 가지는 에러 체크 패스 섹터의 경우에는 에러 감지기(151)에서 에러 비트를 다시 체크하지 않고 에러 정정기(157)에서 에러를 정정함으로써 읽기 동작을 완료할 수 있다. 에러 체크 정보(ECI)는 각 섹터 데이터, 배드 섹터에 포함되는 메모리 셀들의 주소, 및 각 배드 섹터의 에러 비트를 포함할 수 있다.
저장장치(153)는 에러 체크 정보(ECI)를 저장한다. 또한, 에러 체크 페일된 섹터에 해당되는 메모리 셀들의 주소에 상응하는 배드 섹터 주소, 및 각 섹터의 에러 비트 수를 포함하는 배드 섹터 정보(BSI)를 배드 섹터 데이터 요청기(155) 및 페이지 버퍼 제어기(112)에 제공하고 에러 체크 패스된 섹터에 기입된 데이터에 상 응하는 에러 정정 섹터 데이터(ECDATA)를 에러 정정기(157)에 제공한다.
페이지 버퍼 제어기(112)는 상기한 바와 같이 배드 섹터 정보(BSI)에 기초하여 페이지 버퍼 제어 신호(PBCON)를 생성하여 페이지 버퍼(140)가 배드 섹터 데이터(BSDATA) 만을 에러 정정 회로부(150)로 전송하도록 제어 한다.
배드 섹터 데이터 요청기(155)는 저장장치(153)로부터 배드 섹터 정보(BSI)를 수신하여 적어도 하나 이상의 섹터가 에러 체크 페일된 경우에는 배드 섹터 데이터 요청 신호(BSDRQ)를 활성화 한다. 반대로 배드 섹터가 없는 경우에는 배드 섹터 데이터 요청 신호(BSDRQ)를 비활성화 한다. 예를 들어, 배드 섹터가 존재하는 경우에 배드 섹터 데이터 요청 신호(BSDRQ)는 논리 레벨 '하이'에 상응하는 값을 가질 수 있으며, 배드 섹터가 존재하지 않는 경우에 배드 섹터 데이터 요청 신호(BSDRQ)는 논리 레벨 '로우'에 상응하는 값을 가질 수 있다.
제어부(110)는 배드 섹터 데이터 요청 신호(BSDRQ)에 응답하여 제어 신호(CON)를 생성하여 읽기 동작 워드 라인 전압 생성기(120)가 읽기 동작 워드 라인 전압(Vrwl)을 조정하여 메모리 셀 어레이(130)에 기입된 데이터를 다시 읽도록 제어한다. 조정된 읽기 동작 워드 라인 전압(Vrwl)을 통하여 읽기 동작을 거치면 메모리 셀 데이터(MCDATA)가 갱신된다. 갱신된 메모리 셀 데이터(MCDATA)의 에러 비트 수는 갱신되기 전 메모리 셀 데이터(MCDATA)의 에러 비트 수 보다 작을 수 있다.
에러 정정기(157)는 에러 정정 섹터 데이터(ECDATA)에 포함된 에러를 정정한다. 정정된 데이터는 저장장치(153)에 저장될 수 있으며, 외부의 저장 장치에 저장 될 수도 있다. 모든 섹터가 에러 체크 패스되어 배드 섹터가 존재 하지 않으면, 배드 섹터 데이터 요청 신호(BSDRQ)가 비활성화 되고, 에러 정정 섹터 데이터(ECDATA)에서 모든 섹터에 포함된 데이터의 에러를 정정하여 모든 읽기 동작이 종료되는 경우에는, 에러 정정이 완료된 데이터가 저장장치(153)에 저장된다.
도 3은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 읽기 방법을 나타내는 흐름도이다.
도 1 내지 도 3을 참조하여 비휘발성 메모리 장치의 읽기 방법을 설명하도록 한다.
메모리 셀 어레이(130)에 기입된 데이터를 읽어 메모리 셀 데이터(MCDATA)를 생성한다(단계 S303). 메모리 셀 데이터(MCDATA)는 메모리 셀 어레이(130)에 포함되어 있는 복수 개의 메모리 셀 중에서 읽고자 하는 주소에 상응하는 메모리 셀들에 기입된 데이터를 읽은 데이터로서, 복수 개의 섹터들에 기입된 데이터를 포함할 수 있다. 따라서 메모리 셀 데이터(MCDATA)에는 배드 섹터에 기입되어 있는 데이터에 상응하는 배드 섹터 데이터(BSDATA)뿐만 아니라 에러 체크 패스된 섹터에 기입되어 있는 데이터가 포함될 수 있다.
페이지 버퍼(140)는 페이지 버퍼 제어기(112)에서 배드 섹터 정보(BSI)를 기초하여 생성된 페이지 버퍼 제어 신호(PBCON)에 기초하여 메모리 셀 데이터(MCDATA)에 포함되어 있는 배드 섹터 데이터(BSDATA)를 에러 정정 회로부(150)로 전송한다(단계 S305). 배드 섹터 데이터 정보(BSI)에는 배드 섹터에 관한 정보가 포함되어 있으므로, 배드 섹터 데이터 정보(BSI)를 기초로 전체 메모리 셀에 포함 되어 있는 섹터 중에서 배드 섹터에 기입된 내용만을 에러 정정 회로부(150)로 전송하는 것이다. 초기 상태에서는 에러 체크 패스 혹은 페일이 결정되지 않았으므로 페이지 버퍼(140)는 메모리 셀 데이터(MCDATA)를 모두 에러 정정 회로부(150)로 전송하여야 한다. 따라서 초기 상태에서 배드 섹터 정보(BSI)는 모든 섹터가 배드 섹터라는 것을 전제로 하며, 메모리 셀 데이터(MCDATA)와 배드 섹터 데이터(BSDATA)는 실질적으로 동일할 것이다.
에러 체크 패스된 섹터들에 기입되어 있던 데이터 중에서 에러 비트가 없는 데이터는 저장장치(153)에 저장되고 에러 비트를 포함하는 데이터는 에러 정정기(157)에 제공되어 에러를 정정하여 저장장치(153)에 저장된다(단계 S307).
에러 정정 회로부(150)에서는 수신한 배드 섹터 데이터(BSDATA)의 에러를 체크하여 배드 섹터를 판단하고 이에 기초하여 배드 섹터 정보(BSI)를 갱신한다(단계 S309). 반복적으로 배드 섹터를 읽는 과정이 진행됨에 따라 읽기 동작 워드 라인 전압(Vrwl)이 상이해지므로 이에 기초하여 독출된 메모리 셀 데이터(MCDATA)는 달라질 수 있다. 에러를 체크한 결과 미리 설정된 값 이상의 에러 비트 수를 가지는 데이터를 포함하는 섹터는 에러 체크 페일되어 배드 섹터로 판단된다. 상기한 바대로 미리 설정된 값은 에러 정정 회로부(150)에 포함된 에러 정정기(157)에서 에러를 바로 잡기 위하여 사용하는 정정 부호 등에 따라 상이하다. 갱신된 배드 섹터 정보(BSI)에는 새로 판단된 배드 섹터에 해당되는 메모리 셀들의 주소에 상응하는 배드 섹터 주소 및 새로이 검출된 배드 섹터의 에러 비트 수가 포함되어 있다.
배드 섹터의 수가 1 이상인 경우에는, 즉 적어도 하나 이상의 섹터가 에러 체크 페일된 경우에는(단계 S311, YES), 에러 정정기(157)에서 데이터의 에러를 정정할 수 없기 때문에 에러 정정기(157)가 에러를 정정할 수 있는 에러 비트 수를 가지도록 조정된 읽기 동작 워드 라인 전압(Vrwl)에 기초하여 메모리 셀에 기입된 데이터를 다시 읽을 필요가 있다. 따라서 배드 섹터 데이터 요청기(155)는 배드 섹터 데이터 요청 신호(BSDRQ)를 활성화하여(단계 S315) 제어부(110)로 전송한다. 제어부(110)는 배드 섹터 데이터 요청 신호(BSDRQ)에 응답하여 생성된 제어 신호(CON)를 읽기 동작 워드 라인 전압 발생기(120)로 송신한다. 읽기 동작 워드 라인 전압 발생기(120)는 읽기 동작 워드 라인 전압(Vrwl)을 조정하여(단계 S315) 읽고자 하는 주소에 상응하는 메모리 셀에 기입된 데이터를 다시 읽어 메모리 셀 데이터(MCDATA)를 생성한다(단계 S303). 읽기 동작 워드 라인 전압(Vrwl)의 조정은 읽기 동작 워드 라인 전압(Vrwl)이 각 메모리 셀의 상태 경계선에 위치하는 경우에 발생하는 에러를 감지해 내기 위한 것으로 읽기 동작 워드 라인 전압(Vrwl)의 조정에 의해 갱신된 메모리 셀 데이터(MCDATA)는 이전 단계의 메모리 셀 데이터(MCDATA)와 상이해 질 수 있으며, 에러 체크에 의해 배드 섹터로 판단되는 섹터도 상이해질 수 있다. 페이지 버퍼(140)는 갱신된 메모리 셀 데이터(MCDATA) 중에서 페이지 버퍼 제어 신호(PBCON)에 기초하여 종전 에러 체크 과정에서 패스된 섹터에 기입된 데이터를 제외하고 에러 체크 페일된 섹터 기입된 데이터만을 포함하는 배드 섹터 데이터(BSDATA)를 에러 정정 회로부(150)에 제공한다.
에러 정정 회로부(150)는 상기한 에러 정정 과정을 반복하여 배드 섹터 정보(BSI)를 갱신하여 메모리 셀의 모든 섹터에 포함된 데이터의 에러 비트 수가 미 리 정해진 값 이하가 될 때까지 반복한다. 미리 정해진 값 이하의 에러 비트 수를 가지는 섹터에 기입된 데이터는 별도의 읽기 동작을 거치지 않고 에러 정정기(157)에서 정정이 가능하므로 이로써 읽기 동작이 종료된다.
따라서 배드 섹터로 판단된 섹터의 수가 1 미만인 경우에는(단계 S311, NO), 즉, 모든 섹터에 포함된 데이터의 에러 비트 수가 미리 정해진 값 이하이므로 모든 섹터가 에러 체크 패스되고 에러 정정기(157)에서 정정된 데이터가 에러 정정 회로부(150)에 포함된 저장장치(153)에 저장되어 읽기 동작이 종료된다.
따라서 본 발명의 일 실시예에 따른 비휘발성 메모리 읽기 방법은 페이지 버퍼에서 에러 체크 페일된 배드 섹터 데이터(BSDATA)를 전송하므로, 기존의 메모리 셀 데이터(MCDATA)를 전송하는 방법보다 페이지 버퍼(140)에서 에러 정정 회로부(150)로 전송되는 데이터의 양이 적어 데이터 전송에 따른 시간을 줄일 수 있을 뿐만 아니라 에러 여부를 판단하는 데이터도 감소하여 전체적인 읽기 시간을 줄일 수 있다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 4를 참조하면, 비휘발성 메모리 장치(400)는 제어부(410), 섹터 읽기 명령부(415), 읽기 동작 워드 라인 전압 발생부(420), 메모리 셀 어레이(430), 페이지 버퍼(440), 및 에러 정정 회로부(450)를 포함할 수 있다.
도 1의 비휘발성 메모리 장치(100)가 페이지 버퍼(140)를 제어하여 배드 섹터 데이터(BSDATA)를 전송하는 반면, 도 4의 비휘발성 메모리 장치(400)는 섹터 읽 기 명령부(415)에서 배드 섹터에 기입된 데이터만을 메모리 셀 어레이(430)로부터 독출하기 위한 섹터 읽기 명령 신호(RCMD)를 생성하여 전체 메모리 셀 중에서 배드 섹터에 기입된 데이터만을 읽어 배드 섹터 데이터(BSDATA)를 생성한다. 따라서 페이지 버퍼(440)는 제어 신호에 기초하여 배드 섹터 데이터(BSDATA)를 생성하는 것이 아니라, 수신한 배드 섹터 데이터(BSDATA)를 일시적으로 저장하여 전송 섹터 데이터(TSDATA)로 에러 정정 회로부(450)에 제공한다. 배드 섹터 데이터(BSDATA)와 전송 섹터 데이터(TSDATA)는 실질적으로 동일하다.
제어부(410)는 에러 정정 회로부(450)에 포함된 에러 감지기(451)에서 배드 섹터를 판단하여 생성된 배드 섹터 정보(BSI)를 수신하고 수신된 배드 섹터 정보(BSI)에 기초하여 제어 신호(CON)를 생성한다.
읽기 동작 워드 라인 전압 생성기(420)는 제어 신호(CON)에 기초하여 읽기 동작 워드 라인 전압(Vrwl)을 조정하여 재조정된 읽기 동작 워드 라인 전압(Vrwl)을 메모리 셀 어레이(430)에 제공한다. 읽기 동작 워드 라인 전압(Vrwl)은 에러 비트 수에 따라 일정 단위의 전압이 증가하거나 감소하면서 조정될 수 있다.
섹터 읽기 명령부(425)는 제어 신호(CON)를 수신하여 메모리 셀에 포함된 섹터 중에서 배드 섹터에 기입된 데이터만 읽으라는 섹터 읽기 명령 신호(RCMD)를 생성하여 메모리 셀 어레이(430)에 제공한다.
메모리 셀 어레이(430)는 읽기 동작 워드 라인 전압(Vrwl), 및 섹터 읽기 명령 신호(RCMD)에 기초하여 배드 섹터에 기입된 데이터만을 읽어 배드 섹터 데이터(BSDATA)를 생성하여 페이지 버퍼(440)로 전송한다. 따라서 전체 메모리 셀에 기 입되어 있는 데이터를 읽는 것보다 메모리 셀의 데이터를 감지하고 저장하는 동작 시간을 줄일 수 있으며, 소모되는 전류도 줄일 수 있어 저전력 구현이 가능하다.
페이지 버퍼(440)는 수신한 배드 섹터 데이터(BSDATA)를 임시로 저장하거나 에러 정정 회로부(450)로 전송한다. 따라서 메모리 셀 어레이(430)와 페이지 버퍼(440)의 출력 데이터는 실질적으로 동일할 수 있다.
도 5는 도 4의 에러 정정 회로부의 일 실시예를 나타내는 블록도이다.
에러 정정 회로부(450)는 상기한 도 1의 비휘발성 메모리 장치(100)와 유사한 동작을 한다.
도 5를 참조하면, 에러 정정 회로부(450)는 에러 감지기(451), 저장장치(453), 읽기 요청기(455), 및 에러 정정기(457)를 포함할 수 있다.
에러 감지기(451)는 수신한 전송 섹터 데이터(TSDATA)를 섹터 단위로 에러 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터는 에러 체크 페일되어 배드 섹터로 판단한다. 종래의 에러 체크 페일된 섹터는 변경된 읽기 동작 워드 라인 전압(Vrwl)에 따라 독출된 데이터가 상이해 질 수 있으므로, 에러 체크 결과는 달라질 수 있다. 따라서 새로이 판단된 에러 체크 결과에 따른 에러 체크 정보(ECI)는 갱신된다. 갱신된 에러 체크 정보(ECI)는 저장장치(453)에 일시적으로 저장된다. 에러 체크 정보(ECI)는 섹터 데이터, 배드 섹터에 포함되는 메모리 셀들의 주소, 및 각 섹터의 에러 비트를 포함한다.
저장장치(453)는 에러 체크 정보(ECI)를 수신하여 배드 섹터로 판단된 섹터의 수를 포함하는 배드 섹터 정보(BSI)를 읽기 요청부(455)에 전송하고 에러 체크 패스된 섹터들에 기입된 데이터, 다시 말하면, 미리 설정된 값 이하의 에러 비트 수를 가지는 섹터들에 기입된 데이터에 상응하는 에러 정정 섹터 데이터(ECDATA)를 에러 정정기(457)에 제공한다. 에러 정정기(457)는 에러 정정 섹터 데이터(ECDATA)에 포함된 패스된 섹터들에 기입된 데이터들의 에러 비트를 정정한다. 정정된 데이터는 저장장치(453) 혹은 외부의 저장 장치에 저장된다.
읽기 요청부(455)는 에러 체크 페일된 섹터가 적어도 하나 이상인 경우에는 읽기 요청 신호(RERQ)를 활성화한다. 예를 들어, 배드 섹터가 적어도 하나 이상인 경우에, 읽기 요청 신호(RERQ)는 논리 레벨 '하이'에 상응하는 값을 가질 수 있다. 반대로 배드 섹터가 없는 경우에는, 읽기 요청 신호(RERQ)는 논리 레벨 '로우'에 상응하는 값을 가질 수 있다. 제어부(410)는 활성화된 읽기 요청 신호(RERQ)에 응답하여 제어 신호(CON)를 생성하여 읽기 동작 워드 라인 전압(Vrwl)을 조정하고 섹터 읽기 명령 신호(RCMD)를 생성하게 함으로써 비휘발성 메모리 장치(400)가 읽기 동작을 수행하도록 제어한다. 읽고자 하는 주소에 포함되는 모든 섹터가 에러 체크 패스된 경우에는 읽기 요청 신호(RERQ)는 비활성화 된다.
도 6은 본 발명의 일 실시예에 따른 도 4의 비휘발성 메모리 장치의 읽기 방법을 나타내는 흐름도이다.
도 4에서 6을 참조하여 비휘발성 메모리 장치의 읽기 방법을 설명하도록 한다.
제어부(410)는 에러 정정기(450)로부터 수신한 배드 섹터 정보(BSI), 및 읽기 요청 신호(RERQ)에 기초하여 제어 신호(CON)를 생성한다. 읽기 요청 신호(RERQ) 에 응답하여 배드 섹터 정보(BSI)에 포함되어 있는 배드 섹터에 해당하는 메모리 셀의 섹터에 기입되어 있는 데이터를 읽기 위한 제어 신호(CON)를 생성한다. 제어부(410)가 배드 섹터 정보(BSI), 및 읽기 요청 신호(RERQ)에 기초하여 생성한 제어 신호(CON)에 따라 섹터 읽기 명령부(425)에서 섹터 읽기 명령 신호(RCMD)가 생성된다(단계 S603).
또한, 제어 신호(CON)에는 읽기 동작 워드 라인 전압(Vrwl)의 조정을 위한 정보가 포함된다. 읽기 동작 워드 라인 전압(Vrwl)은 배드 섹터의 판단 결과에 기초하여 기존의 읽기 동작 워드 라인 전압(Vrwl) 보다 높거나 낮게 조정될 수 있다. 읽기 동작 워드 라인 전압 생성기(420)는 제어 신호(CON)에 기초하여 읽기 동작 워드 라인 전압(Vrwl)을 조정하고 조정된 읽기 동작 워드 라인 전압(Vrwl)을 메모리 셀 어레이(430)에 제공한다(단계 S605).
읽기 명령 신호(RCMD)에 기초하여 읽기 동작 워드 라인 전압(Vrwl)을 이용하여 메모리 셀 어레이(430)의 배드 섹터에 해당하는 메모리 셀에 기입된 데이터에 상응하는 배드 섹터 데이터(BSDATA)가 생성된다(단계 S607). 상기한 바대로 적어도 하나 이상의 배드 섹터가 존재하여야 읽기 동작이 진행되므로 배드 섹터 데이터(BSDATA)에는 적어도 하나 이상의 섹터에 기입된 데이터가 포함되어 있다. 초기 상태에서는 에러 감지기(451)에 의하여 에러 체크 결과가 생성되기 이전이기 때문에 읽고자 하는 주소에 해당하는 모든 섹터에 기입되어 있는 데이터를 읽을 필요가 있으므로 모든 섹터가 배드 섹터에 해당한다는 것을 전제로 읽기 동작이 진행된다. 초기 상태 이후에는 에러 체크 페일된 배드 섹터에 대해서만 읽기 동작이 진행되므 로 에러 체크 패스된 섹터에 기입된 데이터를 읽는 동작이 생략되어 독출 데이터를 생성하는 시간을 감소시킬 수 있으며 전송되는 데이터의 크기도 감소하기 때문에 전송을 위한 회로 구성을 간단히 할 수 있다.
에러 체크 패스된 섹터에 기입된 데이터는 에러 정정기(457)에 의해 에러 정정되어 저장장치(453)에 저장된다(단계 S611).
페이지 버퍼(440)는 수신한 배드 섹터 데이터(BSDATA)를 전송 섹터 데이터(TSDATA)로 에러 정정 회로부(450)에 포함된 에러 감지기(451)에 출력한다.
에러 감지기(451)는 수신한 전송 섹터 데이터(TSDATA)의 에러를 체크하여 미리 정해진 값을 기준으로 섹터별 에러 비트 수에 따라 에러 체크 패스 혹은 페일 여부를 결정하여 에러 체크 정보(ECI)를 생성한다. 에러 체크 정보(ECI)는 저장장치(453)에 저장된다. 반복적인 읽기 과정에 따라 읽기 동작 워드 라인 전압(Vrwl)이 상이해지고, 전송 섹터 데이터(TSDATA)의 값은 상이해질 수 있으며, 섹터가 에러 체크 패스 혹은 페일되는지에 따라 데이터의 크기도 상이해질 수 있다. 상이해진 전송 섹터 데이터(TSDATA)의 에러 체크 결과에 따라 에러 체크 정보(ECI), 및 배드 섹터 정보(BSI)가 갱신된다(단계 S611). 읽기 동작 워드 라인 전압(Vrwl)을 달리하여 생성된 배드 섹터 데이터(BSDATA) 혹은 전송 섹터 데이터(TSDATA)는 기존에 에러 체크 페일된 섹터를 조정된 읽기 동작 워드 라인 전압(Vrwl)에 기초하여 독출한 데이터이므로 갱신된 후에는 미리 정해진 값 이하의 에러 비트 수를 가져 에러 체크 패스될 수 있어, 배드 섹터의 수는 종전보다 줄어들 수 있다.
읽기 요청부(455)는 배드 섹터 정보(BSI)를 기초로 하여 배드 섹터의 수를 판단한다. 배드 섹터가 적어도 하나 이상 존재하는 경우에는(단계 S613, YES), 읽기 요청 신호(RERQ)를 활성화한다. 읽기 요청 신호(RERQ)는 제어부(410)에 제공되어 읽기 동작 여부를 결정하며, 읽기 동작이 진행되는 경우에 배드 섹터 정보(BSI)와 함께 제어 신호(CON)를 생성하는 기초가 된다. 읽기 요청 신호(RERQ)의 활성화에 의한 읽기 동작은 읽고자 하는 주소에 포함되어 있는 모든 섹터가 에러 체크 패스되어 배드 섹터가 존재하지 않을 때까지 반복적으로 수행 된다.
배드 섹터가 존재하지 않는 경우에는, 각 섹터에 포함되어 있는 에러 비트 수가 미리 정해진 값 이하이기 때문에 별도의 읽기 동작을 거치지 않더라도 에러 정정기(457)가 에러를 정정할 수 있는 경우이다(단계 S613, NO). 따라서 에러 정정기(457)는 정정 부호를 이용하여 에러 정정 데이터(ECDATA)에 포함되어 있는 데이터에 존재하는 에러를 정정하고(단계 S609) 저장장치(453)에 저장한다. 읽고자 하는 모든 섹터에 기입된 데이터의 에러가 정정되었으므로 읽기 동작은 종료된다(단계 S617). 에러 체크를 통하여 배드 섹터를 판단하고 읽기 동작 워드 라인 전압(Vrwl)을 조정하여 배드 섹터에 해당하는 메모리 셀에 기입된 데이터를 독출하여 에러를 체크하는 과정을 반복하여 점차 배드 섹터가 감소하여 에러 체크 페일되는 섹터가 존재하지 않는 경우가 되면 읽기 동작이 종료된다.
따라서 메모리 셀에 기록되어 있는 데이터를 모두 읽지 않고 배드 섹터에 기록된 데이터만을 읽고 전송하며 에러를 체크하므로 해당되는 모든 섹터에 기입된 데이터를 읽고 전송하며 에러를 체크하는 것보다 읽기 동작에 소요되는 시간을 줄일 수 있다.
본 발명에 따른 비휘발성 메모리 장치는 패키지 형태로 메모리 카드에 실장 될 수 있다. PoP(Package on Package), Ball grid Arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline Integrated Circuit(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline Package(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지를 이용하여 메모리 카드로 구현된다.
도 7은 본 발명에 따른 비휘발성 메모리 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 7을 참조하면, 컴퓨팅 시스템(700)은 중앙 처리 장치(710), 저장장치(720), 입출력 회로(730), 인터페이스 부(740), 데이터 버스(750), 및 비휘발성 메모리 장치(760)를 포함할 수 있다.
중앙 처리 장치(710)는 데이터 버스(750)를 통하여 컴퓨팅 시스템(700)의 동작을 제어한다.
저장장치(720)는 중앙 처리 장치(710)에서 입출력되는 데이터를 저장한다. 저장장치(720)는 고속의 SRAM과 같은 메모리 장치로 구현될 수 있다.
입출력 회로(730)는 컴퓨팅 시스템(700)이 외부와 통신하여 신호를 입출력 할 수 있다. 입출력 회로(730)는 키패드, 마이크, 프린터, 및 디스플레이 장치일 수 있다.
인터페이스 부(740)는 외부로부터 입력 받은 신호를 컴퓨팅 시스템에서 사용하는 신호 형태로 변환하는 인터페이싱 동작을 수행한다.
데이터 버스(750)는 컴퓨팅 시스템(700)의 전체 구성 요소와 결합하여 신호의 입출력을 가능하게 한다.
비휘발성 메모리 장치(760)는 상기한 바와 같이 메모리 카드의 형태로 구현되거나 SSD(Solid State Drive/Disk)에 포함되어 컴퓨팅 시스템(700)을 구성할 수 있다.
비휘발성 메모리 장치(760)는 상기한 바와 같이 제어부, 읽기 동작 워드 라인 전압 생성기, 메모리 셀 어레이, 페이지 버퍼, 및 에러 정정 회로부를 포함할 수 있다. 또한, 실시예에 따라, 페이지 버퍼 제어기 혹은 섹터 읽기 명령 신호 생성부를 더 포함할 수 있다. 비휘발성 메모리 장치(760)는 배드 섹터 데이터만을 전송하여 에러 비트를 체크하고 읽기 동작 워드 라인 전압(Vrwl)을 변경하여 배드 섹터 데이터를 생성하여 정정하는 과정을 반복하여 에러 정정을 완료할 때까지 읽기 동작을 수행함으로써 전체 읽기 동작에 소요되는 시간을 줄일 수 있다.
휴대 전화, PDA, 디지털 카메라, 및 MP3 플레이어와 같은 모바일 장치의 형태로 구현될 경우에는 컴퓨팅 시스템(700)의 동작 전압을 공급하기 위하여 전원(770)을 더 포함할 수 있으며 적용되는 어플리케이션에 따라 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 DRAM(Mobile DRAM: MDRAM) 등을 더 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 2는 도 1의 에러 정정 회로부의 일 실시예를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 도 1의 비휘발성 메모리 장치의 읽기 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 5는 도 4의 에러 정정 회로부의 일 실시예를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 도 4의 비휘발성 메모리 장치의 읽기 방법을 나타내는 흐름도이다.
도 7은 본 발명에 따른 비휘발성 메모리 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 12는 도 10의 반도체 메모리 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
< 도면의 주요부분에 대한 부호의 설명 >
112 : 페이지 버퍼 제어기
120 : 읽기 동작 워드 라인 전압 생성기
150 : 에러 정정 회로부

Claims (10)

  1. 메모리 셀 데이터 및 배드 섹터 정보에 기초하여 배드 섹터(bad sector)에 포함된 메모리 셀들에 기입된 데이터에 상응하는 배드 섹터 데이터를 전송하는 단계;
    상기 배드 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터를 배드 섹터로 판단하여 상기 배드 섹터 정보를 갱신하는 단계;
    상기 갱신된 배드 섹터 정보에 기초하여 배드 섹터 데이터 요청 신호를 생성하는 단계;
    상기 배드 섹터 데이터 요청 신호에 응답하여 읽기 동작 워드 라인 전압을 조정하는 단계; 및
    상기 읽기 동작 워드 라인 전압에 기초하여 메모리 셀 어레이에 포함된 상기 메모리 셀들에 기입된 데이터에 상응하는 메모리 셀 데이터를 갱신하는 단계를 포함하고,
    상기 배드 섹터 데이터 요청 신호를 생성하는 단계는 상기 판단된 배드 섹터가 적어도 하나 이상 존재하는 경우에는 상기 배드 섹터 데이터 요청 신호를 활성화하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
  2. 제1 항에 있어서,
    미리 설정된 값 이하의 에러 비트 수를 가지는 섹터에 기입된 데이터의 에러를 정정하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치 읽기 방법.
  3. 제1 항에 있어서, 상기 배드 섹터 정보는 초기 상태에서 상기 메모리 셀 어레이에 포함된 모든 섹터가 상기 배드 섹터라는 정보를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
  4. 삭제
  5. 제1 항에 있어서, 상기 읽기 동작 워드 라인 전압을 조정하는 단계는
    상기 배드 섹터 정보에 기초하여 제어 신호를 생성하는 단계; 및
    상기 제어 신호에 기초하여 읽기 동작 워드 라인 전압을 증가시키거나 감소시키는 단계를 포함하는 것을 특징으로 하는 단계를 포함하는 비휘발성 메모리 장치의 읽기 방법.
  6. 읽기 요청 신호 및 배드 섹터 정보에 기초하여 섹터 읽기 제어 신호를 생성하고 읽기 동작 워드 라인 전압을 조정하는 단계;
    상기 섹터 읽기 제어 신호 및 상기 읽기 동작 워드 라인 전압에 기초하여 배드 섹터에 포함된 메모리 셀들에 기입된 데이터에 상응하는 배드 섹터 데이터를 생성하는 단계;
    상기 배드 섹터 데이터의 에러를 체크하여 미리 설정된 값 이상의 에러 비트 수를 가지는 섹터를 상기 배드 섹터로 판단하여 상기 배드 섹터 정보를 갱신하는 단계; 및
    상기 갱신된 배드 섹터 정보에 기초하여 상기 읽기 요청 신호를 생성하는 단계를 포함하고,
    상기 읽기 요청 신호를 생성하는 단계는 상기 배드 섹터가 적어도 하나 이상인 경우에는 상기 읽기 요청 신호를 활성화하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
  7. 제6 항에 있어서,
    미리 설정된 값 이하의 에러 비트 수를 가지는 섹터에 기입된 데이터의 에러를 정정하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
  8. 제6 항에 있어서, 상기 섹터 읽기 제어 신호는 초기 상태에서 메모리 셀 어레이에 포함된 모든 섹터에 기입된 데이터를 읽으라는 신호인 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
  9. 삭제
  10. 제6 항에 있어서, 상기 섹터 읽기 제어 신호를 생성하고 상기 읽기 동작 워 드 라인 전압을 조정하는 단계는
    상기 읽기 요청 신호에 응답하여 제어 신호를 생성하는 단계; 및
    상기 제어 신호에 기초하여 상기 섹터 읽기 제어 신호를 생성하고 상기 읽기 동작 워드 라인 전압을 조정하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 읽기 방법.
KR1020090012811A 2009-02-17 2009-02-17 비휘발성 메모리 장치의 읽기 방법 Active KR101588293B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090012811A KR101588293B1 (ko) 2009-02-17 2009-02-17 비휘발성 메모리 장치의 읽기 방법
US12/702,481 US8321765B2 (en) 2009-02-17 2010-02-09 Method of reading data in non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090012811A KR101588293B1 (ko) 2009-02-17 2009-02-17 비휘발성 메모리 장치의 읽기 방법

Publications (2)

Publication Number Publication Date
KR20100093739A KR20100093739A (ko) 2010-08-26
KR101588293B1 true KR101588293B1 (ko) 2016-01-26

Family

ID=42560939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090012811A Active KR101588293B1 (ko) 2009-02-17 2009-02-17 비휘발성 메모리 장치의 읽기 방법

Country Status (2)

Country Link
US (1) US8321765B2 (ko)
KR (1) KR101588293B1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5605238B2 (ja) 2011-01-25 2014-10-15 ソニー株式会社 メモリシステムおよびその動作方法
US8559231B2 (en) 2011-03-08 2013-10-15 Micron Technology, Inc. Sense operation in a stacked memory array device
US8694855B1 (en) * 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
JP5674630B2 (ja) * 2011-12-02 2015-02-25 株式会社東芝 暗号化演算装置を搭載する不揮発性半導体記憶装置
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
KR20140012319A (ko) * 2012-07-19 2014-02-03 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
KR102144748B1 (ko) * 2014-03-19 2020-08-18 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9720769B2 (en) 2014-12-03 2017-08-01 Sandisk Technologies Llc Storage parameters for a data storage device
KR20160109431A (ko) * 2015-03-11 2016-09-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 구동 방법
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10229742B2 (en) 2015-06-19 2019-03-12 Hitachi, Ltd. Flash memory device
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
CN105279057A (zh) * 2015-11-10 2016-01-27 浪潮(北京)电子信息产业有限公司 一种磁盘坏道检测方法与系统
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN108647111B (zh) * 2018-05-14 2021-06-11 联芸科技(杭州)有限公司 用于存储器的读取控制装置、读取控制方法和存储器控制器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697792B1 (ko) 2005-09-20 2007-03-21 가부시끼가이샤 도시바 기억 매체 재생 장치, 기억 매체 재생 방법, 및 기억 매체로부터 정보를 판독하기 위한 컴퓨터 판독가능 매체
KR100837282B1 (ko) 2007-06-14 2008-06-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074999A (ja) * 2000-08-23 2002-03-15 Sharp Corp 不揮発性半導体記憶装置
US7006318B2 (en) * 2002-08-29 2006-02-28 Freescale Semiconductor, Inc. Removable media storage system with memory for storing operational data
US7050344B1 (en) * 2004-11-04 2006-05-23 Promos Technologies Inc. Failure test method for split gate flash memory
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
KR101015655B1 (ko) * 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 구동 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697792B1 (ko) 2005-09-20 2007-03-21 가부시끼가이샤 도시바 기억 매체 재생 장치, 기억 매체 재생 방법, 및 기억 매체로부터 정보를 판독하기 위한 컴퓨터 판독가능 매체
KR100837282B1 (ko) 2007-06-14 2008-06-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법

Also Published As

Publication number Publication date
KR20100093739A (ko) 2010-08-26
US20100211852A1 (en) 2010-08-19
US8321765B2 (en) 2012-11-27

Similar Documents

Publication Publication Date Title
KR101588293B1 (ko) 비휘발성 메모리 장치의 읽기 방법
US9009390B2 (en) Method for changing read parameter for improving read performance and apparatuses using the same
US8832526B2 (en) Data reading method, memory controller, and memory storage device
KR101841622B1 (ko) 온-다이 터미네이션 회로를 가지는 불휘발성 메모리 장치 및 그것의 제어 방법
US7545677B2 (en) Nonvolatile memory device and methods of programming and reading the same
US8644066B2 (en) Multi-level non-volatile memory device, system and method with state-converted data
KR102126716B1 (ko) 비휘발성 메모리 장치의 구동 방법 및 이를 이용하는 비휘발성 메모리 장치
US20130080858A1 (en) Method of reading data from a non-volatile memory and devices and systems to implement same
US9177660B2 (en) Method of operating memory device
TWI615852B (zh) 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元
US20090177931A1 (en) Memory device and error control codes decoding method
KR101636248B1 (ko) 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
JP6164712B1 (ja) フラッシュメモリ
US20100241929A1 (en) Semiconductor Memory Device for Performing Additional ECC Correction According to Cell Pattern and Electronic System Including the Same
JP2018160065A (ja) メモリシステム
US9147483B2 (en) Apparatus and method of operating memory device
KR20100049924A (ko) 온도 보상 기능을 가지는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US9892799B1 (en) Read voltage tracking method, memory storage device and memory control circuit unit
US20140136925A1 (en) Method of operating a data storage device
CN109559777B (zh) 非易失性存储装置及其操作方法
US8347183B2 (en) Flash memory device using ECC algorithm and method of operating the same
CN112185449A (zh) 存储器系统以及操作存储器系统的方法
US20130205075A1 (en) Nonvolatile memory device and memory card including the same
KR20190044349A (ko) 반도체 메모리 장치 및 그 동작 방법
KR101671334B1 (ko) 메모리 장치와 이의 데이터 제어방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20090217

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20140214

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20090217

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150421

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20151026

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160119

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160120

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20201230

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20211229

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20221221

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20231226

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20241226

Start annual number: 10

End annual number: 10