KR102318561B1 - 스토리지 장치, 스토리지 장치의 동작 방법 - Google Patents

스토리지 장치, 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR102318561B1
KR102318561B1 KR1020140107829A KR20140107829A KR102318561B1 KR 102318561 B1 KR102318561 B1 KR 102318561B1 KR 1020140107829 A KR1020140107829 A KR 1020140107829A KR 20140107829 A KR20140107829 A KR 20140107829A KR 102318561 B1 KR102318561 B1 KR 102318561B1
Authority
KR
South Korea
Prior art keywords
read
memory cells
memory
reliability verification
cells
Prior art date
Application number
KR1020140107829A
Other languages
English (en)
Other versions
KR20160022451A (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 KR1020140107829A priority Critical patent/KR102318561B1/ko
Priority to US14/719,969 priority patent/US9361997B2/en
Priority to CN201510510698.6A priority patent/CN105374388B/zh
Publication of KR20160022451A publication Critical patent/KR20160022451A/ko
Priority to US15/143,971 priority patent/US9502128B2/en
Application granted granted Critical
Publication of KR102318561B1 publication Critical patent/KR102318561B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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/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
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

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

Abstract

본 발명은 스토리지 장치의 동작 방법에 관한 것이다. 본 발명의 동작 방법은, 읽기 커맨드 및 읽기 어드레스를 수신하는 단계, 읽기 어드레스에 의해 선택된 스트링 선택 라인 및 선택된 워드 라인에 대응하는 선택된 메모리 셀들에 대해 읽기를 수행하는 단계, 그리고 선택된 메모리 셀들에 인접한 비선택된 메모리 셀들에 대해 신뢰성 검증 읽기를 수행하는 단계로 구성된다. 읽기에 의해 읽어진 데이터는 외부로 출력되고, 신뢰성 검증 읽기에 의해 읽어진 데이터는 외부로 출력되지 않는다.

Description

스토리지 장치, 스토리지 장치의 동작 방법{STORAGE DEVICE AND OPERATING METHOD OF STORAGE DEVICE}
본 발명은 반도체 메모리에 관한 것으로, 더 상세하게는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다.
스토리지 장치는 컴퓨터, 스마트폰, 스마트패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 스토리지 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다.
반도체 제조 기술이 발전되면서, 스토리지 장치의 고집적화 및 그에 따른 대용량화가 지속적으로 진행되고 있다. 스토리지 장치의 고집적화는 스토리지 장치의 생산 비용을 감소시킨다는 장점을 갖는다. 그러나, 스토리지 장치의 고집적화로 인해 스토리지 장치의 스케일이 감소하면서, 기존에 발견되지 않은 다양한 문제들이 발견되고 있다. 새롭게 발견되고 있는 다양한 문제들은 스토리지 장치에 저장된 데이터를 손상시킬 수 있으며, 따라서, 스토리지 장치의 신뢰성이 저해될 수 있다. 스토리지 장치의 신뢰성을 향상시킬 수 있는 방법 및 장치에 대한 요구가 지속적으로 제기되고 있다.
본 발명의 목적은 향상된 신뢰성을 갖는 스토리지 장치 및 스토리지 장치의 동작 방법을 제공하는 데에 있다.
불휘발성 메모리 및 상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법에 있어서, 상기 불휘발성 메모리는 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하고, 각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고, 제1 내지 제M 행들의 셀 스트링들의 스트링 선택 트랜지스터들은 제1 내지 제M 스트링 선택 라인들에 각각 연결되고, 상기 제1 내지 제M 행들의 셀 스트링들의 제1 내지 제N 높이의 메모리 셀들은 제1 내지 제N 워드 라인들에 각각 연결되고, 상기 동작 방법은, 읽기 커맨드 및 읽기 어드레스를 수신하는 단계; 상기 읽기 커맨드에 따라, 상기 읽기 어드레스에 의해 선택된 스트링 선택 라인 및 선택된 워드 라인에 대응하는 선택된 메모리 셀들에 대해 읽기를 수행하는 단계; 그리고 상기 선택된 메모리 셀들에 인접한 비선택된 메모리 셀들에 대해 신뢰성 검증 읽기를 수행하는 단계를 포함하고, 상기 읽기에 의해 읽어진 데이터는 외부로 출력되고, 상기 신뢰성 검증 읽기에 의해 읽어진 데이터는 외부로 출력되지 않는다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 소거 상태의 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 미리 정해진 위치의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기는, 상기 읽기가 수행될 때마다 증가하는 카운트가 랜덤수에 도달할 때마다 수행되고, 상기 신뢰성 검증 읽기가 수행될 때마다 상기 랜덤수는 갱신된다.
실시 예로서, 상기 랜덤수는 미리 정해진 범위 내의 값을 갖도록 또는 미리 정해진 평균값을 갖도록 갱신된다.
실시 예로서, 상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들의 소거 횟수가 증가할수록 감소된다.
실시 예로서, 상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들에 데이터가 기입된 후 읽기가 수행된 횟수가 증가할수록 감소된다.
실시 예로서, 상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들에 데이터가 기입된 후 경과한 시간이 증가할수록 감소된다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 상기 읽기가 수행될 때마다 증가하는 제1 카운트가 제1 랜덤수에 도달할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 상기 읽기가 수행될 때마다 증가하는 제2 카운트가 제2 랜덤수에 도달할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고 상기 읽기가 수행될 때마다 증가하는 제2 카운트가 제2 랜덤수에 도달할 때, 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기를 수행하는 단계는, 랜덤수를 생성하는 단계; 상기 랜덤수가 제1 범위에 속할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 상기 랜덤수가 제2 범위에 속할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고 상기 랜덤수가 상기 제1 범위 및 상기 제2 범위에 속하지 않을 때, 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기가 수행된 메모리 셀들이 소거 상태이고, 상기 신뢰성 검증 읽기의 비트 에러율이 임계값 이상인 경우, 상기 메모리 셀들에 대한 쓰기를 금지하는 단계를 더 포함한다.
실시 예로서, 상기 신뢰성 검증 읽기가 수행된 메모리 셀들이 소거 상태가 아니고, 상기 신뢰성 검증 읽기의 비트 에러율이 임계값 이상인 경우, 읽기 리클레임을 수행하는 단계를 더 포함한다.
실시 예로서, 상기 읽기 리클레임을 수행하는 단계는, 상기 신뢰성 검증 읽기가 수행된 메모리 셀들의 데이터를 읽기 리클레임하는 단계를 포함한다.
실시 예로서, 상기 읽기 리클레임을 수행하는 단계는, 상기 신뢰성 검증 읽기가 수행된 메모리 셀들의 데이터가 읽기 리클레임된 후, 나머지 메모리 셀들의 데이터를 읽기 리클레임하는 단계를 더 포함한다.
불휘발성 메모리 및 상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법에 있어서, 상기 불휘발성 메모리는 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하고, 각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고, 상기 동작 방법은, 읽기 커맨드 및 읽기 어드레스를 수신하는 단계; 상기 읽기 커맨드에 응답하여, 상기 읽기 어드레스에 의해 선택된 메모리 셀들로부터 데이터를 읽고, 읽어진 데이터를 출력하는 단계; 그리고 상기 읽기 커맨드에 응답하여, 상기 읽기 어드레스에 의해 선택되지 않은 비선택 메모리 셀들로부터 데이터를 읽고, 읽기 결과에 따라 상기 비선택 메모리 셀들의 읽기 리클레임 여부를 판별하는 단계를 포함한다.
본 발명의 실시 예에 따른 스토리지 장치는, 상기 불휘발성 메모리는 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하는 불휘발성 메모리; 그리고 상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하고, 각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고, 상기 메모리 컨트롤러는 외부 장치의 요청에 따라 상기 불휘발성 메모리의 선택된 메모리 셀들로부터 데이터를 읽고, 그리고 상기 선택된 메모리 셀들과 인접한 비선택 메모리 셀들을 읽고, 그리고 상기 비선택 메모리 셀들의 읽기 결과에 따라 상기 비선택 메모리 셀들의 읽기 리클레임 여부를 판별하도록 구성된다.
실시 예로서, 상기 메모리 컨트롤러는, 상기 비선택 메모리 셀들이 연결된 워드 라인의 위치에 따라, 상기 비선택 메모리 셀들을 읽는 동작을 다르게 조절하도록 구성된다.
실시 예로서, 상기 메모리 컨트롤러는, 상기 비선택 메모리 셀들의 읽기 결과에 따라 상기 읽기 리클레임을 수행하지 않도록 판별되는 경우, 상기 비선택 메모리 셀들과 다른 제2 비선택 메모리 셀들을 읽고, 상기 제2 비선택 메모리 셀들의된다.
본 발명의 실시 예들에 따르면, 읽기 시에 주변 셀들의 데이터의 신뢰성이 체크된다. 따라서, 향상된 신뢰성을 갖는 스토리지 장치 및 스토리지 장치의 동작 방법을 제공하는 데에 있다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 불휘발성 메모리를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 메모리 블록을 보여주는 회로도이다.
도 4는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 5는 본 발명의 실시 예에 따라 신뢰성 검증 읽기가 수행되는 방법을 보여주는 순서도이다.
도 6은 신뢰성 검증 읽기의 제1 예를 보여주는 순서도이다.
도 7은 신뢰성 검증 읽기의 제2 예를 보여주는 순서도이다.
도 8은 신뢰성 검증 읽기의 제3 예를 보여주는 순서도이다.
도 9는 신뢰성 검증 읽기의 제4 예를 보여주는 순서도이다.
도 10은 도 3의 메모리 블록의 예시적인 구조를 보여주는 사시도이다.
도 11은 신뢰성 검증 읽기의 제5 예를 보여주는 순서도이다.
도 12는 신뢰성 검증 읽기의 제6 예를 보여주는 순서도이다.
도 13은 신뢰성 검증 읽기의 제7 예를 보여주는 순서도이다.
도 14는 신뢰성 검증 읽기의 제8 예를 보여주는 순서도이다.
도 15는 신뢰성 검증 읽기의 제9 예를 보여주는 순서도이다.
도 16은 신뢰성 검증 읽기의 제10 예를 보여주는 순서도이다.
도 17은 신뢰성 검증 읽기의 제11 예를 보여주는 순서도이다.
도 18은 신뢰성 검증 읽기의 제12 예를 보여주는 순서도이다.
도 19는 신뢰성 검증 읽기의 제13 예를 보여주는 순서도이다.
도 20은 신뢰성 검증 읽기의 제14 예를 보여주는 순서도이다.
도 21은 신뢰성 검증 읽기의 제15 예를 보여주는 순서도이다.
도 22는 읽기 리클레임의 제1 예를 보여주는 순서도이다.
도 23은 읽기 리클레임의 제2 예를 보여주는 순서도이다.
도 24는 읽기 리클레임의 제3 예를 보여주는 순서도이다.
도 25는 읽기 리클레임의 제4 예를 보여주는 순서도이다.
도 26은 읽기 리클레임의 제5 예를 보여주는 순서도이다.
도 27은 읽기 리클레임의 제6 예를 보여주는 순서도이다.
도 28은 읽기 리클레임의 제7 예를 보여주는 순서도이다.
도 29는 신뢰성 검증 읽기의 조건을 조절하는 예를 보여주는 테이블이다.
도 30은 본 발명의 다른 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 31은 본 발명의 실시 예에 따른 컴퓨팅 장치(300)를 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 스토리지 장치(100)는 불휘발성 메모리(110), 메모리 컨트롤러(120) 및 RAM (130)을 포함한다.
불휘발성 메모리(110)는 메모리 컨트롤러(120)의 제어에 따라 쓰기, 읽기 및 소거를 수행할 수 있다. 불휘발성 메모리(110)는 메모리 컨트롤러(120)와 제1 데이터(DATA1)를 교환할 수 있다. 예를 들어, 불휘발성 메모리(110)는 메모리 컨트롤러(120)로부터 제1 데이터(DATA1)를 수신하고, 제1 데이터(DATA1)를 기입할 수 있다. 불휘발성 메모리(110)는 읽기를 수행하고, 읽혀진 제1 데이터(DATA1)를 메모리 컨트롤러(120)로 출력할 수 있다.
불휘발성 메모리(110)는 메모리 컨트롤러(120)로부터 제1 커맨드(CMD1) 및 제1 어드레스(ADDR1)를 수신할 수 있다. 불휘발성 메모리(110)는 메모리 컨트롤러(120)와 제어 신호(CTRL)를 교환할 수 있다. 예를 들어, 불휘발성 메모리(110)는 불휘발성 메모리(110)를 구성하는 복수의 반도체 칩들 중 적어도 하나의 반도체 칩을 선택하는 칩 선택 신호(/CE), 메모리 컨트롤러(120)로부터 수신되는 신호가 제1 커맨드(CMD1)임을 가리키는 커맨드 래치 인에이블 신호(CLE), 메모리 컨트롤러(120)로부터 수신되는 신호가 제1 어드레스(ADDR1)임을 가리키는 어드레스 래치 인에이블 신호(ALE), 읽기 시에 메모리 컨트롤러(120)에 의해 생성되며 주기적으로 토글되어 타이밍을 맞추는 데에 사용되는 읽기 인에이블 신호(/RE), 제1 커맨드(CMD1) 또는 제1 어드레스(ADDR1)가 전송될 때에 메모리 컨트롤러(120)에 의해 활성화되는 쓰기 인에이블 신호(/WE), 전원이 변화할 때에 의도하지 않은 쓰기 또는 소거를 방지하기 위해 메모리 컨트롤러(120)에 의해 활성화되는 쓰기 방지 신호(/WP), 쓰기 시에 메모리 컨트롤러(120)에 의해 생성되며 주기적으로 토글되어 제1 데이터(DATA1)의 입력 싱크를 맞추는 데에 사용되는 데이터 스트로브 신호(DQS) 중 적어도 하나를 메모리 컨트롤러(120)로부터 수신할 수 있다. 예를 들어, 불휘발성 메모리(110)는 불휘발성 메모리(110)가 프로그램, 소거 또는 읽기 동작을 수행중인지를 가리키는 레디 및 비지 신호(R/nB), 불휘발성 메모리(110)에 의해 읽기 인에이블 신호(/RE)로부터 생성되며 주기적으로 토글되어 제1 데이터(DATA1)의 출력 싱크를 맞추는 데에 사용되는 데이터 스트로브 신호(DQS) 중 적어도 하나를 메모리 컨트롤러(120)로 출력할 수 있다.
불휘발성 메모리(110)는 플래시 메모리를 포함할 수 있다. 그러나, 불휘발성 메모리(110)는 플래시 메모리를 포함하는 것으로 한정되지 않는다. 불휘발성 메모리(110)는 PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FeRAM (Ferroelectric RAM) 등과 같은 다양한 불휘발성 메모리들 중 적어도 하나를 포함할 수 있다.
메모리 컨트롤러(120)는 불휘발성 메모리(110)를 제어하도록 구성된다. 예를 들어, 메모리 컨트롤러(120)는 불휘발성 메모리(110)가 쓰기, 읽기 또는 소거를 수행하도록 제어할 수 있다. 메모리 컨트롤러(120)는 불휘발성 메모리(110)와 제1 데이터(DATA1) 및 제어 신호(CTRL)를 교환하고, 불휘발성 메모리(110)로 제1 커맨드(CMD1) 및 제1 어드레스(ADDR1)를 출력할 수 있다.
메모리 컨트롤러(120)는 외부의 호스트 장치(미도시)의 제어에 따라 불휘발성 메모리(110)를 제어할 수 있다. 메모리 컨트롤러(120)는 호스트 장치와 제2 데이터(DATA2)를 교환하고, 호스트 장치로부터 제2 커맨드(CMD2) 및 제2 어드레스(ADDR2)를 수신할 수 있다.
예시적으로, 메모리 컨트롤러(120)는 제1 단위(예를 들어, 시간 단위 또는 데이터 단위)로 불휘발성 메모리(110)와 제1 데이터(DATA1)를 교환하고, 제1 단위와 다른 제2 단위(예를 들어, 시간 단위 또는 데이터 단위)로 호스트 장치와 제2 데이터(DATA2)를 교환할 수 있다.
메모리 컨트롤러(120)는 제1 포맷에 따라 불휘발성 메모리(110)와 제1 데이터(DATA1)를 교환하고, 불휘발성 메모리(110)로 제1 커맨드(CMD1) 및 제1 어드레스(ADDR1)를 전송할 수 있다. 메모리 컨트롤러(120)는 제1 포맷과 다른 제2 포맷에 따라, 호스트 장치와 제2 데이터(DATA2)를 교환하고, 호스트 장치로부터 제2 커맨드(CMD2) 및 제2 어드레스(ADDR2)를 수신할 수 있다.
메모리 컨트롤러(120)는 RAM (130)을 버퍼 메모리, 캐시 메모리, 또는 동작 메모리로 사용할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 호스트 장치로부터 제2 데이터(DATA2)를 수신하고, 수신된 제2 데이터(DATA2)를 RAM (130)에 저장하고, 그리고 RAM (130)에 저장된 제2 데이터(DATA2)를 제1 데이터(DATA1)로서 불휘발성 메모리(110)에 기입할 수 있다. 메모리 컨트롤러(120)는 불휘발성 메모리(110)로부터 제1 데이터(DATA1)를 읽고, 수신된 제1 데이터(DATA1)를 RAM (130)에 저장하고, RAM (130)에 저장된 제1 데이터(DATA1)를 제2 데이터(DATA2)로서 호스트 장치로 출력할 수 있다. 메모리 컨트롤러(130)는 불휘발성 메모리(110)로부터 읽은 데이터를 RAM (130)에 저장하고, RAM (130)에 저장된 데이터를 다시 불휘발성 메모리(110)에 기입할 수 있다.
메모리 컨트롤러(120)는 불휘발성 메모리(110)를 관리하기 위해 필요한 데이터 또는 코드를 RAM (130)에 저장할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 불휘발성 메모리(110)를 관리하기 위해 필요한 데이터 또는 코드를 불휘발성 메모리(110)로부터 읽고, RAM (130)에 로딩하여 구동할 수 있다.
메모리 컨트롤러(120)는 레지스터(121), 랜덤수 발생기(123), 카운터(125), 그리고 에러 정정 블록(127)을 포함한다.
레지스터(121)는 랜덤수 발생기(123)가 랜덤수(RDN)를 발생하는 조건에 대한 정보를 저장할 수 있다. 예를 들어, 레지스터(121)는 랜덤수(RDN)의 범위 또는 랜덤수(RDN)의 평균값에 대한 정보를 저장할 수 있다. 레지스터(121)는 둘 이상의 랜덤수들(RDN)을 발생하는 조건에 대한 정보를 저장할 수 있다.
랜덤수 발생기(123)는 레지스터(121)에 저장된 조건에 따라 랜덤수(RDN)를 발생할 수 있다. 랜덤수 발생기(123)는 둘 이상의 랜덤수들(RDN)을 발생할 수 있다.
카운터(125)는 불휘발성 메모리(110)에서 수행되는 읽기의 횟수를 카운트할 수 있다. 예를 들어, 카운터(125)는 불휘발성 메모리(110)의 메모리 블록, 서브 블록과 같은 소거 단위에서 수행되는 읽기의 횟수를 카운트할 수 있다. 카운트가 랜덤수 발생기(123)에 의해 발생된 랜덤수(RDN)에 도달하면, 카운터(125)는 카운트를 리셋할 수 있다. 카운트가 랜덤수 발생기(123)에 의해 발생된 랜덤수(RDN)에 도달하면, 랜덤수 발생기(123)는 레지스터(121)에 저장된 조건에 따라 랜덤수(RDN)를 갱신할 수 있다.
에러 정정 블록(127)은 불휘발성 메모리(110)로부터 읽어진 제1 데이터(DATA1)의 에러를 정정할 수 있다. 예를 들어, 제1 데이터(DATA1)가 불휘발성 메모리(110)에 기입될 때, 에러 정정 블록(127)은 제1 데이터(DATA1)에 기반하여 패리티를 생성할 수 있다. 생성된 패리티는 제1 데이터(DATA1)와 함께 불휘발성 메모리(110)에 기입될 수 있다. 불휘발성 메모리(110)로부터 제1 데이터(DATA1)가 읽어질 때, 패리티가 함께 읽어질 수 있다. 에러 정정 블록(127)는 읽어진 패리티를 이용하여, 읽어진 제1 데이터(DATA1)의 에러를 정정할 수 있다. 에러 정정 블록(127)은 읽어진 제1 데이터(DATA1)의 비트 에러율(BER, Bit Error Rate)을 계산할 수 있다.
메모리 컨트롤러(120)는 읽기 커맨드를 제2 커맨드(CMD2)로서 수신할 수 있다. 메모리 컨트롤러(120)는 수신된 제2 커맨드(CMD2)에 응답하여, 불휘발성 메모리(110)의 선택된 메모리 셀들에 대해 읽기를 수행할 수 있다. 카운터(125)의 카운트가 랜덤수(RDN)에 도달하면, 메모리 컨트롤러(120)는 읽기가 수행된 메모리 셀들에 인접한 주변 메모리 셀들에 대해 신뢰성 검증 읽기를 수행할 수 있다. 신뢰성 검증 읽기를 통해 읽어진 제1 데이터(DATA1)의 비트 에러율이 임계값 이상이면, 메모리 컨트롤러(120)는 주변 메모리 셀들이 속한 메모리 블록 또는 소거 블록과 같은 소거 단위에 대해 읽기 리클레임(read reclaim)을 수행할 수 있다. 신뢰성 검증 읽기 및 신뢰성 검증 읽기와 연관된 후속 동작들은 첨부된 도면들을 참조하여 더 상세하게 설명된다.
RAM (130)은 DRAM (Dynamic RAM), SRAM (Static RAM), SDRAM (Synchronous DRAM), PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FeRAM (Ferroelectric RAM) 등과 같은 다양한 랜덤 액세스 메모리들 중 적어도 하나를 포함할 수 있다.
불휘발성 메모리(110)에서 소거 동작이 발생하는 오버헤드를 감소시키기 위하여, 스토리지 장치(100)는 주소 매핑을 수행할 수 있다. 예를 들어, 외부 호스트 장치로부터 덮어쓰기가 요청될 때에, 스토리지 장치(100)는 기존 데이터를 저장하는 메모리 셀들을 소거하고 덮어쓰기 요청된 데이터를 소거된 메모리 셀들에 저장하는 대신, 덮어쓰기 요청된 데이터를 자유 저장 공간의 메모리 셀들에 저장할 수 있다. 메모리 컨트롤러(120)는 외부의 호스트 장치에서 사용되는 논리 주소(logical address) 및 불휘발성 메모리(110)에서 사용되는 물리 주소(physical address)를 상술된 방법에 따라 매핑하는 FTL (Flash Translation Layer)를 구동할 수 있다. 예를 들어, 제2 어드레스(ADDR2)는 논리 주소이고, 제1 어드레스(ADDR1)는 물리 주소일 수 있다.
스토리지 장치(100)는 호스트 장치의 요청에 따라, 데이터의 쓰기, 읽기 또는 소거를 수행할 수 있다. 스토리지 장치(100)는 솔리드 스테이트 드라이브(SSD, Solid State Drive) 또는 하드 디스크 드라이브(HDD, Hard Disk Drive)를 포함할 수 있다. 스토리지 장치(100)는 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), USB (Universal Serial Bus) 메모리 카드, 유니버설 플래시 스토리지(UFS) 등과 같은 메모리 카드들을 포함할 수 있다. 스토리지 장치(100)는 eMMC (embedded MultiMedia Card), UFS, PPN (Perfect Page New) 등과 같은 실장형 메모리를 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 불휘발성 메모리(110)를 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 불휘발성 메모리(110)는 메모리 셀 어레이(111), 어드레스 디코더 회로(113), 페이지 버퍼 회로(115), 데이터 입출력 회로(117), 그리고 제어 로직 회로(119)를 포함한다.
메모리 셀 어레이(111)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WL), 그리고 적어도 하나의 스트링 선택 라인(SSL)을 통해 어드레스 디코더 회로(113)에 연결될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(115)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)은 복수의 비트 라인들(BL)에 공통으로 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)의 메모리 셀들은 동일한 구조들을 가질 수 있다. 예시적으로, 복수의 메모리 블록들(BLK1~BLKz) 각각은 소거 동작의 단위일 수 있다. 메모리 셀 어레이(111)의 메모리 셀들은 하나의 메모리 블록의 단위로 소거될 수 있다. 하나의 메모리 블록에 속한 메모리 셀들은 동시에 소거될 수 있다. 다른 예로서, 각 메모리 블록은 복수의 서브 블록들로 분할될 수 있다. 복수의 서브 블록들 각각은 소거 동작의 단위일 수 있다.
어드레스 디코더 회로(113)는 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 복수의 스트링 선택 라인들(SSL)을 통해 메모리 셀 어레이(111)에 연결된다. 어드레스 디코더 회로(113)는 제어 로직 회로(119)의 제어에 따라 동작한다. 어드레스 디코더 회로(113)는 메모리 컨트롤러(120)로부터 제1 어드레스(ADDR1)를 수신할 수 있다. 어드레스 디코더 회로(113)는 수신된 제1 어드레스(ADDR1)를 디코딩하고, 디코딩된 어드레스에 따라 워드 라인들(WL)에 인가되는 전압들을 제어할 수 있다.
예를 들어, 프로그램 시에, 어드레스 디코더 회로(113)는, 제1 어드레스(ADDR1)가 가리키는 선택된 메모리 블록의 선택된 워드 라인에 프로그램 전압(VGPM)을 인가하고, 선택된 메모리 블록의 비선택된 워드 라인들에 패스 전압(VPASS)을 인가할 수 있다. 읽기 시에, 어드레스 디코더 회로(131)는 제1 어드레스(ADDR1)가 가리키는 선택된 메모리 블록의 선택된 워드 라인에 선택 읽기 전압(VRD)을 인가하고, 선택된 메모리 블록의 비선택된 워드 라인들에 비선택 읽기 전압(VREAD)을 인가할 수 있다. 소거 시에, 어드레스 디코더 회로(113)는 제1 어드레스(ADDR1)가 가리키는 선택된 메모리 블록의 워드 라인들에 소거 전압(예를 들어, 접지 전압)을 인가할 수 있다.
페이지 버퍼 회로(115)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(111)에 연결된다. 페이지 버퍼 회로(115)는 복수의 데이터 라인들(DL)을 통해 데이터 입출력 회로(117)와 연결된다. 페이지 버퍼 회로(115)는 제어 로직 회로(119)의 제어에 따라 동작한다.
페이지 버퍼 회로(115)는 메모리 셀 어레이(111)의 메모리 셀들에 프로그램될 데이터 또는 메모리 셀들로부터 읽히는 데이터를 저장할 수 있다. 프로그램 시에, 페이지 버퍼 회로(115)는 메모리 셀들에 프로그램될 데이터를 저장할 수 있다. 저장된 데이터에 기반하여, 페이지 버퍼 회로(115)는 복수의 비트 라인들(BL)을 바이어스할 수 있다. 프로그램 시에, 페이지 버퍼 회로(115)는 쓰기 드라이버로 기능할 수 있다. 읽기 시에, 페이지 버퍼 회로(115)는 비트 라인들(BL)의 전압들을 센싱하고, 센싱 결과를 저장할 수 있다. 읽기 시에, 페이지 버퍼 회로(115)는 감지 증폭기로 기능할 수 있다.
데이터 입출력 회로(117)는 복수의 데이터 라인들(DL)을 통해 페이지 버퍼 회로(115)와 연결된다. 데이터 입출력 회로(117)는 메모리 컨트롤러(120)와 제1 데이터(DATA1)를 교환할 수 있다.
데이터 입출력 회로(117)는 메모리 컨트롤러(220)로부터 수신되는 제1 데이터(DATA1)를 임시로 저장할 수 있다. 데이터 입출력 회로(117)는 저장된 데이터를 페이지 버퍼 회로(115)로 전달할 수 있다. 데이터 입출력 회로(117)는 페이지 버퍼 회로(115)로부터 전달되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(117)는 저장된 데이터(DATA)를 메모리 컨트롤러(220)로 전송할 수 있다. 데이터 입출력 회로(117)는 버퍼 메모리로 기능할 수 있다.
제어 로직 회로(119)는 메모리 컨트롤러(220)로부터 제1 커맨드(CMD1) 및 제어 신호(CTRL)를 수신한다. 제어 로직 회로(119)는 수신된 제1 커맨드(CMD1)를 디코딩하고, 디코딩된 커맨드에 따라 불휘발성 메모리(110)의 제반 동작을 제어할 수 있다.
예시적으로, 읽기 시에, 제어 로직 회로(119)는 수신된 제어 신호(CTRL) 중 읽기 인에이블 신호(/RE)로부터 데이터 스트로브 신호(DQS)를 생성하여 출력할 수 있다. 쓰기 시에, 제어 로직 회로(119)는 수신된 제어 신호(CTRL) 중 데이터 스트로브 신호(DQS)로부터 데이터 스트로브 신호(DQS)를 생성하여 출력할 수 있다.
도 3은 본 발명의 실시 예에 따른 메모리 블록(BLKa)을 보여주는 회로도이다. 도 3을 참조하면, 메모리 블록(BLKa)은 복수의 셀 스트링들(CS11~CS21, CS12~CS22)을 포함한다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)은 행 방향(row direction) 및 열 방향(column direction)을 따라 배열되어, 행들 및 열들을 형성할 수 있다.
예를 들어, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS11, CS12)은 제1 행을 형성하고, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS21, CS22)은 제2 행을 형성할 수 있다. 열 방향(column direction)을 따라 배열된 셀 스트링들(CS11, CS21)은 제1 열을 형성하고, 열 방향(column direction)을 따라 배열된 셀 스트링들(CS12, CS22)은 제2 열을 형성할 수 있다.
각 셀 스트링은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들은 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)을 포함한다. 각 셀 스트링의 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, GSTb)은 셀 스트링들(CS11~CS21, CS12~CS22)이 행들 및 열들을 따라 배열되는 평면(예를 들어, 메모리 블록(BLKa)의 기판 상의 평면)과 수직한 높이 방향으로 적층될 수 있다.
복수의 셀 트랜지스터들은 절연막에 포획된 전하량에 따라 가변하는 문턱 전압들을 갖는 전하 포획형(charge trap type) 트랜지스터들일 수 있다.
최하단의 접지 선택 트랜지스터들(GSTa)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.
예시적으로, 동일한 높이(또는 순서)의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 높이(또는 순서)를 갖는 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 높이의 접지 선택 트랜지스터들(GSTa)은 제1 접지 선택 라인에 공통으로 연결되고, 제2 높이의 접지 선택 트랜지스터들(GSTb)은 제2 접지 선택 라인에 공통으로 연결될 수 있다.
예시적으로, 동일한 행의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 행의 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제1 접지 선택 라인에 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제2 접지 선택 라인에 연결될 수 있다.
기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이(또는 순서)에 위치한 메모리 셀들은 하나의 워드 라인에 공통으로 연결되고, 서로 다른 높이(또는 순서)에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 예를 들어, 메모리 셀들(MC1)은 워드 라인(WL1)에 공통으로 연결된다. 메모리 셀들(MC2)은 워드 라인(WL2)에 공통으로 연결된다. 메모리 셀들(MC3)은 워드 라인(WL3)에 공통으로 연결된다. 메모리 셀들(MC4)은 워드 라인(WL4)에 공통으로 연결된다. 메모리 셀들(MC5)은 워드 라인(WL5)에 공통으로 연결된다. 메모리 셀들(MC6)은 워드 라인(WL6)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제1 스트링 선택 트랜지스터들(SSTa)에서, 서로 다른 행의 제1 스트링 선택 트랜지스터들(SSTa)은 서로 다른 스트링 선택 라인들(SSL1a~SSL2a)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL2a)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제2 스트링 선택 트랜지스터들(SSTb)에서, 서로 다른 행의 제2 스트링 선택 트랜지스터들(SSTb)은 서로 다른 스트링 선택 라인들(SSL1b~SSL2b)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)에 공통으로 연결된다.
즉, 서로 다른 행의 셀 스트링들은 서로 다른 스트링 선택 라인들에 연결된다. 동일한 행의 셀 스트링들의 동일한 높이(또는 순서)의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인에 연결된다. 동일한 행의 셀 스트링들의 서로 다른 높이(또는 순서)의 스트링 선택 트랜지스터들은 서로 다른 스트링 선택 라인들에 연결된다.
예시적으로, 동일한 행의 셀 스트링들의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 제2 행의 샐 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 열들은 서로 다른 비트 라인들(BL1, BL2)에 각각 연결된다. 예를 들어, 제1 열의 셀 스트링들(CS11~CS21)의 스트링 선택 트랜지스터들(SSTb)은 비트 라인(BL1)에 공통으로 연결된다. 제2 열의 셀 스트링들(CS12~CS22)의 스트링 선택 트랜지스터들(SST)은 비트 라인(BL2)에 공통으로 연결된다.
셀 스트링들(CS11, CS12)은 제1 플레인을 형성할 수 있다. 셀 스트링들(CS21, CS22)은 제2 플레인을 형성할 수 있다.
메모리 블록(BLKa)에서, 쓰기 및 읽기는 행 단위로 수행될 수 있다. 예를 들어, 스트링 선택 라인들(SSL1a, SSL1b, SSL2a, SSL2b)에 의해 메모리 블록(BKLa)의 하나의 플레인이 선택될 수 있다. 스트링 선택 라인들(SSL1a, SSL1b)이 턴-온 전압이 공급되고 스트링 선택 라인들(SSL2a, SSL2b)에 턴-오프 전압이 공급될 때, 제1 플레인의 셀 스트링들(CS11, CS12)이 비트 라인들(BL1, BL2)에 연결된다. 즉, 제1 플레인이 선택된다. 스트링 선택 라인들(SSL2a, SSL2b)에 턴-온 전압이 공급되고 스트링 선택 라인들(SSL1a, SSL1B)에 턴-오프 전압이 공급될 때, 제2 플레인의 셀 스트링들(CS21, CS22)이 비트 라인들(BL1, Bl2)에 연결된다. 즉, 제2 플레인이 선택된다. 선택된 플레인에서, 워드 라인들(WL1~WL6)에 의해 메모리 셀들(MC)의 하나의 행이 선택될 수 있다. 선택된 행에서, 쓰기 또는 읽기가 수행될 수 있다.
메모리 블록(BLKa)의 하나의 행의 메모리 셀들에 복수의 페이지 데이터들이 기입될 수 있다. 하나의 행의 메모리 셀들 각각에 복수의 비트들이 기입될 수 있다. 예를 들어, 하나의 행의 메모리 셀들 각각에 가장 먼저 기입되는 1비트는 최하위 비트(LSB, Least Significant Bit) 페이지 데이터를 형성할 수 있다. 하나의 행의 메모리 셀들 각각에 가장 마지막으로 기입되는 1비트는 최상위 비트(MSB, Most Significant Bit) 페이지 데이터를 형성할 수 있다. 하나의 행의 메모리 셀들 각각에서, LSB 페이지 데이터와 MSB 페이지 데이터 사이에 기입되는 1비트는 중간 비트(CSB, Central Significant Bit) 페이지 데이터를 형성할 수 있다. 하나의 행의 메모리 셀들 각각에서, CSB 페이지 데이터는 둘 이상의 비트들을 포함할 수 있다. 하나의 메모리 셀에 기입되는 비트들의 수는 페이지 데이터의 수일 수 있다.
메모리 블록(BLKa)에서, 소거는 메모리 블록 단위 또는 서브 블록의 단위로 수행될 수 있다. 메모리 블록 단위로 소거가 수행될 때, 메모리 블록(BLKa)의 모든 메모리 셀들(MC)이 하나의 소거 요청에 따라 동시에 소거될 수 있다. 서브 블록의 단위로 수행될 때, 메모리 블록(BLKa)의 메모리 셀들(MC) 중 일부는 하나의 소거 요청에 따라 동시에 소거되고, 나머지 일부는 소거 금지될 수 있다. 소거되는 메모리 셀들에 연결된 워드 라인에 저전압(예를 들어, 접지 전압)이 공급되고, 소거 금지된 메모리 셀들에 연결된 워드 라인은 플로팅될 수 있다.
도 3에 도시된 메모리 블록(BLKa)은 예시적인 것이다. 본 발명의 기술적 사상은 도 3에 도시된 메모리 블록(BLKa)에 한정되지 않는다. 예를 들어, 셀 스트링들의 행들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 행들의 수가 변경됨에 따라, 셀 스트링들의 행들에 연결되는 스트링 선택 라인들 또는 접지 선택 라인의 수, 그리고 하나의 비트 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 열들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 열들의 수가 변경됨에 따라, 셀 스트링들의 열들에 연결되는 비트 라인들의 수, 그리고 하나의 스트링 선택 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 높이는 증가 또는 감소될 수 있다. 예를 들어, 셀 스트링들 각각에 적층되는 접지 선택 트랜지스터들, 메모리 셀들 또는 스트링 선택 트랜지스터들의 수는 증가 또는 감소될 수 있다.
도 4는 본 발명의 실시 예에 따른 스토리지 장치(100)의 동작 방법을 보여주는 순서도이다. 도 1 내지 도 4를 참조하면, S1010 단계에서, 읽기 커맨드 및 읽기 어드레스가 수신된다. 예를 들어, 외부의 호스트 장치로부터 읽기 커맨드가 제2 커맨드(CMD2)로서 수신되고, 읽기 어드레스가 제2 어드레스(ADDR2)로서 수신될 수 있다.
S1020 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록의 선택된 스트링 선택 라인(SSL)에 대응하는 선택된 메모리 셀들에 대해 읽기가 수행된다. 예를 들어, 메모리 컨트롤러(120)는 읽기 어드레스가 가리키는 메모리 블록 또는 서브 블록을 선택할 수 있다. 메모리 컨트롤러(120)는 읽기 어드레스가 가리키는 스트링 선택 라인(SSL) 및 워드 라인(WL)을 선택할 수 있다. 메모리 컨트롤러(120)는 선택된 메모리 블록 또는 서브 블록 내의 선택된 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)에 대응하는 선택된 메모리 셀들에 대해 읽기를 수행할 수 있다.
S1030 단계에서, 비선택 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다. 예를 들어, 메모리 컨트롤러(120)는 S1010 단계에서 수신된 읽기 어드레스에 기반하여 신뢰성 검증 읽기를 수행할 수 있다. 메모리 컨트롤러(120)는, 읽기 어드레스가 가리키는 메모리 블록 또는 서브 블록 내에서, 읽기 어드레스에 대응하지 않는 비선택 메모리 셀들에 대해, 신뢰성 검증 읽기를 추가적으로 수행할 수 있다. 메모리 컨트롤러(120)는 선택된 메모리 블록 또는 선택된 서브 블록에서, 선택된 메모리 셀들과 선택된 스트링 선택 라인(SSL)을 공유하는 비선택 메모리 셀들에 대해 신뢰성 검증 읽기를 수행할 수 있다. 메모리 컨트롤러(120)는 비선택된 스트링 선택 라인(SSL)에 대응하는 비선택 메모리 셀들에 대해 신뢰성 검증 읽기를 수행할 수 있다. 메모리 컨트롤러(120)는 선택된 메모리 셀들과 선택된 워드 라인(WL)을 공유하는 비선택 메모리 셀들에 대해 신뢰성 검증 읽기를 수행할 수 있다.
읽기가 수행될 때, 선택된 워드 라인에 선택된 메모리 셀들의 문턱 전압들을 판별하기 위한 전압이 인가된다. 읽기가 수행될 때, 선택된 메모리 블록의 비선택된 워드 라인들에 고전압인 읽기 전압이 인가된다. 읽기 전압으로 인해, 선택된 메모리 블록의 비선택된 메모리 셀들의 문턱 전압들이 변화할 수 있다. 예를 들어, 읽기 전압으로 인해 비선택된 메모리 셀들의 문턱 전압들이 교란될 수 있다. 신뢰성 검증 읽기는, 선택된 메모리 블록 또는 선택된 서브 블록의 비선택된 메모리 셀들이 교란된 정도를 점검하는 읽기일 수 있다. 예를 들어, 신뢰성 검증 읽기는 비선택 메모리 셀들로부터 데이터를 읽고, 읽어진 데이터의 비트 에러율을 측정하는 동작을 포함할 수 있다.
도 5는 본 발명의 실시 예에 따라 신뢰성 검증 읽기가 수행되는 방법(S1030 단계)을 보여주는 순서도이다. 도 1 내지 도 5를 참조하면, S1110 단계에서, 카운트가 증가된다. 예를 들어, 외부의 호스트 장치로부터 수신되는 제2 어드레스(ADDR2) 및 제2 커맨드(CMD2)에 따라 읽기가 수행될 때(S1020 단계), 카운트가 증가될 수 있다. 예를 들어, 카운터(125)는 읽기가 수행될 때마다 카운트를 증가시킬 수 있다.
S1120 단계에서, 카운트가 랜덤수(RDN)에 도달했는지 판별된다. 예를 들어, 메모리 컨트롤러(120)는 카운터(125)의 카운트가 랜덤수 생성기(123)에 의해 생성된 랜덤수(RDN)에 도달했는지 판별할 수 있다.
카운트가 랜덤수(RDN)에 도달하지 않았으면, 신뢰성 검증 읽기는 수행되지 않는다. 카운트가 랜덤수(RDN)에 도달하면, S1130 단계에서, 신뢰성 검증 읽기가 수행된다. 예를 들어, 메모리 컨트롤러(120)는 카운트가 랜덤수(RDN)에 도달할 때에 카운트를 증가시킨 읽기와 연관된 읽기 어드레스에 기반하여 신뢰성 검증 읽기를 수행할 수 있다. 신뢰성 검증 읽기가 수행되면, S1140 단계에서, 카운터(125)는 카운트를 리셋할 수 있다. 또한, 신뢰성 검증 읽기가 수행되면, 랜덤수 생성기(123)는 새로운 랜덤수(RDN)를 생성할 수 있다.
도 6은 신뢰성 검증 읽기의 제1 예를 보여주는 순서도이다. 도 1, 도 3 및 도 6을 참조하면, S1210 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 외부의 호스트의 요청에 따라, 메모리 블록(BLKa)의 제1 행, 즉 제1 스트링 선택 라인들(SSL1a, SSL1b)이 선택될 수 있다. 또한, 메모리 블록(BLKa)의 제2 워드 라인(WL)이 선택될 수 있다. 즉, 메모리 블록(BLKa)의 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL)에 대응하는 선택된 메모리 셀들에 대해 읽기가 수행될 수 있다.
읽기가 수행될 때, 카운트가 랜덤수(RDN)에 도달할 수 있다. 읽기가 수행된 선택된 메모리 셀들의 어드레스에 기반하여, 신뢰성 검증 읽기가 수행된다. 예를 들어, 비선택된 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 선택된 제2 워드 라인(WL2)에 공통으로 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행될 수 있다. 이하에서, 신뢰성 검증 읽기가 수행된 메모리 셀들을 검증 셀들이라 부르기로 한다.
S1220 단계에서, 신뢰성 검증 읽기를 통해 읽어진 데이터의 비트 에러율이 판별된다. 예를 들어, 에러 정정 블록(127)은 신뢰성 검증 읽기를 통해 읽어진 데이터의 에러를 정정하고, 비트 에러율을 판별할 수 있다.
예를 들어, 검증 메모리 셀들로부터 MSB 페이지 데이터가 읽어지고, MSB 페이지 데이터의 비트 에러율이 판별될 수 있다. 검증 메모리 셀들로부터 LSB 페이지 데이터, CSB 페이지 데이터 및 MSB 페이지 데이터가 읽어지고, 적어도 하나의 페이지 데이터(예를 들어, 적어도 MSB 페이지 데이터)의 비트 에러율이 판별될 수 있다. 검증 메모리 셀에 저장된 복수의 페이지 데이터들 중 가장 높은 비트 에러율을 갖는 페이지 데이터의 비트 에러율이 판별될 수 있다.
비트 에러율이 임계값보다 작은 경우, 검증 셀들의 읽기 교란이 적을 수 있다. 따라서, 신뢰성 검증 읽기에 따른 후속 동작은 수행되지 않는다.
비트 에러율이 임계값 이상인 경우, 검증 셀들의 읽기 교란이 클 수 있다. 따라서, 신뢰성 검증 읽기에 따른 후속 동작이 수행된다. 예를 들어, S1230 단계에서, 검증 셀들이 데이터를 저장하지 않는 소거 셀들인지 판별된다.
검증 셀들이 소거 셀들이 아닌 경우, 검증 셀들에 데이터가 저장되어 있다. 검증 셀들로부터 읽어진 데이터의 비트 에러율이 임계값 이상이면, S1240 단계에서, 읽기 리클레임이 수행된다. 예를 들어, 메모리 블록(BLKa), 서브 블록과 같이 검증 셀들이 속한 소거 단위, 또는 검증 셀들에 저장된 데이터가 검증 셀들이 속하지 않은 다른 소거 단위, 예를 들어 메모리 블록(BLKa) 또는 서브 블록으로 복사(또는 이동)될 수 있다.
예시적으로, 소거 셀들은 소거 상태의 메모리 셀들일 수 있다. 소거 상태의 메모리 셀들의 문턱 전압들의 산포 범위는 메모리 셀들이 가질 수 있는 문턱 전압들의 산포 범위들 중 가장 낮다. 따라서, 소거 셀들에서 발생하는 읽기 교란은 데이터를 저장하는 메모리 셀들에서 발생하는 읽기 교란보다 클 수 있다. 소거 셀들에서 임계값 이상의 비트 에러율이 검출되어도, 데이터를 저장하는 메모리 셀들의 비트 에러율은 임계값보다 크지 않을 수 있다. 따라서, 검증 셀들이 소거 셀들인 경우, 읽기 리클레임을 수행하는 대신, 선택된 메모리 블록(BLKa) 또는 서브 블록이 클로즈(close)된다. 예를 들어, 선택된 메모리 블록(BLKa) 또는 서브 블록에 대한 추가 기입이 금지되며, 선택된 메모리 블록(BLKa) 또는 서브 블록은 읽기 전용으로 설정된다. 선택된 메모리 블록(BLKa) 또는 서브 블록의 클로즈는, 선택된 메모리 블록(BLKa) 또는 서브 블록이 소거될 때까지 또는 무효 블록으로 설정될 때까지 유지될 수 있다.
예시적으로, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈되는 경우, 선택된 스트링 선택 라인(SSL1) 및 선택된 워드 라인(WL2)에 대응하는 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)될 수 있다. 즉, 선택된 메모리 셀들의 데이터가 복사(또는 이동)될 수 있다.
임의의 횟수의 읽기가 수행될 때마다 신뢰성 검증 읽기가 수행된다. 읽기 시에 선택되는 빈도가 높은 메모리 셀들이 신뢰성 검증 읽기를 유발할 확률이 높다. 즉, 신뢰성 검증 읽기를 유발한 읽기 시에 선택된 메모리 셀들은 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에서 발생하는 읽기 교란의 대부분을 유발할 수 있다. 선택된 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)되면, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에서 읽기가 발생할 확률이 감소한다. 따라서, 클로즈 된 메모리 블록(BLKa) 또는 클로즈된 서브 블록에서 추가적인 읽기 교란이 발생하는 것이 방지되며, 읽기 리클레임이 수행되는 횟수가 감소된다.
도 7은 신뢰성 검증 읽기의 제2 예를 보여주는 순서도이다. 도 1, 도 3 및 도 7을 참조하면, S1310 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 제1 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1310 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 제2 워드 라인(WL)에 대응하는 메모리 셀들(예를 들어, 제1 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1320 단계에서, 제1 검증 셀들로부터 읽어진 데이터의 비트 에러율이 임계값 이상인지 판별된다. 제1 검증 셀들의 비트 에러율이 임계값보다 작으면, S1360 단계가 수행된다. 제1 검증 셀들의 비트 에러율이 임계값 이상이면, 제1 검증 셀들에 대해 후속 동작이 수행된다.
S1330 단계에서, 제1 검증 셀들이 소거 셀들인지 판별된다. 제1 검증 셀들이 소거 셀들이 아니면, 읽기 리클레임이 수행된다. 예를 들어, 제1 검증 셀들이 속한 소거 단위(예를 들어, 메모리 블록 또는 서브 블록)의 데이터가 다른 소거 단위로 복사(또는 이동)된다. 읽기 리클레임이 수행되면, 신뢰성 검증 읽기와 연관된 동작은 종료된다.
제1 검증 셀들이 소거 셀들이면, S1340 단계에서, 선택된 메모리 블록(BLKa) 또는 서브 블록이 클로즈된다. 이후에, S1350 단계가 수행된다.
S1350 단계에서, 제2 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)에 대응하는 메모리 셀들(예를 들어, 제2 검증 셀들)이 소거 셀들인지 판별된다. 예를 들어, 간결한 설명을 위하여 도 3에 도시되지는 않았지만, 제3 스트링 선택 라인들(SSL3a, SSL3b) 및 제2 워드 라인(WL2)에 대응하는 제2 검증 셀들이 소거 셀들인지 판별될 수 있다.
선택된 메모리 블록(BLKa) 또는 서브 블록이 S1340 단계에서 이미 클로즈 되었으므로, 제2 검증 셀들이 소거 셀들인 경우 제2 검증 셀들에 대한 후속 동작은 생략된다.
제2 검증 셀들이 소거 셀들이 아닌 경우, S1360 단계에서, 제2 검증 셀들에 대해 신뢰성 검증 읽기가 수행된다. S1370 단계에서, 제2 검증 셀들의 비트 에러율이 임계값 이상인지 판별된다. 제2 검증 셀들의 비트 에러율이 임계값보다 작은 경우, 후속 동작은 생략된다. 제2 검증 셀들의 비트 에러율이 임계값 이상인 경우, S1380 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에 대해 읽기 리클레임이 수행된다.
도 8은 신뢰성 검증 읽기의 제3 예를 보여주는 순서도이다. 도 1, 도 3 및 도 8을 참조하면, S1410 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1410 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 제2 워드 라인(WL2)의 상위(예를 들어, 더 높은 높이)에 위치한 제3 워드 라인(WL3)에 대응하는 메모리 셀들(예를 들어, 제1 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1420 단계에서, 제1 검증 셀들의 비트 에러율이 임계값과 비교된다. 제1 검증 셀들의 비트 에러율이 임계값보다 작으면, S1450 단계가 수행된다.
제1 검증 셀들의 비트 에러율이 임계값 이상이면, S1430 단계에서, 제1 검증 셀들이 소거 셀들인지 판별된다. 제1 검증 셀들이 소거 셀들이 아니면, S1470 단계에서 읽기 리클레임이 수행되고, 후속 동작이 종료된다. 제1 검증 셀들이 소거 셀들이 아니면, S1440 단계에서, 선택된 메모리 블록(BLKa) 또는 서브 블록이 클로즈된다. 이후에 S1450 단계가 수행된다.
S1450 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, S1450 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 제2 워드 라인(WL2)의 하위(예를 들어, 더 낮은 높이)에 위치한 제1 워드 라인(WL1)에 대응하는 메모리 셀들(예를 들어, 제2 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1460 단계에서, 제2 검증 셀들의 비트 에러율이 임계값과 비교된다. 제1 검증 셀들의 비트 에러율이 임계값보다 작으면, 후속 동작이 종료된다. 제1 검증 셀들의 비트 에러율이 임계값 이상이면, S1470 단계에서, 선택된 메모리 블록(BKLa) 또는 선택된 서브 블록에 대해 읽기 리클레임이 수행된다.
예시적으로, 메모리 블록(BLKa)에서, 접지 선택 트랜지스터들(GSTa, GSTb)에 인접한 메모리 셀들로부터 스트링 선택 트랜지스터들(SSTa, SSTb)에 인접한 메모리 셀들의 순으로 데이터가 기입된다. 즉, 제1 워드 라인(WL1)에 연결된 메모리 셀들로부터 제6 워드 라인(WL6)에 연결된 메모리 셀들의 순으로 데이터가 기입된다.
제2 워드 라인(WL2)에서 읽기가 수행된 경우, 제2 워드 라인(WL2)에 연결된 메모리 셀들에 데이터가 기입되어 있다. 따라서, 제2 워드 라인(WL2)보다 상위에 위치한 제3 워드 라인(WL3)에 연결된 메모리 셀들은 소거 셀들일 수 있으나, 제2 워드 라인(WL2)보다 하위에 위치한 제1 워드 라인(WL1)에 연결된 메모리 셀들은 소거 셀들이 아닐 수 있다. 따라서, 하위 워드 라인(WL1)의 제2 검증 셀들에 대해 신뢰성 검증 읽기가 수행될 때, 제2 검증 셀들이 소거 셀들인지 판별하는 동작(예를 들어, 도 7의 S1350 단계를 참조하여 설명된 동작)은 생략될 수 있다. 그러나, 본 발명의 기술적 사상은 한정되지 않는다. 선택된 메모리 블록(BLKa)의 프로그램 시퀀스에 따라 또는 읽기 시퀀스에 따라, 하위 워드 라인(WL2)의 제2 검증 셀들에 대해 신뢰성 검증 읽기를 수행하지 전에, 제2 검증 셀들이 소거 셀들인지 판별하는 동작이 수행될 수 있다.
예를 들어, 메모리 셀들에 데이터를 기입하는 순서가 한정되지 않는 경우, 제2 검증 셀들이 소거 셀들인지 판별하는 동작이 추가로 수행될 수 있다. 또한, 신뢰성 검증 읽기가 아닌 통상적인 읽기 시에 소거 셀들에 대한 읽기가 허용되는 경우, 제2 검증 셀들이 소거 셀들인지 판별하는 동작이 추가로 수행될 수 있다.
도 9는 신뢰성 검증 읽기의 제4 예를 보여주는 순서도이다. 도 1, 도 3 및 도 9를 참조하면, S1510 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL) 및 미리 정해진 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1410 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 제1 내지 제6 워드 라인들(WL1~WL6) 중 미리 정해진 적어도 하나의 워드 라인(예를 들어, WL4)에 대응하는 메모리 셀들(예를 들어, 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
예를 들어, 메모리 블록(BLKa)의 제조 시에, 특정 높이의 메모리 셀들(예를 들어, 배드 셀들)의 데이터 저장 특성이 다른 높이의 메모리 셀들의 데이터 저장 특성보다 나쁘게 생성될 수 있다. 신뢰성 검증 읽기 시에, 메모리 컨트롤러(120)는 배드 셀들의 높이에 해당하는 워드 라인에 대해 신뢰성 검증 읽기를 수행하도록 설정될 수 있다. 예를 들어, 배드 셀들의 높이는 불휘발성 메모리(110)가 제조된 후에 테스트를 통해 검출되고, 불휘발성 메모리(110) 또는 메모리 컨트롤러(120) 내부의 불휘발성 메모리(예를 들어, ROM)에 저장될 수 있다. 메모리 컨트롤러(120)는 미리 저장된 배드 셀들의 위치에 기반하여, 신뢰성 검증 읽기를 수행할 수 있다.
S1520 단계에서, 검증 셀들의 비트 에러율이 임계값과 비교된다. 검증 셀들의 비트 에러율이 임계값보다 작으면, 후속 동작이 종료된다. 검증 셀들의 비트 에러율이 임계값 이상이면, S1530 단계에서, 검증 셀들이 소거 셀들인지 판별된다.
검증 셀들이 소거 셀들이면, S1540 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 검증 셀들이 소거 셀들이 아니면, S1550 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에 대해 읽기 리클레임이 수행된다.
예시적으로, 배드 셀들이 형성된 예가 도 10에 도시된다. 도 10은 도 3의 메모리 블록(BLKa)의 예시적인 구조를 보여주는 사시도이다. 도 3 및 도 10을 참조하면, 기판(SUB)에 행 방향을 따라 신장되고, 열 방향을 따라 서로 이격된 공통 소스 영역들(CSR)이 제공된다. 공통 소스 영역들(CSR)은 공통으로 연결되어, 공통 소스 라인(CSL)을 구성할 수 있다. 예시적으로, 기판(SUB)은 P 도전형을 갖는 반도체 물질을 포함할 수 있다. 공통 소스 영역들(CSR)은 N 도전형을 갖는 반도체 물질을 포함할 수 있다.
공통 소스 영역들(CSR) 사이에서, 복수의 절연층들(INS, INS')이 높이 방향(예를 들어, 기판과 수직한 방향)을 따라 기판(SUB) 상에 순차적으로 적층된다. 복수의 절연층들(INS, INS')은 높이 방향을 따라 서로 이격되어 적층될 수 있다. 예시적으로, 복수의 절연층들(INS, INS')은 반도체 산화물 또는 반도체 질화물과 같은 절연 물질을 포함할 수 있다. 예시적으로, 복수의 절연층들(INS, INS') 중 기판(SUB)과 접촉하는 절연층(INS')의 두께(예를 들어, 높이 방향에 따른 두께)는 다른 절연층들(INS) 각각의 두께(예를 들어, 높이 방향에 따른 두께)보다 얇을 수 있다.
공통 소스 영역들(CSR) 사이에서, 행 방향과 열 방향을 따라 서로 이격되어 배치되며 높이 방향을 따라 복수의 절연층들(INS, INS')을 관통하는 복수의 필라들(PL)이 제공된다. 예시적으로, 복수의 필라들(PL)은 복수의 절연층들(INS, INS')을 관통하여 기판(SUB)과 접촉할 수 있다. 복수의 필라들(PL) 각각은 채널막(CH) 및 내부 물질(INN)을 포함할 수 있다. 채널막(CH)은 P 도전형을 갖는 반도체 물질 또는 진성(intrinsic) 반도체 물질을 포함할 수 있다. 내부 물질(INN)은 절연 물질 또는 에어갭(air gap)을 포함할 수 있다. 예시적으로, 복수의 필라들(PL) 각각에서, 채널막(CH)의 외부면에 하나 또는 그 이상의 절연막이 추가될 수 있다. 예를 들어, 채널막(CH)의 외부면 상에, 하나 또는 그 이상의 반도체 산화막 또는 반도체 질화막이 적층될 수 있다.
공통 소스 영역들(CSR) 사이에서, 복수의 절연층들(INS, INS')의 상부면들과 하부면들, 그리고 필라들(PL)의 노출된 외부면들에 정보 저장막들(INF)이 제공된다. 절연층들(INS, INS') 중 가장 높은 높이에 위치한 절연 물질의 상부면에 제공되는 정보 저장막들(INF)은 제거될 수 있다. 정보 저장막들(INF)은 전하를 포획 또는 유출함으로써 정보를 저장할 수 있다. 정보 저장막들(INF)은 반도체 질화막 또는 반도체 산화막을 포함할 수 있다. 정보 저장막들(INF)은 ONO (Oxide-Nitride-Oxide) 또는 ONA (Oxide-Nitride-Aluminium)을 포함할 수 있다.
공통 소스 영역들(CSR) 사이에서 그리고 절연층들(INS, INS') 사이에서, 정보 저장막들(INF)의 노출된 외부면들에 도전 물질들(CM1~CM10)이 제공된다. 도전 물질들(CM1~CM10)은 금속성 도전 물질을 포함 수 있다.
복수의 필라들(PL) 상에 복수의 드레인들(DR)이 제공된다. 예시적으로, 드레인들(DR)은 N 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예시적으로, 드레인들(DR)은 필라들(PL)의 채널막들(CH)의 상부면들과 접촉할 수 있다.
드레인들(DR) 상에, 열 방향을 따라 신장되고, 행 방향을 따라 서로 이격된 비트 라인들(BL1, BL2)이 제공된다. 비트 라인들(BL)은 드레인들(DR)과 연결된다. 예시적으로, 드레인들(DR) 및 비트 라인들(BL1, BL2)은 콘택 플러그들을 통해 연결될 수 있다. 비트 라인들(BL1, BL2)은 금속성 도전 물질들을 포함할 수 있다.
복수의 필라들(PL)은 정보 저장막들(INF) 및 복수의 도전 물질들(CM1~CM10)과 함께 복수의 셀 스트링들(CS11, CS12, CS21, CS22)을 형성한다. 복수의 필라들(PL) 각각은 정보 저장막들(INF), 그리고 인접한 도전 물질들(CM1~CM10)과 함께 하나의 셀 스트링을 구성한다.
제1 및 제2 도전 물질들(CM1, CM2)은 각각 접지 선택 트랜지스터들(GSTa, GSTb)의 제어 게이트들로 동작할 수 있다. 제1 및 제2 도전 물질들(CM1, CM2)에 대응하는 정보 저장막들(INF)의 부분들은 접지 선택 트랜지스터들(GSTa, GSTb)의 전하 포획층들로 동작할 수 있다. 제1 및 제2 도전 물질들(CM1, CM2)에 대응하는 채널막들(CH)의 부분들은 접지 선택 트랜지스터들(GSTa, GSTb)의 수직 바디(vertical body)로 동작할 수 있다. 제1 및 제2 도전 물질들(CM1, CM2)은 공통으로 연결되어 접지 선택 라인(GSL)으로 동작할 수 있다.
제3 내지 제8 도전 물질들(CM3~CM8)은 각각 제1 내지 제6 메모리 셀들(MC1~MC6)의 제어 게이트들로 동작할 수 있다. 제3 내지 제8 도전 물질들(CM3~CM8)에 대응하는 정보 저장막들(INF)의 부분들은 제1 내지 제6 메모리 셀들(MC1~MC6)의 전하 포획층들로 동작할 수 있다. 제3 내지 제8 도전 물질들(CM3~CM8)에 대응하는 채널막들(CH)의 부분들은 제1 내지 제6 메모리 셀들(MC1~MC6)의 수직 바디(vertical body)로 동작할 수 있다.
제3 도전 물질들(CM3)은 공통으로 연결되어 제1 워드 라인(WL1)을 형성할 수 있다. 제4 도전 물질들(CM4)은 공통으로 연결되어 제2 워드 라인(WL2)을 형성할 수 있다. 제5 도전 물질들(CM5)은 공통으로 연결되어 제3 워드 라인(WL3)을 형성할 수 있다. 제6 도전 물질들(CM6)은 공통으로 연결되어 제4 워드 라인(WL4)을 형성할 수 있다. 제7 도전 물질들(CM7)은 공통으로 연결되어 제5 워드 라인(WL5)을 형성할 수 있다. 제8 도전 물질들(CM8)은 공통으로 연결되어 제6 워드 라인(WL6)을 형성할 수 있다.
제9 및 제10 도전 물질들(CM9, CM10)은 각각 스트링 선택 트랜지스터들(SSTa, SSTb)의 제어 게이트들로 동작할 수 있다. 제9 및 제10 도전 물질들(CM9, CM10)에 대응하는 정보 저장막들(INF)의 부분들은 스트링 선택 트랜지스터들(SSTa, SSTb)의 전하 포획층들로 동작할 수 있다. 제9 및 제10 도전 물질들(CM9, CM10)에 대응하는 채널막들(CH)의 부분들은 스트링 선택 트랜지스터들(SSTa, SSTb)의 수직 바디(vertical body)로 동작할 수 있다.
제1 행의 제9 도전 물질(CM9)은 스트링 선택 라인(SSL1a)을 형성할 수 있다. 제1 행의 제10 도전 물질(CM10)은 스트링 선택 라인(SSL1b)을 형성할 수 있다. 제2 행의 제9 도전 물질(CM9)은 스트링 선택 라인(SSL2a)을 형성할 수 있다. 제2 행의 제10 도전 물질(CM10)은 스트링 선택 라인(SSL2b)을 형성할 수 있다.
도 10에 도시된 바와 같이, 공정상의 특성으로 인해, 필라들(PL)의 폭은 기판(SUB)과 근접할수록 작아지는 특성을 갖는다. 공정상에서 발생하는 오류로 인해, 필라들(PL) 중 일부의 폭은 상술된 특성에 부합하지 않을 수 있다. 예를 들어, 도 10의 참조 기호(BC)로 표시된 부분에서, 필라들(PL)의 폭은 기판(SUB)에 근접할수록 증가한 후에 다시 작아질 수 있다. 참조 기호(BC)로 표시된 부분에 해당하는 메모리 셀들의 특성, 예를 들어 데이터를 저장하는 특성은 다른 정상 메모리 셀들보다 나쁠 수 있다. 즉, 참조 기호(BC)로 표시된 부분에 해당하는 메모리 셀들은 배드 셀들로 판별될 수 있다.
본 발명의 실시 예에 따르면, 배드 셀들의 위치가 검출되고, 배드 셀들에 대해 신뢰성 검증 읽기가 수행된다.
도 11은 신뢰성 검증 읽기의 제5 예를 보여주는 순서도이다. 도 1, 도 3 및 도 11을 참조하면, S1610 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL)에 대응하는 소거 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1610 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b)에 대응하는 메모리 셀들 중 소거 셀들로 구성된 적어도 하나의 행에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1620 단계에서, 소거 셀들의 비트 에러율이 임계값 이상인지 판별된다. 소거 셀들의 비트 에러율이 임계값 이상이면, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다.
예시적으로, 도 11의 신뢰성 검증 읽기는 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에 소거 셀들로 구성된 적어도 하나의 행이 존재할 때에 수행될 수 있다.
도 12는 신뢰성 검증 읽기의 제6 예를 보여주는 순서도이다. 도 1, 도 3 및 도 12를 참조하면, S1710 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 선택된 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1410 단계에서, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)의 상위(예를 들어, 더 높은 높이)에 위치한 제3 워드 라인(WL3)에 대응하는 메모리 셀들(예를 들어, 제1 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1720 단계에서, 제1 검증 셀들의 비트 에러율이 임계값과 비교된다. 제1 검증 셀들의 비트 에러율이 임계값보다 작으면, S1750 단계가 수행된다.
제1 검증 셀들의 비트 에러율이 임계값 이상이면, S1730 단계에서, 제1 검증 셀들이 소거 셀들인지 판별된다. 제1 검증 셀들이 소거 셀들이 아니면, S1770 단계에서 읽기 리클레임이 수행되고, 후속 동작이 종료된다. 제1 검증 셀들이 소거 셀들이 아니면, S1740 단계에서, 선택된 메모리 블록(BLKa) 또는 서브 블록이 클로즈된다. 이후에 S1750 단계가 수행된다.
S1750 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 선택된 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, S1750 단계에서, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)의 하위(예를 들어, 더 낮은 높이)에 위치한 제1 워드 라인(WL1)에 대응하는 메모리 셀들(예를 들어, 제2 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1760 단계에서, 제2 검증 셀들의 비트 에러율이 임계값과 비교된다. 제1 검증 셀들의 비트 에러율이 임계값보다 작으면, 후속 동작이 종료된다. 제1 검증 셀들의 비트 에러율이 임계값 이상이면, S1770 단계에서, 선택된 메모리 블록(BKLa) 또는 선택된 서브 블록에 대해 읽기 리클레임이 수행된다.
도 13은 신뢰성 검증 읽기의 제7 예를 보여주는 순서도이다. 도 1, 도 3 및 도 13을 참조하면, S1810 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 선택된 스트링 선택 라인(SSL) 및 미리 정해진 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1810 단계에서, 제2 스트링 선택 라인들(SSL2a, SSL2b) 및 제1 내지 제6 워드 라인들(WL1~WL6) 중 미리 정해진 적어도 하나의 워드 라인(예를 들어, WL4)에 대응하는 메모리 셀들(예를 들어, 검증 셀들)에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1820 단계에서, 검증 셀들의 비트 에러율이 임계값과 비교된다. 검증 셀들의 비트 에러율이 임계값보다 작으면, 후속 동작이 종료된다. 검증 셀들의 비트 에러율이 임계값 이상이면, S1730 단계에서, 검증 셀들이 소거 셀들인지 판별된다.
검증 셀들이 소거 셀들이면, S1740 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 검증 셀들이 소거 셀들이 아니면, S1750 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에 대해 읽기 리클레임이 수행된다.
도 14는 신뢰성 검증 읽기의 제8 예를 보여주는 순서도이다. 도 1, 도 3 및 도 14를 참조하면, S1910 단계에서, 선택된 메모리 블록 또는 선택된 서브 블록에서, 비선택 스트링 선택 라인(SSL)에 대응하는 소거 셀들에 대해 신뢰성 검증 읽기가 수행된다.
예를 들어, 읽기 시에, 제1 스트링 선택 라인들(SSL1a, SSL1b) 및 제2 워드 라인(WL2)이 선택될 수 있다. S1910 단계에서, 제1 스트링 선택 라인들(SSL1a, SSL1b)에 대응하는 메모리 셀들 중 소거 셀들로 구성된 적어도 하나의 행에 대해 신뢰성 검증 읽기가 수행될 수 있다.
S1920 단계에서, 소거 셀들의 비트 에러율이 임계값 이상인지 판별된다. 소거 셀들의 비트 에러율이 임계값 이상이면, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다.
예시적으로, 도 14의 신뢰성 검증 읽기는 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에 소거 셀들로 구성된 적어도 하나의 행이 존재할 때에 수행될 수 있다.
도 15는 신뢰성 검증 읽기의 제9 예를 보여주는 순서도이다. 도 1, 도 3 및 도 15를 참조하면, S2010 단계에서, 도 12, 도 13 및 도 14를 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다. 예를 들어, 선택된 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 선택된 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 워드 라인의 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 선택된 스트링 선택 라인(SSL) 및 미리 정해진 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 그리고 선택된 스트링 선택 라인(SSL)에 대응하며 소거 셀들로 구성된 행의 메모리 셀들에 대한 신뢰성 검증 읽기 중 적어도 하나의 신뢰성 검증 읽기가 수행될 수 있다.
S2020 단계에서, 도 6 및 도 7을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라 신뢰성 검증 읽기가 수행된다. 예를 들어, 비선택된 적어도 하나의 행 및 선택된 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기가 수행될 수 있다.
S2030 단계에서, 도 8, 도 9 및 도 11을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다. 예를 들어, 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 비선택 스트링 선택 라인(SSL) 및 선택된 워드 라인(WL)의 워드 라인의 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 비선택 스트링 선택 라인(SSL) 및 미리 정해진 워드 라인(WL)에 대응하는 메모리 셀들에 대한 신뢰성 검증 읽기, 그리고 비선택 스트링 선택 라인(SSL)에 대응하며 소거 셀들로 구성된 행의 메모리 셀들에 대한 신뢰성 검증 읽기 중 적어도 하나의 신뢰성 검증 읽기가 수행될 수 있다.
즉, 읽기가 수행된 선택된 메모리 셀들에 인접한 메모리 셀들, 선택된 메모리 셀들과 동일한 소거 단위에 속하며 미리 정해진 위치의 메모리 셀들, 또는 선택된 메모리 셀들과 동일한 소거 단위에 속하는 소거 셀들에 대해 신뢰성 검증 읽기가 수행된다. 신뢰성 검증 읽기는 하나 또는 적어도 두 개의 행들에 대해 수행될 수 있다. 소거 셀들이 아닌 검증 셀들의 비트 에러율이 임계값 이상인 경우, 읽기 리클레임이 수행(또는 예약)된다. 읽기 리클레임이 수행되면, 검증 셀들이 속한 소거 단위(예를 들어, 메모리 블록(BLKa) 또는 서브 블록)의 데이터가 다른 소거 유닛으로 복사(또는 이동)된다. 읽기 리클레임이 수행되면, 신뢰성 검증 읽기와 연관된 후속 동작들은 생략될 수 있다. 소거 셀들의 비트 에러율이 임계값 이상인 경우, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된 상태에서, 소거 셀들에 대한 신뢰성 검증 읽기는 생략될 수 있다.
도 16은 신뢰성 검증 읽기의 제10 예를 보여주는 순서도이다. 도 1, 도 3 및 도 16을 참조하면, S2110 단계에서, 제1 조건이 충족되는지 판별된다. 예를 들어, 랜덤수(RDN)가 제1 범위에 속하는지 판별될 수 있다. 제1 조건이 충족되면, S2120 단계에서, 도 12, 도 13 및 도 14를 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다.
제1 조건이 충족되지 않으면, S2130 단계에서, 제2 조건이 충족되는지 판별된다. 예를 들어, 랜덤수(RDN)가 제2 범위에 속하는지 판별될 수 있다. 제2 조건이 충족되면, S2140 단계에서, 도 6 및 도 7을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라 신뢰성 검증 읽기가 수행된다. 제2 조건이 충족되지 않으면, 도 8, 도 9 및 도 11을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다.
즉, 메모리 컨트롤러(120)는 상황에 따라 신뢰성 검증 읽기가 수행되는 검증 셀들을 다르게 선택할 수 있다.
도 17은 신뢰성 검증 읽기의 제11 예를 보여주는 순서도이다. 도 1, 도 3 및 도 17을 참조하면, 랜덤수 발생기(123)는 복수의 랜덤수들을 생성할 수 있다. 예시적으로, 랜덤수 발생기(123)는 제1 내지 제3 랜덤수들(RDN1, RDN2, RDN3)을 생성할 수 있다. 카운터(125)는 복수의 랜덤수들에 대응하는 복수의 카운트들을 관리할 수 있다. 예를 들어, 카운터(125)는 제1 내지 제3 랜덤수들(RDN1, RDN2, RDN3)에 각각 대응하는 제1 내지 제3 카운트들을 관리할 수 있다.
선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에서 읽기가 수행되면, S2210 단계에서, 제1 내지 제3 카운트들이 각각 증가된다.
S2220 단계에서, 제1 카운트가 제1 랜덤수(RDN1)에 도달했는지 판별된다. 제1 카운트가 제1 랜덤수(RDN1)에 도달했으면, S2230 단계가 수행된다. S2230 단계에서, 도 12, 도 13 및 도 14를 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다. 또한, 제1 카운트가 리셋되고, 제1 랜덤수(RDN1)가 갱신될 수 있다.
S2240 단계에서, 제2 카운트가 제2 랜덤수(RDN2)에 도달했는지 판별된다. 제2 카운트가 제2 랜덤수(RDN2)에 도달했으면, S2250 단계가 수행된다. S2250 단계에서, 도 6 및 도 7을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라 신뢰성 검증 읽기가 수행된다. 또한, 제2 카운트가 리셋되고, 제2 랜덤수(RDN2)가 갱신될 수 있다.
S2260 단계에서, 제3 카운트가 제3 랜덤수(RDN3)에 도달했는지 판별된다. 제3 카운트가 제3 랜덤수(RDN3)에 도달했으면, S2270 단계가 수행된다. S2270 단계에서, 도 8, 도 9 및 도 11을 참조하여 설명된 방법들 중 적어도 하나의 방법에 따라, 신뢰성 검증 읽기가 수행된다. 또한, 제3 카운트가 리셋되고, 제3 랜덤수(RDN3)가 갱신될 수 있다.
즉, 메모리 컨트롤러(120)는 복수의 랜덤수들(RDN) 및 복수의 랜덤수들(RDN)에 각각 대응하는 복수의 카운트들을 관리할 수 있다. 복수의 카운트들 중 어느 카운트가 대응하는 랜덤수(RDN)에 도달하는지에 따라, 메모리 컨트롤러(1200는 서로 다른 방식의 신뢰성 검증 읽기를 수행할 수 있다.
상술된 실시 예들에서, 하나의 메모리 블록(BLKa)을 참조하여 신뢰성 검증 읽기가 수행되는 예가 설명되었다. 도 2를 참조하여 설명된 바와 같이, 불휘발성 메모리(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함하며, 각 메모리 블록은 복수의 서브 블록들로 분할될 수 있다.
메모리 컨트롤러(120)는 메모리 블록 또는 서브 블록의 단위로 신뢰성 검증 읽기의 수행 여부를 결정할 수 있다. 메모리 컨트롤러(120)는 불휘발성 메모리(110)의 소거 단위에 기반하여 신뢰성 검증 읽기의 수행 여부를 결정할 수 있다.
예를 들어, 랜덤수 생성기(123)는 각 메모리 블록 또는 각 서브 블록 마다 적어도 하나의 랜덤수(RDN)를 생성할 수 있다. 카운터(125)는 각 메모리 블록 또는 각 서브 블록 마다 적어도 하나의 카운트를 관리할 수 있다. 각 메모리 블록 또는 각 서브 블록에서 신뢰성 검증 읽기의 수행 조건이 충족되면, 각 메모리 블록 또는 각 서브 블록에서 신뢰성 검증 읽기가 수행될 수 있다.
도 18은 신뢰성 검증 읽기의 제12 예를 보여주는 순서도이다. 도 1, 도 3 및 도 18을 참조하면, S2310 단계에서, 도 9 또는 도 13을 참조하여 설명된 방법에 따라, 배드 셀들에 대해 신뢰성 검증 읽기가 수행된다.
S2320 단계에서, 도 6 내지 도 8, 도 11, 도 12, 또는 도 14 내지 도 17을 참조하여 설명된 방법에 따라, 정상 셀들에 대해 신뢰성 검증 읽기가 수행된다.
즉, 배드 셀들의 정보가 존재하는 경우, 배드 셀들에 대한 신뢰성 검증 읽기가 먼저 수행된다. 배드 셀들의 신뢰성 검증 결과에 따라, 읽기 리클레임이 수행될 수 있다. 읽기 리클레임이 수행되면, 후속하는 신뢰성 검증 읽기들은 생략될 수 있다. 배드 셀들의 비트 에러율(BER)이 임계값 이하인 경우, 정상 셀들에 대한 신뢰성 검증 읽기가 수행될 수 있다. 정상 셀들에 대한 신뢰성 검증 읽기의 결과에 따라, 읽기 리클레임이 수행될 수 있다. 읽기 리클레임이 수행되면, 후속하는 신뢰성 검증 읽기들은 생략될 수 있다.
검증 셀들이 소거 셀들인 경우, 읽기 리클레임이 수행되는 대신 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈될 수 있다. 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된 경우, 후속하는 소거 셀들에 대한 신뢰성 검증 읽기는 생략될 수 있다.
도 19는 신뢰성 검증 읽기의 제13 예를 보여주는 순서도이다. 도 1, 도 3 및 도 19를 참조하면, S2410 단계에서, 선택된 스트링 선택 라인(SSL) 및 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다. S2420 단계에서, 선택된 스트링 선택 라인(SSL) 및 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다. S2430 단계에서, 비선택된 스트링 선택 라인(WL) 및 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
즉, 선택된 워드 라인(WL)의 상위 워드 라인에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 i회(i는 2 이상의 양의 정수) 수행되고, 선택된 워드 라인(WL)의 하위 워드 라인에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 j회(j는 i보다 작은 양의 정수) 수행될 수 있다. 예를 들어, 상위 워드 라인에 대응하는 메모리 셀들의 행들 중 i개의 행들에서 각각 신뢰성 검증 읽기가 수행되고, 하위 워드 라인에 대응하는 메모리 셀들의 행들 중 j개의 행들에서 각각 신뢰성 검증 읽기가 수행될 수 있다.
검증 셀들의 비트 에러율(BER)이 임계값 이상이면, 읽기 리클레임이 수행될 수 있다. 읽기 리클레임이 수행되면, 후속하는 신뢰성 검증 읽기들은 생략될 수 있다. 검증 셀들이 소거 셀들인 경우, 읽기 리클레임이 수행되는 대신 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈될 수 있다. 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된 경우, 후속하는 소거 셀들에 대한 신뢰성 검증 읽기는 생략될 수 있다.
도 20은 신뢰성 검증 읽기의 제14 예를 보여주는 순서도이다. 도 1, 도 3 및 도 20을 참조하면, S2510 단계에서, 선택된 스트링 선택 라인(SSL) 및 상위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다. S2520 단계에서, 선택된 스트링 선택 라인(SSL) 및 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다. S2530 단계에서, 비선택된 스트링 선택 라인(WL) 및 하위 워드 라인(WL)에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 수행된다.
즉, 선택된 워드 라인(WL)의 하위 워드 라인에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 i회(i는 2 이상의 양의 정수) 수행되고, 선택된 워드 라인(WL)의 상위 워드 라인에 대응하는 메모리 셀들에 대해 신뢰성 검증 읽기가 j회(j는 i보다 작은 양의 정수) 수행될 수 있다. 예를 들어, 하위 워드 라인에 대응하는 메모리 셀들의 행들 중 i개의 행들에서 각각 신뢰성 검증 읽기가 수행되고, 상위 워드 라인에 대응하는 메모리 셀들의 행들 중 j개의 행들에서 각각 신뢰성 검증 읽기가 수행될 수 있다.
검증 셀들의 비트 에러율(BER)이 임계값 이상이면, 읽기 리클레임이 수행될 수 있다. 읽기 리클레임이 수행되면, 후속하는 신뢰성 검증 읽기들은 생략될 수 있다. 검증 셀들이 소거 셀들인 경우, 읽기 리클레임이 수행되는 대신 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈될 수 있다. 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된 경우, 후속하는 소거 셀들에 대한 신뢰성 검증 읽기는 생략될 수 있다.
도 21은 신뢰성 검증 읽기의 제15 예를 보여주는 순서도이다. 도 1, 도 3 및 도 21을 참조하면, S2610 단계에서, 제1 메모리 셀들에 대해 제1 임계값(CV1)을 이용하여 신뢰성 검증 읽기가 수행된다. 예를 들어, 제1 메모리 셀들의 비트 에러율이 제1 임계값(CV1) 이상인지 판별될 수 있다.
S2620 단계에서, 제2 메모리 셀들에 대해 제2 임계값(CV2)을 이용하여 신뢰성 검증 읽기가 수행된다. 예를 들어, 제2 메모리 셀들의 비트 에러율이 제2 임계값(CV2) 이상인지 판별될 수 있다. 제2 임계값(CV2)은 제1 임계값(CV1)과 다를 수 있다.
검증 셀들의 비트 에러율(BER)이 임계값 이상이면, 읽기 리클레임이 수행될 수 있다. 읽기 리클레임이 수행되면, 후속하는 신뢰성 검증 읽기들은 생략될 수 있다. 검증 셀들이 소거 셀들인 경우, 읽기 리클레임이 수행되는 대신 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈될 수 있다. 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된 경우, 후속하는 소거 셀들에 대한 신뢰성 검증 읽기는 생략될 수 있다.
예시적으로, 제1 메모리 셀들은 배드 셀들이고, 제2 메모리 셀들은 정상 셀들일 수 있다. 이 경우, 제1 임계값(CV1)은 제2 임계값(CV2)보다 낮게 설정될 수 있다.
다른 예로서, 제1 메모리 셀들은 소거 셀들이고, 제2 메모리 셀들은 데이터를 저장하는 메모리 셀들일 수 있다. 이 경우, 제1 임계값(CV1)은 제2 임계값(CV2)보다 낮게 설정될 수 있다.
도 22는 읽기 리클레임의 제1 예를 보여주는 순서도이다. 도 1, 도 2, 도 3및 도 22를 참조하면, S2710 단계에서, 워드 라인들(WL1~WL6)의 순서에 따라, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동) 된다.
예를 들어, 제1 워드 라인(WL1)에 연결된 메모리 셀들로부터 제6 워드 라인(WL6)에 연결된 메모리 셀들의 순서로, 메모리 셀들에 기입된 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)될 수 있다. 예를 들어, 메모리 컨트롤러(120)가 선택된 메모리 블록(BLKa)으로부터 데이터를 읽고, 읽어진 데이터를 다른 메모리 블록에 기입할 수 있다.
도 23은 읽기 리클레임의 제2 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 23을 참조하면, S2810 단계에서, 검증 메모리 셀들의 데이터가 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 메모리 셀들 중 검증 읽기가 수행된 검증 메모리 셀들의 데이터를 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)할 수 있다.
S2820 단계에서, 워드 라인들(WL1~WL6)의 순서에 따라, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 나머지 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa)의 메모리 셀들 중 검증 셀들을 제외한 나머지 메모리 셀들로부터 데이터를 읽을 수 있다. 메모리 컨트롤러(120)는 S2810 단계에서 읽어진 검증 셀들의 데이터가 기입된 메모리 블록 또는 서브 블록에, S2820 단계에서 읽어진 나머지 메모리 셀들의 데이터를 기입할 수 있다.
예시적으로, 검증 셀들의 비트 에러율이 임계값 이상인 경우에 읽기 리클레임이 수행된다. 읽기 리클레임 시에 검증 셀들이 아닌 나머지 메모리 셀들로부터 데이터가 읽어지는 동안, 검증 셀들은 추가적인 읽기 교란을 경험할 수 있다. 추가적인 읽기 교란은, 검증 셀들에 저장된 데이터에 정정 불가능한 수준의 에러를 유발할 수 있다. 이와 같은 현상을 방지하기 위하여, 임계값 이상의 비트 에러율을 갖는 것으로 판별된 검증 셀들의 데이터가 가장 먼저 읽어지고, 나머지 메모리 셀들의 데이터가 이후에 읽어질 수 있다.
예시적으로, S2810 단계는 검증 셀들의 비트 에러율이 임계값 이상인 경우에, 즉시 수행될 수 있다. S2820 단계는 스토리지 장치(100)가 유휴 상태일 때에, 또는 스토리지 장치(100)의 배경 동작(background operation)으로 수행될 수 있다.
도 24는 읽기 리클레임의 제3 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 24를 참조하면, S2910 단계에서, 검증 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)된다. S2920 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 즉, 읽기 리클레임 시에, 검증 셀들 외의 나머지 메모리 셀들의 데이터는 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)되지 않을 수 있다.
읽기 리클레임의 단위가 검증 셀들로 한정되면, 읽기 리클레임이 수행되어도 신뢰성 검증 읽기와 연관된 후속 동작이 생략되지 않고 계속 수행될 수 있다. 예를 들어, 도 7, 도 11 및 도 16에서, 제1 검증 셀들의 신뢰성 검증 읽기 결과에 따라 읽기 리클레임이 수행되면, 제2 검증 셀들의 신뢰성 검증 읽기는 수행되지 않는 것으로 설명되었다. 그러나, 읽기 리클레임의 단위가 메모리 셀들의 행으로 한정되면, 제1 검증 셀들의 신뢰성 읽기 결과에 따라 읽기 리클레임이 수행되어도, 제2 검증 셀들의 신뢰성 읽기가 수행될 수 있다.
도 25는 읽기 리클레임의 제4 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 25를 참조하면, S3010 단계에서, 선택된 메모리 셀들의 데이터가 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 메모리 셀들 중 외부 호스트 장치의 읽기 요청에 의해 읽기가 수행된 메모리 셀들의 데이터를 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)할 수 있다.
S3020 단계에서, 워드 라인들(WL1~WL6)의 순서에 따라, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 나머지 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa)의 메모리 셀들 중 선택된 메모리 셀들을 제외한 나머지 메모리 셀들로부터 데이터를 읽을 수 있다. 메모리 컨트롤러(120)는 S3010 단계에서 읽어진 검증 셀들의 데이터가 기입된 메모리 블록 또는 서브 블록에, S3020 단계에서 읽어진 나머지 메모리 셀들의 데이터를 기입할 수 있다.
예시적으로, S3010 단계는 검증 셀들의 비트 에러율이 임계값 이상인 경우에, 즉시 수행될 수 있다. S3020 단계는 스토리지 장치(100)가 유휴 상태일 때에, 또는 스토리지 장치(100)의 배경 동작(background operation)으로 수행될 수 있다.
선택된 메모리 셀들에 기입된 데이터가 읽어질 때에, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에서 읽기 교란이 발생한다. 읽기 대상이 되는 선택된 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)되면, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록에서 발생하는 읽기 교란이 감소된다.
도 26은 읽기 리클레임의 제5 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 26을 참조하면, S3110 단계에서, 선택된 메모리 셀들의 데이터가 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 메모리 셀들 중 외부 호스트 장치의 읽기 요청에 의해 읽기가 수행된 메모리 셀들의 데이터를 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)할 수 있다.
S3120 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 즉, 읽기 리클레임 시에, 선택된 메모리 셀들 외의 나머지 메모리 셀들의 데이터는 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)되지 않을 수 있다.
도 27은 읽기 리클레임의 제6 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 27을 참조하면, S3210 단계에서, 검증된(또는 선택된) 스트링 선택 라인(SSL)에 대응하는 메모리 셀들의 데이터가 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 신뢰성 검증 읽기 시에 임계값 이상의 비트 에러율을 갖는 것으로 판별된 메모리 셀들에 대응하는 스트링 선택 라인(SSL) 또는 선택된 스트링 선택 라인을 읽기 리클레임의 대상으로 선택할 수 있다.
메모리 컨트롤러는 읽기 리클레임의 대상으로 선택된 스트링 선택 라인과 연관된 메모리 셀들(예를 들어, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록 내의 연관된 모든 메모리 셀들)의 데이터를 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)할 수 있다.
S3220 단계에서, 워드 라인들(WL1~WL6)의 순서에 따라, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록의 나머지 메모리 셀들의 데이터가 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 선택된 메모리 블록(BLKa)의 나머지 메모리 셀들로부터 데이터를 읽을 수 있다. 메모리 컨트롤러(120)는 S3210 단계에서 읽어진 검증 셀들의 데이터가 기입된 메모리 블록 또는 서브 블록에, S3220 단계에서 읽어진 나머지 메모리 셀들의 데이터를 기입할 수 있다.
예시적으로, S3210 단계는 검증 셀들의 비트 에러율이 임계값 이상인 경우에, 즉시 수행될 수 있다. S3220 단계는 스토리지 장치(100)가 유휴 상태일 때에, 또는 스토리지 장치(100)의 배경 동작(background operation)으로 수행될 수 있다.
도 28은 읽기 리클레임의 제7 예를 보여주는 순서도이다. 도 1, 도 2, 도 3 및 도 28을 참조하면, S3310 단계에서, 검증된(또는 선택된) 스트링 선택 라인(SSL)에 대응하는 메모리 셀들의 데이터가 복사(또는 이동)된다. 예를 들어, 메모리 컨트롤러(120)는 신뢰성 검증 읽기 시에 임계값 이상의 비트 에러율을 갖는 것으로 판별된 메모리 셀들에 대응하는 스트링 선택 라인(SSL) 또는 선택된 스트링 선택 라인을 읽기 리클레임의 대상으로 선택할 수 있다.
메모리 컨트롤러는 읽기 리클레임의 대상으로 선택된 스트링 선택 라인과 연관된 메모리 셀들(예를 들어, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록 내의 연관된 모든 메모리 셀들)의 데이터를 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)할 수 있다.
S3120 단계에서, 선택된 메모리 블록(BLKa) 또는 선택된 서브 블록이 클로즈된다. 즉, 읽기 리클레임 시에, 읽기 리클레임의 대상으로 선택된 스트링 선택 라인에 대응하지 않는 나머지 메모리 셀들의 데이터는 다른 메모리 블록 또는 다른 서브 블록으로 복사(또는 이동)되지 않을 수 있다.
도 29는 신뢰성 검증 읽기의 조건을 조절하는 예를 보여주는 테이블이다. 도 1, 도 2, 도 3 및 도 29를 참조하면, 메모리 컨트롤러(120)는 주변 환경에 따라, 신뢰성 검증 읽기를 수행하기 위한 조건을 조절할 수 있다.
예시적으로, 메모리 블록(BLKa) 또는 서브 블록의 프로그램 또는 소거 횟수가 증가할수록, 메모리 블록(BLKa) 또는 서브 블록의 메모리 셀들에 저장된 데이터의 에러율이 증가할 수 있다. 따라서, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록의 프로그램 또는 소거 횟수가 증가할수록, 메모리 블록(BLKa) 또는 서브 블록과 연관된 랜덤수(RDN)의 범위 또는 평균을 감소시킬 수 있다. 또한, 메모리 블록(BLKa) 또는 서브 블록의 프로그램 또는 소거 횟수가 증가할수록, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에서 메모리 셀들의 적어도 하나의 행에 대해 적어도 하나의 신뢰성 검증 읽기를 더 수행할 수 있다.
메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 수행되는 읽기 횟수가 증가할수록, 메모리 블록(BLKa) 또는 서브 블록의 메모리 셀들에 저장된 데이터의 에러율이 증가할 수 있다. 따라서, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 수행되는 읽기 횟수가 증가할수록, 메모리 블록(BLKa) 또는 서브 블록과 연관된 랜덤수(RDN)의 범위 또는 평균을 감소시킬 수 있다. 또한, 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 수행되는 읽기 횟수가 증가할수록, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에서 메모리 셀들의 적어도 하나의 행에 대해 적어도 하나의 신뢰성 검증 읽기를 더 수행할 수 있다.
메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 증가할수록, 메모리 블록(BLKa) 또는 서브 블록의 메모리 셀들에 저장된 데이터의 에러율이 증가할 수 있다. 따라서, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 증가할수록, 메모리 블록(BLKa) 또는 서브 블록과 연관된 랜덤수(RDN)의 범위 또는 평균을 감소시킬 수 있다. 또한, 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 증가할수록, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에서 메모리 셀들의 적어도 하나의 행에 대해 적어도 하나의 신뢰성 검증 읽기를 더 수행할 수 있다.
예를 들어, 데이터가 기입된 후 경과한 시간은, 데이터가 기입될 때 생성되는 프로그램 타임 스탬프(PTS, Program Time Stamp)로부터 검출될 수 있다. 예를 들어, 프로그램 타임 스탬프(PTS)는 프로그램된 시점으로부터 현재까지 경과한 시간을 가리킬 수 있다. 다른 예로서, 프로그램 타임 스탬프(PTS)는 프로그램이 수행된 때의 시간을 가리킬 수 있다. 메모리 컨트롤러(120)는 프로그램 타임 스탬프(PTS) 및 현재 시간을 비교하여, 경과 시간을 검출할 수 있다.
메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 매우 짧으면, 예를 들어 제1 기준 시간보다 짧으면, 메모리 블록(BLKa) 또는 서브 블록의 메모리 셀들에 저장된 데이터에서 에러가 발생할 확률이 매우 낮을 수 있다. 따라서, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 제1 기준 시간보다 짧으면, 신뢰성 검증 읽기의 수행 조건이 충족되어도 신뢰성 검증 읽기를 생략할 수 있다.
다른 예로서, 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 매우 짧으면, 예를 들어 제1 기준 시간보다 더 짧은 제2 기준 시간보다 짧으면, 메모리 블록(BLKa) 또는 서브 블록의 메모리 셀들에 저장된 데이터가 안정화되지 않은 상태이며, 따라서 에러가 발생할 확률이 매우 높을 수 있다. 따라서, 메모리 컨트롤러(120)는 메모리 블록(BLKa) 또는 서브 블록에 데이터가 기입된 후에 경과한 시간이 제2 기준 시간보다 짧으면, 신뢰성 검증 읽기를 적어도 한 번 더 수행할 수 있다.
선택된 메모리 셀들의 데이터가 랜덤(random) 데이터인지 순차(sequential) 데이터인지에 따라, 메모리 컨트롤러(120)는 적어도 하나의 신뢰성 검증 읽기를 더(또는 덜) 수행할 수 있다.
배드 셀들의 정보가 존재하고, 신뢰성 검증 읽기 시에 배드 셀들이 검증되지 않은 경우, 메모리 컨트롤러(120)는 배드 셀들에 대해 도 9 또는 도 13을 참조하여 설명된 방법에 따라 적어도 한 번의 신뢰성 검증 읽기를 더 수행할 수 있다. 예를 들어,
선택된 메모리 블록(BLKa) 또는 서브 블록이 오픈 블록인 경우, 메모리 컨트롤러(120)는 신뢰성 검증 읽기가 소거 셀들에 대해 수행되지 않도록, 신뢰성 검증 읽기의 대상을 조절할 수 있다. 다른 예로서, 소거 셀들에 대해 신뢰성 검증 읽기가 수행되지 않는 경우, 메모리 컨트롤러(120)는 소거 셀들에 대해 적어도 한 번의 신뢰성 검증 읽기를 더 수행할 수 있다.
도 30은 본 발명의 다른 실시 예에 따른 스토리지 장치(200)를 보여주는 블록도이다. 도 30을 참조하면, 스토리지 장치(200)는 불휘발성 메모리(210) 및 메모리 컨트롤러(220)를 포함한다. 메모리 컨트롤러(220)는 레지스터(221), 랜덤수 발생기(223), 카운터(225), 그리고 에러 정정 블록(227)을 포함한다.
도 1의 스토리지 장치(100)와 비교하면, 스토리지 장치(200)는 RAM (130)을 포함하지 않는다. 도 1에서 RAM (130)을 참조하여 설명된 동작들은 메모리 컨트롤러(220) 내부의 RAM에 의해 수행될 수 있다.
도 31은 본 발명의 실시 예에 따른 컴퓨팅 장치(300)를 보여주는 블록도이다. 도 31을 참조하면, 컴퓨팅 장치(300)는 프로세서(310), 메모리(1200), 스토리지 장치(330), 모뎀(340), 그리고 사용자 인터페이스(350)를 포함한다.
프로세서(310)는 컴퓨팅 장치(300)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 예를 들어, 프로세서(310)는 시스템-온-칩(SoC, System-on-Chip)으로 구성될 수 있다. 프로세서(310)는 범용 프로세서, 특수 목적 프로세서 또는 어플리케이션 프로세서일 수 있다.
RAM (320)은 프로세서(310)와 통신할 수 있다. RAM (320)은 프로세서(310) 또는 컴퓨팅 장치(300)의 메인 메모리일 수 있다. 프로세서(310)는 RAM (320)에 코드 또는 데이터를 임시로 저장할 수 있다. 프로세서(310)는 RAM (320)을 이용하여 코드를 실행하고, 데이터를 처리할 수 있다. 프로세서(310)는 RAM (320)을 이용하여 운영체제, 어플리케이션과 같은 다양한 소프트웨어들을 실행할 수 있다. 프로세서(310)는 RAM (320)을 이용하여 컴퓨팅 장치(300)의 제반 동작을 제어할 수 있다. RAM (320)은 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등과 같은 휘발성 메모리, 또는 PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FeRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
스토리지 장치(330)는 프로세서(310)와 통신할 수 있다. 스토리지 장치(330)는 장기적으로 보존되어야 하는 데이터를 저장할 수 있다. 즉, 프로세서(310)는 장기적으로 보존되어야 하는 데이터를 스토리지 장치(330)에 저장할 수 있다. 스토리지 장치(330)는 컴퓨팅 장치(300)를 구동하기 위한 부트 이미지를 저장할 수 있다. 스토리지 장치(330)는 운영체제, 어플리케이션과 같은 다양한 소프트웨어들의 소스 코드들을 저장할 수 있다. 스토리지 장치(330)는 운영체제, 어플리케이션과 같은 다양한 소프트웨어들에 의해 처리된 데이터를 저장할 수 있다.
예시적으로, 프로세서(310)는 스토리지 장치(330)에 저장된 소스 코드들을 RAM (320)에 로드하고, RAM (320)에 로드된 코드들을 실행함으로써, 운영체제, 어플리케이션과 같은 다양한 소프트웨어들을 구동할 수 있다. 프로세서(310)는 스토리지 장치(330)에 저장된 데이터를 RAM (320)에 로드하고, RAM (320)에 로드된 데이터를 처리할 수 있다. 프로세서(310)는 RAM (320)에 저장된 데이터 중 장기적으로 보존하고자 하는 데이터를 스토리지 장치(330)에 저장할 수 있다.
스토리지 장치(330)는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
모뎀(340)은 프로세서(310)의 제어에 따라 외부 장치와 통신을 수행할 수 있다. 예를 들어, 모뎀(340)은 외부 장치와 유선 또는 무선 통신을 수행할 수 있다. 모뎀(140)은 LTE (Long Term Evolution), 와이맥스(WiMax), GSM (Global System for Mobile communication), CDMA (Code Division Multiple Access), 블루투스(Bluetooth), NFC (Near Field Communication), 와이파이(WiFi), RFID (Radio Frequency IDentification) 등과 같은 다양한 무선 통신 방식들, 또는 USB (Universal Serial Bus), SATA (Serial AT Attachment), HSIC (High Speed Interchip), SCSI (Small Computer System Interface), 파이어와이어(Firewire), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), SDIO, UART (Universal Asynchronous Receiver Transmitter), SPI (Serial Peripheral Interface), HS-SPI (High Speed SPI), RS232, I2C (Inter-integrated Circuit), HS-I2C, I2S, (Integrated-interchip Sound), S/PDIF (Sony/Philips Digital Interface), MMC (MultiMedia Card), eMMC (embedded MMC) 등과 같은 다양한 유선 통신 방식들 중 적어도 하나에 기반하여 통신을 수행할 수 있다.
사용자 인터페이스(350)는 프로세서(310)의 제어에 따라 사용자와 통신할 수 있다. 예를 들어, 사용자 인터페이스(350)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 등과 같은 사용자 입력 인터페이스들을 포함할 수 있다. 사용자 인터페이스(150)는 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 인터페이스들을 포함할 수 있다.
스토리지 장치(330)는 본 발명의 실시 예에 따른 스토리지 장치들(100, 200) 중 적어도 하나를 포함할 수 있다. 프로세서(310), RAM (320), 모뎀(340), 그리고 사용자 인터페이스(350)는 스토리지 장치(330)와 통신하는 호스트 장치를 형성할 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 200; 스토리지 장치
110, 210; 불휘발성 메모리
120, 220; 메모리 컨트롤러
130; 랜덤 액세스 메모리
121, 221; 레지스터
123, 223; 랜덤수 발생기
125, 225; 카운터
127, 227; 에러 정정 블록
111; 메모리 셀 어레이
113; 어드레스 디코더 회로
115; 페이지 버퍼 회로
117; 데이터 입출력 회로
119; 제어 로직 회로
300; 컴퓨팅 장치
310; 프로세서
320; 랜덤 액세스 메모리
330; 스토리지 장치
340; 모뎀
350; 사용자 인터페이스
SUB; 기판
CSR; 공통 소스 영역들
INS, INS'; 절연층들
PL; 필라들
CH; 채널막들
INN; 내부 물질들
INF; 정보 저장막들
CM1~CM10; 도전 물질들
DR; 드레인들

