KR20170019328A - 연판정 디코딩을 위한 물리적 페이지 어드레스들을 상관시키는 것 - Google Patents

연판정 디코딩을 위한 물리적 페이지 어드레스들을 상관시키는 것 Download PDF

Info

Publication number
KR20170019328A
KR20170019328A KR1020160102281A KR20160102281A KR20170019328A KR 20170019328 A KR20170019328 A KR 20170019328A KR 1020160102281 A KR1020160102281 A KR 1020160102281A KR 20160102281 A KR20160102281 A KR 20160102281A KR 20170019328 A KR20170019328 A KR 20170019328A
Authority
KR
South Korea
Prior art keywords
bit
value
memory cell
physical page
page address
Prior art date
Application number
KR1020160102281A
Other languages
English (en)
Other versions
KR101933763B1 (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 에이취지에스티 네덜란드 비.브이.
Publication of KR20170019328A publication Critical patent/KR20170019328A/ko
Application granted granted Critical
Publication of KR101933763B1 publication Critical patent/KR101933763B1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/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/08Address circuits; Decoders; Word-line control 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy 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/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Abstract

스토리지 디바이스는 프로세서 및 멀티레벨 메모리 셀을 포함하는 메모리 디바이스를 포함할 수 있다. 프로세서는 제1 물리적 페이지 어드레스와 제2 물리적 페이지 어드레스를 상관할 수 있고, 각 어드레스는 멀티레벨 메모리 셀과 연관된다. 프로세서는 또한 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 메모리 셀에 제1 판독 동작을 적용할 수 있다. 프로세서는 추가적으로 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 멀티레벨 메모리 셀에 적어도 제2 판독 동작을 적용할 수 있다. 프로세서는, 제1 비트의 값과 제2 비트의 값에 적어도 부분적으로 기초하여, 제2 비트와 연관된 연판정 값을 결정할 수 있다. 프로세서는 연판정 값에 적어도 부분적으로 기초하여 제2 비트의 값을 확인할 수 있다.

Description

연판정 디코딩을 위한 물리적 페이지 어드레스들의 상관{CORRELATING PHYSICAL PAGE ADDRESSES FOR SOFT DECISION DECODING}
본 발명은 셀 당 다수의 비트를 저장하는 메모리 디바이스로부터 데이터를 판독하는 것에 관한 것이다.
컴퓨터 또는 다른 전자 기기 디바이스에 사용되는 저장 디바이스는 비휘발성 메모리 또는 휘발성 메모리일 수 있다. 비휘발성 메모리와 휘발성 메모리의 주요 차이는 비휘발성 메모리가 지속적인 전력 공급을 필요로 하지 않고 데이터를 계속해서 저장할 수 있다는 것이다. 결과적으로, 비휘발성 메모리 디바이스는 광범위한 전자 응용을 위한 대중적 타입의 메모리로 발전하였다. 예를 들어, 플래시 메모리 디바이스를 비롯한 비휘발성 메모리 디바이스는 고체 상태 드라이브(SSD)와 같은 고체 상태 저장 디바이스로 통상적으로 포함된다. 저장 밀도를 증가시키기 위해, 일부 SSD 및 다른 메모리 디바이스는 물리적 셀 당 다수의 비트의 데이터를 저장한다. 이것이 저장 밀도를 증가시키지만, 다수의 비트의 정보를 저장하는 물리적 셀들로부터 데이터를 판독하는 것은 더 어려울 수 있고, 셀들의 연판정 정보를 얻기 위해 다수의 재판독 작동을 활용하여, 긴 판독 레이턴시 및 판독 방해 문제점을 초래할 수 있다.
일부 예들에서, 본 발명은 적어도 하나의 프로세서에 의해, 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키는 단계를 포함하는 방법을 설명한다. 방법은 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 하나의 프로세서에 의해, 적어도 제1 판독 작동이 다중 레벨 메모리 셀에 적용되게 하는 단계를 포함할 수도 있다. 일부 예들에서, 방법은 또한 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 하나의 프로세서에 의해, 적어도 제2 판독 작동이 다중 레벨 메모리 셀에 적용되게 하는 단계를 포함할 수 있다. 방법은 적어도 하나의 프로세서에 의해, 제1 비트의 값 및 제2 비트의 값에 기반하여 제2 비트와 연관된 연판정값을 결정하는 단계를 더 포함할 수 있다. 게다가, 방법은 적어도 하나의 프로세서에 의해, 연판정값에 적어도 부분적으로 기반하여 제2 비트의 값을 검증하는 단계를 포함할 수 있다.
일부 예들에서, 본 발명은 적어도 하나의 프로세서 및 적어도 하나의 다중 레벨 메모리 셀을 포함하는 적어도 하나의 메모리 디바이스를 포함하는 저장 디바이스를 설명한다. 프로세서는 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키도록 구성될 수 있다. 프로세서는 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 구성될 수도 있다. 일부 예들에서, 프로세서는 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 추가로 구성될 수 있다. 프로세서는 제1 비트의 값 및 제2 비트의 값에 적어도 부분적으로 기반하여 제2 비트와 연관된 연판정값을 결정하도록 구성될 수도 있다. 프로세서는 또한 연판정값에 적어도 부분적으로 기반하여 제2 비트의 값을 검증하도록 구성될 수 있다.
일부 예들에서, 본 발명은, 실행 시 적어도 하나의 프로세서가 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키게 하는 명령어들을 저장하는 컴퓨터 판독 가능 저장 매체를 설명한다. 명령어들은 실행될 때, 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 적어도 하나의 프로세서를 야기시킬 수도 있다. 일부 예들에서, 명령어들은 실행될 때, 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 적어도 하나의 프로세서를 야기시킬 수 있다. 게다가, 명령어들은 실행될 때, 제1 비트의 값 및 제2 비트의 값에 적어도 부분적으로 기반하여 제2 비트와 연관된 연판정값을 적어도 하나의 프로세서가 결정하게 할 수 있다. 게다가, 명령어들은 실행될 때, 연판정값에 적어도 부분적으로 기반하여 제2 비트의 값을 적어도 하나의 프로세서가 검증하게 할 수 있다.
일부 예들에서, 본 발명은 적어도 하나의 다중 레벨 메모리 셀을 포함하는 적어도 하나의 메모리 디바이스를 포함하는 저장 디바이스를 설명한다. 저장 디바이스는 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키는 수단을 포함할 수도 있다. 일부 예들에서, 저장 디바이스는 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동을 다중 레벨 메모리 셀에 적용시키는 수단을 더 포함할 수 있다. 게다가, 저장 디바이스는 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동을 다중 레벨 메모리 셀에 적용시키는 수단을 포함할 수 있다. 게다가, 저장 디바이스는 제1 비트의 값 및 제2 비트의 값에 적어도 부분적으로 기반하여 연판정값을 결정하는 수단을 포함할 수 있다. 일부 예들에서, 저장 디바이스는 연판정값에 적어도 부분적으로 기반하여 제2 비트의 값을 검증하는 수단을 포함할 수도 있다.
하나 이상의 예의 상세들이 첨부 도면들 및 이하의 설명에 제시된다. 다른 특징들, 목적들 및 이점들이 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
도 1은 본 발명의 하나 이상의 기법에 따른, 저장 디바이스가 호스트 디바이스에 대한 저장 디바이스로서 기능할 수 있는 예시적 저장 환경을 도시하는 개념적 및 개략적 블록도이다.
도 2는 본 발명의 하나 이상의 기법에 따른, 예시적 메모리 디바이스를 도시하는 개념도이다.
도 3는 본 발명의 하나 이상의 기법에 따른, 예시적 제어기를 도시하는 개념적 및 개략적 블록도이다.
도 4 및 도 5는 본 발명의 하나 이상의 기법에 따른, 셀 당 2비트(MLC) 기술에 대한 셀 임계 전압 분포 그리고 하부 페이지 및 상부 페이지에 대한 상응하는 비트값들을 도시하는 개념도들이다.
도 6 및 도 7는 본 발명의 하나 이상의 기법에 따른, 셀 당 3비트(TLC) 기술에 대한 셀 임계 전압 분포 그리고 하부 페이지, 중간 페이지 및 상부 페이지에 대한 상응하는 비트값들을 도시하는 개념도들이다.
도 8은 본 발명의 하나 이상의 기법에 따른, 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키고 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값 및 제2 비트의 값에 적어도 부분적으로 기반하여 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 검증하는 예시적 기법을 도시하는 흐름도이다.
본 발명은 다수의 비트의 데이터를 저장하는 메모리 셀들로부터 데이터를 판독하는 기법들을 설명한다. 다중 레벨 셀(MLC) 플래시 메모리 셀들 또는 3중 레벨 셀(TLC) 플래시 메모리 셀들과 같은 다수의 비트의 데이터를 저장하는 메모리 셀들에서, 메모리 셀은 다수의 물리적 페이지 어드레스와 연관될 수 있다. 예를 들어, MLC 플래시 메모리 셀은 (MLC 플래시 메모리 셀에 의해 저장되는 제1 비트의 경우) 제1 물리적 페이지 어드레스 및 (MLC 플래시 메모리 셀에 의해 저장되는 제2 비트의 경우) 제2 물리적 페이지 어드레스와 연관될 수 있다. 제어기, 판독 채널 또는 둘 다를 포함할 수 있는 적어도 하나의 프로세서는 제1 물리적 페이지 어드레스 및 제2 물리적 페이지 어드레스를 상관시킬 수 있다. 제1 물리적 페이지 어드레스 및 제2 물리적 페이지 어드레스를 상관시킴으로써, 적어도 하나의 프로세서는 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정할 때, 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값과 연관된 정보를 활용할 수 있다. 일부 예들에서, 이는 제2 물리적 페이지 어드레스와 연관된 비트를 판독하기 위해 적어도 하나의 프로세서에 의해 활용되는 판독의 수를 감소시키거나, 적어도 하나의 프로세서가 제2 물리적 페이지 어드레스와 연관된 비트의 값을 결정하는 정확성을 증가시키거나, 둘 다일 수 있다. 일부 예들에서, 제2 물리적 페이지 어드레스와 연관된 비트를 판독하기 위해 적어도 하나의 프로세서에 의해 활용되는 판독의 수를 감소시키는 것은 제2 물리적 페이지 어드레스와 연관된 데이터를 판독하는 것과 연관된 판독 오버헤드를 감소시킬 수 있으며, 이는 판독 처리량을 개선하거나, 메모리 셀 상의 웨어를 감소시키거나, 둘 다일 수 있다.
일부 예들에서, 적어도 하나의 프로세서는 제2 비트의 값을 검증하기 위해 연판정 디코딩을 활용할 수 있다. 예를 들어, 적어도 하나의 프로세서는 적어도 하나의 프로세서가 그 다음 제2 비트의 값을 검증하기 위해 활용하는 로그 우도율(LLR) 값을 계산하기 위해 제1 비트의 값 및 제2 비트의 값을 활용할 수 있다. 일부 예들에서, 적어도 하나의 프로세서는 제2 비트의 값을 승인하기 위해 저밀도 패리티 체크(LDPC)의 LLR 값을 사용할 수 있다. 상술한 바와 같이, 제1 및 제2 물리적 페이지 어드레스들이 상관되므로, 적어도 하나의 프로세서가 앞서 제1 물리적 페이지 어드레스가 판독되게 하였으면, 적어도 하나의 프로세서는 LLR을 계산하기 위해 제1 물리적 페이지 어드레스와 연관된 앞서 판독된 비트값을 활용할 수 있다.
MLC 플래시 메모리 셀 또는 TLC 플래시 메모리 셀에서, 다양한 비트값은 메모리 셀 내에 전압 레벨들로서 저장된다. 일부 예들에서, 적어도 하나의 프로세서가 제2 비트의 값을 결정하는데 제1 비트의 값을 활용할 수 있으므로, 제2 비트에 대한 (예를 들어, 0에서 1로 또는 1에서 0으로의) 비트 전이의 양측 상의 전압 레벨들은 제1 비트에 대한 비트 전이의 양측 상의 전압 레벨들보다 더 근접하게 이격될 수 있다. 제1 비트에 대한 비트 전이들에 대한 전압 레벨들 사이의 더 큰 간격은 제1 비트에 대한 0 비트값들과1 비트값들 사이의 더 큰 판별력을 제공할 수 있고, 제1 비트값 및 제2 비트값을 사용하여 결정되는 연판정 디코딩값은 제2 비트의 값을 검증하는데 활용될 수 있어, 제2 비트에 대한 전압 상태들의 더 근접한 간격을 가능하게 한다.
도 1은 본 발명의 하나 이상의 기법에 따른, 저장 디바이스(6)가 호스트 디바이스(4)에 대한 저장 디바이스로서 기능할 수 있는 예시적 저장 환경(2)을 도시하는 개념적 및 개략적 블록도이다. 예를 들어, 호스트 디바이스(4)는 데이터를 저장하고 회수하기 위해 저장 디바이스(6)에 포함되는 비휘발성 메모리 디바이스들을 활용할 수 있다. 일부 예들에서, 저장 환경(2)은 저장 어레이로서 작동할 수 있는 저장 디바이스(6)와 같은 복수의 저장 디바이스를 포함할 수 있다. 예를 들어, 저장 환경(2)은 호스트 디바이스(4)에 대한 대용량 저장 디바이스로서 집합적으로 기능하는 복수 배열 저가/독립 디스크(RAID)로서 구성되는 복수의 저장 디바이스(6)를 포함할 수 있다.
저장 환경(2)은 저장 디바이스(6)와 같은 하나 이상의 저장 디바이스로 그리고/또는 이것들로부터 데이터를 저장하고/하거나 회수할 수 있는 호스트 디바이스(4)를 포함할 수 있다. 도 1에 도시된 바와 같이, 호스트 디바이스(4)는 인터페이스(14)를 통하여 저장 디바이스(6)와 통신할 수 있다. 호스트 디바이스(4)는 컴퓨터 서버, 네트워크 부착된 저장(NAS) 유닛, 데스크탑 컴퓨터, 노트북(즉, 랩탑) 컴퓨터, 태블릿 컴퓨터, 셋탑 박스, 이른바 "스마트"폰과 같은 전화기 핸드셋, 이른바 "스마트" 패드, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 비디오 스트리밍 디바이스 등을 포함하는 광범위한 디바이스 중 임의의 것을 포함할 수 있다. 호스트 디바이스(4)는 논리 또는 가상 어드레스들을 사용하여 저장 환경(2)에 저장되는 데이터를 식별할 수 있다.
도 1에 도시된 바와 같이, 저장 디바이스(6)는 제어기(8), 비휘발성 메모리 어레이(10)(NVMA(10)), 전원 공급기(11), 휘발성 메모리(12) 및 인터페이스(14)를 포함할 수 있다. 일부 예들에서, 저장 디바이스(6)는 명확성을 위해 도 1에 도시되지 않은 부가 구성 요소들을 포함할 수 있다. 예를 들어, 저장 디바이스(6)는 저장 디바이스(6)의 구성 요소들이 기계적으로 부착되고 저장 디바이스(6)의 구성 요소들을 전기적으로 상호 연결하는 전기 전도성 트레이스들을 포함하는 등인 인쇄 회로 기판(PB)을 포함할 수 있다. 일부 예들에서, 저장 디바이스(6)의 물리적 치수들 및 연결기 구성들은 하나 이상의 표준 형태 인자에 순응할 수 있다. 일부 예시적 표준 형태 인자는 3.5" 하드 디스크 드라이브(HDD), 2.5" HDD, 1.8" HDD, 주변 구성 요소 상호 연결부(PCI), 확장 PCI(PCI-X), PCI 익스프레스(PCIe)(예를 들어, PCIe x1, x4, x8, x16, PCIe 미니 카드, MiniPCI 등)을 포함하지만, 이에 제한되지 않는다. 일부 예들에서, 저장 디바이스(6)는 호스트 디바이스(4)의 마더보드에 직접 결합될(예를 들어, 직접 납땜될) 수 있다.
저장 디바이스(6)는 호스트 디바이스(4)와 인터페이싱하기 위한 인터페이스(14)를 포함할 수 있다. 인터페이스(14)는 호스트 디바이스(4)와 데이터를 교환하기 위한 데이터 버스 및 호스트 디바이스(4)와 커맨드들을 교환하기 위한 제어 버스 중 하나 또는 둘 다를 포함할 수 있다. 인터페이스(14)는 임의의 적절한 프로토콜에 따라 작동할 수 있다. 예를 들어, 인터페이스(14)는 이하의 프로토콜들 중 하나 이상에 따라 작동할 수 있다: 직렬 고급 기술 부착부(ATA)(예를 들어, 직렬 ATA(SATA) 및 병렬 ATA(PATA)), 파이버 채널, 소형 컴퓨터 시스템 인터페이스(SCSI), 직렬 부착 SCSI(SAS), 주변 구성 요소 상호 연결부(PCI), PCI 익스프레스 또는 비휘발성 메모리 익스프레스(NVMe). 인터페이스(14)의 전기 연결부(예를 들어, 데이터 버스, 제어 버스 또는 둘 다)는 제어기(8)에 전기적 연결되어, 호스트 디바이스(4)와 제어기(8) 사이의 전기 연결을 제공하여, 데이터가 호스트 디바이스(4)와 제어기(8) 사이에서 교환되는 것을 가능하게 한다. 일부 예들에서, 인터페이스(14)의 전기 연결부는 저장 디바이스(6)가 호스트 디바이스(4)로부터 전력을 수신하는 것을 가능하게 할 수도 있다. 예를 들어, 도 1에 도시된 바와 같이, 전원 공급기(11)는 호스트 디바이스(4)로부터 인터페이스(14)를 통하여 전력을 수신할 수 있다.
저장 디바이스(6)는 저장 디바이스(6)의 하나 이상의 작동을 관리할 수 있는 제어기(8)를 포함한다. 예를 들어, 제어기(8)는 메모리 디바이스들(16Aa 내지 16Nn)(집합적으로, "메모리 디바이스들(16)")로부터의 데이터의 판독 그리고/또는 이것들로의 데이터의 기록을 관리할 수 있다. 일부 예들에서, 도 1에 도시되지 않았지만, 저장 디바이스(6)는 저장 디바이스(6)의 하나 이상의 작동을 추가로 관리할 수 있는 판독 채널, 기록 채널 또는 둘 다를 포함할 수도 있다. 예를 들어, 판독 채널은 일 예로서, 메모리 디바이스들(16)로부터의 판독들을 관리할 수 있고, 기록 채널은 일 예로서, 메모리 디바이스들(16)로의 기록들을 관리할 수 있다. 일부 예들에서, 판독 채널은 메모리 디바이스들(16)의 메모리 셀들에 의해 저장되는 각각의 비트의 값들을 결정하는 것과 같은 본 발명의 기법들을 수행할 수 있다.
저장 디바이스(6)는 복수의 메모리 디바이스(16)를 포함할 수 있는 NVMA(10)를 포함할 수 있다. 메모리 디바이스들(16) 각각은 데이터를 저장하고/하거나 회수하도록 구성될 수 있다. 예를 들어, 메모리 디바이스들(16) 중 어떤 메모리 디바이스는 데이터 및 데이터를 저장할 것을 메모리 디바이스에 명령하는 제어기(8)로부터의 메시지를 수신할 수 있다. 마찬가지로, 메모리 디바이스들(16) 중 상기 메모리 디바이스는 데이터를 회수할 것을 메모리 디바이스에 명령하는 제어기(8)로부터의 메시지를 수신할 수 있다. 일부 예들에서, 메모리 디바이스들(16) 각각은 다이(die)로 지칭될 수 있다. 일부 예들에서, 단일 물리적 칩은 복수의 다이(즉, 복수의 메모리 디바이스(16))를 포함할 수 있다. 일부 예들에서, 메모리 디바이스들(16) 각각은 비교적 대용량의 데이터(예를 들어, 128MB, 256MB, 512MB, 1GB, 2GB, 4GB, 8GB, 16GB, 32GB, 64GB, 128GB, 256GB, 512GB, 1TB 등)를 저장하도록 구성될 수 있다.
일부 예들에서, 메모리 디바이스들(16)은 임의의 타입의 비휘발성 메모리 디바이스들을 포함할 수 있다. 메모리 디바이스들(16)의 일부 예는 플래시 메모리 디바이스, 상 변화 메모리(PCM) 디바이스, 저항성 랜덤 액세스 메모리(ReRAM) 디바이스, 자기 저항성 랜덤 액세스 메모리(MRAM) 디바이스, 강유전성 랜덤 액세스 메모리(F-RAM), 홀로그래픽 메모리 디바이스 및 임의의 다른 타입의 비휘발성 메모리 디바이스들을 포함하지만, 이에 제한되지 않는다.
플래시 메모리 디바이스들은 NAND 또는 NOR 기반 플래시 메모리 디바이스들을 포함할 수 있고, 각각의 플래시 메모리 셀에 대한 트랜지스터의 부동 게이트에 포함되는 전하에 기반하여 데이터를 저장할 수 있다. NAND 플래시 메모리 디바이스들에서, 플래시 메모리 디바이스는 각각이 복수의 페이지로 분할되는 복수의 블록으로 분할될 수 있다. 도 2는 각각이 복수의 페이지(19Aa 내지 19Nm)(집합적으로, "페이지들(19)")로 분할되는 복수의 블록(17A 내지 17N)(집합적으로, "블록들(17)")을 포함하는 예시적 메모리 디바이스(16Aa)를 도시하는 개념적 블록도이다. 특정 메모리 디바이스(예를 들어, 메모리 디바이스(16Aa)) 내의 페이지들(19)의 각각의 페이지는 복수의 플래시 메모리 셀을 포함할 수 있다. NAND 플래시 메모리 디바이스들에서, 플래시 메모리 셀들의 행들은 복수의 페이지들(19) 중 한 페이지를 한정하도록 워드 라인을 사용하여 전기적으로 연결될 수 있다. 페이지들(19) 각각의 각각의 셀은 각각의 비트 라인에 전기적으로 연결될 수 있다. 제어기(8)는 페이지 레벨에서 NAND 플래시 메모리 디바이스들로 데이터를 기록하고 이것들로부터 데이터를 판독하고 블록 레벨에서 NAND 플래시 메모리 디바이스들로부터 데이터를 소거할 수 있다.
일부 예들에서, 각각의 플래시 메모리 셀이 단일 비트의 데이터를 저장하는 것보다는 오히려, 각각의 플래시 메모리 셀은 다수의 비트의 데이터를 포함할 수 있다. 예를 들어, 메모리 디바이스들(16)의 플래시 메모리 셀들은 MLC 플래시 메모리 셀들, TLC 플래시 메모리 셀들 등을 포함할 수 있다. 일부 예들에서, MLC 플래시 메모리 셀 또는 TLC 플래시 메모리 셀의 각각의 비트는 페이지들(19)의 각각의 페이지와 연관된다. 예를 들어, MLC 플래시 메모리 셀에 의해 저장되는 제1 비트는 상부 페이지와 연관될 수 있고 MLC 플래시 메모리 셀에 의해 저장되는 제2 비트는 하부 페이지와 연관될 수 있다. 마찬가지로, TLC 플래시 메모리 셀에 의해 저장되는 제1 비트는 상부 페이지와 연관될 수 있고, TLC 플래시 메모리 셀에 의해 저장되는 제2 비트는 중간 페이지와 연관될 수 있고, TLC 플래시 메모리 셀에 의해 저장되는 제3 비트는 하부 페이지와 연관될 수 있다. 마찬가지로, MLC 및 TLC 플래시 메모리 셀들의 각각의 비트는 보다 상세히 후술하는 바와 같이, 각각의 물리적 페이지 어드레스와 연관될 수 있다.
일부 예들에서, 메모리 디바이스들(16)의 각각의 메모리 디바이스에 제어기(8)가 별도로 연결되는 것은 실용적이지 않을 수 있다. 이에 따라, 메모리 디바이스들(16)과 제어기(8) 사이의 연결들은 멀티플렉싱될 수 있다. 일 예로서, 메모리 디바이스들(16)은 채널들(18A 내지 18N)(집합적으로, "채널들(18)")로 그룹화될 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 메모리 디바이스들(16Aa 내지 16An)은 제1 채널(18A)로 그룹화될 수 있고, 메모리 디바이스들(16Na 내지 16Nn)은 제N 채널(18N)로 그룹화될 수 있다. 채널들(18) 각각으로 그룹화되는 메모리 디바이스들(16)은 제어기(8)에 대한 하나 이상의 연결을 공유할 수 있다. 예를 들어, 제1 채널(18A)로 그룹화되는 메모리 디바이스들(16)은 공통 I/O 버스 및 공통 제어 버스에 부착될 수 있다. 저장 디바이스(6)는 채널들(18)의 각각의 채널 각각에 대한 공통 I/O 버스 및 공통 제어 버스를 포함할 수 있다. 일부 예들에서, 채널들(18)의 각각의 채널은 각각의 채널 상에 메모리 디바이스들을 멀티플렉싱하는데 사용될 수 있는 칩 가능(CE) 라인들의 세트를 포함할 수 있다. 예를 들어, 각각의 CE 라인은 메모리 디바이스들(16)의 각각의 메모리 디바이스에 연결될 수 있다. 이러한 방식으로, 제어기(8)와 메모리 디바이스들(16) 사이의 별도의 연결의 수는 감소될 수 있다. 게다가, 각각의 채널이 제어기(8)에의 독립적인 세트의 연결들을 가지므로, 연결들의 감소는 제어기(8)가 각각의 채널에 상이한 커맨드들을 동시에 발행함에 따라, 데이터 처리율에 상당히 영향을 주지 않을 수 있다.
저장 디바이스(6)는 저장 디바이스(6)의 하나 이상의 구성 요소에 전력을 제공할 수 있는 전원 공급기(11)를 포함할 수 있다. 표준 모드로 작동할 때, 전원 공급기(11)는 호스트 디바이스(4)와 같은 외부 디바이스에 의해 제공되는 전력을 사용하여 하나 이상의 구성 요소에 전력을 제공할 수 있다. 예를 들어, 전원 공급기(11)는 호스트 디바이스(4)로부터 인터페이스(14)를 통하여 수신되는 전력을 사용하여 하나 이상의 구성 요소에 전력을 제공할 수 있다. 일부 예들에서, 전원 공급기(11)는 전력이 외부 디바이스로부터 수신되는 것이 중단되는 경우와 같은 셧다운 모드로 작동할 때, 하나 이상의 구성 요소에 전력을 제공하도록 구성되는 하나 이상의 전력 저장 구성 요소를 포함할 수 있다. 이러한 방식으로, 전원 공급기(11)는 온보드 백업 전원으로서 기능할 수 있다. 하나 이상의 전력 저장 구성 요소의 일부 예는 커패시터, 슈퍼 커패시터, 배터리 등을 포함하지만, 이에 제한되지 않는다. 일부 예들에서, 하나 이상의 전력 저장 구성 요소에 의해 저장될 수 있는 전력의 양은 하나 이상의 전력 저장 구성 요소의 비용 및/또는 크기(예를 들어, 면적/체적)의 함수일 수 있다. 즉, 하나 이상의 전력 저장 구성 요소에 의해 저장되는 전력의 양이 증가함에 따라, 하나 이상의 전력 저장 구성 요소의 비용 및/또는 크기는 또한 증가한다.
저장 디바이스(6)는 정보를 저장하기 위해 제어기(8)에 의해 사용될 수 있는 휘발성 메모리(12)를 포함할 수 있다. 일부 예들에서, 제어기(8)는 휘발성 메모리(12)를 캐시로서 사용할 수 있다. 예를 들어, 제어기(8)는 캐싱된 정보(13)가 메모리 디바이스들(16)로 기록될 때까지, 캐싱된 정보(13)를 휘발성 메모리(12)에 저장할 수 있다. 도 1에 도시된 바와 같이, 휘발성 메모리(12)는 전원 공급기(11)로부터 수신되는 전력을 소모할 수 있다. 휘발성 메모리(12)의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 RAM(SRAM) 및 동기식 동적 RAM(SDRAM(예를 들어, DDR1, DDR2, DDR3, DDR3L, LPDDR3, DDR4 등)을 포함하지만, 이에 제한되지 않는다.
일부 예들에서, 제어기(8)는 논리적-물리적 (또는 가상-물리적) 데이터 어드레스 변환 테이블을 저장하기 위해 휘발성 메모리(12)를 사용할 수 있다. 호스트 디바이스(4)는 논리 데이터 어드레스를 사용하는 데이터의 유닛을 지칭할 수 있고, 제어기(8)는 메모리 디바이스들(16)로의 데이터의 기록 그리고 이것들로부터의 데이터의 판독을 지시하기 위해 물리적 데이터 어드레스들을 활용할 수 있다. 일부 예들에서, 논리적-물리적 데이터 어드레스 변환 테이블은 논리 데이터 어드레스 및 상응하는 물리적 데이터 어드레스를 포함하는 엔트리들을 포함할 수 있다. 일부 예들에서, 논리적-물리적 데이터 어드레스 변환 테이블의 각각의 엔트리가 논리 데이터 어드레스를 포함하는 것보다는 오히려, 논리적-물리적 데이터 어드레스 변환 테이블은 논리적-물리적 데이터 어드레스 변환 테이블의 각각의 엔트리의 각각의 논리 데이터 어드레스를 인코딩하는 색인을 포함할 수 있다. 이러한 예들 중 일부에서, 논리적-물리적 데이터 어드레스 변환 테이블은 논리적-물리적 데이터 어드레스 변환 테이블의 각각의 엔트리들과 함께 색인값 (또는 논리 데이터 어드레스)를 저장하지 않을 수 있다.
본 발명의 하나 이상의 기법에 따르면, 제어기(8)는 동일한 메모리 셀들과 연관된 물리적 페이지 어드레스들을 상관시킬 수 있다. 예를 들어, 메모리 셀들은 각각 2개의 비트를 저장하고 MLC 플래시 메모리 셀들로 지칭될 수 있다. MLC 플래시 메모리 셀들의 세트는 MLC 플래시 메모리 셀들의 세트의 각각의 MLC 플래시 메모리 셀의 각각의 제1 비트에 대한 제1 물리적 페이지 어드레스와 연관될 수 있다. 제1 세트의 MLC 플래시 메모리 셀들은 각각의 MLC 플래시 메모리 셀의 각각의 제2 비트에 대한 제2 물리적 페이지 어드레스와 연관될 수 있다. 제어기(8)는 제1 물리적 페이지 어드레스를 제2 물리적 페이지 어드레스와 상관시킬 수 있다. 일부 예들에서, 제1 물리적 페이지 어드레스는 상부 페이지와 연관되고 제2 물리적 페이지 어드레스는 하부 페이지와 연관된다.
제어기(8)는 제1 물리적 페이지 어드레스와 연관된 상부 페이지로부터 데이터를 판독할 수 있다. 예를 들어, MLC 플래시 메모리 셀의 경우, 제어기(8)는 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 2개의 판독 기준 전압이 다중 레벨 메모리 셀에 인가되게 할 수 있다. 이러한 방식으로, 제어기(8)는 MLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트가 0인지 아니면 1인지 여부를 판단할 수 있다. 일부 예들에서, 제어기(8)는 MLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트의 값이 휘발성 메모리(12)에 의해 저장되게 할 수 있다.
제어기(8)는 이후에 MLC 플래시 메모리 셀의 제2의, 하부 페이지와 연관된 제어기(8)가 판단하는 데이터를 판독하라는 호스트(4)로부터의 요청을 수신할 수 있다. 제어기는 (제1의 2개의 판독 기준 전압과 상이한) 제3 판독 기준 전압이 MLC 플래시 메모리 셀에 인가되게 할 수 있다. 이러한 제3 판독 기준 전압은 제2 비트에 대해 0 값과 연관된 제1 메모리 셀 전압 상태와 제2 비트에 대해 1 값과 연관된 제2 메모리 셀 전압 상태 사이에 있도록 선택될 수 있다. 이는 하부 페이지 (및 제2 물리적 페이지 어드레스)와 연관된 제2 비트의 값에 관한 정보를 제공할 수 있다.
제어기(8)는 MLC 플래시 메모리 셀로부터의 제1 비트(상부 페이지 비트) 및 제2 비트의 값들에 기반하여 제2 비트(하부 페이지 비트)와 연관된 연판정값을 결정할 수도 있다. 일부 예들에서, 연판정값은 로그 우도율(LLR)을 포함할 수 있다. 일정 비트(bi)에 대한 LLR은 이하에 따라 계수 인자(S), 일정 비트가 값 0을 가질 확률(P(bi=0)), 및 일정 비트가 값 1을 가질 확률(P(bi=1))로 계산될 수 있다:
LLR(bi) = S * log( P(bi=0) / P(bi=1) )
예를 들어, LLR의 비교적 큰 절댓값은 일정 비트의 값이 (LLR의 정의 값에 대해) 0 또는 (LLR의 부의 값에 대해) 1의 값일 비교적 더 높은 가능성을 나타낼 수 있다. 정반대로, LLR의 비교적 작은 절댓값은 일정 비트의 값이 (LLR의 정의 값에 대해) 0 또는 (LLR의 부의 값에 대해) 1의 값일 비교적 더 낮은 가능성을 나타낼 수 있다.
본 발명의 하나 이상의 기법에 따르면, 제어기(8)는 제1 및 제2 비트들의 값들에 기반하여 값들을 연판정값에 할당할 수 있다. 예를 들어, 제어기(8)는 (제2 비트가 0의 값을 가질 높은 확률을 나타내는) 제1 비트가 1의 값을 갖고 제2 비트가 0의 값을 갖는다고 제어기(8)가 판단하는 경우들에서 비교적 큰 정의 값(예를 들어, 100)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 다른 예로서, 제어기(8)는 (제2 비트가 0의 값을 가질 낮은 확률을 나타내는) 제1 비트가 0의 값을 갖고 제2 비트가 0의 값을 갖는다고 제어기가 판단하는 경우들에서 비교적 작은 정의 값(예를 들어, 10)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 부가 예로서, 제어기(8)는 (제2 비트가 1의 값을 가질 높은 확률을 나타내는) 제1 비트가 1의 값을 갖고 제2 비트가 1의 값을 갖는다고 제어기(8)가 판단하는 경우들에서 비교적 큰 부의 값(예를 들어, -100)을 제2 비트의 연판정값(예를 들어, LLR)에 할당할 수 있다. 추가 예로서, 제어기(8)는 (제2 비트가 1의 값을 가질 낮은 확률을 나타내는) 제1 비트가 0의 값을 갖고 제2 비트가 1의 값을 갖는다고 제어기(8)가 판단하는 경우들에서 비교적 작은 부의 값(예를 들어, -10)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 일부 예들에서, 제어기(8)는 제1 비트의 값을 판독할 시에 연판정값을 결정하지 않을 수 있고, 제1 비트 및 제2 비트 둘 다를 판독한 후에, 제2 비트와 연관된 연판정값을 결정할 수 있다.
제어기(8)가 하부 페이지로부터의 데이터를 판독하기 전에, 상부 페이지로부터의 데이터를 판독했던 경우들에서 제1 및 제2 물리적 페이지 어드레스들이 상관되고 제1 비트의 값이 휘발성 메모리(12)에 저장될 수 있으므로, 제어기(8)는 제2 비트와 연관된 연판정값을 결정하기 위해 상부 페이지가 다시 판독되게 하지 않을 수 있다. 대신에, 제어기(8)는 제2 비트와 연관된 연판정값을 결정하기 위해 휘발성 메모리(12)로부터 제1 비트의 값을 회수하고 상기 값을 활용할 수 있다. 이는 제2 비트의 값을 결정하는데 사용되는 판독 작동의 수를 감소시킬 수 있으며, 이는 판독 처리량을 증가시키거나, 메모리 디바이스들(16)에 대한 웨어를 감소시키거나, 둘 다일 수 있다.
도 3은 제어기(8)의 예시적 상세들을 도시하는 개념적 및 개략적 블록도이다. 일부 예들에서, 제어기(8)는 어드레스 변환 모듈(32), 기록 모듈(34), 유지 모듈(36), 판독 모듈(38), 스케줄링 모듈(40) 및 복수의 채널 제어기(42A 내지 42N)(집합적으로, "채널 제어기들(42)")를 포함할 수 있다. 다른 예들에서, 제어기(8)는 부가 모듈들 또는 하드웨어 유닛들을 포함할 수 있거나, 더 소수의 모듈 또는 하드웨어 유닛을 포함할 수 있다. 제어기(8)는 마이크로프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 다른 디지털 논리 회로망을 포함할 수 있다. 일부 예들에서, 제어기(8)는 시스템 온 칩(SoC)일 수 있다.
제어기(8)는 인터페이스(14)를 통하여 호스트 디바이스(4)와 인터페이싱하고 메모리 디바이스들(16)로의 데이터의 저장 및 이것들로부터의 데이터의 회수를 관리할 수 있다. 예를 들어, 제어기(8)의 기록 모듈(34)은 메모리 디바이스들(16)로의 기록들을 관리할 수 있다. 예를 들어, 기록 모듈(34)은 논리 데이터 어드레스 및 상기 데이터와 연관된 데이터를 저장할 것을 저장 디바이스(6)에 명령하는 인터페이스(14)를 통한 호스트 디바이스(4)로부터의 메시지를 수신할 수 있다. 기록 모듈(34)은 메모리 디바이스들(16)로의 데이터의 기록을 관리할 수 있다.
예를 들어, 기록 모듈(34)은 메모리 디바이스들(16)로의 데이터의 기록을 지시하도록 기록 모듈(34)에 의해 사용되는 데이터 및 물리적 데이터 어드레스들의 저장 위치들을 관리하기 위해 호스트 디바이스(4)에 의해 사용되는 논리 데이터 어드레스들 사이의 변환을 관리하는 어드레스 변환 모듈(32)과 통신할 수 있다. 제어기(8)의 어드레스 변환 모듈(32)은 메모리 디바이스들(16)에 의해 저장되는 데이터의 논리 데이터 어드레스들 (또는 논리 블록 어드레스들)을 메모리 디바이스들(16)에 의해 저장되는 데이터의 물리적 데이터 어드레스들 (또는 물리적 블록 어드레스들)로 연관시키는 논리적-물리적 데이터 어드레스 변환 테이블을 활용할 수 있다. 예를 들어, 호스트 디바이스(4)는 저장 디바이스(6)로의 명령어들 또는 메시지들로 메모리 디바이스들(16)에 의해 저장되는 데이터의 논리 데이터 어드레스들을 활용할 수 있는 반면에, 기록 모듈(34)은 메모리 디바이스들(16)로의 데이터의 기록을 제어하기 위해 데이터의 물리적 데이터 어드레스들을 활용한다. (마찬가지로, 판독 모듈(38)은 메모리 디바이스들(16)로부터의 데이터의 판독을 제어하도록 물리적 데이터 어드레스들을 활용할 수 있다.) 물리적 데이터 어드레스들은 메모리 디바이스들(16)의 실제의 물리적 위치들에 상응한다.
상술한 바와 같이 일부 예들에서, 메모리 디바이스들(16)의 메모리 셀들은 MLC 플래시 메모리 셀들, TLC 플래시 메모리 셀들 등과 같은 셀 당 다수 비트 메모리 셀들일 수 있다. 메모리 디바이스들(16)의 메모리 셀들이 셀 당 다수 비트 메모리 셀들인 일부 예들에서, 다수의 물리적 페이지 어드레스 및 다수의 페이지는 메모리 셀과 연관될 수 있다. 예를 들어, 상부 페이지와 연관된 제1 물리적 페이지 어드레스 및 하부 페이지와 연관된 제2 물리적 페이지 어드레스는 둘 다 메모리 셀과 연관될 수 있다. 제1 물리적 페이지 어드레스 및 제2 물리적 페이지 어드레스는 논리적-물리적 데이터 어드레스 변환 테이블에서 상관될 수 있다. 일부 예들에서, 어드레스 변환 모듈(32)은 논리적-물리적 데이터 어드레스 변환 테이블을 휘발성 메모리(12)에 저장할 수 있다.
이러한 방식으로, 호스트 디바이스(4)는 데이터가 실제로 저장되는 물리적 데이터 어드레스가 변화할 수 있는 동안, 일정 세트의 데이터에 대한 정적 논리 데이터 어드레스를 사용하는 것이 가능해질 수 있다. 어드레스 변환 모듈(32)은 데이터의 물리적 데이터 어드레스가 예를 들어, 웨어 레벨링, 가비지 수집 등으로 인해 변화할 수 있는 동안, 호스트 디바이스(4)에 의한 정적 논리 데이터 어드레스의 사용을 가능하게 하도록 논리 데이터 어드레스들을 물리적 데이터 어드레스들로 매핑하는 논리적-물리적 데이터 어드레스 변환 테이블을 유지할 수 있다. 일부 예들에서, 논리적-물리적 데이터 어드레스 변환 테이블은 단일 층 테이블일 수 있어, 호스트 디바이스(4)으로부터 수신되는 논리 데이터 어드레스에 해시(hash)를 적용함으로써, 어드레스 변환 모듈(32)은 상응하는 물리적 데이터 어드레스를 직접 회수할 수 있다.
앞서 논의된 바와 같이, 제어기(8)의 기록 모듈(34)은 메모리 디바이스들(16)로의 데이터의 기록을 관리하도록 하나 이상의 작동을 수행할 수 있다. 예를 들어, 기록 모듈(34)은 데이터를 저장할 메모리 디바이스들(16) 내의 하나 이상의 블록을 선택하고 선택된 블록들을 포함하는 메모리 디바이스들(16)의 메모리 디바이스들이 데이터를 실제로 저장하게 함으로써 메모리 디바이스들(16)로의 데이터의 기록을 관리할 수 있다. 앞서 논의된 바와 같이, 기록 모듈(34)은 어드레스 변환 모듈(32)이 선택된 블록들에 기반하여 논리적-물리적 데이터 어드레스 변환 테이블을 업데이트하게 할 수 있다. 예를 들어, 기록 모듈(34)은 데이터 및 논리 데이터 어드레스의 유닛을 포함하는 호스트 디바이스(4)로부터의 메시지를 수신하고, 데이터를 저장할 메모리 디바이스들(16)의 특정 메모리 디바이스 내의 블록 및 페이지를 선택하고, 메모리 디바이스들(16)의 특정 메모리 디바이스가 (예를 들어, 특정 메모리 디바이스에 상응하는 채널 제어기들(42) 중 한 채널 제어기를 통하여) 데이터를 실제로 저장하게 하고, 어드레스 변환 모듈(32)이 논리 데이터 어드레스가 메모리 디바이스들(16)의 특정 메모리 디바이스 내의 선택된 물리적 데이터 어드레스에 상응한다는 것을 나타내도록 논리적-물리적 데이터 어드레스 변환 테이블을 업데이트하게 할 수 있다.
일부 예들에서, 데이터가 메모리 디바이스들(16)에 의해 저장되게 하는 것에 더하여, 기록 모듈(34)은 블록들 중 하나 이상이 고장나거나 손상된 경우 데이터의 유닛을 복원하는데 사용될 수 있는 정보를 메모리 디바이스들(16)이 저장하게 할 수 있다. 패리티 정보는 다른 블록들에 의해 저장되는 데이터를 복원하는데 사용될 수 있다. 일부 예들에서, 패리티 정보는 다른 블록들에 의해 저장되는 데이터의 XOR일 수 있다.
0의 논리값(충전됨)을 갖는 비트를 1의 이전 논리값(충전되지 않음)을 갖는 비트에 기록하기 위해, 큰 전류가 사용된다. 이러한 전류는 인접한 플래시 메모리 셀들의 전하에 대한 의도하지 않은 변화들을 야기할 수 있도록 충분히 클 수 있다. 의도하지 않은 변화들로부터 보호하기 위해, 플래시 메모리 셀들의 전체 블록은 블록 내의 셀들로 임의의 데이터를 기록하기 이전에 1의 논리값(충전되지 않음)으로 소거될 수 있다. 이러한 이유로, 플래시 메모리 셀들은 블록 레벨로 소거되고 페이지 레벨로 기록될 수 있다.
호스트 디바이스(4)로부터 기록 커맨드를 수신하는 것에 응하여, 기록 모듈(34)은 메모리 디바이스들(16)의 어느 물리적 위치들(예를 들어, 블록들)에 데이터를 기록할 지를 결정할 수 있다. 예를 들어, 기록 모듈(34)은 어드레스 변환 모듈(32) 또는 유지 모듈(36)로 비거나(예를 들어, 어떤 데이터도 저장하지 않거나), 부분적으로 비거나(예를 들어, 블록의 일부 페이지들만이 데이터를 저장하거나), 적어도 일부 무효한 (또는 스테일(stale)한) 데이터를 저장하는 하나 이상의 물리적 블록 어드레스를 요청할 수 있다. 하나 이상의 물리적 블록 어드레스를 수신할 시에, 기록 모듈(34)은 앞서 논의된 바와 같은 하나 이상의 블록을 선택하고, 채널 제어기들(42)이 선택된 블록들로 데이터를 기록하게 하는 메시지를 전할 수 있다.
판독 모듈(38)은 마찬가지로 메모리 디바이스들(16)로부터의 데이터의 판독을 제어할 수 있다. 예를 들어, 판독 모듈(38)은 연관된 논리 데이터 어드레스로 데이터를 요청하는 호스트 디바이스(4)로부터의 메시지를 수신할 수 있다. 어드레스 변환 모듈(32)은 플래시 변환층 또는 테이블을 사용하여 논리 데이터 어드레스를 물리적 데이터 어드레스로 변환할 수 있다. 판독 모듈(38)은 그 다음 물리적 데이터 어드레스들로부터 데이터를 회수하기 위해 채널 제어기들(42) 중 하나 이상을 제어할 수 있다. 기록 모듈(34)과 마찬가지로, 판독 모듈(38)은 하나 이상의 블록을 선택하고 채널 제어기들(42)이 선택된 블록들로부터 데이터를 판독하게 하는 메시지를 전할 수 있다.
채널 제어기들(42)의 각각의 채널 제어기는 채널들(18)의 각각의 채널에 연결될 수 있다. 일부 예들에서, 제어기(8)는 저장 디바이스(6)의 채널(18)의 수와 동일한 수의 채널 제어기(42)를 포함할 수 있다. 채널 제어기들(42)은 예를 들어, 기록 모듈(34), 판독 모듈(38) 및/또는 유지 모듈(36)의 제어 하에서, 각각의 채널에 연결되는 메모리 디바이스들(16)의 어드레싱, 프로그래밍, 소거 및 판독의 친숙한 제어를 수행할 수 있다.
유지 모듈(36)은 저장 디바이스(6)(예를 들어, 메모리 디바이스들(16))의 성능을 유지하고 유효 수명을 연장시키는 것과 관련되는 작동들을 수행하도록 구성될 수 있다. 예를 들어, 유지 모듈(36)은 웨어 레벨링 또는 가비지 수집 중 적어도 하나를 구현할 수 있다.
제어기(8)의 스케줄링 모듈(40)은 메모리 디바이스들(16)에 의해 수행될 작동들을 스케줄링할 수 있다. 예를 들어, 스케줄링 모듈(40)은 메모리 디바이스들(16) 중 하나 이상이 제어기(8)의 다른 구성 요소들으로부터 수신되는 요청들에 기반하여 하나 이상의 작동을 수행하게 할 수 있다. 일부 예들에서, 스케줄링 모듈(40)은 특정 메모리 디바이스에 상응하는 채널 제어기가 특정 메모리 디바이스로 커맨드들을 출력하게 함으로써 메모리 디바이스들(16)의 특정 메모리 디바이스가 하나 이상의 작동을 수행하게 할 수 있다. 일 예로서, 스케줄링 모듈(40)은 메모리 디바이스(16Aa)가 데이터를 저장하게 하는 커맨드들을 채널 제어기(42A)가 출력하는 것을 가능하게 할 수 있다.
본 발명의 하나 이상의 기법에 따르면, 어드레스 변환 모듈(32)은 동일한 메모리 셀들과 연관된 물리적 페이지 어드레스들을 상관시킬 수 있다. 예를 들어, 메모리 셀들은 각각 2개의 비트를 저장하고 MLC 플래시 메모리 셀들로 지칭될 수 있다. MLC 플래시 메모리 셀들의 세트는 MLC 플래시 메모리 셀들의 세트의 각각의 MLC 플래시 메모리 셀의 각각의 제1 비트에 대한 제1 물리적 페이지 어드레스와 연관될 수 있다. 제1 세트의 MLC 플래시 메모리 셀들은 각각의 MLC 플래시 메모리 셀의 각각의 제2 비트에 대한 제2 물리적 페이지 어드레스와 연관될 수 있다. 어드레스 변환 모듈(32)은 제1 물리적 페이지 어드레스를 제2 물리적 페이지 어드레스와 상관시킬 수 있다. 일부 예들에서, 제1 물리적 페이지 어드레스는 상부 페이지와 연관되고 제2 물리적 페이지 어드레스는 하부 페이지와 연관된다.
제어기(8)는 호스트(4)로부터 인터페이스(14)를 통하여 판독 커맨드를 수신할 수 있다. 판독 커맨드는 논리 페이지 어드레스를 식별할 수 있고, 어드레스 변환 모듈(32)은 논리 페이지 어드레스가 메모리 셀들의 세트의 상부 페이지와 연관된 물리적 페이지 어드레스와 연관된다고 판단할 수 있다. 판독 모듈(38)은 비트의 값이 상부 페이지로부터 판독되게 할 수 있다. 예를 들어, 도 4는 MLC 플래시 메모리 셀의 하부 페이지 및 상부 페이지에 대한 셀 임계 전압 레벨들 및 상응하는 비트값들을 도시하는 개념도이다. 판독 모듈(38)은 제1 판독 기준 전압(R1), 그리고 별도로 제3 판독 기준 전압(R3)이 MLC 플래시 메모리 셀에 인가되게 함으로써 채널 제어기들(42) 중 하나 이상이 상부 페이지로부터 데이터를 판독하게 할 수 있다. 도 4에 도시된 바와 같이, 제1 판독 기준 전압(R1)은 상부 페이지에 대해 1을 나타내는 제1 셀 전압 상태(S1)와 상부 페이지에 대해 0을 나타내는 제2 셀 전압 상태(S2) 사이에 있다. 마찬가지로, 제3 판독 기준 전압(R3)은 상부 페이지에 대해 0을 나타내는 제3 셀 전압 상태(S3)와 상부 페이지에 대해 1을 나타내는 제4 셀 전압 상태(S4) 사이에 있다.
MLC 플래시 메모리 셀의 전압 레벨이 제1(최저) 셀 전압 상태(S1)인지, 제2(더 낮은 중간) 셀 전압 상태(S2)인지, 제3(더 높은 중간) 셀 전압 상태(S3)인지, 아니면 제4(최고) 셀 전압 상태(S4)인지에 기반하여, MLC 플래시 메모리 셀은 제1 판독 기준 전압(R1)이 인가될 때, 그리고 제3 판독 기준 전압(R3)이 인가될 때, 전기 전도성일 수 있거나 전기 전도성이지 않을 수 있다. 이러한 방식으로, 판독 모듈(38)은 MLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트가 0인지 아니면 1인지 여부를 판단할 수 있다. 일부 예들에서, 제어기(8)(예를 들어, 판독 모듈(38))는 MLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트의 값이 휘발성 메모리(12)에 의해 저장되게 할 수 있다.
제어기(8)는 MLC 플래시 메모리 셀의 하부 페이지와 연관된 물리적 페이지 어드레스와 연관된 어드레스 변환 모듈(32)이 판단하는 논리 페이지 어드레스와 연관된 데이터를 판독하라는 호스트(4)로부터의 요청을 수신할 수도 있다. 판독 모듈(38)은 채널 제어기들(42) 중 하나 이상이 제2 판독 기준 전압(R2)을 MLC 플래시 메모리 셀에 인가하게 할 수 있다. 도 4에 도시된 바와 같이, 제2 판독 기준 전압(R2)은 하부 페이지에 대해 1을 나타내는 제2 셀 전압 상태(S2)와 하부 페이지에 대해 0을 나타내는 제3 셀 전압 상태(S3) 사이에 있다. 이러한 방식으로, 판독 모듈(38)은 하부 페이지와 연관된 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정할 수 있다.
하부 페이지와 연관된 제2 비트와 연관된 연판정값을 결정하기 위해, 판독 모듈(38)은 제2 판독 기준 전압(R2)을 인가함으로써 결정되는 하부 페이지와 연관된 제2 비트의 값 그리고 상부 페이지와 연관된 제1 비트의 값을 활용할 수 있다. 일부 예들에서, 연판정값은 LLR을 포함할 수 있다. 예를 들어, 판독 모듈(38)은 (제2 비트가 0의 값을 가질 높은 확률을 나타내는) 제1 비트가 1의 값을 갖고 제2 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 큰 정의 값(예를 들어, 100)을 제2 비트와 연관된 연판정값에 할당할 수 있는데 반해, 판독 모듈(38)은 (제2 비트가 0의 값을 가질 낮은 확률을 나타내는) 제1 비트가 0의 값을 갖고 제2 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 작은 정의 값(예를 들어, 10)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 다른 예로서, 판독 모듈(38)은 (제2 비트가 1의 값을 가질 높은 확률을 나타내는) 제1 비트가 1의 값을 갖고 제2 비트가 1의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 큰 부의 값(예를 들어, -100)을 제2 비트와 연관된 연판정값(예를 들어, LLR)에 할당할 수 있는데 반해, 판독 모듈(38)은 (제2 비트가 1의 값을 가질 낮은 확률을 나타내는) 제1 비트가 0의 값을 갖고 제2 비트가 1의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 작은 부의 값(예를 들어, -10)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 일부 예들에서, 판독 모듈(38)은 제1 비트의 값을 판독할 시에 연판정값을 결정하지 않을 수 있고, 대신에 제2 비트를 판독한 후에, 제2 비트와 연관된 연판정값을 결정할 수 있다.
일부 예들에서, 판독 모듈(38)은 제2 판독 기준 전압(R2)을 메모리 셀에 인가함으로써 얻어지는 정보에 기반하여 제2 비트의 값을 결정할 수 있고, 제2 비트에 할당되는 값을 검증하기 위해 오류 정정 코드(ECC) 알고리즘으로 연판정값을 활용할 수 있다. 예를 들어, 판독 모듈(38)은 제2 비트에 할당되는 값을 검증하기 위해 저밀도 패리티 체크(LDPC) 알고리즘으로 연판정값을 활용할 수 있다. 예를 들어, 연판정값의 비교적 큰 절댓값은 제2 비트의 값이 제2 판독 기준 전압(R2)을 사용하여 판독되는 값일 비교적 더 높은 가능성을 나타낼 수 있다. 정반대로, 연판정값의 비교적 작은 값은 제2 비트의 값이 제2 판독 기준 전압(R2)을 사용하여 판독되는 값일 비교적 더 낮은 가능성을 나타낼 수 있다.
일 예로서, 판독 모듈(38)은 제1 판독 기준 전압(R1) 및 제3 판독 기준 전압(R3)이 메모리 셀에 인가되게 한 후에, 제1 비트의 값이 1이라고 판단할 수 있다. 제1 비트의 값이 1인 것에 기반하여, 판독 모듈(38)은 비교적 큰 절댓값(예를 들어, -100 또는 100)을 제2 비트의 연판정값에 할당할 수 있다. 다른 예로서, 판독 모듈(38)이 제1 비트의 값이 0이라고 판단하는 경우들에서, 판독 모듈(38)은 비교적 작은 절댓값(예를 들어 -10 또는 10)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 상기 예를 계속하면, 판독 모듈(38)은 제2 판독 기준 전압(R2)이 메모리 셀에 인가되게 할 수 있고 제2 비트의 값에 기반하여 제2 비트와 연관된 연판정값의 부호를 결정할 수 있다. 제2 비트의 연판정값들은 하부 페이지 데이터를 디코딩하기 위해 ECC 알고리즘으로 활용될 수 있다.
판독 모듈(38)이 하부 페이지로부터의 데이터를 판독하기 전에, 상부 페이지로부터의 데이터를 판독했던 경우들에서 제1 및 제2 물리적 페이지 어드레스들이 상관되고 제1 비트의 값이 휘발성 메모리(12)(예를 들어, 판독 캐시)에 저장될 수 있으므로, 판독 모듈(38)은 제2 비트와 연관된 연판정값을 결정하기 위해 상부 페이지가 다시 판독되게 하지 않을 수 있다. 대신에, 판독 모듈(38)은 연판정값을 결정하기 위해 휘발성 메모리(12)로부터 제1 비트의 값을 회수하고 상기 값을 활용할 수 있다. 이는 제2 비트의 값을 결정하는데 사용되는 판독 작동의 수를 감소시킬 수 있으며, 이는 판독 처리량을 증가시키거나, 메모리 디바이스들(16)에 대한 웨어를 감소시키거나, 둘 다일 수 있다.
일부 예들에서, 하부 페이지와 연관된 제2 비트의 값을 결정하기 위해 연판정값을 활용하는 것은 셀 전압 상태들의 변경이 상부 페이지와 연관된 제1 비트값을 결정하는 것을 용이하게 하는 것을 가능하게 한다. 예를 들어, 도 5는 MLC 플래시 메모리 셀의 하부 페이지, 중간 페이지 및 상부 페이지에 대한 셀 임계 전압 레벨들 및 상응하는 비트값들을 도시하는 개념도이다.
도 5에 도시된 바와 같이, (제1 셀 전압 상태(S1)와 제2 셀 전압 상태(S2) 사이의, 그리고 제3 셀 전압 상태(S3)와 제4 셀 전압 상태(S4) 사이의) 상부 페이지 결정 경계들에서의 전위차들 또는 간격들은 (제2 셀 전압 상태(S2)와 제3 셀 전압 상태(S3) 사이의) 하부 페이지 결정 경계에서의 전위차 또는 간격보다 더 크다. 상술한 바와 같이, 판독 모듈(38)은 판독 기준 전압들(R1 및 R3)을 사용하여 상부 페이지 (및 제1 물리적 페이지 어드레스)와 연관된 제1 비트의 값을 결정할 수 있고 제1 비트의 값을 결정하기 위해 연판정값을 활용하지 않을 수 있다. 이러한 이유로, 상부 페이지 결정 경계들에서의 더 큰 전위차들은 (상부 페이지에 대해 1을 나타내는) 제1 셀 전압 상태(S1)와 (상부 페이지에 대해 0을 나타내는) 제2 셀 전압 상태(S2) 사이 또는 (상부 페이지에 대해 0을 나타내는) 제3 셀 전압 상태(S3)와 (상부 페이지에 대해 1을 나타내는) 제4 셀 전압 상태(S4) 사이의 판별을 용이하게 할 수 있다.
제1 셀 전압 상태(S1)와 제2 셀 전압 상태(S2) 사이, 그리고 제3 셀 전압 상태(S3)와 제4 셀 전압 상태(S4) 사이의 이러한 더 큰 판별력은 또한 상부 페이지와 연관된 비트의 값을 결정하기 위해 MLC 메모리 셀에 인가되는 판독 기준 전압의 수를 감소시키는 것을 가능하게 할 수 있다. 예를 들어, 일부 경우에, S1과 S2 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S1과 S2 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R1)만이 인가될 수 있다. 마찬가지로, 일부 경우에, S3과 S4 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S3과 S4 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R3)만이 인가될 수 있다. 일부 예들에서, 이는 상부 페이지와 연관된 제1 비트의 값을 결정하는데 사용되는 판독 기준 전압의 수를 감소시킬 수 있다. 예를 들어, 일부 디바이스들에서 행해지는 바와 같이, 6개의 판독 기준 전압(R1 및 R3 주변에 각각 3개)을 사용하는 것 대신에, 2개의 판독 기준 전압(R1 및 R3)만이 상부 페이지와 연관된 제1 비트의 값을 결정하는데 사용될 수 있다.
게다가, 판독 모듈(38)이 하부 페이지 (및 제2 물리적 페이지 어드레스)와 연관된 제2 비트의 값을 결정하는데 연판정값을 활용하므로, (제2 셀 전압 상태(S2)와 제3 셀 전압 상태(S3) 사이의) 하부 페이지 결정 경계에서의 전위차 또는 간격은 더 작을 수 있고, 연판정값은 제2 비트의 값을 정확히 결정하는 판독 모듈(38)의 능력에 기여할 수 있다. 더욱이, 제1 비트의 값 및 제2 비트의 값에 기반하여 하부 페이지와 연관된 제2 비트의 연판정값을 활용하는 것은 제2 판독 기준 전압(R2) 근처의 다수의 상이한 판독 기준 전압을 사용하는 것보다는 오히려 단일 판독 기준 전압(제2 판독 기준 전압(R2))만을 사용하여 하부 페이지의 값을 판독하는 것을 가능하게 할 수 있다. 예를 들어, 일부 디바이스들에서 행해지는 바와 같이, R2 주변에 3개의 판독 기준 전압을 사용하는 것 대신에, 단일 판독 기준 전압(R2)만이 하부 페이지와 연관된 제2 비트의 값을 판독하는데 사용될 수 있다. 게다가, 상부 및 하부 페이지들의 논리 어드레스들이 연관되므로, 상부 페이지의 판독은 제2 비트와 연관된 연판정값을 결정하기 위해 반복될 필요가 없을 수 있다. 최선의 시나리오에서, 이는 제1 및 제2 비트들의 값들을 결정하는데 사용되는 판독 사이클의 수를 9개(제1 비트의 값을 결정하는 6개의 판독 사이클 및 제2 비트의 값을 결정하는 3개의 판독 사이클)에서 3개(제1 비트의 값을 결정하는 2개의 판독 사이클, 및 제2 비트의 값을 결정하는 하나의 판독 사이클)로 감소시킬 수 있다. 이러한 방식으로, 연판정값은 제2 비트의 값을 결정하기 위해 판독 모듈(38)에 의해 직접으로만 사용되더라도, 더 적은 판독 작동으로 (상부 페이지와 연관된) 제1 비트 및 (하부 페이지와 연관된) 제2 비트 둘 다의 정확한 결정을 용이하게 할 수 있다.
도 4 및 도 5에 셀 당 2 비트 메모리 셀에 대하여 설명한 개념들은 셀 당 3비트를 저장하는 메모리 셀들에 적용될 수 있다. 도 6은 TLC 플래시 메모리 셀의 하부 페이지, 중간 페이지 및 상부 페이지에 대한 셀 임계 전압 레벨들 및 상응하는 비트값들을 도시하는 개념도이다.
제어기(8)는 호스트(4)로부터 인터페이스(14)를 통하여 판독 커맨드를 수신할 수 있다. 판독 커맨드는 논리 페이지 어드레스를 식별할 수 있고, 어드레스 변환 모듈(32)은 논리 페이지 어드레스가 메모리 셀들의 세트의 상부 페이지와 연관된 물리적 페이지 어드레스와 연관된다고 판단할 수 있다. 판독 모듈(38)은 비트의 값이 상부 페이지로부터 판독되게 할 수 있다. 판독 모듈(38)은 제1 판독 기준 전압(R1), 제3 판독 기준 전압(R3), 제5 판독 기준 전압(R5), 및 제7 판독 기준 전압(R7)이 TLC 플래시 메모리 셀에 별도로 인가되게 함으로써 채널 제어기들(42) 중 하나 이상이 상부 페이지로부터 데이터를 판독하게 할 수 있다. 도 6에 도시된 바와 같이, 제1 판독 기준 전압(R1)은 상부 페이지에 대해 1을 나타내는 제1 셀 전압 상태(S1)와 상부 페이지에 대해 0을 나타내는 제2 셀 전압 상태(S2) 사이에 있다. 마찬가지로, 제3 판독 기준 전압(R3)은 상부 페이지에 대해 0을 나타내는 제3 셀 전압 상태(S3)와 상부 페이지에 대해 1을 나타내는 제4 셀 전압 상태(S4) 사이에 있고; 제5 판독 기준 전압(R5)은 상부 페이지에 대해 1을 나타내는 제5 셀 전압 상태(S5)와 상부 페이지에 대해 0을 나타내는 제6 셀 전압 상태(S6) 사이에 있고; 제7 판독 기준 전압(R7)은 상부 페이지에 대해 0을 나타내는 제7 셀 전압 상태(S7)와 상부 페이지에 대해 1을 나타내는 제8 셀 전압 상태(S4) 사이에 있다.
TLC 플래시 메모리 셀의 전압 레벨이 제1 셀 전압 상태(S1)인지, 제2 셀 전압 상태(S2)인지, 제3 셀 전압 상태(S3)인지, 제4 셀 전압 상태(S4)인지, 제5 셀 전압 상태(S5)인지, 제6 셀 전압 상태(S6)인지, 제7 셀 전압 상태(S7)인지, 아니면 제8 셀 전압 상태(S8)인지에 기반하여, TLC 플래시 메모리 셀은 제1 판독 기준 전압(R1)이 인가될 때, 제3 판독 기준 전압(R3)이 인가될 때, 제5 판독 기준 전압(R5)이 인가될 때, 또는 제7 판독 기준 전압(R7)이 인가될 때, 전기 전도성일 수 있거나 전기 전도성이지 않을 수 있다. 이러한 방식으로, 판독 모듈(38)은 TLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트가 0인지 아니면 1인지 여부를 판단할 수 있다. 일부 예들에서, 제어기(8)(예를 들어, 판독 모듈(38))는 TLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트의 값이 휘발성 메모리(12)에 의해 저장되게 할 수 있다.
제어기(8)는 TLC 플래시 메모리 셀의 중간 페이지와 연관된 물리적 페이지 어드레스와 연관된 어드레스 변환 모듈(32)이 판단하는 논리 페이지 어드레스와 연관된 데이터를 판독하라는 호스트(4)로부터의 요청을 수신할 수도 있다. 판독 모듈(38)은 채널 제어기들(42) 중 하나 이상이 제2 판독 기준 전압(R2) 및 제6 판독 기준 전압(R6)을 TLC 플래시 메모리 셀에 별도로 인가하게 할 수 있다. 도 6에 도시된 바와 같이, 제2 판독 기준 전압(R2)은 중간 페이지에 대해 1을 나타내는 제2 셀 전압 상태(S2)와 중간 페이지에 대해 0을 나타내는 제3 셀 전압 상태(S3) 사이에 있고, 제6 판독 기준 전압(R6)은 중간 페이지에 대해 0을 나타내는 제6 셀 전압 상태(S6)와 중간 페이지에 대해 1을 나타내는 제7 셀 전압 상태(S7) 사이에 있다. 이러한 방식으로, 판독 모듈(38)은 중간 페이지와 연관된 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정할 수 있다.
중간 페이지와 연관된 제2 비트의 값을 검증하기 위해, 판독 모듈(38)은 제2 판독 기준 전압(R2) 및 제6 판독 기준 전압(R6)을 인가함으로써 결정되는 중간 페이지와 연관된 제2 비트의 값, 그리고 상부 페이지와 연관된 제1 비트의 값에 적어도 부분적으로 기반한 연판정값을 활용할 수 있다. 일부 예들에서, 연판정값은 LLR을 포함할 수 있다. 예를 들어, 판독 모듈(38)은 제1 비트가 1의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 큰 절댓값(예를 들어, 제2 비트 1에 대해 -100, 제2 비트 0에 대해 100)을 제2 비트와 연관된 연판정값에 할당할 수 있다. 다른 예로서, 판독 모듈(38)은 제1 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 작은 절댓값(예를 들어, 제2 비트 1에 대해 -10, 제2 비트 0에 대해 10)을 제2 비트와 연관된 연판정값에 할당할 수 있다.
예를 들어, 연판정값의 비교적 큰 절댓값은 제2 비트의 값이 정확한 값일 비교적 더 높은 가능성을 나타낼 수 있다. 정반대로, 연판정값의 비교적 작은 절댓값은 제2 비트의 값이 정확한 값일 비교적 더 낮은 가능성을 나타낼 수 있다.
일부 예들에서, 판독 모듈(38)은 제2 판독 기준 전압(R2) 및 제6 판독 기준 전압(R6)을 TLC 메모리 셀에 인가함으로써 얻어지는 정보에 기반하여 제2 비트의 값을 결정할 수 있고, 제2 비트에 할당되는 값을 검증하기 위해 ECC 알고리즘으로 연판정값을 활용할 수 있다. 예를 들어, 판독 모듈(38)은 제2 비트에 할당되는 값을 검증하기 위해 LDPC 알고리즘으로 연판정값을 활용할 수 있다. 일부 예들에서, 제어기(8)(예를 들어, 판독 모듈(38))는 TLC 플래시 메모리 셀에 의해 저장되고 상부 페이지와 연관된 제1 비트의 값이 휘발성 메모리(12)에 의해 저장되게 할 수 있다.
제어기(8)는 TLC 플래시 메모리 셀의 하부 페이지와 연관된 제3 물리적 페이지 어드레스와 연관된 어드레스 변환 모듈(32)이 판단하는 논리 페이지 어드레스와 연관된 데이터를 판독하라는 호스트(4)로부터의 요청을 수신할 수도 있다. 판독 모듈(38)은 채널 제어기들(42) 중 하나 이상이 제4 판독 기준 전압(R4)을 TLC 플래시 메모리 셀에 인가하게 할 수 있다. 도 6에 도시된 바와 같이, 제4 판독 기준 전압(R4)은 하부 페이지에 대해 1을 나타내는 제4 셀 전압 상태(S4)와 하부 페이지에 대해 0을 나타내는 제5 셀 전압 상태(S5) 사이에 있다. 이러한 방식으로, 판독 모듈(38)은 하부 페이지와 연관된 제3 물리적 페이지 어드레스와 연관된 제3 비트의 값을 결정할 수 있다.
하부 페이지와 연관된 제3 비트의 값을 검증하기 위해, 판독 모듈(38)은 제4 판독 기준 전압(R4)을 인가함으로써 결정되는 하부 페이지와 연관된 제3 비트의 값, 상부 페이지와 연관된 제1 비트의 값, 및 중간 페이지와 연관된 제2 비트의 값에 기반한 연판정값을 활용할 수 있다. 일부 예들에서, 연판정값은 LLR을 포함할 수 있다. 예를 들어, 판독 모듈(38)은 제1 비트 및 제2 비트 둘 다가 1의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 큰 절댓값(예를 들어, -100, 100)을 연판정값에 할당할 수 있다. 다른 예로서, 판독 모듈(38)은 제2 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 작은 절댓값(예를 들어, -10, 10)을 연판정값에 할당할 수 있다. 다른 예로서, 판독 모듈(38)은 제2 비트가 1의 값을 갖고 제1 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 중간 절댓값(예를 들어, -40, 40)을 연판정값에 할당할 수 있다. 판독 모듈(38)은 부호(예를 들어, + 또는 -)를 연판정값에 할당하기 위해 제4 판독 기준 전압(R4)을 인가함으로써 결정되는 하부 페이지와 연관된 제3 비트의 값을 활용할 수 있다. 예를 들어, 제4 판독 기준 전압(R4)을 인가함으로써 결정되는 하부 페이지와 연관된 제3 비트의 값이 1이면, 부호는 부일 수 있고, 제4 판독 기준 전압(R4)을 인가함으로써 결정되는 하부 페이지와 연관된 제3 비트의 값이 0이면, 부호는 정일 수 있다.
일부 예들에서, 판독 모듈(38)은 중간 페이지와 상부 페이지 사이의 비트 와이즈 앤드(bit-wise-and) 연산자에 기반한 연판정값을 추가로 활용할 수 있다. 일부 예들에서, 판독 모듈(38)은 제1 비트의 값을 판독할 시에 또는 제2 비트의 값을 판독할 시에 연판정값을 결정하지 않을 수 있고, 대신에 제3 비트의 값에 관하여 결정한 후에, 연판정값을 결정할 수 있다.
일부 예들에서, 판독 모듈(38)은 제4 판독 기준 전압(R4)을 TLC 메모리 셀에 인가함으로써 얻어지는 정보에 기반하여 제3 비트의 값을 결정할 수 있고, 제3 비트에 할당되는 값을 검증하기 위해 ECC 알고리즘으로 연판정값을 활용할 수 있다. 예를 들어, 판독 모듈(38)은 제3 비트에 할당되는 값을 검증하기 위해 LDPC 알고리즘으로 연판정값을 활용할 수 있다.
일부 예들에서, 중간 페이지와 연관된 제2 비트의 값 및 하부 페이지와 연관된 제3 비트의 값을 결정하기 위해 연판정값을 활용하는 것은 셀 전압 상태들의 변경이 상부 페이지와 연관된 제1 비트값을 결정하는 것을 용이하게 하는 것을 가능하게 한다. 예를 들어, 도 7은 TLC 플래시 메모리 셀의 하부 페이지, 중간 페이지 및 상부 페이지에 대한 셀 임계 전압 레벨들 및 상응하는 비트값들을 도시하는 개념도이다.
도 7에 도시된 바와 같이, (제1 셀 전압 상태(S1)와 제2 셀 전압 상태(S2) 사이, 제3 셀 전압 상태(S3)와 제4 셀 전압 상태(S4) 사이, 제5 셀 전압 상태(S5)와 제6 셀 전압 상태(S6) 사이, 그리고 제7 셀 전압 상태(S7)와 제8 셀 전압 상태(S8) 사이의) 상부 페이지 결정 경계들에서의 전위차들 또는 간격들은 (제2 셀 전압 상태(S2)와 제3 셀 전압 상태(S3) 사이, 그리고 제6 셀 전압 상태(S6)와 제7 셀 전압 상태(S7) 사이의) 중간 페이지 결정 경계들에서의 전위차들 또는 간격들보다 더 크고 (제4 셀 전압 상태(S4)와 제5 전압 상태(S5) 사이의) 하부 페이지 결정 경계에서의 전위차 또는 간격보다 더 크다. 상술한 바와 같이, 판독 모듈(38)은 판독 기준 전압들(R1, R3, R5 및 R7)을 사용하여 상부 페이지 (및 제1 물리적 페이지 어드레스)와 연관된 제1 비트의 값을 결정할 수 있고 제1 비트의 값을 결정하기 위해 연판정값을 활용하지 않을 수 있다. 이러한 이유로, 상부 페이지 결정 경계들에서의 더 큰 전위차들은 (상부 페이지에 대해 1을 나타내는) 제1 셀 전압 상태(S1)와 (상부 페이지에 대해 0을 나타내는) 제2 셀 전압 상태(S2) 사이, 또는 (상부 페이지에 대해 0을 나타내는) 제3 셀 전압 상태(S3)와 (상부 페이지에 대해 1을 나타내는) 제4 셀 전압 상태(S4) 사이, 또는 (상부 페이지에 대해 1을 나타내는) 제5 셀 전압 상태(S5)와 (상부 페이지에 대해 0을 나타내는) 제6 셀 전압 상태(S6) 사이, 또는 (상부 페이지에 대해 0을 나타내는) 제7 셀 전압 상태(S7)와 (상부 페이지에 대해 1을 나타내는) 제8 셀 전압 상태(S8) 사이의 판별을 용이하게 할 수 있다.
제1 셀 전압 상태(S1)와 제2 셀 전압 상태(S2) 사이, 제3 셀 전압 상태(S3)와 제4 셀 전압 상태(S4) 사이, 제5 셀 전압 상태(S5)와 제6 셀 전압 상태(S6) 사이, 그리고 제7 셀 전압 상태(S7)와 제8 셀 전압 상태(S8) 사이의 이러한 더 큰 판별력은 또한 상부 페이지와 연관된 비트의 값을 결정하기 위해 TLC 메모리 셀에 인가되는 판독 기준 전압의 수를 감소시키는 것을 가능하게 할 수 있다. 예를 들어, 일부 경우에, S1과 S2 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S1과 S2 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R1)만이 인가될 수 있다. 마찬가지로, 일부 경우에, S3과 S4 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S3과 S4 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R3)만이 인가될 수 있고; S5와 S6 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S5와 S6 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R5)만이 인가될 수 있고; S7과 S8 사이의 전압 레벨들을 갖는 다수의 판독 기준 전압보다는 오히려 S7과 S8 사이의 전압 레벨을 갖는 단일 판독 기준 전압인, 판독 기준 전압(R7)만이 인가될 수 있다. 일부 예들에서, 이는 상부 페이지와 연관된 제1 비트의 값을 결정하는데 사용되는 판독 기준 전압의 수를 감소시킬 수 있다. 예를 들어, 일부 디바이스들에서 행해지는 바와 같이, 12개의 판독 기준 전압(R1, R3, R5 및 R7 주변에 각각 3개)을 사용하는 것 대신에, 4개만의 판독 기준 전압(R1, R3, R5 및 R7)이 상부 페이지와 연관된 제1 비트의 값을 결정하는데 사용될 수 있다.
게다가, 판독 모듈(38)이 중간 페이지와 연관된 제2 비트 및 하부 페이지와 연관된 제3 비트의 값들을 결정하는데 연판정값을 활용하므로, 중간 페이지 결정 경계들 및 하부 페이지 결정 경계에서의 전위차들 또는 간격들은 더 작을 수 있고, 연판정값은 제2 비트의 값 및 제3 비트의 값을 정확히 결정하는 판독 모듈(38)의 능력에 기여할 수 있다. 더욱이, 제1 비트의 값 및 제2 비트의 값에 기반하여 중간 페이지와 연관된 제2 비트의 연판정값을 활용하는 것은, 제2 판독 기준 전압(R2) 근처의 다수의 상이한 판독 기준 전압 및 제6 판독 기준 전압(R2) 근처의 다수의 상이한 판독 기준 전압을 사용하는 것보다는 오히려 2개의 판독 기준 전압(제2 판독 기준 전압(R2) 및 제6 판독 기준 전압(R6))만을 사용하여 중간 페이지의 값을 판독하는 것을 가능하게 할 수 있다. 예를 들어, 일부 디바이스들에서 행해지는 바와 같이, R2 주변에 3개의 판독 기준 전압을 사용하는 것 대신에, 단일 판독 기준 전압(R2)만이 사용될 수 있다. 마찬가지로, 일부 디바이스들에서 행해지는 바와 같이, R6 주변에 3개의 판독 기준 전압(R6)을 사용하는 것 대신에, 단일 판독 기준 전압(R6)만이 사용될 수 있다.
게다가, 제1 비트의 값, 제2 비트의 값 및 제3 비트의 값에 기반하여 하부 페이지와 연관된 제3 비트의 연판정값을 활용하는 것은 제4 판독 기준 전압(R4) 근처의 다수의 상이한 판독 기준 전압을 사용하는 것보다는 오히려 단일 판독 기준 전압(제4 판독 기준 전압(R4))만을 사용하여 하부 페이지의 값을 판독하는 것을 가능하게 할 수 있다. 예를 들어, 일부 디바이스들에서 행해지는 바와 같이, R4 주변에 3개의 판독 기준 전압을 사용하는 것 대신에, 단일 판독 기준 전압(R4)만이 하부 페이지와 연관된 제3 비트의 값을 판독하는데 사용될 수 있다. 상부, 중간 및 하부 페이지들의 논리 어드레스들이 연관되므로, 상부 페이지의 판독은 제2 비트와 연관된 연판정값을 결정하기 위해 반복될 필요가 없을 수 있고, 상부 및 중간 페이지들의 판독은 제3 비트와 연관된 연판정값을 결정하기 위해 반복될 필요가 없을 수 있다. 이는 제1 및 제2 비트들의 값들을 결정하는데 사용되는 판독 사이클의 수를 21개(제1 비트의 값을 결정하는 12개의 판독 사이클, 제2 비트의 값을 결정하는 6개의 판독 사이클, 및 제3 비트의 값을 결정하는 3개의 판독 사이클)에서 7개(제1 비트의 값을 결정하는 4개의 판독 사이클, 제2 비트의 값을 결정하는 2개의 판독 사이클, 및 제3 비트의 값을 결정하는 하나의 판독 사이클)로 감소시킬 수 있다. 이러한 방식으로, 연판정값은 제1 비트의 값을 결정하기 위해 판독 모듈(38)에 의해 직접 사용되지 않더라도, (상부 페이지와 연관된) 제1 비트, (중간 페이지와 연관된) 제2 비트, 및 (하부 페이지와 연관된) 제3 비트의 정확한 결정을 용이하게 할 수 있다.
도 8은 본 발명의 하나 이상의 기법에 따른 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 적어도 하나의 프로세서에 의해 상관시키고, 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값에 적어도 부분적으로 기반하여 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 적어도 하나의 프로세서에 의해 결정하는 예시적 기법을 도시하는 흐름도이다. 도 8의 기법은 예시의 목적으로 도 1의 저장 환경(2) 및 도 1 및 도 3의 제어기(8)에 대하여 설명할 것이다. 그러나, 도 8의 기법이 상이한 프로세서에 의해 또는 상이한 저장 환경에서 수행될 수 있고, 제어기(8) 및 저장 환경(2)이 저장 디바이스들(16)로부터 데이터를 판독하는 다른 기법들을 수행할 수 있다는 점이 이해될 것이다.
도 8의 기법은 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 적어도 하나의 프로세서(예를 들어, 제어기(8))에 의해 상관시키는 단계(52)를 포함한다. 상술한 바와 같이 일부 예들에서, 제1 물리적 페이지 어드레스는 다중 레벨 메모리 셀의 상부 페이지와 연관되고 제2 물리적 페이지 어드레스는 다중 레벨 메모리 셀의 하부 페이지와 연관된다. 일부 예들에서, 어드레스 변환 모듈(32)은 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시킬 수 있다(52).
도 8의 기법은 또한 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 하나의 프로세서(예를 들어, 제어기(8))에 의해 적어도 제1 판독 작동이 다중 레벨 메모리 셀에 적용되게 하는 단계(54)를 포함한다. 셀 당 비트의 수에 의존하여, 적어도 제1 판독 작동은 예를 들어, 제1 및 제2 판독 기준 전압들이 MLC 메모리 셀에 인가되게 하거나, 제1, 제2, 제3 및 제4 판독 기준 전압들이 TLC 메모리 셀에 인가되게 하는 것을 포함할 수 있다. 일부 예들에서, 판독 모듈(38)은 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 채널 제어기들(42) 중 하나를 제어할 수 있다(54).
도 8의 기법은 또한 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 하나의 프로세서(예를 들어, 제어기(8))에 의해 적어도 제2 판독 작동이 다중 레벨 메모리 셀에 적용되게 하는 단계(56)를 포함한다. 셀 당 비트의 수에 의존하여, 적어도 제2 판독 작동은 예를 들어, 제3의, 상이한 판독 기준 전압이 MLC 메모리 셀에 인가되게 하거나, 제5 및 제6 판독 기준 전압들이 TLC 메모리 셀에 인가되게 하는 것을 포함할 수 있다. 일부 예들에서, 판독 모듈(38)은 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동이 다중 레벨 메모리 셀에 적용되게 하도록 채널 제어기들(42) 중 하나를 제어할 수 있다(56).
도 8의 기법은 제1 비트의 값 및 제2 비트의 값에 적어도 부분적으로 기반하여 제2 비트와 연관된 연판정값을 적어도 하나의 프로세서(예를 들어, 제어기(8))에 의해 결정하는 단계(58)를 더 포함한다. 예를 들어, 제어기(8)의 판독 모듈(38)은 제1 비트가 1의 값을 갖는다고 제어기(8)가 판단하는 경우들에서 비교적 큰 절댓값(예를 들어, -100, 100)을 제2 비트와 연관된 연판정값(예를 들어, LLR)에 할당할 수 있다. 다른 예로서, 판독 모듈(38)은 제1 비트가 0의 값을 갖는다고 판독 모듈(38)이 판단하는 경우들에서 비교적 작은 절댓값(예를 들어, -10, 10)을 제2 비트와 연관된 연판정값(예를 들어, LLR)에 할당할 수 있다. 일부 예들에서, 판독 모듈(38)은 제1 비트의 값을 판독할 시에 제2 비트의 연판정값 정보를 결정하지 않을 수 있다.
도 8의 기법은 또한 제2 비트와 연관된 연판정값 정보에 적어도 부분적으로 기반하여 제2 비트의 값을 적어도 하나의 프로세서(예를 들어, 제어기(8))에 의해 검증하는 단계(60)를 포함한다. 예를 들어, 판독 모듈(38)은 제2 비트에 할당되는 값을 검증하기 위해 ECC 알고리즘으로 연판정값 정보를 활용할 수 있다. 예를 들어, 판독 모듈(38)은 제2 비트에 할당되는 값을 검증하기 위해 LDPC 알고리즘으로 연판정값 정보를 활용할 수 있다.
전술한 예들을 저장 디바이스의 제어기에 대하여 설명하였지만, 다른 예들에서, 본원에 설명하는 예들은 범용 프로세서, 또는 판독 채널과 같은 다른 프로세서에 의해 구현될 수 있다. 게다가, 예들을 플래시 메모리에 대하여 설명하였지만, 본원에 설명하는 기법들은 다른 타입들의 다중 레벨 메모리 셀들로 활용될 수 있다. 예를 들어, 본원에 설명하는 기법들은 저항성 RAM, 상 변화 메모리, 자기 저항성 RAM, DRAM 등으로 활용될 수 있다.
본 발명에 설명하는 기법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 적어도 부분적으로 구현될 수 있다. 예를 들어, 설명한 기법들의 다양한 양태는 하나 이상의 마이크로프로세서, DSP, ASIC, FPGA, 또는 임의의 다른 동등한 통합되거나 별개의 논리 회로망뿐만 아니라, 그러한 구성 요소들의 임의의 조합을 포함하는 하나 이상의 프로세서 내에 구현될 수 있다. "프로세서" 또는 "처리 회로망"이란 용어는 단독으로 또는 다른 논리 회로망과의 조합으로 전술한 논리 회로망의 임의의 것, 또는 임의의 다른 동등한 회로망을 일반적으로 지칭할 수 있다. 하드웨어를 포함하는 제어부는 본 발명의 기법들 중 하나 이상을 수행할 수도 있다.
그러한 하드웨어, 소프트웨어 및 펌웨어는 본 발명에 설명하는 다양한 기법을 지원하도록 동일한 디바이스 또는 별도의 디바이스들 내에 구현될 수 있다. 게다가, 설명한 유닛들, 모듈들 또는 구성 요소들 중 임의의 것은 별개이지만 상호 사용 가능한 논리 디바이스들로서 함께 또는 별도로 구현될 수 있다. 모듈들 또는 유닛들과 상이한 특징들의 서술은 상이한 기능적 양태들을 강조하는 것으로 의도되고 그러한 모듈들 또는 유닛들이 별도의 하드웨어, 펌웨어 또는 소프트웨어 구성 요소들에 의해 실현되어야 한다는 것을 반드시 시사하지는 않는다. 오히려, 하나 이상의 모듈 또는 유닛과 연관된 기능성은 별도의 하드웨어, 펌웨어 또는 소프트웨어 구성 요소들에 의해 수행되거나, 공통이거나 또는 별도의 하드웨어, 펌웨어 또는 소프트웨어 구성 요소들 내에 통합될 수 있다.
본 발명에 설명하는 기법들은 명령어들로 인코딩되는 컴퓨터 판독 가능 저장 매체를 포함하는 제조 물품에 내장되거나 인코딩될 수도 있다. 인코딩된 컴퓨터 판독 가능 저장 매체를 포함하는 제조 물품에 내장되거나 인코딩되는 명령어들은 하나 이상의 프로그래밍 가능 프로세서 또는 다른 프로세서가 예를 들어, 컴퓨터 판독 가능 저장 매체에 포함되거나 인코딩되는 명령어들이 하나 이상의 프로세서에 의해 실행될 때, 본원에 설명하는 기법들 중 하나 이상을 구현하게 할 수 있다. 컴퓨터 판독 가능 저장 매체는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 프로그래밍 가능 읽기 전용 메모리(PROM), 소거 및 프로그램 가능 읽기 전용 메모리(EPROM), 전자적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM), 플래시 메모리, 하드 디스크, 컴팩트 디스크 ROM(CD-ROM), 플로피 디스크, 카세트, 자기 매체, 광 매체 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다. 일부 예들에서, 제조 물품은 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다.
일부 예들에서, 컴퓨터 판독 가능 저장 매체는 비일시적 매체를 포함할 수 있다. "비일시적"이란 용어는 저장 매체가 반송파 또는 전파된 신호로 구현되지 않는다는 것을 나타낼 수 있다. 특정 예들에서, 비일시적 저장 매체는 (예를 들어, RAM 또는 캐시에서) 시간이 지남에 따라 변화될 수 있는 데이터를 저장할 수 있다.
다양한 예를 설명하였다. 이러한 예들 및 다른 예들은 이하의 청구항들의 범위 내에 있다.

