KR20080053779A - 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 - Google Patents

멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 Download PDF

Info

Publication number
KR20080053779A
KR20080053779A KR1020060125728A KR20060125728A KR20080053779A KR 20080053779 A KR20080053779 A KR 20080053779A KR 1020060125728 A KR1020060125728 A KR 1020060125728A KR 20060125728 A KR20060125728 A KR 20060125728A KR 20080053779 A KR20080053779 A KR 20080053779A
Authority
KR
South Korea
Prior art keywords
data
page
program
memory cells
bit
Prior art date
Application number
KR1020060125728A
Other languages
English (en)
Other versions
KR100926475B1 (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 KR1020060125728A priority Critical patent/KR100926475B1/ko
Priority to US11/938,603 priority patent/US7813187B2/en
Publication of KR20080053779A publication Critical patent/KR20080053779A/ko
Application granted granted Critical
Publication of KR100926475B1 publication Critical patent/KR100926475B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법은, 선택된 메모리 셀들로부터 데이터를 독출하는 단계; 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고 에러가 정정된 상기 데이터를 참조하여 입력되는 프로그램 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.

Description

멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법{MULTI BIT FLASH MEMORY DEVICE AND PROGRAM METHOD THEREOF}
도 1은 4비트 멀티 비트 셀의 프로그램 방식의 일 예를 보여주는 도면;
도 2는 도 1의 프로그램 방식에서 발생할 수 있는 이니셜 리드 에러(Initial Read Error)를 보여주는 도면;
도 3은 도 2의 각 경우에 발생하는 비트 에러의 결과를 간략히 보여주는 표;
도 4는 본 발명에 따른 멀티 비트 플래시 메모리 장치를 개략적으로 보여주는 블록도;
도 5는 도 4에 도시된 페이지 버퍼(PB)의 구성 및 동작을 순차적으로 설명하기 위한 블록도;
도 6은 본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법을 개략적으로 보여주는 흐름도;
도 7은 본 발명에 따른 멀티 비트 플래시 메모리 장치의 멀티 비트 데이터의 프로그램 방법을 개략적으로 보여주는 흐름도;
도 8은 본 발명의 멀티 비트 플래시 메모리 장치를 장착한 메모리 시스템을 간략히 보여주는 블록도.
*도면의 주요 부분에 대한 부호의 설명*
100, 210 : 멀티 비트 플래시 메모리 장치
110 : 셀 어레이 120 : 페이지 버퍼 블록
130 : ECC 블록 140 : 프로그램 제어부
150 : 전압 발생부 200 : 메모리 시스템
220 : 메모리 제어기 230 : 중앙처리장치
240 : 램 250 : 유저 인터페이스
260 : 전원
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 멀티 비트 플래시 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 불휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
일반적으로, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 못해 일반 사용자들이 기억 내용을 갱신하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하기 때문에, 계속적인 갱신이 필요한 시스템 프로그래밍(System programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시(Flash) EEPROM은 기존의 EEPROM에 비해 집적도가 높아, 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 EEPROM 중에서도 낸드형(NAND-type) 플래시 EEPROM(이하, '낸드형 플래시 메모리'라 칭함)은 다른 플래시 EEPROM에 비해 집적도가 매우 높은 장점을 가진다.
최근 들어, 메모리 장치에 대한 고집적 요구가 높아짐에 따라, 하나의 메모리 셀에 멀티 비트 데이터를 저장하는 멀티 비트 메모리 장치들이 U.S. Patent No. 7,035,144에 "FLASH MEMORY DEVICE HAVING MULTI-LEVEL CELL AND READING AND PROGRAMMING METHOD THEREOF"라는 제목으로, U.S. Patent No. 6,082,056에 "FLASH MEMORY DEVICE AND ARCHITECTURE WITH MULTI LEVEL CELLS"라는 제목으로, 그리고 U.S. Patent No. 5,923,587에 "MULTI-BIT MEMORY CELL ARRAY OF A NON - VOLATILE SEMICONDUCTOR MEMORY DEVICE AND METHOD FOR DRIVING THE SAME"라는 제목으로 각각 게재되어 있으며, 이 출원의 레퍼런스로 포함된다.
하나의 메모리 셀에 1비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱 전압 분포들, 즉 데이터 "1"과 데이터 "0" 중 어느 하나에 대응되는 문턱 전압 분포를 갖는다. 이에 반해서, 하나의 메모리 셀에 2비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 또한, 하나의 메모리 셀에 3비트 데이터를 저장하는 경우, 메모리 셀은 8개의 문턱전압 분포들 중 어느 하나에 포함되는 문턱전압을 갖는다. 최근에는, 하나의 메모리 셀에 4비트 데이터를 저장하기 위한 다양한 기술들이 활발히 연구되고 있다.
도 1은 4비트 데이터를 저장하기 위한 멀티 비트 메모리 셀의 프로그램 과정을 간략히 보여주는 도면이다. 특히, 도 1은 4비트 데이터를 저장하기 위한 16개의 문턱전압 상태를 갖는 멀티 비트 메모리 셀의 각 프로그램 단계의 문턱전압 분포도를 보여준다. 여기서, 각각의 문턱전압 상태에 대응하는 데이터 배열(Ordering)은 1회의 프로그램 동작 수행시에 1비트의 비트 전환이 이루어지는 그레이 배열(Gray Ordering) 방식으로 설명된다. 도 1을 참조하면, 프로그램 동작은 LSB가 프로그램되는 제1페이지 프로그램(Page 1 program) 단계 내지 MSB가 프로그램되는 제4페이지 프로그램(Page 4 program) 단계들을 포함한다. 여기서 4비트 데이터 각각은 1회의 프로그램 동작에 의해 프로그램되는 페이지 단위로 입력된다. MSB의 프로그램 동작에 해당하는 제4페이지 프로그램 동작을 설명함으로써, 멀티 비트 플래시 메모리 장치의 프로그램 동작이 설명될 것이다.
MSB 페이지를 프로그램하기 위해서, 멀티 비트 플래시 메모리 장치는 각 셀들의 이전 페이지까지의 프로그램 결과를 독출하는 이니셜 리드(Initial read) 동작을 수행한다. 이니셜 리드 동작에 따라 각각의 셀들의 문턱전압 위치가 판별되 고, 이러한 문턱전압 위치에 근거하여 MSB 페이지가 프로그램된다. 제4프로그램 동작시에 이루어지는 이니셜 리드 동작을 위해 셀들의 워드 라인으로 공급되는 전압이 도면에 IRD1~IRD7(10)로 도시되었다. 이러한 이니셜 리드 동작이 완료되면, 멀티 비트 플래시 메모리 장치는 MSB 페이지의 논리값("1" 또는 "0")에 따라 메모리 셀을 프로그램한다. 프로그램 동작(20) 이후에는 프로그램 동작의 완료 여부를 판단하기 위한 검증 동작(Verify operation)이 각각의 대응하는 검증 전압들(30)로 수행된다. 검증 동작(Verify operation)에 의해서 타깃 문턱전압 상태로 프로그램되지 못한 메모리 셀들이 선별되고, 선별된 메모리 셀들은 프로그램된다. 이러한 프로그램과 검증 동작의 반복은 모든 메모리 셀들이 검증 동작 결과 패스(Pass) 될 때까지 계속된다.
도 1에 도시된 각 페이지의 프로그램 단계들에서, 상대적으로 높은 워드 라인 전압이 선택된 워드 라인으로 인가되기 때문에 커플링에 의한 프로그램 디스터브(Program disturb) 현상이 발생할 수 있다. 또한, 프로그램 동작에 의해서 메모리 셀의 플로팅 게이트에 주입된 전자들이 시간의 경과에 의해서 누설되는 현상이 발생할 수 있다. 이러한 경우에, 메모리 셀들의 문턱전압 분포는 상측 또는 하측으로 확장될 수 있다.
도 2는 프로그램 동작의 진행 중에 발생하는 문턱전압 분포의 확장에 의해 발생하는 문제를 설명하기 위한 도면이다. 도 2를 참조하면, 제3페이지 프로그램 동작 이후의 확장된 분포를 갖는 문턱전압 상태 "010" 및 "011"이 도시되었다. 문턱전압 상태 "010" 및 "011"는 문턱전압의 확장에 따라 상호 중첩되는 영역(30, 40)을 포함한다. 여기서 문턱전압 상태 "010" 및 "011"은 각각 제4페이지 데이터(또는 MSB)가 "1"인 경우에 프로그램 금지(Program Inhibit) 됨으로써 "1010" 및 "1011"로 설정된다. 그러나 제4페이지 데이터의 프로그램 동작이 이루어지기 이전에, 문턱전압 상태 "010" 및 "011"에 속한 메모리 셀들은 독출 전압 (IRD7)에 의해 독출되는 이니셜 리드(Initial Read) 동작의 대상이 된다. 만일 정확한 이니셜 리드(Initial Read) 동작이 수행되지 못하면, 제4페이지 데이터의 프로그램 동작의 신뢰성은 감소 된다.
하지만, 문턱전압 상태 "010" 및 "011"의 확장에 따른 중첩 구간(30, 40)의 존재는 이니셜 리드(Initial Read) 동작의 오류를 유발시킨다. 이러한 오류를 도면을 참조하여 설명하면, 중첩 구간(30)에 대응하는 메모리 셀들은 정상적인 경우에 문턱전압 상태 "011"에 포함되어야 한다. 그러나 독출 전압 (IRD7)에 의한 이니셜 리드 동작에 따르면, 중첩 구간(30)에 포함되는 메모리 셀들은 문턱전압 상태 "010"으로 독출될 것이다. 독출된 3비트의 이니셜 리드 데이터가 "010"인 메모리 셀들은 제4페이지 데이터(또는 MSB)가 "0"인 경우 문턱전압 상태 "0010"으로 프로그램된다. 독출된 3비트의 이니셜 리드 데이터가 "010"인 메모리 셀들은 제4페이지 데이터(또는 MSB)가 "1"인 경우 문턱전압 상태 "1010"으로 프로그램된다. 이러한 프로그램 오류는 중첩 구간(40)에 포함되는 메모리 셀들에게도 동일하게 발생한다.
도 3은 상술한 중첩 구간(30) 및 중첩 구간(40)에 포함되는 메모리 셀들 각각에 대한 이니셜 리드 결과에 따른 프로그램 동작의 결과를 도시한 테이블이다.
도 3을 참조하면, 중첩 구간(30)에 포함되는 메모리 셀들은 문턱전압 상태의 확장에 따라 이니셜 리드에 의해서 제3페이지까지의 프로그램 결과인 문턱전압 상태 "010"로 판별된다. 따라서, 중첩 구간(30)에 포함되는 메모리 셀들은 제4페이지 데이터가 "0"인 경우에 문턱전압 상태 "0010"로 프로그램된다. 문턱전압 상태가 확장되지 않은 경우, "010" 상태를 갖는 메모리 셀들은 문턱전압 상태 "0011"로 프로그램되어야 한다. 중첩 구간(30)에 포함되는 메모리 셀들은 제4페이지 데이터가 "1"인 경우에 문턱전압 상태 "1010"로 프로그램된다. 문턱전압 상태가 확장되지 않은 경우, "011" 상태를 갖는 메모리 셀들은 문턱전압 상태 "1011"로 프로그램되어야 한다.
중첩 구간(40)에 포함되는 메모리 셀들 또한 이니셜 리드에 의해서 문턱전압 상태 "011"로 판별된다. 따라서, 중첩 구간(40)에 포함되는 메모리 셀들은 제4페이지 데이터가 "0"인 경우에 문턱전압 상태 "0011"로, 제4페이지 데이터가 "1"인 경우에 문턱전압 상태 "1011"로 프로그램된다. 문턱전압이 확장되지 않은 상태인 경우, "011" 상태를 갖는 메모리 셀들은 각각 문턱전압 상태 "0010" 또는 "1010"로 프로그램되어야 한다.
이상의 도면들을 통해서 설명된 바와 같이, 멀티 비트 플래시 메모리 장치의 이니셜 리드 동작에 의해서 잘못 독출된 데이터는 이후에 이루어지는 프로그램 동작에 영향을 준다. 상술한 도면에서는 MSB 페이지의 프로그램 동작에 국한하여 설명하였으나, 이러한 이니셜 리드 동작에서 발생하는 오류는 이에 국한되지 않는다. 즉, 제2페이지(Page 2) 프로그램이나 제3페이지(Page 3) 프로그램 동작에서도 상술한 메모리 셀들의 문턱전압 분포의 확장은 발생할 수 있다. 또한, 이러한 이니셜 리드 동작의 오류는 메모리 셀들의 문턱전압 분포의 확장에 기인하지만은 않는다. 메모리 셀들의 문턱전압 상태가 확장되지 않더라도, 독출 과정에서 생기는 노이즈(Noise)와 같은 기타의 원인들에 의해서도 발생할 수 있다. 그러나 이러한 이니셜 리드 동작의 오류가 제2페이지(Page 2) 데이터의 프로그램 동작에서 발생하는 경우, 이때 발생한 오류는 제3페이지(Page 3) 및 제4페이지(Page 4) 데이터의 프로그램 동작시에도 영향을 미친다. 따라서, 이니셜 리드 동작 시에 발생한 1비트의 에러는 이후에 2비트 또는 3비트 에러로 증가하는 에러 누적 또는 에러 전파(Error Propagation)의 원인이 될 수 있다.
따라서, 프로그램 동작의 어느 한 구간에서 발생한 에러가 더 이상 누적되지 않도록 하기 위한 기술이 멀티 비트 플래시 메모리 장치에서 절실히 요구되고 있다.
본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 프로그램 동작 중에 에러가 발생하더라도 타깃으로 하는 문턱전압 상태로 메모리 셀들을 프로그램할 수 있는 멀티 비트 플래시 메모리 장치의 프로그램 방법을 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 멀티 비트 플래시 메모리의 프로그램 방법은, 선택된 메모리 셀들로부터 데이터를 독출하는 단계; 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고 에러가 정정된 상기 데이터를 참 조하여 입력되는 프로그램 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 복수의 메모리 셀들 각각은 순차적으로 입력되는 제1 내지 제4페이지에 대응하는 4비트의 데이터를 저장한다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 데이터 또는 LSB 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 및 제2페이지를 포함하는 2비트 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지, 제2페이지 및 제3페이지를 포함하는 3비트 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 에러 정정을 위한 데이터를 포함한다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 프로그램 데이터의 이전까지 프로그램된 복수 비트의 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 데이터는 상기 멀티 비트 데이터 중 MSB 페이지 데이터이다.
상기의 과제를 이루기 위하여 본 발명에 다른 특징에 따른 멀티 비트 플래시 메모리의 프로그램 방법은, (a) 프로그램 페이지가 에러 정정 대상 페이지인지의 여부를 판단하는 단계; (b) 상기 프로그램 페이지가 에러 정정 대상 페이지인 경우, 선택된 메모리 셀들로부터 데이터를 독출하는 단계; (c) 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고 (d) 에러가 정정된 상기 데이터를 참조하여 입력되는 상기 프로그램될 페이지 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 프로그램 페이지가 에러 정정 대상 페이지가 아닌 경우, (e) 상기 선택된 메모리 셀들로부터 상기 데이터를 독출하는 단계; 및 (f) 상기 데이터를 참조하여 상기 프로그램 페이지를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 (a) 단계는 상기 프로그램 페이지의 페이지 어드레스를 검출하고 에러 정정 대상 페이지로 설정된 어드레스와 비교하는 동작을 포함한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터 중 어느 하나의 페이지에 대응한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터에 포함되는 페이지들 중 적어도 두 페이지 이상이다.
상기 목적을 달성하기 위한 본 발명의 멀티 비트 플래시 메모리 장치는, 에러 정정 회로; 각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이; 선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고 상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도 록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함한다.
이 실시예에 있어서, 상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터이다.
이 실시예에 있어서, 상기 페이지 버퍼 블록은, 상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들을 갖는 복수의 페이지 버퍼들을 포함한다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 4비트 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 메모리 시스템은, 멀티 비트 에러 정정 회로를 갖는 메모리 제어기; 및 상기 메모리 제어기에 전기적으로 연결되는 멀티 비트 플래시 메모리 장치를 포함하되, 상기 멀티 비트 플래시 메모리 장치는, 각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이; 선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고 상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함한다.
이 실시예에 있어서, 상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터이다.
이 실시예에 있어서, 상기 페이지 버퍼 블록은, 상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들 을 갖는 복수의 페이지 버퍼들을 포함한다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 4비트 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터이다.
이 실시예에 있어서, 상기 멀티 비트 플래시 메모리 장치는 상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않 고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
이하, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 4는 본 발명에 따른 멀티 비트 데이터의 프로그램 방법을 수행하기 위한 멀티 비트 플래시 메모리 장치의 일례를 개략적으로 도시한 블록도이다. 도 4를 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 이니셜 리도 동작에 의해서 페이지 버퍼 블록(120)에 일시 저장되는 데이터에 대한 에러의 검출 및 정정 동작을 수행한다. 이러한 에러의 검출 및 정정을 위해서 본 발명의 멀티 비트 플래시 메모리 장치는 에러 정정 회로 블록(130)을 포함한다.
셀 어레이(110)는 상술한 도 1에서 설명한 바와 같이 m-비트 데이터(m은 2 이상의 정수)를 저장할 수 있는 멀티 비트 플래시 메모리 셀들을 포함한다. 예시적인 실시예의 경우, 셀 어레이(110)는 4-비트 데이터를 저장하는 메모리 셀들을 포함한다. 일반적으로 멀티 비트 플래시 메모리 셀들은 하나의 셀에 복수 비트들을 저장하기 위하여 다수의 문턱전압 상태들 중 어느 하나로 프로그램된다. 따라서, 보편화된 프로그램 방식과 회로 기술들에 의해서 문턱전압 상태들 간에 충분한 읽기 마진을 제공하는 것은 멀티 비트 플래시 메모리 장치에서 용이하지 못하다. 결국, 멀티 비트 플래시 메모리 셀은 제한된 문턱전압 범위 이내에서 저장되는 비트 수(k)에 대응하는 문턱전압 상태 수(2k)를 포함하기 위하여 조밀하게 프로그램되어야 한다. 또한, 멀티 비트 플래시 메모리 셀의 문턱전압 상태들 간의 간격(즉, 읽기 마진) 또한 감소될 수밖에 없다.
페이지 버퍼 블록(120)은 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작한다. 예를 들면, 페이지 버퍼 블록(120)은 읽기 동작 모드에서 감지 증폭기로서 그리고 프로그램 동작 모드에서 기입 드라이버로서 동작한다. 페이지 버퍼 블록(120)은 프로그램 제어부(140)의 제어에 따라 메모리 셀의 프로그램된 상태를 독출하기 위한 이니셜 리드 동작을 수행한다(①). 페이지 버퍼 블록(120)은 메모리 셀의 프로그램 상태를 독출 전압(IRD1~IRD7)에 따라 순차적으로 이닌셜 리드 동작을 수행하여 독출된 1 내지 3비트 데이터를 래치한다. 이와 동시에, 에러 정정을 위하여 별도의 셀 어레이 영역에 프로그램된 에러 정정 코드(예를 들면 패리티 비트)도 페이지 버퍼 블록(120) 내에 래치될 것이다. 이후에 페이지 버퍼 블록(120)은 이니셜 리드 동작에 의해 독출된 데이터 및 에러 정정 코드를 에러 정정 회로 블록(130)으로 전달한다(②). 에러 정정 회로 블록(130)은 전달된 이니셜 리드 데이터(IRD data)에 포함되는 에러를 검출 및 정정한다. 에러가 정정된 이니셜 리드 데이터(Corrected IRD data)는 이후에 페이지 버퍼 블록(120)으로 반환된다(③). 페이지 버퍼 블록(120)은 에러가 정정되어 반환된 이닌셜 리드 데이터(Corrected IRD data)를 참조하여 프로그램을 위해 제공되는 페이지 데이터(Page n data)를 상술한 메모리 셀로 프로그램한다(④).
에러 정정 회로 블록(130)은 제공되는 이니셜 리드 데이터(IRD data)의 에러 비트의 수와 위치를 에러 정정 코드를 참조하여 검출한다. 에러 검출 동작에 의해서 발견된 에러 비트는 정정되어 다시 상술한 페이지 버퍼 블록(120)으로 전달된다. 여기서, 에러 정정 회로 블록(130)은 멀티 비트 플래시 메모리 장치의 내부에 포함될 수 있다. 또는, 에러 정정 회로 블록(130)은 멀티 비트 플래시 메모리 장치의 외부에 제공되는 메모리 제어기(Memory Controller)에서 제공될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게 자명하다.
프로그램 제어부(140)는 순차적으로 입력되는 프로그램 데이터를 상술한 셀 어레이(110)에 프로그램하기 위해서 페이지 버퍼 블록(120) 및 전압 발생부(150)를 제어한다. 프로그램 제어부(140)는 이니셜 리드 동작시 메모리 셀들의 워드 라인으로 이니셜 리드 동작을 위한 독출 전압(IRD1~IRD7)을 제공하도록 전압 발생부(150)를 제어한다. 그리고 프로그램 제어부(140)는 상술한 독출 전압(IRD1~IRD7)에 의해서 독출된 이니셜 리드 데이터 및 에러 정정 코드를 래치하도록 페이지 버퍼 블록(120)을 제어한다. 프로그램 제어부(140)는 프로그램 결과에 대한 검증 동작(Verify Operation)을 수행하도록 상술한 전압 발생부(150) 및 페이지 버퍼 블록(120)을 제어한다. 검증 동작시, 프로그램 제어부(140)는 검증 전압(VFY8~VFY15)에 응답하여 메모리 셀로부터 출력되는 신호를 감지하도록 페이지 버퍼 블록(120)을 제어한다. 그리고 감지된 검증 결과를 참조하여 프로그램 제어부(140)는 프로그램의 계속 진행 여부를 판단한다.
전압 발생부(150)는 프로그램 제어부(140)의 제어에 따라 프로그램을 위한 ISPP(Incremental Step Pulse Programming) 전압, 다양한 레벨의 이니셜 리드 전압(IRD1~IRD7) 및 검증 전압(VFY8~VFY15)들을 생성한다. 생성된 상술한 전압들은 프로그램 제어부(140)의 제어 동작에 따라, 셀 어레이(110)의 워드 라인으로 제공된다.
이상에서 설명한 본 발명에 따른 멀티 비트 플래시 메모리 장치는, 특정 페이지의 프로그램 동작에서 수행되는 이니셜 리드 동작과, 이니셜 리드 동작에 의해서 독출된 데이터에 대한 에러 검출 및 정정 동작을 수행한다. 본 발명의 멀티 비트 플래시 메모리 장치는 에러 정정된 이니셜 리드 데이터를 페이지 버퍼 블록(120)에 로드하여 입력되는 페이지 데이터를 프로그램하는 것으로 에러 누적 및 에러 전파를 차단할 수 있다.
도 5는 도 4의 페이지 버퍼 블록(120) 및 에러 정정 회로 블록(130)의 구성 및 그 구성의 동작 단계별 상세한 동작을 설명하는 도면이다. 도 5를 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 프로그램 제어부(140)에 의해서 제어되며, 하나의 플래시 메모리 셀에 대응하는 복수의 래치(1211~1214)를 포함하는 페이지 버퍼(121, Page Buffer)를 포함한다. 여기서, 하나의 메모리 셀의 프로그램 동작에 대해서 설명하고 있지만, 이것은 간략한 설명을 위해서일 뿐 이러한 동작은 페이지 단위(예를 들면, 2K Byte)에 대응하는 복수의 페이지 버퍼들에서 동일한 프로그램 동작 구간에서 이루어진다. 본 발명의 프로그램 방법에 따라 각 단계에서 수행되는 동작들이 하나의 페이지 버퍼(121)를 기준으로 설명될 것이다.
이니셜 리드 동작(①)은 메모리 셀들의 현재 문턱전압 상태를 파악하는 동작이다. 상술한 이니셜 리드 동작을 위한 이니셜 리드 전압(IRD1~IRD7)에 따라, 메모리 셀들 각각의 문턱전압 상태에 대응하는 데이터가 독출된다. 그리고 독출된 이니셜 리드 데이터(IRD data)는 적어도 4개 이상의 래치들(1211~2124)을 포함하는 페이지 버퍼(121)에 저장된다. 만일 현재 프로그램 진행중인 페이지가 제2페이지 데 이터라면, 독출된 이니셜 리드 데이터(IRD data)는 1-비트의 데이터 크기를 갖는다. 이 경우, 1-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 어느 하나(예를 들면, 1211)에 저장된다. 현재 프로그램 진행중인 페이지가 제3페이지 데이터라면, 독출된 이니셜 리드 데이터(IRD data)는 제2페이지의 프로그램 결과인 2-비트의 데이터 크기를 갖는다. 이 경우, 2-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 두 개(예를 들면, 1211,1212)에 저장된다. 현재 제4페이지 데이터가 프로그램 진행중이라면, 독출된 이니셜 리드 데이터(IRD data)는 3-bit의 데이터 크기를 갖는다. 이 경우, 3-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 세 개(예를 들면, 1211, 1212, 1213)에 저장될 것이다.
또한, 이니셜 리드 동작(①) 동안, 메모리 셀 어레이의 특정 영역(ex, 스페어 영역)에 저장된 에러 정정 데이터(ECC data)가 독출된다. 독출된 에러 정정 데이터(ECC data)는 에러 정정 데이터를 래치하는 페이지 버퍼(122)에 저장된다.
이니셜 리드 동작(①)에 따라 페이지 버퍼들(121, 122)에 저장된 이니셜 리드 데이터(IRD data) 및 에러 정정 데이터(ECC data)는 에러 정정 회로 블록(130)으로 전달된다(②). 에러 정정 회로 블록(130)은 에러 정정 데이터(ECC data)에 의거하여 전달된 이니셜 리드 데이터(IRD data)의 에러를 검출하며, 에러가 존재하는 경우에는 이니셜 리드 데이터(IRD data)의 에러를 정정한다. 에러가 정정되거나 에러가 검출되지 않은 이니셜 리드 데이터(CIRD data)는 다시 페이지 버퍼(121)의 래치들(1211~1213)로 저장된다(③). 이때, 페이지 버퍼(121)에 포함되는 적어도 4개 의 래치들 중 어느 하나(예를 들면 1214)에는 프로그램되는 페이지 데이터(Page n data)가 로드(Load)된다.
페이지 버퍼(121)로의 정정된 이니셜 리드 데이터(CIRD data)의 전송 및 프로그램 페이지 데이터(Page n data)의 로드가 완료되면, 프로그램 제어부(미도시됨)의 제어에 따라 메모리 셀의 프로그램 동작이 수행된다(④).
상술한 도면과 같은 이니셜 리드 동작과 에러 정정 동작이 포함되는 본 발명의 멀티 비트 플래시 메모리 장치의 프로그램 방식에 따라, 이니셜 리드 동작에서 발생할 수 있는 에러가 프로그램 동작시에는 제거될 수 있다.
도 6은 본 발명에 따른 프로그램 방법을 시간적 순서에 따라 단계적으로 설명하기 위한 흐름도이다. 여기서, 하나의 페이지 데이터의 프로그램 동작에 대해서 설명하고 있으나, 본 흐름도는 순차적으로 제공되는 복수의 페이지 데이터 중 어느 하나에 대해서만 보여준다. 따라서, 본 흐름도는 멀티 비트 데이터들 중 MSB페이지의 프로그램 동작에 국한되지 않는다. 이하 본 발명의 멀티 비트 플래시 메모리 장치의 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
제n-1페이지 데이터의 제반 프로그램 동작이 완료되면, 멀티 비트 플래시 메모리 장치(100)는 제n페이지 데이터의 프로그램 동작을 시작한다. 프로그램 제어부(140)는 선택된 메모리 셀에 대한 이니셜 리드 동작을 수행하도록, 그리고 이니셜 리드 동작에 따라 출력되는 이니셜 리드 데이터(IRD data)에 대한 에러 정정 동작을 수행하도록 페이지 버퍼 블록(120) 및 에러 정정 회로 블록(130)을 제어한다. 좀 더 구체적으로 설명하면 다음과 같다.
프로그램 제어부(140)는 제n-1페이지의 프로그램 결과를 독출하는 이니셜 리드 동작을 수행하도록 페이지 버퍼 블록(120)을 제어한다. 이때 선택된 메모리 셀로부터 독출되는 이니셜 리드 데이터(IRD data)와 메모리 셀의 특정 영역에 저장된 에러 정정 데이터(ECC data)가 독출되어 페이지 버퍼 블록(120)에 래치된다(S10). 페이지 버퍼 블록(120)에 래치된 이니셜 리드 데이터(IRD data)와 에러 정정 데이터(ECC data)는 에러 정정 회로 블록(130)으로 전달된다. 그리고 에러 정정 회로 블록(130)은 프로그램 제어부(140)의 제어에 응답하여 이니셜 리드 데이터(IRD data)에 포함되는 에러를 검출 및 정정한다(S20). 에러 정정 회로 블록(130)에서 정정된 이니셜 리드 데이터(CIRD data)는 프로그램 제어부(140)의 제어에 따라 상술한 페이지 버퍼 블록(120)에 로드된다. 또한, 프로그램을 위해 제공되는 제n페이지 데이터도 에러 정정된 이니셜 리드 데이터(CIRD data)와 함께 선택된 메모리 셀에 대응하는 페이지 버퍼 블록(120)에 로드된다(S30). 페이지 버퍼 블록(120)으로의 프로그램 데이터(Page n data) 및 에러 정정된 이니셜 리드 데이터(CIRD data)의 로드가 종료되면, 프로그램 제어부(140)는 프로그램 동작을 시작한다. 프로그램 제어부(140)는 선택된 메모리 셀들의 비트 라인으로 제n페이지 데이터에 대응하는 전압이 제공되도록 페이지 버퍼 블록(120)을 제어한다. 동시에, 프로그램 제어부(140)는 선택된 메모리 셀들의 워드 라인으로 프로그램 전압이 공급되도록 전압 발생부(150)를 제어한다(S40). 선택된 메모리 셀들(예를 들면, 페이지 단위)에 대한 프로그램 동작이 완료되면, 프로그램 제어부(140)는 검증 전압(VFY8~VFY15)에 의한 검증 동작을 수행하도록 전압 발생부(150) 및 페이지 버퍼 블록(120)을 제어 한다(S50). 프로그램 제어부(140)는 검증 동작에 의해서 페이지 버퍼 블록(120)에 래치되는 데이터를 참조하여 프로그램의 완료 여부를 판단한다(S60). 이때, 모든 메모리 셀들의 문턱전압 상태가 타깃 상태로 프로그램된 것으로 판별되면, 프로그램 제어부(140)는 제n페이지 데이터에 대한 프로그램 동작을 종료한다. 그리나 검증 동작 결과 페일(Fail)로 판별되는 경우, 절차는 선택된 메모리 셀들에 대한 재프로그램을 위하여 프로그램 실행 단계(S40)로 궤환한다.
상술한 흐름도를 통해서 설명된 본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법에 따르면, 이니셜 리드 동작을 통해서 페이지 버퍼 블록(120)에 래치된 이니셜 리드 데이터(IRD data)에 대한 에러 검출 및 정정 동작이 포함된다. 그리고 에러가 정정된 이니셜 리드 데이터를 참조하여 순차적으로 제공되는 다음 페이지의 데이터가 메모리 셀로 프로그램된다. 따라서, 본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법은 이니셜 리드 데이터의 독출 동작에서 발생하는 에러를 차단하는 것으로 이후에 발생하는 에러 전파를 차단할 수 있다.
도 7은 도 6에 도시한 본 발명의 프로그램 동작을 선택된 페이지에 한정하여 수행할 수 있는 멀티 비트 플래시 메모리 장치의 프로그램 방법을 간략히 보여주는 흐름도이다. 도 7을 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 멀티 비트 데이터 중 어느 하나의 페이지 데이터의 프로그램 동작시에만 이니셜 리드 데이터의 에러 검출 및 정정을 수행할 수 있다. 이러한 동작은 에러 검출 및 정정에 소요되는 시간을 최소화함으로써, 프로그램 동작의 신뢰성 및 속도 향상을 가능케 한다. 좀 더 구체적으로 설명하면 다음과 같다.
멀티 비트 데이터의 프로그램 동작이 시작되면, 프로그램 제어부(140, 도 4 참조)는 프로그램 데이터의 입력 이전에 제공되는 프로그램 명령어 및 어드레스를 검출한다(S100). 검출된 행 어드레스를 참조하여, 프로그램 제어부(140)는 미리 설정된 에러 검출 및 정정의 대상 페이지인지의 여부를 판단한다. 판단 결과에 따라. 도 6에서 설명된 프로그램 방식 또는 에러 검출 및 정정 동작이 없는 일반적인 멀티 비트 프로그램 동작을 선택한다(S110). 만일 ECC 대상 페이지가 제4페이지(Page 4)로 설정된 경우, 프로그램 제어부(140)는 제4페이지 데이터의 입력시에만 이니셜 리드 데이터에 대한 에러 검출 및 정정 동작을 수행한다(S120). 반면에, ECC 대상 페이지가 아닌 제1내지 제3페이지 데이터의 입력시, 프로그램 제어부(140)는 이니셜 리드 데이터에 대한 에러 검출 및 정정 동작을 배제하고 프로그램 동작을 수행한다(S130). 입력된 페이지 데이터의 프로그램 동작이 종료되면, 프로그램된 페이지 데이터가 멀티 비트 데이터 중 최종 페이지(또는 MSB 페이지)인지를 판단한다(S140). 만일 최종 페이지 데이터라면, 선택된 메모리 셀들에 대한 멀티 비트 데이터의 제반 프로그램 동작은 종료된다. 그러나, 최종 페이지 데이터가 아닌 경우, 프로그램 제어부(140)는 다음 페이지의 페이지 어드레스를 검출하는 단계(S100)로 환하도록 절차를 제어한다.
도 7은 멀티 비트 데이터를 프로그램하기 위해 입력되는 각 페이지 중에 어느 하나의 페이지 데이터에 대해서만 도 6의 절차를 진행한다. 이를 위하여, 복수의 페이지 중 6의 절차를 수행할 페이지가 미리 설정되어 있어야 한다.
도 8은 본 발명의 멀티 비트 플래시 메모리 장치를 구비하는 시스템의 일예 를 간략히 도시한 블록도이다. 도 8을 참조하면, 모바일 기기나 데스크 톱 컴퓨터와 같은 시스템에서 본 발명의 멀티 비트 플래시 메모리 장치(210)가 장착된다. 본 발명에 따른 시스템은 버스(270)에 전기적으로 연결된 중앙처리장치(230), 램(240), 유저 인터페이스(250), 전원(260), 메모리 컨트롤러(220), 그리고 플래시 메모리 장치(210)를 포함한다. 플래시 메모리 장치(210)는 앞서 언급된 멀티 비트플래시 메모리 장치와 실질적으로 동일하게 구성될 것이다. 멀티 비트 플래시 메모리 장치(210)에는 유저 인터페이스(250)를 통해서 제공되거나 또는, 중앙처리장치(230)에 의해서 처리된 데이터가 메모리 제어기(220)를 통해 저장된다. 여기서, 멀티 비트 플래시 메모리 장치(210)와 메모리 제어기(220)가 별도의 구성으로 도시되었으나, 메모리 제어기(220)는 멀티 칩 플래시 메모리 장치(210)의 내부에 포함될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 의하면, 멀티 비트 플래시 메모리 장치의 프로그램 동작시 이니셜 리드 데이터를 에러 정정하는 동작의 추가를 통하여 에러 누적 등에 의한 프로그램 오류를 최소화할 수 있다.

Claims (32)

  1. 각각 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 플래시 메모리 장치의 프로그램 방법에 있어서:
    선택된 메모리 셀들로부터 데이터를 독출하는 단계;
    상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고
    에러가 정정된 상기 데이터를 참조하여 입력되는 프로그램 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 복수의 메모리 셀들 각각은 순차적으로 입력되는 제1 내지 제4페이지에 대응하는 4비트의 데이터를 저장하는 것을 특징으로 하는 프로그램 방법.
  3. 제 2 항에 있어서,
    상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 데이터 또는 LSB 데이터인 것을 특징으로 하는 프로그램 방법.
  4. 제 2 항에 있어서,
    상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 및 제2페이지를 포함하는 2비트 데이터인 것을 특징으로 하는 프로그램 방법.
  5. 제 2 항에 있어서,
    상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지, 제2페이지 및 제3페이지를 포함하는 3비트 데이터인 것을 특징으로 하는 프로그램 방법.
  6. 제 1 항에 있어서,
    상기 독출하는 단계에서, 상기 데이터는 에러 정정을 위한 데이터를 포함하는 프로그램 방법.
  7. 제 1 항에 있어서,
    상기 독출하는 단계에서, 상기 데이터는 상기 프로그램 데이터의 이전까지 프로그램된 복수 비트의 페이지 데이터인 것을 특징으로 하는 프로그램 방법.
  8. 제 1 항에 있어서,
    상기 프로그램 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터인 것을 특징으로 하는 프로그램 방법.
  9. 제 1 항에 있어서,
    상기 프로그램 데이터는 상기 멀티 비트 데이터 중 MSB 페이지 데이터인 것 을 특징으로 하는 프로그램 방법.
  10. 선택된 메모리 셀들 각각에 멀티 비트 데이터를 페이지 단위로 저장하는 플래시 메모리 장치의 프로그램 방법에 있어서:
    (a) 프로그램 페이지가 에러 정정 대상 페이지인지의 여부를 판단하는 단계;
    (b) 상기 프로그램 페이지가 에러 정정 대상 페이지인 경우, 선택된 메모리 셀들로부터 데이터를 독출하는 단계;
    (c) 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고
    (d) 에러가 정정된 상기 데이터를 참조하여 입력되는 상기 프로그램될 페이지 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함하는 프로그램 방법.
  11. 제 10 항에 있어서,
    상기 (a) 단계에서, 상기 프로그램 페이지가 에러 정정 대상 페이지가 아닌 경우,
    (e) 상기 선택된 메모리 셀들로부터 상기 데이터를 독출하는 단계; 및
    (f) 상기 데이터를 참조하여 상기 프로그램 페이지를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함하는 프로그램 방법.
  12. 제 10 항에 있어서,
    상기 (a) 단계는 상기 프로그램 페이지의 페이지 어드레스를 검출하고 에러 정정 대상 페이지로 설정된 어드레스와 비교하는 동작을 포함하는 프로그램 방법.
  13. 제 10 항에 있어서,
    상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터 중 어느 하나의 페이지에 대응하는 것을 특징으로 하는 프로그램 방법.
  14. 제 10 항에 있어서,
    상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터에 포함되는 페이지들 중 적어도 두 페이지 이상인 것을 특징으로 하는 프로그램 방법.
  15. 에러 정정 회로;
    각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이;
    선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고
    상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함하는 플래시 메모리 장치.
  16. 제 15 항에 있어서,
    상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함하는 플래시 메모리 장치.
  17. 제 15 항에 있어서,
    상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함하는 플래시 메모리 장치.
  18. 제 15 항에 있어서,
    상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터인 것을 특징으로 하는 플래시 메모리 장치.
  19. 제 18 항에 있어서,
    상기 페이지 버퍼 블록은,
    상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들을 갖는 복수의 페이지 버퍼들을 포함하는 플래시 메모리 장치.
  20. 제 15 항에 있어서,
    상기 멀티 비트 데이터는 4비트 데이터인 것을 특징으로 하는 플래시 메모리 장치.
  21. 제 15 항에 있어서,
    상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터인 것을 특징으로 하는 플래시 메모리 장치.
  22. 제 15 항에 있어서,
    상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터인 것을 특징으로 하는 플래시 메모리 장치.
  23. 제 15 항에 있어서,
    상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함하는 플래시 메모리 장치.
  24. 에러 정정 회로를 갖는 메모리 제어기; 및
    상기 메모리 제어기에 전기적으로 연결되는 멀티 비트 플래시 메모리 장치를 포함하되, 상기 멀티 비트 플래시 메모리 장치는,
    각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이;
    선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고
    상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함하는 것을 특징으로 하는 메모리 시스템.
  25. 제 24 항에 있어서,
    상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함하는 메모리 시스템.
  26. 제 24 항에 있어서,
    상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함하는 메모리 시스템.
  27. 제 24 항에 있어서,
    상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터인 것을 특징 으로 하는 메모리 시스템.
  28. 제 27 항에 있어서,
    상기 페이지 버퍼 블록은,
    상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들을 갖는 복수의 페이지 버퍼들을 포함하는 메모리 시스템.
  29. 제 24 항에 있어서,
    상기 멀티 비트 데이터는 4비트 데이터인 것을 특징으로 하는 메모리 시스템.
  30. 제 24 항에 있어서,
    상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터인 것을 특징으로 하는 메모리 시스템.
  31. 제 24 항에 있어서,
    상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터인 것을 특징으로 하는 메모리 시스템.
  32. 제 24 항에 있어서,
    상기 멀티 비트 플래시 메모리 장치는 상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함하는 메모리 시스템.
KR1020060125728A 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 KR100926475B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060125728A KR100926475B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US11/938,603 US7813187B2 (en) 2006-12-11 2007-11-12 Multi-bit flash memory device and program method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060125728A KR100926475B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20080053779A true KR20080053779A (ko) 2008-06-16
KR100926475B1 KR100926475B1 (ko) 2009-11-12

Family

ID=39497804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060125728A KR100926475B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US7813187B2 (ko)
KR (1) KR100926475B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065897A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR101492857B1 (ko) * 2008-12-30 2015-02-12 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US9355715B1 (en) 2014-11-28 2016-05-31 SK Hynix Inc. Memory system and method of operating the same

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100923832B1 (ko) * 2007-12-28 2009-10-27 주식회사 하이닉스반도체 불휘발성 메모리 장치의 불량 여부 테스트 방법, 블록 관리방법, 소거 방법 및 프로그램 방법
KR101413137B1 (ko) * 2008-07-04 2014-07-01 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
TWI382422B (zh) * 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
JP4649503B2 (ja) * 2008-08-13 2011-03-09 株式会社東芝 半導体装置
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US8380915B2 (en) 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
JP2012069180A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 半導体記憶装置
US9324433B2 (en) * 2011-04-25 2016-04-26 Microsoft Technology Licensing, Llc Intelligent flash reprogramming
KR20120126389A (ko) 2011-05-11 2012-11-21 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온칩 버퍼 프로그램 방법
EP2549482B1 (en) * 2011-07-22 2018-05-23 SanDisk Technologies LLC Apparatus, system and method for determining a configuration parameter for solid-state storage media
KR101818439B1 (ko) * 2011-09-22 2018-01-16 에스케이하이닉스 주식회사 메모리 및 메모리의 프로그램 방법
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8924820B2 (en) * 2012-07-27 2014-12-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US20150161001A1 (en) * 2013-12-06 2015-06-11 Western Digital Technologies, Inc. Misprogramming prevention in solid-state memory
US10552044B2 (en) * 2014-03-27 2020-02-04 Hitachi, Ltd. Storage apparatus, data processing method and storage system wherein compressed data is read in parallel, said data stored in buffer by size and read from said buffer, in order of when said data is stored in said buffer
US10318375B2 (en) 2015-03-20 2019-06-11 Burlywood, LLC Configurable multi-level error correction in a storage controller
WO2016154078A1 (en) * 2015-03-26 2016-09-29 Burlywood, LLC A medium defect management method for storage systems requiring an integrated controller
US10671317B2 (en) 2016-05-25 2020-06-02 Samsung Electronics Co., Ltd. Block cleanup: page reclamation process to reduce garbage collection overhead in dual-programmable NAND flash devices
US10540228B2 (en) 2018-03-07 2020-01-21 Micron Technology, Inc. Providing data of a memory system based on an adjustable error rate
US11055226B2 (en) * 2018-06-29 2021-07-06 Intel Corporation Mitigation of cache-latency based side-channel attacks
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
KR100206709B1 (ko) 1996-09-21 1999-07-01 윤종용 멀티비트 불휘발성 반도체 메모리의 셀 어레이의 구조 및 그의 구동방법
KR19980027610A (ko) 1996-10-17 1998-07-15 문정환 플래시 메모리의 에러 보정회로
US6082056A (en) 1998-09-16 2000-07-04 Hoberman; Charles Reversibly expandable structures having polygon links
US6532556B1 (en) * 2000-01-27 2003-03-11 Multi Level Memory Technology Data management for multi-bit-per-cell memories
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
JP4034949B2 (ja) 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100512181B1 (ko) 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
WO2005041044A1 (en) * 2003-09-24 2005-05-06 Seagate Technology Llc Multi-level caching in data storage devices
US7409623B2 (en) 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
US20060143368A1 (en) * 2004-12-23 2006-06-29 M-Systems Flash Disk Pioneers Ltd. Method for using a multi-bit cell flash device in a system not designed for the device
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
KR100597790B1 (ko) * 2005-05-04 2006-07-06 삼성전자주식회사 멀티레벨 불휘발성 반도체 메모리 장치 및 이에 대한데이터 독출방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101492857B1 (ko) * 2008-12-30 2015-02-12 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
KR20110065897A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
US8499210B2 (en) 2009-12-10 2013-07-30 Samsung Electronics Co., Ltd. Flash memory device, flash memory system, and method of programming flash memory device
US9355715B1 (en) 2014-11-28 2016-05-31 SK Hynix Inc. Memory system and method of operating the same

Also Published As

Publication number Publication date
KR100926475B1 (ko) 2009-11-12
US20080137415A1 (en) 2008-06-12
US7813187B2 (en) 2010-10-12

Similar Documents

Publication Publication Date Title
KR100926475B1 (ko) 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7757153B2 (en) Multi-bit memory device and memory system
US8149618B2 (en) Over-sampling read operation for a flash memory device
US7701775B2 (en) Flash memory device utilizing multi-page program method
KR100805840B1 (ko) 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
US8059463B2 (en) Method for generating soft bits in flash memories
US7697359B2 (en) Flash memory device and refresh method thereof
US7782667B2 (en) Method of operating a flash memory device
US7672162B2 (en) Non-volatile memory device, memory system, and LSB read method
KR101532754B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
KR100794311B1 (ko) 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
KR101636248B1 (ko) 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR101468099B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US8214725B2 (en) Memory access system
KR20100137128A (ko) 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US20120147669A1 (en) Non-volatile memory device and a method for operating the device
US7684239B2 (en) Flash memory device for over-sampling read and interfacing method thereof
JP6115740B1 (ja) 半導体記憶装置
US20100302864A1 (en) Method of operating nonvolatile memory device
KR100590219B1 (ko) 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
KR20100013962A (ko) 불휘발성 메모리 장치의 프로그램 방법
US8923068B2 (en) Low margin read operation with CRC comparision
KR100634432B1 (ko) 카피백 프로그램 동작 중에 에러를 검출하는 낸드 플래시메모리 장치 및 에러 검출 방법
US11119854B2 (en) Method of controlling verification operations for error correction of non-volatile memory device, and non-volatile memory device
US20210357288A1 (en) Semiconductor storage apparatus and ecc related information reading method

Legal Events

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

Payment date: 20121031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 11