Claims (20)

  1. 불휘발성 메모리 및 상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법에 있어서:
    상기 불휘발성 메모리는 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하고, 각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고,
    제1 내지 제M 행들의 셀 스트링들의 스트링 선택 트랜지스터들은 제1 내지 제M 스트링 선택 라인들에 각각 연결되고, 상기 제1 내지 제M 행들의 셀 스트링들의 제1 내지 제N 높이의 메모리 셀들은 제1 내지 제N 워드 라인들에 각각 연결되고,
    상기 동작 방법은,
    읽기 커맨드 및 읽기 어드레스를 수신하는 단계;
    상기 읽기 커맨드에 따라, 상기 읽기 어드레스에 의해 선택된 스트링 선택 라인 및 선택된 워드 라인에 대응하는 선택된 메모리 셀들에 대해 읽기를 수행하는 단계; 그리고
    상기 선택된 메모리 셀들에 인접한 비선택된 메모리 셀들에 대해 신뢰성 검증 읽기를 수행하는 단계를 포함하고,
    상기 읽기에 의해 읽어진 데이터는 외부로 출력되고, 상기 신뢰성 검증 읽기에 의해 읽어진 데이터는 외부로 출력되지 않고,
    상기 신뢰성 검증 읽기를 수행하는 단계는, 상기 셀 스트링들의 메모리 셀들 중에서 상기 기판으로부터 특정한 높이에 위치하는 배드 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 포함하고,
    상기 복수의 셀 스트링들의 각각은 상기 기판과 수직한 방향으로 신장되고, 상기 순차적으로 적층된 상기 접지 선택 트랜지스터, 상기 복수의 메모리 셀들 및 상기 스트링 선택 트랜지스터에 의해 공유되는 필라를 포함하고,
    상기 특정한 높이에서, 상기 필라의 폭은 상기 기판과 가까워질수록 증가한 후에 감소하는 동작 방법.
  2. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  3. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 함하는 동작 방법.
  4. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  5. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는, 소거 상태의 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  6. 제1 항에 있어서,
    상기 신뢰성 검증 읽기는, 상기 읽기가 수행될 때마다 증가하는 카운트가 랜덤수에 도달할 때마다 수행되고,
    상기 신뢰성 검증 읽기가 수행될 때마다 상기 랜덤수는 갱신되는 동작 방법.
  7. 제6 항에 있어서,
    상기 랜덤수는 미리 정해진 범위 내의 값을 갖도록 또는 미리 정해진 평균값을 갖도록 갱신되는 동작 방법.
  8. 제7 항에 있어서,
    상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들의 소거 횟수가 증가할수록 감소되는 동작 방법.
  9. 제7 항에 있어서,
    상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들에 데이터가 기입된 후 읽기가 수행된 횟수가 증가할수록 감소되는 동작 방법.
  10. 제7 항에 있어서,
    상기 미리 정해진 범위 또는 상기 평균값은, 상기 복수의 셀 스트링들의 메모리 셀들에 데이터가 기입된 후 경과한 시간이 증가할수록 감소되는 동작 방법.
  11. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계;
    비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고
    상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  12. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    상기 읽기가 수행될 때마다 증가하는 제1 카운트가 제1 랜덤수에 도달할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계;
    상기 읽기가 수행될 때마다 증가하는 제2 카운트가 제2 랜덤수에 도달할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고
    상기 읽기가 수행될 때마다 증가하는 제2 카운트가 제2 랜덤수에 도달할 때, 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  13. 제1 항에 있어서,
    상기 신뢰성 검증 읽기를 수행하는 단계는,
    랜덤수를 생성하는 단계;
    상기 랜덤수가 제1 범위에 속할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계;
    상기 랜덤수가 제2 범위에 속할 때, 비선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계; 그리고
    상기 랜덤수가 상기 제1 범위 및 상기 제2 범위에 속하지 않을 때, 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 인접한 적어도 하나의 워드 라인에 대응하는 메모리 셀들에 대해 상기 신뢰성 검증 읽기를 수행하는 단계를 더 포함하는 동작 방법.
  14. 제1 항에 있어서,
    상기 신뢰성 검증 읽기가 수행된 메모리 셀들이 소거 상태이고, 상기 신뢰성 검증 읽기의 비트 에러율이 임계값 이상인 경우, 상기 메모리 셀들에 대한 쓰기를 금지하는 단계를 더 포함하는 동작 방법.
  15. 제1 항에 있어서,
    상기 신뢰성 검증 읽기가 수행된 메모리 셀들이 소거 상태가 아니고, 상기 신뢰성 검증 읽기의 비트 에러율이 임계값 이상인 경우, 읽기 리클레임을 수행하는 단계를 더 포함하는 동작 방법.
  16. 제15 항에 있어서,
    상기 읽기 리클레임을 수행하는 단계는,
    상기 신뢰성 검증 읽기가 수행된 메모리 셀들의 데이터를 읽기 리클레임하는 단계를 포함하는 동작 방법.
  17. 제16 항에 있어서,
    상기 읽기 리클레임을 수행하는 단계는,
    상기 신뢰성 검증 읽기가 수행된 메모리 셀들의 데이터가 읽기 리클레임된 후, 나머지 메모리 셀들의 데이터를 읽기 리클레임하는 단계를 더 포함하는 동작 방법.
  18. 불휘발성 메모리 및 상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법에 있어서:
    상기 불휘발성 메모리는 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하고, 각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고,
    상기 동작 방법은,
    읽기 커맨드 및 읽기 어드레스를 수신하는 단계;
    상기 읽기 커맨드에 응답하여, 상기 읽기 어드레스에 의해 선택된 메모리 셀들로부터 데이터를 읽고, 읽어진 데이터를 출력하는 단계; 그리고
    상기 읽기 커맨드에 응답하여, 상기 읽기 어드레스에 의해 선택되지 않은 비선택 메모리 셀들로부터 데이터를 읽고, 읽기 결과에 따라 상기 비선택 메모리 셀들의 읽기 리클레임 여부를 판별하는 단계를 포함하고,
    상기 비선택 메모리 셀들은 상기 셀 스트링들의 메모리 셀들 중에서 상기 기판으로부터 특정한 높이에 위치하는 배드 메모리 셀들을 포함하고,
    상기 복수의 셀 스트링들의 각각은 상기 기판과 수직한 방향으로 신장되고, 상기 순차적으로 적층된 상기 접지 선택 트랜지스터, 상기 복수의 메모리 셀들 및 상기 스트링 선택 트랜지스터에 의해 공유되는 필라를 포함하고,
    상기 특정한 높이에서, 상기 필라의 폭은 상기 기판과 가까워질수록 증가한 후에 감소하는 동작 방법.
  19. 기판 위에서 행들 및 열들로 배열되는 복수의 셀 스트링들을 포함하는 불휘발성 메모리; 그리고
    상기 불휘발성 메모리를 제어하도록 구성되는 메모리 컨트롤러를 포함하고,
    각 셀 스트링은 상기 기판 위에서 상기 기판과 수직한 방향으로 순차적으로 적층된 접지 선택 트랜지스터, 복수의 메모리 셀들 및 스트링 선택 트랜지스터를 포함하고,
    상기 메모리 컨트롤러는 외부 장치의 요청에 따라 상기 불휘발성 메모리의 선택된 메모리 셀들로부터 데이터를 읽고, 그리고 상기 선택된 메모리 셀들과 인접한 비선택 메모리 셀들을 읽고, 그리고 상기 비선택 메모리 셀들의 읽기 결과에 따라 상기 비선택 메모리 셀들의 읽기 리클레임 여부를 판별하도록 구성되고,
    상기 비선택 메모리 셀들은 상기 셀 스트링들의 메모리 셀들 중에서 상기 기판으로부터 특정한 높이에 위치하는 배드 메모리 셀들을 포함하고,
    상기 복수의 셀 스트링들의 각각은 상기 기판과 수직한 방향으로 신장되고, 상기 순차적으로 적층된 상기 접지 선택 트랜지스터, 상기 복수의 메모리 셀들 및 상기 스트링 선택 트랜지스터에 의해 공유되는 필라를 포함하고,
    상기 특정한 높이에서, 상기 필라의 폭은 상기 기판과 가까워질수록 증가한 후에 감소하는 스토리지 장치.
  20. 삭제