Claims (20)

  1. 적어도 하나의 프로세서에 의해, 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키는 단계;
    상기 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 상기 적어도 하나의 프로세서에 의해, 적어도 제1 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하는 단계;
    상기 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 상기 적어도 하나의 프로세서에 의해, 적어도 제2 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 제1 비트의 값 및 상기 제2 비트의 값에 기반하여 상기 제2 비트와 연관된 연판정값을 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 제2 비트와 연관된 상기 연판정값에 적어도 부분적으로 기반하여 상기 제2 비트의 값을 검증하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 상부 페이지와 연관된 물리적 페이지 어드레스를 포함하고, 상기 제2 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 하부 페이지와 연관된 물리적 페이지 어드레스를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 다중 레벨 메모리 셀은 셀 당 2비트 메모리 셀을 포함하고;
    적어도 상기 제1 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하는 단계는 상기 제1 비트의 값을 결정하기 위해 2개의 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하는 것을 포함하고;
    적어도 상기 제2 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하는 단계는 하나의 판독 기준 전압을 상기 셀 당 2비트 메모리 셀에 인가하는 것을 포함하고;
    상기 제2 비트의 값을 검증하는 단계는 상기 프로세서에 의해, 로그 우도율을 결정하고 상기 제2 비트를 검증하기 위해 활용되는 오류 정정 코드에서 상기 로그 우도율을 활용하는 것을 포함하는, 방법.
  4. 제3항에 있어서,
    상기 로그 우도율은, 상기 제1 비트가 1과 동일할 때 큰 절댓값을, 그리고 상기 제1 비트가 0과 동일할 때 작은 절댓값을 포함하는, 방법.
  5. 제4항에 있어서,
    제1 셀 전압 상태는 제1 판독 기준 전압, 제2 판독 기준 전압 및 제3 판독 기준 전압보다 더 낮은 전압을 가지며;
    제2 셀 전압 상태는 상기 제1 판독 기준 전압보다 더 크고, 상기 제2 판독 기준 전압 및 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    제3 셀 전압 상태는 상기 제2 판독 기준 전압보다 더 크고 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    상기 제1 셀 전압 상태와 상기 제2 셀 전압 상태 사이의 전위차는 상기 제2 셀 전압 상태와 상기 제3 셀 전압 상태 사이의 전위차보다 더 큰, 방법.
  6. 제1항에 있어서,
    상기 다중 레벨 메모리 셀과 연관된 상기 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 상기 제2 물리적 페이지 어드레스를 상관시키는 단계는 상기 프로세서에 의해, 판독 캐시에서 상기 제1 물리적 페이지 어드레스로부터 판독되는 데이터 및 상기 제2 물리적 페이지 어드레스로부터 판독되는 데이터를 연관시키는 것을 포함하는, 방법.
  7. 적어도 하나의 다중 레벨 메모리 셀을 포함하는 적어도 하나의 메모리 디바이스; 및
    상기 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키고,
    상기 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하고,
    상기 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하고,
    상기 제1 비트의 값 및 상기 제2 비트의 값에 적어도 부분적으로 기반하여 상기 제2 비트와 연관된 연판정값을 결정하고,
    상기 제2 비트와 연관된 상기 연판정값에 적어도 부분적으로 기반하여 상기 제2 비트의 값을 검증하도록 구성되는 적어도 하나의 프로세서를 포함하는, 저장 디바이스.
  8. 제7항에 있어서,
    상기 제1 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 상부 페이지와 연관된 물리적 페이지 어드레스를 포함하고, 상기 제2 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 하부 페이지와 연관된 물리적 페이지 어드레스를 포함하는, 저장 디바이스.
  9. 제7항에 있어서,
    상기 다중 레벨 메모리 셀은 셀 당 2비트 메모리 셀을 포함하고;
    상기 적어도 하나의 프로세서는 상기 제1 물리적 페이지 어드레스와 연관된 상기 제1 비트의 값을 결정하기 위해 제1 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하고 제2의 상이한 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하도록 구성되고;
    상기 적어도 하나의 프로세서는 상기 제2 비트의 값을 결정하기 위해 제3의 상이한 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하도록 구성되고;
    상기 제3의 상이한 판독 기준 전압은 상기 제1 판독 기준 전압과 상기 제2의 상이한 판독 기준 전압 사이의 크기를 갖고;
    상기 적어도 하나의 프로세서는 적어도 로그 우도율을 결정하고 상기 제2 비트를 검증하기 위해 활용되는 오류 정정 코드에서 상기 로그 우도율을 활용함으로써 상기 제2 비트의 값을 검증하도록 구성되는, 저장 디바이스.
  10. 제9항에 있어서,
    상기 로그 우도율은, 상기 제1 비트가 1과 동일할 때 큰 절댓값을, 그리고 상기 제1 비트가 0과 동일할 때 작은 절댓값을 포함하는, 저장 디바이스.
  11. 제10항에 있어서,
    제1 셀 전압 상태는 제1 판독 기준 전압, 제2 판독 기준 전압 및 제3 판독 기준 전압보다 더 낮은 전압을 가지며;
    제2 셀 전압 상태는 상기 제1 판독 기준 전압보다 더 크고, 상기 제2 판독 기준 전압 및 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    제3 셀 전압 상태는 상기 제2 판독 기준 전압보다 더 크고 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    상기 제1 셀 전압 상태와 상기 제2 셀 전압 상태 사이의 전위차는 상기 제2 셀 전압 상태와 상기 제3 셀 전압 상태 사이의 전위차보다 더 큰, 저장 디바이스.
  12. 제7항에 있어서,
    상기 적어도 하나의 프로세서는 적어도 판독 캐시에서 상기 제1 물리적 페이지 어드레스로부터 판독되는 데이터 및 상기 제2 물리적 페이지 어드레스로부터 판독되는 데이터를 연관시킴으로써 상기 다중 레벨 메모리 셀과 연관된 상기 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 상기 제2 물리적 페이지 어드레스를 상관시키도록 구성되는, 저장 디바이스.
  13. 제7항에 있어서,
    상기 적어도 하나의 프로세서는 상기 저장 디바이스의 제어기 또는 상기 저장 디바이스의 판독 채널 중 적어도 하나를 포함하는, 저장 디바이스.
  14. 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키고;
    상기 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하고;
    상기 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동이 상기 다중 레벨 메모리 셀에 적용되게 하고;
    상기 제1 비트의 값 및 상기 제2 비트의 값에 적어도 부분적으로 기반하여 상기 제2 비트와 연관된 연판정값을 결정하고;
    상기 연판정값에 적어도 부분적으로 기반하여 상기 제2 비트의 값을 검증하도록, 실행될 때, 적어도 하나의 프로세서를 야기시키는 명령어들을 저장하는, 컴퓨터 판독 가능 저장 매체.
  15. 제14항에 있어서,
    상기 제1 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 상부 페이지와 연관된 물리적 페이지 어드레스를 포함하고, 상기 제2 물리적 페이지 어드레스는 상기 다중 레벨 메모리 셀의 하부 페이지와 연관된 물리적 페이지 어드레스를 포함하는, 컴퓨터 판독 가능 저장 매체.
  16. 제14항에 있어서,
    상기 다중 레벨 메모리 셀은 셀 당 2비트 메모리 셀을 포함하고;
    상기 명령어들은 실행될 때, 상기 제1 물리적 페이지 어드레스와 연관된 상기 제1 비트의 값을 결정하기 위해 제1 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하고 제2의 상이한 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하도록 상기 적어도 하나의 프로세서를 야기시키고;
    상기 명령어들은 실행될 때, 상기 제2 비트의 값을 결정하기 위해 제3의 상이한 판독 기준 전압이 상기 셀 당 2비트 메모리 셀에 인가되게 하도록 상기 적어도 하나의 프로세서를 야기시키고;
    상기 제3의 상이한 판독 기준 전압은 상기 제1 판독 기준 전압과 상기 제2의 상이한 판독 기준 전압 사이의 크기를 갖고;
    상기 명령어들은 실행될 때, 적어도 로그 우도율을 결정하고 상기 제2 비트를 검증하기 위해 활용되는 오류 정정 코드에서 상기 로그 우도율을 활용함으로써 상기 제2 비트의 값을 상기 적어도 하나의 프로세서가 검증하게 하는, 컴퓨터 판독 가능 저장 매체.
  17. 제16항에 있어서,
    상기 로그 우도율은, 상기 제1 비트가 1과 동일할 때 큰 절댓값을, 그리고 상기 제1 비트가 0과 동일할 때 작은 절댓값을 포함하는, 컴퓨터 판독 가능 저장 매체.
  18. 제17항에 있어서,
    제1 셀 전압 상태는 제1 판독 기준 전압, 제2 판독 기준 전압 및 제3 판독 기준 전압보다 더 낮은 전압을 가지며;
    제2 셀 전압 상태는 상기 제1 판독 기준 전압보다 더 크고, 상기 제2 판독 기준 전압 및 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    제3 셀 전압 상태는 상기 제2 판독 기준 전압보다 더 크고 상기 제3 판독 기준 전압보다 더 작은 전압을 가지며;
    상기 제1 셀 전압 상태와 상기 제2 셀 전압 상태 사이의 전위차는 상기 제2 셀 전압 상태와 상기 제3 셀 전압 상태 사이의 전위차보다 더 큰, 컴퓨터 판독 가능 저장 매체.
  19. 제14항에 있어서,
    상기 적어도 하나의 프로세서는 적어도 판독 캐시에서 상기 제1 물리적 페이지 어드레스로부터 판독되는 데이터 및 상기 제2 물리적 페이지 어드레스로부터 판독되는 데이터를 연관시킴으로써 상기 다중 레벨 메모리 셀과 연관된 상기 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 상기 제2 물리적 페이지 어드레스를 상관시키도록 구성되는, 컴퓨터 판독 가능 저장 매체.
  20. 적어도 하나의 다중 레벨 메모리 셀을 포함하는 적어도 하나의 메모리 디바이스;
    상기 다중 레벨 메모리 셀과 연관된 제1 물리적 페이지 어드레스 및 상기 다중 레벨 메모리 셀과 연관된 제2 물리적 페이지 어드레스를 상관시키는 수단;
    상기 제1 물리적 페이지 어드레스와 연관된 제1 비트의 값을 결정하기 위해 적어도 제1 판독 작동을 상기 다중 레벨 메모리 셀에 적용시키는 수단;
    상기 제2 물리적 페이지 어드레스와 연관된 제2 비트의 값을 결정하기 위해 적어도 제2 판독 작동을 상기 다중 레벨 메모리 셀에 적용시키는 수단;
    상기 제1 비트의 값 및 상기 제2 비트의 값에 적어도 부분적으로 기반하여 연판정값을 결정하는 수단; 및
    상기 연판정값에 적어도 부분적으로 기반하여 상기 제2 비트의 값을 검증하는 수단을 포함하는, 저장 디바이스.
