KR20180126083A - 메모리에서 수행된 에러 정정 동작을 모니터링하는 방법 - Google Patents

메모리에서 수행된 에러 정정 동작을 모니터링하는 방법 Download PDF

Info

Publication number
KR20180126083A
KR20180126083A KR1020187032596A KR20187032596A KR20180126083A KR 20180126083 A KR20180126083 A KR 20180126083A KR 1020187032596 A KR1020187032596 A KR 1020187032596A KR 20187032596 A KR20187032596 A KR 20187032596A KR 20180126083 A KR20180126083 A KR 20180126083A
Authority
KR
South Korea
Prior art keywords
data
error correction
error
correction operation
soft
Prior art date
Application number
KR1020187032596A
Other languages
English (en)
Other versions
KR102135293B1 (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 KR20180126083A publication Critical patent/KR20180126083A/ko
Application granted granted Critical
Publication of KR102135293B1 publication Critical patent/KR102135293B1/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/26Sensing or reading circuits; Data output circuits
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 개시내용은 메모리에서 수행된 에러 정정 동작을 모니터링하기 위한 장치 및 방법을 포함한다. 다수의 실시예는 메모리, 및 메모리의 다수의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터의 양을 결정하고, 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터와 연관된 소프트 정보의 품질을 결정하며, 에러 정정 동작 동안 정정된 잘못된 데이터의 양 및 에러 정정 동작 동안 정정된 잘못된 데이터와 연관된 소프트 정보의 품질에 기초하여 감지된 데이터에 대해 정정 조치를 취할지를 결정하도록 구성된 회로를 포함한다.

Description

메모리에서 수행된 에러 정정 동작을 모니터링하는 방법
본 개시내용은 일반적으로 반도체 메모리 및 방법에 관한 것이며, 보다 특히 메모리에서 수행된 에러 정정 동작을 모니터링하는 것에 관한 것이다.
메모리 디바이스는 통상적으로 컴퓨터 또는 다른 전자 디바이스에서 내부의, 반도체, 집적 회로 및/또는 외부 착탈 가능한 디바이스로서 제공된다. 휘발성 및 비-휘발성 메모리를 포함한 많은 상이한 유형의 메모리가 있다. 휘발성 메모리는 그것의 데이터를 유지하기 위해 전력을 요구할 수 있으며 다른 것 중에서 랜덤-액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 및 동기식 동적 랜덤 액세스 메모리(SDRAM)를 포함할 수 있다. 비-휘발성 메모리는 동력이 공급되지 않을 때 저장된 데이터를 유지할 수 있으며 다른 것 중에서 NAND 플래시 메모리, NOR 플래시 메모리, 상 변화 랜덤 액세스 메모리(PCRAM), 저항성 랜덤 액세스 메모리(RRAM), 및 자기 랜덤 액세스 메모리(MRAM)를 포함할 수 있다.
메모리 디바이스는 고체 상태 드라이브(SSD)를 형성하기 위해 함께 조합될 수 있다. SSD는 다양한 다른 유형들의 비-휘발성 및 휘발성 메모리 중에서, 비-휘발성 메모리(예로서, NAND 플래시 메모리 및/또는 NOR 플래시 메모리)를 포함할 수 있으며, 및/또는 휘발성 메모리(예로서, DRAM 및/또는 SRAM)를 포함할 수 있다. 플래시 메모리 디바이스는 예를 들면, 부동 게이트와 같은 전하 저장 구조에서 데이터를 저장한 메모리 셀을 포함할 수 있으며, 광범위한 전자 애플리케이션을 위해 비-휘발성 메모리로서 이용될 수 있다. 플래시 메모리 디바이스는 통상적으로 높은 메모리 밀도, 높은 신뢰성, 및 저 전력 소비를 허용하는 1-트랜지스터 메모리 셀을 사용한다.
어레이 아키텍처에서 메모리 셀은 타겟(예로서, 원하는) 상태로 프로그램될 수 있다. 예를 들면, 전기 전하는 셀을 특정한 데이터 상태로 프로그램하기 위해 메모리 셀의 전하 저장 구조(예로서, 부동 게이트) 상에 위치되거나 또는 그로부터 제거될 수 있다. 메모리 셀의 전하 저장 구조상에서 저장된 전하는 셀의 임계 전압(Vt)을 나타낼 수 있다.
예를 들면, 단일 레벨 셀(SLC)은 두 개의 상이한 데이터 상태 중 타겟팅된 것으로 프로그램될 수 있으며, 이것은 이진 단위 1 또는 0에 의해 표현될 수 있다. 몇몇 플래시 메모리 셀은 둘 이상의 데이터 상태(예로서, 1111, 0111, 0011, 1011, 1001, 0001, 0101, 1101, 1100, 0100, 0000, 1000, 1010, 0010, 0110, 및 1110) 중 타겟팅된 것으로 프로그램될 수 있다. 이러한 셀은 다중 상태 메모리 셀, 다중유닛 셀, 또는 다중레벨 셀(MLC)로 불릴 수 있다. MLC는 각각의 셀이 하나 이상의 숫자(예로서, 하나 이상의 비트)를 나타낼 수 있으므로 메모리 셀의 수를 증가시키지 않고 고밀도 메모리를 제공할 수 있다.
플래시 메모리 셀의 상태는 셀의 전하 저장 구조(예로서, Vt) 상에서 저장된 전하를 감지함으로써 결정될 수 있다. 그러나, 예를 들면, 판독 방해, 프로그램 방해, 셀-대-셀 간섭, 및/또는 전하 손실(예로서, 전하 누설)과 같은, 다수의 메커니즘은 메모리 셀의 Vt를 변하게 할 수 있다. Vt에서의 변화의 결과로서, 셀의 상태가 감지될 때 에러가 발생할 수 있다. 예를 들면, 셀은 타겟 상태가 아닌 상태(예로서, 셀이 프로그램된 상태와 상이한 상태)에 있는 것으로 감지될 수 있다. 이러한 에러는 예를 들면, 저밀도 패리티 검사(low-density parity-check: LDPC) 에러 정정 코드(error correction code: ECC) 기법과 같은, ECC 기법에 의해 정정 가능하거나 또는 정정 가능하지 않을 수 있으며, 이것은 에러를 정정하기 위해 셀의 데이터 상태와 연관된 소프트 데이터를 이용할 수 있다. 그러나, 에러는 또한 소프트 데이터 값(예로서, 비트)에서 발생할 수 있으며, 이들 에러는 또한 ECC 기법에 의해 정정 가능하거나 또는 정정 가능하지 않을 수 있다.
도 1은 본 개시내용의 다수의 실시예에 따른 메모리 어레이의 일 부분의 개략도를 예시한다.
도 2는 본 개시내용의 다수의 실시예에 따른 감지 동작과 연관된 다수의 임계 전압 분포, 감지 전압, 및 데이터 할당의 다이어그램을 예시한다.
도 3은 본 개시내용의 다수의 실시예에 따른 메모리 디바이스의 형태에 있는 장치를 포함한 컴퓨팅 시스템의 기능 블록도이다.
도 4는 본 개시내용의 다수의 실시예에 따른 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간의 예를 예시한다.
도 5는 본 개시내용의 다수의 실시예에 따라 메모리를 동작시키기 위한 방법을 예시한다.
본 개시내용은 메모리에서 수행된 에러 정정 동작들을 모니터링하기 위한 장치 및 방법을 포함한다. 다수의 실시예는 메모리, 및 메모리의 다수의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터의 양을 결정하고, 상기 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터와 연관된 소프트 정보의 품질을 결정하며, 에러 정정 동작 동안 정정된 잘못된 데이터의 양 및 에러 정정 동작 동안 정정된 잘못된 데이터와 연관된 소프트 정보의 품질에 기초하여 감지된 데이터에 대해 정정 조치를 취할지를 결정하도록 구성된 회로를 포함한다.
하드 데이터는 예를 들면, 하나 이상의 메모리 셀에 저장되고 감지 동작에 반응하여 호스트에 제공되는 이진 데이터 값을 나타낼 수 있다. 다양한 인스턴스에서, 메모리 셀의 감지된 데이터 상태와(예로서, 하드 데이터와) 연관된 소프트 데이터가 또한 결정될 수 있다. 소프트 데이터는, 예를 들면, 예로서 판독 하드 데이터를 저장한 셀의 또는 상이한 데이터를 저장한 셀의 확률에 관한 정보를 포함한, 하드 데이터의 품질 및/또는 신뢰도를 나타낼 수 있다. 이러한 품질 및/또는 신뢰도 정보는 여기에서 소프트 정보로서 불릴 수 있다. 따라서, 소프트 데이터는 에러 정정 코드에 대한 증가된 에러 정정 능력과 같은 이득을 제공할 수 있으며, 이것은 다른 이득들 중에서, 증가된 메모리 수명이 될 수 있다.
예를 들면, 저밀도 패리티 검사(LDPC) 에러 정정 코드(ECC) 기법을 이용하는 에러 정정 동작과 같은, 에러 정정 동작은 하드 또는 소프트 데이터 양쪽 모두를 갖고 에러를 검출하고 정정하기 위해 사용될 수 있다. 이러한 에러 정정 동작은, 그러나, 제한된 정정 능력을 가질 수 있다. 예를 들면, 이러한 에러 정정 동작은 단지 데이터에서 발생할 수 있는 특정한(예로서, 최대) 수의 에러만을 정정할 수 있을 것이다. 이러한 정정 한계가 도달되면(예로서, 데이터가 정정할 수 있는 에러 정정 동작보다 많은 에러를 갖는다면), 에러 정정 동작은 실패할 수 있으며, 다른 조치가 데이터를 복구하기 위해 취해질 필요가 있을 것이다.
에러 정정 동작은 동작이 그의 정정 한계에 가까워지고 있는지를 결정하기 위해 모니터링될 수 있으며, 그렇다면, 적절한 정정 조치가 에러 정정 동작의 실패가 발생하는 것을 방지하기 위해 취해질 수 있다. 예를 들면, 하드 데이터의 경우에, 에러 정정 동작의 성능은 단지 동작 동안 정정된 잘못된 데이터의 양에 의존할 수 있다. 예를 들면, 하드 데이터의 경우에, 에러 정정이 실패하였는지는 단지 에러 정정 동작과 연관된 비트 에러 레이트가 특정한 임계치를 충족시키는지 또는 이를 초과하는지에 의존할 수 있다. 이와 같이, 하드 데이터에 대해 수행된 에러 정정 동작은 단지 그것과 연관된 잘못된 데이터의 양(예로서, 비트 에러 레이트)에 기초하여 효과적으로 모니터링될 수 있다.
그러나, 소프트 데이터의 경우에, 에러 정정 동작의 성능은 잘못된 데이터의 양 이상의 것에 의존할 수 있다. 예를 들면, 몇몇 인스턴스에서, 잘못된 소프트 데이터의 특정한 양은 에러 정정 동작 실패를 야기할 수 있지만, 다른 인스턴스에서, 상기 잘못된 데이터의 양은 에러 정정 동작 실패를 야기하지 않을 수 있다. 따라서, 잘못된 데이터의 양 이상의 것(예로서, 비트 에러 레이트 이상의 것)이 소프트 데이터에 대해 수행된 에러 정정 동작을 효과적으로 모니터링하며 감지된 데이터에 대해 정정 조치가 취해질 필요가 있는지를 결정하기 위해 요구될 수 있다.
본 개시내용의 실시예는 이러한 에러 정정 동작을 모니터링하며 정정 조치를 취할지를 결정하기 위해 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터의 양 이상의 것을 사용할 수 있다. 예를 들면, 본 개시내용의 실시예는, 에러 정정 동작을 모니터링하며 정정 조치를 취할지를 결정하기 위해 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터의 양과 함께, 소프트 데이터의 품질을 사용할 수 있다. 예를 들면, 본 개시내용의 실시예는 고 신뢰성 에러 레이트를 사용할 수 있으며, 이것은 동작을 모니터링하고 메모리로부터 감지된(예로서, 판독된) 데이터에 대해 정정 조치를 취할지를 결정하기 위해 소프트 데이터에 대해 수행된 에러 정정 동작과 연관된, 비트 에러 레이트와 함께, 여기에서 추가로 정의되고 설명될 것이다. 따라서, 본 개시내용의 실시예는 하드 데이터뿐만 아니라 소프트 데이터에 대해 수행된 에러 정정 동작을 효과적으로 모니터링할 수 있다.
여기에서 사용된 바와 같이, "다수의" 어떤 것은 하나 이상의 이러한 것을 나타낼 수 있다. 예를 들면, 다수의 메모리 셀은 하나 이상의 메모리 셀을 나타낼 수 있다. 부가적으로, 특히 도면에서 참조 부호에 대해서, 여기에서 사용된 바와 같이, 지정자 "N" 및 "M"은 그렇게 지정된 다수의 특정한 특징이 본 개시내용의 다수의 실시예와 함께 포함될 수 있다는 것을 나타낸다.
여기에서의 도면은 첫 숫자 또는 숫자들이 도면 도 번호에 대응하며 남아있는 숫자는 도면에서 요소 또는 구성요소를 식별하는 넘버링 관례를 따른다. 상이한 도에서 유사한 요소 또는 구성요소는 유사한 숫자의 사용에 의해 식별될 수 있다.
도 1은 본 개시내용의 다수의 실시예에 따른 메모리 어레이(100)의 일 부분의 개략도를 예시한다. 도 1의 실시예는 NAND 아키텍처 비-휘발성 메모리 어레이를 예시한다. 그러나, 여기에서 설명된 실시예는 이 예에 제한되지 않는다. 도 1에 도시된 바와 같이, 메모리 어레이(100)는 액세스 라인(예로서, 워드 라인(105-1, ..., 105-N)) 및 데이터 라인(예로서, 비트 라인)(107-1, 107-2, 107-3, ..., 107-M)을 포함한다. 디지털 환경에서 다루는 용이함을 위해, 워드 라인(105-1, ..., 105-N)의 수 및 비트 라인(107-1, 107-2, 107-3, ..., 107-M)의 수는 2의 몇 거듭제곱(256 워드 라인×4,096 비트 라인)일 수 있다.
메모리 어레이(100)는 NAND 스트링(109-1, 109-2, 109-3, ..., 109-M)을 포함한다. 각각의 NAND 스트링은 비-휘발성 메모리 셀(111-1, ..., 111-N)을 포함하며, 각각은 각각의 워드 라인(105-1, ..., 105-N)에 통신적으로 결합된다. 각각의 NAND 스트링(및 그것의 구성 메모리 셀)은 또한 비트 라인(107-1, 107-2, 107-3, ..., 107-M)과 연관된다. 각각의 NAND 스트링(109-1, 109-2, 109-3, ..., 109-M)의 비-휘발성 메모리 셀(111-1, ..., 111-N)은 소스 선택 게이트(SGS)(예로서, 전계-효과 트랜지스터(FET))(113)와 드레인 선택 게이트(SGD)(예로서, FET)(119) 사이에서 직렬로 연결된다. 각각의 소스 선택 게이트(113)는 소스 선택 라인(117) 상에서의 신호에 응답하여 공통 소스(123)에 각각의 NAND 스트링을 선택적으로 결합하도록 구성되지만, 각각의 드레인 선택 게이트(119)는 드레인 선택 라인(115) 상에서의 신호에 응답하여 각각의 비트 라인에 각각의 NAND 스트링을 선택적으로 결합하도록 구성된다.
도 1에 예시된 실시예에서 도시된 바와 같이, 소스 선택 게이트(113)의 소스는 공통 소스(123)에 연결된다. 소스 선택 게이트(113)의 드레인은 대응하는 NAND 스트링(109-1)의 메모리 셀(111-1)에 연결된다. 드레인 선택 게이트(119)의 드레인은 드레인 접촉부(121-1)에서 대응하는 NAND 스트링(109-1)의 비트 라인(107-1)에 연결된다. 드레인 선택 게이트(119)의 소스는 대응하는 NAND 스트링(109-1)의 메모리 셀(111-N)(예로서, 부동-게이트 트랜지스터)에 연결된다.
다수의 실시예에서, 비-휘발성 메모리 셀(111-1, ..., 111-N)의 구성은 부동 게이트, 및 제어 게이트와 같은 전하 저장 구조를 포함한다. 비-휘발성 메모리 셀(111-1, ..., 111-N)은 각각 워드 라인(105-1, ..., 105-N)에 결합된 그들의 제어 게이트를 갖는다. 비-휘발성 메모리 셀(111-1, ..., 111-N)의 "컬럼"은 NAND 스트링(109-1, 109-2, 109-3, ..., 109-M)을 구성하며, 각각 주어진 비트 라인(107-1, 107-2, 107-3, ..., 107-M)에 결합된다. 비-휘발성 메모리 셀의 "로우"는 주어진 워드 라인(105-1, ..., 105-N)에 공통으로 결합된 이들 메모리 셀이다. 용어("컬럼" 및 "로우")의 사용은 비-휘발성 메모리 셀의 특정한 선형(예로서, 수직 및/또는 수평) 배향을 내포하도록 의도하지 않는다. NOR 어레이 아키텍처는, 메모리 셀의 스트링이 선택 게이트 사이에서 병렬로 결합될 것이라는 점을 제외하고, 유사하게 배치될 것이다.
선택된 워드 라인(예로서, 105-1, ..., 105-N)에 결합된 셀의 서브세트는 함께(예로서, 동시에) 프로그램되고 및/또는 감지(예로서, 판독)될 수 있다. 프로그램 동작(예로서, 기록 동작)은 타겟(예로서, 원하는) 데이터 상태에 대응하는 원하는 프로그램 전압 레벨로 상기 선택된 액세스 라인에 결합된 선택된 셀의 임계 전압(Vt)을 증가시키기 위해 선택된 워드 라인에 다수의 프로그램 펄스(예로서, 16V 내지 20V)를 인가하는 것을 포함할 수 있다.
판독 또는 프로그램 검증 동작과 같은, 감지 동작은 선택된 셀의 데이터 상태(예로서, 하드 데이터 값)를 결정하기 위해 선택된 셀에 결합된 비트 라인의 전압 및/또는 전류 변화를 감지하는 것을 포함할 수 있다. 감지 동작은 또한 여기에서 추가로 설명될 바와 같이, 선택된 셀의 데이터 상태와 연관된 소프트 데이터를 결정하기 위해 사용될 수 있다. 감지 동작은 선택된 메모리 셀과 연관된 소스(예로서, 소스(123))에 제공된 전압(예로서, 바이어스 전압) 이상의 전압을 선택된 메모리 셀과 연관된 (예로서, 바이어싱) 비트 라인(예로서, 비트 라인(107-1))에 제공하는 것을 포함할 수 있다. 감지 동작은 대안적으로 선택된 셀이 전도하기 시작할 때 방전으로 이어진 비트 라인을 프리차징하는 것, 및 방전을 감지하는 것을 포함할 수 있다.
선택된 셀의 상태를 감지하는 것은 선택되지 않은 셀의 Vt에 독립적인 전도 상태에 선택되지 않은 셀을 두기에 충분한 스트링의 선택되지 않은 셀에 결합된 워드 라인에 다수의 패스 신호(예로서, 판독 패스 전압)를 제공하면서 선택된 워드라인에 다수의 단계식 감지 신호(예로서, 상이한 판독 전압 레벨을 포함하는 단계식 감지 신호)를 제공하는 것을 포함할 수 있다. 판독되고 및/또는 검증되는 선택된 셀에 대응하는 비트 라인은 선택된 워드 라인에 인가된 특정한 감지 전압에 응답하여 선택된 셀이 전도할지의 여부를 결정하기 위해 감지될 수 있다. 예를 들면, 선택된 셀의 데이터 상태는 선택된 셀에 대응하는 비트 라인의 전류에 기초하여 결정될 수 있다.
선택된 셀이 전도 상태에 있을 때, 전류는 스트링의 일 단부에서의 소스 접촉부와 스트링의 다른 단부에서의 비트 라인 접촉부 사이에서 흐른다. 이와 같이, 선택된 셀을 감지하는 것과 연관된 전류는 스트링에서의 다른 셀의 각각 및 선택 트랜지스터를 통해 운반된다.
도 2는 본 개시내용의 다수의 실시예에 따른 감지 동작과 연관된 다수의 임계 전압(Vt) 분포, 감지 전압, 및 데이터(하드 및 소프트 데이터) 할당의 다이어그램(201)을 예시한다. 도 2에 도시된 두 개의 Vt 분포(225-1 및 225-2)는 2-비트(예로서, 4-상태) 다중레벨 메모리 셀에 대응할 수 있다. 이와 같이, 도 2에 도시되지 않지만, 2-비트 메모리 셀은 두 개의 부가적인 Vt 분포(예로서, 하나는 4개의 데이터 상태의 각각에 대응함)를 포함할 것이다. 이 예에서, 단지 데이터 상태(L1 및 L2)에 대응하는 Vt 분포만이 도시된다. 뿐만 아니라, 본 개시내용의 실시예는 2-비트 다중레벨 메모리 셀에 제한되지 않는다. 예를 들면, 본 개시내용의 실시예는 단일 레벨 셀 및/또는 예를 들면, 3중 레벨 셀(TLC) 또는 4중 레벨 셀(QLC)과 같은 다른 다중레벨 셀을 포함할 수 있다.
도 2에 도시된 바와 같이, Vt 분포(225-1 및 225-2)는 메모리 셀이 프로그램될 수 있는 두 개의 타겟 데이터 상태(예로서, 각각, R3은 하부 페이지에 대한 하드 판독 위치에 대응하며, R1, R2, R4, 및 R5는 하부 페이지에 대한 소프트 판독 위치에 대응하는 4 레벨 시스템의 L1 및 L2)를 나타낸다. 이 예에서, 데이터 상태(L1)는 데이터 "01"에 대응하며 데이터 상태(L2)는 데이터 "00"에 대응한다. 본 개시내용의 실시예는, 그러나, 이들 특정한 데이터 할당에 제한되지 않는다. 뿐만 아니라, 단순성을 위해 도 2에 도시되지 않지만, 다이어그램(201)은 또한 다른 두 개의 데이터 상태(예로서, L0 및 L3)에 대응하는 두 개의 부가적인 Vt 분포, 및 이들 데이터 상태(예로서, "11" 및 "10")에 대응하는 데이터를 포함할 수 있다.
Vt 분포(225-1 및 225-2)는 대응하는 타겟 상태(예로서, 각각 L1 및 L2)로 프로그램되는 다수의 메모리 셀을 나타낼 수 있으며, Vt 분포 곡선의 높이는 Vt 분포 내에서 특정한 전압으로(예로서, 평균적으로) 프로그램된 다수의 셀을 나타낸다. Vt 분포 곡선의 폭은 특정한 타겟 상태를 나타내는 전압의 범위를 나타낸다(예로서, L2에 대한 Vt 분포 곡선(225-2)의 폭은 00의 하드 데이터 값에 대응하는 전압의 범위를 나타낸다).
감지(예로서, 판독) 동작 동안, Vt 분포(225-1 및 225-2) 사이에 위치된 감지(예로서, 판독) 전압은 상태(L1 및 L2)를 구별하기 위해 사용될 수 있다. NAND 스트링에서 선택된 메모리 셀에 대해 수행된 판독 동작에서, 스트링의 선택되지 않은 메모리 셀은 전도 상태에 있도록 패스 전압으로 바이어싱될 수 있다. 스트링에서의 모든 셀이 전도 상태에 있을 때, 전류는 스트링의 일 단부에서의 소스 접촉부와 스트링의 다른 단부에서의 드레인 라인 접촉부 사이에서 흐를 수 있다. 이와 같이, 선택된 셀의 데이터 상태는 선택된 셀이 전도하기 시작할 때(예로서, 선택된 워드 라인을 통해 셀의 제어 게이트에 인가된 특정한 판독 전압에 응답하여) 특정한 스트링에 대응하는 비트 라인 상에서 감지된 전류에 기초하여 결정될 수 있다.
메모리 셀의 각각의 데이터 상태(예로서, L1 및 L2)는 그와 연관된 소프트 데이터를 가질 수 있다. 예를 들면, 각각의 데이터 상태와 연관된 Vt 분포(예로서, 225-1 또는 225-2)는 그것에 할당된 소프트 데이터 값(예로서, 비트)을 가질 수 있다. 도 2에 예시된 예에서, 2비트는 데이터 상태와 연관된 소프트 데이터를 제공하기 위해 사용된다. 소프트 데이터는, 예를 들면, 도 2에 예시된 기준 전압(R1 내지 R5)과 같은, 복수의 감지 전압을 사용하여 감지될 수 있다.
메모리 셀의 데이터 상태와 연관된 소프트 데이터(예로서, 소프트 데이터 값)는 데이터 상태의 품질 및/또는 신뢰도를 나타낼 수 있으며, 이것은 여기에서 소프트 정보로서 불릴 수 있다(예로서, 소프트 정보는 소프트 데이터에 의해 표시된 품질 및/또는 신뢰도 정보를 나타낼 수 있다). 예를 들면, 메모리 셀의 데이터 상태와 연관된 소프트 데이터는 메모리 셀의 데이터 상태와 연관된 Vt 분포 내에서 메모리 셀과 연관된 Vt의 위치를 나타낼 수 있다. 예를 들면, 도 2에 예시된 실시예에서, 데이터 상태(L2)와 연관된 소프트 데이터 00은 메모리 셀의 Vt가 Vt 분포(225-2) 내에서 기준 전압(R5)보다 큰 전압에 위치된다(예로서, 메모리 셀의 Vt는 Vt 분포(225-2)의 중간을 향해 위치된다)는 것을 나타내며, 데이터 상태(L1)와 연관된 소프트 데이터 00은 메모리 셀의 Vt가 Vt 분포(225-1) 내에서 기준 전압(R1)보다 작은 전압에 위치된다(예로서, 메모리 셀의 Vt는 Vt 분포(225-1)의 중간을 향해 위치된다)는 것을 나타낸다.
부가적으로, 데이터 상태(L2)와 연관된 소프트 데이터(10)는 메모리 셀의 Vt가 Vt 분포(225-2) 내에서의 기준 전압(R4 및 R5) 사이에서의 전압에 위치됨을 나타내며, 데이터 상태(L1)와 연관된 소프트 데이터(10)는 메모리 셀의 Vt가 기준 전압(R1 및 R2) 사이에서의 전압에 위치됨을 나타낸다(예로서, 소프트 데이터(10)는 메모리 셀의 Vt가 소프트 데이터 00보다 Vt 분포의 에지를 향해 더 가깝게 위치됨을 나타낸다). 뿐만 아니라, 데이터 상태(L2)와 연관된 소프트 데이터 11은 메모리 셀의 Vt가 기준 전압(R3 및 R4) 사이에서의 전압에 위치됨을 나타내며, 데이터 상태(L1)와 연관된 소프트 데이터 11은 메모리 셀의 Vt가 기준 전압(R2 및 R3) 사이에서의 전압에 위치됨을 나타낸다. 이와 같이, 소프트 데이터 11은 하드 데이터가 셀이 원래 프로그램된 타겟 상태와 일치하는 보다 낮은 신뢰도를 나타낼 수 있다.
메모리 셀의 데이터 상태와 연관된 소프트 데이터(예로서, 소프트 데이터 값)는 또한 메모리 셀과 연관된 Vt가 메모리 셀의 데이터 상태에 대응하는지의 확률을 나타낼 수 있다. 예를 들면, 도 2에 예시된 실시예에서, 데이터 상태(L2)와 연관된 소프트 데이터 00은 메모리 셀의 Vt가 데이터 상태(L2)에 대응하는 강한 확률을 나타내고, 데이터 상태(L2)와 연관된 소프트 데이터 10은 메모리 셀의 Vt가 데이터 상태(L2)에 대응하는 중간 확률(예로서, 강한 확률보다 작은 확률)을 나타내며, 데이터 상태(L2)와 연관된 소프트 데이터 11은 메모리 셀의 Vt가 데이터 상태(L2)에 대응하는 약한 확률(예로서, 중간 확률보다 작은 확률)을 나타낸다. 부가적으로, 데이터 상태(L1)와 연관된 소프트 데이터 00은 메모리 셀의 Vt가 데이터 상태(L1)에 대응하는 강한 확률을 나타내고, 데이터 상태(L1)와 연관된 소프트 데이터 10은 메모리 셀의 Vt가 데이터 상태(L1)에 대응하는 중간 확률을 나타내며, 데이터 상태(L1)와 연관된 소프트 데이터 11은 메모리 셀의 Vt가 데이터 상태(L1)에 대응하는 약한 확률을 나타낸다.
본 개시내용의 실시예는 도 2에 도시된 기준 전압 및/또는 소프트 데이터 할당에 제한되지 않는다. 예를 들면, 보다 많은 수의 소프트 데이터 할당이 Vt 분포 내에서 보다 정확한 Vt 위치 및/또는 Vt가 데이터 상태에 대응하는지에 대한 보다 정확한 확률을 나타내기 위해 사용될 수 있다. 그러나, 단순성을 위해 및 본 개시내용의 실시예를 모호하게 하지 않도록, 6개의 상이한 하드 데이터 품질 및/또는 신뢰도 레벨을 나타내는 5개의 기준 전압 및 6개의 소프트 데이터 값(예로서, 6개의 상이한 소프트 데이터 확률 - 데이터 상태(L1)에 대해 3개 및 데이터 상태(L2)에 대해 3개)이 도 2에 예시되었다.
도 3은 본 개시내용의 다수의 실시예에 따른 메모리 디바이스(334)의 형태에 있는 장치를 포함한 컴퓨팅 시스템(302)의 기능 블록도이다. 여기에서 사용된 바와 같이, "장치"는, 이에 제한되지 않지만, 예를 들면, 회로 또는 회로부, 다이 또는 다이들, 모듈 또는 모듈들, 디바이스 또는 디바이스들, 또는 시스템 또는 시스템들과 같은, 다양한 구조 또는 구조들의 조합 중 임의의 것을 나타낼 수 있다.
메모리 디바이스(334)는, 예를 들면, 고체 상태 드라이브(SSD)일 수 있다. 도 3에 예시된 실시예에서, 메모리 디바이스(334)는 물리적 호스트 인터페이스(336), 다수의 메모리(340-1, 340-2, ..., 340-N)(예로서, 고체 상태 메모리 디바이스), 및 물리적 호스트 인터페이스(336) 및 메모리(340-1, 340-2, ..., 340-N)에 결합된 제어기(338)(예로서, SSD 제어기)를 포함한다.
메모리(340-1, 340-2, ..., 340-N)는 예를 들면, 다수의 비-휘발성 메모리 어레이(예로서, 비-휘발성 메모리 셀의 어레이)를 포함할 수 있다. 예를 들면, 메모리(340-1, 340-2, ..., 340-N)는 도 1과 관련되어 이전에 설명된 메모리 어레이(100)와 유사한 다수의 메모리 어레이를 포함할 수 있다.
물리적 호스트 인터페이스(336)는 메모리 디바이스(334)와 호스트(332)와 같은 또 다른 디바이스 사이에서 정보를 전달하기 위해 사용될 수 있다. 호스트(332)는 메모리 액세스 디바이스(예로서, 프로세서)를 포함할 수 있다. 이 기술분야의 숙련자는 "프로세서"가 병렬 프로세싱 시스템, 다수의 코프로세서 등과 같은, 다수의 프로세서를 의도할 수 있다는 것을 이해할 것이다. 예시적인 호스트는 개인용 랩탑 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 디지털 레코딩 및 재생 디바이스, 스마트폰과 같은 이동 전화, PDA, 메모리 카드 판독기, 인터페이스 허브 등을 포함할 수 있다.
물리적 호스트 인터페이스(336)는 표준화된 물리적 인터페이스의 형태에 있을 수 있다. 예를 들면, 메모리 디바이스(334)가 컴퓨팅 시스템(302)에서 정보 저장을 위해 사용될 때, 물리적 호스트 인터페이스(336)는, 다른 물리적 커넥터들 및/또는 인터페이스들 중에서, 직렬 고급 기술 접속(SATA) 물리적 인터페이스, 주변 구성요소 상호 연결 익스프레스(PCIe) 물리적 인터페이스, 또는 범용 직렬 버스(USB) 물리적 인터페이스일 수 있다. 일반적으로, 그러나, 물리적 호스트 인터페이스(336)는 물리적 호스트 인터페이스(206)를 위한 호환 가능한 수용기를 가진 호스트(예로서, 호스트(332))와 메모리 디바이스(334) 사이에서 제어, 어드레스, 정보(예로서, 데이터), 및 다른 신호를 전달하기 위한 인터페이스를 제공할 수 있다.
제어기(338)는, 예를 들면, 제어 회로 및/또는 로직(예로서, 하드웨어 및 펌웨어)을 포함할 수 있다. 예를 들면, 제어기(338)는 도 3에서 예시된 바와 같이, 에러 정정 구성요소(342)를 포함할 수 있다. 에러 정정 구성요소(342)는, 예를 들면, 감지된 데이터 상태에서의 에러 및/또는 감지된 데이터 상태와 연관된 소프트 데이터에서의 에러를 포함하여, 메모리(340-1, 340-2, ..., 340-N)의 메모리 셀의 데이터 상태가 감지될 때 발생할 수 있는 에러를 정정하기 위해 에러 정정 동작을 수행할 수 있다. 예를 들면, 에러 정정 구성요소(342)는 에러를 정정하기 위해 저밀도 패리티 검사(LDPC) ECC 기법을 이용할 수 있는 LDPC ECC 구성요소일 수 있다. 제어기(338)는 또한 다른 동작 중에서, 정보를 감지(예로서, 판독)하고, 프로그램(예로서, 기록)하며, 및/또는 삭제하기 위해 메모리(340-1, 340-2, ..., 340-N)와 통신할 수 있다. 제어기(338)는 다수의 집적 회로 및/또는 이산 구성요소일 수 있는 회로를 가질 수 있다.
제어기(338)는 메모리(340-1, 340-2, ..., 340-N)와 동일한 물리적 디바이스(예로서, 동일한 다이) 상에 포함될 수 있다. 예를 들면, 제어기(338)는 물리적 호스트 인터페이스(336) 및 메모리(340-1, 340-2, ..., 340-N)를 포함한 인쇄 회로 보드에 결합된 애플리케이션 특정 집적 회로(ASIC)일 수 있다. 대안적으로, 제어기(338)는 메모리(340-1, 340-2, ..., 340-N)를 포함하는 물리 디바이스에 통신적으로 결합되는 별개의 물리 디바이스 상에 포함될 수 있다. 다수의 실시예에서, 제어기(338)의 구성요소는 분배된 제어기로서 다수의 물리 디바이스(예로서, 메모리와 동일한 다이 상에서의 몇몇 구성요소, 및 상이한 다이, 모듈, 또는 보드 상에서의 몇몇 구성요소)에 걸쳐 확산될 수 있다.
제어기(338)는 에러 정정 구성요소(342)에 의해 수행된 에러 정정 동작을 모니터링할 수 있다. 예를 들면, 제어기(338)는 동작이 그의 정정 한계에 가까워지고 있는지를 결정하기 위해 에러 정정 구성요소(342)에 의해 소프트 데이터에 대해 수행된 에러 정정 동작의 성능을 모니터링할 수 있으며, 그렇다면, 미래 에러 정정 동작의 실패가 발생하는 것을 방지하기 위해 적절한 정정 조치를 취한다.
예를 들면, 제어기(338)는 메모리(340-1, 340-2, ..., 340-N)의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대해 에러 정정 구성요소(342)에 의해 수행된 에러 정정 동작 동안 정정된 잘못된 소프트 데이터의 양을 결정할 수 있다. 잘못된 소프트 데이터의 양은, 예를 들면, 에러 정정 동작 동안 정정된(예로서, 플립핑된) 잘못된 소프트 데이터 비트의 양에 대응할 수 있으며, 이것은 에러 정정 동작과 연관된 비트 에러 레이트를 결정하기 위해 제어기(338)에 의해 사용될 수 있다. 예를 들면, 여기에서 사용된 바와 같이, 비트 에러 레이트는 감지 동작 동안 감지된 데이터의 총 양(예로서, 하드 데이터의 총 양)으로 나눈 감지 동작 동안 메모리로부터 감지된 잘못된 데이터의 양(예로서, 샘플 크기)에 대응하는 잘못된 비트의 양을 나타낼 수 있다. 이와 같이, 제어기(338)는 소프트 데이터의 총 양으로 에러 정정 동작 동안 정정된 잘못된 비트의 양을 나눔으로써 소프트 데이터에 대해 수행된 에러 정정 동작과 연관된 비트 에러 레이트를 결정할 수 있다. 예로서, 에러 정정 구성요소(342)가 에러 정정 동작을 수행하기 위해 LDPC ECC 기법을 이용하는 LDPC ECC 구성요소인 실시예에서, 에러 정정 구성요소(342)가 10,000 비트 코드워드 중 100비트를 플립핑하면, 에러 정정 동작과 연관된 비트 에러 레이트는 0.01일 것이다.
소프트 데이터에 대해 수행된 에러 정정 동작의 성능은, 그러나, 여기에서 이전에 설명된 바와 같이, 에러 정정 동작 동안 정정된 잘못된 소프트 데이터의 양 이상의 것에 의존할 수 있다. 예를 들면, 소프트 데이터에 대해 수행된 에러 정정 동작의 성능(예로서, 동작이 실패할지)은 또한 잘못된 소프트 데이터와 연관된(예로서, 그것에 의해 표시된) 소프트 정보의 양에 의존할 수 있다. 이와 같이, 제어기(338)는 또한 소프트 데이터에 대해 에러 정정 구성요소(342)에 의해 수행된 에러 정정 동작 동안 정정된 잘못된 소프트 데이터와 연관된 소프트 정보의 품질을 결정할 수 있다.
정정된 잘못된 소프트 데이터와 연관된 소프트 정보의 품질은, 예를 들면, 에러 정정 동작과 연관된 고 신뢰성 에러 레이트에 대응할 수 있다. 에러 정정 동작과 연관된 고 신뢰성 에러 레이트는 감지 동작 동안 감지된 소프트 데이터의 총 양(예로서, 샘플 크기)으로 나눈 고 신뢰성 에러인 에러 정정 동작 동안 정정된 소프트 데이터 에러(예로서, 잘못된 비트)의 양을 나타낼 수 있다. 예를 들면, 도 2를 참조하면, 고 신뢰성 에러는 기준 전압(R1)보다 작은 Vt 분포(225-2)(예로서, 데이터 상태(L2))의 좌측 꼬리의 부분, 및 기준 전압(R5)보다 큰 Vt 분포(225-1)(예로서, 데이터 상태(L1))의 우측 꼬리의 부분에 대응할 수 있다. 이 예의 양쪽 경우 모두는 소프트 데이터 00을 할당받은 잘못된 비트를 야기하며, 이것은 고 신뢰성을 나타낸다. 이와 같이, 제어기(338)는 에러 정정 동작 동안 정정된 잘못된 소프트 데이터 비트 중 얼마나 많은 것이 고 신뢰성 에러인지를 결정하며, 소프트 데이터의 총 양으로 상기 양을 나눔으로써 고 신뢰성 에러 레이트를 결정할 수 있다. 이전 예를 계속하기 위해, 제어기(338)가 에러 정정 구성요소(342)에 의해 플립핑된 100개의 잘못된 비트 중 20개가 고 신뢰성 에러임을 결정한다면, 에러 정정 동작과 연관된 고 신뢰성 에러 레이트는 0.002일 것이다.
소프트 데이터 에러가 고 신뢰성 에러인지에 관계없이, 그러므로 잘못된 소프트 데이터와 연관된 소프트 정보의 품질은 상기 소프트 데이터에 의해 표시되는 메모리 셀의 감지된 데이터 상태와 연관된 품질 및/또는 신뢰도 정보(예로서, 레벨)에 대응할 수 있다. 예를 들면, 소프트 데이터 에러가 고 신뢰성 에러인지에 관계없이, 그러므로 잘못된 소프트 데이터와 연관된 소프트 정보의 품질은 상기 소프트 데이터에 의해 표시되는 임계 전압 위치에 대응할 수 있다. 예를 들면, 소프트 데이터 에러는 상기 소프트 데이터가, 상기 메모리 셀과 연관된 임계 전압이 소프트 데이터를 감지하기 위해 사용될 수 있는 최고 감지 전압보다 큰(예로서, 도 2에 예시된 데이터 상태(L1)에 대한 기준 전압(R5)보다 큰) 전압에 위치됨을 나타낸다면, 또는 상기 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 소프트 데이터를 감지하기 위해 사용될 수 있는 최저 감지 전압보다 작은(예로서, 도 2에 예시된 데이터 상태(L2)에 대한 기준 전압(R1)보다 작은) 전압에 위치됨을 나타낸다면 고 신뢰성 에러로 분류될 수 있다. 그러므로, 도 2에 예시된 예를 참조하면, 데이터 상태(L1 또는 L2)와 연관된 소프트 데이터 00에서의 에러는 고 신뢰성 에러일 것이지만, 데이터 상태(L1 또는 L2)와 연관된 소프트 데이터 10 또는 11에서의 에러는 고 신뢰성 에러가 아닐 것이다. 부가적인 예로서, 고 신뢰성 에러는 에러가 있으며 메모리 셀의 데이터 상태를 감지하기 위해 사용된 전압(예로서, 도 2에 예시된 기준 전압(R3))으로부터 떨어진 특정한 전압 양(예로서, 밀리볼트)인 Vt를 가진 비트로서 정의될 수 있다.
부가적인 예로서, 소프트 데이터 에러가 고 신뢰성 에러인지에 관계없이, 그러므로 잘못된 소프트 데이터와 연관된 소프트 데이터의 품질은 상기 소프트 데이터에 의해 표시되는 확률에 대응할 수 있다. 예를 들면, 소프트 데이터 에러는 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 셀의 데이터 상태에 대응하는 가장 강한 확률을 갖는다는 것을 나타낸다면 고 신뢰성 에러로 분류될 수 있다. 그러므로, 도 2에 예시된 예를 다시 참조하면, 데이터 상태(L1 또는 L2)와 연관된 소프트 데이터 00에서의 에러는, 상기 소프트 데이터가 임계 전압이 상기 데이터 상태에 대응하는 가장 강한 확률(예로서, 소프트 데이터 10 및 11에 의해 표시된 확률보다 강한)을 나타내므로, 다시 고 신뢰성 에러일 것이다.
제어기(338)는 그 후 에러 정정 동작 동안 정정된 잘못된 소프트 데이터의 양 및 품질 양쪽 모두에 기초하여 감지된 데이터에 대해 정정 조치를 취할지(예로서, 동작이 그것의 정정 한계에 가까워지며 실패할 수 있는지)를 결정할 수 있다. 예를 들면, 제어기(338)는 에러 정정 동작과 연관된 비트 에러 레이트 및 고 신뢰성 에러 레이트 양쪽 모두에 기초하여 정정 조치를 취할지를 결정할 수 있다. 정정 조치는, 예를 들면, 메모리(340-1, 340-2, ..., 340-N)에서의 상이한 위치로의 감지된(예로서, 판독된) 데이터의 재배치일 수 있다. 예를 들면, 데이터는 메모리(340-1, 340-2, ..., 340-N)의 상이한 페이지, 블록, 또는 다이로 프로그램되고 및/또는 그것에 저장될 수 있다.
예로서, 제어기(338)는 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간에서 비트 에러 레이트 및 고 신뢰성 에러 레이트에 대응하는 데이터 포인트를 표시하며, 공간에서의 데이터 포인트의 위치에 기초하여 정정 조치를 취할지를 결정할 수 있다. 예를 들면, 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간은 소프트 데이터에 대해 수행된 에러 정정 동작의 정정 한계(예로서, 에러 정정 구성요소(342)의 정정 능력의 한계)에 대응하는 곡선을 포함할 수 있으며, 제어기(338)는 공간에서 곡선에 대한 데이터 포인트의 위치에 기초하여(예로서, 곡선의 어떤 측면 상에 데이터 포인트가 있는지에 기초하여) 정정 조치를 취할지를 결정할 수 있다. 예를 들면, 제어기(338)는 데이터 포인트가 곡선의 제1 측면 상에 위치된다면 정정 조치를 취할 수 있으며, 데이터 포인트가 곡선의 제2 측면 상에 위치된다면 정정 조치를 취하지 않을 수 있다. 곡선은 제어기(338)에 제공된 사전-생성 곡선일 수 있거나, 또는 곡선은 에러 정정 구성요소(342)에 의해 소프트 데이터에 대해 수행된 이전 에러 정정 동작의 결과에 기초하여 메모리 디바이스(334)의 동작 동안(예로서, 즉석에서) 제어기(338)에 의해 생성될 수 있다.
부가적인 예로서, 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간은 또한 각각이 에러 정정 동작의 정정 한계에 대응하는 곡선과 연관된 상이한 마진 양에 대응하는, 다수의 부가적인 곡선을 포함할 수 있으며, 제어기(338)는 또한 다수의 부가적인 곡선에 대한 데이터 포인트의 위치에 기초하여 정정 조치를 취할지를 결정할 수 있다. 정정 조치를 취할지를 결정하기 위해 사용될 수 있는 이러한 곡선을 가진 이러한 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간의 예가 여기에서 (도 4와 관련하여) 추가로 설명될 것이다.
도 3에 예시된 실시예는 본 개시내용의 실시예를 모호하게 하지 않도록 예시되지 않은 부가적인 회로, 로직, 및/또는 구성요소를 포함할 수 있다. 예를 들면, 메모리 디바이스(334)는 I/O 회로를 통해 I/O 커넥터에 걸쳐 제공된 어드레스 신호를 래칭하기 위해 어드레스 회로를 포함할 수 있다. 메모리(340-1, 340-2, ..., 340-N)를 액세스하기 위해, 어드레스 신호가 수신되며 로우 디코더 및 컬럼 디코더에 의해 디코딩될 수 있다.
도 4는 본 개시내용의 다수의 실시예에 따른 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간(450)의 예를 예시한다. 예를 들면, 도 4에 예시된 예에서, 2-차원 공간(450)은 x-축 상에 비트 에러 레이트를 및 y-축 상에 고 신뢰성 에러 레이트를 가진, 로그-로그 스케일 그래프를 포함한다. 이와 같이, 2-차원 공간(450)에 표시된 데이터 포인트의 x-좌표는 비트 에러 레이트에 대응할 것이며, 2-차원 공간(450)에 표시된 데이터 포인트의 y-좌표는 고 신뢰성 에러 레이트에 대응할 것이다. 예를 들면, 라인(456)은 비트 에러 레이트(예로서, x-좌표) 및 고 신뢰성 에러 레이트(예로서, y-좌표)가 2-차원 공간(450)에서 동일한 경우를 예시한다.
2-차원 공간(450)은, 예를 들면, 동작이 그의 정정 한계에 가까워지는지 그리고 정정 조치를 취해야 하는지를 결정하는 것을 포함하여, 소프트 데이터에 대해 수행된 에러 정정 동작의 성능을 모니터링하기 위해 도 3과 관련되어 이전에 설명된 제어기(338)에 의해 사용될 수 있다. 예를 들면, 제어기(338)는 소프트 데이터에 대해 수행된 에러 정정 동작과 연관된 결정된 비트 에러 레이트 및 고 신뢰성 에러 레이트에 대응하는 2-차원 공간(450)에서 데이터 포인트를 표시할 수 있으며(예로서, 데이터 포인트의 x-좌표는 비트 에러 레이트일 것이며, 데이터 포인트의 y-좌표는 고 신뢰성 에러 레이트일 것이다), 공간에서 데이터 포인트의 위치에 기초하여 감지된 데이터에 대해 정정 조치를 취할지를 결정할 수 있다.
예를 들면, 도 4에 도시된 바와 같이, 2-차원 공간(450)은 라인(456)으로부터 아래쪽으로 연장된 곡선(452)을 포함한다. 곡선(452)은 소프트 데이터에 대해 수행된 에러 정정 동작의 정정 한계에 대응할 수 있으며, 여기에서 이전에 설명된 바와 같이(예로서, 도 3과 관련되어), 사전-생성되거나 또는 즉석에서 생성될 수 있다. 다수의 실시예에서, 제어기(338)는 곡선(452)의 어떤 측면 상에 표시된 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 있는지에 기초하여 감지된 데이터에 대해 정정 조치를 취할지를 결정할 수 있다. 예를 들면, 제어기(338)는 데이터 포인트가 2-차원 공간(450)에서 곡선(452)의 우측에 있다면 정정 조치를 취할 수 있으며, 데이터 포인트가 2-차원 공간(450)에서 곡선(452)의 좌측에 있다면 정정 조치를 취하지 않을 수 있다. 예를 들면, 비트 에러 레이트가 0.01인 것으로 결정되며 고 신뢰성 에러 레이트가 0.002인 것으로 결정된 이전 예를 계속하기 위해, 데이터 포인트(예로서, 0.01, 0.002)는 곡선(452)의 우측 면상에 있을 것이며, 이것은 제어기(338)가 정정 조치를 취하는 것을 야기할 것이다.
다수의 실시예에서, 2-차원 공간(450)은 또한 라인(456)으로부터 아래쪽으로 연장된 다수의 부가적인 곡선을 포함할 수 있다. 예를 들면, 도 4에 예시된 실시예에서, 2-차원 공간(450)은 3개의 부가적인 곡선(454-1, 454-2, 및 454-3)을 포함한다. 그러나, 본 개시내용의 실시예는 특정한 수의 부가적인 곡선에 제한되지 않는다. 각각의 개별적인 부가적인 곡선은 곡선(452)과 연관된(예로서, 그로부터의) 상이한 마진 양에 대응할 수 있다. 예를 들면, 도 4에 예시된 실시예에서, 곡선(454-1)은 곡선(452)으로부터의 10% 마진에 대응할 수 있고, 곡선(454-2)은 곡선(452)으로부터 25% 마진에 대응할 수 있으며, 곡선(454-3)은 곡선(452)으로부터 50% 마진에 대응할 수 있다. 그러나, 본 개시내용의 실시예는 특정한 마진 양에 제한되지 않는다. 이들 마진 양은 예를 들면, 설명되지 않은 잡음 소스에 대해 가드 대역을 부가할 수 있다.
2-차원 공간(450)에서 곡선은 공간은 다수의 영역으로 분리할 수 있다. 예를 들면, 도 4에 예시된 실시예에서, 2-차원 공간(450)은 곡선(454-3)의 좌측으로의 영역(458-1), 곡선(454-2)과 곡선(454-3) 사이에서의 영역(458-2), 곡선(454-1)과 곡선(454-2) 사이에서의 영역(458-3), 곡선(452)과 곡선(454-1) 사이에서의 영역(458-4), 및 곡선(452)의 우측으로의 영역(458-5)을 포함한다. 각각의 영역(예로서, 각각의 개별적 영역 내에 포함된 2-차원 공간(450)의 부분)은 소프트 데이터에 대해 수행된 에러 정정 동작이 실패할(예로서, 에러 정정 동작이 소프트 데이터에서 에러를 정확하게 디코딩할 수 없을) 상이한 확률에 대응할 수 있다. 예를 들면, 그것의 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 영역(458-1)에 있는 에러 정정 동작은 실패할 매우 낮은 확률을 가질 수 있고, 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 영역(458-2)에 있는 에러 정정 동작은 실패할 낮은 확률(예로서, 매우 낮은 확률보다 큰 확률)을 가질 수 있고, 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 영역(458-3)에 있는 에러 정정 동작은 실패할 중간 확률(예로서, 낮은 확률보다 큰 확률)을 가질 수 있고, 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 영역(458-4)에 있는 에러 정정 동작은 실패할 강한 확률(예로서, 중간 확률보다 큰 확률)을 가질 수 있으며, 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 영역(458-5)에 있는 에러 정정 동작은 실패할 매우 강한 확률(예로서, 강한 확률보다 큰 확률)을 가질 수 있다.
다수의 실시예에서, 제어기(338)는 어떤 영역에 표시된 비트 에러 레이트-고 신뢰성 에러 레이트 데이터 포인트가 있는지에 기초하여 감지된 데이터에 대해 정정 조치를 취할지를 결정할 수 있다. 예로서, 제어기(338)는 데이터 포인트가 영역(458-5)에 있다면 정정 조치를 취할 수 있으며, 데이터 포인트가 영역(458-4, 458-3, 458-2, 또는 458-1)에 있다면 정정 조치를 취하지 않을 수 있다. 부가적인 예로서, 제어기(338)는 데이터 포인트가 영역(458-5 또는 458-4)에 있다면 정정 조치를 취할 수 있으며, 데이터 포인트가 영역(458-3, 458-2, 또는 458-1)에 있다면 정정 조치를 취하지 않을 수 있다. 부가적인 예로서, 제어기(338)는 데이터 포인트가 영역(458-5, 458-4, 또는 458-3)에 있다면 정정 조치를 취할 수 있으며 데이터 포인트가 영역(458-2 또는 458-1)에 있다면 정정 조치를 취하지 않을 수 있다. 정정 조치를 취하도록 결정하기 위해 제어기(338)에 대해 어떤 영역 또는 영역들에 데이터 포인트가 있을 필요가 있는지에 대한 결정은, 예를 들면, 메모리의 현재 동작 및/또는 성능 레벨에 의존할 수 있다. 예를 들면, 메모리의 동작 및/또는 성능 레벨이 클수록, 정정 조치가 취해지는 것을 야기할 영역은 더 많다.
도 5는 본 개시내용의 다수의 실시예에 따라 메모리(예로서, 도 3과 관련되어 이전에 설명된 메모리(340-1, 340-2, ..., 340-N))를 동작시키기 위한 방법(560)을 예시한다. 방법(560)은 예를 들면, 도 3과 관련되어 이전에 설명된 제어기(338)에 의해 수행될 수 있다. 방법(560)은 예를 들면, 동작이 그의 정정 한계에 가까워지는지 및 정정 조치가 취해져야 하는지를 결정하는 것을 포함하여, 하드 및 소프트 데이터에 대해 수행된 에러 정정 동작의 성능을 모니터링하기 위해 사용될 수 있다.
블록(562)에서, 방법(560)은 메모리의 셀의 데이터 상태, 및 감지된 데이터 상태와 연관된 소프트 데이터를 감지하기 위해 감지 동작을 수행하는 것을 포함한다. 다수의 실시예에서, 각각의 개별적 셀의 데이터 상태, 및 각각의 개별적 메모리 셀의 데이터 상태와 연관된 소프트 데이터는 동일한 감지 동작 동안 감지될 수 있다. 데이터 상태, 및 그것과 연관된 소프트 데이터는, 여기에서 이전에 설명된 바와 같이, 복수의 감지 전압을 사용하여 감지될 수 있다. 예를 들면, 소프트 데이터는 도 2에 예시된 기준 전압(R1 내지 R5)을 사용하여 감지될 수 있다.
블록(564)에서, 방법(560)은 에러를 정정하기 위해 감지된 데이터 상태 및/또는 그것과 연관된 소프트 데이터에 대한 에러 정정 동작을 수행하는 것을 포함한다. 소프트 데이터에 대한 에러 정정을 수행하는 것은 여기에서 이전에 설명된 바와 같이, 소프트 데이터에 대한 LDPC 동작을 수행하는 것을 포함할 수 있다. 그러나, 본 개시내용의 실시예는 특정한 유형의 ECC 기법에 제한되지 않는다(에러 정정 동작은 다른 유형의 ECC 기법을 사용하여 수행될 수 있다).
블록(566)에서, 방법(560)은 에러 정정 동작이 성공적이었는지(예로서, 에러 정정 동작이 감지된 데이터 상태 및/또는 소프트 데이터에서 에러를 정확하게 디코딩할 수 있었는지)를 결정하는 것을 포함한다. 에러 정정 동작이 성공적이지 않았다고 결정되면, 예를 들면, 판독-재시도 복구 기법, 정정 판독 복구 기법, 및/또는 중복 어레이의 독립적 NAND(RAIN) 복구 기법과 같은, 다수의 복구 기법이 데이터를 복구하려고 시도하기 위해 블록(568)에서 수행될 수 있다. 에러 정정이 성공적이라고 결정되면, 에러 정정 동작이 블록(570)에서 소프트 데이터에 대해 수행되었는지가 결정될 수 있다.
에러 정정 동작이 소프트 데이터에 대해 수행되었다고 결정되면, 에러 정정 동작과 연관된 비트 에러 레이트는 블록(572)에서 결정될 수 있으며, 에러 정정 동작과 연관된 고 신뢰성 에러 레이트는 블록(574)에서 결정될 수 있다. 에러 정정 동작과 연관된 비트 에러 레이트는, 예를 들면, 에러 정정 동작 동안 정정된 잘못된 소프트 데이터 비트의 양을 사용하여 결정될 수 있으며(예로서, ECC 기법에 의해), 고 신뢰성 에러 레이트는, 예를 들면, 여기에서 이전에 설명된 바와 같이, 고 신뢰성 에러인 에러 정정 동작 동안 정정된 소프트 데이터 에러의 양에 기초하여, 결정될 수 있다.
블록(576)에서, 방법(560)은 감지된 데이터에 대해 정정 조치를 취할지를 결정하는 것을 포함한다. 이러한 결정은, 여기에서 이전에 설명된 바와 같이, 에러 정정 동작과 연관된 비트 에러 레이트 및 고 신뢰성 에러 레이트에 기초하여 이루어질 수 있다. 예를 들면, 이러한 결정은, 도 4와 관련되어 이전에 설명된 바와 같이, 곡선(452 및/또는 454-1, 454-2, 및 454-3)을 가진 2-차원 공간(450)에 비트 에러 레이트 및 고 신뢰성 에러 레이트를 표시함으로써 이루어질 수 있다. 부가적인 예로서, 이러한 결정은 룩-업 테이블 기반일 수 있다. 예를 들면, 이러한 결정은 룩-업 테이블에서 비트 에러 레이트 및 고 신뢰성 에러 레이트를 검색함으로써 이루어질 수 있다. 소프트 데이터에 대해 정정 조치를 취하지 않는 것으로 결정되면, 어떤 정정 조치도 취해지지 않으며, 방법(560)은 블록(580)에서 종료된다. 정정 조치를 취하는 것으로 결정되면, 정정 조치는 블록(578)에서 취해진다. 정정 조치는, 예를 들면, 여기에서 이전에 설명된 바와 같이, 감지된 데이터의 재배치를 포함할 수 있다.
에러 정정 동작이 블록(570)에서 소프트 데이터에 대해 수행되지 않았다(예로서, 에러 정정 동작은 감지된 데이터 상태에 대해 수행되었다)고 결정되면, 감지된 데이터 상태에 대해 수행된 에러 정정 동작과 연관된 비트 에러 레이트는 블록(582)에서 결정될 수 있다. 비트 에러 레이트는 감지 동작 동안 감지된 하드 데이터의 총 양(예로서, 샘플 크기)으로 나눈 블록(562)에서 수행된 감지 동작 동안 감지된 잘못된 하드 데이터의 양에 대응하는 잘못된 비트의 양을 나타낼 수 있다. 이와 같이, 감지된 데이터 상태에 대해 수행된 에러 정정 동작과 연관된 비트 에러 레이트는 하드 데이터의 총 양으로 에러 정정 동작 동안 정정된 잘못된 비트의 양을 나눔으로써 결정될 수 있다.
블록(584)에서, 방법(560)은 감지된 데이터 상태(예로서, 하드 데이터)에 대해 정정 조치를 취할지를 결정하는 것을 포함한다. 이러한 결정은 블록(564)에서 수행된 에러 정정 동작과 연관된 비트 에러 레이트에 기초하여 이루어질 수 있다. 예를 들면, 이러한 결정은 에러 정정 동작과 연관된 비트 에러 레이트가 임계 비트 에러 레이트를 충족시키는지 또는 초과하는지에 기초할 수 있다. 임계 비트 에러 레이트는 에러 정정 동작의 정정 한계(예로서, 동작이 정정할 수 있는 에러의 양)에 대응할 수 있다.
감지된 데이터 상태에 대해 정정 조치를 취하지 않는 것으로 결정되면, 어떤 정정 조치도 취해지지 않으며, 방법(560)은 블록(588)에서 종료된다. 정정 조치를 취하는 것으로 결정되면, 정정 조치는 블록(586)에서 취해진다. 정정 조치는, 예를 들면, 메모리에서 상이한 위치로의 데이터의 재배치를 포함할 수 있다. 예를 들면, 데이터는 메모리의 상이한 페이지, 블록, 또는 다이로 프로그램되며 그리고/또는 그것에 저장될 수 있다.
특정 실시예가 여기에서 예시되고 설명되지만, 이 기술분야의 숙련자는 동일한 결과를 달성하기 위해 산출된 배열이 도시된 특정 실시예를 위해 대체될 수 있다는 것을 이해할 것이다 본 개시내용은 본 개시내용의 다수의 실시예의 적응화 또는 변화를 커버하도록 의도된다. 상기 설명은 제한적인 것이 아닌, 예시적인 방식으로 이루어졌다는 것이 이해될 것이다. 상기 실시예의 조합, 및 여기에서 구체적으로 설명되지 않은 다른 실시예는 상기 설명을 검토할 때 이 기술분야에서의 통상의 기술자에게 분명할 것이다. 본 개시내용의 다수의 실시예의 범위는 상기 구조 및 방법이 사용되는 다른 애플리케이션을 포함한다. 그러므로, 본 개시내용의 다수의 실시예의 범위는, 이러한 청구항이 자격을 얻은 등가물의 전체 범위와 함께, 첨부된 청구항을 참조하여 결정되어야 한다.
앞서 말한 상세한 설명에서, 몇몇 특징은 개시를 간소화할 목적으로 단일 실시예에서 함께 그룹핑된다. 개시의 이러한 방법은 본 개시내용의 개시된 실시예가 각각의 청구항에서 명확하게 열거된 것보다 많은 특징을 사용해야 한다는 의도를 반영한 것으로 해석되지 않을 것이다. 오히려, 다음의 청구항이 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모든 특징보다 적다. 따라서, 다음의 청구항은 상세한 설명으로 통합되며, 각각의 청구항은 별개의 실시예로서 그 자체로 성립된다.

Claims (24)

  1. 장치로서,
    메모리; 및
    회로로서,
    상기 메모리의 다수의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대해 수행된 에러 정정 동작 동안 정정된 잘못된 데이터의 양을 결정하고;
    상기 소프트 데이터에 대해 수행된 상기 에러 정정 동작 동안 정정된 상기 잘못된 데이터와 연관된 소프트 정보의 품질을 결정하며; 그리고
    상기 에러 정정 동작 동안 정정된 상기 잘못된 데이터의 양 및 상기 에러 정정 동작 동안 정정된 상기 잘못된 데이터와 연관된 소프트 정보의 품질에 기초하여 상기 감지된 데이터에 대해 정정 조치를 취할지를 결정하도록 구성된, 상기 회로를 포함하는, 장치.
  2. 제1항에 있어서, 상기 소프트 데이터에 대해 수행된 상기 에러 정정 동작 동안 정정된 상기 잘못된 데이터와 연관된 소프트 정보의 품질은 상기 에러 정정 동작과 연관된 고 신뢰성 에러 레이트에 대응하는, 장치.
  3. 제2항에 있어서,
    상기 고 신뢰성 에러 레이트는 고 신뢰성 에러인 상기 에러 정정 동작 동안 정정된 에러의 양에 대응하며; 그리고
    상기 에러 정정 동작 동안 정정된 에러는 상기 에러를 가진 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 메모리 셀의 데이터 상태를 감지하기 위해 사용된 전압에서 떨어진 특정한 전압 양임을 나타낸다면 고 신뢰성 에러인, 장치.
  4. 제1항에 있어서, 상기 회로는,
    상기 에러 정정 동작 동안 정정된 잘못된 데이터의 양에 기초하여 상기 소프트 데이터에 대해 수행된 에러 정정 동작과 연관된 비트 에러 레이트를 결정하며; 그리고
    상기 에러 정정 동작과 연관된 비트 에러 레이트 및 상기 에러 정정 동작 동안 정정된 상기 잘못된 데이터와 연관된 소프트 정보의 품질에 기초하여 상기 감지된 데이터에 대해 정정 조치를 취할지를 결정하도록 구성되는, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 회로는 각각의 개별적인 메모리 셀의 데이터 상태 및 각각의 개별적 메모리 셀의 상기 감지된 데이터 상태와 연관된 소프트 데이터를 감지하기 위해 감지 동작을 수행하도록 구성되는, 장치.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 감지된 데이터에 대한 정정 조치는 상기 메모리에서 상이한 위치로의 상기 감지된 데이터의 재배치인, 장치.
  7. 장치로서,
    메모리; 및
    회로로서,
    상기 메모리의 다수의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대해 수행된 에러 정정 동작과 연관된 비트 에러 레이트를 결정하고;
    상기 소프트 데이터에 대해 수행된 상기 에러 정정 동작과 연관된 고 신뢰성 에러 레이트를 결정하며; 그리고
    상기 에러 정정 동작과 연관된 상기 비트 에러 레이트 및 상기 에러 정정 동작과 연관된 상기 고 신뢰성 에러 레이트에 기초하여 상기 감지된 데이터에 대해 정정 조치를 취할지를 결정하도로 구성된, 상기 회로를 포함하는, 장치.
  8. 제7항에 있어서, 상기 회로는 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간에서 상기 비트 에러 레이트 및 상기 고 신뢰성 에러 레이트에 대응하는 데이터 포인트의 위치에 기초하여 상기 정정 조치를 취할지를 결정하도록 구성되는, 장치.
  9. 제8항에 있어서,
    상기 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간은 상기 소프트 데이터에 대해 수행된 상기 에러 정정 동작의 정정 한계에 대응하는 곡선을 포함하며; 그리고
    상기 회로는 상기 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간에서의 곡선에 대한 상기 데이터 포인트의 위치에 기초하여 상기 정정 조치를 취할지를 결정하도록 구성되는, 장치.
  10. 제9항에 있어서,
    상기 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간은 다수의 부가적인 곡선을 포함하고, 각각의 개별적인 부가적인 곡선은 상기 에러 정정 동작의 정정 한계에 대응하는 상기 곡선과 연관된 상이한 마진 양에 대응하며; 그리고
    상기 회로는 상기 2-차원 비트 에러 레이트 대 고 신뢰성 에러 레이트 공간에서 상기 다수의 부가적인 곡선에 대한 상기 데이터 포인트의 위치에 기초하여 상기 정정 조치를 취할지를 결정하도록 구성되는, 장치.
  11. 제9항 또는 제10항에 있어서, 상기 회로는 상기 회로에 의해 소프트 데이터에 대해 수행된 이전 에러 정정 동작에 기초하여 상기 곡선을 생성하도록 구성되는, 장치.
  12. 제9항 또는 제10항에 있어서, 상기 곡선은 사전-생성된 곡선인, 장치.
  13. 메모리를 동작시키기 위한 방법에 있어서,
    다수의 메모리 셀의 감지된 데이터 상태와 연관된 소프트 데이터에 대한 에러 정정 동작을 수행하는 단계;
    상기 에러 정정 동작 동안 정정된 잘못된 소프트 데이터의 양을 결정하는 단계;
    상기 에러 정정 동작 동안 정정된 상기 잘못된 소프트 데이터와 연관된 소프트 정보의 품질을 결정하는 단계; 및
    상기 에러 정정 동작 동안 정정된 상기 잘못된 소프트 데이터의 양 및 상기 에러 정정 동작 동안 정정된 상기 잘못된 소프트 데이터와 연관된 상기 소프트 정보의 품질에 기초하여 상기 감지된 데이터에 대해 정정 조치를 취할지를 결정하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  14. 제13항에 있어서, 상기 방법은,
    잘못된 데이터 공간의 2-차원 양 대 품질에서 상기 잘못된 소프트 데이터의 양 및 상기 잘못된 소프트 데이터와 연관된 소프트 정보의 품질에 대응하는 데이터 포인트의 위치가 상기 소프트 데이터에 대해 수행된 상기 에러 정정 동작의 정정 한계에 대응하는 상기 2-차원 공간에서 곡선의 제1 측면 상에 있다면 상기 정정 조치를 취하는 단계; 및
    상기 데이터 포인트의 위치가 상기 2-차원 공간에서 상기 곡선의 제2 측면 상에 있다면 상기 정정 조치를 취하지 않는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  15. 제13항 또는 제14항에 있어서,
    각각의 개별적 메모리 셀의 상기 감지된 데이터 상태와 연관된 소프트 데이터는 상기 메모리 셀의 데이터 상태와 연관된 임계 전압 분포 내에서 상기 메모리 셀과 연관된 임계 전압의 위치를 나타내며; 그리고
    상기 에러 정정 동작 동안 정정된 상기 잘못된 소프트 데이터와 연관된 상기 소프트 정보의 품질은 상기 잘못된 소프트 데이터에 의해 표시된 임계 전압 위치에 대응하는, 메모리를 동작시키기 위한 방법.
  16. 제13항 또는 제14항에 있어서,
    각각의 개별적 메모리 셀의 상기 감지된 데이터 상태와 연관된 상기 소프트 데이터는 상기 메모리 셀과 연관된 임계 전압이 상기 메모리 셀의 데이터 상태에 대응하는지의 확률을 나타내며; 그리고
    상기 에러 정정 동작 동안 정정된 상기 잘못된 소프트 데이터와 연관된 상기 소프트 정보의 품질은 상기 잘못된 소프트 데이터에 의해 표시된 확률에 대응하는, 메모리를 동작시키기 위한 방법.
  17. 제13항 또는 제14항에 있어서, 상기 소프트 데이터에 대한 상기 에러 정정 동작을 수행하는 단계는 상기 소프트 데이터에 대해 저밀도 패리티 검사(low-density parity-check: LDPC) 동작을 수행하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  18. 제13항 또는 제14항에 있어서, 상기 방법은 저밀도 패리티 검사(LDPC) 에러 정정 코드(error correction code: ECC)이 아닌 ECC 기법을 사용하여 상기 소프트 데이터에 대한 상기 에러 정정 동작을 수행하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  19. 메모리를 동작시키기 위한 방법으로서,
    다수의 메모리 셀의 데이터 상태와 연관된 소프트 데이터를 감지하는 단계;
    상기 소프트 데이터에서 에러를 정정하기 위해 상기 소프트 데이터에 대한 에러 정정 동작을 수행하는 단계;
    상기 에러 정정 동작과 연관된 비트 에러 레이트를 결정하는 단계;
    상기 에러 정정 동작과 연관된 고 신뢰성 에러 레이트를 결정하는 단계; 및
    상기 에러 정정 동작과 연관된 상기 비트 에러 레이트 및 상기 에러 정정 동작과 연관된 상기 고 신뢰성 에러 레이트에 기초하여 정정 조치를 취할지를 결정하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  20. 제19항에 있어서, 상기 방법은 고 신뢰성 에러인 상기 에러 정정 동작 동안 정정된 상기 에러의 양에 기초하여 상기 에러 정정 동작과 연관된 상기 고 신뢰성 에러 레이트를 결정하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
  21. 제20항에 있어서, 상기 에러 정정 동작 동안 정정된 상기 소프트 데이터에서의 에러는 상기 에러를 가진 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 메모리 셀의 데이터 상태를 감지하기 위해 사용된 전압으로부터 떨어진 특정한 전압 양임을 나타낸다면 고 신뢰성 에러인, 메모리를 동작시키기 위한 방법.
  22. 제20항에 있어서,
    상기 방법은 복수의 감지 전압을 사용하여 각각의 개별적 메모리 셀의 데이터 상태와 연관된 상기 소프트 데이터를 감지하는 단계를 포함하며; 그리고
    상기 에러 정정 동작 동안 정정된 상기 소프트 데이터에서의 에러는,
    상기 에러를 가진 상기 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 복수의 감지 전압 중 최고의 것보다 큰 전압에 위치됨을 나타내거나; 또는
    상기 에러를 가진 상기 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 복수의 감지 전압 중 최저의 것보다 낮은 전압에 위치됨을 나타낸다면 고 신뢰성 에러인, 메모리를 동작시키기 위한 방법.
  23. 제20항에 있어서,
    상기 방법은 복수의 감지 전압을 사용하여 각각의 개별적 메모리 셀의 데이터 상태와 연관된 상기 소프트 데이터를 감지하는 단계를 포함하며; 그리고
    상기 에러 정정 동작 동안 정정된 상기 소프트 데이터에서의 에러는 상기 에러를 가진 상기 소프트 데이터가 상기 메모리 셀과 연관된 임계 전압이 상기 메모리 셀의 데이터 상태에 대응하는 가장 강한 확률을 갖는다고 나타내면 고 신뢰성 에러인, 메모리를 동작시키기 위한 방법.
  24. 제19항에 있어서, 상기 방법은,
    각각의 개별적 메모리 셀의 데이터 상태를 감지하는 단계;
    상기 감지된 데이터 상태에 대한 에러 정정 동작을 수행하는 단계;
    상기 감지된 데이터 상태에 대해 수행된 상기 에러 정정 동작과 연관된 비트 에러 레이트를 결정하는 단계; 및
    상기 감지된 데이터 상태에 대해 수행된 상기 에러 정정 동작과 연관된 비트 에러 레이트에 기초하여 상기 감지된 데이터 상태에 대해 정정 조치를 취할지를 결정하는 단계를 포함하는, 메모리를 동작시키기 위한 방법.
KR1020187032596A 2016-04-15 2017-03-17 메모리에서 수행된 에러 정정 동작을 모니터링하는 방법 KR102135293B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/099,675 2016-04-15
US15/099,675 US9904594B2 (en) 2016-04-15 2016-04-15 Monitoring error correction operations performed in memory
PCT/US2017/022897 WO2017180289A1 (en) 2016-04-15 2017-03-17 Monitoring error correction operations performed in memory

Publications (2)

Publication Number Publication Date
KR20180126083A true KR20180126083A (ko) 2018-11-26
KR102135293B1 KR102135293B1 (ko) 2020-07-20

Family

ID=60038215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032596A KR102135293B1 (ko) 2016-04-15 2017-03-17 메모리에서 수행된 에러 정정 동작을 모니터링하는 방법

Country Status (6)

Country Link
US (2) US9904594B2 (ko)
EP (1) EP3443459A4 (ko)
KR (1) KR102135293B1 (ko)
CN (2) CN114579351A (ko)
TW (2) TWI685734B (ko)
WO (1) WO2017180289A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10374639B2 (en) 2016-12-06 2019-08-06 Western Digital Technologies, Inc. Adaptive bit-flipping decoder based on dynamic error information
US10284233B2 (en) * 2016-12-06 2019-05-07 Western Digital Technologies, Inc. ECC adjustment based on dynamic error information
US10158380B2 (en) * 2016-12-06 2018-12-18 Sandisk Technologies Llc ECC and read adjustment based on dynamic memory error model estimation
CN113113076A (zh) * 2017-08-08 2021-07-13 慧荣科技股份有限公司 解码方法及相关的闪存控制器与电子装置
GB2574231B (en) * 2018-05-31 2020-12-30 Advanced Risc Mach Ltd An apparatus and method for triggering action performance
US10802909B2 (en) * 2018-08-17 2020-10-13 Micron Technology, Inc. Enhanced bit flipping scheme
TWI672702B (zh) * 2018-09-28 2019-09-21 衡宇科技股份有限公司 訓練人工智慧估測儲存裝置的感測電壓的方法
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction
US11150812B2 (en) * 2019-08-20 2021-10-19 Micron Technology, Inc. Predictive memory management
US11049582B1 (en) * 2020-05-07 2021-06-29 Micron Technology, Inc. Detection of an incorrectly located read voltage
US11177013B1 (en) 2020-05-07 2021-11-16 Micron Technology, Inc. Determine signal and noise characteristics centered at an optimized read voltage
US11238953B2 (en) 2020-05-07 2022-02-01 Micron Technology, Inc. Determine bit error count based on signal and noise characteristics centered at an optimized read voltage
US11024401B1 (en) 2020-05-07 2021-06-01 Micron Technology, Inc. Compute an optimized read voltage
CN111638994B (zh) * 2020-06-01 2021-05-04 长江存储科技有限责任公司 一种闪存存储器及其错误比特计数检测方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004921A1 (en) * 2000-07-10 2002-01-10 Hitachi, Ltd. Method of deciding error rate and semiconductor integrated circuit device
WO2008109586A1 (en) * 2007-03-08 2008-09-12 Intel Corporation A method, apparatus, and system for dynamic ecc code rate adjustment
US20090319825A1 (en) * 2008-06-20 2009-12-24 Xueshi Yang Monitoring memory
US20130290612A1 (en) * 2012-04-26 2013-10-31 Stec, Inc. Soft information module
US20140380123A1 (en) * 2010-09-23 2014-12-25 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036816A (ko) * 2008-06-24 2011-04-11 샌디스크 아이엘 엘티디 고체 상태 메모리의 소거 횟수에 따라 에러를 정정하기 위한 방법과 장치
US8370712B2 (en) * 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
US8451664B2 (en) * 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
US9612903B2 (en) * 2012-10-11 2017-04-04 Micron Technology, Inc. Updating reliability data with a variable node and check nodes
US8972826B2 (en) * 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US8898549B2 (en) * 2013-02-12 2014-11-25 Seagate Technology Llc Statistical adaptive error correction for a flash memory
US9262316B2 (en) 2013-12-09 2016-02-16 International Business Machines Corporation Recording dwell time in a non-volatile memory system
KR102110767B1 (ko) * 2013-12-24 2020-06-09 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러
CN105023613B (zh) * 2014-04-22 2019-06-14 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US9460783B2 (en) 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
JP2016053757A (ja) 2014-09-02 2016-04-14 株式会社東芝 メモリシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004921A1 (en) * 2000-07-10 2002-01-10 Hitachi, Ltd. Method of deciding error rate and semiconductor integrated circuit device
WO2008109586A1 (en) * 2007-03-08 2008-09-12 Intel Corporation A method, apparatus, and system for dynamic ecc code rate adjustment
US20090319825A1 (en) * 2008-06-20 2009-12-24 Xueshi Yang Monitoring memory
US20140380123A1 (en) * 2010-09-23 2014-12-25 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
US20130290612A1 (en) * 2012-04-26 2013-10-31 Stec, Inc. Soft information module

Also Published As

Publication number Publication date
US9904594B2 (en) 2018-02-27
EP3443459A4 (en) 2019-11-13
WO2017180289A1 (en) 2017-10-19
TW201802678A (zh) 2018-01-16
US10340014B2 (en) 2019-07-02
KR102135293B1 (ko) 2020-07-20
TWI634419B (zh) 2018-09-01
TW201841115A (zh) 2018-11-16
TWI685734B (zh) 2020-02-21
EP3443459A1 (en) 2019-02-20
US20170300377A1 (en) 2017-10-19
CN114579351A (zh) 2022-06-03
CN109154901B (zh) 2022-04-12
US20180143875A1 (en) 2018-05-24
CN109154901A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
KR102135293B1 (ko) 메모리에서 수행된 에러 정정 동작을 모니터링하는 방법
US10936416B2 (en) Redundant array of independent NAND for a three-dimensional memory array
US9552888B2 (en) Methods, devices, and systems for data sensing
KR101427023B1 (ko) 메모리 장치들 및 시스템들에서 소프트 데이터를 결정하고 사용하는 방법
US9583183B2 (en) Reading resistive random access memory based on leakage current
JP2013503410A (ja) メモリ装置におけるしきい値電圧の変化に対応するための方法、装置、およびシステム
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR20130027138A (ko) 에러 정정 방법 및 이를 이용하는 메모리 장치
US11106518B2 (en) Failure mode study based error correction
US20160267999A1 (en) Semiconductor memory device and memory system
US10755798B2 (en) Recovering data from a faulty memory block in a memory system
US10354700B2 (en) Read threshold voltage selection
US20160125960A1 (en) System and method for write abort detection
US10084487B2 (en) Apparatuses and methods for erasure-assisted ECC decoding
US10886002B1 (en) NAND field use erase plus defect detections

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
GRNT Written decision to grant