KR1020140107829A 2014-08-19 2014-08-19 스토리지 장치, 스토리지 장치의 동작 방법 KR102318561B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140107829A KR102318561B1 (ko) 2014-08-19 2014-08-19 스토리지 장치, 스토리지 장치의 동작 방법
US14/719,969 US9361997B2 (en) 2014-08-19 2015-05-22 Storage devices and methods of operating storage devices
CN201510510698.6A CN105374388B (zh) 2014-08-19 2015-08-19 存储装置和操作存储装置的方法
US15/143,971 US9502128B2 (en) 2014-08-19 2016-05-02 Storage devices and methods of operating storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140107829A KR102318561B1 (ko) 2014-08-19 2014-08-19 스토리지 장치, 스토리지 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160022451A KR20160022451A (ko) 2016-03-02
KR102318561B1 true KR102318561B1 (ko) 2021-11-01

Family

ID=55348837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140107829A KR102318561B1 (ko) 2014-08-19 2014-08-19 스토리지 장치, 스토리지 장치의 동작 방법

Country Status (3)

Country Link
US (2) US9361997B2 (ko)
KR (1) KR102318561B1 (ko)
CN (1) CN105374388B (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128406B1 (ko) * 2014-09-26 2020-07-10 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102250423B1 (ko) * 2015-01-13 2021-05-12 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR20170023294A (ko) * 2015-08-20 2017-03-03 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 메모리 시스템 및 그의 동작 방법
KR102449337B1 (ko) * 2015-12-14 2022-10-04 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
KR102571497B1 (ko) * 2016-05-10 2023-08-29 삼성전자주식회사 멀티 스택 칩 패키지를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR102661936B1 (ko) * 2016-06-27 2024-04-30 삼성전자주식회사 저장 장치
KR20180014975A (ko) * 2016-08-02 2018-02-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10049757B2 (en) * 2016-08-11 2018-08-14 SK Hynix Inc. Techniques for dynamically determining performance of read reclaim operations
KR102614083B1 (ko) * 2016-08-31 2023-12-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20180047808A (ko) * 2016-11-01 2018-05-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180059208A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US11158381B2 (en) 2017-10-12 2021-10-26 Samsung Electronics Co., Ltd. Non-volatile memory device and operating method thereof
KR102336662B1 (ko) 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
US10933882B2 (en) 2017-12-27 2021-03-02 Micron Technology, Inc. Determination of reliability of vehicle control commands using a voting mechanism
US10836402B2 (en) 2017-12-27 2020-11-17 Micron Technology, Inc. Determination of reliability of vehicle control commands via redundancy
US10981576B2 (en) 2017-12-27 2021-04-20 Micron Technology, Inc. Determination of reliability of vehicle control commands via memory test
JP7074519B2 (ja) * 2018-03-19 2022-05-24 キオクシア株式会社 メモリシステム、および、メモリ制御方法
KR102468710B1 (ko) * 2018-03-26 2022-11-21 에스케이하이닉스 주식회사 메모리 장치와 메모리 컨트롤러를 포함하는 메모리 시스템, 및 그의 동작방법
KR102648618B1 (ko) * 2018-03-28 2024-03-19 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US10644018B2 (en) * 2018-04-12 2020-05-05 Macronix International Co., Ltd. 3D memory having plural lower select gates
US10854299B2 (en) * 2018-05-31 2020-12-01 Micron Technology, Inc. Data erase operations for a memory system
US10541038B2 (en) * 2018-06-12 2020-01-21 Sandisk Technologies Llc Subgroup selection for verification
KR102499061B1 (ko) 2018-08-22 2023-02-13 삼성전자주식회사 상 변화 메모리 장치를 포함하는 반도체 메모리 장치 및 상 변화 메모리 장치를 액세스하는 방법
KR102627873B1 (ko) * 2018-10-25 2024-01-23 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법
US10908824B2 (en) * 2018-11-08 2021-02-02 Winbond Electronics Corp. Flash memory storage device and method thereof
US10901862B2 (en) * 2018-11-13 2021-01-26 Micron Technology, Inc. High-reliability non-volatile memory using a voting mechanism
KR102610821B1 (ko) * 2018-11-15 2023-12-06 삼성전자주식회사 내구성 저하를 판단하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
US11086717B2 (en) * 2019-10-31 2021-08-10 Seagate Technology Llc Random selection of code words for read voltage calibration
US11327882B2 (en) 2020-02-05 2022-05-10 Allegro Microsystems, Llc Method and apparatus for eliminating bit disturbance errors in non-volatile memory devices
US11170858B2 (en) * 2020-03-18 2021-11-09 Allegro Microsystems, Llc Method and apparatus for eliminating EEPROM bit-disturb
US11581058B2 (en) * 2021-05-17 2023-02-14 PetaIO Inc. Adaptive read disturb algorithm for NAND storage accounting for layer-based effect
KR102641756B1 (ko) * 2021-11-11 2024-02-29 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US11966608B2 (en) 2021-11-15 2024-04-23 Samsung Electronics Co., Ltd. Memory controller with improved data reliability and memory system including the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080259708A1 (en) * 2007-02-07 2008-10-23 Megachips Corporation Memory controller
KR101089414B1 (ko) 2007-10-03 2011-12-07 가부시끼가이샤 도시바 반도체 메모리 장치
US20130007353A1 (en) * 2010-02-17 2013-01-03 Sunil Shim Control method of nonvolatile memory device

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129624A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
JPH1196755A (ja) 1997-09-25 1999-04-09 Mitsubishi Electric Corp Dram搭載の集積回路
US6762974B1 (en) 2003-03-18 2004-07-13 Micron Technology, Inc. Method and apparatus for establishing and maintaining desired read latency in high-speed DRAM
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100541819B1 (ko) 2003-12-30 2006-01-10 삼성전자주식회사 스타트 프로그램 전압을 차등적으로 사용하는 불휘발성반도체 메모리 장치 및 그에 따른 프로그램 방법
US7372730B2 (en) 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
JP4157065B2 (ja) 2004-03-29 2008-09-24 株式会社東芝 半導体記憶装置
KR100645055B1 (ko) * 2004-10-28 2006-11-10 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR100841336B1 (ko) 2006-01-24 2008-06-26 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리를 구비한 메모리 시스템
US7453723B2 (en) 2006-03-01 2008-11-18 Micron Technology, Inc. Memory with weighted multi-page read
KR100874911B1 (ko) 2006-10-30 2008-12-19 삼성전자주식회사 리드 디스터브 특성을 개선하는 플래쉬 메모리 어레이의독출 방법
KR100790823B1 (ko) 2006-12-14 2008-01-03 삼성전자주식회사 리드 디스터브를 개선한 불휘발성 반도체 메모리 장치
US7440324B2 (en) 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
JP5174829B2 (ja) 2006-12-29 2013-04-03 サンディスク テクノロジーズ インコーポレイテッド 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
US7477547B2 (en) 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
KR100890016B1 (ko) * 2007-05-10 2009-03-25 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및그것의 프로그램 방법
KR100882841B1 (ko) 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
US7751237B2 (en) 2007-09-25 2010-07-06 Sandisk Il, Ltd. Post-facto correction for cross coupling in a flash memory
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US8565019B2 (en) * 2007-11-20 2013-10-22 Kabushiki Kaisha Toshiba Method for controlling threshold value in nonvolatile semiconductor memory device
US8031521B1 (en) 2008-05-20 2011-10-04 Marvell International Ltd. Reprogramming non-volatile memory devices for read disturbance mitigation
US7808831B2 (en) 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
KR101466585B1 (ko) 2008-07-10 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR101575851B1 (ko) 2009-03-13 2015-12-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
KR101635502B1 (ko) * 2009-07-22 2016-07-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 프로그램 방법
US7818525B1 (en) * 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8130544B2 (en) 2009-08-17 2012-03-06 Skymedi Corporation Method of reducing bit error rate for a flash memory
KR101605381B1 (ko) 2009-09-28 2016-03-23 삼성전자주식회사 비휘발성 메모리 장치, 이를 구비하는 비휘발성 메모리 시스템
JP2011107851A (ja) 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
US8174881B2 (en) 2009-11-24 2012-05-08 Micron Technology, Inc. Techniques for reducing disturbance in a semiconductor device
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101676816B1 (ko) * 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP5788183B2 (ja) 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
KR101692520B1 (ko) * 2010-02-17 2017-01-04 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US8792282B2 (en) * 2010-03-04 2014-07-29 Samsung Electronics Co., Ltd. Nonvolatile memory devices, memory systems and computing systems
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
JP2013525937A (ja) 2010-04-26 2013-06-20 モサイド・テクノロジーズ・インコーポレーテッド 相変化メモリにおける書き込み方式
KR101678907B1 (ko) 2010-06-01 2016-11-23 삼성전자주식회사 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR101656384B1 (ko) * 2010-06-10 2016-09-12 삼성전자주식회사 불휘발성 메모리 장치의 데이터 기입 방법
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101742790B1 (ko) * 2010-11-16 2017-06-01 삼성전자주식회사 비휘발성 메모리 장치, 그것의 소거 방법, 그리고 그것을 포함하는 메모리 시스템
KR101810640B1 (ko) 2010-11-26 2017-12-20 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 시스템 그리고 그것의 읽기 방법
KR101212387B1 (ko) 2011-01-03 2012-12-13 에스케이하이닉스 주식회사 반도체 메모리 소자의 독출 방법
KR101733620B1 (ko) * 2011-05-25 2017-05-11 삼성전자주식회사 기판에 적층된 복수의 메모리 셀들을 포함하는 불휘발성 메모리
KR20130011058A (ko) 2011-07-20 2013-01-30 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작방법
US8913437B2 (en) 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
KR101925383B1 (ko) * 2012-07-23 2018-12-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 관리 방법
JP5870901B2 (ja) 2012-11-02 2016-03-01 ソニー株式会社 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法
US9824772B2 (en) 2012-12-26 2017-11-21 Nvidia Corporation Hardware chip select training for memory using read commands
US20140181452A1 (en) 2012-12-26 2014-06-26 Nvidia Corporation Hardware command training for memory using read commands
KR102089532B1 (ko) * 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
US9734888B2 (en) 2013-12-11 2017-08-15 SK Hynix Inc. Address storage circuit and memory and memory system including the same
KR102182381B1 (ko) 2013-12-11 2020-11-24 에스케이하이닉스 주식회사 어드레스 저장회로, 메모리 및 이를 포함하는 메모리 시스템
KR102128406B1 (ko) 2014-09-26 2020-07-10 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080259708A1 (en) * 2007-02-07 2008-10-23 Megachips Corporation Memory controller
KR101089414B1 (ko) 2007-10-03 2011-12-07 가부시끼가이샤 도시바 반도체 메모리 장치
US20130007353A1 (en) * 2010-02-17 2013-01-03 Sunil Shim Control method of nonvolatile memory device

Also Published As

Publication number Publication date
CN105374388A (zh) 2016-03-02
CN105374388B (zh) 2020-01-03
US9361997B2 (en) 2016-06-07
US9502128B2 (en) 2016-11-22
KR20160022451A (ko) 2016-03-02
US20160247577A1 (en) 2016-08-25
US20160055917A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
KR102318561B1 (ko) 스토리지 장치, 스토리지 장치의 동작 방법
US11340790B2 (en) Storage device for migrating data based on random read workload and operating method of the same
KR102435873B1 (ko) 스토리지 장치 및 그것의 리드 리클레임 방법
KR102128406B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR102447471B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR102435026B1 (ko) 저장 장치의 동작 방법
KR102102224B1 (ko) 저장 장치 및 그것의 프로그램 방법
KR102024850B1 (ko) 3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR101730991B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US9760308B2 (en) Nonvolatile memory system and operation method of the same
KR102420158B1 (ko) 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법
KR102292183B1 (ko) 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법
KR102415385B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 저장 장치
CN110619911B (zh) 存储装置及存储装置的操作方法
KR102282962B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR102282947B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR20170005915A (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR20170015708A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR20130087230A (ko) 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법
KR20170021413A (ko) 스토리지 장치
JP2014038687A (ja) 多様なメモリセル状態定義を有する不揮発性メモリ装置とそのプログラミング方法及び動作方法並びにこれを備えたメモリシステム
KR20160122911A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR102229970B1 (ko) 불휘발성 메모리, 랜덤 액세스 메모리 및 메모리 컨트롤러를 포함하는 솔리드 스테이트 드라이브
US9564241B2 (en) Memory system and user device including the same
CN111128280B (zh) 存储装置及其操作方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right