KR1020160102281A 2015-08-11 2016-08-11 연판정 디코딩을 위한 물리적 페이지 어드레스들을 상관시키는 것 KR101933763B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/823,751 US9659637B2 (en) 2015-08-11 2015-08-11 Correlating physical page addresses for soft decision decoding
US14/823,751 2015-08-11

Publications (2)

Publication Number Publication Date
KR20170019328A true KR20170019328A (ko) 2017-02-21
KR101933763B1 KR101933763B1 (ko) 2018-12-28

Family

ID=57799965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160102281A KR101933763B1 (ko) 2015-08-11 2016-08-11 연판정 디코딩을 위한 물리적 페이지 어드레스들을 상관시키는 것

Country Status (6)

Country Link
US (1) US9659637B2 (ko)
JP (1) JP6345210B2 (ko)
KR (1) KR101933763B1 (ko)
CN (1) CN106445843B (ko)
DE (1) DE102016009807A1 (ko)
GB (1) GB2541298B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210121994A (ko) * 2020-03-31 2021-10-08 웨스턴 디지털 테크놀로지스, 인코포레이티드 지능형 임계치 검출을 통한 커맨드 최적화

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170039795A (ko) * 2015-10-01 2017-04-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10289313B2 (en) * 2016-06-28 2019-05-14 Intel Corporation Method and apparatus for improving sequential reading in NAND flash
KR102384706B1 (ko) * 2017-06-09 2022-04-08 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
US10733047B2 (en) 2018-09-28 2020-08-04 Sandisk Technologies Llc Hard and soft bit data from single read
KR20200073017A (ko) * 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 데이터 저장 장치와, 그것의 동작 방법
CN111026675B (zh) * 2019-12-06 2022-02-15 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
US11921581B1 (en) * 2022-08-15 2024-03-05 Micron Technology, Inc. Read recovery including low-density parity-check decoding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775913B2 (en) * 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
KR101792868B1 (ko) 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
JP2012181761A (ja) * 2011-03-02 2012-09-20 Toshiba Corp 半導体メモリ装置および復号方法
EP2549482B1 (en) * 2011-07-22 2018-05-23 SanDisk Technologies LLC Apparatus, system and method for determining a configuration parameter for solid-state storage media
US8943384B2 (en) 2012-04-12 2015-01-27 Seagate Technology Llc Using a soft decoder with hard data
US8856611B2 (en) 2012-08-04 2014-10-07 Lsi Corporation Soft-decision compensation for flash channel variation
US9239754B2 (en) 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US10468096B2 (en) 2012-10-15 2019-11-05 Seagate Technology Llc Accelerated soft read for multi-level cell nonvolatile memories
KR20140072637A (ko) * 2012-12-05 2014-06-13 삼성전자주식회사 비휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법
US9021332B2 (en) 2012-12-11 2015-04-28 Seagate Technology Llc Flash memory read error recovery with soft-decision decode
US20140169102A1 (en) 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
US9015554B2 (en) 2012-12-20 2015-04-21 Seagate Technology Llc Management of non-valid decision patterns of a soft read retry operation
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US9021331B2 (en) 2013-03-14 2015-04-28 Seagate Technology Llc Method and apparatus for generation of soft decision error correction code information
US9007854B1 (en) * 2013-12-09 2015-04-14 Western Digital Technologies, Inc. Method and system for optimized soft decoding in a data storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210121994A (ko) * 2020-03-31 2021-10-08 웨스턴 디지털 테크놀로지스, 인코포레이티드 지능형 임계치 검출을 통한 커맨드 최적화

Also Published As

Publication number Publication date
GB2541298B (en) 2019-04-03
DE102016009807A1 (de) 2017-02-16
JP2017073121A (ja) 2017-04-13
KR101933763B1 (ko) 2018-12-28
US20170047114A1 (en) 2017-02-16
CN106445843B (zh) 2019-10-01
GB2541298A (en) 2017-02-15
US9659637B2 (en) 2017-05-23
JP6345210B2 (ja) 2018-06-20
CN106445843A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
KR101933763B1 (ko) 연판정 디코딩을 위한 물리적 페이지 어드레스들을 상관시키는 것
KR101861924B1 (ko) 보호된 데이터로부터 분리된 패리티 데이터 저장
US10275310B2 (en) Updating exclusive-or parity data
US10459793B2 (en) Data reliability information in a non-volatile memory device
US11216362B2 (en) Data storage device and operating method thereof
US9842059B2 (en) Wear leveling in storage devices
US10289408B2 (en) Managing wear of system areas of storage devices
US9645769B2 (en) Performance acceleration during shutdown of a data storage device
US10290353B2 (en) Error mitigation for 3D NAND flash memory
US20170206170A1 (en) Reducing a size of a logical to physical data address translation table
US20220229722A1 (en) Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives
KR20220033975A (ko) CbA 기술을 사용한 재배치 흐름
US10025664B2 (en) Selective buffer protection
US20180024751A1 (en) Metadata management on a storage device
JP2022066136A (ja) 動的読み取り閾値較正
US10515693B1 (en) Data storage apparatus and operating method thereof
US20160211024A1 (en) Decoding data using a reserved word line
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11960397B2 (en) Data mapping comparison for improved synchronization in data storage devices
US20230280926A1 (en) Data Relocation With Protection For Open Relocation Destination Blocks
WO2023080928A1 (en) Dynamic controller buffer management and configuration

Legal Events

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