[go: up one dir, main page]

KR101411976B1 - 플래시 메모리 시스템 및 그것의 에러 정정 방법 - Google Patents

플래시 메모리 시스템 및 그것의 에러 정정 방법 Download PDF

Info

Publication number
KR101411976B1
KR101411976B1 KR1020070068681A KR20070068681A KR101411976B1 KR 101411976 B1 KR101411976 B1 KR 101411976B1 KR 1020070068681 A KR1020070068681 A KR 1020070068681A KR 20070068681 A KR20070068681 A KR 20070068681A KR 101411976 B1 KR101411976 B1 KR 101411976B1
Authority
KR
South Korea
Prior art keywords
memory cells
read
data
delete delete
selected memory
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
KR1020070068681A
Other languages
English (en)
Other versions
KR20090005549A (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 KR1020070068681A priority Critical patent/KR101411976B1/ko
Priority to US12/169,109 priority patent/US7791938B2/en
Priority to JP2008178064A priority patent/JP5280757B2/ja
Publication of KR20090005549A publication Critical patent/KR20090005549A/ko
Priority to US12/836,249 priority patent/US8208298B2/en
Application granted granted Critical
Publication of KR101411976B1 publication Critical patent/KR101411976B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

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

Abstract

여기에 개시된 플래시 메모리 시스템은 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 그리고 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직을 포함하는 멀티-비트 플래시 메모리 장치와; 상기 멀티-비트 플래시 메모리 장치로부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 플래시 메모리 컨트롤러를 포함한다.

Description

플래시 메모리 시스템 및 그것의 에러 정정 방법{FLASH MEMORY SYSTEM AND ERROR CORRECTION METHOD THEREOF}
본 발명은 플래시 메모리 시스템에 관한 것으로, 좀더 구체적으로는 플래시 메모리 시스템 및 그것의 에러 정정 방법에 관한 것이다.
플래시 메모리 장치는 복수의 메모리 영역들이 한 번의 프로그램 동작으로 소거 또는 프로그램되는 일종의 EEPROM이다. EEPROM은 전기적으로 소거 및 쓰기가 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시 EEPROM (이하, 플래시 메모리 장치라 칭함)은 기존의 EEPROM에 비해 집적도가 높아 대용량 보조 기억 장치로의 응용에 매우 유리하다.
일반적으로, 플래시 메모리 시스템은 플래시 메모리 장치 및 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러를 포함한다. 플래시 메모리 장치는 행들 및 열들로 배열된 복수의 메모리 셀들을 포함하며, 각 저장소자에 사용되는 로직 게이트의 형태에 따라 낸드(NAND) 플래시 메모리 장치와 노어(NOR) 플래시 메모리 장치로 분류된다. 낸드 플래시 메모리는 노어 플래시 메모리에 비해 집적도가 매우 높다. 낸드 플래시 메모리는 싱글 레벨 셀(Single Level Cell) 낸드 플래시 메모리 및 멀티 레벨 셀(Multi Level Cell) 낸드 플래시 메모리로 구분된다. 싱글 레벨 셀 낸드 플래시 메모리는 각 셀들에 1 비트 데이터를 저장할 수 있으나, 멀티 레벨 셀 낸드 플래시 메모리는 각 셀들에 복수의 비트를 저장할 수 있다. 하나의 메모리 셀에 멀티 비트 데이터를 저장하는 멀티 비트 메모리 장치들이 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,586에 "MULTI-BIT MEMORY CELL ARRAY OF A NON-VOLATILE SEMICONDUCTOR MEMORY DEVICE AND METHOD FOR DRIVING THE SAME"라는 제목으로 각각 게재되어 있으며, 이 출원의 레퍼런스로 포함된다.
프로그램 동작시, 하나의 메모리 셀에 1비트 데이터를 저장할 경우, 메모리 셀은 2개의 문턱 전압 산포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 메모리 셀은 데이터 '1'과 데이터'0'을 각각 나타내는 2개의 상태들 중 어느 하나에 대응하는 문턱 전압 산포를 갖는다. 하나의 메모리 셀에 2 비트 데이터를 저장할 경우, 메모리 셀은 4개의 문턱 전압 산포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 메모리 셀은 데이터 '11', 데이터 '10', 데이터'00', 및 데이터 '01'을 각각 나타내는 4개의 상태들 중 어느 하나에 대응하는 문턱 전압 산포를 갖는다. 하나의 메모리 셀에 3 비트 데이터를 저장할 경우, 메모리 셀은 8개의 문턱 전압 산포들 중 어느 하나에 속하는 문턱 전압을 갖으며, 4 비트 데이터를 저장할 경우, 메모리 셀은 16개의 문턱 전압 산포들 중 어느 하나에 속하는 문턱 전압을 갖는다.
각 상태들에 대응하는 문턱 전압 산포들은 각각 정해진 윈도내에 존재해야 한다. 각 문턱 전압 산포들이 정해진 윈도 내에 존재하기 위해서는 문턱전압 분포를 조밀하게 제어해야 한다. 플래시 메모리 장치는 메모리 셀들의 문턱 전압 산포를 정확하게 제어하기 위해, 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP) 방식에 의해 프로그램된다. ISPP 방식을 이용한 플래시 메모리 장치의 예시적인 프로그램 방법이 U.S Patent No.6,266,270 "NON-VOLATILE SEMICOMDUCTOR MEMORY AND PROGRAMMING METHOD OF THE SAME"라는 제목으로 게재되어 있으며, 이 출원의 레퍼런스로 포함된다.
프로그램되는 각 셀들은 높일 수 있는 문턱 전압 레벨에 한계가 있다. 즉, 각 데이터 상태에 대응하는 문턱 전압 산포들은 최대 문턱 전압 레벨 내에 존재하게 된다. 따라서, 각 셀들에 저장될 데이터 비트수가 증가할수록 각 상태들에 대응하는 문턱 전압 산포들은 많아지고, 각 문턱 전압 산포들 사이의 거리는 줄어든다. 이때, 각 상태에 대응하는 문턱 전압 산포가 다양한 원인으로 인해 범위가 넓어지면, 각 문턱 전압 산포는 원하는 영역보다 넓게 형성된다. 예를들어, 프로그램 동작시, 먼저 프로그램된 메모리 셀은 이후에 프로그램되는 인접한 메모리 셀들에 의해 커플링 영향을 받는다. 프로그램되는 인접한 메모리 셀들의 커플링 영향에 의해, 먼저 프로그램된 메모리 셀의 문턱 전압 산포는 원하는 영역보다 넓게 형성된다. 즉, 먼저 프로그램된 메모리 셀의 문턱 전압 산포는 정상적이지 못한 상태로 확장될 수 있음을 의미한다. 이러한 경우, 각 셀들에 저장될 데이터 비트 수가 많 으면, 각 상태들에 대응하는 문턱 전압 산포들은 겹쳐질 수 있다.
플래시 메모리 컨트롤러는 읽기 동작시 플래시 메모리 장치의 셀들에 프로그램된 데이터를 독출(Read) 한다. 인접한 셀들의 프로그램 동작에 따른 커플링에 의해 프로그램된 셀의 문턱 전압 산포가 확장된 경우, 읽기 동작시 독출 데이터의 신뢰성은 떨어진다. 즉, 읽기 에러가 발생한다.
일반적인 플래시 메모리 컨트롤러는 에러 정정 회로를 포함한다. 에러 정정 회로는 전술한 독출된 데이터 중 읽기 에러가 발생한 데이터를 검출하고, 정정한다. 읽기 에러가 발생한 데이터가 많아질수록 에러 정정 회로의 부담은 증가한다.
본 발명의 특징에 따른 플래시 메모리 시스템은: 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 그리고 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직을 포함하는 멀티-비트 플래시 메모리 장치와; 상기 멀티-비트 플래시 메모리 장치로부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 플래시 메모리 컨트롤러를 포함한다.
이 실시 예에 있어서, 상기 읽기 회로는 상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 최상위 읽기 전압을 발생하도록 구성된 전압 발생회로와; 상기 행들을 선택하도록 그리고 상기 선택된 행을 상기 제 1 기준 전압, 상기 제 2 기준 전압, 및 상기 최상위 읽 기 전압들 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고 상기 선택된 행의 메모리 셀들로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 포함한다.
이 실시 예에 있어서, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출된다.
이 실시 예에 있어서, 상기 플래시 메모리 컨트롤러는 상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 저장하는 버퍼 블록과; 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 산술 논리 장치와; 그리고 상기 산술 논리 장치부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 에러 정정 회로를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 반전시킨다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터 중 적어도 하나가 최대 문턱 전압 변화를 갖는 값을 갖지 않을때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하지 않는다.
이 실시 예에 있어서, 상기 제어 로직은 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하도록 읽기 회로를 제어하며, 상기 읽기 회로로부터 제공된, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 상기 버퍼 블록을 통해 또는 직접 상기 에러 정정 회로로 전송된다.
이 실시 예에 있어서, 상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며, 상기 에러 정정 회로는 상기 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터의 에러를 검출 및 정정하도록 구성된다.
이 실시 예에 있어서, 상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고, 상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함한다.
본 발명의 다른 특징에 따른 플래시 메모리 시스템은: 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직과; 그리고 상기 읽기 회로로부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 산술 논리 장치를 포함하는 멀티-비트 플래시 메모리 장치와; 그리고 상기 멀티-비트 플래시 메모리 장치로부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 플래시 메모리 컨트롤러를 포함한다.
이 실시 예에 있어서, 상기 읽기 회로는 상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 최상위 읽기 전압을 발생하도록 구성된 전압 발생회로와; 상기 행들을 선택하도록 그리고 상기 선택된 행을 제 1 기준 전압, 상기 제 2 기준 전압, 및 상기 최상위 읽기 전압들 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고 상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 임시 저장하는 페이지 버퍼 블록을 포함한다.
이 실시 예에 있어서, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따 른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출된다.
이 실시 예에 있어서, 상기 플래시 메모리 컨트롤러는 상기 산술 논리 장치부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 에러 정정 회로를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 반전시킨다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터 중 적어도 하나가 최대 문턱 전압 변화를 갖는 값을 갖지 않을때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하지 않는다.
이 실시 예에 있어서, 상기 제어 로직은 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하도록 읽기 회로를 제어하며, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 상기 페이지 버퍼 블록을 통해 또는 직접 플래시 메모리 컨트롤러로 전송된다.
이 실시 예에 있어서, 상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며, 상기 에러 정정 코드는 상기 에러정정데이터에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터의 에러를 검출 및 정정하도록 구성된다.
이 실시 예에 있어서, 상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고, 상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함하는 플래시 메모리 시스템.
본 발명의 다른 특징에 따른 행들과 열들로 배열된 메모리 셀들을 갖는 플래시 메모리 시스템의 독출된 데이터 비트의 에러 정정 방법은: (a) 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터를 연속적으로 읽는 단계; (b) 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 단계; 및 (c) 상기 메모리 셀들로부터 읽혀진 데이터에 포함된 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터를 정정하는 단계를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 기준 전압을 기준으로 독출된다.
이 실시 예에 있어서, 상기 기준 전압은 제 1 및 제 2 기준 전압을 포함하고, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 (b) 단계는 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 선택된 메모리 셀들로부터 읽혀진 데이터가 반전된다.
이 실시 예에 있어서, 상기 (a) 단계는 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하는 단계를 포함한다.
본 발명의 다른 특징에 따른 플래시 메모리 시스템은: 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 그리고 선택된 메모리 셀들에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직을 포함하는 멀티-비트 플래시 메모리 장치와; 상기 멀티-비트 플래시 메모리 장치로 부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 플래시 메모리 컨트롤러를 포함한다.
이 실시 예에 있어서, 상기 행들에 배열된 셀들은 이븐 셀 및 오드 셀로 각각 구분되며, 상기 선택된 셀은 상기 이븐 셀들 및 오드 셀들 중 먼저 프로그램된 셀이다.
이 실시 예에 있어서, 상기 읽기 회로는 상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 읽기 전압을 발생하도록 구성된 전압 발생회로와; 상기 행들을 선택하도록 그리고 상기 선택된 행을 상기 제 1 기준 전압 및 상기 제 2 기준 전압, 및 상기 읽기 전압들 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고 상기 선택된 행의 메모리 셀들로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 포함한다.
이 실시 예에 있어서, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출된다.
이 실시 예에 있어서, 상기 플래시 메모리 컨트롤러는 상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 저장하는 버퍼 블록과; 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 산술 논리 장치와; 그리고 상기 산술 논리 장치부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 에러 정정 회로를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 상기 선택된 메모리 셀들로부터 읽혀진 데이터 상태에 대응하는 문턱 전압 산포를 기준으로 하위 상태의 문턱 전압 산포에 대응하는 데이터 값으로 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터 중 적어도 하나가 최대 문턱 전압 변화를 갖는 값을 갖지 않을때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하지 않는다.
이 실시 예에 있어서, 상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며, 상기 에러 정정 회로는 상기 에러정정코드에 의거하여 상기 선택 된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터의 에러를 검출 및 정정하도록 구성된다.
이 실시 예에 있어서, 상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고, 상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함한다.
본 발명의 다른 특징에 따른 플래시 메모리 시스템은: 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 선택된 메모리 셀들에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직과; 그리고 상기 읽기 회로로부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 산술 논리 장치를 포함하는 멀티-비트 플래시 메모리 장치와; 그리고 상기 멀티-비트 플래시 메모리 장치로부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 플래시 메모리 컨트롤러를 포함한다.
이 실시 예에 있어서, 상기 행들에 배열된 셀들은 이븐 셀 및 오드 셀로 각 각 구분되며, 상기 선택된 셀은 상기 이븐 셀들 및 오드 셀들 중 먼저 프로그램된 셀이다.
이 실시 예에 있어서, 상기 읽기 회로는 상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 읽기 전압을 발생하도록 구성된 전압 발생회로와; 상기 행들을 선택하도록 그리고 상기 선택된 행을 상기 제 1 기준 전압, 상기 제 2 기준 전압, 및 상기 읽기 전압들 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고 상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 임시 저장하는 페이지 버퍼 블록을 포함한다.
이 실시 예에 있어서, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출된다.
이 실시 예에 있어서, 상기 플래시 메모리 컨트롤러는 상기 산술 논리 장치부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 에러 정정 회로를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 상기 선택된 메모리 셀들로부터 읽혀진 데이터 상태에 대응하는 문턱 전압 산포를 기준으로 하위 상태의 문턱 전압 산포에 대응하는 데이터 값으로 정정한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터 중 적어도 하나가 최대 문턱 전압 변화를 갖는 값을 갖지 않을때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하지 않는다.
이 실시 예에 있어서, 상기 제어 로직은 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하도록 읽기 회로를 제어하며, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 상기 페이지 버퍼 블록을 통해 또는 직접 플래시 메모리 컨트롤러로 전송된다.
이 실시 예에 있어서, 상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며, 상기 에러 정정 회로는 상기 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터의 에러를 검출 및 정정하도록 구성된다.
이 실시 예에 있어서, 상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고, 상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함한다.
본 발명의 다른 특징에 따른 행들과 열들로 배열된 메모리 셀들을 갖는 플래시 메모리 시스템의 독출된 데이터 비트의 에러 정정 방법은: (a) 선택된 메모리 셀들에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터를 연속적으로 읽는 단계; (b) 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 단계; 및 (c) 상기 메모리 셀들로부터 읽혀진 데이터에 포함된 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터를 정정하는 단계를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 기준 전압을 기준으로 독출된다.
이 실시 예에 있어서, 상기 기준 전압은 제 1 및 제 2 기준 전압을 포함하고, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이 터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 (b) 단계는 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 선택된 메모리 셀들로부터 읽혀진 데이터가 상기 선택된 메모리 셀들로부터 읽혀진 데이터 상태에 대응하는 문턱 전압 산포를 기준으로 하위 상태의 문턱 전압 산포에 대응하는 데이터 값으로 정정된다.
본 발명의 다른 특징에 따른 플래시 메모리 시스템은 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 그리고 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직을 포함하는 멀티-비트 플래시 메모리 장치와; 상기 멀티-비트 플래시 메모리 장치로부터 제공받은, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 최상위 데이터의 이레이셔 상태를 판별하고, 상기 판별 결과에 의거하여 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 플래시 메모리 컨트롤러를 포함한다.
이 실시 예에 있어서, 상기 읽기 회로는 상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 최상위 읽기 전압을 발생하도록 구성된 전압 발생회로와; 상기 행들을 선택하도록 그리고 상기 선택된 행을 상기 제 1 및 제 2 기준 전압들, 그리고 상기 최상위 읽기 전압 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고 상기 선택된 행의 메모리 셀들로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 포함한다.
이 실시 예에 있어서, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출된다.
이 실시 예에 있어서, 상기 플래시 메모리 컨트롤러는 상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 저장하는 버퍼 블록과; 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 최상위 데이터의 이레이셔 상태를 판별하는 메인 컨트롤러; 그리고 상기 메인 컨트롤러로부터 상기 이레이셔 상태 정보를 제공받는 에러 정정 회로를 포함한다.
이 실시 예에 있어서, 상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며, 상기 에러 정정 회로는 상기 이레이셔 상태 정보 및 상기 에러정정데이터에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 데이터의 에러를 검출 및 정정하도록 구성된다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 메인 컨트롤러는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 이레이셔 상태로 판별한다.
이 실시 예에 있어서, 상기 제어 로직은 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하도록 읽기 회로를 제어하며, 상기 읽기 회로로부터 제공된, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 상기 버퍼 블록을 통해 또는 직접 상기 에러 정정 회로로 전송된다.
이 실시 예에 있어서, 상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고, 상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함한다.
본 발명의 다른 특징에 따른 행들과 열들로 배열된 메모리 셀들을 갖는 플래시 메모리 시스템의 독출된 데이터 비트의 에러 정정 방법은: (a) 선택된 메모리 셀들에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터를 연속적으로 읽는 단계; (b) 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비 교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터의 이레이셔 상태를 판별하는 단계; 및 (c) 상기 판별 결과 및 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 데이터의 에러 상태를 검출하고, 정정하는 단계를 포함한다.
이 실시 예에 있어서, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 기준 전압을 기준으로 독출된다.
이 실시 예에 있어서, 상기 기준 전압은 제 1 및 제 2 기준 전압을 포함하고, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다.
이 실시 예에 있어서, 상기 (b) 단계는 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 이레이셔 상태로 판별된다.
본 발명에 따른 플래시 메모리 시스템은 에러 정정 회로의 부담을 줄일 수 있다.
또한, 본 발명에 따른 플래시 메모리 시스템은 에러 정정 회로의 성능을 향상시킬 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한 다.
도 1은 본 발명의 실시 예에 따른 플래시 메모리 시스템의 블록도이고, 도 2는 도 1에 도시된 메모리 셀 어레이를 보여주는 회로도이다. 도 1에 도시된 플래시 메모리 시스템(1000)은 낸드 플래시 메모리 시스템이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 플래시 메모리 시스템(1000)은 플래시 메모리(100) 및 읽기 동작시 플래시 메모리(100)로부터 독출(read)되는 데이터를 제공받는 플래시 메모리 컨트롤러(200)를 포함한다. 플래시 메모리(100)는 멀티 비트 플래시 메모리 장치이다.
플래시 메모리(100)는 메모리 셀 어레이(110), 행 선택회로(X-SEL)(120), 페이지 버퍼 회로(130), 열 선택회로(Y-SEL)(140), 제어 로직(150), 및 전압 발생 회로(160)를 포함한다. 플래시 메모리 컨트롤러(200)는 제 1 내지 제 4 버퍼들(211~214), 산술 논리 장치(ALU; Arithmetic and Logic Unit)(220), 에러 정정 회로(ECC; Error Correction Circuit)(230), 메인 컨트롤러(240), 및 시스템 버스(250)를 포함한다. 메모리 셀 어레이(110)는 도 2에 도시된 바와 같이 구성된 메모리 셀 구조를 갖는다. 읽기 동작시, 전압 발생 회로(160), 행 선택회로(120), 및 페이지 버퍼 회로(130)는 읽기 회로를 구성한다. 제 1 내지 제 4 버퍼들(211~214)은 버퍼 블록을 구성한다.
먼저, 도 2를 참조하면, 메모리 셀 어레이(110)는 비트 라인들(BL0~BLm-1)에 각각 연결되는 복수 개의 셀 스트링들(또는 낸드 스트링들)(111)을 포함한다. 각 열의 셀 스트링(111)은 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스터(GST), 그리고 선택 트랜지스터들(SST, GST) 사이에 직렬 연결된 복수 개의 메모리 셀들(또는, 메모리 셀 트랜지스터들)(MC0~MCn-1)을 포함한다. 스트링들(111)은 대응하는 비트 라인들(BL0∼BLm-1)에 각각 전기적으로 연결되어 있다. 각 스트링(111)에 있어서, 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)에 연결되고, 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)에 연결되며, 메모리 셀들(MC0~MCn-1)은 대응하는 워드 라인들(WL0∼WLn-1)에 각각 연결되어 있다. 스트링들의 각 셀들은 플로팅 게이트 트랜지스터들로 구성되며, 트랜지스터들의 제어 게이트들은 대응하는 워드 라인들(WL0∼WLn-1)에 각각 연결된다. 스트링 선택 라인(SSL), 워드 라인들(WL0~WLn-1), 그리고 접지 선택 라인(GSL)은 행 선택 회로(120)에 전기적으로 연결되어 있다. 다시 도 1을 참조하면, 행 선택 회로(120)는 행 어드레스 정보(X-addr)에 따라 워드 라인들 중 하나의 워드 라인을 선택한다. 행 선택 회로(120)는 프로그램 동작 모드시 선택되는 워드 라인으로 프로그램 전압(program voltage)을 공급하고 비선택되는 워드 라인들로 패스 전압(pass voltage)을 각각 공급한다. 행 선택 회로(120)는 읽기 동작 모드시 선택되는 워드 라인으로 요구되는 전압을 공급하고 비선택되는 워드 라인들로 읽기 전압(Vread)을 공급한다. 프로그램 전압, 패스 전압, 그리고 읽기 전압은 전원 전압보다 높은 고전압이다.
메모리 셀 어레이(110)를 통해 배열되는 비트 라인들(BL0~BLm-1)은 페이지 버퍼 회로 (130)에 전기적으로 연결되어 있다. 페이지 버퍼 회로(130)는 읽기/검증 동작 모드에서 비트 라인들(BL0-BLm)을 통해 선택된 워드 라인의 메모리 셀들(MC0~MCn-1)로부터 데이터를 감지한다. 페이지 버퍼 회로(130)에는 프로그램 동 작 모드시 메모리 셀들(MC0~MCn-1)에 프로그램될 데이터가 로드되며, 페이지 버퍼 회로(130)는 로드된 프로그램될 데이터에 따라 비트 라인들(BL0-BLm)로 전원 전압(또는 프로그램 금지 전압: program-inhibited voltage) 또는 접지 전압(또는 프로그램 전압: program voltage)을 각각 공급한다. 이러한 동작에 의해 행 선택회로(120)에 의해 선택된 워드 라인의 메모리 셀들(MC0~MCn-1)에 페이지 버퍼 회로(130)에 로드된 데이터가 프로그램된다. 페이지 버퍼 회로(130)는 한 쌍의 비트라인들을 공유하는 페이지 버퍼들을 포함한다. 그러나, 페이지 버퍼 회로(130)는 비트 라인들 (BL0-BLm)에 각각 대응하는 페이지 버퍼들을 포함할 수도 있다.
열 선택 회로(140)(도면에는 "Y-SEL"로 표기됨)는 읽기 동작 모드시, 열 어드레스 정보(Y-addr)에 응답하여 페이지 버퍼 회로(130)에 저장된 데이터를 메모리 컨트롤러(200)로 출력한다.
제어 로직(150)은 플래시 메모리(100)의 전반적인 동작들을 제어하도록 구성된다. 전압 발생 회로(160)는 제어 로직(150)의 제어에 의해 제어되며, 플래시 메모리(100)의 동작에 필요한 전압들(예를 들면, 프로그램 전압, 읽기 전압, 패스 전압, 기준 전압 등을 포함함)을 발생하도록 구성된다. 기준 전압(Vref)은 읽기 동작에 필요한 읽기 전압들 중 어느 하나이다. 기준 전압(Vref)의 사용은, 이하, 상세히 설명된다.
플래시 메모리 컨트롤러(200)의 메인 컨트롤러(240)는 플래시 메모리 컨트롤러(200)의 블록들(211~214, 220, 230)을 제어한다. 플래시 메모리 컨트롤러(200)는 읽기 동작 모드시 페이지 버퍼 회로(130)에 감지된 데이터 비트들을 읽어 들인다. 읽혀진 데이터 비트들은 각각 프로그램된 순서에 따라서 플래시 메모리 컨트롤러(200)의 제 1 내지 제 4 버퍼들(211~214)에 각각 제공되거나 에러 정정 회로(230)에 직접 제공된다.
플래시 메모리(100)로부터 제 1 버퍼(211)에 제공된 데이터 비트들이 MSB 데이터 비트(또는 최상위 데이터 비트)들일 경우, MSB 데이터 비트들은 메인 컨트롤러(240)의 제어에 의해 산술 논리 장치(220)에 제공된다. 플래시 메모리(100)로부터 제 1 버퍼(211)에 제공된 데이터 비트들이 LSB 데이터 비트들일 경우, LSB 데이터 비트들은 메인 컨트롤러(240)의 제어에 의해 에러 정정 회로(230)에 제공된다. 제 2 내지 제 4 버퍼들(212~214) 각각에 임시 저장된 데이터 비트들은 각각 산술 논리 장치(220)에 제공된다. 산술 논리 장치(220)는 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트들을 에러 정정 회로(230)에 제공한다. 이때, 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)을 통해 제공받은 데이터 비트들을 비교하고, 비교 결과에 따라서 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트들을 정정한다.
에러 정정 회로(230)는 프로그램 동작시 열 선택 회로(140)를 통해 페이지 버퍼 회로(130)로 전송되는 데이터로부터 비트 에러의 정정을 위한 에러정정코드(error correcting code)(이하, 'ECC'라 칭함)를 생성한다. 생성된 ECC는 열 선택 회로(140)를 통해 페이지 버퍼 회로(130)로 전달한다. 페이지 버퍼 회로(130)는 메인(main) 영역(미 도시됨)과 스페어(spare) 영역(미 도시됨)을 포함한다. 메인 영역에는 프로그램될 데이터가 저장되고, 스페어 영역에는 ECC가 저장된다. 에러 정정 회로(230)는 읽기 동작시 페이지 버퍼 회로(130)로부터 데이터 및 ECC를 전송받고, ECC에 의거하여 전송된 데이터에 에러가 있는지의 여부를 검출하고, 정정한다. 또한, 에러 정정 회로(230)는 ECC에 의거하여 산술 논리 장치(220) 및 제 1 버퍼(211)를 통해 제공받은 데이터 비트들 중 에러 비트를 검출하고, 정정한다. 전술한 에러 정정 회로(230)에 의한 에러 비트 정정은 ECC 디코딩이라 한다. 에러 정정 회로(230)는 제공받은 데이터 비트들 중 에러 비트를 정정한 후, 데이터 비트들을 외부로 출력한다.
전술한 플래시 메모리 시스템(1000)의 읽기 동작을 참조하면, 플래시 메모리 컨트롤러(200)의 산술 논리 장치(220)는 미리 정해진 조건에 따라서, 데이터 비트들을 정정한다. 따라서, 플래시 메모리 시스템(1000)은 산술 논리 장치(220)를 통해 에러 정정 회로(230)에서 정정할 에러비트 수를 감소시킬 수 있다. 이는 에러 정정 회로(230)의 부담(overhead)이 감소 됨을 의미한다.
도 3은 도 1에 도시된 셀들에 대한 프로그램 순서를 보여주는 도면이다.
도 3에 도시된 셀들은 도 2에 도시된 메모리 셀 어레이의 메모리 셀들 중 임의의 셀들이다.
도 3을 참조하면, 각 워드라인들(WL_N-1, WL_N)(또는 행들)은 이븐 및 오드(Even, Odd) 페이지들을 포함한다. 워드라인(WL_N-1)의 이븐(Even) 페이지는 메모리 셀들(MC1)을 포함하고, 오드(Odd) 페이지는 메모리 셀들(MC2)을 포함한다. 워드라인(WL_N)의 이븐(Even) 페이지는 메모리 셀들(MC3)을 포함하고, 워드라인(WL_N)의 오드(Odd) 페이지는 메모리 셀들(MC4)을 포함한다. 페이지 버퍼 들(10,20)은 비트 라인 쌍들과 전기적으로 연결된다. 이븐 페이지에 연결된 비트라인은 제 1 비트라인이며, 오드 페이지에 연결된 비트라인은 제 2 비트라인이다.
프로그램 동작시, 메모리 셀들(MC1, MC2, MC3, MC4)은 도 3에 도시된 바와 같이, MC1->MC2->MC3->MC4 의 순서로 프로그램된다. 도 3에 도시되지 않은 메모리 셀들도 동일한 순서로 프로그램된다. 즉, 각 워드라인의 이븐 페이지가 먼저 프로그램되고, 오드 페이지가 다음에 프로그램된다. 이러한 프로그램 순서는 일 실시예로서, 여기에 개시된 것에 국한되지 않음은 자명하다.
프로그램된 메모리 셀(MC1)의 문턱 전압은 이 후에 프로그램되는 인접한 메모리 셀들(MC2, MC3, MC4)의 프로그램 동작에 영향을 받는다. 즉, 메모리 셀(MC1)의 문턱 전압은 프로그래밍시 인접한 메모리 셀들(MC2, MC3, MC4)과의 커플링으로 인해 높아진다. 마찬가지로, 메모리 셀(MC2)은 이 후에 프로그램되는 인접한 메모리 셀들(MC3, MC4)에 의해 커플링 영향을 받으며, 메모리 셀(MC3)은 이 후에 프로그램되는 인접한 메모리 셀(MC4)에 의해 커플링 영향을 받는다. 도 3에 도시되지 않았으나, 메모리 셀(MC3)은 메모리 셀(MC4)에 의한 커플링 영향과 함께, 다음에 선택되는 워드라인의 이븐 페이지 및 오드 페이지의 셀들에 의한 커플링 영향을 받는다. 도 3에 도시된 메모리 셀들(MC1, MC2, MC3, MC4) 중 가장 커플링 영향을 많이 받는 셀은 메모리 셀(MC1)일 것이다. 따라서 메모리 셀(MC1)의 문턱 전압은 메모리 셀들(MC1, MC2, MC3, MC4) 중 가장 많이 높아진다. 역시, 메모리 셀(MC3)의 문턱 전압은 다음에 프로그램되는 워드라인의 이븐 페이지 및 오드 페이지의 셀들의 커플링에 의해 높아질 것이다. 따라서, 문턱 전압이 높아진 셀들의 문턱 전압 산포는 확장될 것이다(도 5 참조). 이하, 도 3에 도시된 메모리 셀(MC1)을 기준으로 커플링 영향에 따른 플래시 메모리 시스템(1000)의 읽기 동작을 설명한다.
프로그래밍에 따른 메모리 셀들의 데이터 상태 변화시 문턱 전압(Vth)의 변화량이 클수록 커플링 효과는 높아진다(이하, 도 5에서 상세히 설명됨). 따라서, 메모리 셀(MC1)의 문턱 전압은 프로그래밍에 따른 메모리 셀들(MC2, MC3, MC4)의 문턱 전압(Vth)의 변화량이 클수록 더욱 높아질 것이다. 이러한 경우, 메모리 셀(MC1)로부터 독출되는 데이터 비트의 에러 발생 비율은 높아진다.
프로그래밍에 따른 메모리 셀들(MC2, MC3, MC4)의 문턱 전압(Vth)의 변화량이 가장 높은 경우, 메모리 셀(MC1)은 가장 높은 커플링 영향(Worst coupling effect) 받는다. 이러한 경우, 메모리 셀(MC1)로부터 독출되는 데이터 비트는 항상 에러 비트로 검출된다고 볼 수 있다. 이러한 메모리 셀(MC1)의 상태는 페일 상태(fail state)라 한다. 즉, 프로그램된 메모리 셀(MC1)로부터 데이터 비트를 독출할 때, 독출되는 데이터 비트가 에러 비트로 검출될 확률이 매우 높은 경우, 메모리 셀(MC1)의 상태는 페일 상태가 된다.
플래시 메모리 컨트롤러(200)는 읽기 동작 모드시 플래시 메모리(100)로 어드레스 정보 및 읽기 명령어를 전송한다. 어드레스는 행 어드레스(X-addr) 및 열 어드레스(Y-addr) 정보를 포함하며, 행 어드레스(X-addr) 정보는 페이지 어드레스(PA)를 포함한다. 페이지 어드레스(PA)는 MSB 페이지 어드레스 및 LSB 페이지 어드레스를 포함한다. 프로그램 동작 모드시 오드 페이지보다 이븐 페이지가 먼저 프로그램된 상태라고 가정한다. 읽기 동작 모드시 플래시 메모리 컨트롤러(200)는 메 모리 셀(MC1)에 대한 읽기 동작을 수행하기 위한 어드레스 정보 및 읽기 명령어를 플래시 메모리(100)로 전송한다. 읽기 동작 모드시 플래시 메모리(100)의 제어로직(150)은 플래시 메모리 컨트롤러(200)로부터 제공받은 읽기 명령 및 어드레스 정보에 응답하여 4번의 연속적인 읽기 동작을 수행한다. 구체적으로, MSB 어드레스 이슈(issue)시 제어로직(150)은 이븐 페이지에 대응하는 페이지 어드레스(PA)의 MSB 페이지 어드레스에 응답하여 4번의 읽기 동작을 수행하도록 읽기 회로를 제어한다. 즉, 메모리 셀(MC1)의 MSB 데이터 비트가 독출될 경우, 제어로직(150)의 제어에 의해 메모리 셀들(MC2,MC3,MC4)로부터 각각 데이터 비트들이 연속적으로 독출된다.
전술한 4번의 연속적인 읽기 동작은 다르게 수행될 수도 있다. 플래시 메모리 컨트롤러(200)는 읽기 동작 모드시 메모리 셀(MC1)에 대한 읽기 동작을 수행하기 위한 어드레스 정보 및 읽기 명령어, 그리고 메모리 셀들(MC2,MC3,MC4)에 대한 읽기 동작을 수행하기 위한 어드레스 정보 및 읽기 명령어를 연속적으로 플래시 메모리(100)로 전송한다. 플래시 메모리(100)의 제어로직(150)은 플래시 메모리 컨트롤러(200)로부터 연속적으로 제공받은 어드레스 정보 및 읽기 명령어에 응답해서 메모리 셀(MC1)에 저장된 MSB 데이터 비트를 독출할 경우, 메모리 셀들(MC2,MC3,MC4)로부터 각각 데이터 비트들이 독출되도록 읽기 회로를 제어한다.
도 1 내지 도 3을 참조하면, 페이지 버퍼 회로(130)에 감지된 메모리 셀(MC1)의 MSB 데이터 비트는 열 선택회로(140)를 통해 플래시 메모리 컨트롤러(200)에 제공된다. 메모리 셀들(MC2,MC3,MC4)의 데이터 비트들은 기준 전압 들(Vref1,Vref2)을 기준으로 독출되어 플래시 메모리 컨트롤러(200)에 각각 제공된다. 기준 전압들(Vref1,Vref2)은 프로그램 동작에 따른 메모리 셀들(MC2,MC3,MC4)의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다(이하, 도 5에서 상세히 설명함).
메모리 셀(MC1)의 MSB 데이터 비트는 플래시 메모리 컨트롤러(200)의 제 1 버퍼(211)에 제공된다. 메모리 셀들(MC2,MC3,MC4)의 데이터 비트들은 각각 대응하는 제 2 내지 제 4 버퍼들(212~214)로 제공된다.
프로그램 동작에 따른 데이터 상태 변화시, 문턱 전압의 변화량이 가장 큰 데이터 상태로 메모리 셀들(MC2, MC3, MC4)이 프로그램됐을 경우, 메모리 셀(MC1)은 가장 높은 커플링 영향(Worst coupling effect)을 받는다. 이러한 경우, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 항상 에러 비트로 검출된다고 볼 수 있다.
플래시 메모리 컨트롤러(200)의 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 데이터 비트들을 제공받는다. 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 제공받은 데이터 비트들이 모두 최대 문턱 전압 변화를 갖는 값을 가질 경우, 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트를 정정한다. 이때 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트는 실제로 에러 비트는 아니다. 그러나, 프로그램 동작에 따른 데이터 상태 변화시, 문턱 전압의 변화량이 가장 큰 데이터 상태로 메모리 셀들(MC2, MC3, MC4)이 프로그램됐을 경우, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 워스트 커플링 영향에 의해 에러 비트로 검출될 확률이 가장 높다. 따라서, 이러한 경우, 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트는 산술 논리 장치(220)에 의해서 정정된다.
이하 상세히 설명되겠지만, 제 1 버퍼(211)로부터 산술 논리 장치(220)에 제공되는 MSB 데이터 비트들 중, 전술한 조건을 만족하는 비트들은 산술 논리 장치(220)에 의해 반전된다. 산술 논리 장치(220)에서 정정된 데이터 비트는 에러 정정회로(230)에 제공된다. 산술 논리 장치(220)에서 정정된 데이터 비트는 에러 비트일 수 있다(이하, 상세히 설명됨). 따라서, 산술 논리 장치(220)에서 정정된 데이터 비트가 정상적인 데이터 비트이면, 에러 정정 회로(230)는 산술 논리 장치(220)로부터 제공받은 데이터 비트를 정정하지 않는다. 그러나 산술 논리 장치(220)에서 잘못 정정되었을 경우, 에러 정정 회로(230)는 산술 논리 장치(220)로부터 제공받은 데이터 비트를 정상값으로 정정한다. 즉, 에러 정정 회로(230)는 산술 논리 장치(220)에서 정정된 데이터 비트를 2차 정정한다.
프로그램 동작에 따른 데이터 상태 변화시, 문턱 전압의 변화량이 가장 큰 데이터 상태로 프로그램되지 않은 메모리 셀이 있을 경우, 메모리 셀(MC1)은 워스트 커플링 영향을 받지 않는다. 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 제공받은 데이터 비트들이 모두 최대 문턱 전압 변화를 갖는 값이 아니면, 제 1 버퍼(211)로부터 제공받은 MSB 데이터 비트를 정정하지 않는다. 산술 논리 장치(220)는 MSB 데이터 비트를 에러 정정회로(230)에 제공한다. 제 2 내지 제 4 버퍼들(212~214)로부터 제공받은 데이터 비트들이 모두 최대 문턱 전압 변화를 갖는 값이 아닐 경우라도 메모리 셀(MC1)은 커플링 영향을 받을 수 있다. 따라서, 메모리 셀(MC1)에 대한 읽기 동작시, 에러 발생 확률은 존재한다. 에러 정정 회로(230)는 전술한 바와 같이, ECC에 의거하여 산술 논리 장치(220)로부터 제공받은 데이터 비트들 중, 에러 비트를 검출하고, 정정한다.
플래시 메모리(100)의 제어로직(150)은 읽기 동작 모드시 이븐 페이지에 대응하는 페이지 어드레스(PA)의 LSB 페이지 어드레스에 응답하여 읽기 동작을 수행하도록 읽기 회로를 제어한다. 이때, 메모리 셀(MC1)로부터 LSB 데이터 비트가 독출되며, 메모리 셀들(MC2,MC3,MC4)로부터 데이터 비트들은 독출되지 않는다. 독출된 메모리 셀(MC1)의 LSB 데이터 비트는 플래시 메모리 컨트롤러(200)의 제 1 버퍼(211)를 통해 에러 정정 회로(230)에 제공된다. 메모리 셀(MC1)의 LSB 데이터 비트는 산술 논리 장치(220)를 통해서 정정되지 않는다. 따라서, 메모리 셀(MC1)로부터 LSB 데이터 비트가 독출될 때 메모리 셀들(MC2,MC3,MC4)로부터 각각 데이터 비트들을 독출할 필요가 없다. 에러 정정 회로(230)는 전술한 바와 같이, ECC데이터에 의거하여 제 1 버퍼(211)로부터 제공받은 데이터 비트들 중, 에러 비트를 정정검출하고, 정정한다.
본 발명에 따른 플래시 메모리 시스템(1000)의 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 제공된 데이터 비트들의 값을 비교하고, 비교 결과에 따라서 제 1 버퍼(211)로부터 제공된 데이터 비트를 정정한다. 즉 플래시 메모리 시스템(1000)은 산술 논리 장치(220)를 통해 에러 비트일 확률이 가장 높은 데이터 비트들을 1차로 정정하고, 전술한 바와 같이, 에러 정정 회로(230)를 통해 데이터 비트들을 2차로 정정한다. 따라서, 플래시 메모리 시스템(1000)은 산술 논 리 장치(220)를 통해 에러 정정 회로(230)에서 정정할 에러비트 수를 감소시킬 수 있으므로, 에러 정정 회로(230)의 부담(overhead)을 줄일 수 있다.
읽기 동작 모드시, 메모리 셀(MC1)로부터 독출되는 LSB 데이터 비트는, 전술한 바와 같이, 제 1 버퍼(211)를 통해 에러 정정 회로(230)에 제공된다. 그러나, 메모리 셀(MC1)로부터 독출되는 LSB 데이터 비트는, 플래시 메모리 컨트롤러(200)의 제 1 버퍼(211)에 제공되지 않고 페이지 버퍼(130)에서 플래시 메모리 컨트롤러(200)의 에러 정정회로(230)로 직접 제공될 수도 있다.
도 4는 도 2에 도시된 메모리 셀들의 예시적인 프로그램 상태를 보여주는 산포도 및 읽기 방법을 설명하기 위한 도면이다.
도 4에 도시된 산포도는 2-비트 데이터를 저장할 수 있는 메모리 셀의 산포도이다. 그러나, 본 발명에 따른 플래시 메모리 시스템(1000)의 메모리 셀은 m-bit 데이터(m은 3 또는 그보다 큰 정수)를 저장할 수도 있다. 또한, 도 4에 도시된 2-비트 코팅표는 일 실시 예이며, 다르게 코딩될 수 있음은 이 분야의 통상의 지식을 가진 이들에게 자명하다.
도 4를 참조하면, 본 발명에 따른 플래시 메모리 시스템(1000)의 메모리 셀들은 프로그램 동작시 각각 데이터 '11', 데이터'01', 데이터 '10', 및 데이터 '00'중 어느 하나를 저장할 수 있다. 데이터 '11'은 소거된 상태(erased state)이고, 데이터'01'의 문턱 전압은 데이터 '10'의 문턱 전압보다 낮고, 데이터 '10'의 문턱 전압은 데이터 '00'보다 낮다.
읽기 동작시 읽기 전압보다 문턱 전압 산포가 높으면 선택된 셀은 오프 셀(Off-Cell), 그리고 읽기 전압보다 문턱 전압 산포가 낮으면 선택된 셀은 온 셀(On-Cell)로 판별된다. 메모리 셀에 저장된 MSB 데이터 비트에 대한 읽기 동작시, 메모리 셀에는 최상위 읽기 전압이 인가된다. 최상위 읽기 전압은 복수의 MSB 읽기 전압들을 포함할 수 있다. 읽기 동작시 메모리 셀들에 인가되는 읽기 전압은 데이터 1 및 0, 그리고 데이터 0 및 1 사이에 인가되기 위한 레벨로 결정된다. 문턱전압 산포들(10,11,12,13)의 MSB 데이터 비트들은 각각 데이터 '1', 데이터'0', 데이터 '1', 그리고 데이터 '0' 이다. 따라서, 문턱 전압 산포(10)와 문턱 전압 산포(11) 사이, 문턱 전압 산포(11)와 문턱 전압 산포 사이(12), 그리고 문턱 전압 산포(12)와 문턱 전압 산포 사이(13)에 대응되는 MSB 읽기 전압들(MSB Vread1, MSB Vread2, MSB Vread3)이 선택된 메모리 셀에 각각 인가된다.
메모리 셀이 데이터 '01'로 프로그램된 상태라고 가정한다. 데이터 '01'로 프로그램된 상태의 메모리 셀은 문턱 전압 산포(11)을 갖는다. MSB 데이터 읽기 동작시, 플래시 메모리 컨트롤러(200)는 MSB 읽기 전압을 기준으로 각 메모리 셀들로부터 MSB 데이터 비트들을 독출한다. 좀 더 구체적으로, MSB 읽기 전압(MSB Vread1)을 기준으로 문턱전압 산포(11)를 갖는 메모리 셀은 오프 셀로 판별된다. MSB 읽기 전압(MSB Vread2)을 기준으로 문턱전압 산포(11)를 갖는 메모리 셀은 온 셀로 판별된다. MSB 읽기 전압(MSB Vread3)을 기준으로 문턱전압 산포(11)를 갖는 메모리 셀은 온 셀로 판별된다. 이러한 읽기 동작을 통해 MSB 데이터 비트는 '0'으로 판별된다. 메모리 셀이 데이터 '11', 데이터 '10', 데이터 '00'로 프로그램 됐을 경우, 메모리 셀에 프로그램된 MSB 데이터 비트는 전술한 읽기 동작을 통해 독 출된다.
문턱전압 산포들(10,11,12,13)의 LSB 데이터 비트들은 각각 데이터 '1', 데이터'1', 데이터 '0', 그리고 데이터 '0' 이다. 따라서, 문턱 전압 산포(11)와 문턱 전압 산포(12) 사이에 대응되는 LSB 읽기 전압(LSB Vread)이 선택된 메모리 셀에 인가된다.
전술한 바와 같이, 메모리 셀이 데이터 '01'로 프로그램된 상태라고 가정한다. LSB 데이터 읽기 동작시, 각 메모리 셀들의 LSB 데이터 비트들은 LSB 읽기 전압(LSB Vread)을 기준으로 각 메모리 셀들로부터 독출된다. 좀 더 구체적으로, LSB 읽기 전압(LSB Vread)을 기준으로 문턱전압 산포(11)는 온 셀로 판별된다. 이러한 읽기 동작을 통해 LSB 데이터 비트는 '1'로 판별된다. 메모리 셀이 데이터 '11', 데이터 '10', 데이터 '00' 상태로 프로그램됐을 경우, 메모리 셀에 프로그램된 LSB 데이터 비트는 전술한 읽기 동작을 통해 독출된다.
이러한 독출 동작에 의해 프로그램된 셀들로부터 데이터가 독출 된다. 그러나, 전술한 바와 같이, 커플링 현상에 의해 셀의 문턱 전압 산포가 확장될 경우, MSB 데이터 비트 또는 LSB 데이터 비트는 정상적인 데이터 비트가 독출되지 않을 수 있다.
도 5는 워스트 커플링 효과 및 기준 전압 설정을 설명하기 위한 메모리 셀들의 예시적인 산포도를 보여주는 도면이다.
도 4에 도시된 2-비트 코팅표 및 도 5를 참조하면, 전술한 바와 같이, 메모리 셀들은 프로그램 동작시 각각 데이터 '11', 데이터'01', 데이터 '10', 및 데이 터 '00' 중 어느 하나를 저장할 수 있다. 데이터 '1'은 소거된 상태이고, 데이터 '0'은 프로그램된 상태이다. 데이터 '1'을 데이터 '0'으로 바꾸는 동작이 프로그램 동작이다. 데이터 '11'에서 LSB 데이터 비트만 바뀌도록 프로그램하는 과정을 통해 선택된 메모리 셀은 데이터'10'을 저장하도록 프로그램된다. 데이터 '10'에서 MSB 데이터 비트만 바뀌도록 프로그램하는 과정을 통해 선택된 메모리 셀은 데이터'00'을 저장하도록 프로그램된다. 데이터 '11'에서 MSB 데이터 비트만 바뀌도록 프로그램하는 과정을 통해 선택된 메모리 셀은 데이터 '01'을 저장하도록 프로그램된다. 이러한 과정을 통해 메모리 셀들은 프로그램 동작시 각각 데이터 '11', 데이터 '01', 데이터 '10', 및 데이터 '00'중 어느 하나를 저장할 수 있다.
도 5에 도시된 메모리 셀(MC1)의 문턱 전압 산포는 설명의 편의를 위해 문턱 전압 산포들(11,12)만 도시하였다. 도 5를 참조하면, 먼저 프로그램된 메모리 셀(MC1)은 데이터 '01'로 프로그램된 상태이다. 따라서, 메모리 셀(MC1)에 프로그램된 MSB 데이터 비트는 '0' 이다.
메모리 셀들(MC2,MC3,MC4)은 전술한 바와 같이, 각각 데이터 '11', 데이터'01', 데이터 '10', 및 데이터 '00'중 어느 하나를 저장할 수 있다. 도 5에 도시된 바와 같이, 메모리 셀들(MC2,MC3,MC4)이 데이터 '11'에서 데이터 '10'으로 프로그램될 경우, 메모리 셀들(MC2,MC3,MC4)의 문턱 전압 산포(10)는 문턱 전압 산포(12)로 시프트 된다. 메모리 셀들(MC2,MC3,MC4)이 데이터 '10'에서 데이터 '00'으로 프로그램될 경우, 메모리 셀들(MC2,MC3,MC4)의 문턱 전압 산포(12)는 문턱 전압 산포(13)로 시프트 된다. 메모리 셀들(MC2,MC3,MC4)이 데이터 '11'에서 데이터 '01' 으로 프로그램될 경우, 메모리 셀들(MC2,MC3,MC4)의 문턱 전압 산포(10)는 문턱 전압 산포(11)로 시프트 된다. 따라서, 프로그램 동작에 따른 메모리 셀들(MC2,MC3,MC4)의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태는 데이터 '10'이다. 프로그램 동작에 따른 메모리 셀들(MC2,MC3,MC4)이 데이터 '10'을 저장하도록 프로그램될 경우, 문턱 전압 변화량(△V1)은 도 5에 도시된 바와 같다.
기준 전압(Verf)은 기준전압들(Vref1,Vref2)을 포함한다. 기준전압들(Vref1,Vref2)은 프로그램 동작에 따른 메모리 셀들(MC2,MC3,MC4)의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이다. 즉, 기준 전압들(Vref1,Vref2)은 데이터 '10' 상태를 읽는데 사용되는 읽기 전압이다. 따라서, 연속적인 4 번의 읽기 동작에 따른 메모리 셀들(MC2,MC3,MC4)에 대한 읽기 동작시, 기준 전압들(Vref1,Vref2)을 기준으로 읽기 동작이 수행된다.
메모리 셀이 데이터 '10' 상태에 대응하는 문턱 전압 산포(12)를 갖도록 프로그램 됐을 경우, 기준 전압(Vref1)을 기준으로 문턱 전압 산포(12)는 오프셀로 판별되고, 기준 전압(Vref2)을 기준으로 문턱 전압 산포(12)는 온 셀로 판별된다. 이러한 경우, 독출되는 데이터 비트는 0 또는 1이 될 수 있다. 메모리 셀이 데이터 '11', 데이터 '01', 또는 데이터 '00' 상태들에 대응하는 문턱 전압 산포들(10,11,13)을 가질 경우, 기준 전압(Vref1)을 기준으로 문턱 전압 산포들(10,11)는 온셀로 판별되고, 기준 전압(Vref2)을 기준으로 문턱 전압 산포(13)는 오프 셀로 판별된다.
메모리 셀들(MC2,MC3,MC4)이 데이터 '10' 상태에 대응하는 문턱 전압 산포(12)를 갖도록 프로그램된 상태일 경우, 메모리 셀들(MC2,MC3,MC4)로부터 독출되는 데이터 비트들은 모두 최대 문턱 전압 변화를 갖는 값을 갖는다. 즉, 메모리 셀들(MC2, MC3, MC4)은 문턱 전압의 변화량이 가장 큰 데이터 상태로 프로그램된 상태이다. 이러한 경우, 메모리 셀(MC1)은 워스트 커플링 영향을 받으며, 전술한 바와 같이, 메모리 셀(MC1)의 MSB 데이터 비트의 산포도는 워스트 커플링 영향에 의해 도 5에 도시된 바와 같이 확장된다. 도 5에 도시된 메모리 셀(MC1)의 문턱 전압 산포를 참조하면, 메모리 셀(MC1)의 MSB 데이터 비트의 문턱전압 산포폭은 점선만큼 증가되어 있다. 데이터 '01' 상태로 프로그램된 메모리 셀(MC1)의 문턱 전압 산포는 워스트 커플링 영향에 의해 MSB 읽기 전압(MSB Vread2)을 넘어서서 에러구간(read error) 까지 증가되어 있다. 즉, 메모리 셀(MC1)의 MSB 데이터 비트의 문턱 전압 산포폭은 MSB 읽기 전압(MSB Vread2)을 넘어선 상태이다. 이러한 경우, 읽기 동작시 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 에러 비트로 검출될 확률이 매우 높다. 즉, 메모리 셀(MC1)은 페일 상태이며, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 에러구간(read error)에서 독출될 확률이 매우 높다. 따라서, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 '0'이 아니라 '1'이 된다.
산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 제공된 데이터 비트들이 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 제 1 버퍼(211)로부터 제공받은 데이터 비트를 반전한다. 그 외의 경우에, 산술 논리 장치(220)는, 제 1 버퍼(211)로부터 제공받은 데이터 비트를 반전하지 않는다.
메모리 셀들(MC2,MC3,MC4)이 데이터 '10' 상태에 대응하는 문턱 전압 산포(12)를 갖도록 프로그램된 상태이므로, 메모리 셀들(MC2,MC3,MC4)로부터 독출되는 데이터 비트들은 모두 최대 문턱 전압 변화를 갖는 값을 갖는다. 산술 논리 장치(220)는 제 2 내지 제 4 버퍼들(212~214)로부터 제공된 데이터 비트들이 모두 최대 문턱 전압 변화를 갖는 값을 갖으므로, 앞서 설명한 과정을 통해 제 1 버퍼(211)로부터 제공받은 데이터 비트 '1' 을 데이터 비트 '0'으로 반전시킨다. 즉, 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트는 산술 논리 장치(220)를 통해 '0'로 정정된다.
메모리 셀들(MC2,MC3,MC4)중 적어도 하나의 메모리 셀이 데이터 '10' 상태에 대응하는 문턱 전압 산포(12)를 갖도록 프로그램된 상태가 아닐 경우, 산술논리 장치(220)는 제 1 버퍼(211)로부터 제공받은 데이터 비트를 반전하지 않는다. 메모리 셀(MC1)은 워스트 커플링 영향을 받지 않더라도 인접한 메모리 셀들(MC2,MC3,MC4)에 의한 커플링 영향을 받는다. 따라서, 메모리 셀(MC1)에 대한 독출 동작시, 에러 발생 확률은 존재한다. 산술 논리 장치(220)는 제 1 버퍼(211)로부터 제공받은 메모리 셀(MC1)의 MSB 데이터 비트를 에러 정정 회로(230)에 제공한다. 에러 정정 회로(230)는 ECC에 의거하여 산술 논리 장치(220)로부터 제공받은 데이터 비트들 중 에러 비트를 검출하고, 정정한다.
전술한 에러 정정 방법은 데이터 '01' 상태로 프로그램된 메모리 셀(MC1)의 MSB 데이터 비트 값이 워스트 커플링 영향에 '1'로 독출됐을 경우(즉, 페일 상태) 에 대한 설명이다. 그러나, 메모리 셀(MC1)이 데이터 '11' 및 데이터 '10 상태로 프로그램 됐을 경우에도 전술한 에러 정정 방법이 적용된다. 즉, 도 4에 도시된 문턱 전압 산포도(10,11)를 참조하면, 메모리 셀(MC1)이 데이터 '11' 상태로 프로그램되고, 메모리 셀(MC1)의 MSB 데이터 비트 값이 워스트 커플링 영향에 '0'로 독출될 경우, 전술한 에러 정정 방법이 적용된다. 역시, 도 4에 도시된 문턱 전압 산포도(12,13)를 참조하면, 메모리 셀(MC1)이 데이터 '10' 상태로 프로그램되고, 메모리 셀(MC1)의 MSB 데이터 비트 값이 워스트 커플링 영향에 '0'로 독출될 경우, 전술한 에러 정정 방법이 적용된다.
도 4에 도시된 문턱 전압 산포(13)를 참조하면, 메모리 셀(MC1)이 데이터'00' 상태로 프로그램됐을 경우, 읽기 동작시, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트 값은 '0' 이다. 도 5에 도시하지 않았으나, 이때, 메모리 셀(MC1)이 전술한 워스트 커플링 영향을 받더라도, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트 값은 '0' 이다. 이러한 경우, 산술 논리 장치(220)는 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트 값을 '1'로 반전하므로, 산술 논리 장치(220)를 통해 정정된 메모리 셀(MC1)의 MSB 데이터 비트는 에러 비트가 된다. 에러 정정 회로(230)는 산술 논리 장치(220)를 통해 제공된 MSB 데이터 비트의 에러 상태를 검출하고, 정정한다.
도 5에 도시하지 않았으나, 프로그램된 메모리 셀들(MC2, MC3, MC4)의 커플링 영향에 의해 메모리 셀(MC1)의 LSB 데이터 비트는 에러 상태로 독출될 수 있다. LSB 읽기 동작 모드시, 독출되는 메모리 셀(MC1)의 LSB 데이터 비트는 전술한 바와 같이, 산술 논리 장치(220)에 제공되지 않고, 에러 정정 회로(230)로 제공된다. 에러 정정 회로(230)는 ECC에 의거하여 제공받은 LSB 데이터 비트들 중 에러 비트를 검출하고, 정정한다.
도 6은 본 발명의 제 2 실시 예에 따른 플래시 메모리 시스템의 블록도이다.
도 6을 참조하면, 본 발명의 제 2 실시 예에 따른 플래시 메모리 시스템(2000)의 플래시 메모리(100)는 메모리 셀들로부터 데이터 비트들을 감지하는 제 1 내지 제 4 페이지 버퍼(131~134) 및 산술 논리 장치(170)를 포함하며, 메모리 컨트롤러(200)는 도 1에 도시된 제 1 내지 제 4 버퍼(211~214) 및 산술 논리 장치(230)를 포함하지 않는다. 이러한 구성을 제외하면, 도 6에 도시된 플래시 메모리 시스템(2000)은 도 1에 도시된 플래시 메모리 시스템(1000)과 각 구성이 동일하다. 따라서, 동일한 구성은 각각 동일한 부호를 사용하였다. 제 1 내지 제 4 페이지 버퍼(131~134)를 포함하는 페이지 버퍼 회로(130)는 페이지 버퍼 블록을 구성한다.
도 6에 도시된 플래시 메모리 시스템(2000)의 읽기 동작은 도 1에 도시된 플래시 메모리 시스템(1000)의 읽기 동작과 실질적으로 같으며, 다른 점은 다음과 같다.
도 3 및 도 6을 참조하면, 메모리 셀(MC1)의 MSB 데이터 비트 읽기 동작시, 메모리 셀(MC1)의 MSB 데이터 비트 및 메모리 셀들(MC2, MC3, MC4)의 데이터 비트들은 프로그램된 순서에 따라서 각각 대응하는 제 1 내지 제 4 페이지 버퍼들(131~134)을 통해 감지된다. 메모리 셀들(MC2, MC3, MC4)은 전술한 바와 같이, 기준 전압들(Vref1,Vref2)을 기준으로 독출된다. 메모리 셀(MC1)의 LSB 데이터 비트 읽기 동작시, 메모리 셀(MC1)의 LSB 데이터 비트는 제 1 페이지 버퍼(131)를 통해 감지된다.
제어로직(150)의 제어에 의해 제 1 페이지 버퍼(131)를 통해 감지된 메모리 셀(MC1)의 MSB 데이터 비트 및 제 2 내지 제 4 페이지 버퍼(132~134)를 통해 감지된 메모리 셀들(MC2, MC3, MC4)의 데이터 비트들은 산술 논리 장치(220)에 제공된다. 제어로직(150)의 제어에 의해 제 1 페이지 버퍼(131)를 통해 감지된 메모리 셀(MC1)의 LSB 데이터 비트는 플래시 메모리 컨트롤러(200)에 제공된다. 이후 독출된 데이터 비트들의 에러 정정 과정은 도 1에 도시된 플래시 메모리 시스템(1000)의 에러 비트 정정 과정과 동일하므로 설명을 생략한다.
도 7은 본 발명의 제 1 및 제 2 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도이다.
도 7 및 전술한 플래시 메모리 시스템(1000)의 동작을 참조하면, 먼저 프로그램된 메모리 셀(MC1)의 MSB 데이터 비트 읽기 동작 모드시, 메모리 셀(MC1)로부터 MSB 데이터 비트가 독출되며, 기준전압들(Vref1,Vref2)을 기준으로 메모리 셀들(MC2,MC3,MC4)로부터 데이터 비트들이 독출된다(S110).
산술 논리 장치(220)는 메모리 셀들(MC2,MC3,MC4)로부터 독출된 데이터 비트들을 비교하고, 비교 결과에 따라서 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트를 정정한다(S120). 에러 정정 회로(230)에서는 2차 에러 정정이 수행된다(S130). 즉, 에러 정정 회로(230)는 ECC에 의거하여 산술 논리 장치(220)로부터 제공받은 데이터 비트들 중 에러 비트를 검출하고, 정정한다. 또한, 단계(S110)에서 메모리 셀(MC1)의 LSB 데이터 비트 읽기 동작 모드시, 메모리 셀(MC1)로부터 독출된 LSB 데이터 비트는 에러 정정 회로(230)에 제공된다. 에러 정정 회로(230)는 ECC에 의거하여 메모리 셀(MC1)로부터 독출된 LSB 데이터 비트들 중 에러 비트들을 검출하고, 정정한다(S130). 에러 정정 회로(230)는 제공받은 데이터비트들 중 에러 비트들을 정정한 후, 데이터 비트들을 외부로 출력한다(S140).
결과적으로, 본 발명의 제 1 및 제 2 실시예에 따른 플래시 메모리 시스템(1000,2000)은 산술 논리 장치(220 또는 170)를 통해 미리 정해진 조건에 따라서 데이터 비트들을 정정한다. 플래시 메모리 시스템들(1000,2000)은 산술 논리 장치(220 또는 170)를 통해 에러 정정 회로(230)에서 정정할 에러비트 수를 감소시킬 수 있으므로, 에러 정정 회로(230)의 부담을 줄일 수 있다.
도 8은 본 발명의 제 3 실시 예에 따른 플래시 메모리 시스템의 블록도이다.
도 8에 도시된 플래시 메모리 시스템(3000)의 플래시 메모리(100)는 멀티 비트 플래시 메모리 장치이다. 이하, 플래시 메모리(100)는 2-비트 데이터를 저장할 수 있는 2-비트 플래시 메모리 장치를 실시 예로 설명한다. 그러나, 본 발명의 실시 예는 여기에 한정되지 않음은 이 분야의 통상의 지식을 가진 이들에게 자명하다.
도 8을 참조하면, 본 발명의 제 3 실시 예에 따른 플래시 메모리 시스템(3000)의 플래시 메모리 컨트롤러(200)는 제 1 내지 제 5 버퍼들(211~215)을 포함한다. 이러한 구성을 제외하면, 도 8에 도시된 플래시 메모리 시스템(3000)은 도 1에 도시된 플래시 메모리 시스템(1000)과 각 구성이 동일하다. 따라서, 동일한 구성은 각각 동일한 부호를 사용하였다.
도 3에 도시된 메모리 셀들(MC1,MC2,MC3,MC4)의 프로그램 순서를 참조하면, 도 8에 도시된 제 3 실시 예에 따른 플래시 메모리 시스템(3000)은 메모리 셀(MC1)에 대한 읽기 동작시, 메모리 셀들(MC2,MC3,MC4)에 대한 읽기 동작을 수행한다. 즉, 플래시 메모리 시스템(3000)은 메모리 셀(MC1)에 저장된 MSB 데이터 비트 및 LSB 데이터 비트를 독출하고, 기준 전압들(Vref1,Vref2)을 기준으로 메모리 셀들(MC2,MC3,MC4)에 대한 읽기 동작을 수행한다. 이하, 메모리 셀들(MC1,MC2,MC3,MC4)로부터 데이터 비트들을 독출하는 과정은 도 1 및 도 6에 도시된 플래시 메모리 시스템들(1000,2000)의 읽기 동작과 동일하므로 설명을 생략한다.
메모리 셀(MC1)로부터 독출된 MSB 데이터 비트 및 LSB 데이터 비트들은 각각 대응되는 플래시 메모리 컨트롤러(200)의 제 1 버퍼 및 제 2 버퍼들(211,212)에 제공된다. 메모리 셀들(MC2,MC3,MC4)로부터 독출된 데이터 비트들은 각각 대응되는 플래시 메모리 컨트롤러(200)의 제 3 내지 제 5 버퍼들(213~215)에 제공된다.
산술 논리 장치(220)는 제 1 내지 제 5 버퍼들(211~215)로부터 데이터 비트들을 제공받는다. 산술 논리 장치(220)는 제 3 내지 제 5 버퍼(213~215)로부터 제공받은 데이터 비트들을 비교하고, 비교결과에 따라서, 제 1 및 제 2 버퍼들(211,212)로부터 제공받은 데이터 비트들을 정정한다. 즉, 산술 논리 장치(220)는 메모리 셀(MC1)로부터 독출된 MSB 및 LSB 데이터 비트들을 모두 정정할 수 있 다. 이하, 에러 정정 과정은 도 1 및 도 6에 도시된 플래시 메모리 시스템들(1000,2000)의 에러 정정 과정과 실질적으로 동일하므로 설명을 생략한다.
도 9는 본 발명의 제 3 실시 예에 따른 에러 정정 발명을 설명하기 위한 메모리 셀의 예시적인 산포도이다.
도 9에 도시된 산포도는 2-비트 데이터를 저장할 수 있는 메모리 셀의 산포도이다. 그러나, 본 발명에 따른 플래시 메모리 시스템(3000)의 메모리 셀은 m-bit 데이터(m은 3 또는 그보다 큰 정수)를 저장할 수도 있다. 도 9에 도시된 읽기 전압들(Vread1,Vread2,Vread3)은 각각 MSB 읽기 전압을 포함한다. 읽기 전압(Vread2)은 LSB 읽기 전압을 더 포함한다.
도 9에 도시된 산포도에 따른 플래시 메모리 셀의 프로그램 및 읽기 동작은 앞서 설명하였으므로 생략한다.
도 8 및 도 9를 참조하여 산술 논리 장치의 에러 정정 방법을 설명하면 다음과 같다.
메모리 셀들(MC2,MC3,MC4)의 커플링 영향에 의해 메모리 셀(MC1)의 문턱 전압 산포는 도 9 에 도시된 바와 같이 점선으로 확장될 수 있다. 확장된 문턱 전압 산포의 에러 구간들(a,b,c)에서 독출되는 데이터 비트들은 에러 상태이다. 프로그램 동작에 따른 데이터 상태 변화시, 문턱 전압의 변화량이 가장 큰 데이터 상태로 메모리 셀들(MC2, MC3, MC4)이 프로그램됐을 경우, 메모리 셀(MC1)로부터 독출되는 데이터 비트는 워스트 커플링 영향에 의해 에러 비트로 검출될 확률이 가장 높다. 즉, 메모리 셀(MC1)은 페일 상태이며, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 에러구간(a,b,c)에서 독출될 확률이 매우 높다. 이러한 경우, 산술 논리 장치(220)는 제 1 및 제 2 버퍼(211,212)로부터 제공받은 메모리 셀(MC1)의 데이터 비트들을 하위 상태로 변경한다.
예를들어, 메모리 셀(MC1)은 문턱 전압 산포(11)에 대응하는 데이터 '01' 상태로 프로그램되었다고 가정한다. 메모리 셀(MC1)이 인접한 메모리 셀들(MC2, MC3, MC4)의 워스트 커플링 영향에 의해 페일 상태일 경우, 메모리 셀(MC1)로부터 독출된 데이터 비트는 문턱 전압 산포(12)에 대응되는 데이터 '10'이 된다. 산술 논리 장치(220)는 제 1 및 제 2 버퍼(211,212)로부터 제공받은 페일 상태인 메모리 셀(MC1)의 데이터를 하위상태인 문턱 전압 산포(11)에 대응하는 데이터 '01'로 변경한다. 역시, 메모리 셀(MC1)이 데이터 '11' 및 데이터 '10' 상태로 프로그램되고, 인접한 메모리 셀들(MC2, MC3, MC4)의 워스트 커플링 영향에 의해 페일 상태일 경우, 전술한 바와 같이, 산술 논리 장치(220)에 의해 메모리 셀(MC1)로부터 독출된 데이터 비트들은 하위 상태로 변경된다.
메모리 셀(MC1)이 데이터 '00' 상태로 프로그램되고, 메모리 셀(MC1)이 인접한 메모리 셀들(MC2, MC3, MC4)의 워스트 커플링 영향에 의해 페일 상태일 경우, 전술한 플래시 메모리 시스템(1000)의 에러 정정 방법과 같이 메모리 셀(MC1)로부터 독출된 데이터 비트는 에러 정정 회로(230)에서 정정된다.
도 10은 본 발명의 제 4 실시 예에 따른 플래시 메모리 시스템의 블록도이다.
도 10을 참조하면, 본 발명의 제 4 실시 예에 따른 플래시 메모리 시스 템(4000)의 플래시 메모리(100)는 제 1 내지 제 5 페이지 버퍼(131~135) 및 산술 논리 장치(170)를 포함한다. 이러한 구성을 제외하면, 도 10에 도시된 플래시 메모리 시스템(4000)은 도 8에 도시된 플래시 메모리 시스템(3000)과 각 구성이 동일하다.
메모리 셀(MC1)에 대한 읽기 동작시 메모리 셀(MC1)로부터 독출된 MSB 및 LSB 데이터는 대응되는 제 1 및 제 2 페이지 버퍼(131,132)를 통해 감지된다. 기준 전압들(Vref1,Vref2)을 기준으로 메모리 셀들(MC2,MC3,MC4)로부터 독출되는 데이터 비트들은 제 3 내지 제 5 페이지 버퍼(133~135)를 통해 감지된다. 이하 제 4 실시 예에 따른 플래시 메모리 시스템(4000)의 메모리 셀들에 대한 읽기 동작 및 에러 정정 방법은 전술한 제 3 실시 예에 따른 플래시 메모리 시스템(3000)과 같다.
도 11은 본 발명의 제 3 및 제 4 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도이다.
도 11 및 전술한 플래시 메모리 시스템들(3000,4000)의 동작을 참조하면, 먼저 프로그램된 메모리 셀(MC1)에 대한 읽기 동작시 메모리 셀(MC1)로부터 데이터 비트들이 독출되며, 기준전압들(Vref1,Vref2)을 기준으로 메모리 셀들(MC2,MC3,MC4)로부터 데이터 비트들이 독출된다(S210).
산술 논리 장치(170 또는 220)는 메모리 셀들(MC2,MC3,MC4)로부터 독출된 데이터 비트들을 비교하고, 비교 결과에 따라서 메모리 셀(MC1)로부터 독출된 데이터 비트들을 하위 상태의 문턱 전압 산포에 대응하는 데이터 비트들로 정정한다(S220). 에러 정정 회로(230)에서는 2차 에러 정정이 수행된다(S230). 즉, 에러 정정 회로(230)는 ECC에 의거하여 산술 논리 장치(170 또는 220)로부터 제공받은 데이터 비트들 중 에러 비트를 검출하고, 정정한다. 또한, 단계(S210)에서 메모리 셀들(MC2,MC4)에 대한 읽기 동작 모드시 메모리 셀들(MC2,MC4)로부터 독출된 데이터 비트들은 에러 정정 회로(230)에 제공된다. 에러 정정 회로(230)는 ECC에 의거하여 메모리 셀들(MC2,MC4)로부터 독출된 데이터 비트들 중 에러 비트들을 검출하고, 정정한다(S230). 에러 정정 회로(230)는 제공받은 데이터비트들 중 에러 비트를 정정한 후, 데이터 비트들을 외부로 출력한다(S240).
메모리 셀(MC3)에 대한 독출 과정은, 플래시 메모리 시스템(1000)의 읽기 동작을 참조하면, 메모리 셀(MC1)에 대한 독출과정과 같다.
결과적으로, 본 발명의 제 3 및 제 4 실시 예에 따른 플래시 메모리 시스템들(3000,4000)은 산술 논리 장치(220 또는 170)를 통해 미리 정해진 조건에 따라서 데이터 비트들을 정정한다. 플래시 메모리 시스템들(3000.4000)은 산술 논리 장치(220 또는 170)를 통해 에러 정정 회로(230)에서 정정할 에러비트 수를 감소시킬 수 있으므로, 에러 정정 회로(230)의 부담을 줄일 수 있다.
도 12는 본 발명의 제 5 실시 예에 따른 플래시 메모리 시스템의 블록도이다.
도 12를 참조하면, 본 발명의 제 5 실시 예에 따른 플래시 메모리 시스템(5000)은 산술 논리 장치(220)를 포함하지 않는 것을 제외하면, 도 1에 도시된 플래시 메모리 시스템(1000)과 각 구성이 동일하다. 플래시 메모리 시스템(5000)의 읽기 동작은 전술한 플래시 메모리 시스템(1000)의 읽기 동작과 동일하므로, 읽기 동작에 대한 설명은 생략된다.
도 12를 참조하면, 메인 컨트롤러(240)는 제 1 내지 제 4 버퍼들(211~214)로부터 데이터 비트들을 제공받고, 제 2 내지 제 4 버퍼들(212~214)로부터 제공받은 데이터 비트들을 비교한다. 전술한 메모리 시스템(1000)의 에러 정정 방법을 참조하면, 기준 전압들(Vref1,Vref2)을 기준으로 독출된 메모리 셀들(MC2, MC3, MC4)의 데이터 비트들이 모두 같은 값이면 메모리 셀(MC1)은 워스트 커플링 영향을 받은 상태이다. 이때, 메모리 셀(MC1) 및 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 이레이셔 상태(erasure state)라 한다. 이레이셔 상태(erasure state)는 메모리 셀로부터 독출되는 데이터의 신뢰성이 떨어지므로, 정확한 데이터 값을 알수 없는 상태를 의미한다. 이러한 경우, 메모리 셀(MC1)로부터 독출되는 MSB 데이터 비트는 에러 비트로 검출될 확률이 매우 높다.
메인 컨트롤러(240)는 제 2 내지 제 4 버퍼들(142~143)로부터 제공받은 데이터 비트들이 모두 같은 값이면, 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트를 이레이셔 상태로 판별한다. 메인 컨트롤러(240)는 이레이셔 상태 정보를 에러 정정 회로(230)에 제공한다.
에러 정정 회로(230)는 읽기 동작시 페이지 버퍼 회로(130)로부터 데이터 및 ECC 데이터를 전송받고, ECC 데이터에 의거하여 전송된 데이터에 에러가 있는지의 여부를 검출하고, 정정한다. 이때, 에러 정정 회로(230)는 에러 상태 비트에 대한 정보를 알지 못한 상태에서, 독출된 데이터 및 ECC 데이터를 비교하여 에러 상태의 비트를 검출한다. 그러나, 전술한 바와 같이 메인 컨트롤러(240)를 통해 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트에 대한 이레이셔 상태 정보를 제공받을 경우, 에러 상태로 검출될 데이터 비트에 대한 정보를 제공받을 수 있다. 따라서, 에러 정정 회로(230)는 이레이셔 상태 정보를 이용하여 원래의 정정 능력보다 더 많은 수의 에러를 검출/정정 할수 있다. 이는 에러 정정 회로(230)의 성능이 향상됨을 의미한다.
도 13은 본 발명의 제 5 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도이다.
도 13 및 전술한 플래시 메모리 시스템(5000)의 동작을 참조하면, 먼저 프로그램된 메모리 셀(MC1)의 MSB 데이터 비트 읽기 동작모드시 메모리 셀(MC1)로부터 MSB 데이터 비트가 독출되며, 기준전압들(Vref1,Vref2)을 기준으로 메모리 셀들(MC2,MC3,MC4)로부터 데이터 비트들이 독출된다(S310).
메인 컨트롤러(240)는 메모리 셀들(MC2,MC3,MC4)로부터 독출된 데이터 비트들을 비교하고, 비교 결과에 따라서 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트의 이레이셔 상태를 판별한다(S320). 메인 컨트롤러(240)는 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트가 이레이셔 상태일 경우, 이레이셔 상태 정보를 에러 정정 회로(230)에 제공한다(S330). 에러 정정 회로(230)는 이레이셔 상태 정보 및 ECC에 의거하여 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트에 대한 에러 상태를 검출하고, 정정한다(S340). 단계(S310)에서 메모리 셀(MC1)의 LSB 데이터 비트 읽기 동작 모드시 메모리 셀(MC1)로부터 독출된 LSB 데이터 비트는 에러 정정 회로(230)에 제공된다. 에러 정정 회로(230)는 메모리 셀(MC1)로부터 독출된 LSB 데이터 비트들 중 에러 비트들을 검출하고, 정정한다(S340). 단계(S320)에서 메모리 셀(MC1)로부터 독출된 MSB 데이터 비트가 이레이셔 상태가 아닐 경우, 에러 정정 회로(230)는 ECC에 의거하여 메모리 셀(MC1)로부터 독출된 LSB 데이터 비트들 중 에러 비트들을 검출하고, 정정한다(S340).
결과적으로 본 발명의 제 5 실시예에 따른 플래시 메모리 시스템(5000)은 메인 컨트롤러(240)로부터 제공된 이레이셔 상태 정보를 이용하여 원래의 정정 능력보다 더 많은 수의 에러를 검출/정정 할수 있다. 따라서, 플래시 메모리 시스템(5000)은 에러 정정 회로(230)의 성능을 향상시킬 수 있다.
도 14는 본 발명에 따른 플래시 메모리 장치 및 플래시 메모리 컨트롤러를 포함한 컴퓨팅 시스템을 개략적으로 도시한 도면이다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불 휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다. 본 발명에 따른 플래시 메모리 장치(100) 및 플래시 메모리 컨트롤러(200)를 포함한 컴퓨팅 시스템이 도 14에 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템은 버스(30)에 전기적으로 연결된 마이크로프로세서(400), 사용자 인터페이스(500), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(300), 플래시 메모리 컨트롤러(200), 그리고 플래시 메모리 장치(100)를 포함한다. 플래시 메 모리 컨트롤러(200)와 플래시 메모리 장치(100)는 도 1, 도 6, 도 8, 도 10, 및 도 12에 도시된 것 중 어느 하나와 실질적으로 동일하게 구성될 것이다. 플래시 메모리 장치(100)에는 마이크로프로세서(400)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 플래시 메모리 컨트롤러(200)를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(600)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 플래시 메모리 시스템의 블록도;
도 2는 도 1에 도시된 메모리 셀 어레이를 보여주는 회로도;
도 3은 도 2에 도시된 메모리 셀들에 대한 프로그램 순서를 보여주는 도면;
도 4는 도 2에 도시된 메모리 셀들의 예시적인 프로그램 상태를 보여주는 산포도 및 읽기 방법을 설명하기 위한 도면;
도 5는 워스트 커플링 효과 및 기준 전압 설정을 설명하기 위한 메모리 셀들의 예시적인 산포도를 보여주는 도면;
도 6은 본 발명의 제 2 실시 예에 따른 플래시 메모리 시스템의 블록도;
도 7은 본 발명의 제 1 및 제 2 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도;
도 8은 본 발명의 제 3 실시 예에 따른 플래시 메모리 시스템의 블록도;
도 9는 본 발명의 제 3 실시 예에 따른 에러 정정 발명을 설명하기 위한 메모리 셀의 예시적인 산포도;
도 10은 본 발명의 제 4 실시 예에 따른 플래시 메모리 시스템의 블록도;
도 11은 본 발명의 제 3 및 제 4 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도;
도 12는 본 발명의 제 5 실시 예에 따른 플래시 메모리 시스템의 블록도;
도 13은 본 발명의 제 5 실시 예에 따른 플래시 메모리 시스템의 에러 정정 방법을 설명하기 위한 순서도; 그리고
도 14는 본 발명에 따른 플래시 메모리 장치 및 플래시 메모리 컨트롤러를 포함한 컴퓨팅 시스템을 개략적으로 도시한 도면이다.
<도면의 주요 부분에 대한 부호 설명>
1000~5000: 플래시 메모리 시스템 100: 플래시 메모리
110: 메모리 셀 어레이 120: 행 선택회로
130: 페이지 버퍼 회로 140: 열 선택회로
150: 제어로직 160: 전압 발생 회로
131~134: 제 1 내지 제 4 페이지 버퍼
200: 플래시 메모리 컨트롤러 211~214: 제 1 내지 제 4 버퍼
170,220: 산술 논리 장치 230: 에러 정정 회로
240: 메인 컨트롤러 300: 모뎀
400: 마이크로 프로세서 500: 유저 인터페이스
600: 배터리

Claims (73)

  1. 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 읽기 회로와; 그리고 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때, 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터가 연속적으로 읽혀지도록 상기 읽기 회로를 제어하는 제어 로직을 포함하는 멀티-비트 플래시 메모리 장치와;
    상기 멀티-비트 플래시 메모리 장치로부터 제공받은 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터와 최대 문턱 전압 변화를 가지는 데이터 값을 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 플래시 메모리 컨트롤러를 포함하는 플래시 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 읽기 회로는
    상기 선택된 메모리 셀들에 인접한 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 제 1 및 제 2 기준 전압들, 그리고 상기 선택된 메모리 셀들에 대한 읽기 동작시 선택된 행에 인가되는 최상위 읽기 전압을 발생하도록 구성된 전압 발생회로와;
    상기 행들을 선택하도록 그리고 상기 선택된 행을 상기 제 1 기준 전압, 상기 제 2 기준 전압, 및 상기 최상위 읽기 전압들 중 하나로 구동하도록 구성된 행 선택 회로와; 그리고
    상기 선택된 행의 메모리 셀들로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 포함하고,
    상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압이고,
    상기 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 제 1 및 제 2 기준 전압들을 기준으로 독출되는 플래시 메모리 시스템.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 플래시 메모리 컨트롤러는
    상기 선택된 메모리 셀들로부터 읽혀진 데이터와 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 저장하는 버퍼 블록과;
    상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 비교하고, 상기 비교 결과에 따라서 상기 버퍼블록을 통해 제공받은 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 산술 논리 장치와; 그리고
    상기 산술 논리 장치부터 제공되는 상기 정정된 데이터의 에러를 검출 및 정정하는 에러 정정 회로를 포함하고,
    상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정 또는 반전하고, 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터 중 적어도 하나가 상기 최대 문턱 전압 변화를 갖는 값을 갖지 않을때, 상기 산술 논리 장치는 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하지 않는 플래시 메모리 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제 5 항에 있어서,
    상기 제어 로직은 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하도록 읽기 회로를 제어하며, 상기 읽기 회로로부터 제공된, 상기 선택된 메모리 셀들로부터 읽혀진 데이터는 상기 버퍼 블록을 통해 또는 직접 상기 에러 정정 회로로 전송되는 플래시 메모리 시스템.
  10. 제 5 항에 있어서,
    상기 메모리 셀들로부터 읽혀진 데이터는 에러 정정 코드를 포함하며,
    상기 에러 정정 회로는 상기 에러 정정 코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터의 에러를 검출 및 정정하도록 구성되는 플래시 메모리 시스템.
  11. 제 1 항에 있어서,
    상기 열들 각각은 제 1 및 제 2 비트 라인들로 구성되고,
    상기 선택된 메모리 셀들은 상기 선택된 행과 제 1 비트 라인들에 연결되며, 상기 선택된 메모리 셀들에 인접한 메모리 셀들은 상기 선택된 행과 제 2 비트 라인들에 연결된 제 1 메모리 셀들, 상기 선택된 행의 상위 행과 제 1 비트 라인들에 연결된 제 2 메모리 셀들, 그리고 상기 선택된 행의 상위 워드 라인과 제 2 비트 라인들에 연결된 제 3 메모리 셀들을 포함하는 플래시 메모리 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 행들과 열들로 배열된 메모리 셀들을 갖는 플래시 메모리 시스템의 독출된 데이터 비트의 에러 정정 방법은:
    (a) 선택된 메모리 셀들에 저장된 최상위 데이터에 대한 읽기 동작이 요구될 때 상기 선택된 메모리 셀들과 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 데이터를 연속적으로 읽는 단계;
    (b) 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터를 최대 문턱 전압 변화를 가지는 데이터 값과 비교하고, 상기 비교 결과에 따라서 상기 선택된 메모리 셀들로부터 읽혀진 데이터를 정정하는 단계; 및
    (c) 상기 메모리 셀들로부터 읽혀진 데이터에 포함된 에러정정코드에 의거하여 상기 선택된 메모리 셀들로부터 읽혀진 그리고 정정된 데이터를 정정하는 단계를 포함하는 플래시 메모리 시스템의 데이터 비트 정정 방법.
  26. 제 25 항에 있어서,
    상기 선택된 메모리 셀들에 인접한 메모리 셀들은 기준 전압을 기준으로 독출되고,
    상기 기준 전압은 제 1 및 제 2 기준 전압을 포함하고, 상기 제 1 및 제 2 기준전압들은 프로그램 동작에 따른 상기 선택된 메모리 셀들에 인접한 메모리 셀들의 데이터 상태 변화시 문턱 전압 변화량이 가장 큰 데이터 상태를 읽는데 사용되는 읽기 전압인 플래시 메모리 시스템의 데이터 비트 정정 방법.
  27. 삭제
  28. 제 25 항에 있어서,
    상기 (b) 단계는 상기 선택된 메모리 셀들에 인접한 메모리 셀들로부터 읽혀진 데이터가 모두 최대 문턱 전압 변화를 갖는 값을 가질때, 상기 선택된 메모리 셀들로부터 읽혀진 데이터가 반전되는 플래시 메모리 시스템의 데이터 비트 정정 방법.
  29. 제 25 항에 있어서,
    상기 (a) 단계는 상기 선택된 메모리 셀들에 대한 읽기 동작이 최상위 데이터에 대한 읽기 동작이 아닐 때, 상기 선택된 메모리 셀들에 대한 읽기 동작만을 수행하는 단계를 포함하는 플래시 메모리 시스템의 데이터 비트 정정 방법.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
KR1020070068681A 2007-07-09 2007-07-09 플래시 메모리 시스템 및 그것의 에러 정정 방법 Active KR101411976B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070068681A KR101411976B1 (ko) 2007-07-09 2007-07-09 플래시 메모리 시스템 및 그것의 에러 정정 방법
US12/169,109 US7791938B2 (en) 2007-07-09 2008-07-08 MSB-based error correction for flash memory system
JP2008178064A JP5280757B2 (ja) 2007-07-09 2008-07-08 フラッシュメモリシステム及びそのエラー訂正方法
US12/836,249 US8208298B2 (en) 2007-07-09 2010-07-14 MSB-based error correction for flash memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070068681A KR101411976B1 (ko) 2007-07-09 2007-07-09 플래시 메모리 시스템 및 그것의 에러 정정 방법

Publications (2)

Publication Number Publication Date
KR20090005549A KR20090005549A (ko) 2009-01-14
KR101411976B1 true KR101411976B1 (ko) 2014-06-27

Family

ID=40252957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070068681A Active KR101411976B1 (ko) 2007-07-09 2007-07-09 플래시 메모리 시스템 및 그것의 에러 정정 방법

Country Status (3)

Country Link
US (2) US7791938B2 (ko)
JP (1) JP5280757B2 (ko)
KR (1) KR101411976B1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
KR101486980B1 (ko) 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
KR101484556B1 (ko) * 2008-10-28 2015-01-20 삼성전자주식회사 독출 보상 회로
KR101642465B1 (ko) * 2008-12-12 2016-07-25 삼성전자주식회사 불휘발성 메모리 장치의 액세스 방법
US8386890B2 (en) * 2009-09-11 2013-02-26 Arm Limited Error correction for multilevel flash memory
US8228728B1 (en) * 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
KR101371516B1 (ko) * 2009-10-21 2014-03-10 삼성전자주식회사 플래시 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
JP5242603B2 (ja) 2010-01-13 2013-07-24 株式会社東芝 半導体記憶装置
US8508992B2 (en) * 2010-07-09 2013-08-13 SK Hynix Inc. Semiconductor memory device and method of operating the same
US8750062B2 (en) 2010-07-30 2014-06-10 Hewlett-Packard Development Company, L.P. Memory element and method for determining the data state of a memory element
TW201239893A (en) * 2011-03-25 2012-10-01 Silicon Motion Inc Method for enhancing data protection performance, and associated personal computer and storage medium
US8743615B2 (en) 2011-08-22 2014-06-03 Sandisk Technologies Inc. Read compensation for partially programmed blocks of non-volatile storage
US8681569B2 (en) * 2012-02-22 2014-03-25 Silicon Motion, Inc. Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof
US8839073B2 (en) 2012-05-04 2014-09-16 Lsi Corporation Zero-one balance management in a solid-state disk controller
US20140026003A1 (en) * 2012-07-23 2014-01-23 Zhengang Chen Flash memory read error rate reduction
KR101961318B1 (ko) 2012-09-07 2019-07-17 삼성전자주식회사 중앙처리장치에서의 점유시간을 최소화하는 방어코드 운영 방법 및 그에 따른 메모리 시스템
JP2014063555A (ja) 2012-09-24 2014-04-10 Toshiba Corp 不揮発性半導体記憶装置、及びその制御方法
US10204008B2 (en) 2012-12-21 2019-02-12 Hewlett Packard Enterprise Development Lp Memory module having error correction logic
KR102024033B1 (ko) * 2013-03-04 2019-09-24 삼성전자주식회사 이동 통신 시스템에서 메모리 제어 방법 및 장치
CN110232942B (zh) 2013-09-13 2023-01-03 铠侠股份有限公司 存储装置及其控制方法
US9003109B1 (en) * 2014-05-29 2015-04-07 SanDisk Technologies, Inc. System and method for distributed computing in non-volatile memory
US9672102B2 (en) * 2014-06-25 2017-06-06 Intel Corporation NAND memory devices systems, and methods using pre-read error recovery protocols of upper and lower pages
US9224492B1 (en) * 2015-02-17 2015-12-29 Phison Electronics Corp. Memory management method, memory storage device and memory controlling circuit unit
US10180878B2 (en) 2016-03-03 2019-01-15 Toshiba Memory Corporation Memory system for recording data and memory control method for recording data
US10204043B2 (en) 2016-03-08 2019-02-12 Toshiba Memory Corporation Memory controller, method of controlling nonvolatile memory and memory system
CN108109665A (zh) * 2018-01-12 2018-06-01 成都信息工程大学 一种存储器操作方法
TWI675374B (zh) * 2018-07-24 2019-10-21 群聯電子股份有限公司 位元判斷方法、記憶體控制電路單元以及記憶體儲存裝置
US11217326B2 (en) * 2019-12-16 2022-01-04 SK Hynix Inc. Semiconductor memory device, a controller, and operating methods of the semiconductor memory device and the controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100280457B1 (ko) 1998-03-28 2001-02-01 김영환 플래시 메모리의 데이터 리드 및 라이트하는 방법
KR100559716B1 (ko) 2004-04-01 2006-03-10 주식회사 하이닉스반도체 낸드 플래시 메모리 소자 및 이의 독출 방법
WO2006107729A1 (en) 2005-04-05 2006-10-12 Sandisk Corporation Compensating for coupling during read operations of non-volatile-memory

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3786508B2 (ja) 1996-11-05 2006-06-14 三星電子株式会社 不揮発性半導体メモリ装置
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6082056A (en) 1998-09-16 2000-07-04 Hoberman; Charles Reversibly expandable structures having polygon links
US6259627B1 (en) * 2000-01-27 2001-07-10 Multi Level Memory Technology Read and write operations using constant row line voltage and variable column line load
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
KR100512181B1 (ko) 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
US6914823B2 (en) * 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
KR101016432B1 (ko) * 2005-11-10 2011-02-21 샌디스크 코포레이션 타이밍 정보를 이용한 리버스 커플링 효과
US7369434B2 (en) * 2006-08-14 2008-05-06 Micron Technology, Inc. Flash memory with multi-bit read
KR100771882B1 (ko) * 2006-09-06 2007-11-01 삼성전자주식회사 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법
KR100850515B1 (ko) * 2007-01-24 2008-08-05 삼성전자주식회사 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
US7800943B2 (en) * 2008-01-18 2010-09-21 Qimonda Ag Integrated circuit having a memory cell arrangement and method for reading a memory cell state using a plurality of partial readings
US7843725B2 (en) * 2008-06-11 2010-11-30 Micron Technology, Inc. M+L bit read column architecture for M bit memory cells

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100280457B1 (ko) 1998-03-28 2001-02-01 김영환 플래시 메모리의 데이터 리드 및 라이트하는 방법
KR100559716B1 (ko) 2004-04-01 2006-03-10 주식회사 하이닉스반도체 낸드 플래시 메모리 소자 및 이의 독출 방법
WO2006107729A1 (en) 2005-04-05 2006-10-12 Sandisk Corporation Compensating for coupling during read operations of non-volatile-memory

Also Published As

Publication number Publication date
JP5280757B2 (ja) 2013-09-04
JP2009016034A (ja) 2009-01-22
KR20090005549A (ko) 2009-01-14
US7791938B2 (en) 2010-09-07
US8208298B2 (en) 2012-06-26
US20100277979A1 (en) 2010-11-04
US20090016103A1 (en) 2009-01-15

Similar Documents

Publication Publication Date Title
KR101411976B1 (ko) 플래시 메모리 시스템 및 그것의 에러 정정 방법
US11004520B2 (en) Nonvolatile semiconductor memory device including a memory cell array and a control circuit applying a reading voltage
US10714170B2 (en) Semiconductor memory device and memory system
US7545677B2 (en) Nonvolatile memory device and methods of programming and reading the same
US7751241B2 (en) Read method of memory device
US8897066B2 (en) Method of programming nonvolatile memory device
KR100888842B1 (ko) 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
US7561467B2 (en) Flash memory device using program data cache and programming method thereof
KR101391362B1 (ko) 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
KR101468099B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR101491829B1 (ko) 읽기 디스터번스를 방지하는 메모리 장치 및 그 방법
US20100128532A1 (en) Nonvolatile memory device and programming method
KR20090025631A (ko) 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
JP2007188625A (ja) プログラム方法
US8391076B2 (en) Nonvolatile memory device using interleaving technology and programming method thereof
US8472246B2 (en) Method of programming a multi-bit per cell non-volatile memory
JP2009295232A (ja) 半導体記憶装置およびその駆動方法

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070709

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

Patent event code: PA02012R01D

Patent event date: 20120709

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20070709

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: 20131120

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: 20140529

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140619

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140620

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220525

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20240527

Start annual number: 11

End annual number: 11