KR102496386B1 - 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 - Google Patents
낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 Download PDFInfo
- Publication number
- KR102496386B1 KR102496386B1 KR1020220032485A KR20220032485A KR102496386B1 KR 102496386 B1 KR102496386 B1 KR 102496386B1 KR 1020220032485 A KR1020220032485 A KR 1020220032485A KR 20220032485 A KR20220032485 A KR 20220032485A KR 102496386 B1 KR102496386 B1 KR 102496386B1
- Authority
- KR
- South Korea
- Prior art keywords
- nand flash
- flash memory
- error
- program
- retention
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 165
- 238000012512 characterization method Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 238000009826 distribution Methods 0.000 claims abstract description 63
- 230000014759 maintenance of location Effects 0.000 claims description 89
- 230000008569 process Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007087 memory ability Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50016—Marginal testing, e.g. race, voltage or current testing of retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
Abstract
본 발명은 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법에 관한 것으로, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법은 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution) 내 다수의 패턴 중 어느 하나의 패턴과 다른 하나의 패턴 사이의 중심 거리를 매개변수로 낸드 플래시 메모리의 에러 소스(error source)를 특성화한다.
Description
본 발명은 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법에 관한 것으로, 보다 상세하게는 낸드 플래시 메모리의 에러 특성을 파악하여 신규의 매개변수로 특성화하고 이를 활용하는 기술에 관한 것이다.
반도체 메모리는 정보의 기억 메커니즘에 따라 휘발성 메모리(Volatile Memory)와 비휘발성 메모리(Non-volatile Memory)로 구분된다. 휘발성 메모리로는 DRAM, SRAM 등이 있는데, 읽고 쓰는 속도가 빠르지만 전원 공급이 차단되면 기억정보가 소실된다. 한편, 비휘발성 메모리는 전원이 차단되어도 기억정보를 보존할 수 있기 때문에 전원의 공급 여부에 무관하게 보존해야 할 데이터를 저장하는데 사용한다. 이러한 비휘발성 메모리로는 EPROM, EEPROM, FRAM, PRAM, MRAM, 플래시 메모리(Flash Memory) 등이 있는데, 특히 하기 선행기술문헌의 특허문헌에 개시된 바와 같이, 플래시 메모리가 컴퓨터, 스마트폰, 디지털카메라, 보이스 레코더, 캠코더 등과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
특히, 낸드 플래시 메모리(NAND Flash Memory)는 비휘발성 메모리의 핵심소자로 널리 사용되고 있지만, 그 자체의 데이터 소거 횟수의 제한, 생산 시 발생하는 베드 블록(Bad Block), 쓰기 전 반드시 수행되어야 하는 소거 연산 등의 복잡화 등으로 인해, 단품으로 사용되지 못하고 메모리 컨트롤러와 결합된 스토리지 디바이스(Storage Device)를 구성한다.
SSD(Solid State Drive)와 같은 스토리지 디바이스, 특히 기업용 SSD에서는 QoS를 극대화하는 것이 제품경쟁력에 매우 중요하다. 호스트가 데이터 쓰기와 읽기 연산을 요청한 상황에서 낸드 플래시 메모리 에러가 발생하게 되면 컨트롤러가 이를 해결하거나 데이터 복구를 위해 여러 가지 작업을 수행하게 되는데, 이로 인해 심각한 QoS 저하가 발생하게 된다. 이러한 QoS 저하를 방지하기 위해서, 스토리지 디바이스는 데이터가 쓰이고 읽히기 전에 낸드 플래시 메모리 블록의 상태를 점검하고 선제적인 조치를 취하는 방법을 사용한다. 예를 들어, 메모리 컨트롤러는 메모리 블록의 쓰기 및 소거 횟수를 기록하여 수명 이상 사용하지 못하게 하거나 블록들의 소거 횟수가 불균형을 이루어 제품의 수명과 성능의 저하되지 않도록 관리한다. 또 다른 예로, 읽기 방해 에러(Read Disturb Error)는 블록에 요청된 읽기 횟수를 기록하여 임계치 이상의 읽기가 수행되기 전에 새로운 블록으로 데이터를 옮겨 쓰기 함으로써 해당 에러가 발생하지 않도록 선 조치한다. 낸드 플래시 메모리의 또 다른 주요 에러인 리텐션 에러(Retention Error)는 데이터가 프로그램 된 시간과 노출된 온도에 의해서 영향을 받는 정도가 달라지기 때문에 이를 추적하는 것이 복잡하다. 스토리지 디바이스는 전원이 공급되는 동안에는 리텐션 에러에 영향을 받은 정도가 임계치를 초과하지 못하도록 데이터가 쓰인 시간과 온도 변화를 추적하여 임계치를 초과하기 전에 새로운 블록으로 데이터를 옮겨 씀으로써 리텐션 에러에 선재 대응한다.
이러한 대부분의 낸드 플래시 메모리 에러는 요청된 낸드 플래시 메모리 연산이 수행될 당시에 파악되거나, 연산을 수행한 정도에 따라서 에러 발생 여부를 예측할 수 있다. 따라서, 전원이 공급되는 동안에 메모리 컨트롤러가 이를 추적하여 저장해 놓으면, 전원이 차단되었다가 다시 공급되더라도 그 저장된 정보를 활용할 수 있다. 이를 통해 지속적으로 에러에 선제 대응함으로써 QoS 저하를 최소화할 수 있는 기회를 얻는다.
그러나 리텐션 에러의 경우, 전원이 차단된 동안에는 에러 발생에 영향을 미치는 요소, 즉 프로그램 후 경과한 시간 및 노출 온도를 추적하지 못한다. 따라서, 전원이 차단되었다가 다시 켜진 디바이스에서는 리텐션 에러에 영향을 받은 정도를 파악하지 못하여 리텐션 에러에 선재 대응할 기회가 적고, 특히 리텐션 에러에 크게 영향을 받은 낸드 플래시 메모리 블록들은 데이터 읽기 시 컨트롤러가 복잡한 방법을 사용해서 복구해야 하므로 QoS가 상당히 저하될 수밖에 없는 문제가 있다.
본 발명은 상술한 종래기술의 문제점을 해결하기 위한 것으로, 본 발명의 일 측면은 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution)의 패턴 간 중심 거리를 매개변수화하여 낸드 플래시 메모리의 에러 소스(error source)를 특성화하는 낸드 플래시 메모리의 에러 특성화 방법을 제공하는 데 있다.
또한, 본 발명의 다른 측면은 상기 방법에 의해 특성화된 낸드 플래시 메모리의 에러 정보를 활용하는 기술을 제공하고자 하는 것이다.
본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법은 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution) 내 다수의 패턴 중 어느 하나의 패턴과 다른 하나의 패턴 사이의 중심 거리를 매개변수로 낸드 플래시 메모리의 에러 소스(error source)를 특성화한다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 특성화되는 상기 낸드 플래시 메모리의 에러 소스는, 리텐션(retention), 읽기 방해(read disturb) 및 교차온도(cross temperature) 중 적어도 어느 하나 이상일 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제3 프로그램 상태(P1 ~ P3)를 가지는 멀티 레벨 셀(MLC)인 경우, 상기 매개변수는, 상기 제1 프로그램 상태에 대응되는 제1 패턴과, 상기 제3 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고, 상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션일 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제7 프로그램 상태(P1 ~ P7)를 가지는 트리플 레벨 셀(TLC)인 경우, 상기 매개변수는, 상기 제3 프로그램 상태에 대응되는 제1 패턴과, 상기 제7 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고, 상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션일 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제15 프로그램 상태(P1 ~ P15)를 가지는 쿼드러플 레벨 셀(QLC)인 경우, 상기 매개변수는, 상기 제6 프로그램 상태에 대응되는 제1 패턴과, 상기 제15 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고, 상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션일 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제7 프로그램 상태(P1 ~ P7)를 가지는 트리플 레벨 셀(TLC)인 경우, 상기 매개변수는, 상기 제1 프로그램 상태에 대응되는 제1 패턴과, 상기 제2 내지 제4 프로그램 상태에 대응되는 패턴 중 어느 하나인 제2 패턴 사이의 중심 거리이고, 상기 낸드 플래시 메모리의 에러 소스는, 상기 읽기 방해일 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 낸드 플래시 메모리의 에러 소스에 대해, P/E(Program/Erase) cycle별로 상기 매개변수를 적용할 수 있다.
또한, 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 있어서, 상기 매개변수는, 상기 낸드 플래시 메모리 셀의 누적 개수를 기반으로 산출될 수 있다.
한편, 본 발명의 실시예에 따른 에러 추정 방법은 본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법에 의해 생성된 낸드 플래시 메모리의 에러 특성화 정보를 활용하여 메모리 시스템의 리텐션 에러(retention error)를 추정한다.
한편, 본 발명의 실시예에 따른 스토리지 디바이스 제어방법은 본 발명의 실시예에 따른 에러 추정 방법으로 추정된 리텐션 에러를 기반으로, 스토리지 디바이스가 제어될 수 있다.
본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다.
이에 앞서 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이고 사전적인 의미로 해석되어서는 아니되며, 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
본 발명에 따르면, 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution)의 패턴 간 중심 거리를 매개변수화하여 낸드 플래시 메모리의 에러 소스(error source)를 특성화함으로써, 에러에 대한 선제적 대응의 기회를 제공하고, QoS의 저하를 방지할 수 있다.
특히, 전원이 차단된 동안에도 에러를 가속화하는 요소가 존재하지만 용이하게 추적할 수 없는 리텐션 에러(retention error)에 대해서 전원이 재공급된 이후에도 영향을 받은 정도를 판별할 수 있어 스토리지 디바이스로 하여금 리텐션 에러에 선제 대응할 수 있도록 할 수 있다.
도 1은 스토리지 디바이스의 구성도이다.
도 2는 스토리지 디바이스의 프로그램 과정을 도시한 순서도이다.
도 3은 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 4는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 5는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(MLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 6은 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(QLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 7은 NAND PAGE size가 18KByte인 경우 본 발명의 다른 실시예에 따른 매개변수를 산출하는 내용을 설명하는 도면이다.
도 8은 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 횟수(read count)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 9는 실험예에 따른 각 읽기 횟수(read count)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 10은 실험예에 따른 각 P/E(Program/Erase) cycle별 리텐션 일수(retention day)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 11은 실험예에 따른 각 리텐션 일수(retention day)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 12는 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(프로그램 온도 고정).
도 13은 실험예에 따른 각 P/E(Program/Erase) cycle별 프로그램 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(읽기 온도 고정).
도 2는 스토리지 디바이스의 프로그램 과정을 도시한 순서도이다.
도 3은 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 4는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 5는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(MLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 6은 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(QLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 7은 NAND PAGE size가 18KByte인 경우 본 발명의 다른 실시예에 따른 매개변수를 산출하는 내용을 설명하는 도면이다.
도 8은 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 횟수(read count)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 9는 실험예에 따른 각 읽기 횟수(read count)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 10은 실험예에 따른 각 P/E(Program/Erase) cycle별 리텐션 일수(retention day)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 11은 실험예에 따른 각 리텐션 일수(retention day)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다.
도 12는 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(프로그램 온도 고정).
도 13은 실험예에 따른 각 P/E(Program/Erase) cycle별 프로그램 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(읽기 온도 고정).
본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시예들로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 상기 용어들에 의해 제한되는 것은 아니다. 이하, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있는 관련된 공지 기술에 대한 상세한 설명은 생략한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시형태를 상세히 설명하기로 한다.
도 1은 스토리지 디바이스의 구성도이고, 도 2는 스토리지 디바이스의 프로그램 과정을 도시한 순서도이며, 도 3은 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다. 도 4는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이고, 도 5는 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(MLC)의 문턱 전압 산포(threshold voltage distribution)이며, 도 6은 본 발명의 실시예에 따른 매개변수를 설명하는 낸드 플래시 메모리 셀(QLC)의 문턱 전압 산포(threshold voltage distribution)이다.
본 발명의 실시예에 따른 낸드 플래시 메모리의 에러 특성화 방법은 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution) 내 다수의 패턴 중 어느 하나의 패턴과 다른 하나의 패턴 사이의 중심 거리를 매개변수로 낸드 플래시 메모리의 에러 소스(error source)를 특성화한다.
본 발명은 낸드 플래시 메모리의 에러 특성을 파악하여 신규의 매개변수로 특성화하고 이를 활용하는 기술에 관한 것이다. SSD(Solid State Drive)와 같은 스토리지 디바이스, 특히 기업용 SSD에서는 QoS를 극대화하는 것이 제품경쟁력에 매우 중요한데, 낸드 플래시 메모리 에러들이 스토리지 디바이스의 QoS 저하의 주요원인이 되고 있는바, 낸드 플래시 메모리의 여러 에러 특성을 이해하고 에러가 발생되기 전에 선제적으로 대응하는 것이 중요하다. 대부분의 낸드 플래시 메모리 에러는 요청된 낸드 플래시 메모리 연산이 수행될 당시에 파악되거나, 연산을 수행한 정도에 따라서 에러 발생 여부를 예측할 수 있다. 그러나 리텐션 에러(retention error)의 경우, 전원이 차단된 동안에는 에러 발생에 영향을 미치는 요소, 즉 프로그램 후 경과한 시간 및 노출 온도를 추적하지 못하기 때문에, 그 에러에 대한 선제적 대응의 기회가 적고, 특히 리텐션 에러에 크게 영향을 받은 낸드 플래시 메모리 블록들은 데이터 읽기 시 복잡한 복구 방법을 사용해야 하므로 QoS가 상당히 저하될 수밖에 없는 문제가 있는바, 이에 대한 해결방안으로서 본 발명이 안출되었다.
도 1을 참고로, 스토리지 디바이스(100)는 메모리 컨트롤러(110) 및 메모리 장치(120)를 포함한다. 이러한 스토리지 다바이스(100)는 스마트 폰, 디지털 카메라, 블랙박스, 네비게이션 장치 등과 같은 다양한 컴퓨팅 시스템에 사용될 수 있다. 여기서, 메모리 컨트롤러(110) 및 메모리 장치(120)는 하나의 칩이나 패키지 또는 모듈 등으로 제공될 수 있으나, 반드시 이에 제한되는 것은 아니다.
메모리 컨트롤러(110)는 인터페이스를 통해 호스트(200)로부터 데이터 동작 요청 및 어드레스를 수신하고, 호스트(200)와 데이터를 주고받을 수 있다. 또한, 메모리 컨트롤러(110)는 호스트(200)의 요청에 응답하여 메모리 장치(120)에 대한 데이터 읽기, 쓰기, 소거 동작을 제어할 수 있다.
메모리 장치(120)는 적어도 하나의 메모리 셀 어레이(121)를 포함할 수 있다. 메모리 셀 어레이(121)는 다수의 워드라인과 비트라인들이 교차하는 영역들에 다수의 메모리 셀들이 포함할 수 있고, 그 메모리 셀은 비휘발성 메모리 셀로서, 2비트의 데이터를 저장하는 2비트 멀티 레벨 셀(MLC), 3비트의 데이터를 저장하는 트리플 레벨 셀(TLC), 4비트의 데이터를 저장하는 쿼드러플 레벨 셀(QLC), 또는 그 이상의 비트 데이터를 저장하는 멀티 레벨 셀일 수 있다. 여기서, 다수의 비휘발성 메모리 셀 모두가 반드시 MLC, TLC, QLC 중 어느 하나이어야 하는 것은 아니고, 일부는 MLC이고 다른 일부는 TLC 등과 같이 그 각각이 상이하여도 무방하다. 이러한 메모리 장치(120)는 낸드 플래시 메모리(NAND Flash memory)를 포함할 수 있다.
도 2 내지 도 3을 참고로, 위의 스토리지 디바이스의 프로그램 과정을 살펴보면, 호스트의 쓰기 요청에 대응하여 메모리 컨트롤러는 프로그램할 데이터를 낸드 플래시 메모리의 최소 프로그램 단위인 워드라인 단위로 결정한다. 다음, 메모리 컨트롤러는 프로그램할 데이터를 워드라인 단위로 랜더마이징(randomizing)한다. 여기서, 하나의 워드라인에 연결된 메모리 셀들이 동일한 비율의 프로그램 상태를 갖도록 데이터를 처리한다. 예를 들어, 하나의 워드라인에 연결된 메모리 셀들이 각각 3비트의 데이터를 저장하는 TLC의 경우, 메모리 셀들 각각이 소거 상태(ER), 제1 내지 제7 프로그램 상태(P1 ~ P7)들 중 어느 하나의 상태를 가지도록 데이터를 렌더마이징할 수 있다. 이후에 메모리 컨트롤러는 프로그램할 데이터를 낸드 플래시 메모리 칩에 전달하고, 낸드 플래시 메모리 칩은 각 메모리 셀이 의도한 문턱 전압(threshold voltage, Vth)으로 설정될 때까지 전압 펄스(volatge pulse, VPulse)를 적용하여 전자를 주입한다. 이에 따라, TLC의 경우, 프로그램된 워드라인의 문턱 전압 산포(threshold voltage distribution)는 문턱 전압 증가 순서로 소거 상태에서부터 제7 프로그램 상태까지(ER ~ P7)에 대응되는 8개의 패턴으로 이루어진다. 메모리 셀들의 문턱 전압 산포의 가로축은 문턱 전압을, 세로축은 메모리 셀들의 개수를 각각 나타내고, 소거 상태에서 제7 프로그램 상태로 갈수록 더 많은 전자가 주입된 상태이다.
본 발명은 이러한 낸드 플래시 메모리 셀의 문턱 전압 산포 내 다수의 패턴 중 어느 하나의 패턴과 다른 하나의 패턴 사이의 중심 거리를 매개변수로 활용하여 낸드 플래시 메모리의 에러 소스를 특성화한다. 여기서, 에러 소스는 낸드 플래시 메모리의 에러를 유발하는 리텐션(retention), 읽기 방해(read disturb) 및 교차온도(cross temperature) 중 적어도 어느 하나 이상일 수 있다.
리텐션 에러는 이미 기록된 메모리 셀의 전하가 조금씩 줄어들어 저장된 데이터의 오류를 유발한다. 이러한 리텐션 에러는 프로그램 후 경과된 시간, 즉 리텐션 타임(retention time) 및 노출 온도에 영향을 받는다. 리텐션 에러는 문턱 전압의 감소를 유발하므로, 문턱 전압 산포에서 그 패턴이 왼쪽, 즉 소거 상태쪽으로 이동하는 형태를 보이게 된다.
읽기 방해 에러는 플래시 메모리를 읽는 과정에서 셀과 동일 블록 내에 위치한 인접 셀들이 전압의 영향을 받아 문턱 전압에 변화가 발생하는 것을 말한다. 이러한 읽기 방해는 프로그램된 데이터에 대한 읽기 횟수에 따라서 영향을 받는 정도가 심해진다.
메모리 셀에 프로그램되었던 온도와 읽기 동작을 수행하는 동작 온도 간에 차이가 있는 경우, 문턱 전압에 변화가 발생할 수 있으므로, 교차온도에 의해서도 플래시 메모리에 에러가 유발될 수 있다.
본 발명은 이러한 낸드 플래시 메모리 에러 소스를 특성화하기 위해 신규한 매개변수를 사용한다. 본 발명에 따른 매개변수는 메모리 셀의 문턱 전압 산포의 패턴 간 중심 거리로 정해진다. 여기서, 중심 거리는 문턱 전압 산포 내 다수의 패턴 중 어느 하나의 패턴의 중심과 다른 하나의 패턴의 중심 사이의 거리를 말한다.
TLC의 문턱 전압 산포를 나타내는 도 4에서, 소거 상태(ER)와 제1 프로그램 상태(P1)에 각각 대응하는 2개의 패턴 간 중심 거리는 "MD ER-P1"으로, 제1 프로그램 상태(P1)와 제1 프로그램 상태(P2)에 각각 대응하는 2개의 패턴 간 중심 거리는 "MD P1-P2" 등으로 표기하였다. 낸드 플래시 메모리 셀이 이러한 TLC인 경우에, 본 발명에 따른 매개변수는 제3 프로그램 상태(P3)에 대응되는 제1 패턴과, 제7 프로그램 상태(P7)에 대응하는 제2 패턴 사이의 중심 거리(MD P3-P7)일 수 있고, 에러 소스는 리텐션일 수 있다. 다만, 그 매개변수가 반드시 위에 한정되는 것은 아니고, 다른 예로 제4 프로그램 상태(P4)에 대응되는 제1 패턴과, 제7 프로그램 상태(P7)에 대응하는 제2 패턴 사이의 중심 거리(MD P4-P7)일 수도 있다.
한편, 도 5를 참고로, 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제3 프로그램 상태(P1 ~ P3)를 가지는 멀티 레벨 셀(MLC)인 경우에, 본 발명에 따른 매개변수는 제1 프로그램 상태(P1)에 대응되는 제1 패턴과, 제3 프로그램 상태(P3)에 대응하는 제2 패턴 사이의 중심 거리(MD P1-P3)일 수 있고, 에러 소스는 리텐션일 수 있다. 다만, 그 매개변수가 반드시 위에 한정되는 것은 아니고, 다른 예로 제2 프로그램 상태(P2)에 대응되는 제1 패턴과, 제3 프로그램 상태(P3)에 대응하는 제2 패턴 사이의 중심 거리(MD P2-P3)일 수도 있다.
한편, 도 6을 참고로, 낸드 플래시 메모리 셀이, 문턱 전압 증가 순서로 소거 상태(ER) 및 제1 내지 제15 프로그램 상태(P1 ~ P15)를 가지는 쿼드러플 레벨 셀(QLC)인 경우에, 본 발명에 따른 매개변수는 제6 프로그램 상태(P6)에 대응되는 제1 패턴과, 제15 프로그램 상태(P15)에 대응하는 제2 패턴 사이의 중심 거리(MD P6-P15)일 수 있고, 에러 소스는 리텐션일 수 있다. 다만, 그 매개변수가 반드시 위에 한정되는 것은 아니고, 다른 예로 제7 프로그램 상태(P7)에 대응되는 제1 패턴과, 제15 프로그램 상태(P15)에 대응하는 제2 패턴 사이의 중심 거리(MD P7-P15)일 수도 있다.
리텐션 에러의 경우, 문턱 전압 산포의 패턴이 왼쪽으로 이동하는 형태를 보인다. 이는 높은 문턱 전압을 가지는 셀에서 발생하기 때문에, MLC의 경우에는 제3 프로그램 상태(P3)에 대응되는 패턴에서, TLC의 경우에는 제7 프로그램 상태(P7)에 대응되는 패턴에서, QLC의 경우에는 제15 프로그램 상태(P15)에 대응되는 패턴에서 그 이동이 심하게 나타난다. 이에 본 발명은 리텐션 시간에 따라 그 변화가 상대적으로 뚜렷한 문턱 전압 산포의 패턴 간 중심 거리를 매개변수화하여, 낸드 플래시 메모리가 리텐션 에러에 영향을 받은 정도를 특성화한다.
이러한 문턱 전압 산포의 패턴 간 중심 거리를 매개변수로 리텐션 에러를 특성화하는 경우, 리텐션 기간에 따라 그 중심 거리 값을 정한다. 여기서, 리텐션 에러는 P/E(Program/Erase) cycle에 영향을 받으므로, 각각의 P/E cycle별로, 리텐션 기간에 따라 그 중심 거리 값을 정할 수 있다.
한편, 읽기 방해 에러의 경우에는 문턱 전압 산포의 소거 상태(ER) 및 제1 프로그램 상태(P1)에 대응되는 패턴에 영향을 미친다. 이에 본 발명은 MLC의 경우에는 제1 프로그램 상태(P1)에 대응되는 제1 패턴과 제2 프로그램 상태(P2)에 대응되는 제2 패턴 사이의 중심 거리를 매개변수로 읽기 방해를 특성화할 수 있다. 또한, TLC의 경우에는 제1 프로그램 상태(P1)에 대응되는 제1 패턴과, 제2 프로그램 내지 제4 프로그램 상태(P2 ~ P4)에 대응되는 패턴 중 어느 하나인 제2 패턴 사이의 중심 거리를, QLC의 경우에는 제1 프로그램 상태(P1)에 대응되는 제1 패턴과, 제2 프로그램 내지 제7 프로그램 상태(P2 ~ P7) 중 어느 하나에 대응되는 제2 패턴 사이의 중심 거리를 매개변수로 읽기 방해를 특성화할 수 있다.
이러한 문턱 전압 산포의 패턴 간 중심 거리를 매개변수로 읽기 방해 에러를 특성화하는 경우, 읽기 횟수에 따라 그 중심 거리 값이 정해진다. 여기서, 읽기 방해 에러도 P/E cycle에 영향을 받으므로, 각각의 P/E cycle별로, 읽기 횟수에 따라 그 중심 거리 값을 정할 수 있다.
또한, 교차온도도 문턱 전압 산포의 패턴의 이동을 유발하므로, 문턱 전압 산포의 패턴 간 중심 거리를 매개변수로, 낸드 플래시 메모리가 교차온도에 영향을 받은 정도를 나타낼 수 있다. 여기서, 프로그램 온도와 읽기 온도에 따라 그 중심 거리 값을 정할 수 있다. 이때, 위와 마찬가지로 P/E cycle별로 프로그램 온도와 읽기 온도에 따라 그 중심 거리 값을 정할 수 있다.
여기서, 중심 거리 값을 결정하는 방법은 여러 가지가 있을 수 있다. 일 실시예로, 문턱 전압 산포에서 매개변수화되는 각 패턴의 중심에 해당하는 바이어스 전압(bias voltage)를 정하고, 그 차이로 중심 거리 값을 결정할 수 있다.
다른 실시예로, SSD와 같은 상용 스토리지 디바이스의 동작 중에 문턱 전압 산포를 통해 중심 거리 값을 구하는데 한계가 있으므로, 낸드 플래시 메모리의 셀의 누적 개수를 기반으로 중심 거리 값을 결정할 수도 있다. 프로그램된 데이터는 각 패턴이 균일한 셀 개수를 가지고 있기 때문에, 각 패턴의 중심에 해당하는 바이어스를 구할 수 있다. 예를 들어, 제N 프로그램 상태(N은 1 이상의 자연수)에 대응되는 패턴의 경우에, (어느 하나의 패턴의 셀 개수×N)+(어느 하나의 패턴의 셀 개수×1/2) 값이 그 패턴의 중심에 해당하는 바이어스 값이 된다. 도 7은 NAND PAGE size가 18KByte인 경우 본 발명의 다른 실시예에 따른 매개변수를 산출하는 내용을 설명하는 도면으로, 도 7을 참고로 보다 상세하게 설명하면, 제3 프로그램 상태(P3)에 대응하는 패턴의 중심은 18K×3+18K/2=63K로, 제7 프로그램 상태(P7)에 대응하는 패턴의 중심은 18K×7+18K/2=135K로 정해지고, 그 차이를 중심 거리 값으로 결정할 수 있다. 이렇게 셀의 누적 개수를 기반으로 중심 거리 값을 설정하는 것이 문턱 전압 산포의 패턴을 기반으로 하는 것보다 프로세싱 오버헤드가 적다. 또한, 읽기 방해, 리텐션, 교차온도의 영향을 받아 문턱 전압 산포의 형태가 변형되어 그 형태만으로 패턴의 중심을 판단하기 어려운 경우에도 중심 거리를 보다 용이하게 결정할 수 있다.
위의 방식으로, 소정의 낸드 플래시 메모리의 에러를 특성화한 경우에, 낸드 플래시 메모리의 주요 에러 소스는 변하지 않기 때문에, 해당 낸드 플래시 메모리뿐만 아니라 다른 낸드 플래시 메모리에 대해서도 그 에러 특성화 정보를 활용할 수 있다.
일례로, 스토리지 디바이스에 전원이 차단되었다가 다시 공급된 경우에, 프로그램된 플래시 메모리의 블록에 대해, 에러 특성화에 사용된 매개변수 값을 구하고, P/E cycle을 획득한 다음에, 에러 특성화 정보에 각각의 값을 매칭함으로써, 리텐션 기간을 파악하여, 플래시 메모리가 리텐션 에러에 영향을 받은 정도를 추정할 수 있다. 스토리지 디바이스에 전원이 공급되지 않는 동안에도 플래시 메모리의 프로그램밍된 블록에 리텐션 에러가 영향을 미치지만, 기존에는 그 에러에 영향을 미치는 요소, 즉 프로그램 이후 경과한 시간 및 노출 온도를 추적할 수 없었다. 그러나 본 발명에 따라 리텐션 에러를 특성화하는 경우, 전원이 차단되었다가 다시 공급되었을 때에, 특성화된 에러 정보를 활용하여, 리텐션 에러에 영향을 받은 정도를 추정할 수 있다. 일 실시예로, 스토리지 시스템은 전원이 공급되는 동안에는 프로그램한 시간과 노출 온도를 추적하여 리텐션 에러를 추정하고 기록하며, 전원이 차단되었다가 재공급되었을 때에 마지막으로 프로그램한 블록이 리텐션 에러에 영향을 받은 정도를 에러 특성화 정보를 통해 추정하고, 전원이 공급된 동안의 리텐션 에러에 영향을 받은 정도를 차감하여 전원이 차단된 동안 영향을 미친 리텐션 에러를 추정할 수 있다. 이를 전 블록에 대해, 기록된 전원이 차단되기 전 영향을 받은 리텐션 에러에 가산하여 전체 블록의 리텐션 에러에 영향을 받은 정도를 추적할 수 있다.
또한, 에러 특성화 정보가 P/E cycle별 리텐션이 가속화되는 정도를 수치화하고 있으므로, P/E cycle별로 리텐션에 차별화된 정책을 내지 임계값을 정하는데 활용할 수 있다.
한편, 스토리지 디바이스는 추정된 리텐션 에러를 기반으로 동작이 제어될 수 있다. 스토리지 디바이스는 위와 같이 전원이 차단되었다가 공급되었을 때에 리텐션 에러를 추정하고, 이를 기반으로 선제적으로 QoS를 개선할 수 있다.
스토리지 디바이스는 전원이 차단되었다가 공급되었을 때에 리텐션 에러를 추정하고, 그 추정 값이 임계값을 초과한 블록을 새로운 블록으로 옮겨 쓸 수 있다(refresh). 또한, 전원이 차단되었다가 공급된 이후에 리텐션 에러를 영향을 받은 정도를 추정하여 적합한 읽기 바이어스(read bias)를 사용하여 읽기 동작을 수행할 수 있다. 또한, 전원이 차단되었다가 공급된 이후에 리텐션 에러를 영향을 받은 정도를 추정하여, 영향을 받은 정도가 크면 하드 디코딩(Hard Decoding) 없이 즉시 소프트 디코딩(Soft Decoding)을 수행할 수 있다. 또한, 리텐션 에러를 영향을 받은 정도를 추정하여 읽기 재시도(read retry) 시 적용할 최적의 읽기 바이어스를 정할 수 있다. 나아가, 스토리지 디바이스는 BER이 높거나 UECC가 발생한 블록을 grown-bad block으로 등록하여 격리시키 전에 리텐션 에러에 의한 것인지 판별하기 위해서, 리텐션 에러에 영향을 받은 것인지 추정하고 grown-bad block으로 오판하지 않도록 활용할 수 있다.
이하에서는 구체적인 실험예를 통해 본 발명을 보다 상세하게 설명한다.
1. 특성화 과정
1.1. 특성화 과정 일반
본 실험예에 사용된 낸드 플래시 메모리는 메이저 낸드 플래시 메모리 제조업체의 Enterprise용 128 Layer 3D TLC 낸드 플래시 메모리로, P/E Cycle 한계는 TLC Mode에서 11K로, 허용된 최대 Read Count는 1M로 기술되어 있다. 본 실험예는 최신의 ASIC 기반의 상용 SSD에서 수행되었다. 각 에러 특성을 P/E Cycle에 따라서 확인하기 위해서 P/E Cycle 1K 별로 SSD 1대를 사용하여 실험을 하였다. 낸드 플래시 메모리에 기술된 Endurance Spec보다 2K margin을 두어 0K 부터 13K까지 1K 간격으로 총 14대의 SSD를 사용하였다. 각 특성화 과정별로 수행 시간의 차이로 인해서 사용된 샘플 블록(Sample Block)의 수는 다르며, 이에 대해서는 아래의 각 특성화 과정에서 기술한다. 한 블록에서 소수의 워드라인(words line, WL)만 샘플링(sampling)하여 문턱 전압 산포(Vth distribution)을 그리기 위해서, 가해지는 추가 읽기 방해(read disturb) 영향을 합리적인 선으로 유지하였다. P/E cycle을 증가하는 과정은 "JESD22-A117" 기술된 "Intentional delays between cycles"를 준수하고, 실온(room temperature)에서 수행하였다.
1.2. 읽기 방해 에러 특성화 과정
읽기 방해 특성화에서는 각 P/E Cycle 별 256 샘플 블록을 사용하고, 실온에서 수행하였다. 블록 내의 모든 워드라인을 골고루 읽기하여 블록의 누적 읽기 횟수(read count)가 0.1M회 증가할 때마다 문턱 전압 산포를 그렸다. 이를 20회 반복하여 2M까지 읽기 동작을 수행했다.
1.3. 리테션 에러 특성화 과정
리텐션 에러 특성화는 각 P/E Cycle 별 6400 샘플 블록을 사용하였고, Enterprise SSD가 만족시켜야 되는 JEDEC의 요구사항인 "JESD218B"에 기술된 "Application Classes" 중 Enterprise 기준으로 진행되었다. Active Use는 Power On 되어 있는 동안 Ambient 55℃ 1일 24시간 종일 Power가 공급되어 있는 것을 의미하며, Retention Use는 Power가 공급되지 않은 상태로 40℃ 로 유지되는 것을 의미한다. Enterprise SSD의 경우 Power Off 상태로 40℃ 혹은 그 미만에서 보관되면, 프로그램된 데이터가 3 개월까지는 UBER 10-16을 보장하도록 JEDEC에서 요구한다. 여기에서는 리텐션 상황을 가속화하기 위해서 "JESD218B"에 기술된 "Calculations of Temperature-Accelerated Stress Times"를 적용하여 가속화가 필요한 구간에 적용하였다.
리텐션 에러 특성화는 데이터를 프로그램한지 0 ~ 14일까지는 Active Use상태로 유지하였다. 이 중 0 ~ 7일은 실시간으로 ambient 55℃에서 1일 1회씩 각 블록의 문턱 전압 산포를 추출하였다. 7 ~ 14일은 Accelerated Stress Times을 적용하여 베이킹(baking) 하였고, 문턱 전압 산포는 4일차에 ambient 55℃에서 1회 추출하였다. 14일에서 5개월까지 Retention Power Use 조건이며 "Accelerated Stress Time"을 적용하여 실험되었고 3/3.5/4/5개월 기준으로 1회씩 문턱 전압 산포를 추출하였다. 그 내용은 아래 [표 1]에 요약하였다.
[표 1]
1.4. 교차온도 특성화 과정
교차온도 특성화에서는 각 P/E Cycle당 640 샘플 블록을 사용하였다. 교차온도는 주변 온도(Ambient Temperature)가 아니라 낸드 플래시 칩의 온도에 영향을 받기 때문에 낸드 플래시 칩의 온도를 변화시키면서 진행하였다. 낸드 플래시 칩의 온도를 정교하게 제어하기 위해서 낸드 플래시 칩이 제공하는 온도를 모니터링하면서, 기준 온도보다 낮아지게 되면 샘플 블록을 제외하고 임의 블록을 선정하여 NAND IO를 수행시켜 기준 온도에 도달하게 하고, 기준 온도보다 높으면 외부 팬을 동작시켜 온도를 낮추는 방식으로 컨트롤하였다. 하기 [표 2]와 같이 프로그램 온도는 35℃ ~ 75℃까지 5℃ 단위로 제어하였고, 해당 온도에서 P/E를 수행한 후 읽기 온도를 [표 2]와 같이 35℃ ~ 75℃까지 5℃ 단위로 제어하면서 문턱 전압 산포를 추출하였다. 해당 과정에서는 리텐션이 발생하지 않도록 프로그램 이후 수분 내에 문턱 전압 산포를 그렸다.
[표 2]
2. 특성화 결과
2.1. 읽기 방해 에러 특성화 결과
읽기 방해는 프로그램된 데이터의 읽기 횟수에 따라서 영향을 받는 정도가 심해진다. 낸드 플래시 메모리의 읽기 동작 과정에서, 블록 내 1 페이지 읽기 시 읽기의 대상 워드라인에는 읽기 기준 전압(Read reference voltage, VRef)이 인가되고, 읽기 대상이 아닌 나머지 워드라인에는 패스 트롯 전압(Pass-through voltage, VPass)이 인가되는데, VPass는 무시할 수 있을 정도로 약한 전압이 아니기 때문에 일부 메모리 셀들에서 프로그램을 위한 전압 펄스(Voltage Pulse, VPulse)가 공급되는 것과 마찬가지의 효과가 발생한다.
도 8은 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 횟수(read count)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)로, 실제 낸드 플래시 메모리의 P/E Cycle 0K, 3K, 5K, 10K, 13K에서 읽기 횟수를 증가시키면서 문턱 전압 산포를 그린 것이다. 각 P/E Cycle에서 특히 소거 상태(ER)에 대응되는 패턴이, 읽기 횟수가 증가하면서 오른쪽으로 이동하는 것을 볼 수 있다. 이는 소거 상태(ER), 및 제1 프로그램 상태(P1)의 셀들이 VPass로 인해서 프로그램되는 효과를 받았기 때문이다. 소거 상태(ER) 패턴으로부터 거리가 먼 패턴들은 변화가 거의 없거나 왼쪽으로 이동한 것을 볼 수 있다. 이는 읽기 방해에 의해서는 소거 상태(ER), 제1 프로그램 상태(P1)보다 더 전위가 높은 쪽으로는 프로그램되지 않기 때문이며, 왼쪽으로 이동하는 것은 읽기 방해 동안 시간이 흘러서 리텐션 에러의 영향을 받은 것이다.
도 9는 실험예에 따른 각 읽기 횟수(read count)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다. 이를 참고로, 동일한 읽기 동작을 수행했음에도 P/E cycle이 높을수록 소거 상태(ER) 및 제1 프로그램 상태(P1)에 대응되는 패턴이 읽기 방해에 영향을 더 많이 받는 것을 알 수 있다. 이는 P/E Cycle이 증가할수록 더 낸드 플래시 메모리의 전자를 가두는 능력이 떨어져서 더 쉽게 프로그램되기 때문이다.
2.2. 리텐션 에러 특성화 결과
리텐션 에러는 프로그램 이후 경과한 시간 정도와 노출된 온도에 따라서 프로그램된 셀의 전하가 빠져나가는 에러이다. 이로 인해서 문턱 전압 산포에서 패턴이 왼쪽으로 이동하는 형태를 보인다. 3D 낸드 플래시 메모리에서 이는 높은 문턱 전압을 갖는 셀에서 발생하기 때문에 제7 프로그램 상태(P7)부터 그 정도가 심해진다.
도 10은 실험예에 따른 각 P/E(Program/Erase) cycle별 리텐션 일수(retention day)에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다. 여기서, 리텐션은 리텐션 조건(Retention Condition)을 따른 프로그램 이후 경과한 일 수(day)이다. 도 10을 참고로, 소거 상태(ER) 패턴 부분이 오른쪽으로 이동하는 것을 알 수 있는데, 이는 리텐션에 의한 것이 아니라 문턱 전압 산포를 그리기 위해 수행된 읽기에 의한 읽기 방해에 영향을 받은 것이다. 또한, 리텐션이 클수록 제3 내지 제7 프로그램 상태(P3 ~ P7) 패턴까지 왼쪽으로 이동하고 그 정도는 제7 프로그램 상태(P7) 패턴이 가장 크고, 좌측 패턴으로 갈수록 점점 그 정도가 약해짐을 알 수 있다.
도 11은 실험예에 따른 각 리텐션 일수(retention day)별 P/E(Program/Erase) cycle에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다. 도 11을 참고로, 동일한 리텐션에 영향을 받았더라도 P/E Cycle이 클수록 영향을 받은 정도가 더 커짐을 알 수 있다. 이는 P/E cycle이 클수록 전자를 보관하는 능력이 떨어지기 때문이다.
2.3. 교차온도 특성화 결과
도 12는 실험예에 따른 각 P/E(Program/Erase) cycle별 읽기 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(프로그램 온도 고정). 도 12를 참고로, P/E cycle에 상관없이 동일한 온도에서 프로그램된 워드라인을 읽는 온도가 올라갈수록 문턱 전압 산포의 모든 패턴이 왼쪽으로 이동하는 것을 알 수 있다.
도 13은 실험예에 따른 각 P/E(Program/Erase) cycle별 프로그램 온도에 따른 낸드 플래시 메모리 셀(TLC)의 문턱 전압 산포(threshold voltage distribution)이다(읽기 온도 고정). 도 13을 참고로, P/E Cycle에 상관없이 프로그램 온도가 높을수록 모든 패턴의 산포가 오른쪽으로 이동함을 알 수 있다.
도 12 및 도 13을 통해서 알 수 있듯이, 교차온도는 문턱 전압 산포의 일부 패턴에만 영향을 주는 것은 아니고, 산포 전체가 온도 변화에 따라서 좌/우로 이동한다는 것을 알게 되었다.
3. 에러 추정
본 실험예에서는 문턱 전압 산포의 패턴 간 중심 거리를 매개변수로 사용하는 전술한 방법에 따라, 제3 프로그램 상태(P3)에서 제7 프로그램 상태(P7)에 대응되는 패턴 간 중심 거리, MD P3-P7으로 매개변수화였다. 매개변수는 다양한 패턴 구간에서 적용 가능하지만, 리텐션 에러를 추정한 결과가 가장 정확했던 MD P3-P7을 적용하였다.
본 실험예에서는 각 에러 타입별로 MD P3-P7을 구하여 매개변수화하였다. 그 값은 본 실험예에 사용된 128 Layer 3D 낸드 플래시 메모리의 문턱 전압 산포를 틱(tick) 단위로 표현한 값이다. 낸드 플래시 메모리 제조사와 그 제품에 따라서 그 값은 다를 수 있지만, 전술한 특성화 과정을 동일하게 수행하면 낸드 플래시 메모리 제품별로 매개변수화가 가능하다. 3D 또는 4D 낸드 플래시의 주요 에러 소스는 변하지 않기 때문에 본 발명을 다른 낸드 플래시 메모리에 적용하여 사용할 수 있다.
하기 [표 3]과 같이, 리텐션 MD P3-P7 매개변수를 사용하여 낸드 플래시 메모리 블록이 프로그램된 시간과 노출된 온도를 추적하지 않고 리텐션에 영향을 받은 정도를 파악할 수 있다. 전원이 차단되었다가 다시 공급되어도 프로그램된 블록의 MD P3-P7을 구하고, P/E Cycle을 파악하여 이 값을 [표 3]에서 찾음으로써 리텐션 에러의 정도를 파악할 수 있다. [표 3]에는 각 P/E cycle 별로 리텐션 기간(retention day)에 따른 MD P3-P7 값이 기술되어 있다. 낸드 플래시 메모리의 다른 주요 에러 소스들은 MD P3-P7에 영향을 주지 않기 때문에, 리텐션 에러는 이러한 방법을 사용하여 추정할 수 있다.
[표 3]
교차온도는 특성화 결과에서 보였듯이 프로그램 온도와 읽기 온도에 따라서 각 셀의 문턱 전압을 변화시키고 결과적으로 문턱 전압 산포를 좌/우로 이동시킨다. 그러나 교차온도가 문턱 전압 산포에 영향을 주더라도 MD P3-P7에 영향을 주지 않는다는 것을 하기 [표 4]에서 확인할 수 있다. [표 4]를 참고로, P/E cycle 0K ~ 13K, 프로그램 온도 35 ~ 75℃, 읽기 온도를 35 ~ 75℃로 변화하면서 측정한 MD P3-P7가 매개변수화되어 있고 최대 1 tick 내에서 변함을 알 수 있다.
[표 4]
읽기 방해는 MD P3-P7 매개변수로 하기 [표 5]에 특성화하였다. 읽기 방해에서 MD P3-P7의 중심 거리가 점점 좁혀지는 이유는 읽기 방해에 의해서가 아니라 읽기 방해 동안에 영향을 받은 리텐션 때문이다. 읽기 횟수가 2.0 M에 도달할 때까지 실제 1일에 미치지 못하는 시간이 걸렸으며, MD P3-P7은 모든 P/E cycle을 고려해서도 170 -> 166까지 좁혀 졌지만, 리텐션 1일(Retention 1day)에서 모든 P/E cycle을 고려해서도 최소 170 -> 165로 좁혀졌기 때문에 이로 인해서 리텐션을 오판하진 않음을 알 수 있다.
이상 본 발명을 구체적인 실시예를 통하여 상세히 설명하였으나, 이는 본 발명을 구체적으로 설명하기 위한 것으로, 본 발명은 이에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야의 통상의 지식을 가진 자에 의해 그 변형이나 개량이 가능함이 명백하다.
본 발명의 단순한 변형 내지 변경은 모두 본 발명의 영역에 속한 것으로 본 발명의 구체적인 보호 범위는 첨부된 특허청구범위에 의하여 명확해질 것이다.
100: 스토리지 디바이스 110: 메모리 컨트롤러
120: 메모리 장치 121: 메모리 셀 어레이
120: 메모리 장치 121: 메모리 셀 어레이
Claims (10)
- 컴퓨팅 장치에 의해 수행되는 낸드 플래시 메모리의 에러 특성화 방법에 있어서,
(a) 낸드 플래시 메모리 셀의 문턱 전압 산포(threshold voltage distribution) 내 다수의 패턴 중 어느 하나의 패턴과 다른 하나의 패턴 사이의 중심 거리를 매개변수로 설정하는 단계; 및
(b) 상기 매개변수를 적용하여, P/E 싸이클(cycle)별로 상기 중심 거리 값을 획득함으로써, 상기 낸드 플래시 메모리의 에러 소스(error source)를 특성화하는 단계;를 포함하되,
다수의 상기 패턴은 프로그램된 워드라인의 문턱 전압 증가 순서에 따른 소거 상태(ER) 및 제1 내지 제N(N은 3이상의 자연수) 프로그램 상태에 각각 대응되고,
상기 (b) 단계에서,
상기 낸드 플래시 메모리의 에러 소스는, 리텐션(retention), 읽기 방해(read disturb) 및 교차온도(cross temperature) 중 적어도 어느 하나 이상이며,
상기 에러 소스가 상기 리텐션인 경우, 상기 P/E 싸이클(Program/Erase cycle)별, 리텐션 기간에 따른 제1 중심 거리 값을 획득하여 정보화하고,
상기 에러 소스가 상기 읽기 방해인 경우, 상기 P/E 싸이클별, 읽기 횟수에 따른 제2 중심 거리 값을 획득하여 정보화하며,
상기 에러 소스가 상기 교차온도인 경우, 상기 P/E 싸이클별, 프로그램 온도와 읽기 온도에 따른 제3 중심 거리 값을 획득하여 정보화하는 낸드 플래시 메모리의 에러 특성화 방법.
- 삭제
- 청구항 1에 있어서,
상기 낸드 플래시 메모리 셀이, 상기 문턱 전압 증가 순서에 따른 소거 상태(ER) 및 제1 내지 제3 프로그램 상태(P1 ~ P3)를 가지는 멀티 레벨 셀(MLC)인 경우,
상기 매개변수는, 상기 제1 프로그램 상태에 대응되는 제1 패턴과, 상기 제3 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고,
상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션인 낸드 플래시 메모리의 에러 특성화 방법.
- 청구항 1에 있어서,
상기 낸드 플래시 메모리 셀이, 상기 문턱 전압 증가 순서에 따른 소거 상태(ER) 및 제1 내지 제7 프로그램 상태(P1 ~ P7)를 가지는 트리플 레벨 셀(TLC)인 경우,
상기 매개변수는, 상기 제3 프로그램 상태에 대응되는 제1 패턴과, 상기 제7 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고,
상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션인 낸드 플래시 메모리의 에러 특성화 방법.
- 청구항 1에 있어서,
상기 낸드 플래시 메모리 셀이, 상기 문턱 전압 증가 순서에 따른 소거 상태(ER) 및 제1 내지 제15 프로그램 상태(P1 ~ P15)를 가지는 쿼드러플 레벨 셀(QLC)인 경우,
상기 매개변수는, 상기 제6 프로그램 상태에 대응되는 제1 패턴과, 상기 제15 프로그램 상태에 대응하는 제2 패턴 사이의 중심 거리이고,
상기 낸드 플래시 메모리의 에러 소스는, 상기 리텐션인 낸드 플래시 메모리의 에러 특성화 방법.
- 청구항 1에 있어서,
상기 낸드 플래시 메모리 셀이, 상기 문턱 전압 증가 순서에 따른 소거 상태(ER) 및 제1 내지 제7 프로그램 상태(P1 ~ P7)를 가지는 트리플 레벨 셀(TLC)인 경우,
상기 매개변수는, 상기 제1 프로그램 상태에 대응되는 제1 패턴과, 상기 제2 내지 제4 프로그램 상태에 대응되는 패턴 중 어느 하나인 제2 패턴 사이의 중심 거리이고,
상기 낸드 플래시 메모리의 에러 소스는, 상기 읽기 방해인 낸드 플래시 메모리의 에러 특성화 방법.
- 삭제
- 청구항 1에 있어서,
상기 매개변수는, 상기 낸드 플래시 메모리 셀의 누적 개수를 기반으로 산출되는 낸드 플래시 메모리의 에러 특성화 방법.
- 메모리 컨트롤러 및 메모리 장치를 포함하는 스토리지 디바이스에서 수행되는 낸드 플래시 메모리에 대한 에러 추정 방법에 있어서,
(a) 상기 메모리 장치에 포함되는 상기 낸드 플래시 메모리를 에러 추정 대상 낸드 플래시 메모리로 하고, 상기 에러 추정 대상 낸드 플래시 메모리에 대해, 청구항 1의 상기 리텐션 에러 소스(retention error source)에 대한 매개변수를 적용하여 소정의 중심 거리 값을 산출하고, 소정의 P/E 싸이클(Program/Erase cycle) 정보를 획득하는 단계; 및
(b) 청구항 1에 따른 방법으로 생성된 리텐션 에러 특성화 정보와, 상기 소정의 중심 거리 값 및 상기 소정의 P/E 싸이클(Program/Erase cycle) 정보를 비교하여, 상기 에러 추정 대상 낸드 플래시 메모리의 리텐션 에러(retention error)를 추정하는 단계;를 포함하는 에러 추정 방법.
- 메모리 컨트롤러 및 메모리 장치를 포함하는 스토리지 디바이스에서 수행되는 스토리지 디바이스 제어 방법에 있어서,
(a) 상기 메모리 컨트롤러가, 청구항 9에 따른 방법으로 상기 리텐션 에러를 추정하는 단계; 및
(b) 상기 메모리 컨트롤러가, 추정된 상기 리텐션 에러를 기반으로, 상기 메모리 장치에 대한 리프레시(refresh) 여부, 읽기 바이어스(read bias) 설정, 디코딩 방식 설정, 및 배드 블록(bad block) 설정 중 적어도 어느 하나 이상을 제어하는 단계;를 포함하는 스토리지 디바이스 제어 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220032485A KR102496386B1 (ko) | 2022-03-16 | 2022-03-16 | 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 |
US18/093,432 US20230297471A1 (en) | 2022-03-16 | 2023-01-05 | Method of characterizing errors in nand flash memory, and error estimation method and storage system control method using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220032485A KR102496386B1 (ko) | 2022-03-16 | 2022-03-16 | 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102496386B1 true KR102496386B1 (ko) | 2023-02-06 |
Family
ID=85224294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220032485A KR102496386B1 (ko) | 2022-03-16 | 2022-03-16 | 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230297471A1 (ko) |
KR (1) | KR102496386B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940022295A (ko) | 1993-03-20 | 1994-10-20 | 가나이 쯔또무 | 플래시메모리를 포함하는 마이크로컴퓨터 |
KR20170066084A (ko) * | 2015-12-04 | 2017-06-14 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법 |
KR20170118291A (ko) * | 2016-04-14 | 2017-10-25 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20170120442A (ko) * | 2016-04-21 | 2017-10-31 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
KR20200132270A (ko) * | 2019-05-16 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20200139044A (ko) * | 2019-06-03 | 2020-12-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428621A (en) * | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
US8464131B2 (en) * | 2008-06-23 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by constrained decoding |
US9329797B2 (en) * | 2013-12-30 | 2016-05-03 | Sandisk Technologies Inc. | Method and system for adjusting block erase or program parameters based on a predicted erase life |
TWI492234B (zh) * | 2014-04-21 | 2015-07-11 | Silicon Motion Inc | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統 |
US9136009B1 (en) * | 2014-05-12 | 2015-09-15 | Macronix International Co., Ltd. | Method to improve accuracy of a low voltage state in flash memory cells |
US20160062656A1 (en) * | 2014-08-28 | 2016-03-03 | Freescale Semiconductor, Inc. | Command Set Extension for Non-Volatile Memory |
US9563373B2 (en) * | 2014-10-21 | 2017-02-07 | International Business Machines Corporation | Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management |
US10283215B2 (en) * | 2016-07-28 | 2019-05-07 | Ip Gem Group, Llc | Nonvolatile memory system with background reference positioning and local reference positioning |
US10642747B1 (en) * | 2018-05-10 | 2020-05-05 | Seagate Technology Llc | Virtual flash system |
US11127471B2 (en) * | 2019-07-23 | 2021-09-21 | SK Hynix Inc. | Read retry threshold voltage selection |
US11170866B2 (en) * | 2019-10-22 | 2021-11-09 | Micron Technology, Inc. | Managing block retirement for temporary operational conditions |
US11029889B1 (en) * | 2019-12-20 | 2021-06-08 | Western Digital Technologies, Inc. | Soft bit read mode selection for non-volatile memory |
KR20220010210A (ko) * | 2020-07-17 | 2022-01-25 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 읽기 동작 방법 |
US11994942B2 (en) * | 2021-12-21 | 2024-05-28 | Micron Technology, Inc. | Raw bit error rate based trim level adjustments for memory |
US11715511B2 (en) * | 2021-12-21 | 2023-08-01 | Micron Technology, Inc. | Trim level adjustments for memory based on data use |
-
2022
- 2022-03-16 KR KR1020220032485A patent/KR102496386B1/ko active IP Right Grant
-
2023
- 2023-01-05 US US18/093,432 patent/US20230297471A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940022295A (ko) | 1993-03-20 | 1994-10-20 | 가나이 쯔또무 | 플래시메모리를 포함하는 마이크로컴퓨터 |
KR20170066084A (ko) * | 2015-12-04 | 2017-06-14 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법 |
KR20170118291A (ko) * | 2016-04-14 | 2017-10-25 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20170120442A (ko) * | 2016-04-21 | 2017-10-31 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
KR20200132270A (ko) * | 2019-05-16 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20200139044A (ko) * | 2019-06-03 | 2020-12-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20230297471A1 (en) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250918B2 (en) | Preemptive idle time read scans | |
US9298608B2 (en) | Biasing for wear leveling in storage systems | |
US10839886B2 (en) | Method and apparatus for adaptive data retention management in non-volatile memory | |
US11107543B2 (en) | Adjustment of read and write voltages using a space between threshold voltage distributions | |
KR20160074237A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190064965A (ko) | 메모리 컨트롤러 및 그것의 제어 방법 | |
US9465539B2 (en) | Operation management in a memory device | |
KR20170054300A (ko) | 데이터 보유 충전 손실 센서 | |
CN111538610A (zh) | 具有改进型扫描的存储器装置错误检测 | |
US11735254B2 (en) | Error avoidance based on voltage distribution parameters of blocks | |
US11869605B2 (en) | Adjusting pass-through voltage based on threshold voltage shift | |
CN112447207A (zh) | 基于阈值电压漂移的温度相关斜率管理阈值电压漂移 | |
US9984731B2 (en) | Storage device and storage method | |
CN115497546A (zh) | 用于时间保留的读取性能技术 | |
KR102496386B1 (ko) | 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 | |
US11748013B2 (en) | Grouping blocks based on power cycle and power on time | |
US11705193B2 (en) | Error avoidance based on voltage distribution parameters | |
WO2019144918A1 (zh) | 非易失存储设备的掉电时间估计方法和装置 | |
US11715531B2 (en) | Open block management using storage charge loss margin checking | |
US12119068B2 (en) | Program continuation strategies after memory device power loss | |
US20230395170A1 (en) | Adaptive calibration for threshold voltage offset bins | |
US11881284B2 (en) | Open translation unit management using an adaptive read threshold |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |