KR20130008302A - 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법 - Google Patents

플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법 Download PDF

Info

Publication number
KR20130008302A
KR20130008302A KR1020110068972A KR20110068972A KR20130008302A KR 20130008302 A KR20130008302 A KR 20130008302A KR 1020110068972 A KR1020110068972 A KR 1020110068972A KR 20110068972 A KR20110068972 A KR 20110068972A KR 20130008302 A KR20130008302 A KR 20130008302A
Authority
KR
South Korea
Prior art keywords
read
count information
page
data
flash memory
Prior art date
Application number
KR1020110068972A
Other languages
English (en)
Other versions
KR101800284B1 (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 KR1020110068972A priority Critical patent/KR101800284B1/ko
Publication of KR20130008302A publication Critical patent/KR20130008302A/ko
Application granted granted Critical
Publication of KR101800284B1 publication Critical patent/KR101800284B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits

Landscapes

  • Read Only Memory (AREA)

Abstract

본 발명에 따른 플래시 메모리 장치의 리드 전압 조절 방법이 제공된다. 상기 리드 전압 조절 방법에 따르면, 적어도 하나의 페이지를 갖는 플래시 메모리 셀들의 프로그램 시에, 상기 플래시 메모리 셀들의 제1 페이지에 프로그램되는 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제1 프로그램 카운트 정보가 저장된다. 리드 전압들을 이용한 상기 플래시 메모리 셀들의 리드 시에, 상기 플래시 메모리 셀들의 상기 제1 페이지로부터 리드되는 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수를 계수하여 제1 리드 카운트 정보가 획득된다. 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이를 기초로 상기 리드 전압들의 전압 레벨들이 조절된다.

Description

플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법{Method of controlling read voltage in flash memory device and method of reading data using the same}
본 발명은 플래시 메모리 기술에 관한 것으로, 보다 상세하게는 플래시 메모리 장치에 프로그램된 데이터의 상태를 기초로 리드 전압의 전압 레벨을 조절하는 방법, 및 이를 이용한 데이터 리드 방법에 관한 것이다.
일반적으로 플래시 메모리는 하나의 메모리 셀에 프로그램되는 데이터 비트 수에 따라 싱글 레벨 셀(Single-Level Cell, SLC)과 멀티 레벨 셀(Multi-Level Cell, MLC)로 나눌 수 있다. 싱글 레벨 셀은 2가지 셀 산포를 가지며, M-비트(M은 2이상의 정수) 멀티 레벨 셀은 2M가지의 셀 산포를 갖는다. 그러나, 여러 원인들에 의하여 프로그램된 메모리 셀의 산포가 변할 수 있으며, 그에 따라 메모리 셀에 프로그램한 데이터와 메모리 셀로부터 리드된 데이터가 달라지는 문제가 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 데이터 신뢰성을 향상시키고 데이터 출력 속도를 줄일 수 있는 플래시 메모리 장치의 리드 전압 조절 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 데이터 신뢰성을 향상시키고 데이터 출력 속도를 줄일 수 있는 플래시 메모리 장치의 데이터 리드 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 플래시 메모리 장치의 리드 전압 조절 방법이 제공된다. 상기 플래시 메모리 장치의 리드 전압 조절 방법에 따르면, 적어도 하나의 페이지를 갖는 플래시 메모리 셀들의 프로그램 시에, 상기 플래시 메모리 셀들의 제1 페이지에 프로그램되는 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제1 프로그램 카운트 정보가 저장된다. 리드 전압들을 이용한 상기 플래시 메모리 셀들의 리드 시에, 상기 플래시 메모리 셀들의 상기 제1 페이지로부터 리드되는 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수를 계수하여 제1 리드 카운트 정보가 획득된다. 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이를 기초로 상기 리드 전압들의 전압 레벨들이 조절된다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 일 예에 따르면, 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 대응하는 상기 리드 전압들의 전압 레벨 보상 값들이 상기 리드 전압들에 적용될 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 다른 예에 따르면, 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 비례하여 상기 리드 전압들의 전압 레벨들이 상승되거나 하강될 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 또 다른 예에 따르면, 상기 플래시 메모리 셀들의 프로그램 시에, 상기 플래시 메모리 셀들의 제2 페이지에 프로그램되는 데이터의 비트들이 상기 제1 논리 값을 갖는 개수가 제2 프로그램 카운트 정보로서 저장될 수 있다. 상기 플래시 메모리 셀들의 리드 시에, 상기 플래시 메모리 셀들의 상기 제2 페이지로부터 리드되는 데이터의 비트들이 상기 제1 논리 값을 갖는 개수가 계수되어 제2 리드 카운트 정보가 획득될 수 있다. 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 리드 전압들의 전압 레벨들은 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 조절될 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 또 다른 예에 따르면, 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 오류 모드가 결정될 수 있다. 상기 결정된 오류 모드에 따라서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이에 대응하는 상기 리드 전압들의 전압 레벨 보상 값들이 리드될 수 있다. 상기 리드 전압들의 전압 레벨 보상 값들이 상기 리드 전압들에 각각 적용될 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 또 다른 예에 따르면, 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이가 소정의 범위 이내인 경우, 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 상기 리드 전압들 중 일부의 전압 레벨들이 낮춰지거나 높여질 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 또 다른 예에 따르면, 수신된 데이터가 랜덤화(randomization)되어 상기 플래시 메모리 셀들에 프로그램될 수 있다. 상기 플래시 메모리 셀들로부터 리드되는 데이터가 디랜덤화(derandomization)될 수 있다.
상기 플래시 메모리 장치의 리드 전압 조절 방법의 또 다른 예에 따르면, 상기 제1 프로그램 카운트 정보가 랜덤화되어 상기 플래시 메모리 셀들의 스페어 영역에 저장될 수 있다. 상기 스페어 영역에 저장된 랜덤화된 상기 제1 프로그램 카운트 정보는 디랜덤화되어 리드될 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 플래시 메모리 장치의 데이터 리드 방법이 제공된다. 상기 플래시 메모리 장치의 데이터 리드 방법에 따르면, 리드 전압들을 이용하여 적어도 하나의 페이지를 갖는 플래시 메모리 셀들을 리드하는 동안 정정불가 오류(uncorrectable error)가 검출되면, 상기 정정불가 오류가 검출된 데이터가 프로그램된 상기 플래시 메모리 셀들의 제1 페이지로부터 제1 페이지 데이터가 제1 페이지 리드 데이터로서 리드된다. 상기 플래시 메모리 셀들의 상기 제1 페이지에 상기 제1 페이지 데이터를 프로그램 할 때 함께 저장된 것으로서, 상기 제1 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제1 프로그램 카운트 정보가 리드된다. 상기 제1 페이지 리드 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제1 리드 카운트 정보가 획득된다. 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이를 기초로 상기 리드 전압들의 전압 레벨들이 조절된다. 상기 전압 레벨들이 조절된 상기 리드 전압들을 이용하여, 상기 플래시 메모리 셀들이 다시 리드된다.
상기 플래시 메모리 장치의 데이터 리드 방법의 일 예에 따르면, 상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 대한 상기 리드 전압들의 전압 레벨 보상 값들이 정의된 리드 리트라이 테이블(Read Retry Table)을 참조하여, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 대응하는 상기 리드 전압들의 전압 레벨 보상 값들이 리드될 수 있다. 상기 리드 전압들의 상기 전압 레벨 보상 값들이 상기 리드 전압들에 각각 적용될 수 있다.
상기 플래시 메모리 장치의 데이터 리드 방법의 다른 예에 따르면, 상기 제1 논리 값은 소거 상태의 논리 값일 수 있다. 상기 제1 프로그램 카운트 정보가 상기 제1 리드 카운트 정보보다 큰 경우, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 비례하여 상기 리드 전압들의 전압 레벨들이 높여질 수 있다. 상기 제1 프로그램 카운트 정보가 상기 제1 리드 카운트 정보보다 작은 경우, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 비례하여 상기 리드 전압들의 전압 레벨들이 낮춰질 수 있다.
상기 플래시 메모리 장치의 데이터 리드 방법의 또 다른 예에 따르면, 상기 플래시 메모리 셀들은 M비트의 멀티 레벨 셀들(M은 2이상의 정수)일 수 있다. 상기 제1 페이지는 소거된 상기 플래시 메모리 셀들에 처음으로 프로그램되는 페이지일 수 있다.
상기 플래시 메모리 장치의 데이터 리드 방법의 또 다른 예에 따르면, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이가 소정 범위 이내이면, 상기 정정불가 오류가 검출된 데이터가 프로그램된 상기 플래시 메모리 셀들의 제2 페이지로부터 제2 페이지 데이터가 제2 페이지 리드 데이터로서 리드될 수 있다. 상기 플래시 메모리 셀들의 상기 제2 페이지에 상기 제2 페이지 데이터를 프로그램 할 때 함께 저장된 것으로서, 상기 제2 페이지 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제2 프로그램 카운트 정보가 리드될 수 있다. 상기 제2 페이지 리드 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제2 리드 카운트 정보가 획득될 수 있다. 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 상기 리드 전압들 중 일부의 전압 레벨들이 조절될 수 있다.
상기 플래시 메모리 장치의 데이터 리드 방법의 또 다른 예에 따르면, 상기 플래시 메모리 셀들은 M비트의 멀티 레벨 셀들(M은 2이상의 정수)일 수 있다. 상기 제1 페이지는 상기 플래시 메모리 셀들에 처음으로 프로그램되는 페이지일 수 있다. 상기 제2 페이지는 상기 플래시 메모리 셀들에 마지막으로 프로그램되는 페이지일 수 있다.
상기 플래시 메모리 장치의 데이터 리드 방법의 또 다른 예에 따르면, 상기 제1 논리 값은 소거 상태의 논리 값일 수 있다. 상기 제2 프로그램 카운트 정보가 상기 제2 리드 카운트 정보보다 큰 경우, 상기 리드 전압들 중 최하위 리드 전압의 전압 레벨이 높여질 수 있다. 상기 제2 프로그램 카운트 정보가 상기 제2 리드 카운트 정보보다 작은 경우, 상기 리드 전압들 중 최하위 리드 전압의 전압 레벨을 낮춰질 수 있다.
본 발명의 플래시 메모리 장치의 리드 전압 조절 방법에 따르면, 메모리 셀에 프로그램된 데이터의 산포가 달라짐에 따라, 메모리 셀에 프로그램할 때의 데이터와 메모리 셀로부터 리드된 데이터가 달라지는 문제로 인해 발생될 수 있는 정정불가 오류가 감소될 수 있다. 정정불가 오류가 발생한 경우, 리드 리트라이 테이블의 모든 엔트리들을 적용하여 다시 리드하는 것이 아니라, 프로그램한 데이터와 리드된 데이터 간의 차이를 통해 리드 전압들에 적합한 엔트리들을 선택할 수 있기 때문에, 데이터 출력 속도를 빠르게 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 시스템을 간략히 보여주는 블록도이다.
도 2는 도 1의 플래시 메모리 장치에서의 셀 산포를 나타내는 도면이다.
도 3은 2 비트 MLC 플래시 메모리에서의 프로그램 동작을 설명하기 위한 도면이다.
도 4는 3 비트 MLC 플래시 메모리에서의 프로그램 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 플래시 메모리 시스템을 간략히 보여주는 블록도이다.
도 6a 내지 6f는 본 발명의 실시예들을 설명하기 위해 메모리 셀들의 산포들을 예시적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 플래시 메모리 장치의 데이터 리드 방법을 설명하기 위한 흐름도이다.
도 8은 메모리 셀 어레이에 저장된 데이터들을 도시한다.
도 9 및 도 10은 리드 리트라이 테이블들을 예시적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 플래시 메모리 장치의 리드 전압 조절 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 플래시 메모리 장치의 데이터 리드 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블록도이다.
도 14는 본 발명의 실시예에 따른 메모리 카드를 나타내는 블록도이다.
도 15는 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
본 명세서에 제시되어 있는 본 발명의 실시예들에 대한 구체적인 구조적 및 기능적 설명들은 본 발명을 설명하기 위한 목적으로 예시된 것이다. 본 발명의 실시예들은 다양한 형태로 실시될 수 있으므로 본 발명의 범위가 본 명세서에 제시되는 실시예들로 한정되는 것으로 해석되어서는 안 된다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는" 과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
아래에서 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 시스템을 간략히 보여주는 블록도이다.
도 1를 참조하면, 본 발명에 따른 플래시 메모리 시스템(1000)은 플래시 메모리 장치(100) 및 메모리 컨트롤러(200)을 포함한다. 플래시 메모리 장치(100)는 메모리 셀 어레이(110) 및 전압 발생부(120)를 포함한다.
도 1은 플래시 메모리 시스템(1000)에 입출력되는 데이터의 흐름을 중심으로 도시된 것이다. 본 발명의 사상을 더욱 명확히 전달하기 위해, 플래시 메모리 시스템(1000) 내의 프로그램, 리드 및 소거를 위한 제어 신호들 또는 제어 명령들에 대해서는 구체적으로 설명하지 않는다. 그러나, 본 발명이 속하는 기술분야의 당업자들은 이러한 제어 신호들 또는 제어 명령들이 도시되지 않더라도 본 발명을 잘 이해할 수 있을 것이다.
플래시 메모리 장치(100)의 메모리 셀 어레이(110)는 데이터가 저장되는 영역이다. 메모리 셀 어레이(110)는 워드라인과 비트라인에 연결된 복수의 메모리 셀들로 이루어진다. 하나의 메모리 셀은 한 비트 또는 하나 이상의 비트들을 저장할 수 있다. 하나의 메모리 셀이 하나의 비트를 저장하는 경우, 메모리 셀은 싱글 레벨 셀로 지칭될 수 있다. 하나의 메모리 셀이 복수의 비트를 저장하는 경우, 메모리 셀은 멀티 레벨 셀로 지칭될 수 있다. 하나의 멀티 레벨 셀이 M개의 비트들을 저장할 수 있는 경우, M비트 멀티 레벨 셀로 지칭될 수 있다. 여기서 M은 2이상의 정수일 수 있으며, 일반적으로, 2, 3 및 4 중 하나일 수 있다.
메모리 셀 어레이(110)는 메인 영역(112) 및 스페어 영역(114)을 포함할 수 있다. 메인 영역(112)은 사용자가 액세스 가능한 사용자 데이터가 저장되는 영역이다. 스페어 영역(114)은 상기 사용자 데이터를 보조하기 위한, 예컨대, 오류 정정 정보와 같은 데이터, 또는 플래시 메모리 장치(100)의 관리에 필요한, 예컨대, 상태 정보나 불량 정보와 같은 데이터가 저장될 수 있다.
도 1에 도시되지는 않았지만, 메모리 셀 어레이(110)는 메모리 셀들에 연결된 워드라인들과 비트라인들을 포함하며, 상기 워드라인들에 연결된 워드라인 디코더/드라이버(미 도시) 및 상기 비트라인들에 연결된 비트라인 디코더/드라이버(미 도시)를 주변 회로로서 포함할 수 있다. 상기 워드라인 디코더/드라이버는 메모리 셀 어레이(110)의 워드라인들 중에서, 액세스하고자 하는 어드레스에 대응되는 워드라인을 활성화할 수 있으며, 상기 비트라인 디코더/드라이버는 메모리 셀 어레이(110)의 비트라인들 중에서 액세스하고자 하는 어드레스에 대응되는 비트라인을 활성화할 수 있다.
메모리 컨트롤러(200)는 반도체 메모리 장치(100)의 메모리 셀 어레이(110)에 데이터가 프로그램되고 메모리 셀 어레이(110)로부터 데이터가 리드되는 것을 제어할 수 있다. 메모리 컨트롤러(200)는 메모리 셀 어레이(110)의 메인 영역(112)에 프로그램할 데이터(DATA)를 외부로부터 수신할 수 있으며, 메모리 셀 어레이(110)의 메인 영역(112)으로부터 리드된 데이터(RDATA)를 외부로 송신할 수 있다. 도 1에서 메모리 컨트롤러(200)는 플래시 메모리 장치(100)의 외부에 위치하는 메모리 컨트롤러 칩으로 구현되는 것으로 도시되어 있지만, 메모리 컨트롤러(200)는 플래시 메모리 장치(100) 내의 주변회로(Peripheral Circuit)로 구현될 수도 있다.
도 1에 도시되지는 않았지만, 메모리 컨트롤러(200)는 외부로부터 예컨대, 프로그램 명령, 리드 명령, 및 소거 명령과 같은 제어 명령을 수신할 수 있다. 이러한 제어 명령에는 상기 제어 명령이 수행될 어드레스가 포함될 수 있다. 이러한 어드레스는 데이터(DATA)를 프로그램하거나, 리드하거나, 소거할 메모리 셀 어레이(110)의 논리적 또는 물리적 위치를 나타낼 수 있다. 메모리 컨트롤러(200)는 상기 어드레스를 상기 워드라인 디코더/드라이버 및 상기 비트라인 디코더/드라이버로 전달할 수 있으며, 이에 대응하여 상기 워드라인 디코더/드라이버 및 상기 비트라인 디코더/드라이버는 각각 대응하는 워드라인 및 비트라인을 활성화시킬 수 있다.
또한, 메모리 컨트롤러(200)는 제어 명령 및 데이터(DATA)에 대응되는 제어 신호(CC)를 플래시 메모리 장치(100)로 전송할 수 있다. 플래시 메모리 장치(100)의 전압 발생부(120)는 이러한 제어 신호(CC)에 응답하여, 메모리 셀 어레이(110)에 구동 전압(V)을 제공할 수 있다. 구동 전압(V)은 프로그램 전압(VP), 리드 전압(VR) 및 소거 전압(VE) 등을 포함할 수 있다.
메모리 컨트롤러(200)는 데이터(DATA)를 수신할 수 있으며, 데이터(DATA)가 플래시 메모리 장치(100)의 메모리 셀 어레이(110)에 저장되도록 제어할 수 있다. 데이터(DATA)는 메모리 셀 어레이(110)의 메인 영역(112)에 저장될 수 있으며, 메모리 셀 어레이(110)에 프로그램되어 있는 데이터는 프로그램 데이터(PDATA)로 지칭될 수 있다. 또한, 메모리 컨트롤러(200)는 플래시 메모리 장치(100)의 메모리 셀 어레이(110)로부터 프로그램 데이터(PDATA)가 리드되도록 제어할 수 있으며, 메모리 셀 어레이(110)로부터 리드된 데이터를 리드 데이터(RDATA)로서 외부로 제공할 수 있다.
그러나, 메모리 셀 어레이(110)에 저장되어 있는 정보는 시간이 많이 흐르거나 플래시 메모리 시스템(1000)의 내구연한에 도달함에 따라 초기에 저장된 셀 산포들에서 달라질 수 있다. 또한, 주변 메모리 셀들에 대한 액세스로 인하여 셀 산포가 달라질 수도 있다. 그 결과, 메모리 셀 어레이(110)에 프로그램된 프로그램 데이터(PDATA)와 메모리 셀 어레이(110)로부터 리드된 리드 데이터(RDATA)가 서로 일치하지 않을 수 있다. 이러한 불일치를 제거하기 위한 한 방법으로서, 메모리 셀 어레이(110)의 스페어 영역(114)에는 오류 정정 정보가 저장될 수 있다. 그러나 오류 정정 정보에 의해서도 정정될 수 없는 경우가 있다. 그러나, 본 발명에 따르면 프로그램 카운트 정보(PC)를 이용하여 오류 정정의 가능성을 더욱 높일 수 있다. 이러한 프로그램 카운트 정보(PC)는 스페어 영역(114)에 저장될 수 있다.
또한, 메모리 컨트롤러(200)는 프로그램 카운트 정보(PC)를 이용하여 전압 발생부(120)가 제공하는 리드 전압의 전압 레벨을 보상하기 위한 전압 레벨 보상 신호(VRC)를 생성할 수 있다. 전압 레벨 보상 신호(VRC)는 제어 명령의 형태로 플래시 메모리 장치(100)의 전압 발생부(120)로 전송될 수 있다.
프로그램 전압(VP)은 메모리 셀들이 도 2에 도시되는 바와 같이, 비트 값에 대응하는 문턱 전압의 산포를 갖도록 설정될 수 있다.
도 2의 (a)는 싱글 레벨 셀(이하 'SLC'로 지칭) 플래시 메모리 장치에서의 셀 산포를 나타내고, 도 2의 (b) 및 (c)는 멀티 레벨 셀(이하 'MLC'로 지칭) 플래시 메모리 장치에서의 셀 산포를 나타낸다. MLC 플래시 메모리 장치는 하나의 메모리 셀에 2개 이상의 비트들이 프로그램 된다. 도 2의 (b)는 2-비트 MLC 플래시 메모리 장치에서의 셀 산포를 나타내고, 도 2의 (c)는 3-비트 MLC 플래시 메모리 장치에서의 셀 산포를 나타낸다.
도 2의 (a)의 경우, SLC 메모리 셀들은 2개의 상태("E(Erase)" 및 "P(Program)") 중 하나의 상태를 가질 수 있다. 반면, 도 2의 (b)의 경우, 2비트 MLC 메모리 셀들은 4개의 상태들("E","P1", "P2" 및 "P3") 중 하나의 상태를 가질 수 있다. 또한, 도 2의 (c)의 경우, 3비트 메모리 셀들은 여덟 개의 상태들("E","P1"~"P7") 중 하나의 상태를 가질 수 있다.
아래에서 별도의 언급이 없으면, MLC 플래시 메모리 장치의 일반적인 동작을 설명함에 있어, 2-비트 MLC 플래시 메모리 장치를 중심으로 설명한다.
하나의 메모리 셀에 프로그램되는 2개의 비트들은 상위 비트(upper bit)와 하위 비트(lower bit)를 포함할 수 있다. 상위 비트에 대한 페이지와 하위 비트에 대한 페이지는 메모리 셀 어레이(110)에서 동일한 워드 라인에 연결되는 메모리 셀들에 프로그램된다. 다만, 일반적으로 상위 비트와 하위 비트는 서로 다른 2개의 다른 페이지에 포함되므로, 하나의 메모리 셀에 프로그램되는 상위 비트와 하위 비트는 논리적으로 서로 다른 페이지 어드레스에 의하여 프로그램된다.
2-비트 MLC 플래시 메모리 장치에서의 프로그램 동작을 설명하기 위한 도 3에 도시되는 바와 같이, 복수의 메모리 셀들에 대한 제1 페이지의 프로그램이 수행된 후에, 제1 페이지의 셀 산포로부터 제2 페이지에 대한 프로그램이 수행될 수 있다. 도 3에서 상위 비트에 대한 페이지를 제1 페이지로 예시하였고, 하위 비트에 대한 페이지를 제2 페이지로 예시하였다. 그러나, 프로그램되는 페이지의 순서는 플래시 메모리 장치(100)의 설계에 따라 달라질 수 있다.
본 명세서에서 제1 페이지는 메모리 셀들에 처음으로 프로그램되는 페이지를 의미하고, 제2 페이지는 제1 페이지가 아닌 다른 페이지를 의미한다. 2-비트 MLC 플래시 메모리 장치의 경우, 제2 페이지는 메모리 셀들에 두 번째로 프로그램되는 페이지를 의미한다. 그러나, 3비트 이상의 MLC 플래시 메모리 장치의 경우, 제2 페이지는 메모리 셀들에 두 번째로 프로그램되는 페이지를 의미할 수도 있고, 메모리 셀들에 마지막으로 프로그램되는 페이지일 수도 있다.
프로그램이 수행되기 전에 모든 메모리 셀들은 "E" 상태를 갖는다. 복수의 메모리 셀들에 대한 제1 페이지의 프로그램이 수행되면, 해당하는 비트의 논리 값이 0인 메모리 셀들은 "P" 상태를 갖도록 프로그램되고, 해당하는 비트의 논리 값이 1인 메모리 셀들은 "E" 상태를 유지한다.
그 후, 제2 페이지의 프로그램이 수행되면, 메모리 셀들은 "E" 상태, "P1" 상태, "P2" 상태 및 "P3" 상태 중 하나를 갖게 된다. 이 때, 제1 페이지에서 비트의 논리 값이 1이고 제2 페이지에서 비트의 논리 값이 1인 메모리 셀들은 "E" 상태를 유지하고, 제1 페이지에서 비트의 논리 값이 1이고 제2 페이지에서 비트의 논리 값이 0인 메모리 셀들은 "P1" 상태를 갖도록 프로그램된다. 또한, 제1 페이지에서 비트의 논리 값이 0이고 제2 페이지에서 비트의 논리 값이 0인 메모리 셀들은 "P"상태에서 "P2" 상태로 프로그램되고, 제1 페이지에서 비트의 논리 값이 0이고 제2 페이지에서 비트의 논리 값이 1인 메모리 셀들은 "P"상태에서 "P3" 상태로 프로그램된다.
이와 같이 제1 페이지의 프로그램과 제2 페이지의 프로그램이 끝난 메모리 셀들은 도 2의 (b)와 같은 셀 산포를 갖게 된다. 이들의 논리 값을 리딩하기 위해, 리드 전압들(VR1, VR21, VR22)이 이용될 수 있다. 리드 전압(VR1)을 인가하면, "E" 상태와 "P1" 상태를 갖는 메모리 셀들은 턴 온되고, "P2" 상태와 "P3" 상태를 갖는 메모리 셀들은 턴 오프된다. 이를 감지함으로써, 해당 메모리 셀의 제1 페이지의 비트 값이 0인지 1인지를 파악할 수 있다. 즉, 리드 전압(VR1)을 인가할 때, 메모리 셀이 턴 온된다면, 상기 메모리 셀에 저장된 데이터의 상위 비트는 1이고, 메모리 셀이 턴 오프된다면, 상기 메모리 셀에 저장된 데이터의 상위 비트는 0이다.
제2 페이지의 논리 값들을 알기 위해서 리드 전압들(VR21, VR22)이 이용될 수 있다. 리드 전압(VR21)을 인가할 때의 메모리 셀의 온/오프 상태와 리드 전압(VR22)을 인가할 때의 메모리 셀의 온/오프 상태가 동일하면, 상기 메모리 셀에 저장된 데이터의 하위 비트는 1이고, 온/오프 상태들이 서로 다르면 상기 메모리 셀에 저장된 데이터의 하위 비트는 0이다.
마찬가지로, 3-비트 MLC 플래시 메모리 장치는 도 4에 도시되는 바와 같이, 제1 페이지 및 제2 페이지에 대한 프로그램을 수행한 후, 제3 페이지에 대한 프로그램을 수행할 수 있다. 4-비트 MLC 플래시 메모리 장치도, 같은 방식으로 복수개의 비트들에 대하여 프로그램을 수행할 수 있다.
리드의 경우에도, 2-비트 MLC 플래시 메모리 장치와 유사하게, 리드 전압(VR1)을 이용하여 메모리 셀에 저장된 제1 비트의 논리 값을 파악할 수 있다. 또한, 리드 전압들(VR21, VR22)을 이용하여 메모리 셀에 저장된 제2 비트의 논리 값을 파악할 수 있다. 또한, 메모리 셀에 저장된 제3 비트의 논리 값을 파악하기 위해, 리드 전압들(VR31, VR32, VR33)이 이용될 수 있다. 여기서, 제1 비트는 제1 페이지 프로그램에 의해 저장되는 비트이고, 제2 비트는 제2 페이지 프로그램에 의해 저장되는 비트이고, 제3 비트는 제3 페이지 프로그램에 의해 저장되는 비트이다.
도 3과 도 4에 도시되는 프로그램 방법은 예시적인 것으로 본 발명을 한정하지 않는다. 다만, 아래의 설명에서, 본 발명을 쉽게 이해시키기 위해 도 3과 도 4에 예시적으로 도시된 방법에 의하여 플래시 메모리 셀들이 프로그램되는 것으로 가정하여 설명한다.
다시 도 1을 참조하면, 메모리 컨트롤러(200)는 프로그램 카운터(210), 리드 카운터(220) 및 리드 전압 조절부(230)를 포함할 수 있다.
프로그램 카운터(210)는 메모리 컨트롤러(200)에 수신된 데이터(DATA)의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수를 계수할 수 있다. 구체적으로, 프로그램 카운터(210)는 데이터(DATA)를 오류 정정 단위로 제1 논리 값을 갖는 비트들의 개수를 계수할 수 있다.
여기서, 오류 정정 단위는 메모리 컨트롤러(200)에 의해 데이터의 오류를 정정하는 단위이다. 예컨대, 메모리 컨트롤러(200)는 하나의 페이지 단위로 데이터의 오류를 정정할 수 있다. 또한, 복수의 페이지 단위로도 오류가 정정될 수 있으며, 블록 단위로도 오류가 정정될 수 있다. 또한, 하나의 페이지에 둘 이상의 섹터가 포함된 경우에는 섹터 단위로 오류를 정정할 수도 있다. 아래에서는 한 페이지 단위로 데이터의 오류가 정정되는 것으로 가정하여 설명한다. 그러나, 본 발명에서는 반드시 페이지 단위로 오류가 정정되어야 한다거나, 프로그램 카운터(210)가 페이지 단위의 데이터에서 제1 논리 값을 갖는 비트들의 개수를 계수하여야만 하는 것은 아니다. 즉, 섹터 단위로 섹터에 포함된 제1 논리 값ㅇ르 갖는 비트들의 개수를 계수할 수도 있다.
제1 논리 값은 논리 하이 또는 논리 로우일 수 있다. 즉, 제1 논리 값은 "1"일 수도 있고, "0"일 수도 있다. 다만, 제1 논리 값을 편의상 소거 상태에 대응하는 논리 값으로 가정한다. 즉, 도 3 및 도 4에 도시된 예에 따라, 제1 논리 값은 "1"인 것으로 가정한다.
프로그램 카운터(210)는 수신된 데이터(DATA)를 페이지 단위로 논리 값이 "1"인 비트들의 개수를 계수할 수 있다. 이러한 계수 정보는 프로그램 카운트 정보(PC)로 명명될 수 있으며, 도 1에 도시된 바와 같이, 프로그램 카운트 정보(PC)는 메모리 셀 어레이(110)의 스페어 영역(114)에 저장될 수 있다. 그러나 프로그램 카운트 정보(PC)가 반드시 스페어 영역(114)에 저장되어야 하는 것은 아니며, 메인 영역(112)에 프로그램 데이터(PDATA)와 함께 저장될 수도 있다.
또한, 프로그램 데이터(PDATA)는 프로그램 카운트 정보(PC)가 산출된 데이터를 지칭할 수 있다. 프로그램 데이터(PDATA)는 페이지 단위의 데이터일 수 있다. 이 경우, 프로그램 데이터(PDATA)와 프로그램 카운트 정보(PC)는 동일한 워드라인에 연결된 메모리 셀들에 저장될 수 있다. 또한, 프로그램 데이터(PDATA)가 메모리 셀들의 임의의 워드라인에 연결된 메모리 셀들의 제1 페이지에 프로그램된다면, 프로그램 카운트 정보(PC)도 역시 동일한 워드라인에 연결된 메모리 셀들의 동일한 페이지, 즉, 상기 메모리 셀들의 제1 페이지에 저장될 수 있다.
메모리 컨트롤러(200)는 메모리 셀 어레이(110)에 저장된 프로그램 데이터(PDATA)를 리드할 수 있다. 이 때, 메모리 컨트롤러(200)는 프로그램 데이터(PDATA)에 대응하는 프로그램 카운트 정보(PC)도 함께 리드할 수 있다. 메모리 컨트롤러(200)에 의해 리드된 데이터는 리드 데이터(RDATA)로 지칭될 수 있다. 상술한 바와 같이, 메모리 셀들의 산포 변화로 인하여, 프로그램 데이터(PDATA)와 리드 데이터(RDATA)는 서로 상이할 수 있다.
리드 카운터(220)는 리드 데이터(RDATA)의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수를 계수할 수 있다. 이 계수 값은 리드 카운트 정보(RC)로 지칭될 수 있으며, 프로그램 카운트 정보(PC)와 함께 리드 전압 조절부(230)로 제공될 수 있다.
리드 전압 조절부(230)는 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)를 비교하여, 이들의 차이를 산출하고, 산출된 차이 값을 기초로 리드 전압의 전압 레벨을 조절하기 위한 전압 레벨 보상 신호(VRC)를 생성할 수 있다. 전압 레벨 보상 신호(VRC)는 플래시 메모리 장치(100)의 전압 발생부(120)로 제공되며, 전압 발생부(120)는 전압 레벨 보상 신호 (VRC)에 응답하여, 메모리 셀 어레이(110)로부터 프로그램 데이터(PDATA)를 리드하기 위한 리드 전압(VR)을 조절할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 플래시 메모리 시스템을 간략히 보여주는 블록도이다.
도 5를 참조하면, 플래시 메모리 시스템(1000a)는 플래시 메모리 장치(100) 및 메모리 컨트롤러(200a)를 포함한다. 플래시 메모리 장치(100)는 메모리 셀 어레이(110) 및 전압 발생부(120)를 포함한다. 도 5에 도시된 플래시 메모리 시스템(1000a)는 도 1에 도시된 플래시 메모리 시스템(1000)와 실질적으로 유사하며, 차이가 나는 부분을 중심으로 설명하며, 반복되는 부분에 대한 설명은 도 1에 대한 설명으로 갈음한다.
메모리 컨트롤러(200a)는 프로그램 카운터(210), 리드 카운터(220) 및 리드 전압 조절부(230)를 포함한다. 또한, 메모리 컨트롤러(200a)는 제1 랜덤화부(240) 및 제2 랜덤화부(250), 및 이들에 상응하는 제1 디랜덤화부(260) 및 제2 디랜덤화부(270)를 더 포함할 수 있다.
메모리 컨트롤러(200a)는 데이터(DATA)를 수신할 수 있다. 제1 랜덤화부(240)는 수신된 데이터(DATA)를 랜덤화하여 랜덤 데이터(DATA_R)를 생성한다. 랜덤 데이터(DATA_R)는 메모리 셀 어레이(110)의 메인 영역(112)에 프로그램될 수 있다. 메인 영역(120)에 프로그램된 랜덤 데이터(DATA_R)는 랜덤 프로그램 데이터(PDATA_R)로 지칭될 수 있다. 제1 랜덤화부(240)는 수신된 데이터(DATA)의 비트 값들을 랜덤하게 재설정하는 랜덤화 동작을 수행한다. 그에 따라 랜덤 데이터(DATA_R)의 비트 값들은 확률적으로 동일한 분포를 갖는다. 즉, 랜덤 데이터(DATA_R)의 비트들은 약 50%가 "0"의 논리 값을 갖고 나머지 약 50%가 "1"의 논리 값을 갖는다.
프로그램 카운터(210)는 랜덤 데이터(DATA_R)를 수신하여, 랜덤 데이터(DATA_R)의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수를 계수할 수 있다. 제1 논리 값을 갖는 비트들의 개수는 프로그램 카운트 정보(PC)로 지칭될 수 있다. 그러나, 랜덤 데이터(DATA_R)의 길이는 페이지의 길이와 동일할 수 있으며, 이 경우, 랜덤 데이터(DATA_R)의 총 비트 수는 이미 결정되어 있다. 즉, 랜덤 데이터(DATA_R)의 총 비트 수는 페이지의 크기와 하나의 메모리 셀에 저장되는 비트의 개수의 곱과 동일할 수 있다. 따라서, 프로그램 카운트 정보(PC)는 대략 1/2이라고 가정할 수 있다. 이 경우, 프로그램 카운터(210)는 생략될 수 있고, 프로그램 카운트 정보(PC)는 한 페이지의 비트들의 개수의 1/2로 가정될 수 있다.
프로그램 카운트 정보(PC)는 제2 랜덤화부(250)에 의해 랜덤화되어 랜덤 프로그램 카운트 정보(PC_R)로 변형될 수 있으며, 랜덤 프로그램 카운트 정보(PC_R)는 메모리 셀 어레이(110)의 스페어 영역(114)에 프로그램될 수 있다.
제2 디랜덤화부(270)는 스페어 영역(114)에 프로그램된 랜덤 프로그램 카운트 정보(PC_R)를 리드하여 이를 프로그램 카운트 정보(PC)로 복원할 수 있다. 프로그램 카운트 정보(PC)는 리드 전압 조절부(230)에 제공될 수 있다. 상술한 바와 같이, 제1 랜덤화부(240)에 의하여 랜덤 데이터(DATA_R)의 제1 논리 값을 갖는 비트들의 개수가 전체 비트들의 개수의 1/2에 근접할 것이다. 따라서, 프로그램 카운트 정보(PC)는 전체 비트들의 개수의 1/2로 가정할 수 있으며, 그 경우, 프로그램 카운터(210), 제2 랜덤화부(250) 및 제2 디랜덤화부(270)는 생략될 수 있으며, 프로그램 카운트 정보(PC)가 메모리 셀 어레이(110)에 저장될 필요도 없다.
메인 영역(112)에 저장된 랜덤 프로그램 데이터(PDATA_R)가 리드되면서, 랜덤 프로그램 데이터(PDATA_R)는 랜덤 리드 데이터(RDATA_R)로 리드될 수 있다. 상술한 바와 같이, 랜덤 프로그램 데이터(PDATA_R)와 랜덤 리드 데이터(RDATA_R)는 서로 상이할 수 있다. 리드 카운터(220)는 랜덤 리드 데이터(RDATA_R)의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수를 계수하여, 리드 카운트 정보(RC)를 생성할 수 있다. 리드 카운트 정보(RC)는 리드 전압 조절부(230)에 제공될 수 있다.
또한, 랜덤 리드 데이터(RDATA_R)는 제1 디랜덤화부(260)에 의하여 리드 데이터(RDATA)로 복원될 수 있으며, 리드 데이터(RDATA)는 메모리 컨트롤러(200a)에 의해 외부로 송신될 수 있다.
리드 전압 조절부(230)는 메모리 셀 어레이(110)에 저장된 랜덤 프로그램 데이터(PDATA_R)에 대한 프로그램 카운트 정보(PC)와 메모리 셀 어레이(110)로부터 리드된 랜덤 리드 데이터(RDATA_R)에 대한 리드 카운트 정보(RC)를 이용하여 리드 전압(VR)을 조절할 수 있다.
도 6a 내지 6f는 본 발명의 실시예들을 설명하기 위해 메모리 셀들의 산포들을 예시적으로 도시한다.
도 6a 내지 도 6e는 2비트 MLC 방식의 메모리 셀들에 프로그램이 끝난 단계의 셀 산포들을 도시하며, 도 6f는 3비트 MLC 방식의 메모리 셀들에 프로그램이 끝난 단계의 셀 산포들을 도시한다.
도 6a를 참조하면, 도 2의 (b)에 도시된 산포들과 비교할 때, "E" 상태, "P1" 상태, "P2" 상태 및 "P3" 상태의 산포들이 리드 전압들(VR21, VR1, VR22)을 넘어 옆으로 퍼져있다. 이는 전자를 플로팅 게이트와 같은 전하 저장층에 저장하는 플래시 메모리 장치의 특성상 전자들이 전하 저장층에서 누설되거나 과잉 공급됨에 따라 생기는 현상이다. 이 경우, 리드 전압(R21)을 초과하는 "E" 상태의 산포 부분과 리드 전압(R21) 이하로 내려온 "P1" 상태의 산포 부분은 리드 과정에서 오류를 일으킨다. 리드 전압(R1)과 리드 전압(R22)의 경우에도 마찬가지이다. 이러한 오류들은 오류 정정 정보에 의해 정정될 수 있다.
도 6b를 참조하면, 도 6b에 도시된 각 산포들은 도 6a에 도시된 산포들에 비하여 좌측으로 치우쳐있다. 리드 전압(VR1)으로 메모리 셀의 제1 페이지에 저장된 데이터의 비트들의 값을 검출하면, 초기보다 "1"의 논리 값을 갖는 비트들이 많아진다. 즉, "1"의 논리 값을 갖는 비트들의 개수를 계수할 경우, 제1 페이지에 대한 리드 카운트 정보(RC)는 제1 페이지에 대한 프로그램 카운트 정보(PC)보다 많다.
이러한 현상은 메모리 셀에 저장된 전하들이 시간이 흐름에 따라 누설되면서 일어날 수 있다. 이러한 현상은 어느 한 산포에서 나타나는 것이 아니라 모든 산포에서 걸쳐 나타날 수 있다. 따라서, 리드 전압들(VR21, VR1, VR22)을 새로운 리드 전압들(nVR21, nVR1, nVR22)로 수정하는 것이 필요하며, 이를 위해, 전압 레벨 보상 값들(-ΔVR21, -ΔVR1, -ΔVR22)이 적용될 수 있다.
도 6b의 그래프로부터 알 수 있겠지만, 전압 레벨 보상 값들(-ΔVR21, -ΔVR1, -ΔVR22)은 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 비례할 수 있다. 또한, 전압 레벨 보상 값들(-ΔVR21, -ΔVR1, -ΔVR22)은 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 따라 미리 정의된 리드 리트라이 테이블(Read Retry Table)을 이용하여 결정될 수 있다. 이러한 리드 리트라이 테이블은 도 8을 참조로 설명된다.
도 6c를 참조하면, 도 6c에 도시된 각 산포들은 도 6a에 도시된 산포들에 비하여 우측으로 치우쳐있다. 리드 전압(VR1)으로 메모리 셀의 제1 페이지에 저장된 데이터의 비트들의 값을 검출하면, 초기보다 "1"의 논리 값을 갖는 비트들이 적어진다. 즉, "1"의 논리 값을 갖는 비트들의 개수를 계수할 경우, 제1 페이지에 대한 리드 카운트 정보(RC)는 제1 페이지에 대한 프로그램 카운트 정보(PC)보다 적다.
이러한 현상은 메모리 셀에 대한 프로그램/소거 동작을 반복함에 따라 게이트 절연층이 취약해지면서 일어날 수 있다. 이러한 현상은 어느 한 산포에서 나타나는 것이 아니라 모든 산포에서 걸쳐 나타날 수 있다. 따라서, 리드 전압들(VR21, VR1, VR22)을 새로운 리드 전압들(nVR21, nVR1, nVR22)로 수정하는 것이 필요하며, 이를 위해, 전압 레벨 보상 값들(+ΔVR21, +ΔVR1, +ΔVR22)이 적용될 수 있다.
도 6c의 그래프로부터 알 수 있겠지만, 전압 레벨 보상 값들(+ΔVR21, +ΔVR1, +ΔVR22)은 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 비례할 수 있다. 또한, 전압 레벨 보상 값들(+ΔVR21, +ΔVR1, +ΔVR22)은 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 따라 미리 정의된 리드 리트라이 테이블(Read Retry Table)을 이용하여 결정될 수 있다.
도 6d를 참조하면, 도 6d에 도시된 "E" 상태의 산포는 도 6a에 도시된 "E" 상태의 산포에 비하여 우측으로 치우쳐있다. 리드 전압(VR1)으로 메모리 셀의 제1 페이지에 저장된 데이터의 비트들의 값을 검출하면, 프로그램 시와 비교할 때 "1"의 논리 값을 갖는 비트들의 수는 거의 동일하다. 즉, "1"의 논리 값을 갖는 비트들의 개수를 계수할 경우, 제1 페이지에 대한 리드 카운트 정보(RC)는 제1 페이지에 대한 프로그램 카운트 정보(PC)와 거의 비슷하다. 그러나, 리드 전압들(VR21, VR22)으로 메모리 셀의 제2 페이지에 저장된 데이터의 비트들의 값을 검출하면, 프로그램 시와 비교할 때 "1"의 논리 값을 갖는 비트들의 수는 적어진다. 즉, 제2 페이지에 대한 리드 카운트 정보(RC)는 제2 페이지에 대한 프로그램 카운트 정보(PC)보다 적다.
이러한 현상은 메모리 셀을 리드함에 따라 인접한 메모리 셀의 문턱 전압이 변하면서 일어날 수 있다. 특히, "E" 상태의 메모리 셀은 인접 메모리 셀에 가해지는 리드 전압의 영향으로 문턱 전압이 상승하게 된다. 이러한 현상은 리드 디스터번스(read disturbance)로 알려져 있다. 이러한 현상은 제1 페이지에 대한 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC)의 차이는 미미하지만, 제2 페이지에 대한 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC) 간에 차이가 생기는 것으로 감지할 수 있다. 따라서, 리드 전압(VR21)을 새로운 리드 전압(nVR21)로 수정하는 것이 필요하며, 이를 위해, 전압 레벨 보상 값(+ΔVR21)이 적용될 수 있다.
도 6d의 그래프로부터 알 수 있겠지만, 전압 레벨 보상 값(+ΔVR21)은 제2 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 비례할 수 있다. 또한, 전압 레벨 보상 값(+ΔVR21)은 제2 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 따라 미리 정의된 리드 리트라이 테이블(Read Retry Table)을 이용하여 결정될 수 있다. 이러한 리드 리트라이 테이블은 도 9를 참조로 설명된다.
도 6e를 참조하면, 도 6e에 도시된 "E" 상태의 산포는 도 6a에 도시된 "E" 상태의 산포에 비하여 우측으로 치우쳐있고, 도 6e에 도시된 "P3" 상태의 산포는 도 6a에 도시된 "P3" 상태의 산포에 비하여 좌측으로 치우쳐있다. 리드 전압(VR1)으로 메모리 셀의 제1 페이지에 저장된 데이터의 비트들의 값을 검출하면, 프로그램 시와 비교할 때 "1"의 논리 값을 갖는 비트들의 수는 거의 동일하다. 그러나, 리드 전압들(VR21, VR22)으로 메모리 셀의 제2 페이지에 저장된 데이터의 비트들의 값을 검출하면, 프로그램 시와 비교할 때 "1"의 논리 값을 갖는 비트들의 수는 적어진다. 즉, 제2 페이지에 대한 리드 카운트 정보(RC)는 제2 페이지에 대한 프로그램 카운트 정보(PC)보다 적다.
"E" 상태의 산포가 우측으로 이동하는 것은 리드 디스터번스의 영향일 수 있고, 가장 문턱 전압이 높은 "P3" 상태의 산포가 좌측으로 이동하는 것은 전하 저장층에 전하 밀도가 높기 때문에 상대적으로 누수가 많기 때문일 수 있다. 이러한 현상이 일어나는 경우, 제1 페이지에 대한 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC)의 차이는 미미하지만, 제2 페이지에 대한 리드 카운트 정보(RC)는 프로그램 카운트 정보(PC)에 비해 작아진다. 따라서, 리드 전압들(VR21, VR22)을 각각 새로운 리드 전압들(nVR21, nVR22)로 수정하는 것이 필요하며, 이를 위해, 전압 레벨 보상 값들(+ΔVR21, +ΔVR22)이 적용될 수 있다.
도 6e의 그래프로부터 알 수 있겠지만, 전압 레벨 보상 값들(+ΔVR21, +ΔVR22)은 제2 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 비례할 수 있다. 또한, 전압 레벨 보상 값(+ΔVR21)은 제2 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 따라 미리 정의된 리드 리트라이 테이블(Read Retry Table)을 이용하여 결정될 수 있다. 이러한 리드 리트라이 테이블은 도 9를 참조로 설명된다.
도 6f를 참조하면, 도 6f에 도시된 "E" 상태의 산포는 다른 산포들에 비하여 우측으로 치우쳐있다. 그 결과, 제1 페이지의 데이터 비트들을 감지하기 위한 리드 전압(VR1)과 제2 페이지의 데이터 비트들을 감지하기 위한 리드 전압들(VR21, VR22)로 메모리 셀의 제1 페이지 및 제2 페이지에 저장된 데이터의 비트들의 값을 검출하더라도, 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC)는 거의 동일하다. 그러나, 리드 전압들(VR31, VR32, VR33)으로 메모리 셀의 제3 페이지에 저장된 데이터의 비트들의 값을 검출하면, 프로그램 시와 비교할 때 "1"의 논리 값을 갖는 비트들의 수는 적어진다. 즉, 제3 페이지에 대한 리드 카운트 정보(RC)는 제3 페이지에 대한 프로그램 카운트 정보(PC)보다 적다.
이러한 현상은 리드 디스터번스(read disturbance)에 의해 일어날 수 있다. 이러한 현상은 제1 페이지와 제2 페이지에 대한 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC)의 차이는 미미하지만, 제3 페이지에 대한 프로그램 카운트 정보(PC)와 리드 카운트 정보(RC) 간에 차이가 생기는 것으로 감지할 수 있다. 따라서, 리드 전압(VR31)을 새로운 리드 전압(nVR31)로 수정하는 것이 필요하며, 이를 위해, 전압 레벨 보상 값(+ΔVR31)이 적용될 수 있다.
도 6e의 그래프로부터 알 수 있겠지만, 전압 레벨 보상 값(+ΔVR31)은 제3 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 비례할 수 있다. 또한, 전압 레벨 보상 값(+ΔVR31)은 제3 페이지에 대한 리드 카운트 정보(RC)와 프로그램 카운트 정보(PC)의 차이에 따라 미리 정의된 리드 리트라이 테이블(Read Retry Table)을 이용하여 결정될 수 있다.
도 7은 본 발명의 일 실시예에 따른 플래시 메모리 장치의 데이터 리드 방법을 설명하기 위한 흐름도이다. 도 8 내지 도 10은 도 7의 데이터 리드 방법을 설명하기 위한 것으로서, 도 8은 메모리 셀 어레이에 저장된 데이터들을 도시한다. 도 9 및 도 10은 예시적인 리드 리트라이 테이블들을 도시한다.
도 8 내지 도 10과 함께 도 7을 참조하면, 플래시 메모리 어레이로부터 데이터들을 리드하는 과정에서 정정불가 오류가 검출된다(S71).
도 8을 참조하면, 메모리 셀 어레이(110)이 도시된다. 메모리 셀 어레이(110)는 메인 영역(112)과 스페어 영역(114)을 포함한다. 메모리 셀 어레이(110)는 워드라인들(WL0~WLN) 및 비트라인들(미 도시)을 포함한다. 워드라인들(WL0~WLN) 각각을 따라 배치되는 메모리 셀들은 각각 2개의 페이지들(P0_1, P0_2 ~ PN_1, PN_2)에 대응할 수 있다. 즉, 제1 워드라인(WL0)에 연결된 메모리 셀들은 제1 페이지(P0_1)과 제2 페이지(P0_2)를 구성할 수 있다. 이 경우, 상기 메모리 셀은 2비트 멀티 레벨 셀이다. 메모리 셀이 3비트 멀티 레벨 셀인 경우, 하나의 워드라인에 연결된 메모리 셀들은 3개의 페이지를 구성할 수 있을 것이다. 아래에서는 편의상 2비트 멀티 레벨 셀인 것으로 가정한다.
예컨대, 제1 워드라인(WL0)의 제1 페이지(P0_1)의 메인 영역(112)에는 제1 페이지 데이터(PDATA0_1)가 프로그램되고, 제1 워드라인(WL0)의 제2 페이지(P0_2)의 메인 영역(112)에는 제2 페이지 데이터(PDATA0_1)가 프로그램될 수 있다. 또한, 제1 워드라인(WL0)의 제1 페이지(P0_1)의 스페어 영역(114)에는 제1 페이지 프로그램 카운트 정보(PC0_1)가 프로그램되고, 제1 워드라인(WL0)의 제2 페이지(P0_2)의 스페어 영역(114)에는 제2 페이지 프로그램 카운트 정보(PC0_2)가 프로그램될 수 있다. 이와 같이, 제2 워드라인 내지 제N+1 워드라인(WL1~WLN)의 페이지들에도 동일한 방식으로 페이지 데이터와 이에 대응하는 프로그램 카운트 정보가 프로그램될 수 있다.
아래의 설명에서, 설명의 편의를 위해, 임의의 워드라인의 제1 페이지에 프로그램된 제1 페이지 데이터는 "PDATA_1"로 참조될 수 있고, 임의의 워드라인의 제2 페이지에 프로그램된 제2 페이지 데이터는 "PDATA_2"로 참조될 수 있다. 또한, 상기 제1 페이지 데이터(PDATA_1)에 대응하는 제1 페이지 프로그램 카운터와 제1 페이지 리드 카운터는 각각 "PC_1" 및 "RC_1"로 참조될 수 있다. 이와 마찬가지로, 상기 제2 페이지 데이터(PDATA_2)에 대응하는 제2 페이지 프로그램 카운터와 제2 페이지 리드 카운터는 각각 "PC_2" 및 "RC_2"로 참조될 수 있다. 또한, 리드된 제1 페이지 데이터는 "RDATA_1"로 참조되고, 리드된 제2 페이지 데이터는 "RDATA_2"로 참조될 수 있다.
도 1의 메모리 컨트롤러(200)는 메모리 셀 어레이(110)으로부터 데이터들을 리드할 수 있다. 예컨대, 제4 워드라인(WL3)의 제2 페이지(P3_2)에 프로그램되어 있는 제2 페이지 데이터(PDATA3_2)를 리드하는 과정에서 정정불가 오류가 발생할 수 있다. 예컨대, 정정불가 오류는 오류를 정정하기 위한 오류 정정 코드(ECC)의 오류 정정 한계를 넘어서는 오류가 발생하였음을 나타낸다. 오류 정정 코드(ECC)를 이용하여 오류를 정정하는 오류 정정부(미 도시)가 메모리 컨트롤러(200) 내에 포함될 수 있다. 예컨대, 상기 오류 정정부는 제2 페이지 데이터(PDATA3_2)의 오류를 정정할 수 없다는 것을 표시할 수 있다.
단계(S72)에서, 메모리 컨트롤러(200)는 정정불가 오류가 검출된 데이터가 프로그램된 메모리 셀들에 프로그램된 제1 페이지 데이터(PDATA_1)를 리드한다. 또한, 메모리 컨트롤러(200)는 상기 제1 페이지 데이터(PDATA_1)에 대응하는 제1 페이지 프로그램 카운트 정보(PC_1)를 리드한다. 또한, 메모리 컨트롤러(200)는 상기 리드된 제1 페이지 데이터(RDATA_1)의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수를 계수하여 제1 페이지 리드 카운트 정보(RC_1)를 생성한다. 그 후, 메모리 컨트롤러(200)는 제1 페이지 프로그램 카운트 정보(PC_1)와 제1 페이지 리드 카운트 정보(RC_1)의 차이를 계산한다.
위의 예에서, 제2 페이지 데이터(PDATA3_2)에서 정정불가 오류가 검출되었으므로, 제2 페이지 데이터(PDATA3_2)가 프로그램되어 있던 워드라인(WL3)에 연결된 메모리 셀들을 찾고, 상기 메모리 셀들의 제1 페이지(P3_1)로부터 제1 페이지 데이터(PDATA3_1)를 리드한다. 또한, 상기 제1 페이지 데이터(PDATA3_1)에 대응하는 제1 페이지 프로그램 카운트 정보(PC3_1)를 리드한다. 그리고, 메모리 컨트롤러(200)에 의해 제1 페이지 데이터(PDATA3_1)가 리드되면서 생성되는 제1 페이지 리드 데이터(RDATA3_1)의 제1 페이지 리드 카운트 정보(RC3_1)가 생성될 수 있다. 그 후, 메모리 컨트롤러(200)는 제1 페이지 프로그램 카운트 정보(PC3_1)과 제1 페이지 리드 카운트 정보(RC3_1)의 차(RC3_1-PC3_1)를 계산할 수 있다.
단계(S73)에서, 메모리 컨트롤러(200)는 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)에 대응하는 전압 레벨 보상 값을 선택할 수 있다. 도 9는 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)에 대응하는 전압 레벨 보상 값들이 정의된 리드 리트라이 테이블(Read retry table)을 예시적으로 도시한다.
도 9의 리드 리트라이 테이블을 참조하면, 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)에 대응하여 리드 전압들의 전압 레벨들을 얼마나 증감시켜야 하는 지가 미리 결정되어 있다. 예컨대, 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)가 220인 경우라면, 컨트롤러(20)는 리드 전압들(VR21, VR1, VR22)을 각각 -150mV, -300mV, -400mV만큼 낮출 수 있다.
더욱 구체적으로, 한 페이지의 크기는 4096 bits일 수 있다. 제1 페이지 리드 카운트 정보(RC_1)는 2010이고 제1 페이지 프로그램 카운트 정보(PC_1)는 1900일 수 있다.
그러나 종래에는 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)를 참조하지 않고, 리드 리트라이 테이블에 정의된 모든 전압 레벨 보상 값들을 순차적으로 적용하여 오류 정정 가능 여부를 판단하였다. 따라서, 정정불가 오류가 발생되면, 최악의 경우, 정정불가 오류가 발생된 데이터가 프로그램된 페이지를 리드 리트라이 테이블에 정의된 모든 경우로 리드해야 한다. 그 결과, 리드 리트라이 테이블에 100가지 전압 레벨 세트가 존재하는 경우, 리드 타임이 100배로 늘어나는 문제가 있다.
그러나, 본 발명에 따르면, 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)를 이용함으로써, 메모리 셀들의 산포가 어떤 원인에 의해 변했는지를 가늠할 수 있으며, 상기 차(RC_1-PC_1)를 이용하여 각각의 전압 레벨을 얼마큼 증감시켜야 하는지를 바로 알 수 있기 때문에, 리드 타임이 과도하게 늘어나는 문제가 해결될 수 있다.
만약 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)가 소정 범위 이내인 경우라면, 즉, 본 예에서, -99와 99 사이라면, 차(RC_1-PC_1)가 통상적인 범위이기 때문에, 오류 정정이 가능한 범위라고 판단할 수 있다. 이 경우, 메모리 컨트롤러(200)는 해당 페이지의 메모리 셀들이 도 6b나 도 6c에 도시된 형태의 산포를 갖지 않음을 알 수 있다. 즉, 이 경우에 메모리 컨트롤러(200)는 해당 페이지의 메모리 셀들이 도 6d나 도 6e에 도시된 형태의 산포를 가질 확률이 높음을 알 수 있다.
이 때, 메모리 컨트롤러(200)는 다른 오류 모드에 따라 리드 전압들의 전압 레벨들을 조절할 수 있다. 예컨대, 제2 페이지 리드 카운트 정보(RC_2)과 제2 페이지 프로그램 카운트 정보(PC_2)의 차(RC_2-PC_2)를 기초로 리드 전압들의 전압 레벨들을 조절할 수 있다. 특히, 리드 전압들의 일부의 전압 레벨들이 조절될 수 있다.
도 10의 리드 리트라이 테이블을 참조하면, 제2 페이지 리드 카운트 정보(RC_2)과 제2 페이지 프로그램 카운트 정보(PC_2)의 차(RC_2-PC_2)에 대응하여 리드 전압들 중 일부의 전압 레벨들을 얼마나 증감시켜야 하는 지가 결정되어 있다. 예컨대, 제2 페이지 리드 카운트 정보(RC_2)과 제2 페이지 프로그램 카운트 정보(PC_2)의 차(RC_2-PC_2)가 -120인 경우라면, 컨트롤러(20)는 리드 전압들(VR21, VR1, VR22)을 각각 +50mV, 0mV, 0mV만큼 증가시키거나, +30mV, 0mV, -40mV만큼 변화시킬 수 있다. 리드 전압들(VR21, VR1, VR22)을 각각 +50mV, 0mV, 0mV만큼 증가시키는 경우는 해당 메모리 셀들이 도 6d와 유사한 형태의 산포를 갖는다고 예상한 경우이고, 리드 전압들(VR21, VR1, VR22)을 각각 +30mV, 0mV, -40mV만큼 변화시키는 경우는 해당 메모리 셀들이 도 6e와 유사한 형태의 산포를 갖는다고 예상한 경우이다.
제2 페이지 리드 카운트 정보(RC_2)과 제2 페이지 프로그램 카운트 정보(PC_2)의 차(RC_2-PC_2)가 소정 범위 이내인 경우에는, 오류 정정을 재시도하거나 정정불가로 판정될 수 있다. 재시도 횟수가 미리 결정될 수 있다. 또한, 종래의 방법과 같이 순차적으로 모든 전압 레벨 세트를 적용하여 오류 정정을 시도할 수도 있다.
상술한 바와 같이, 단계(S75)에서는 리드 전압들의 전압 레벨들이 조절된 상태에서 정정불가 오류가 발생하였던 데이터의 리드를 시도하고, 정정 가능한지의 여부를 판단할 수 있다. 만약 정정이 가능하다면, 종료되지만, 정정이 불가능하다면, 단계(S76)으로 진행하여 재시도를 할 것인지를 결정할 수 있다. 재시도 횟수가 미리 정해진 횟수 이내이라는 등의 이유로 재시도를 시도하게 되면, 단계(S72)로 진행한다. 그러나, 재시도 횟수가 미리 정해진 횟수를 초과하였다는 등의 이유로 재시도를 포기하게 되면, 단계(S77)로 진행하여, 정정 불가로 판정한다. 그 후, 도 7에 제시된 방법은 종료된다.
도 9와 도 10에 예시된 리드 리트라이 테이블들은 예시적으로 제시된 것이며, 본 발명을 한정하지 않는다. 또한, 제1 페이지 리드 카운트 정보(RC_1)과 제1 페이지 프로그램 카운트 정보(PC_1)의 차(RC_1-PC_1)와 제2 페이지 리드 카운트 정보(RC_2)과 제2 페이지 프로그램 카운트 정보(PC_2)의 차(RC_2-PC_2)가 갖게 되는 분포에 따라 이들을 조합한 리드 리트라이 테이블들을 이용할 수 있다. 리드 리트라이 테이블은 통계적인 방법에 의해 각각의 전압 레벨 보상 값들이 결정될 수 있다.
도 11은 본 발명의 일 실시예에 따른 플래시 메모리 장치의 리드 전압 조절 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 단계(S111)에서, 플래시 메모리 셀들의 프로그램 시에, 제1 프로그램 카운트 정보가 저장된다. 플래시 메모리 셀들은 적어도 하나의 페이지를 갖는다. 플래시 메모리 셀들은 SLC 또는 MLC일 수 있다. 제1 프로그램 카운트 정보는 플래시 메모리 셀들의 제1 페이지에 프로그램되는 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수이다.
단계(S112)에서, 플래시 메모리 셀들로부터 제1 페이지 데이터를 리드하여, 제1 리드 카운트 정보가 계수된다. 제1 리드 카운트 정보는 플래시 메모리 셀들의 제1 페이지로부터 리드되는 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수이다. 제1 페이지 데이터를 리드하는데 리드 전압들이 사용된다.
단계(S113)에서, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이를 기초로 리드 전압들의 전압 레벨들이 조절된다.
리드 전압들의 전압 레벨들은 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이에 대응하는 리드 전압들의 전압 레벨 보상 값들을 리드 전압들에 적용함으로써 조절될 수 있다. 이 때, 리드 전압들의 전압 레벨들은 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이에 비례하여 높여지거나 낮춰질 수 있다.
도 5를 참조하여 위에서 설명된 바와 같이, 단계(S111) 전에, 컨트롤러에 수신된 데이터는 랜덤화(randomization)되어 플래시 메모리 셀들에 프로그램될 수 있다. 이 때, 플래시 메모리 셀들의 제1 페이지에 프로그램되는 데이터는 랜덤화된 데이터일 수 있다. 또한, 제1 프로그램 카운트 정보도 랜덤화될 수 있으며, 플래시 메모리 셀들의 스페어 영역에 저장될 수 있다. 그 후, 스페어 영역에 저장된 랜덤화된 제1 프로그램 카운트 정보는 디랜덤화된 후 리드될 수 있다.
또한, 단계(S111)와 단계(S112) 사이에, 플래시 메모리 셀들로부터 리드되는 데이터는 디랜덤화(derandomization)될 수 있다. 또한, 플래시 메모리 셀들의 제1 페이지로부터 리드되는 데이터는 디랜덤화할 데이터일 수 있다. 또한, 제1 리드 카운트 정보는 플래시 메모리 셀들로부터 리드된 후 디랜덤화된 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수일 수 있다.
또한, 플래시 메모리 셀들의 제2 페이지에 프로그램되는 데이터에 대한 제2 프로그램 카운트 정보도 저장될 수 있다. 제2 프로그램 카운트 정보는 제2 페이지에 프로그램되는 데이터의 비트들이 제1 논리 값을 갖는 개수일 수 있다. 또한, 플래시 메모리 셀들의 제2 페이지로부터 리드되는 데이터로부터 제2 리드 카운트 정보가 얻어질 수 있다. 제2 리드 카운트 정보는 2 페이지로부터 리드되는 데이터의 비트들이 제1 논리 값을 갖는 개수일 수 있다. 이 경우, 리드 전압들의 전압 레벨들은 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이뿐만 아니라, 제2 프로그램 카운트 정보와 제2 리드 카운트 정보의 차이를 기초로 조절될 수 있다.
구체적으로, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이, 및 제2 프로그램 카운트 정보와 제2 리드 카운트 정보의 차이를 기초로 오류 모드가 결정될 수 있다. 컨트롤러는 오류 모드에 대응하는 리드 리트라이 테이블을 가질 수 있으며, 이러한 리드 리트라이 테이블은 도 9 및 도 10에 도시된다. 리드 리트라이 테이블을 통해, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이, 및 제2 프로그램 카운트 정보와 제2 리드 카운트 정보의 차이에 대응하는 리드 전압들의 전압 레벨 보상 값들이 획득될 수 있다. 이러한 전압 레벨 보상 값들을 리드 전압들에 각각 적용함으로써, 리드 전압들의 전압 레벨들이 조절될 수 있다.
오류 모드는 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이가 소정의 범위를 넘는지에 따라 결정될 수 있다. 또한, 오류 모드는 제1 프로그램 카운트 정보와 제1 리드 카운트 정보를 비교함으로써 결정될 수 있다. 예컨대, 제1 프로그램 카운트 정보가 제2 리드 카운트 정보보다 큰 경우, 도 6c에 도시된 바와 같은 산포를 갖는 오류 모드가 결정될 수 있다. 이 경우, 리드 전압들의 전압 레벨들이 상승되도록 리드 전압이 조절될 수 있다.
또한, 제1 프로그램 카운트 정보가 제2 리드 카운트 정보보다 작은 경우, 도 6b에 도시된 바와 같은 산포를 갖는 오류 모드가 결정될 수 있다. 이 경우, 리드 전압들의 전압 레벨들이 하강되도록 리드 전압이 조절될 수 있다.
또한, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이가 소정의 범위 이내인 경우, 도 6c 또는 도 6d에 도시된 바와 같은 산포를 갖는 오류 모드가 결정될 수 있다. 이 경우, 제2 프로그램 카운트 정보와 제2 리드 카운트 정보의 차이를 기초로 리드 전압들 중 일부의 전압 레벨들을 상승시키거나 하강시키도록 리드 전압이 조절될 수 있다.
도 12는 본 발명의 일 실시예에 따른 플래시 메모리 장치의 데이터 리드 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 단계(S121)에서, 플래시 메모리 셀들의 리딩 시에, 정정불가 오류가 검출된다. 단계(S122)에서, 정정불가 오류가 검출된 데이터가 프로그램된 플래시 메모리 셀들의 제1 페이지로부터 제1 페이지 데이터가 리드된다. 단계(S123)에서, 제1 페이지 데이터에 대응하는 제1 프로그램 카운트 정보가 리드된다. 제1 프로그램 카운트 정보는 플래시 메모리 셀들의 제1 페이지에 프로그램된 제1 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수일 수 있다. 단계(S124)에서, 리드된 제1 페이지 데이터로부터 제1 리드 카운트 정보가 계수된다. 제1 리드 카운트 정보는 제1 페이지로부터 리드된 제1 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수일 수 있다. 단계(S125)에서, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이를 기초로 리드 전압들의 전압 레벨들이 조절된다. 단계(S126)에서, 전압 레벨들이 조절된 리드 전압들을 이용하여, 플래시 메모리 셀들이 다시 리드된다.
또한, 제1 프로그램 카운트 정보와 제1 리드 카운트 정보의 차이가 소정 범위 이내이면, 정정불가 오류가 검출된 데이터가 프로그램된 플래시 메모리 셀들의 제2 페이지로부터 제2 페이지 데이터가 리드될 수 있다. 제2 페이지 데이터에 대응하는 제2 프로그램 카운트 정보가 리드될 수 있다. 제2 프로그램 카운트 정보는 플래시 메모리 셀들의 제2 페이지에 프로그램된 제2 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수일 수 있다. 제2 페이지로부터 리드된 제2 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제2 리드 카운트 정보가 계수될 수 있다. 제2 프로그램 카운트 정보와 제2 리드 카운트 정보의 차이를 기초로 리드 전압들 중 일부의 전압 레벨들이 조절될 수 있다.
도 13은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블록도이다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)는 버스(BUS)에 전기적으로 연결된 프로세서(CPU), 사용자 인터페이스(UI) 및 반도체 메모리 시스템(MSYS)을 구비한다. 반도체 메모리 시스템(MSYS)은 메모리 컨트롤러(Ctrl) 및 반도체 메모리 장치(MEM)를 포함한다. 반도체 메모리 장치(MEM)에는 프로세서(CPU)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 저장될 것이다. 도 13의 반도체 메모리 장치(MEM)은 도 1 또는 도 5의 플래시 메모리 장치(100)일 수 있고, 도 13의 메모리 컨트롤러(Ctrl)는 도 1 또는 도 5의 메모리 컨트롤러(200 또는 200a)일 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)는 파워 공급 장치(PS)를 더 구비할 수 있다. 또한, 반도체 메모리 장치(MEM)가 플래시 메모리 장치일 경우, 본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)는 휘발성 메모리 장치(예를 들어, RAM)을 더 구비할 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)가 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
도 14는 본 발명의 실시예에 따른 메모리 카드를 나타내는 블록도이다.
도 14를 참조하면, 본 발명의 실시예에 따른 메모리 카드(MCRD)는, 메모리 컨트롤러(Ctrl) 및 메모리 장치(MEM)를 구비한다. 메모리 컨트롤러(Ctrl)는 입출력 수단(I/O)를 통해 수신되는 외부의 호스트(미 도시)의 요청에 응답하여 메모리 장치(MEM)로의 데이터 프로그램 또는 메모리 장치(MEM)로부터의 데이터 리드를 제어한다. 또한, 메모리 장치(MEM)가 도 1 또는 도 5의 플래시 메모리 장치(100)인 경우, 메모리 컨트롤러(Ctrl)는 도 1 또는 도 5의 메모리 컨트롤러(200 또는 200a)와 같이 메모리 장치(MEM)의 리드 전압을 조절할 수 있다. 본 발명의 실시예에 따른 메모리 카드(MCRD)의 메모리 컨트롤러(Ctrl)는 상기와 같은 제어 동작을 수행하기 위해, 각각 호스트 및 메모리 장치와의 인터페이스를 수행하는 인터페이스부들(미 도시), 및 램(RAM) 등을 구비할 수 있다.
도 14의 메모리 카드(MCRD)는 콤팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 15는 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 15를 참조하면, 본 발명의 실시예에 따른 SSD는 SSD 컨트롤러(SCTL) 및 메모리 장치(MEM)를 포함한다. SSD 컨트롤러(SCTL)는 버스(BUS)로 연결되는 프로세서(PROS), 램(RAM), 캐쉬 버퍼(CBUF) 및 메모리 컨트롤러(Ctrl)를 구비할 수 있다. 프로세서(PROS)는 호스트(미 도시)의 요청(명령, 어드레스, 데이터)에 응답하여 메모리 컨트롤러(Ctrl)가 메모리 장치(MEM)와 데이터를 송수신하도록 제어한다. 본 발명의 실시예에 따른 SSD의 프로세서(PROS) 및 메모리 컨트롤러(Ctrl)는 하나의 ARM 프로세서로 구현될 수도 있다. 프로세서(PROS)의 동작에 필요한 데이터는 램(RAM)에 로딩될 수 있다.
호스트 인터페이스(HOST I/F)는 호스트의 요청을 수신하여 프로세서(PROS)로 전송하거나, 메모리 장치(MEM)로부터 전송된 데이터를 호스트로 전송한다. 호스트 인터페이스(HOST I/F)는 USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 그리고 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜로, 호스트와 인터페이스 할 수 있다. 메모리 장치(MEM)로 전송하고자 하거나, 메모리 장치(MEM)로부터 전송된 데이터는 캐쉬 버퍼(CBUF)에 임시로 저장될 수 있다. 캐쉬 버퍼(CBUF)는 SRAM 등일 수 있다.
본 발명의 실시예에 따른 SSD에 구비되는 메모리 장치(MEM)는 도 1 또는 도 5의 플래시 메모리 장치일 수 있다. 또한, 본 발명의 실시예에 따른 SSD의 SSD 컨트롤러(SCTL)에 포함되는 메모리 컨트롤러(Ctrl)는 도 1 또는 도 5의 메모리 컨트롤러(200 또는 200a)일 수 있다.
상기에서 설명된 본 발명의 실시예에 따른 반도체 메모리 장치는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 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(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 반도체 메모리 장치가 실장될 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
100: 플래시 메모리 장치
110: 메모리 셀 어레이
120: 전압 발생부
200, 200a: 컨트롤러
210: 프로그램 카운터
220: 리드 카운터
230: 리드 전압 조절부
1000: 플래시 메모리 시스템

Claims (10)

  1. 적어도 하나의 페이지를 갖는 플래시 메모리 셀들의 프로그램 시에, 상기 플래시 메모리 셀들의 제1 페이지에 프로그램되는 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제1 프로그램 카운트 정보를 저장하는 단계;
    리드 전압들을 이용한 상기 플래시 메모리 셀들의 리드 시에, 상기 플래시 메모리 셀들의 상기 제1 페이지로부터 리드되는 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수를 계수하여 제1 리드 카운트 정보를 얻는 단계; 및
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이를 기초로 상기 리드 전압들의 전압 레벨들을 조절하는 단계를 포함하는 플래시 메모리 장치의 리드 전압 조절 방법.
  2. 제1 항에 있어서,
    상기 리드 전압들의 전압 레벨들을 조절하는 단계는,
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 비례하여 상기 리드 전압들의 전압 레벨들을 낮추거나 높이는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  3. 제1 항에 있어서,
    상기 플래시 메모리 셀들의 프로그램 시에, 상기 플래시 메모리 셀들의 제2 페이지에 프로그램되는 데이터의 비트들이 상기 제1 논리 값을 갖는 개수를 제2 프로그램 카운트 정보로서 저장하는 단계; 및
    상기 플래시 메모리 셀들의 리드 시에, 상기 플래시 메모리 셀들의 상기 제2 페이지로부터 리드되는 데이터의 비트들이 상기 제1 논리 값을 갖는 개수를 계수하여 제2 리드 카운트 정보를 얻는 단계를 더 포함하고,
    상기 리드 전압들의 전압 레벨들을 조절하는 단계에서, 상기 리드 전압들의 전압 레벨들은 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 조절되는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  4. 제3 항에 있어서,
    상기 리드 전압들의 전압 레벨들을 조절하는 단계는,
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 오류 모드를 결정하는 단계;
    상기 결정된 오류 모드에 따라서, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이, 및 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이에 대응하는 상기 리드 전압들의 전압 레벨 보상 값들을 리드하는 단계; 및
    상기 리드 전압들의 전압 레벨 보상 값들을 상기 리드 전압들에 각각 적용하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  5. 제3 항에 있어서,
    상기 리드 전압들의 전압 레벨들을 조절하는 단계는,
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이가 소정의 범위 이내인 경우, 상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 상기 리드 전압들 중 일부의 전압 레벨들을 낮추거나 높이는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  6. 제1 항에 있어서,
    수신된 데이터를 랜덤화(randomization)하여 상기 플래시 메모리 셀들에 프로그램하는 단계; 및
    상기 플래시 메모리 셀들로부터 리드되는 데이터를 디랜덤화(derandomization)하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  7. 제1 항에 있어서,
    상기 제1 프로그램 카운트 정보를 랜덤화하여 상기 플래시 메모리 셀들의 스페어 영역에 저장하는 단계; 및
    상기 스페어 영역에 저장된 랜덤화된 상기 제1 프로그램 카운트 정보를 디랜덤화하여 리드하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 장치의 리드 전압 조절 방법.
  8. 리드 전압들을 이용하여 적어도 하나의 페이지를 갖는 플래시 메모리 셀들을 리드하는 동안 정정불가 오류(uncorrectable error)가 검출되면, 상기 정정불가 오류가 검출된 데이터가 프로그램된 상기 플래시 메모리 셀들의 제1 페이지로부터 제1 페이지 데이터를 제1 페이지 리드 데이터로서 리드하는 단계;
    상기 플래시 메모리 셀들의 상기 제1 페이지에 상기 제1 페이지 데이터를 프로그램 할 때 함께 저장된 것으로서, 상기 제1 페이지 데이터의 비트들 중에서 제1 논리 값을 갖는 비트들의 개수인 제1 프로그램 카운트 정보를 리드하는 단계;
    상기 제1 페이지 리드 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제1 리드 카운트 정보를 얻는 단계;
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이를 기초로 상기 리드 전압들의 전압 레벨들을 조절하는 단계; 및
    상기 전압 레벨들이 조절된 상기 리드 전압들을 이용하여, 상기 플래시 메모리 셀들을 다시 리드하는 단계를 포함하는 플래시 메모리 장치의 데이터 리드 방법.
  9. 제8 항에 있어서,
    상기 리드 전압들의 전압 레벨들을 조절하는 단계는,
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 대한 상기 리드 전압들의 전압 레벨 보상 값들이 정의된 리드 리트라이 테이블(Read Retry Table)을 참조하여, 상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이에 대응하는 상기 리드 전압들의 전압 레벨 보상 값들을 리드하는 단계; 및
    상기 리드 전압들의 상기 전압 레벨 보상 값들을 상기 리드 전압들에 각각 적용하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 데이터 리드 방법.
  10. 제8 항에 있어서,
    상기 제1 프로그램 카운트 정보와 상기 제1 리드 카운트 정보의 차이가 소정 범위 이내이면, 상기 정정불가 오류가 검출된 데이터가 프로그램된 상기 플래시 메모리 셀들의 제2 페이지로부터 제2 페이지 데이터를 제2 페이지 리드 데이터로서 리드하는 단계;
    상기 플래시 메모리 셀들의 상기 제2 페이지에 상기 제2 페이지 데이터를 프로그램 할 때 함께 저장된 것으로서, 상기 제2 페이지 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제2 프로그램 카운트 정보를 리드하는 단계;
    상기 제2 페이지 리드 데이터의 비트들 중에서 상기 제1 논리 값을 갖는 비트들의 개수인 제2 리드 카운트 정보를 얻는 단계; 및
    상기 제2 프로그램 카운트 정보와 상기 제2 리드 카운트 정보의 차이를 기초로 상기 리드 전압들 중 일부의 전압 레벨들을 조절하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 장치의 데이터 리드 방법.
KR1020110068972A 2011-07-12 2011-07-12 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법 KR101800284B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110068972A KR101800284B1 (ko) 2011-07-12 2011-07-12 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110068972A KR101800284B1 (ko) 2011-07-12 2011-07-12 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법

Publications (2)

Publication Number Publication Date
KR20130008302A true KR20130008302A (ko) 2013-01-22
KR101800284B1 KR101800284B1 (ko) 2017-12-21

Family

ID=47838432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110068972A KR101800284B1 (ko) 2011-07-12 2011-07-12 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법

Country Status (1)

Country Link
KR (1) KR101800284B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503822B1 (ko) * 2013-10-14 2015-03-18 주식회사 디에이아이오 비휘발성 메모리 장치
US9437315B2 (en) 2013-10-22 2016-09-06 SK Hynix Inc. Data storing system and operating method thereof
KR20180128235A (ko) * 2017-05-23 2018-12-03 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10910065B2 (en) 2018-04-20 2021-02-02 SK Hynix Inc. Memory system and operating method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130138019A (ko) 2012-06-08 2013-12-18 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그 제어 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503822B1 (ko) * 2013-10-14 2015-03-18 주식회사 디에이아이오 비휘발성 메모리 장치
WO2015056915A1 (ko) * 2013-10-14 2015-04-23 주식회사 디에이아이오 비휘발성 메모리 장치
US9972382B2 (en) 2013-10-14 2018-05-15 The-Aio Inc. Non-volatile memory device
US9437315B2 (en) 2013-10-22 2016-09-06 SK Hynix Inc. Data storing system and operating method thereof
KR20180128235A (ko) * 2017-05-23 2018-12-03 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10910065B2 (en) 2018-04-20 2021-02-02 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
KR101800284B1 (ko) 2017-12-21

Similar Documents

Publication Publication Date Title
US8693252B2 (en) Method and system for adjusting read voltage in flash memory device
US10572338B2 (en) Estimating an error rate associated with memory
US9535620B2 (en) Flash memory system and method controlling same
US9224489B2 (en) Flash memory devices having multi-bit memory cells therein with improved read reliability
US9519576B2 (en) Memory controller, method of operating the same and memory system including the same
US8040725B2 (en) Flash memory device and method for adjusting read voltage of flash memory device
US8499217B2 (en) Memory device and error control codes decoding method
KR102461447B1 (ko) 불휘발성 메모리 시스템
US9064545B2 (en) Nonvolatile memory device having adjustable program pulse width
US8923067B2 (en) Memory system and method of operating memory system using soft read voltages
US11604695B2 (en) Copy-back operations in a memory device
US9478298B2 (en) Memory system and method of reading data thereof
US20090164710A1 (en) Semiconductor memory system and access method thereof
KR20130049332A (ko) 메모리 시스템 및 그것의 동작 방법
KR20100096457A (ko) 메모리 시스템 및 그것의 데이터 처리 방법
US10734086B2 (en) Operating method of controller
US11763914B2 (en) Adapting an error recovery process in a memory sub-system
KR101800284B1 (ko) 플래시 메모리 장치의 리드 전압 조절 방법 및 이를 이용한 데이터 리드 방법
US20170242747A1 (en) Error rate reduction
CN115527596A (zh) 用于在非易失性存储器装置中编程数据的设备及系统
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
US11941293B2 (en) Operation method of storage controller using history table, and storage device including the storage controller
US20220310168A1 (en) Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device
US20230187002A1 (en) Storage controller using history data, method of operating the same, and method of operating storage device including the same
KR20160088494A (ko) 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant