KR20120103274A - 불 휘발성 메모리 장치 및 그것의 읽기 방법 - Google Patents

불 휘발성 메모리 장치 및 그것의 읽기 방법 Download PDF

Info

Publication number
KR20120103274A
KR20120103274A KR1020110021434A KR20110021434A KR20120103274A KR 20120103274 A KR20120103274 A KR 20120103274A KR 1020110021434 A KR1020110021434 A KR 1020110021434A KR 20110021434 A KR20110021434 A KR 20110021434A KR 20120103274 A KR20120103274 A KR 20120103274A
Authority
KR
South Korea
Prior art keywords
read
memory cells
data
memory
word line
Prior art date
Application number
KR1020110021434A
Other languages
English (en)
Other versions
KR101772951B1 (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 KR1020110021434A priority Critical patent/KR101772951B1/ko
Priority to US13/416,038 priority patent/US8665643B2/en
Publication of KR20120103274A publication Critical patent/KR20120103274A/ko
Application granted granted Critical
Publication of KR101772951B1 publication Critical patent/KR101772951B1/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
    • 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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

여기에 제공되는 불 휘발성 메모리 장치는 행들과 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 정상 읽기 동작을 제어하는 정상 읽기 스케쥴러와 데이터 리커버 읽기 동작을 제어하는 데이터 리커버 읽기 스케쥴러를 구비하며, 읽기 요청시 상기 페이지 버퍼 회로를 제어하도록 구성된 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 정상 읽기 스케쥴러 또는 상기 데이터 리커버 읽기 스케쥴러는 외부로부터 제공되는 선택 정보에 따라 선택된다.

Description

불 휘발성 메모리 장치 및 그것의 읽기 방법{NON-VOLATILE MEMORY DEVICE AND READ METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불 휘발성 메모리 장치에 관한 것이다.
반도체 메모리는, 일반적으로, 위성에서 소비자 전자 기술까지의 범위에 속하는 마이크로프로세서를 기반으로 한 응용 및 컴퓨터와 같은 디지털 로직 설계의 가장 필수적인 마이크로 전자 소자이다. 그러므로, 높은 집적도 및 빠른 속도를 위한 축소 (scaling)를 통해 얻어지는 프로세스 향상 및 기술 개발을 포함한 반도체 메모리의 제조 기술의 진보는 다른 디지털 로직 계열의 성능 기준을 확립하는 데 도움이 된다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 불 휘발성 반도체 메모리 장치로 나뉘어진다. 휘발성 반도체 메모리 장치에 있어서, 로직 정보는 스태틱 랜덤 액세스 메모리의 경우 쌍안정 플립-플롭의 로직 상태를 설정함으로써 또는 다이나믹 랜덤 액세스 메모리의 경우 커패시터의 충전을 통해 저장된다. 휘발성 반도체 메모리 장치의 경우, 전원이 인가되는 동안 데이터가 저장되고 읽혀지며, 전원이 차단될 때 데이터는 소실된다.
MROM, PROM, EPROM, EEPROM 등과 같은 불 휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 불 휘발성 메모리 데이터 저장 상태는 사용되는 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 불 휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 그리고 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로코드의 저장을 위해서 사용된다. 단일 칩에서 휘발성 및 불 휘발성 메모리 저장 모드들의 조합이 빠르고 재프로그램 가능한 불 휘발성 메모리를 요구하는 시스템에서 불 휘발성 RAM (nvRAM)과 같은 장치들에서 또한 사용 가능하다. 게다가, 응용 지향 업무를 위한 성능을 최적화시키기 위해 몇몇 추가적인 로직 회로를 포함하는 특정 메모리 구조가 개발되어 오고 있다.
불 휘발성 반도체 메모리 장치에 있어서, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 않아서 일반 사용자들이 기억 내용을 새롭게 하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다.
본 발명의 목적은 신뢰성을 향상시킬 수 있는 불 휘발성 메모리 장치 및 그것의 읽기 방법을 제공하는 것이다.
본 발명의 일 특징은 행들과 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 정상 읽기 동작을 제어하는 정상 읽기 스케쥴러와 데이터 리커버 읽기 동작을 제어하는 데이터 리커버 읽기 스케쥴러를 구비하며, 읽기 요청시 상기 페이지 버퍼 회로를 제어하도록 구성된 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 정상 읽기 스케쥴러 또는 상기 데이터 리커버 읽기 스케쥴러는 외부로부터 제공되는 선택 정보에 따라 선택되는 불 휘발성 메모리 장치를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 정상 읽기 스케뷸러 또는 상기 데이터 리커버 읽기 스케쥴러의 선택은 파워-업시 또는 온-더-플라이 방식으로 행해진다.
예시적인 실시예에 있어서, 상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들은 상기 읽기 요청된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들을 포함하며, 상기 공격 셀들은 하나 또는 그 보다 많은 공격 셀 그룹들을 구성한다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램된다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정된다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 최하위 프로그램 상태로서 상기 제 1 프로그램 상태를 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹을 구성하고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 내지 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 제 1 공격 셀 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 공격 셀 그룹에 속한 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정되며, 상기 인접한 행의 메모리 셀들 중 나머지 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 나머지 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 3 논리 상태로 설정된다.
본 발명의 다른 특징은 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되며, 행들과 열들로 배열되는 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 액세스 요청시 데이터 리커버 읽기 동작을 수행하도록 상기 페이지 버퍼 회로를 제어하는 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 하나의 프로그램 상태는 음의 전압이 상기 선택된 행에 인가된 상태에서 판별되고; 그리고 상기 선택된 행에 인접한 상위 행의 메모리 셀들 중 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 3개 또는 그 보다 많은 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성하는 불 휘발성 메모리 장치를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정된다.
예시적인 실시예에 있어서, 상기 데이터 리커버 읽기 동작은 상기 제 1 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작을 수행하고, 상기 제 2 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작을 수행함으로써 행해진다.
예시적인 실시예에 있어서, 상기 제 2 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들에 대응하는 열들은 상기 제 1 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작이 행해질 때 접지되고, 상기 제 1 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들에 대응하는 열들은 상기 제 2 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작이 행해질 때 접지된다.
예시적인 실시예에 있어서, 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 3개 또는 그 보다 많은 프로그램 상태들은 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 포함한다.
본 발명의 또 다른 특징은 행들과 열들로 배열된 멀티-비트 메모리 셀들을 포함하는 불 휘발성 메모리 장치의 읽기 방법을 제공하며, 읽기 방법은 데이터 리커버 읽기 스킴이 선택되었는 지의 여부를 판별하고; 상기 데이터 리커버 읽기 스킴이 선택된 것으로 판별될 때, 상기 데이터 리커버 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽고; 그리고 상기 데이터 리커버 읽기 스킴이 선택되지 않은 것으로 판별될 때, 정상 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽는 것을 포함하며, 상기 데이터 리커버 읽기 스킴의 선택은 외부 장치로부터 제공되는 선택 정보에 의해서 행해진다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램된다.
예시적인 실시예에 있어서, 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 하나의 프로그램 상태는 음의 전압이 상기 선택된 행에 인가된 상태에서 판별되고, 상기 인접한 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 불 휘발성 메모리 장치는 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 더 포함하며, 상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정된다.
예시적인 실시예에 있어서, 상기 데이터 리커버 읽기 스킴의 선택은 상기 불 휘발성 메모리 장치를 제어하기 위한 제어기에 의해서 행해진다.
예시적인 실시예에 있어서, 상기 제어기는 파워-업시 상기 불 휘발성 메모리 장치의 특정 영역으로부터 읽혀진 데이터의 에러율에 의거하여 상기 데이터 리커버 읽기 스킴의 선택을 행한다.
예시적인 실시예에 있어서, 상기 제어기는 상기 불 휘발성 메모리 장치로부터 읽혀진 데이터의 에러율에 의거하여 온-더-플라이 방식으로 상기 데이터 리커버 읽기 스킴의 선택을 행한다.
본 발명의 또 다른 특징은 행들과 열들로 배열된 멀티-비트 메모리 셀들을 포함하는 불 휘발성 메모리 장치의 읽기 방법에 관한 것으로 읽기 방법은 복수의 데이터 리커버 읽기 스킴들 중 하나가 선택되었는 지의 여부를 판별하고; 상기 데이터 리커버 읽기 스킴들 중 하나가 선택된 것으로 판별될 때, 상기 선택된 데이터 리커버 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽고; 그리고 상기 데이터 리커버 읽기 스킴들 중 하나가 선택되지 않은 것으로 판별될 때, 정상 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽는 것을 포함하며, 상기 데이터 리커버 읽기 스킴들의 선택은 외부 장치에 의해서 행해진다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램된다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 스킴들 중 하나에 따라 행해지는 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 제 1 프로그램 상태를 갖는 메모리 셀들은 상기 데이터 리커버 읽기 스킴들 중 하나에 따라 행해지는 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹을 구성하고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 내지 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹을 구성한다.
본 발명의 또 다른 특징은 행들과 열들로 배열된 메모리 셀들을 구비한 불 휘발성 메모리 장치와; 그리고 상기 불 휘발성 메모리 장치로부터 읽혀질 데이터를 저장하기 위한 버퍼 메모리를 구비하며, 상기 불 휘발성 메모리 장치를 제어하도록 구성된 제어기를 포함하며, 상기 불 휘발성 메모리 장치는 상기 제어기의 제어에 따라 선택되는 정상 읽기 스케쥴러와 데이터 리커버 읽기 스케쥴러를 포함하고 상기 선택된 읽기 스케쥴러에 따라 상기 제어기의 요청에 대응하는 읽기 동작을 수행하는 메모리 카드를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되고; 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 하나의 프로그램 상태는 음의 전압이 상기 선택된 행에 인가된 상태에서 판별되며; 그리고 상기 선택된 행에 인접한 상위 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성한다.
본 발명의 또 다른 특징은 복수의 불 휘발성 메모리 장치들을 갖는 저장 매체와; 그리고 복수의 채널들을 통해 상기 저장 매체와 통신하는 제어기를 포함하며, 상기 복수의 불 휘발성 메모리 장치들 각각은 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되며, 행들과 열들로 배열되는 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 액세스 요청시 데이터 리커버 읽기 동작을 수행하도록 상기 페이지 버퍼 회로를 제어하는 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 제 1 내지 제 7 프로그램 상태들 중 적어도 하나의 프로그램 상태는 음의 전압이 상기 선택된 행에 인가된 상태에서 판별되고; 그리고 상기 선택된 행에 인접한 상위 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성하는 반도체 드라이브를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함한다.
예시적인 실시예에 있어서, 상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정된다.
예시적인 실시예에 있어서, 상기 데이터 리커버 읽기 동작은 상기 제 1 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작을 수행하고, 상기 제 2 논리 상태로 설정된 N-비트 래치들의 페이지 버퍼들을 통해 상기 선택된 행에 대한 읽기 동작을 수행함으로써 행해진다.
본 발명의 또 다른 특징은 행들과 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 정상 읽기 동작을 제어하는 정상 읽기 스케쥴러와 상이한 데이터 리커버 읽기 동작들을 각각 제어하는 복수의 데이터 리커버 읽기 스케쥴러들을 구비하며, 읽기 요청시 상기 페이지 버퍼 회로를 제어하도록 구성된 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 정상 읽기 스케쥴러와 상기 복수의 데이터 리커버 읽기 스케쥴러들 중 어느 하나는 외부로부터 제공되는 선택 정보에 따라 선택되는 불 휘발성 메모리 장치를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 선택 정보는 파워-업시 상기 메모리 셀 어레이로부터 읽혀진 데이터의 에러율에 의거하여 결정되고, 상기 복수의 데이터 리커버 읽기 스케쥴러들은 제 1 및 제 2 데이터 리커버 읽기 스케쥴러들을 포함하며, 상기 제 1 데이터 리커버 읽기 스케쥴러는 상기 에러율이 제 1 기준값과 제 2 기준값 사이에 존재할 때 상기 선택 정보에 의해서 선택되고, 상기 제 2 데이터 리커버 읽기 스케쥴러는 상기 에러율이 상기 제 2 기준값을 초과할 때 상기 선택 정보에 의해서 선택된다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램된다.
예시적인 실시예에 있어서, 상기 선택된 행에 인접한 행의 메모리 셀들 중 최하위 프로그램 상태로서 상기 제 1 프로그램 상태를 갖는 메모리 셀들은 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹을 구성하고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 내지 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 제 1 데이터 리커버 읽기 스케쥴러는 상기 제 1 공격 셀 그룹에 대한 데이터 리커버 읽기 동작을 제어하도록 구성되며, 상기 제 2 데이터 리커버 읽기 스케쥴러는 상기 제 1 및 제 2 공격 셀 그룹들에 대한 데이터 리커버 읽기 동작을 제어하도록 구성된다.
본 발명의 또 다른 특징은 복수의 불 휘발성 메모리 장치들을 갖는 저장 매체와; 그리고 복수의 채널들을 통해 상기 저장 매체와 통신하는 제어기를 포함하며, 상기 복수의 불 휘발성 메모리 장치들 각각은 행들과 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이와; 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고 정상 읽기 동작을 제어하는 정상 읽기 스케쥴러와 상이한 데이터 리커버 읽기 동작들을 각각 제어하는 제 1 및 제 2 데이터 리커버 읽기 스케쥴러들을 구비하며, 읽기 요청시 상기 페이지 버퍼 회로를 제어하도록 구성된 제어 로직 및 입출력 인터페이스 블록을 포함하며, 상기 제어기는 상기 메모리 셀 어레이로부터 읽혀진 데이터의 에러율에 의거하여 선택 정보를 결정하고, 상기 정상 읽기 스케쥴러와 상기 제 1 및 제 2 데이터 리커버 읽기 스케쥴러들 중 어느 하나는 상기 선택 정보에 따라 선택되되, 상기 제 1 데이터 리커버 읽기 스케쥴러는 상기 에러율이 제 1 기준값과 제 2 기준값 사이에 존재할 때 상기 선택 정보에 의해서 선택되고, 상기 제 2 데이터 리커버 읽기 스케쥴러는 상기 에러율이 상기 제 2 기준값을 초과할 때 상기 선택 정보에 의해서 선택되는 반도체 드라이브를 제공하는 것이다.
예시적인 실시예에 있어서, 상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램된다.
예시적인 실시예에 있어서, 상기 선택된 행에 인접한 행의 메모리 셀들 중 최하위 프로그램 상태로서 상기 제 1 프로그램 상태를 갖는 메모리 셀들은 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹을 구성하고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 내지 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹을 구성한다.
예시적인 실시예에 있어서, 상기 제 1 데이터 리커버 읽기 스케쥴러는 상기 제 1 공격 셀 그룹에 대한 데이터 리커버 읽기 동작을 제어하도록 구성되며, 상기 제 2 데이터 리커버 읽기 스케쥴러는 상기 제 1 및 제 2 공격 셀 그룹들에 대한 데이터 리커버 읽기 동작을 제어하도록 구성된다.
예시적인 실시예에 있어서, 상기 정상 읽기 스케쥴러와 상기 제 1 및 제 2 데이터 리커버 읽기 스케쥴러들 중 어느 하나의 선택은 파워-업시 또는 온-더-플라이 방식으로 행해진다.
본 발며의 또 다른 특징은 불 휘발성 메모리 장치를 제어하는 메모리 제어기의 동작 방법에 관한 것으로 동작 방법은 상기 불 휘발성 메모리 장치로부터 읽혀진 데이터의 에러율을 판별하고; 그리고 상기 판별 결과에 따라 상기 불 휘발성 메모리 장치의 읽기 스킴을 변경하는 것을 포함하며, 상기 읽기 스킴은 정상 읽기 스킴과 하나 또는 그 보다 많은 데이터 리커버 읽기 스킴들을 포함하며, 상기 읽기 스킴의 변경은 파워-업시 또는 상기 불 휘발성 메모리 장치의 사용 중에 행해진다.
본 발명의 예시적인 실시예들에 의하면, 신뢰성을 향상시키는 것이 가능하다.
도 1은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치의 일부를 보여주는 도면들이다.
도 2a 내지 도 2d는 워드 라인 커플링을 줄이기 위한 프로그램 방법을 설명하기 위한 도면이다.
도 3은 (n+1)번째 워드 라인의 메모리 셀들이 프로그램될 때 생기는 워드 라인 커플링 이전 및 이후에 n번째 워드 라인의 메모리 셀들과 관련된 문턱 전압 분포들을 보여주는 도면이다.
도 4a 및 도 4b는 커플링을 받은 그리고 커플링을 받지 않은 메모리 셀들을 포함하는 도 3의 전체 문턱 전압 산포들을 보여주는 도면들이다.
도 5는 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치를 개략적으로 보여주는 블록도이다.
도 6은 본 발명의 예시적인 실시예에 따른 도 5에 도시된 페이지 버퍼 회로를 개략적으로 보여주는 블록도이다.
도 7은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치의 읽기 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 도 7에 도시된 데이터 리커버 읽기 동작을 설명하기 위한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 도 7에 도시된 데이터 리커버 읽기 동작을 설명하기 위한 흐름도이다.
도 10은 본 발명의 다른 예시적인 실시예에 따른 불 휘발성 메모리 장치를 개략적으로 보여주는 블록도이다.
도 11은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치를 포함한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 12는 본 발명의 예시적인 실시예에 따른 도 11에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 다른 예시적인 실시예에 따른 불 휘발성 메모리 장치를 포함한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 14는 본 발명의 예시적인 실시예에 따른 도 13에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 예시적인 실시예에 따른 제어기를 개략적으로 보여주는 블록도이다.
도 16은 본 발명의 다른 예시적인 실시예에 따른 도 13에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다.
도 17은 본 발명의 예시적인 실시예들에 따른 불 휘발성 메모리 장치를 이용한 반도체 드라이브를 개략적으로 보여주는 블록도이다.
도 18a는 도 17에 도시된 반도체 드라이브를 이용한 스토리지를 개략적으로 보여주는 블록도이다.
도 18b는 도 17에 도시된 반도체 드라이브를 이용한 스트리지 서버를 개략적으로 보여주는 블록도이다.
도 19 내지 도 21은 본 발명의 예시적인 실시예들에 따른 데이터 저장 장치가 적용되는 시스템들을 개략적으로 보여주는 도면들이다.
도 22 내지 도 26은 본 발명의 예시적인 실시예들에 따른 불 휘발성 메모리 장치가 적용되는 다른 시스템들을 개략적으로 보여주는 도면들이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다.
본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, ‘연결되는/결합되는’이란 표현은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작, 소자 및 장치의 존재 또는 추가를 의미한다.
고용량 불 휘발성 메모리에 대한 요구가 증가하고 있다. 이러한 요구를 충족시키기 위해서 다양한 기술들이 제안되어 오고 있다. 그러한 기술들 중 하나는 메모리 셀에 저장되는 데이터 비트들의 수를 증가시키는 것이다. 메모리 셀에 저장되는 데이터 비트들의 증가 또는 메모리 셀의 집적도 증가는 다양한 간섭들을 유발한다. 그러한 간섭들 중 하나는 인접한 메모리 셀들 사이에 생기는 기생 캐패시턴스 커플링을 포함할 것이다. 기생 커패시턴스 커플링은, 일반적으로, 열 방향의 비트 라인 커플링과 행 방향의 워드 라인 커플링을 포함한다. 워드 라인 커플링에 의하면, n번째 워드 라인에 대한 프로그램 동작이 수행된 후 (n+1)번째 워드 라인에 대한 프로그램 동작이 수행될 때, (n+1)번째 워드 라인에 연결된 메모리 셀들의 문턱 전압들의 변화는 n번째 워드 라인에 연결된 메모리 셀들의 문턱 전압들의 변화를 가져오며, 그 결과 n번째 워드 라인에 연결된 메모리 셀들의 문턱 전압 산포들이 넓어지게 된다. 본 발명의 예시적인 실시예들은 문턱 전압 산포들이 넓어짐에 따라 생기는 읽기 에러를 개선하기 위한 기술을 제공하며, 이는 이후 상세히 설명될 것이다.
본 명세서에서, 용어들 "n번째 워드 라인", "선택된 워드 라인", "읽기 요청된 워드 라인" 등은 읽기 요청된 데이터가 저장된 메모리 셀들과 관련된 워드 라인을 지칭하기 위해서 사용될 것이다. 용어들 "(n+1)번째 워드 라인", "인접한 워드 라인", "읽기 요청된 워드 라인의 상위 워드 라인", "상위 워드 라인" 등은 읽기 요청된 데이터가 저장된 메모리 셀들에 워드 라인 커플링을 가하는 메모리 셀들과 관련된 워드 라인을 지칭하기 위해서 사용될 것이다.
도 1은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치의 일부를 보여주는 도면이다. 도 1의 실시예는 낸드 구조를 갖는 불 휘발성 메모리를 보여주고 있다. 하지만, 여기에서 설명되는 실시예들은 이 예에 국한되지 않는다. 도 1에 도시된 바와 같이, 메모리 어레이(또는, 메모리 셀 어레이)(100)는 워드 라인들(WL1∼WLi)과 비트 라인들(BL1∼BLj)을 포함한다. 메모리 어레이(100)는 스트링들(또는, 낸드 스트링들)(STR1∼STRj)을 포함하며, 각 낸드 스트링은 메모리 셀들(또는, 불 휘발성 메모리 셀들)(MC1∼MCj)을 포함한다. 메모리 셀들은 워드 라인들(WL1∼WLj)과 비트 라인들(BL1∼BLj)의 교차 영역들에 각각 배열된다. 낸드 스트링들 각각의 메모리 셀들은 스트링 선택 트랜지스터(SST)와 접지 선택 트랜지스터(GST) 사이에 직렬 연결된다. 스트링 선택 트랜지스터(SST)는 비트 라인(예를 들면, BL1)과 스트링 선택 라인(SSL)의 교차 영역에 배열되고, 접지 선택 트랜지스터(GST)는 비트 라인(BL1)과 접지 선택 라인(GSL)의 교차 영역에 배열된다.
도 1의 실시예에 도시된 바와 같이, 각 낸드 스트링에 있어서, 접지 선택 트랜지스터(GST)의 소스는 공통 소스 라인(CSL)에 연결되고, 접지 선택 트랜지스터(GST)의 드레인은 대응하는 낸드 스트링(예를 들면, STR1)의 메모리 셀(MC1)의 소스에 연결된다. 스트링 선택 트랜지스터(SST)의 드레인은 대응하는 비트 라인(BL1)에 연결되고, 스트링 선택 트랜지스터(SST)의 소스는 대응하는 낸드 스트링(STR1)의 메모리 셀(MCi)의 드레인에 연결된다.
다양한 실시예들에 있어서, 메모리 어레이(100)는 단층 어레이 구조(single-layer array structure)(또는, 2차원 어레이 구조라고 불림) 또는 다층 어레이 구조(multi-layer array structure)(또는, 수직형 또는 스택형 3차원 어레이 구조라고 불림)를 갖도록 구현될 것이다.
다양한 실시예들에 있어서, 메모리 셀들은 전하 저장층을 갖는 다양한 셀 구조들 중 하나를 이용하여 구현될 수 있다. 전하 저장층을 갖는 셀 구조는 전하 트랩층을 이용하는 전하 트랩 플래시 구조, 어레이들이 다층으로 적층되는 스택 플래시 구조, 소오스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조, 등을 포함할 것이다. 전하 저장층으로서 전하 트랩 플래시 구조를 갖는 메모리 장치가 미국특허 제6858906호, 미국공개특허 제2004-0169238호, 그리고 미국공개특허 제2006-0180851호에 각각 게재되어 있으며, 이 출원의 레퍼런스로 포함될 것이다. 소오스/드레인이 없는 플래시 구조는 미국특허 제7623366호에 게재되어 있으며, 이 출원의 레퍼런스로 포함될 것이다. 또는, 메모리 셀들은 가변 저항 메모리 셀로 구성될 수 있으며, 예시적인 가변 저항 메모리 셀 및 그것을 포함한 메모리 장치가 미국특허번호 제7529124호에 게재되어 있으며, 이 출원의 레퍼런스로 포함될 것이다.
도 1에는 도시되지 않았지만, 이후 설명되는 바와 같이, 메모리 어레이(100)는 메모리 셀들에 데이터를 쓰기 위한 그리고 메모리 셀들로부터 데이터를 읽기 위한 다양한 회로들에 연결될 것이다.
도 2a 내지 도 2d는 워드 라인 커플링을 줄이기 위한 프로그램 방법을 설명하기 위한 도면들이다.
도 2a에는 셀 당 2-비트 데이터를 저장하기 위한 그리고 워드 라인 커플링을 줄이기 위한 프로그램 방법이 도시되어 있다. 도 2a에서, 곡선들(210-0, 210-1)은 하위 페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여주며, 곡선들(220-0, 220-1, 220-2, 220-3)은 상위 페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여준다.
하위 및 상위 페이지들이 프로그램된 후, 도 2a에 도시된 바와 같이, 메모리 셀들은 4개의 데이터 상태들(E, P1, P2, P3) 중 어느 하나로 프로그램될 것이다. 도 2a에 도시된 방법에 있어서, 하위 페이지가 프로그램된 후 문턱 전압 산포(210-0)에 속한 메모리 셀들은 문턱 전압 산포(220-0) 또는 문턱 전압 산포(220-1)로 프로그램되고, 하위 페이지가 프로그램된 후 문턱 전압 산포(210-1)에 속한 메모리 셀들은 문턱 전압 산포(220-2) 또는 문턱 전압 산포(220-3)로 프로그램된다.
도 2b에는 셀 당 3-비트 데이터를 저장하기 위한 그리고 워드 라인 커플링을 줄이기 위한 프로그램 방법이 도시되어 있다. 도 2b에서, 곡선들(230-0∼230-3)은 하위 2-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여주며, 곡선들(240-0∼240-7)은 상위 1-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여준다. 하위 및 상위 페이지들이 프로그램된 후, 도 2b에 도시된 바와 같이, 메모리 셀들은 8개의 데이터 상태들(E, P1∼P7) 중 어느 하나로 프로그램될 것이다. 도 2b에 도시된 방법에 있어서, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(230-0)에 속한 메모리 셀들은 문턱 전압 산포(240-0) 또는 문턱 전압 산포(240-1)로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(230-1)에 속한 메모리 셀들은 문턱 전압 산포(240-2) 또는 문턱 전압 산포(240-3)로 프로그램된다. 하위 2-페이지가 프로그램된 후 문턱 전압 산포(230-2)에 속한 메모리 셀들은 문턱 전압 산포(240-4) 또는 문턱 전압 산포(240-5)로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(230-3)에 속한 메모리 셀들은 문턱 전압 산포(240-6) 또는 문턱 전압 산포(240-7)로 프로그램된다.
도 2c에는 셀 당 3-비트 데이터를 저장하기 위한 그리고 워드 라인 커플링을 줄이기 위한 프로그램 방법이 도시되어 있다. 도 2c에서, 곡선들(250-0∼250-3)은 하위 2-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여주며, 곡선들(260-0∼260-7)은 상위 1-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여준다. 하위 및 상위 페이지들이 프로그램된 후, 도 2c에 도시된 바와 같이, 메모리 셀들은 8개의 데이터 상태들(E, P1∼P7) 중 어느 하나로 프로그램될 것이다. 도 2c에 도시된 방법에 있어서, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(250-0)에 속한 메모리 셀들은 문턱 전압 산포(260-0) 또는 문턱 전압 산포(260-1)로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(250-1)에 속한 메모리 셀들은 문턱 전압 산포(260-2) 또는 문턱 전압 산포(260-3)로 프로그램된다. 하위 2-페이지가 프로그램된 후 문턱 전압 산포(250-2)에 속한 메모리 셀들은 문턱 전압 산포(260-4) 또는 문턱 전압 산포(260-5)로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(250-3)에 속한 메모리 셀들은 문턱 전압 산포(260-6) 또는 문턱 전압 산포(260-7)로 프로그램된다.
도 2c에서 설명된 프로그램 방법은 음의 검증 전압들이 사용된다는 점에서 도 2b에서 설명된 프로그램 방법과 다르다. 즉, 도 2b에서 설명된 프로그램 방법의 경우, 프로그램 상태들(P1∼P7)에 각각 대응하는 검증 전압들은 모두 양의 전압들(예를 들면, 0.1V, 1.0V, 1.9V, 2.8V, 3.7V, 4.6V, 5.5V)로 각각 설정될 것이다. 다시 말해서, 프로그램 상태들(P1∼P7) 각각은 양의 전압이 선택된 워드 라인에 인가된 상태에서 판별될 것이다. 이에 반해서, 도 2c에서 설명된 프로그램 방법의 경우, 프로그램 상태들(P1, P2)에 각각 대응하는 검증 전압들은 모두 음의 전압들(-1.5V, -0.6V)로 각각 설정되고, 프로그램 상태들(P3∼P7)에 각각 대응하는 검증 전압들은 모두 양의 전압들(0.3V, 1.2V, 2.1V, 3.0V, 3.9V)로 각각 설정될 것이다. 다시 말해서, 프로그램 상태들(P1∼P7) 중 하나 또는 그 보다 많은 프로그램 상태들은 음의 전압이 선택된 워드 라인에 인가된 상태에서 판별될 것이다. 음의 전압을 이용하여 판별되는 프로그램 상태들(또는, 데이터 상태들)의 수는 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다.
도 2d에는 셀 당 4-비트 데이터를 저장하기 위한 그리고 워드 라인 커플링을 줄이기 위한 프로그램 방법이 도시되어 있다. 도 2d에서, 곡선들(270-0∼270-3)은 하위 2-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여주며, 곡선들(280-0∼280-15)은 상위 2-페이지 프로그램 절차 이후 메모리 셀들에 대한 문턱 전압 산포들을 보여준다. 하위 및 상위 페이지들이 프로그램된 후, 도 2d에 도시된 바와 같이, 메모리 셀들은 16개의 데이터 상태들(E, P1∼P15) 중 어느 하나로 프로그램될 것이다. 도 2d에 도시된 방법에 있어서, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(270-0)에 속한 메모리 셀들은 문턱 전압 산포들(280-0∼280-3) 중 하나로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(270-1)에 속한 메모리 셀들은 문턱 전압 산포들(280-4∼280-7) 중 하나로 프로그램된다. 하위 2-페이지가 프로그램된 후 문턱 전압 산포(270-2)에 속한 메모리 셀들은 문턱 전압 산포들(280-8∼280-11) 중 하나로 프로그램되고, 하위 2-페이지가 프로그램된 후 문턱 전압 산포(270-3)에 속한 메모리 셀들은 문턱 전압 산포들(280-12∼280-15) 중 하나로 프로그램된다.
각 메모리 셀에 M-비트 데이터(M은 2 또는 그 보다 큰 정수)가 저장되는 경우, n번째 워드 라인의 메모리 셀들의 문턱 전압들은 (n+1)번째 워드 라인의 메모리 셀들에 상위 페이지가 프로그램될 때 이동될 것이다. 즉, n번째 워드 라인의 메모리 셀들의 문턱 전압 산포들은 (n+1)번째 워드 라인의 메모리 셀들에 상위 페이지가 프로그램되기 이전과 비교하여 볼 때 워드 라인 커플링으로 인해 넓어질 것이다. 문턱 전압 산포가 넓어지는 이유는 (n+1)번째 워드 라인의 메모리 셀들에 상위 페이지가 프로그램될 때 n번째 워드 라인의 메모리 셀들이 워드 라인 커플링을 모두 받는 것이 아니라 선택적으로 받기 때문이다.
본 발명의 예시적인 실시예들에 있어서, (n+1)번째 워드 라인의 메모리 셀들 중 n번째 워드 라인의 메모리 셀들에 커플링을 주는 메모리 셀들(또는, "공격 셀들(aggressor cells)"이라 불림)은 n번째 워드 라인의 메모리 셀에 가해지는 커플링의 정도(크기)에 따라 그리고/또는 프로그램 방식에 따라 하나 또는 그 보다 많은 공격 셀 그룹들을 구성할 것이다. (n+1)번째 워드 라인의 메모리 셀들 중 n번째 워드 라인의 메모리 셀들에 커플링을 주지 않는 메모리 셀들 역시 하나의 그룹을 구성할 것이다. (n+1)번째 워드 라인의 메모리 셀들 중 공격 셀들을 제외한 나머지 메모리 셀들은 비-공격 셀들(non-aggressor cells)로 정의될 것이다. 공격 셀들과 비-공격 셀들 각각은 도 2a 내지 도 2d에서 설명된 프로그램 상태들 중 어느 하나를 가질 것이다. 이러한 정의에 의하면, n번째 워드 라인의 메모리 셀들은 커플링을 받은 메모리 셀들과 커플링을 받지 않은 메모리 셀들로 구성될 것이다. 그러한 까닭에, 문턱 전압 산포가 넓어지며, 이는 이후 상세히 설명될 것이다. n번째 워드 라인의 메모리 셀들에 워드 라인 커플링을 가하는 (n+1)번째 워드 라인에 대한 프로그램 동작은 어드레스 스크램블 방식에 따라 가변적으로 결정될 것이다.
도 3은 (n+1)번째 워드 라인의 메모리 셀들이 프로그램될 때 생기는 워드 라인 커플링 이전 및 이후에 n번째 워드 라인의 메모리 셀들과 관련된 문턱 전압 분포들을 보여주는 도면이다.
도 3에 도시된 예는 (n+1)번째 워드 라인의 메모리 셀들이 프로그램되기 이전 즉, 워드 라인 커플링 이전 n번째 워드 라인의 메모리 셀들과 관련된 2개의 인접한 문턱 전압 분포들(310-0, 310-1)을 보여준다. 도 3에는 단지 2개의 문턱 전압 산포들이 도시되어 있다. 하지만, 셀 당 비트 수에 따라 더 많은 문턱 전압 산포들이 존재함은 잘 이해될 것이다. 문턱 전압 산포들의 수는 메모리 셀에 저장되는 데이터 비트들의 수에 의거하여 결정될 것이다. 예를 들면, m-비트 데이터(m은 2 또는 그 보다 큰 정수)가 메모리 셀에 저장될 때, 2m개의 문턱 전압 산포들이 생길 것이다. 문턱 전압 분포들(310-0, 310-1)은 문턱 전압 분포들(310-0, 310-1) 사이에 존재하는 읽기 전압(RD)을 이용하여 구별될 것이다. 비록 도면에는 도시되지 않았지만, 나머지 문턱 전압 분포들 역시 인접한 문턱 전압 분포들 사이에 존재하는 읽기 전압을 이용하여 구별될 것이다. 이러한 읽기 동작을 정상 읽기 동작이라 칭하고, 정상 읽기 동작에서 사용되는 읽기 전압(RD)을 정상 읽기 전압이라 칭한다.
도 3에 도시된 문턱 전압 산포들(311-0, 311-1)은 (n+1)번째 워드 라인의 메모리 셀들이 프로그램될 때 야기되는 워드 라인 커플링에 대응하는 문턱 전압 이동을 경험한 이후의 n번째 워드 라인의 메모리 셀들과 관련된 문턱 전압 산포들을 나타낸다. 문턱 전압 산포들(311-0, 311-1)은 (n+1)번째 워드 라인의 메모리 셀들이 프로그램될 때 생기는 워드 라인 커플링을 경험하고 그리고 경험하지 않은 메모리 셀들에 대한 전체 문턱 전압 산포들을 나타낸다.
도 4a 및 도 4b는 커플링을 받은 그리고 커플링을 받지 않은 메모리 셀들을 포함하는 도 3의 전체 문턱 전압 산포들을 보여주는 도면들이다.
도 4a의 예에 있어서, 문턱 전압 산포들(313-0, 313-1)은 워드 라인 커플링으로 인한 문턱 전압 이동을 경험하지 않은(또는, 커플링 받지 않은) 메모리 셀들의 문턱 전압 산포들을 나타낸다. 문턱 전압 산포들(315-0, 315-1)은 워드 라인 커플링으로 인한 문턱 전압 이동을 경험한(또는, 커플링 받은) 메모리 셀들의 문턱 전압 산포들을 나타낸다. 즉, 문턱 전압 산포들(315-0, 315-1)은 데이터 상태들(313-0, 313-1)로 프로그램되었던 메모리 셀들의 문턱 전압 이동을 나타낸다.
n번째 워드 라인의 프로그램된 메모리 셀들은, (n+1)번째 워드 라인의 메모리 셀들의 프로그램으로 인해 겪는 문턱 전압 이동에 따라, 커플링을 받지 않은 문턱 전압 산포들(313-0, 313-1)에 또는 커플링을 받은 문턱 전압 산포들(315-0, 315-1)에 속할 것이다. 도 4a에 도시된 바와 같이, 제 1 읽기 전압(DR1)은 커플링을 받지 않은 메모리 셀들을 읽기 위해서 즉, 문턱 전압 분포들(313-0, 313-1) 내의 메모리 셀들을 구분하기 위해서 사용될 수 있다. 제 2 읽기 전압(DR2)은 커플링을 받은 메모리 셀들을 읽기 위해서 즉, 문턱 전압 분포들(315-0, 315-1) 내의 메모리 셀들을 구분하기 위해서 사용될 수 있다.
워드 라인 커플링으로 인해 생기는 읽기 에러를 줄이기 위해서 제 1 및 제 2 읽기 전압들(DR1, DR2)을 이용하여 하나의 문턱 전압 산포(또는, 데이터 상태)(커플링을 받은 산포와 커플링을 받지 않은 산포로 구성됨)에 대해 2번의 읽기 동작들이 행해질 것이다. 하나의 데이터 상태에 대해 행해지는 읽기 동작들의 횟수는 공격 셀들(또는, 커플링을 유발하는 프로그램 상태들)로 이루어지는 그룹들의 수에 따라 결정될 것이다. 예를 들면, 공격 셀들은 하나의 그룹을 구성하거나, 2개 또는 그 보다 많은 그룹들을 구성할 것이다. 공격 셀들이 하나의 그룹을 구성하는 경우, 2번의 읽기 동작들이 행해질 것이다. 공격 셀들이 2개의 그룹들을 구성하는 경우, 3번의 읽기 동작들이 행해질 것이다.
공격 셀들이 하나의 그룹을 구성할 때 행해지는 읽기 동작을 설명하기 위한 도 4a를 참조하면, 제 1 읽기 전압(DR1)을 이용한 읽기 동작은 커플링을 받지 않은 산포들(313-0, 313-1)에 속한 메모리 셀들을 구분하기 위해 행해지고, 제 2 읽기 전압(DR2)을 이용한 읽기 동작은 커플링을 받은 산포들(315-0, 315-1)에 속한 메모리 셀들을 구분하기 위해 행해질 것이다.
제 1 읽기 전압(DR1)을 이용하여 읽혀질 메모리 셀들과 제 2 읽기 전압(DR2)을 이용하여 읽혀질 메모리 셀들은 상위 워드 라인의 메모리 셀들로부터 읽혀진 데이터에 의거하여 구분되며, 이는 이후 상세히 설명될 것이다. 결과적으로, 선택된 워드 라인의 메모리 셀들에 대한 읽기 동작들에 앞서 선택된 워드 라인의 상위 워드 라인(또는, 인접한 워드 라인)의 메모리 셀들에 대한 읽기 동작이 선행될 것이다. 상술한 일련의 읽기 동작들을 '데이터 리커버 읽기 동작'(data recover read operation)이라 칭하며, 제 1 및 제 2 읽기 전압들(DR1, DR2)을 각각 제 1 및 제 2 데이터 리커버 읽기 전압들이라 칭한다.
도 4b의 예에 있어서, 문턱 전압 산포들(313-0, 313-1)은 워드 라인 커플링으로 인한 문턱 전압 이동을 경험하지 않은(또는, 커플링 받지 않은) 메모리 셀들의 문턱 전압 산포들을 나타낸다. 문턱 전압 산포들(315-0, 315-1, 317-0, 317-1)은 워드 라인 커플링으로 인한 문턱 전압 이동을 경험한(또는, 커플링 받은) 메모리 셀들의 문턱 전압 산포들을 나타낸다. 즉, 문턱 전압 산포들(315-0, 315-1, 317-0, 317-1)은 데이터 상태들(313-0, 313-1)로 프로그램되었던 메모리 셀들의 문턱 전압 이동을 나타낸다.
n번째 워드 라인의 프로그램된 메모리 셀들은, (n+1)번째 워드 라인의 메모리 셀들의 프로그램으로 인해 겪는 문턱 전압 이동에 따라, 커플링을 받지 않은 문턱 전압 산포들(313-0, 313-1)에 또는 커플링을 받은 문턱 전압 산포들(315-0, 315-1, 317-0, 317-1)에 속할 것이다.
앞서 설명된 바와 같이, 공격 셀들이 2개의 그룹들을 구성하는 경우, 도 4b에 도시된 바와 같이, 3번의 읽기 동작들이 행해질 것이다. 공격 셀들이 2개의 그룹들을 구성할 때 행해지는 읽기 동작을 설명하기 위한 도 4b를 참조하면, 제 1 읽기 전압(DR1)을 이용한 읽기 동작은 커플링을 받지 않은 산포들(313-0, 313-1)에 속한 메모리 셀들을 구분하기 위해 행해지고, 제 2 읽기 전압(DR2)을 이용한 읽기 동작은 커플링을 받은 산포들(315-0, 315-1)에 속한 메모리 셀들을 구분하기 위해 행해지며, 제 3 읽기 전압(DR3)을 이용한 읽기 동작은 커플링을 받은 산포들(317-0, 317-1)에 속한 메모리 셀들을 구분하기 위해 행해질 것이다.
제 1 읽기 전압(DR1)을 이용하여 읽혀질 메모리 셀들, 제 2 읽기 전압(DR2)을 이용하여 읽혀질 메모리 셀들, 그리고 제 3 읽기 전압(DR3)을 이용하여 읽혀질 메모리 셀들은 상위 워드 라인의 메모리 셀들로부터 읽혀진 데이터에 의거하여 구분되며, 이는 이후 상세히 설명될 것이다. 앞서 언급된 바와 같이, 제 1 내지 제 3 읽기 전압들(DR1, DR2, DR3)을 각각 제 1 내지 제 3 데이터 리커버 읽기 전압들이라 칭한다.
비록 공격 셀들이 하나의 그룹과 2개의 그룹들을 구성하는 예들이 설명되었지만, 공격 셀들의 그룹들의 수가 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다.
예시적인 실시예에 있어서, 3-비트 데이터의 경우, 만약 공격 셀들이 하나의 그룹을 구성하면, 공격 셀들은 도 2b 및 도 2c에 도시된 프로그램 상태들(P1, P3, P5, P7)을 갖도록 프로그램된 메모리 셀들일 것이다. 다른 실시예에 있어서, 3-비트 데이터의 경우, 만약 공격 셀들이 하나의 그룹을 구성하면, 공격 셀들은 도 2b 및 도 2c에 도시된 프로그램 상태들(P1, P3, P5, P7) 중 적어도 3개의 프로그램 상태들을 갖도록 프로그램된 메모리 셀들일 것이다. 만약 공격 셀들이 2개의 그룹들을 구성하는 경우, 공격 셀들은 도 2b에 도시된 프로그램 상태(P1)을 갖도록 그리고 프로그램 상태들(P2∼P7)을 갖도록 프로그램된 메모리 셀들일 것이다. 하지만, 공격 셀들로 구성되는 그룹들을 정의하기 위한 프로그램 상태들이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 공격 셀들로 구성되는 그룹들을 정의하기 위한 프로그램 상태들이 프로그램 방식과 커플링 크기에 따라 다양하게 결정될 수 있다. 또는, 공격 셀 그룹들의 수(또는, 각 그룹에 속한 프로그램 상태들)은 프로그램-소거 사이클을 고려하여 결정될 수 있다. 예를 들면, 소정의 프로그램-소거 사이클 횟수가 경과한 후, 공격 셀들의 프로그램 상태들은 에러율에 의거하여 재구성될 수 있다. 하나의 공격 셀 그룹에 속한 프로그램 상태들(P1, P3, P5, P7) 또는 (P2∼P7)은 2개 또는 그 보다 많은 그룹들로 재구성될 수 있다.
도 5는 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치를 개략적으로 보여주는 블록도이다.
도 5를 참조하면, 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치(1000)는 플래시 메모리 장치일 것이다. 하지만, 본 발명이 플래시 메모리 장치에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 본 발명은 상변환 메모리(Phase change Random Access Memory: PRAM), 자기저항 메모리(Magnetroresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 저항 변화 메모리(Resistance Random Access Memory: RRAM), 스핀주입 자화반전 메모리(Spin transfer Torque Random Access Memory: STT-RAM), 등과 같은 불 휘발성 메모리 장치들에도 적용될 것이다.
불 휘발성 메모리 장치(1000)는 데이터 정보를 저장하기 위한 메모리 셀 어레이(1100)를 포함할 것이다. 메모리 셀 어레이(1100)는 복수의 메모리 블록들로 구성되며, 각 메모리 블록은, 예를 들면, 도 1에 도시된 것과 동일하게 구성될 것이다. 행 선택 회로(1200)는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 응답하여 동작하며, 메모리 셀 어레이(1100)에 대한 선택 및 구동 동작들을 수행할 것이다. 페이지 버퍼 회로(1400)는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 응답하여 동작하며, 동작 모드에 따라 읽기 회로로서 또는 쓰기 회로로서 동작할 것이다. 예를 들면, 읽기 동작시, 페이지 버퍼 회로(1400)는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 응답하여 메모리 셀 어레이(1100)로부터 데이터를 읽는 회로로서 동작할 것이다. 프로그램/쓰기 동작시, 페이지 버퍼 회로(1400)는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 응답하여 메모리 셀 어레이(1100)에 프로그램 데이터를 쓰는 회로로서 동작할 것이다. 열 선택 회로(1500)는 페이지 버퍼 회로(1400)와 제어 로직 및 입출력 인터페이스 블록(1300) 사이의 데이터 경로를 제공할 것이다.
제어 로직 및 입출력 인터페이스 블록(1300)은 외부 장치(예를 들면, 제어기)의 요청에 따라 불 휘발성 메모리 장치(1000)의 전반적인 동작을 제어하도록 구성될 것이다. 제어 로직 및 입출력 인터페이스 블록(1300)은 정상 읽기 스케쥴러(1310)와 데이터 리커버 읽기 스케쥴러(1320)를 포함할 것이다. 제어 로직 및 입출력 인터페이스 블록(1300)은 정상 읽기 스케쥴러(1310)와 데이터 리커버 읽기 스케쥴러(1320) 중 어느 하나를 이용하여 읽기 동작을 제어할 것이다. 정상 읽기 스케쥴러(1310)와 데이터 리커버 읽기 스케쥴러(1320) 중 하나는 외부 장치(예를 들면, 제어기)에 의해서 선택될 것이다. 예를 들면, 정상 읽기 스케쥴러(1310)와 데이터 리커버 읽기 스케쥴러(1320) 중 하나는 파워-업시 외부 장치에 의해서(또는, 외부 장치로부터의 선택 정보에 의해서) 선택될 것이다. 또는, 정상 읽기 스케쥴러(1310)와 데이터 리커버 읽기 스케쥴러(1320) 중 하나는 불 휘발성 메모리 장치(1000)가 사용되는 동안(즉, 온-더-플라이(on-the-fly) 방식으로) 외부 장치에 의해서(또는, 외부 장치로부터의 선택 정보에 의해서) 선택될 것이다. 정상 읽기 스케쥴러(1310)가 선택되는 경우, 읽기 동작은 액세스 요청된 워드 라인에 대해서 행해질 것이다. 이러한 경우, 각 프로그램 상태를 구별하기 위해서 도 3에서 설명된 정상 읽기 전압(RD)이 사용될 것이다. 데이터 리커버 읽기 스케쥴러(1320)가 선택되는 경우, 읽기 동작은 액세스 요청된 워드 라인에 인접한 상위 워드 라인 및 액세스 요청된 워드 라인에 대해서 각각 행해질 것이다. 하나의 프로그램 상태를 구별하기 위해서 도 4a에서 설명된 데이터 리커버 읽기 전압들(DR1, DR2) 또는 도 4b에서 설명된 데이터 리커버 읽기 전압들(DR1, DR2, DR3)이 사용될 것이다.
예시적인 실시예에 있어서, 파워-업은 불 휘발성 메모리 장치(1000)에 전원이 공급되는 시점과 외부 장치로부터 액세스가 요청되는 시점 사이의 구간을 포함할 것이다.
도 6은 본 발명의 예시적인 실시예에 따른 도 5에 도시된 페이지 버퍼 회로를 개략적으로 보여주는 블록도이다.
도 6을 참조하면, 메모리 셀 어레이(1100)의 비트 라인들(BL1∼BLj)에는 페이지 버퍼들(PB1∼PBj)이 각각 연결될 것이다. 페이지 버퍼들(PB1∼PBj)은 읽기 요청된(또는, 액세스 요청된) 워드 라인(예를 들면, WLn)의 메모리 셀들로부터 데이터를 읽도록 구성될 것이다. 페이지 버퍼들(PB1∼PBj) 각각은 N-비트 래치(1401)를 포함할 것이다. 비록 도면에는 도시되지 않았지만, 페이지 버퍼들(PB1∼PBj) 각각은 메모리 셀로부터 데이터를 읽기 위한 그리고 메모리 셀에 저장될 데이터를 저장하기 위한 데이터 래치 회로를 더 포함할 것이다. 페이지 버퍼들(PB1∼PBj) 각각은 한 쌍의 비트 라인들에 연결될 수 있다.
정상 읽기 동작시, 페이지 버퍼들(PB1∼PBj)은 도 5에 도시된 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 따라 읽기 요청된(또는, 액세스 요청된) 워드 라인(예를 들면, WLn)의 메모리 셀들로부터 데이터를 읽고, 읽혀진 데이터는 열 선택 회로(1500) 및 제어 로직 및 입출력 인터페이스 블록(1300)을 통해 외부 장치로 출력될 것이다. 정상 읽기 동작시, 각 프로그램 상태를 구별하기 위해서 도 3에서 설명된 읽기 전압(RD)이 사용될 것이다. 데이터 리커버 읽기 동작시, 페이지 버퍼들(PB1∼PBj)은 도 5에 도시된 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 따라 읽기 요청된(또는, 액세스 요청된) 워드 라인(예를 들면, WLn)에 인접한 워드 라인(예를 들면, WLn+1)의 메모리 셀들로부터 데이터를 읽는다. 인접한 워드 라인의 메모리 셀들에 있어서, 각 프로그램 상태를 구별하기 위해서 도 3에서 설명된 정상 읽기 전압(RD)이 사용될 것이다. 읽혀진 데이터는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어에 따라 논리적으로 처리되고, 처리된 값들은 대응하는 N-비트 래치들(1401)에 각각 저장될 것이다.
예시적인 실시예에 있어서, 공격 셀들이 하나의 그룹을 구성한다고 가정하자. 이러한 가정에 따르면, 공격 셀 그룹은 도 2b 및 도 2c에 도시된 3-비트 데이터 프로그램 방식의 경우 프로그램 상태들(P1, P3, P5, P7)을 포함할 것이다. 워드 라인 커플링을 유발하는 공격 셀에 대응하는 N-비트 래치(1401)는 '0'로 설정되고, 워드 라인 커플링을 유발하지 않는 비-공격 셀에 대응하는 N-비트 래치(1401)는 '1'로 설정될 것이다. 공격 셀들이 2개의 그룹들을 구성한다고 가정하자. 이러한 가정에 따르면, 제 1 공격 셀 그룹은 도 2b에 도시된 3-비트 데이터 프로그램 방식의 경우 프로그램 상태(P1)를 포함하고, 제 2 공격 셀 그룹은 도 2b에 도시된 3-비트 데이터 프로그램 방식의 경우 프로그램 상태들(P2∼P7)을 포함할 것이다. 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹의 공격 셀에 대응하는 N-비트 래치(1401)는 '00'로 설정되고, 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹의 공격 셀에 대응하는 N-비트 래치(1401)는 '01'로 설정되며, 워드 라인 커플링을 유발하지 않는 비-공격 셀에 대응하는 N-비트 래치(1401)는 '11'로 설정될 것이다. N-비트 래치(1401)의 설정값이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다. 예를 들면, N-비트 래치(1401)의 설정값은 셀 당 비트 수, 공격 셀 그룹들의 수, 등에 따라 다양하게 변경될 것이다.
데이터 리커버 읽기 동작시, N-비트 래치들(1401)이 상위 워드 라인의 메모리 셀들로부터 읽혀진 데이터에 따라 설정된 후, 페이지 버퍼들(PB1∼PBj)은 대응하는 N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들로부터 데이터를 읽는다. 이때, 읽기 동작들의 수는 공격 셀 그룹들의 수에 따라 결정될 것이다. 예를 들면, 도 4a에서 설명된 데이터 리커버 읽기 방식의 경우, 데이터 리커버 읽기 전압들(DR1, DR2)을 이용하여 읽기 동작이 2번 행해질 것이다. 읽기 전압(DR1)을 이용한 읽기 동작은 '0'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들을 통해 행해질 것이다. 이때, '1'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들의 비트 라인들은 접지 전압으로 설정될 것이다. 데이터 리커버 읽기 전압(DR2)을 이용한 읽기 동작은 '1'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들을 통해 행해질 것이다. 이때, '0'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들의 비트 라인들은 접지 전압으로 설정될 것이다. 읽기 요청된 워드 라인의 메모리 셀들은 페이지 버퍼들(PB1∼PBj)의 N-비트 래치들(1401)의 값들에 의거하여 커플링 받은 메모리 셀들과 커플링 받지 않은 메모리 셀들로 분류될 수 있다.
도 4b에서 설명된 데이터 리커버 읽기 방식의 경우, 데이터 리커버 읽기 전압들(DR1, DR2, DR3)을 이용하여 읽기 동작이 3번 행해질 것이다. 데이터 리커버 읽기 전압(DR1)을 이용한 읽기 동작은 '00'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들을 통해 행해질 것이다. 이때, '01' 및 '11'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들의 비트 라인들은 접지 전압으로 설정될 것이다. 데이터 리커버 읽기 전압(DR2)을 이용한 읽기 동작은 '01'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들을 통해 행해질 것이다. 이때, '00' 및 '11'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들의 비트 라인들은 접지 전압으로 설정될 것이다. 데이터 리커버 읽기 전압(DR3)을 이용한 읽기 동작은 '11'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들을 통해 행해질 것이다. 이때, '00' 및 '01'로 설정된 N-비트 래치(1401)를 갖는 페이지 버퍼들의 비트 라인들은 접지 전압으로 설정될 것이다.
도 7은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치의 읽기 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, S100 단계에서, 불 휘발성 메모리 장치(1000)는 외부 장치(예를 들면, 제어기)로부터 읽기 요청을 입력받는다. S110 단계에서, 불 휘발성 메모리 장치(1000)는 데이터 리커버 읽기 동작이 선택되었는 지의 여부를 판별할 것이다. 데이터 리커버 읽기 동작이 선택되지 않은 것으로 판별되면, 읽기 방법은 S120 단계로 진행할 것이다. S120 단계에서는 정상 읽기 스케쥴러(1310)의 제어하에 정상 읽기 동작이 행해질 것이다. 즉, 읽기 요청된 워드 라인의 메모리 셀들에 대한 읽기 동작이 행해질 것이다. 읽기 요청된 워드 라인의 메모리 셀들에 대한 읽기 동작은 도 3에서 설명된 정상 읽기 전압(RD)이 읽기 요청된 워드 라인에 인가된 상태에서 행해질 것이다. 이후, 읽기 방법은 S140 단계로 진행할 것이다. 이에 반해서, 데이터 리커버 읽기 동작이 선택된 것으로 판별되면, 읽기 방법은 S130 단계로 진행할 것이다. S130 단계에서는 데이터 리커버 읽기 스케쥴러(1320)의 제어하에 데이터 리커버 읽기 동작이 행해질 것이다. 이는 도 8 및 도 9를 참조하여 상세히 설명될 것이다. 이후, 읽기 방법은 S140 단계로 진행할 것이다. S140 단계에서는 S120 단계 또는 S130 단계에서 읽혀진 데이터가 외부 장치로 출력될 것이다. 이후, 읽기 방법은 종료될 것이다.
예시적인 실시예에 있어서, 데이터 리커버 읽기 스킴이 선택되었는 지의 여부를 판별하는 동작(S110)은 외부 장치로부터 제공된 선택 정보에 의거하여 행해질 것이다. 선택 정보의 입력에 따라 데이터 리커버 읽기 스케쥴러(1320) 또는 정상 읽기 스케쥴러(1310)가 선택되었기 때문에, 그러한 동작(S110)은 생략될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 도 7에 도시된 데이터 리커버 읽기 동작을 설명하기 위한 흐름도이다.
설명에 앞서, 도 8에 도시된 데이터 리커버 읽기 동작은 공격 셀들이 하나의 그룹을 구성한다는 예를 기준으로 설명될 것이다. 하나의 공격 셀 그룹은, 예를 들면, 도 2b에 도시된 프로그램 상태(P1) 또는 도 2b 및 도 2c에 도시된 프로그램 상태들(P1, P3, P5, P7)을 포함할 것이다. 하지만, 공격 셀 그룹에 속한 프로그램 상태들이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다.
S131 단계에서, 읽기 요청된 워드 라인에 인접한 상위 워드 라인의 메모리 셀들로부터 데이터가 읽혀질 것이다. 이는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어하에 페이지 버퍼 회로(1400)를 통해 행해질 것이다. 상위 워드 라인에 정상 읽기 전압(RD)이 인가된 상태에서, 상위 워드 라인의 메모리 셀들로부터 데이터가 읽혀질 것이다. 2개의 인접한 상태들(예를 들면, E, P1)을 구별하기 위한 하나의 정상 읽기 전압(RD)이 사용되며, 나머지 상태들을 구별하기 위한 정상 읽기 전압들이 각각 사용될 것이다. 읽혀진 데이터는 페이지 버퍼 회로(1400)의 데이터 래치 회로들에 저장될 것이다. S132 단계에서, 페이지 버퍼 회로(1400)의 페이지 버퍼들(PB1∼PBj)에 각각 속한 N-비트 래치들(1401)은, 앞서 설명된 바와 같이, 상위 워드 라인의 메모리 셀들로부터 읽혀진 데이터에 따라 '0' 또는 '1'로 각각 설정될 것이다.
S132 단계에서, N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들 중 제 1 메모리 셀들로부터 데이터가 읽혀질 것이다. 이때, 읽기 요청된 워드 라인에는 데이터 리커버 읽기 전압(DR1)이 인가되고, '1'로 설정된 N-비트 래치들(1401)에 대응하는 비트 라인들은 접지 전압으로 설정될 것이다. 이러한 조건에 따르면, 제 1 메모리 셀들로서 커플링을 경험하지 않는 메모리 셀들로부터 데이터가 읽혀질 것이다.
S133 단계에서, N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들 중 제 2 메모리 셀들로부터 데이터가 읽혀질 것이다. 이때, 읽기 요청된 워드 라인에는 데이터 리커버 읽기 전압(DR2)이 인가되고, '0'로 설정된 N-비트 래치들(1401)에 대응하는 비트 라인들은 접지 전압으로 설정될 것이다. 이러한 조건에 따르면, 제 2 메모리 셀들로서 커플링을 경험한 메모리 셀들로부터 데이터가 읽혀질 것이다. 이후, 절차는 도 7에서 설명된 S140 단계로 진행할 것이다.
도 9는 본 발명의 다른 실시예에 따른 도 7에 도시된 데이터 리커버 읽기 동작을 설명하기 위한 흐름도이다.
설명에 앞서, 도 9에 도시된 데이터 리커버 읽기 동작은 공격 셀들이 2개의 그룹들을 구성한다는 예를 기준으로 설명될 것이다. 2개의 공격 셀 그룹들 중 하나의 그룹은, 예를 들면, 도 2b에 도시된 프로그램 상태(P1)을 포함하고, 다른 하나의 그룹은 도 2b에 도시된 프로그램 상태들(P2∼P7)을 포함할 것이다. 하지만, 공격 셀 그룹에 속한 프로그램 상태들이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다.
S135 단계에서, 읽기 요청된 워드 라인에 인접한 상위 워드 라인의 메모리 셀들로부터 데이터가 읽혀질 것이다. 이는 제어 로직 및 입출력 인터페이스 블록(1300)의 제어하에 페이지 버퍼 회로(1400)를 통해 행해질 것이다. 읽혀진 데이터는 페이지 버퍼 회로(1400)의 데이터 래치 회로들에 저장될 것이다. 상위 워드 라인에 정상 읽기 전압(RD)이 인가된 상태에서, 상위 워드 라인의 메모리 셀들로부터 데이터가 읽혀질 것이다. 2개의 인접한 상태들(예를 들면, E, P1)을 구별하기 위한 하나의 정상 읽기 전압(RD)이 사용되며, 나머지 상태들을 구별하기 위한 정상 읽기 전압들이 각각 사용될 것이다.
S136 단계에서, 페이지 버퍼 회로(1400)의 페이지 버퍼들(PB1∼PBj)에 각각 속한 N-비트 래치들(1401)은, 앞서 설명된 바와 같이, 상위 워드 라인의 메모리 셀들로부터 읽혀진 데이터에 따라 '00', '01', 또는 '11'로 각각 설정될 것이다. S137 단계에서, N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들 중 제 1 메모리 셀들로부터 데이터가 읽혀질 것이다. 이때, 읽기 요청된 워드 라인에는 데이터 리커버 읽기 전압(DR1)이 인가되고, '01' 및 '11'로 설정된 N-비트 래치들(1401)에 대응하는 비트 라인들은 접지 전압으로 설정될 것이다. 이러한 조건에 따르면, 제 1 메모리 셀들로서 커플링을 경험하지 않는 메모리 셀들로부터 데이터가 읽혀질 것이다.
S138 단계에서, N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들 중 제 2 메모리 셀들로부터 데이터가 읽혀질 것이다. 이때, 읽기 요청된 워드 라인에는 읽기 전압(DR2)이 인가되고, '00' 및 '11'로 설정된 N-비트 래치들(1401)에 대응하는 비트 라인들은 접지 전압으로 설정될 것이다. 이러한 조건에 따르면, 제 2 메모리 셀들로서 커플링을 경험한 그리고 프로그램 상태들(P2∼P7)을 갖는 메모리 셀들로부터 데이터가 읽혀질 것이다.
S139 단계에서, N-비트 래치들(1401)에 저장된 값들에 의거하여 읽기 요청된 워드 라인의 메모리 셀들 중 제 3 메모리 셀들로부터 데이터가 읽혀질 것이다. 이때, 읽기 요청된 워드 라인에는 데이터 리커버 읽기 전압(DR3)이 인가되고, '00' 및 '01'로 설정된 N-비트 래치들(1401)에 대응하는 비트 라인들은 접지 전압으로 설정될 것이다. 이러한 조건에 따르면, 제 3 메모리 셀들로서 커플링을 경험한 그리고 프로그램 상태(P1)를 갖는 메모리 셀들로부터 데이터가 읽혀질 것이다. 이후, 절차는 도 7에서 설명된 S140 단계로 진행할 것이다.
도 10은 본 발명의 다른 예시적인 실시예에 따른 불 휘발성 메모리 장치를 개략적으로 보여주는 블록도이다. 도 10을 참조하면, 불 휘발성 메모리 장치(1000a)는 메모리 셀 어레이(1100), 행 선택 회로(1200), 제어 로직 및 입출력 인터페이스 블록(1300a), 페이지 버퍼 회로(1400), 그리고 열 선택 회로(1500)를 포함할 것이다. 도 10에 있어서, 도 5에 도시된 구성 요소들과 동일한 기능을 갖는 구성 요소들은 동일한 참조 번호들로 표기되며, 그것에 대한 설명은 그러므로 생략될 것이다.
제어 로직 및 입출력 인터페이스 블록(1300a)은 정상 읽기 스케쥴러(1310a)와 복수의 데이터 리커버 읽기 스케쥴러들(1320a∼1330a)을 포함할 것이다. 정상 읽기 스케쥴러(1310a)와 복수의 데이터 리커버 읽기 스케쥴러들(1320a∼1330a) 중 어느 하나는, 예를 들면, 파워-업시 외부 장치(예를 들면, 제어기)에 의해서 선택될 것이다. 또는, 정상 읽기 스케쥴러(1310a)와 복수의 데이터 리커버 읽기 스케쥴러들(1320a∼1330a) 중 어느 하나는 불 휘발성 메모리 장치(2000a)의 사용 중에(또는, 온-더-플라이 방식으로) 외부 장치(예를 들면, 제어기)에 의해서 선택될 것이다. 정상 읽기 스케쥴러(1310a)는 읽기 요청된 워드 라인의 메모리 셀들로부터 데이터가 읽혀지도록 페이지 버퍼 회로(1400)를 제어할 것이다.
복수의 데이터 리커버 읽기 스케쥴러들(1320a∼1330a) 각각은 앞서 설명된 데이터 리커버 읽기 동작을 수행하도록 페이지 버퍼 회로(1400)를 제어할 것이다. 복수의 데이터 리커버 읽기 스케쥴러들(1320a∼1330a)은, 예를 들면, 공격 셀들이 하나의 그룹을 구성하는 경우 데이터 리커버 읽기 동작을 제어하도록 구성되는 제 1 데이터 리커버 읽기 스커쥴러와 공격 셀들이 2개의 그룹들을 구성하는 경우 데이터 리커버 읽기 동작을 제어하도록 구성되는 제 2 데이터 리커버 읽기 스커쥴러를 포함할 것이다. 제 1 데이터 리커버 읽기 스커쥴러(1320a)는 도 7 및 도 8에서 설명된 읽기 방법에 따라 읽기 동작을 제어하며, 그것에 대한 설명은 그러므로 생략될 것이다. 제 2 데이터 리커버 읽기 스커쥴러(1330a)는 도 7 및 도 9에서 설명된 읽기 방법에 따라 읽기 동작을 제어하며, 그것에 대한 설명은 그러므로 생략될 것이다.
여기서, 데이터 리커버 읽기 스케쥴러들의 수가 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 데이터 리커버 읽기 스케쥴러들의 수는 공격 셀 그룹들의 수에 따라 결정될 것이다.
도 11은 본 발명의 예시적인 실시예에 따른 불 휘발성 메모리 장치를 포함한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 11을 참조하면, 메모리 시스템(2000)은 적어도 하나의 불 휘발성 메모리 장치(2100)와 제어기(2200)를 포함할 것이다. 불 휘발성 메모리 장치(2100)는 도 5에 도시된 것과 실질적으로 동일하게 구성될 것이다. 예를 들면, 불 휘발성 메모리 장치(2100)는 정상 읽기 스케쥴러(2110)와 하나의 데이터 리커버 읽기 스케쥴러(2120)를 포함할 것이다. 정상 읽기 스케쥴러(2110)는 정상 읽기 동작을 제어하도록 구성될 것이다. 하나의 데이터 리커버 읽기 스케쥴러(2120)는 공격 셀들이 하나의 그룹을 구성할 때 행해지는 데이터 리커버 읽기 동작을 제어하도록 또는 공격 셀들이 2개의 그룹들을 구성할 때 행해지는 데이터 리커버 읽기 동작을 제어하도록 구성될 것이다.
제어기(2200)는 불 휘발성 메모리 장치(2100)를 제어하도록 구성될 것이다. 제어기(2200)는 파워-업시 불 휘발성 메모리 장치(2100)의 스케쥴러들(2110, 2120) 중 어느 하나를 선택하도록 구성될 것이다. 예를 들면, 제어기(2200)는 파워-업시 불 휘발성 메모리 장치(2100)의 소정 위치로부터 데이터를 읽고, 읽혀진 데이터의 에러율(error rate)에 의거하여 불 휘발성 메모리 장치(2100)의 스케쥴러들(2110, 2120) 중 어느 하나를 선택할 것이다. 에러율이 소정의 기준값을 초과하지 않을 때, 정상 읽기 스케쥴러(2110)가 제어기(2200)에 의해서 선택될 것이다. 에러율이 소정의 기준값을 초과할 때, 데이터 리커버 읽기 스케쥴러(2120)가 제어기(2200)에 의해서 선택될 것이다.
예시적인 실시예들에 있어서, 소정 위치는 고정된 어드레스 또는 가변적인 어드레스에 따라 결정될 것이다. 가변적인 어드레스에 따라 소정 위치가 결정되는 경우, 제어기(2200)는 데이터가 저장된 불 휘발성 메모리 장치(2100)의 위치를 나타내는 맵핑 테이블에 의거하여 소정 위치를 결정할 것이다. 하지만, 소정 위치를 결정하는 방식이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다. 또는, 불 휘발성 메모리 장치에 저장된(또는, 제어기에 저장된) 테스트 패턴을 이용하여 에러 비트들의 위치를 판별하고, 판별된 위치들의 메모리 셀들의 데이터 상태들에 의거하여 공격 셀들을 결정하는 것이 가능할 것이다.
도 12는 본 발명의 예시적인 실시예에 따른 도 11에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다. 이하, 본 발명의 예시적인 실시예에 따른 스케쥴러 설정 방법이 참조 도면들에 의거하여 상세히 설명될 것이다.
S200 단계에서, 메모리 시스템(2000)이 파워-업될 것이다. S210 단계에서, 제어기(2200)는 불 휘발성 메모리 장치(2100)의 소정 위치로부터 데이터를 읽는다. 제어기(2200)는 읽혀진 데이터의 에러율이 기준값을 초과하는 지의 여부를 판별할 것이다. 만약 읽혀진 데이터의 에러율이 기준값을 초과하는 것으로 판별되면, 절차는 S230 단계로 진행할 것이다. S230 단계에서, 불 휘발성 메모리 장치(2100)의 데이터 리커버 읽기 스케쥴러(2120)가 제어기(2200)의 제어하에 선택될 것이다. 이후, 절차는 종료될 것이다. 만약 읽혀진 데이터의 에러율이 기준값을 초과하지 않는 것으로 판별되면, 절차는 S240 단계로 진행할 것이다. S240 단계에서, 불 휘발성 메모리 장치(2100)의 정상 읽기 스케쥴러(2110)가 제어기(2200)의 제어하에 선택될 것이다. 이후, 절차는 종료될 것이다.
상술한 파워-업 시퀀스 이후, 제어기(2200)는 불 휘발성 메모리 장치(2100)에 대한 액세스가 요청되었는 지의 여부를 판별할 것이다. 만약 불 휘발성 메모리 장치(2100)에 대한 액세스가 요청된 것으로 판별되면, 요청된 액세스에 대한 동작이 제어기(2200)의 제어하에 수행될 것이다.
도 13은 본 발명의 다른 예시적인 실시예에 따른 불 휘발성 메모리 장치를 포함한 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 13을 참조하면, 메모리 시스템(2000a)은 적어도 하나의 불 휘발성 메모리 장치(2100a)와 제어기(2200a)를 포함할 것이다. 불 휘발성 메모리 장치(2100a)는 도 10에 도시된 것과 실질적으로 동일하게 구성될 것이다. 예를 들면, 불 휘발성 메모리 장치(2100a)는 정상 읽기 스케쥴러(2110a)와 복수의 데이터 리커버 읽기 스케쥴러들(2120a, 2130a)를 포함할 것이다. 정상 읽기 스케쥴러(2110a)는 정상 읽기 동작을 제어하도록 구성될 것이다. 복수의 데이터 리커버 읽기 스케쥴러들(2120a∼2130a)은, 예를 들면, 공격 셀들이 하나의 그룹을 구성하는 경우 데이터 리커버 읽기 동작을 제어하도록 구성되는 제 1 데이터 리커버 읽기 스커쥴러와 공격 셀들이 2개의 그룹들을 구성하는 경우 데이터 리커버 읽기 동작을 제어하도록 구성되는 제 2 데이터 리커버 읽기 스커쥴러를 포함할 것이다. 제 1 데이터 리커버 읽기 스커쥴러(2120a)는 도 7 및 도 8에서 설명된 읽기 방법에 따라 읽기 동작을 제어할 것이다. 즉, 제 1 데이터 리커버 읽기 스커쥴러(2120a)는 공격 셀들이 하나의 그룹을 구성할 때 행해지는 데이터 리커버 읽기 동작을 제어할 것이다. 제 2 데이터 리커버 읽기 스커쥴러(2130a)는 도 7 및 도 9에서 설명된 읽기 방법에 따라 읽기 동작을 제어할 것이다. 즉, 제 2 데이터 리커버 읽기 스커쥴러(2130a)는 공격 셀들이 2개의 그룹들을 구성할 때 행해지는 데이터 리커버 읽기 동작을 제어할 것이다.
제어기(2200a)는 불 휘발성 메모리 장치(2100a)를 제어하도록 구성될 것이다. 제어기(2200a)는 파워-업시 불 휘발성 메모리 장치(2100a)의 스케쥴러들(2110a, 2120a, 2130a) 중 어느 하나를 선택하도록 구성될 것이다. 예를 들면, 제어기(2200a)는 파워-업시 불 휘발성 메모리 장치(2100)의 소정 위치로부터 데이터를 읽고, 읽혀진 데이터의 에러율(error rate)에 의거하여 불 휘발성 메모리 장치(2100a)의 스케쥴러들(2110a, 2120a, 2130a) 중 어느 하나를 선택할 것이다. 이는 이후 상세히 설명될 것이다.
도 14는 본 발명의 예시적인 실시예에 따른 도 13에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다. 이하, 본 발명의 예시적인 실시예에 따른 스케쥴러 설정 방법이 참조 도면들에 의거하여 상세히 설명될 것이다.
S300 단계에서, 메모리 시스템(2000a)이 파워-업될 것이다. S310 단계에서, 제어기(2200a)는 불 휘발성 메모리 장치(2100a)의 소정 위치로부터 데이터를 읽는다. 제어기(2200a)는 읽혀진 데이터의 에러율이 제 1 기준값을 초과하는 지의 여부를 판별할 것이다. 만약 읽혀진 데이터의 에러율이 제 1 기준값을 초과하지 않는 것으로 판별되면, 절차는 S330 단계로 진행할 것이다. S330 단계에서, 불 휘발성 메모리 장치(2100a)의 정상 읽기 스케쥴러(2110a)가 제어기(2200a)의 제어하에 선택될 것이다. 이후, 절차는 S370 단계로 진행할 것이다.
만약 읽혀진 데이터의 에러율이 제 1 기준값을 초과하는 것으로 판별되면, 절차는 S340 단계로 진행할 것이다. S340 단계에서, 제어기(2200a)는 읽혀진 데이터의 에러율이 제 1 기준값을 초과하고 제 2 기준값을 초과하지 않는 지의 여부를 판별할 것이다. 만약 읽혀진 데이터의 에러율이 제 1 기준값을 초과하고 제 2 기준값을 초과하지 않는 것으로 판별되면, 절차는 S350 단계로 진행할 것이다. S350 단계에서, 불 휘발성 메모리 장치(2100)의 제 1 데이터 리커버 읽기 스케쥴러(2110a)가 제어기(2200a)의 제어하에 선택될 것이다. 이후, 절차는 종료될 것이다. 만약 읽혀진 데이터의 에러율이 제 2 기준값을 초과하는 것으로 판별되면, 절차는 S360 단계로 진행할 것이다. S360 단계에서, 불 휘발성 메모리 장치(2100a)의 제 2 데이터 리커버 읽기 스케쥴러(2130a)가 제어기(2200a)의 제어하에 선택될 것이다. 이후, 절차는 종료될 것이다.
상술한 파워-업 시퀀스 이후, 제어기(2200a)는 불 휘발성 메모리 장치(2100a)에 대한 액세스가 요청되었는 지의 여부를 판별할 것이다. 만약 불 휘발성 메모리 장치(2100a)에 대한 액세스가 요청된 것으로 판별되면, 요청된 액세스에 대한 동작이 제어기(2200a)의 제어하에 수행될 것이다.
예시적인 실시예에 있어서, 커플링 레벨은 에러율의 증가에 따라 보다 세밀하게 구별될 수 있다. 다시 말해서, 에러율이 증가될 때 커플링 레벨에 의거하여 공격 셀들을 보다 세밀하게 구분함으로써 읽기 오류로 인한 에러 비트들의 수를 줄이는 것이 가능할 것이다.
도 15는 본 발명의 예시적인 실시예에 따른 제어기를 개략적으로 보여주는 블록도이다. 도 15에 도시된 제어기(3000)는 도 11과 도 13 중 어느 하나에 도시된 것에 대응할 것이다. 도 15를 참조하면, 본 발명의 예시적인 실시예에 따른 제어기(3000)는 제 1 인터페이스(3210), 제 2 인터페이스(3220), 처리 유니트(3230), 버퍼(3240), ECC 유니트(3250), 그리고 롬(3260)을 포함할 것이다.
제 1 인터페이스(3210)는 외부(또는, 호스트)와 인터페이스하도록 구성될 것이다. 제 2 인터페이스(3220)는 도 14에 도시된 저장 매체(3100)와 인터페이스하도록 구성될 것이다. 처리 유니트(3230), 예를 들면, CPU는 제어기(3200)의 전반적인 동작을 제어하도록 구성될 것이다. 예를 들면, 처리 유니트(3230)는 롬(3260)에 저장된 플래시 변환 계층(Flash Translation Layer: FTL)과 같은 펌웨어를 운용하도록 구성될 것이다. 롬(3260)을 포함하지 않도록 제어기(3000)를 구성하는 것이 가능하다. 이러한 경우, 롬(3260)에 저장되는 펌웨어는 제어기(3000)에 의해서 제어되는 불 휘발성 메모리 장치에 저장되며, 파워-업시 불 휘발성 메모리 장치에서 제어기(3000)로 로드될 것이다. 버퍼(3240)는 제 1 인터페이스(3210)를 통해 외부로 전달되는 데이터를 임시 저장하는 데 사용될 것이다. 버퍼(3240)는 제 2 인터페이스(3220)를 통해 저장 매체(3100)로부터 전달되는 데이터를 임시 저장하는 데 사용될 것이다. ECC 유니트(3250)는 저장 매체(3100)에 저장될 데이터를 부호화하도록 그리고 저장 매체(3100)로부터 읽혀진 데이터를 복호화하도록 구성될 것이다.
처리 유니트(3230)는, 특히, 파워-업시, 불 휘발성 메모리 장치의 특정 위치로부터 데이터를 읽고, 읽혀진 데이터의 에러율을 계산하고, 에러율에 의거하여 불 휘발성 메모리 장치의 읽기 스킴(정상 읽기 방식과 데이터 리커버 읽기 방식(들)을 포함함)을 선택할 것이다. 앞서 설명된 바와 같이, 불 휘발성 메모리 장치의 특정 위치는 펌웨어에 의해서 관리되는 맵핑 테이블을 이용하여 결정될 수 있다. 하지만, 불 휘발성 메모리 장치의 특정 위치를 결정하는 방식이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다.
예시적인 실시예에 있어서, 제 1 인터페이스(3210)는 컴퓨터 버스 표준들, 스토리지 버스 표준들, iFCPPeripheral 버스 표준들, 등 중 하나 또는 그 보다 많은 것들의 조합으로 구성될 수 있다. 컴퓨터 버스 표준들(computer bus standards)은 S-100 bus, Mbus, Smbus, Q-Bus, ISA, Zorro II, Zorro III, CAMAC, FASTBUS, LPC, EISA, VME, VXI, NuBus, TURBOchannel, MCA, Sbus, VLB, PCI, PXI, HP GSC bus, CoreConnect, InfiniBand, UPA, PCI-X, AGP, PCIe, Intel QuickPath Interconnect, Hyper Transport, 등을 포함한다. 스토리지 버스 표준들(Storage bus standards)은 ST-506, ESDI, SMD, Parallel ATA, DMA, SSA, HIPPI, USB MSC, FireWire(1394), Serial ATA, eSATA, SCSI, Parallel SCSI, Serial Attached SCSI, Fibre Channel, iSCSI, SAS, RapidIO, FCIP, 등을 포함한다. iFCPPeripheral 버스 표준들(iFCPPeripheral bus standards)은 Apple Desktop Bus, HIL, MIDI, Multibus, RS-232, DMX512-A, EIA/RS-422, IEEE-1284, UNI/O, 1-Wire, I2C, SPI, EIA/RS-485, USB, Camera Link, External PCIe, Light Peak, Multidrop Bus, 등을 포함한다.
도 16은 본 발명의 다른 예시적인 실시예에 따른 도 13에 도시된 제어기의 스케쥴러 설정 방법을 설명하기 위한 흐름도이다. 이하, 본 발명의 다른 예시적인 실시예에 따른 스케쥴러 설정 방법이 참조 도면들에 의거하여 상세히 설명될 것이다.
S400 단계에서, 제어기(2200a)는 외부 장치의 요청에 응답하여 불 휘발성 메모리 장치(2100a)로부터 데이터를 읽는다. 여기서, 불 휘발성 메모리 장치(2100a)의 읽기 동작은 불 휘발성 메모리 장치(2100a)에 의해서 사용되는 읽기 스킴(정상 읽기 스킴 또는 데이터 리커버 읽기 스킴)이 파워-업 이후 제어기(2200a)에 의해서 선택되었다고 가정하에서 행해질 것이다. S410 단계에서, 제어기(2200a)는 읽혀진 데이터의 에러가 정정 가능한 지의 여부를 판별할 것이다. 만약 읽혀진 데이터의 에러가 정정 가능한 것으로 판별되면, S420 단계에서, 정정된 데이터는 외부 장치로 전송될 것이다. 이후, 절차는 종료될 것이다.
만약 읽혀진 데이터의 에러가 정정 가능하지 않은 것으로 판별되면, 절차는 S430 단계로 진행할 것이다. S430 단계에서, 제어기(2200a)는 불 휘발성 메모리 장치(2100a)의 읽기 스킴을 변경할 것이다. 예를 들면, 제어기(2200a)는 정상 읽기 스킴 대신에 데이터 리커버 읽기 스킴이 선택되도록 불 휘발성 메모리 장치(2100a)를 제어할 것이다. 또는, 복수의 데이터 리커버 읽기 스케쥴러들(2120a∼2130a)에 있어서, 제어기(2200a)는 이전에 선택된 읽기 스케쥴러를 제외한 나머지 데이터 리커버 읽기 스케쥴러들 중 하나가 선택되도록 불 휘발성 메모리 장치(2100a)를 제어할 것이다. 이후, 절차는 종료될 것이다.
예시적인 실시예에 있어서, 읽기 스킴이 변경되는 경우, 제어기(2200a)는 에러가 발생하였음을 외부 장치로 통지할 것이다. 또는, 도 16에서 점선으로 도시된 바와 같이, S440 단계에서 선택적으로 데이터 읽기 및 정정 동작이 행해질 것이다. 즉, 불 휘발성 메모리 장치(2100a)의 변경된 데이터 리커버 읽기 스케쥴러의 제어하에 데이터가 읽혀지고, 읽혀진 데이터의 에러가 정정될 것이다. S420 단계에서, 정정된 데이터는 외부 장치로 전송될 것이다.
도 17은 본 발명의 예시적인 실시예들에 따른 불 휘발성 메모리 장치를 이용한 반도체 드라이브를 개략적으로 보여주는 블록도이다.
도 17을 참조하면, 반도체 드라이브(4000)(SSD)는 저장 매체(4100)와 제어기(4200)를 포함할 것이다. 저장 매체(4100)는 복수의 채널들을 통해 제어기(4200)와 연결될 것이다. 각 채널에는 복수의 불 휘발성 메모리들이 공통으로 연결될 것이다. 각 불 휘발성 메모리는 가변 가능한 읽기 스킴을 이용하여 읽기 동작을 수행하는 도 5 또는 도 10에서 설명된 메모리로 구성될 것이다. 제어기(4200)는 저장 매체(4100)를 제어하도록 구성될 것이다. 제어기(4200)는 도 11 또는 도 13에서 설명된 것과 동일하게 구성될 것이다.
도 18a은 도 17에 도시된 반도체 드라이브를 이용한 스토리지를 개략적으로 보여주는 블록도이고, 도 18b은 도 17에 도시된 반도체 드라이브를 이용한 스트리지 서버를 개략적으로 보여주는 블록도이다.
본 발명의 예시적인 실시예에 따른 반도체 드라이브(4000)는 스토리지를 구성하는 데 사용될 수 있다. 도 18a에 도시된 바와 같이, 스토리지는 도 17에서 설명된 것과 실질적으로 동일하게 구성되는 복수의 반도체 드라이브들을 포함할 것이다. 본 발명의 예시적인 실시예에 따른 반도체 드라이브(4000)는 스토리지 서버를 구성하는 데 사용될 수 있다. 도 18b에 도시된 바와 같이, 스토리지 서버는 도 17에서 설명된 것과 실질적으로 동일하게 구성되는 복수의 반도체 드라이브들(4000)과 서버(4000A)를 포함할 것이다. 또한, 반도체 드라이브들(4000)에 저장된 데이터에 대한 결함을 치유하기 위해 적용되는 패리티 방식에 따른 패리티 관리를 위한 RAID 제어기(4000B)가 스토리지 서버에 제공될 수 있음은 잘 이해될 것이다.
도 19 내지 도 21은 본 발명의 예시적인 실시예들에 따른 데이터 저장 장치가 적용되는 시스템들을 개략적으로 보여주는 도면들이다.
본 발명의 예시적인 실시예들에 따른 데이터 저장 장치를 포함한 반도체 드라이브가 스토리지에 적용되는 경우, 도 19에 도시된 바와 같이, 시스템(6000)은 유선 그리고/또는 무선으로 호스트와 통신하는 스토리지(6100)를 포함할 것이다. 본 발명의 예시적인 실시예들에 따른 데이터 저장 장치를 포함한 반도체 드라이브가 스토리지 서버에 적용되는 경우, 도 20에 도시된 바와 같이, 시스템(7000)은 유선 그리고/또는 무선으로 호스트와 통신하는 스토리지 서버들(7100, 7200)을 포함할 것이다. 또한, 도 21에 도시된 바와 같이, 본 발명의 예시적인 실시예에 따른 데이터 저장 장치를 포함한 반도체 드라이브는 메일 서버(8100)에도 적용될 수 있다. 메일 서버(8100)는 POP 및 SMTP 방식들로 연결된 메일 데몬을 통해 사용자 메일 프로그램들과 통신하며, 메일 서버들(8100)은 인터넷망을 통해 통신할 것이다.
도 22 내지 도 26은 본 발명의 예시적인 실시예들에 따른 불 휘발성 메모리 장치가 적용되는 다른 시스템들을 개략적으로 보여주는 도면들이다.
도 22는 본 발명의 실시예들에 따른 불 휘발성 메모리 장치가 사용되는 휴대폰 시스템(cellular phone system)을 개략적으로 보여주는 블록도이다.
도 22를 참조하면, 휴대폰 시스템은 소리를 압축하거나 압축된 소리를 푸는(compression or decompression) ADPCM 코덱 회로(9202), 스피커(speaker)(9203), 마이크로폰(microphone)(9204), 디지털 데이터를 시분할 멀티플렉싱하는 TDMA회로(9206), 무선 신호의 캐리어 주파수(carrier frequency)를 세팅하는 PLL회로(9210), 무선 신호를 전달하거나 받기 위한 RF 회로(9211) 등을 포함할 수 있다.
또한, 휴대폰 시스템은 여러가지 종류의 메모리 장치를 포함할 수 있는데, 예를 들어, 휴대폰 시스템은 불 휘발성 메모리 장치(9207), ROM(9208), SRAM(9209)를 포함할 수 있다. 휴대폰 시스템의 불 휘발성 메모리 장치(9207)로서, 예를 들어, 본 발명의 예시적인 실시예들에 따른 불 휘발성 메모리 장치가 사용될 수 있다. ROM(9208)은 프로그램을 저장할 수 있고, SRAM(9209)은 시스템 컨트롤 마이크로컴퓨터(9212)를 위한 작업 영역으로써 역할을 하거나 데이터를 일시적으로 저장한다. 여기서, 시스템 컨트롤 마이크로컴퓨터(9212)는 프로세서로서, 불 휘발성 메모리 장치(9207)의 라이트 동작 및 리드 동작을 제어할 수 있다.
도 23은 본 발명의 실시예들에 따른 불 휘발성 메모리 장치가 사용되는 메모리 카드(memory card)의 예시적 도면이다. 메모리 카드는 예를 들어, MMC 카드, SD카드, 멀티유즈(multiuse) 카드, 마이크로 SD카드, 메모리 스틱, 컴팩트 SD 카드, ID 카드, PCMCIA 카드, SSD카드, 칩카드(chipcard), 스마트카드(smartcard), USB카드 등일 수 있다.
도 23을 참조하면, 메모리 카드는 외부와의 인터페이스를 수행하는 인터페이스부(9221), 버퍼 메모리를 갖고 메모리 카드의 동작을 제어하는 컨트롤러(9222), 본 발명의 실시예들에 따른 불 휘발성 메모리 장치(9207)을 적어도 하나 포함할 수 있다. 컨트롤러(9222)는 프로세서로서, 불 휘발성 메모리 장치(9207)의 라이트 동작 및 리드 동작을 제어할 수 있다. 구체적으로, 컨트롤러(9222)는 데이터 버스(DATA)와 어드레스 버스(ADDRESS)를 통해서 불 휘발성 메모리 장치(9207), 인터페이스부(9221)와 커플링되어 있다.
도 24는 본 발명의 실시예들에 따른 불 휘발성 메모리 장치가 사용되는 디지털 스틸 카메라(digital still camera)의 예시적 도면이다.
도 24를 참조하면, 디지털 스틸 카메라는 바디(9301), 슬롯(9302), 렌즈(9303), 디스플레이부(9308), 셔터 버튼(9312), 스트로브(strobe)(9318) 등을 포함한다. 특히, 슬롯(9302)에는 메모리 카드(9331)가 삽입될 수 있고, 메모리 카드(9331)는 본 발명의 실시예들에 따른 불 휘발성 메모리 장치(9207)를 적어도 하나 포함할 수 있다.
메모리 카드(9331)가 접촉형(contact type)인 경우, 메모리 카드(9331)가 슬롯(9308)에 삽입될 때 메모리 카드(9331)와 회로 기판 상의 특정 전기 회로가 전기적으로 접촉하게 된다. 메모리 카드(9331)가 비접촉형(non-contact type)인 경우, 무선 신호를 통해서 메모리 카드(9331)가 액세스될 것이다.
도 25는 도 23의 메모리 카드가 사용되는 다양한 시스템을 설명하는 예시적 도면이다.
도 25를 참조하면, 메모리 카드(2331)는 (a) 비디오 카메라, (b) 텔레비전, (c) 오디오 장치, (d) 게임장치, (e) 전자 음악 장치, (f) 휴대폰, (g) 컴퓨터, (h) PDA(Personal Digital Assistant), (i) 보이스 레코더(voice recorder), (j) PC 카드 등에 사용될 수 있다.
도 26은 본 발명의 실시예들에 따른 비휘발성 메모리 장치가 사용되는 이미지 센서(image sensor) 시스템의 예시적 도면이다.
도 26을 참조하면, 이미지 센서 시스템은 이미지 센서(9332), 입출력 장치(9336), RAM(9348), CPU(9344), 본 발명의 실시예들에 따른 불 휘발성 메모리 장치(9354) 등을 포함할 수 있다. 각 구성요소, 즉, 이미지 센서(9332), 입출력 장치(9336), RAM(9348), CPU(9344), 불 휘발성 메모리 장치(9354)는 버스(9352)를 통해서 서로 통신한다. 이미지 센서(9332)는 포토게이트, 포토다이오드 등과 같은 포토센싱(photo sensing) 소자를 포함할 수 있다. 각각의 구성 요소는 프로세서와 함께 하나의 칩으로 구성될 수도 있고, 프로세서와 각각 별개의 칩으로 구성될 수도 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
1000: 불 휘발성 메모리 장치
1100: 메모리 셀 어레이
1200: 행 선택 회로
1300: 제어 로직 및 입출력 인터페이스 블록
1400: 페이지 버퍼 회로
1500: 열 선택 회로

Claims (17)

  1. 행들과 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이와;
    상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로와; 그리고
    정상 읽기 동작을 제어하는 정상 읽기 스케쥴러와 데이터 리커버 읽기 동작을 제어하는 데이터 리커버 읽기 스케쥴러를 구비하며, 읽기 요청시 상기 페이지 버퍼 회로를 제어하도록 구성된 제어 로직 및 입출력 인터페이스 블록을 포함하며,
    상기 정상 읽기 스케쥴러 또는 상기 데이터 리커버 읽기 스케쥴러는 외부로부터 제공되는 선택 정보에 따라 선택되는 불 휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 정상 읽기 스케뷸러 또는 상기 데이터 리커버 읽기 스케쥴러의 선택은 파워-업시 또는 온-더-플라이 방식으로 행해지는 불 휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함하는 불 휘발성 메모리 장치.
  4. 제 3 항에 있어서,
    상기 인접한 행의 메모리 셀들은 상기 읽기 요청된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들을 포함하며, 상기 공격 셀들은 하나 또는 그 보다 많은 공격 셀 그룹들을 구성하는 불 휘발성 메모리 장치.
  5. 제 4 항에 있어서,
    상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되는 불 휘발성 메모리 장치.
  6. 제 5 항에 있어서,
    상기 인접한 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성하는 불 휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정되는 불 휘발성 메모리 장치.
  8. 제 5 항에 있어서,
    상기 인접한 행의 메모리 셀들 중 최하위 프로그램 상태로서 상기 제 1 프로그램 상태를 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 1 공격 셀 그룹을 구성하고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 내지 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 제 2 공격 셀 그룹을 구성하는 불 휘발성 메모리 장치.
  9. 제 8 항에 있어서,
    상기 인접한 행의 메모리 셀들 중 상기 제 1 공격 셀 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 상기 제 2 공격 셀 그룹에 속한 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정되며, 상기 인접한 행의 메모리 셀들 중 나머지 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 나머지 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 3 논리 상태로 설정되는 불 휘발성 메모리 장치.
  10. 행들과 열들로 배열된 멀티-비트 메모리 셀들을 포함하는 불 휘발성 메모리 장치의 읽기 방법에 있어서:
    데이터 리커버 읽기 스킴이 선택되었는 지의 여부를 판별하고;
    상기 데이터 리커버 읽기 스킴이 선택된 것으로 판별될 때, 상기 데이터 리커버 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽고; 그리고
    상기 데이터 리커버 읽기 스킴이 선택되지 않은 것으로 판별될 때, 정상 읽기 스킴에 따라 읽기 요청된 행의 메모리 셀들로부터 데이터를 읽는 것을 포함하며, 상기 데이터 리커버 읽기 스킴의 선택은 외부 장치로부터 제공되는 선택 정보에 의해서 행해지는 것을 특징으로 하는 읽기 방법.
  11. 제 10 항에 있어서,
    상기 메모리 셀들 각각은 3-비트 데이터를 저장하며, 소거 상태 및 제 1 내지 제 7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되는 것을 특징으로 하는 읽기 방법.
  12. 제 11 항에 있어서,
    상기 제 1 내지 제 7 프로그램 상태들 중 적어도 하나의 프로그램 상태는 음의 전압이 상기 선택된 행에 인가된 상태에서 판별되고, 상기 인접한 행의 메모리 셀들 중 상기 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들을 갖는 메모리 셀들은 상기 데이터 리커버 읽기 동작시 상기 선택된 행의 메모리 셀들에 워드 라인 커플링을 유발하는 공격 셀들의 그룹을 구성하는 것을 특징으로 하는 읽기 방법.
  13. 제 12 항에 있어서,
    상기 불 휘발성 메모리 장치는 상기 메모리 셀 어레이로부터 데이터를 읽도록 구성된 페이지 버퍼 회로를 더 포함하며,
    상기 페이지 버퍼 회로는 상기 메모리 셀 어레이의 열들에 각각 대응하는 복수의 페이지 버퍼들을 포함하며, 상기 각 페이지 버퍼는 상기 데이터 리커버 읽기 동작시 읽기 요청된 행에 인접한 행의 메모리 셀들로부터 읽혀지는 데이터에 따라 설정되는 N-비트 래치(N은 1 또는 그 보다 큰 정수)를 포함하는 것을 특징으로 하는 읽기 방법.
  14. 제 13 항에 있어서,
    상기 인접한 행의 메모리 셀들 중 상기 공격 셀들의 그룹에 속한 제 1 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 1 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 1 논리 상태로 설정되고, 상기 인접한 행의 메모리 셀들 중 제 2 메모리 셀들에 대응하는 상기 페이지 버퍼들의 N-비트 래치들은 상기 제 2 메모리 셀들로부터 읽혀진 데이터에 의거하여 제 2 논리 상태로 설정되는 것을 특징으로 하는 읽기 방법.
  15. 제 10 항에 있어서,
    상기 데이터 리커버 읽기 스킴의 선택은 상기 불 휘발성 메모리 장치를 제어하기 위한 제어기에 의해서 행해지는 것을 특징으로 하는 읽기 방법.
  16. 제 15 항에 있어서,
    상기 제어기는 파워-업시 상기 불 휘발성 메모리 장치의 특정 영역으로부터 읽혀진 데이터의 에러율에 의거하여 상기 데이터 리커버 읽기 스킴의 선택을 행하는 것을 특징으로 하는 읽기 방법.
  17. 제 15 항에 있어서,
    상기 제어기는 상기 불 휘발성 메모리 장치로부터 읽혀진 데이터의 에러율에 의거하여 온-더-플라이 방식으로 상기 데이터 리커버 읽기 스킴의 선택을 행하는 것을 특징으로 하는 읽기 방법.
KR1020110021434A 2011-03-10 2011-03-10 불 휘발성 메모리 장치 및 그것의 읽기 방법 KR101772951B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110021434A KR101772951B1 (ko) 2011-03-10 2011-03-10 불 휘발성 메모리 장치 및 그것의 읽기 방법
US13/416,038 US8665643B2 (en) 2011-03-10 2012-03-09 Non-volatile memory device and read method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110021434A KR101772951B1 (ko) 2011-03-10 2011-03-10 불 휘발성 메모리 장치 및 그것의 읽기 방법

Publications (2)

Publication Number Publication Date
KR20120103274A true KR20120103274A (ko) 2012-09-19
KR101772951B1 KR101772951B1 (ko) 2017-09-13

Family

ID=46795465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110021434A KR101772951B1 (ko) 2011-03-10 2011-03-10 불 휘발성 메모리 장치 및 그것의 읽기 방법

Country Status (2)

Country Link
US (1) US8665643B2 (ko)
KR (1) KR101772951B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180032788A (ko) * 2016-09-23 2018-04-02 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101938210B1 (ko) * 2012-04-18 2019-01-15 삼성전자주식회사 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법
US8891305B2 (en) * 2012-08-21 2014-11-18 Micron Technology, Inc. Apparatuses and methods involving accessing distributed sub-blocks of memory cells
US20140201167A1 (en) * 2013-01-17 2014-07-17 Dell Products L.P. Systems and methods for file system management
US9973215B1 (en) * 2013-01-28 2018-05-15 EMC IP Holding Company LLC Controlled multipath data packet delivery with forward error correction
US9552251B2 (en) 2014-04-22 2017-01-24 Sandisk Technologies Llc Neighboring word line program disturb countermeasure for charge-trapping 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
US9564205B2 (en) * 2014-11-13 2017-02-07 Winbond Electronics Corp. Memory apparatus and method for accessing memory
US9589646B2 (en) * 2014-11-26 2017-03-07 Macronix International Co., Ltd. Page buffer circuit having bias voltage application unit and operating method of same
US9858994B2 (en) 2015-06-18 2018-01-02 Samsung Electronics Co., Ltd. Memory system with MLC memory cells and partial page compression or reduction
US10180876B2 (en) 2015-08-04 2019-01-15 Toshiba Memory Corporation Memory controller and semiconductor memory device
JP2018005959A (ja) * 2016-06-30 2018-01-11 東芝メモリ株式会社 メモリシステムおよび書き込み方法
KR102558947B1 (ko) * 2016-08-25 2023-07-25 에스케이하이닉스 주식회사 데이터 저장 장치
US10504587B2 (en) * 2017-12-20 2019-12-10 Intel Corporation Method and system for compensating for floating gate-to-floating gate (fg-fg) interference in flash memory cell read operations
US11151037B2 (en) 2018-04-12 2021-10-19 International Business Machines Corporation Using track locks and stride group locks to manage cache operations
US10884849B2 (en) * 2018-04-27 2021-01-05 International Business Machines Corporation Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data
US10831597B2 (en) 2018-04-27 2020-11-10 International Business Machines Corporation Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data
KR20220020451A (ko) 2020-08-11 2022-02-21 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 읽기 방법
KR20220054493A (ko) 2020-10-23 2022-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 갖는 저장 장치, 및 그것의 리드 방법
US11630590B1 (en) * 2022-01-11 2023-04-18 Silicon Motion, Inc. Method and apparatus for performing access control of memory device with aid of aggressor bit information

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
KR100830580B1 (ko) 2006-10-20 2008-05-21 삼성전자주식회사 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법
US7518923B2 (en) 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
TWI380311B (en) 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
US20080235480A1 (en) * 2007-03-21 2008-09-25 Shai Traister Systems for storing memory operations in a queue
KR101774471B1 (ko) 2010-11-25 2017-09-05 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 읽기 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180032788A (ko) * 2016-09-23 2018-04-02 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법

Also Published As

Publication number Publication date
KR101772951B1 (ko) 2017-09-13
US8665643B2 (en) 2014-03-04
US20120230104A1 (en) 2012-09-13

Similar Documents

Publication Publication Date Title
KR101772951B1 (ko) 불 휘발성 메모리 장치 및 그것의 읽기 방법
JP6022756B2 (ja) 不揮発性メモリ装置の読み出し方法及びメモリコントローラの動作方法
US10249383B2 (en) Data storage device and operating method thereof
US9442662B2 (en) Device and method for managing die groups
US9672942B2 (en) Data decoding method of non-volatile memory device and apparatus for performing the method
KR102025263B1 (ko) 메모리 시스템 및 그것의 읽기 교정 방법
US10381089B2 (en) Semiconductor memory system performing read operation based on counted memory cells and operating method thereof
US8644066B2 (en) Multi-level non-volatile memory device, system and method with state-converted data
KR100902008B1 (ko) 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템
US20080172520A1 (en) Nonvolatile memory devices including multiple user-selectable program modes and related methods of operation
JP2012113811A (ja) 不揮発性メモリ装置及びその読み出し方法
KR20140110390A (ko) 메모리 제어기 및 그것을 포함하는 메모리 시스템
JP2009016028A (ja) 変更された読み出し電圧を用いるマルチレベルセルを含む不揮発性メモリ装置及びシステム、並びにその動作方法
TW201243856A (en) Methods, devices, and systems for data sensing
US9524791B1 (en) Data storage device and operating method thereof
US10902924B2 (en) Memory system varying pass voltage based on erase count of target memory block and operating method thereof
US20130326314A1 (en) Nonvolatile memory device and related read method using hard and soft decision decoding
US20150058697A1 (en) Storage device, controller and memory controlling method
KR102187643B1 (ko) 메모리 시스템 및 그것을 포함하는 유저 장치
US10936421B2 (en) Memory system having storage device and memory controller and operating method thereof
CN116954491A (zh) 用于存储控制器的操作方法和包括存储控制器的存储系统
CN113066517A (zh) 存储器系统及其操作方法
US10423338B2 (en) Method of extending lifetime of solid state disk
US10203886B2 (en) Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data
US8276033B2 (en) Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same

Legal Events

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