KR20190035936A - 전류 적분 감지를 이용하여 확률 정보를 생성하기 위한 장치 및 방법 - Google Patents

전류 적분 감지를 이용하여 확률 정보를 생성하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20190035936A
KR20190035936A KR1020197008540A KR20197008540A KR20190035936A KR 20190035936 A KR20190035936 A KR 20190035936A KR 1020197008540 A KR1020197008540 A KR 1020197008540A KR 20197008540 A KR20197008540 A KR 20197008540A KR 20190035936 A KR20190035936 A KR 20190035936A
Authority
KR
South Korea
Prior art keywords
memory cells
sensing
memory
voltage
probability information
Prior art date
Application number
KR1020197008540A
Other languages
English (en)
Other versions
KR102227816B1 (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 KR20190035936A publication Critical patent/KR20190035936A/ko
Application granted granted Critical
Publication of KR102227816B1 publication Critical patent/KR102227816B1/ko

Links

Images

Classifications

    • 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/1068Adding 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
    • 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/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
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/08Control thereof
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

전류 적분을 이용하여 에러 정정을 위한 확률 정보를 생성하기 위한 방법 및 장치가 개시된다. 예시적인 방법은, 제1 감지 임계값에 기초하여 제1 복수의 메모리 셀을 감지하는 단계, 제1 복수의 셀을 감지하는 것에 응답하여, 제1 확률 정보 세트를 제1 복수의 메모리 셀과 관련시키는 단계, 제2 감지 임계값에 기초하여 제2 복수의 메모리 셀을 감지하는 단계, 제2 복수의 메모리 셀을 감지하는 것에 응답하여, 제2 확률 정보 세트를 제2 복수의 메모리 셀에 관련시키는 단계, 및 제1 및 제2 값에 적어도 부분적으로 기초하여 제1 및 제2 복수의 메모리 셀에 대한 에러 정정 동작을 수행하는 단계를 포함한다.

Description

전류 적분 감지를 이용하여 확률 정보를 생성하기 위한 장치 및 방법
저밀도 패리티 검사(Low-density parity check: LDPC) 코드는 메모리 디바이스 내의 에러 정정을 위해 점점 일반화되고 있다. LDPC 코드는 특정 에러 정정 코드(error correction code: ECC) 코드 레이트가 주어지면 이론적으로 정정 가능한 최고의 로우 비트 에러율(raw bit error rate: RBER)을 달성할 수 있는 용량 접근 코드(capacity approaching code)의 등급이다. 대부분의 LDPC 코드는 신뢰 전파 디코딩(belief propagation decoding)에 기초하여 디코딩된다. 신뢰 전파 디코딩은, LDPC 디코더가 각 비트마다 확률(probabilistic) 또는 "소프트(soft)" 정보를 사용하여 코드의 제약 조건에 기초하여 특정 비트의 에러 가능성을 추정한다는 것을 의미한다. 확률 정보는, 감지된 비트의 알려진 값이 해당 비트의 실제 값이라는 신뢰를 표현하기 위해 대수 눈금(logarithmic scale)을 사용하는 로그 우도비(log likelihood ratio: LLR)의 형태로 표현될 수 있다. 많은 메모리 디바이스에서, LDPC 디코더가 하나 이상의 셀이 디코딩 후에 에러 비트(erroneous bit)를 가질 수 있음을 나타내는 것을 의미하는, 하드 판독 동작(hard read operation)(단순히 셀을 감지하고 셀로부터 감지된 데이터를 리턴(return)하는 것)이 실패할 경우에는, 셀은 소프트 입력 LDPC 코드 디코더에 따라 디코딩을 수행하기 위해 추가 횟수 감지된다. 판독되는 각 메모리 셀 상에서 다수의 판독 스트로브를 수행함으로써, 확률 정보가 데이터 내의 에러 비트를 결정하고 정정하기 위해 LDPC 디코더에 대해 생성된다. 확률 정보 및/또는 감지된 비트에 기초하여, LDPC 디코더는 유효 코드워드를 재구성하고, 잡음 채널을 통해 전송되었을 때에 손실된 데이터를 복구할 수 있다.
일 양태에 따르면, 방법은 제1 감지 임계값에 기초하여 제1 복수의 메모리 셀을 감지하는 단계를 포함한다. 제1 복수의 셀을 감지하는 것에 응답하여, 제1 전압 범위 내의 전압이 저장되어 있는 제1 복수의 메모리 셀의 일부를 식별하는 단계. 제2 감지 임계값에 기초하여 제2 복수의 메모리 셀을 감지하는 단계. 제2 복수의 메모리 셀을 감지하는 것에 응답하여, 제2 전압 범위 내의 전압이 저장되어 있는 제2 복수의 메모리 셀의 일부를 식별하는 단계. 식별된 제1 및 제2 전압 범위에 적어도 부분적으로 기초하여 제1 및 제2 복수의 메모리 셀에 대한 에러 정정 동작을 수행하는 단계.
다른 양태에 따르면, 제1 메모리 셀이 제1 감지 전압 미만의 임계 전압을 갖는 것을 결정하는 단계를 포함한다. 제1 메모리 셀의 임계 전압이 제1 감지 전압 미만인 것을 결정하는 것에 응답하여, 제1 메모리 셀과 관련된 확률 정보를 생성하는 단계. 확률 정보에 적어도 부분적으로 기초하여 제1 메모리 셀에 대한 에러 정정 동작을 수행하는 단계.
또 다른 양태에 따르면, 장치는 각각이 복수의 논리 상태를 저장하도록 구성된 복수의 메모리 셀을 포함한다. 논리 상태들 사이의 전이 전압(transition voltage) 범위 내에서 셀 임계값을 갖는 복수의 메모리 셀의 수를 결정하도록 구성된 감지 회로. 논리 상태들 사이의 전이 전압 범위 내에서 셀 임계값을 갖는 메모리 셀의 수를 저장하도록 구성된 카운터 회로.
또 다른 양태에 따르면, 방법은 복수의 메모리 셀에 대하여, 제1 논리 상태를 갖는 메모리 셀의 제1 서브세트를 검출하는 비정밀(coarse) 감지 동작을 수행하는 단계를 포함한다. 제1 확률 정보를 메모리 셀의 제1 서브세트와 관련시키는 단계. 복수의 메모리 셀에 대하여, 제1 논리 상태를 갖는 메모리 셀의 제2 서브세트를 검출하는 정밀(fine) 감지 동작을 수행하는 단계. 제2 확률 정보를 메모리 셀의 제2 서브세트와 관련시키는 단계 및 제1 확률 정보 및 제2 확률 정보에 적어도 부분적으로 기초하여 복수의 메모리 셀에 대한 에러 정정을 수행하는 단계.
도 1은 본 발명의 일 실시형태에 따른, 메모리 디바이스를 포함하는 컴퓨팅 시스템의 블록도이다.
도 2는 본 발명의 일 실시형태에 따른, 메모리 어레이의 개략도이다.
도 3은 본 발명의 일 실시형태에 따른, 예시적인 감지 회로이다.
도 4는 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 하위 페이지(lower page)에 대한 단면(one-sided) 확률 정보를 생성하는 것을 도시하는 그래프이다.
도 5는 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 하위 페이지에 대한 양면(two-sided) 확률 정보를 생성하는 것을 도시하는 그래프이다.
도 6은 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 상위 페이지에 대한 단면 확률 정보를 생성하는 것을 도시하는 그래프이다.
도 7은 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 상위 페이지에 대한 양면 확률 정보를 생성하는 것을 도시하는 그래프이다.
도 8은 본 발명의 일 실시형태에 따른, 전류 적분(current integration)을 이용하여 확률 정보를 생성하기 위한 방법을 도시한다.
도 9는 본 발명의 일 실시형태에 따른, 메모리의 블록도이다.
이하에서는, 본 발명의 실시형태에 대한 충분한 이해를 제공하기 위해 특정 상세가 설명된다. 그러나, 본 발명의 실시형태가 이들 특정 상세없이 실시될 수 있음이 당업자에게는 명백할 것이다. 또한, 본 명세서에서 설명되는 본 발명의 특정 실시형태는 예로서 제공되며, 본 발명의 범위를 이들 특정 실시형태로 한정하는 데 사용되지 않아야 한다. 다른 경우에는, 잘 알려진 회로, 제어 신호, 타이밍 프로토콜, 및 소프트웨어 동작이 본 발명을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 도시되지 않았다.
전술한 바와 같이, 많은 LDPC 코드는 메모리로부터 검색된 데이터를 디코딩하기 위해 확률 정보에 의존한다. 전형적인 메모리 디바이스는 판독되는 각 셀 상에서 다수의 판독 스트로브를 수행함으로써 확률 정보를 추출한다. 다수의 판독 스트로브 동안 셀로부터 판독된 값에 기초하여, 확률 정보가 구성될 수 있다. 예를 들어, 특정 셀이 다수의 판독 스트로브의 전부를 통해 동일한 값 또는 값들을 보유하는 경우에는, 확률 정보는 셀이 감지된 값과 동일한 실제 값을 가질 가능성이 높다는 것을 나타낼 수 있다. 대안적으로, 셀로부터 판독된 값이 다수의 판독 스트로브 동안 변화하는 경우, 확률 정보는 셀로부터 판독된 값이 에러가 있을 수 있다는 것을 나타낼 수 있다. 사용된 스트로브의 수 및 셀이 각 가능한 값을 판독하는 횟수에 기초하여, 필요하다면, 셀이 정정되는 것을 보장하기 위해 확률 정보의 범위가 생성될 수 있다. 다수의 판독 스트로브를 수행하는 것은 메모리 성능에 여러 가지의 부작용을 미친다. 다수의 스트로브를 수행하는 것은 시간이 걸리며, 다수의 판독 스트로브에 필요한 추가 시간은 메모리 응답 시간, 레이턴시(latency), 및 타이밍 요구 조건의 준수에 부정적으로 영향을 미친다. 다수의 판독 스트로브를 수행하는 것은 메모리 디바이스의 전력 소비를 증가시킬 수 있다. 각 판독 스트로브가 별도의 판독 데이터를 생성하기 때문에, 메모리 인터페이스를 통해 전송되어야 하는 데이터의 양이 증가하여, 인터페이스 대역폭 및 레이턴시에 부정적으로 영향을 미칠 수 있다.
도 1은 본 발명의 일 실시형태에 따른, 호스트(102) 및 메모리 디바이스(104)를 포함하는, 개괄적으로 100으로 표기된 컴퓨팅 시스템의 블록도이다. 메모리 디바이스(104)는 제어 회로(106)를 포함할 수 있다. 제어 회로(106)는 LDPC 디코더 회로(108) 및 LDPC 인코더 회로(110)를 포함할 수 있다. 메모리 디바이스(104)는 잡음 채널(118)을 통해 제어 회로(106)에 결합된 메모리 어레이(112)를 더 포함할 수 있다. 메모리 어레이(112)는 복수의 메모리 셀(도 2 참조), 감지 회로(114), 및 감지 회로(114)에 결합된 카운터 회로(116)를 포함할 수 있다.
호스트(102)는, 예를 들어 랩톱 컴퓨터, 스마트폰, 서버 컴퓨터, 데스크톱 컴퓨터, 태블릿, 개인용 정보 단말기(personal digital assistant), 또는 메모리 디바이스(104)와 통신할 수 있는 임의의 다른 전자 디바이스와 같은 프로세서 기반 시스템일 수 있다.
메모리 디바이스(104)는 일반적으로, 이하에서 더욱 상세하게 설명되는 바와 같이, LDPC 코드(또는 확률 정보를 사용하는 유사한 코드)를 사용하여 ECC를 수행하도록 구성되고 전류 적분 기술을 이용하여 셀을 감지하도록 구성되는 임의의 유형의 메모리 디바이스일 수 있다. 제어 회로(106)는 일반적으로, 호스트(102)로부터 커맨드를 수신하고, 메모리 어레이(112)에 대한 직접 메모리 동작(예를 들어, 판독 및 기록 커맨드)을 유도하며, 적절한 경우(예를 들어, 판독 커맨드에 응답하여), 수신된 커맨드에 응답하여 데이터를 호스트에 제공하도록 구성된 임의의 회로, 디바이스, 또는 다른 시스템일 수 있다. LDPC 인코더 회로(110)는, 메모리 어레이(110) 내에 저장하기 위해 LDPC 코드에 따라 데이터를 인코딩하도록 구성된 회로, 디바이스, 또는 시스템일 수 있다. LDPC 디코더 회로(108)는, LDPC 코드 규칙에 따라, 감지 회로(114)에 의해 제공된 확률 정보에 기초하여 메모리 어레이(112)로부터 수신된 데이터에 대한 디코딩 동작을 수행하도록 구성된 회로, 디바이스, 또는 시스템일 수 있다. 당업자는, LDPC 인코더 회로(110) 및 LDPC 디코더 회로(108)가 데이터를 인코딩하는 데 사용된 특정 LDPC 인코딩 방식에 기초하여 다수의 상이한 방식으로 구현될 수 있다는 것을 이해할 것이다.
메모리 어레이(112)는 일반적으로 전류 적분 기술을 이용하여 감지될 수 있는 임의의 유형의 메모리 어레이일 수 있다. 예를 들어, 메모리 어레이(112)는 복수의 NAND 플래시 메모리 셀을 포함할 수 있다. 복수의 NAND 플래시 메모리 셀은 단일 레벨 셀(single level cell: SLC) 또는 멀티레벨 셀(multilevel cell: MLC)일 수 있다. 감지 회로(114)는, 전류 적분 기술을 이용하여 메모리 어레이(112) 내의 하나 이상의 셀을 감지하여 하나 이상의 셀 상에 저장된 값을 나타내는 감지 데이터를 생성하도록 구성될 수 있다. 감지 데이터는 LDPC 디코더 회로(110)를 사용하여 LDPC 디코딩 동작을 수행하기 위한 확률 정보를 생성하는 데 사용될 수 있다. 예시적인 감지 회로가 도 3과 관련하여 이하에서 더욱 상세하게 설명된다. 카운터 회로(116)는 셀에 의해 저장된 비트의 값에 관한 높은 불확실성을 갖는 셀의 카운트를 유지하도록 구성된 회로일 수 있다.
동작 시, 호스트(102)는 메모리 어레이(112) 내에 저장되는 데이터를 요청하는 커맨드를 제어 회로(106)에 제공할 수 있다. 제어 회로(106)는 요청된 데이터를 리턴하도록 메모리 어레이(112)에 지시할 수 있다. 감지 회로(114)는 전류 적분 기술을 이용하여 요청 데이터를 저장하는 셀을 감지하여 확률 정보를 생성할 수 있다. 감지 동작의 결과에 기초하여, 메모리 어레이(112)는 요청 데이터 및 관련 확률 정보를 잡음 채널(118)을 통해 제어 회로(106)에 리턴할 수 있다. 수신된 데이터에 기초하여, 제어 회로(106)는 LDPC 디코더 회로(108)로 데이터를 디코딩하고, 감지 회로(114)에 의해 제공된 확률 정보를 이용하여 임의의 에러 비트를 정정할 수 있다. 감지 회로(114)는 또한 감지 동작을 위한 임계 전압에 또는 그 근처에 있는 것으로 결정된 다수의 감지 셀을 카운터 회로(116) 내에 기록할 수 있다. 카운터 회로(116) 내의 셀의 수가 임계값을 초과하는 경우에는, 감지 회로(114)에 의해 추가 감지가 수행되어 확률 정보를 리파이닝(refine)하고 LDPC 디코딩 동작 동안 코드워드 정정의 확률을 개선할 수 있다.
도 2는 본 발명의 일 실시형태에 따른, 개괄적으로 212로 표기된 메모리 어레이의 개략도이다. 메모리 어레이(212)는 복수의 메모리 셀(202), 복수의 워드 라인(204(1)~(N)), 복수의 비트 라인(206(1)~(N)), 감지 회로(214), 및 카운터 회로(216)를 포함한다. 메모리 어레이(212)는 도 1의 메모리 어레이(112)로서 구현될 수 있다. 메모리 셀(202) 각각은, 예를 들어 MLC NAND 플래시 셀일 수 있다. 다른 유형의 메모리 셀이 또한 사용될 수 있다. 비트 라인(206(1)~(N)) 각각은 감지 회로(214)에 직렬로 결합된 복수의 메모리 셀(202)을 포함할 수 있다. 메모리 셀(202)의 각각의 게이트는 워드 라인(204(1)~(N)) 중 하나에 결합될 수 있다. 다양한 실시형태에서, 워드 라인(204(1)~(N)) 각각은 비트 라인(206(1)~(N)) 각각의 메모리 셀(202)에 결합될 수 있다.
메모리 셀(202) 각각은 그 위에 저장된 전하를 가질 수 있다. 각 메모리 셀(202) 상에 저장된 전하의 양은 다수의 논리 상태 중 하나를 나타낼 수 있다. 예를 들어, 2개의 비트를 저장하도록 구성된 멀티레벨 메모리 셀은 4개의 가능한 논리 상태(예를 들어, 11, 01, 00, 및 10)를 가질 수 있다. 각 논리 상태에 대한 다양한 전하 영역이 서로 인접하기 때문에, 메모리 셀(202)이 논리 레벨들 사이의 임계 전압 근처에서 검출될 때, 메모리 셀(202)이 정확한 논리 상태에 있다는 확실성이 적다. 따라서, 메모리 셀(202)이 에러가 있고 LDPC 디코딩 동작 동안 정정되어야 할 확률이 더 크다. 메모리 셀(202) 상에 저장된 전하의 양이 논리 상태에 기초하여 달라지기 때문에, 감지 동작 동안 셀이 방전하는 비율도 메모리 셀(202)의 논리 상태에 기초하여 달라진다. 전류 적분 감지 동안, 상이한 시간에 메모리 셀(202) 상에 저장된 값을 검출하여 메모리 셀(202)이 그 위에 저장된 주어진 값을 갖는지의 여부를 결정하도록 구성되는 다수의 감지 동작이 수행될 수 있다. 예를 들어, 특정 논리 상태에 대한 임계값보다 훨씬 위에 있는 해당 메모리 셀(202)은 감지 동작 동안 더 빠르게 방전할 것이다. 따라서, 이들 메모리 셀(202)은 다른 메모리 셀(202)보다 감지 동작에서 더 일찍 검출될 수 있다. 임계값에 가까운 저장된 전하를 갖는 해당 메모리 셀(202)은 감지 동작 동안 더 천천히 방전할 것이다. 따라서, 임계 전압에 가까운 해당 메모리 셀(202)을 검출하기 위해 제2 감지 동작이 추후에 수행된다.
감지 회로(214)는, 전류 적분 기술을 이용하여 메모리 셀(202) 내에 저장된 값을 감지하고 LDPC 디코딩 동작에서 사용하기 위한 확률 정보를 제어 회로(도 1 참조)에 제공하도록 구성될 수 있다. 감지 회로(214)는 다수의 감지 동작(예를 들어, 2회)을 수행할 수 있다. 예를 들어, 감지 회로(214)는, 메모리 셀(202)이 정확한 논리 상태에서 감지될 가능성이 높도록 제1 논리 상태에 있고 검출될 논리 상태와 인접한 논리 상태 사이의 전이 전압보다 충분히 위에 있는 메모리 셀(202)을 검출하려고 의도된 제1 감지 동작을 수행하도록 구성될 수 있다. 제1 감지 동작은, 메모리 셀이 에러가 있을 것 같지 않도록 제1 감지 동작이 임계값보다 충분히 위에 있는 해당 메모리 셀(202)을 검출하도록 구성됨을 의미하는 "비정밀" 감지 동작일 수 있다. 따라서, 비정밀 감지 동작 동안 검출된 메모리 셀(202)은 감지된 셀이 에러가 있을 것 같지 않음을 나타내는 확률 정보(예를 들어, 높은 LLR)와 관련될 수 있다. 제2 감지 동작은 인접한 논리 상태들 사이의 전이 전압 근처에 있는, 전하가 저장되어 있는 해당 셀을 감지하도록 구성된 "정밀" 감지 동작일 수 있다. 정밀 감지 동작 동안 검출된 해당 메모리 셀(202)은 비정밀 감지 동작 동안 감지된 해당 셀에 비해 에러가 있을 가능성이 증가될 수 있다. 따라서, 정밀 감지 동작 동안 검출된 메모리 셀(202)은 LDPC 디코딩 동작 동안 사용하기 위해 그와 관련된 더 낮은 LLR을 가질 수 있다. 감지 회로(214)의 동작이 도 3과 관련하여 이하에서 더욱 상세하게 설명된다. 카운터 회로(216)는 주어진 값에 대한 임계 전압에 또는 그 근처에 있는 감지된 메모리 셀(202)의 수의 카운트를 유지할 수 있다. 카운터 회로(216) 내에 저장된 메모리 셀(202)의 수가 임계값을 초과하는 경우에는, 도 8과 관련하여 이하에서 설명되는 바와 같이, LDPC 디코딩 동작에서 사용하기 위한 더욱 리파이닝된 확률 정보를 얻기 위해 메모리 셀(202) 상의 감지 회로(214)에 의해 추가 감지 동작이 수행될 수 있다.
도 3은 본 발명의 일 실시형태에 따른, 개괄적으로 314로 표기된 예시적인 감지 회로이다. 감지 회로(314)는 도 2의 감지 회로(214) 또는 도 1의 감지 회로(114)로서 구현될 수 있다. 감지 회로(314)는 일반적으로 전류 검출기 회로(302), 트립점(trip point) 선택기 회로 (304), 및 카운터 회로(306)를 포함한다.
전류 검출기 회로(302)는 하나 이상의 비트 라인을 통해 흐르는 셀 전류를 검출한다. 다양한 실시형태에서, 전류 검출기 회로는 비트 라인을 미리 결정된 전압으로 프리차지할 수 있다. 그런 다음, 미리 결정된 전압은 비트 라인에 결합된 메모리 셀을 통해 방전되어, 셀 전류 I을 생성한다. 셀 전류는 셀 상의 전압에 의존한다. 전술한 바와 같이, 셀은 상이한 논리 상태가 셀 상에 저장된 전압에 의존하는 멀티레벨 셀일 수 있다. 논리 상태들 사이의 경계를 정의하는 특정 전압 레벨은 일반적으로 임계 전압이라고 지칭될 수 있다. 임계 전압보다 충분히 아래에 있는 전압이 저장되어 있는 해당 셀은 임계 전압 근처에 있는 전압이 저장되어 있는 해당 셀보다 더 빠르게 방전할 수 있다. 따라서, 전류 검출기 회로(302)가 셀 전류를 검출하는 시간을 가변시킴으로써, 감지 회로(314)는 셀 전압이 감지 전압 미만인지의 여부를 결정할 수 있다.
전류 검출기 회로(302)는 스트로브 신호에 응답하여 감지 전압 미만의 셀 전압을 갖는 해당 셀을 검출하는 감지 래치(sense latch)를 포함할 수 있다. 전류 적분에 공통인 다수의 스트로브 신호를 이용하여 셀을 검출함으로써, 셀은 논리 상태들 사이의 임계 전압에 또는 그 근처에 있는 것으로서 식별될 수 있다. 예를 들어, 전류 검출기 회로(302)가 제1 시간에 셀 전류를 검출하는 경우, 전류 검출기 회로(302)는 제1 값 미만의 셀 전압을 갖는 셀을 결정할 수 있다. 제2 시간에서 스트로브 신호에 응답하여 수행되는 제2 감지 동작은 제1 값과 제2 값 사이에 있는 셀 전압을 갖는 셀을 검출할 수 있다. 따라서, 시간 경과에 따라 간격을 두고 다수의 검출을 수행함으로써, 전류 검출 회로는 셀 상에 저장된 전압에 대응하는 검출된 셀 전류에 기초하여 셀을 식별하고 다양한 전압 범위로 분류할 수 있다. 트립점 선택기 회로(304)는 전류 검출기 회로(302)가 셀 전류를 검출할 때를 결정한다. 트립점 선택기 회로(304)는 전류 적분 기술을 이용하여 셀 전류 검출을 개시하도록 구성될 수 있다. 즉, 트립점 선택기 회로(304)는, 제1 비정밀 감지 동작을 수행하여 논리 레벨들 사이의 임계값 근처에 있지 않은 전압이 저장되어 있는 셀을 검출하도록 전류 검출기 회로(302)에 지시할 수 있다. 비정밀 감지 동작의 경우, 트립점 선택기 회로(304)는, 논리 레벨들 사이의 임계 전압 미만인 제1 감지 전압에서 제1 감지 동작을 수행하도록 전류 검출기 회로에 지시할 수 있다. 그런 다음, 트립점 선택기 회로(304)는, 제2 정밀 감지 동작을 수행하여 논리 레벨들 사이의 임계 전압에 또는 그 근처에 있는 전압이 저장되어 있는 셀을 검출하도록 전류 검출기 회로에 지시할 수 있다. 정밀 감지 동작의 경우, 트립점 선택기 회로(304)는, 논리 레벨들 사이의 임계 전압과 동일한 제2 감지 전압에서 감지 동작을 수행하도록 전류 검출기 회로(302)에 지시할 수 있다.
카운터 회로(306)는, 논리 레벨들 사이의 전압 임계값에 또는 그 근처에 있는 검출된 셀의 수를 저장할 수 있는 레지스터와 같은 임의의 유형의 메모리 회로일 수 있다. 즉, 카운터 회로(306)는 정밀 감지 동작에 의해 검출되는 셀의 수를 저장한다. 임계 전압에 또는 그 근처에 있는 셀의 수가 검출된 경우에는, 트립점 선택기 회로는, 다른 감지 동작을 수행하여 제2 감지 전압과 임계 전압보다 큰 제3 감지 전압 사이에 있는 전압이 저장되어 있는 셀을 검출하도록 전류 검출기 회로에 지시할 수 있다.
제1 스트로브 신호에 의해 검출되는 해당 메모리 셀은, 검출된 메모리 셀이 논리 상태들 사이의 전이 전압 근처에 있지 않고, 이에 따라 검출된 논리 레벨이 에러가 있을 것 같지 않음을 나타내는 확률 정보와 관련될 수 있다. 예를 들어, 그 값은 임계값 근처에 있는 것으로 결정되는 셀에 비해 큰 LLR일 수 있다. 당업자는 그 값이 확률 ECC 방법에 관련된 LLR 값의 절대 값이 아닌 셀들 간의 LLR의 상대 값이라는 것을 이해할 것이다. 메모리 셀이 (예를 들어, 제1 스트로브 신호에서) 감지된 후, 그 셀이 금지될 수 있어, 메모리 셀은 후속하는 스트로브 동안 감지되지 않을 것이고, 이미 감지된 메모리 셀에 의해 인출된 전류는 후속하는 스트로브 신호 동안 감지될 수 있는 메모리 셀에 영향을 미칠 수 있는 잡음을 생성하지 않을 것이다. 스트로브 신호 생성기(338)는 제2 시간에 제2 스트로브 신호를 생성하도록 구성될 수 있다. 제1 스트로브 신호와 제2 스트로브 신호 사이에서, 논리 상태들 사이의 전이 전압에 더 가까운 추가 메모리 셀은 감지 래치(332)의 트립점까지 충분히 방전될 수 있다. 이들 메모리 셀은 제2 스트로브 신호에 의해 검출될 수 있다. 제2 스트로브 신호에 의해 검출되는 해당 메모리 셀은, 메모리 셀이 특정 논리 레벨에서 검출됨을 나타내는 확률 정보와 관련될 수 있지만, 제2 스트로브 신호에 의해 검출된 메모리 셀이 LDPC 디코딩 동작 동안 정정되어야 하는 에러를 포함할 확률이 (제1 스트로브 신호에 의해 검출된 해당 메모리 셀에 비해) 상대적으로 높다. 따라서, 제2 값은 상대적으로 낮은 LLR 값일 수 있다.
2개의 스트로브 신호가 전술되었지만, 추가 스트로브 신호가 셀이 분할될 수 있는 보다 정밀하게 정의된 영역을 생성하는 데 사용될 수 있다. 예를 들어, 3개의 스트로브가 3개의 영역, 즉 높은 LLR 영역, 중간 LLR 영역, 및 낮은 LLR 영역을 정의하는 데 사용될 수 있다. MLC의 경우, 추가 스트로브 신호가 다수의 논리 상태 사이의 임계값을 검출하는 데 사용될 수 있다. 2개의 비트를 저장하도록 구성된 MLC를 감지하는 일례가 도 4 내지 도 7과 관련하여 후술된다.
도 4는 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 임계 전압의 그래프이다. 그래프의 수평 축은 메모리 셀의 임계 전압을 나타낸다. 수직 축은 메모리 셀이 특정 임계 전압을 갖는 주어진 논리 상태에 있을 확률과 관련된 임의의 단위를 갖는다. 도 4는 4개의 영역을 나타낸다. 각 영역은 2개의 비트를 저장하도록 구성된 메모리 셀의 상이한 논리 상태와 관련된다. 4개의 가능한 논리 상태는 11, 01, 00, 및 10이다. 메모리 셀은 2개의 페이지, 즉 상위 페이지와 하위 페이지를 갖는 것으로 간주될 수 있다. 각 페이지는 메모리 셀의 1 비트와 관련되며, 0 또는 1의 논리 값을 가질 수 있다. 본 명세서에서 사용되는 바와 같이, 2 비트 메모리 셀을 지칭할 때, 상위 페이지 논리 값은 제1 논리 값이고, 하위 페이지 논리 값은 제2 논리 값이다. 각 논리 상태는 상대적으로 높은 중앙 영역 및 논리 상태들 사이의 경계 근처의 상대적으로 낮은 영역을 갖는 곡선으로 도시되어 있다. 곡선의 높이는 메모리 셀이 해당 특정 논리 상태에 있을 확률과 관련된다.
도 4는, 메모리 셀의 특정 논리 상태에 대응하는 2개의 상이한 임계 전압 S1 및 S2를 갖는 셀을 감지하는 것에 대응하는 2개의 상이한 시간에 취해진 2개의 스트로브 신호를 더 포함한다. 도 4의 실시형태에서, 스트로브 신호는 메모리 셀의 하위 페이지가 1의 논리 값을 갖는 상대 우도(relative likelihood)를 결정하도록 구성된다. 즉, 2개의 스트로브 신호 S1 및 S2는 메모리 셀이 논리 상태 11 또는 01 중 하나에 있을 가능성을 결정할 수 있다. 상위 페이지의 논리 값을 검출하도록 구성된 스트로브 신호가 도 6 및 도 7과 관련하여 이하에서 더욱 상세하게 설명된다. 도 3과 관련하여 전술한 바와 같이, 스트로브 신호는 상이한 논리 상태에 대응하는 메모리 셀의 상이한 임계 전압을 검출하도록 시간 설정될 수 있다. 도 4를 참조하면, 제1 스트로브 신호 S1은 메모리 셀이 1의 논리 값을 갖는 하위 페이지 비트를 가질 확률이 높은지의 여부를 검출하는 비정밀 감지 동작의 일부일 수 있다. 메모리 셀의 임계 전압이 감지 전압 미만인 경우에는(즉, 도 4의 영역 A), 메모리 셀은 상태 11 또는 01 중 하나에 있을 확률이 높은 것으로 간주될 수 있다. 해당 결과를 나타내는 높은 LLR 값이 메모리 셀과 관련될 수 있다.
메모리 셀이 제1 스트로브 신호 S1에 의해 충분히 방전되지 않은 경우에는, 제2 스트로브 신호 S2가 메모리 셀을 재차 감지하는 데 사용될 수 있다. 제2 스트로브 신호 S2는 논리 상태 01과 00 사이의 전이 전압에 또는 그 근처에 있는 임계 전압을 갖는 셀을 감지하도록 시간 설정될 수 있다. 제2 스트로브 신호 S2가 S2 전압 미만의 임계값을 갖는 셀만을 감지할 수 있고, 제1 스트로브 신호 전압 S1 미만의 임계값을 갖는 메모리 셀이 제2 스트로브 신호 동안 금지되기 때문에, 제2 스트로브 신호 동안 검출된 메모리 셀만이 도 4의 영역 B 내에 있다. 이들 메모리 셀이 논리 상태 01과 00 사이의 전이 전압 근처에 있기 때문에, 메모리 셀이 에러가 있을 확률이 더 크다(예를 들어, 해당 메모리 셀은 논리 상태 01로 감지되지만, 논리 상태 00으로서 감지되어야 한다). 따라서, 상대적으로 낮은 LLR 값이 감지된 메모리 셀에 할당될 수 있다. 낮은 LLR 값은 요청된 데이터에서 하나 이상의 에러 비트를 정정하기 위해 LDPC 동작 동안 사용될 수 있다. 제1 스트로브 신호 S1 및 제2 스트로브 신호 S2 중 하나 동안 검출되지 않은 해당 메모리 셀은 도 4의 영역 C 내에 있는 것으로 간주될 수 있고, 0의 하위 페이지 논리 값(즉, 논리 상태 00 또는 10 중 어느 하나)을 가질 수 있다.
일부 실시형태에서, 메모리 어레이(예를 들어, 메모리 어레이(112 또는 212))는, 영역 B 내에 있는(즉, 논리 상태들 사이의 전이 전압에 또는 그 근처에 있고 이에 따라 에러가 있을 가능성이 더 높은) 것으로 결정되는 메모리 셀의 수를 카운트하고 저장하도록 구성될 수 있다. 영역 B 내의 메모리 셀의 수는 카운터 회로(예를 들어, 카운터 회로(116 또는 216)) 내에 저장될 수 있다. 영역 B 내에 있는 것으로 결정된 셀의 수는 메모리 셀의 미리 결정된 임계 수와 비교될 수 있다. 영역 B 내의 메모리 셀의 수가 메모리 셀의 임계 수를 초과하는 경우에는, 논리 상태들 사이의 주어진 전이 전압 근처에 있지만, 제2 스트로브 신호 S2보다 큰 임계 전압을 갖는 셀을 검출함으로써 논리 상태들 사이에 주어진 전이 전압에 대한 양면 확률 정보를 생성하도록 추가 감지 동작이 수행될 수 있다.
도 5는 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 하위 페이지에 대한 양면 확률 정보를 생성하는 것을 도시하는 그래프이다. 제2 스트로브 신호에 의해 영역 B 내에 있는 것으로 결정된 메모리 셀의 수가 메모리 셀의 임계 수를 초과할 때, 영역 B 내의 메모리 셀이 또한 금지될 수 있고, 제2 스트로브 신호 전압 S2와 제3 스트로브 신호 전압 S3 사이의 임계 전압을 갖는 메모리 셀을 감지하기 위해 제3 스트로브 신호 S3이 생성될 수 있다. 제3 스트로브 신호 전압 S3은 도 5의 영역 D 내의 논리 상태 01과 00 사이의 전이 전압을 초과하는 것으로 선택될 수 있다. 따라서, 제3 스트로브 신호에 의해 검출되는 해당 메모리 셀은 논리 상태 00인 것으로서 감지되지만, 감지된 메모리 셀 중 하나 이상이 에러가 있을 확률이 증가된다. 따라서, 상대적으로 낮은 LLR은 제3 스트로브 신호 S3 동안 감지된 메모리 셀과 관련될 수 있다. LLR은 감지된 메모리 셀 내의 하나 이상의 에러 비트를 정정하기 위해 LDPC 디코딩 동작 동안 사용될 수 있다. 제3 스트로브 신호 S3에 의해 생성된 확률 정보는, 3개의 스트로브 신호 동안 검출된 메모리 셀이 에러가 있을 확률이 증가될 수 있는 논리 상태들 사이의 전이 전압의 양 측면 상의 셀에 대한 정보를 제공하기 때문에 "양면" 확률 정보로 간주될 수 있다.
도 6은 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 상위 페이지에 대한 단면 확률 정보를 생성하는 것을 도시하는 그래프이다. 2 비트 멀티레벨 메모리 셀의 상위 페이지에 대한 단면 정보를 생성하기 위한 일반적인 동작은 도 4의 하위 페이지와 관련하여 전술한 것과 유사하다. 그러나, 메모리 셀의 논리 상태는 2개의 분리된 임계값이 확률 정보를 생성하기 위해 검출되어야 하도록 정의될 수 있다. 즉, 논리 상태 11과 01 사이의 제1 전이 전압은 제1 임계 전압을 가질 수 있고, 논리 상태 00과 10 사이의 제2 전이 전압은 제2 임계 전압을 가질 수 있다. 따라서, 총 4개의 스트로브 신호 S4~S7이 생성되어 메모리 셀을 감지하고 확률 정보를 생성할 수 있다. 도 4와 마찬가지로, 제4 스트로브 신호 S4는 제4 스트로브 신호 전압 S4 미만의 임계값을 갖는 해당 메모리 셀을 검출할 수 있다. 제4 스트로브 신호 S4에 의해 검출된 해당 메모리 셀(예를 들어, 도 6의 영역 E 내의 것)은 메모리 셀이 에러가 있을 것 같지 않음을 나타내는 상대적으로 높은 LLR과 관련될 수 있다. 검출된 메모리 셀은 금지되어 후속하는 스트로브 신호 동안 그들의 검출을 방지할 수 있다.
제5 스트로브 신호 S5는 제4 스트로브 신호 전압 S4와 제5 스트로브 신호 전압 S5 사이의 셀 임계값을 갖는(즉, 도 6의 영역 F 내의) 해당 메모리 셀을 검출하기 위해 생성될 수 있다. 제5 스트로브 신호 S5에 의해 검출된 해당 메모리 셀은, 검출된 메모리 셀이 논리 상태 11과 01 사이의 전이 전압에 또는 그 근처에 있음을 나타내는 상대적으로 낮은 LLR과 관련될 수 있고, 에러가 있을 수 있으며, LDPC 디코딩 동작 동안 정정을 필요로 할 수 있다. 하위 페이지와 마찬가지로, 영역 F 내의 셀의 수가 카운트되고 메모리 셀의 임계 수와 비교될 수 있다. 영역 F 내의 메모리 셀의 수가 임계값을 초과하는 경우에는, 도 7과 관련하여 후술되는 바와 같이 양면 확률 정보를 생성하기 위해 추가 감지 동작이 수행될 수 있다. 검출되면, 영역 F 내의 해당 메모리 셀이 금지되어 후속하는 스트로브 신호 동안 검출되지 않을 수 있다.
제6 스트로브 신호 S6은 스트로브 신호 전압 S5와 스트로브 신호 전압 S6 사이의(즉, 도 6의 영역 G 내의) 해당 메모리 셀을 검출하기 위해 생성될 수 있다. 즉, 검출된 셀은 0의 상위 페이지 논리 값(즉, 논리 상태 01 또는 00 중 어느 하나)을 갖는 것으로 감지된다. 제6 스트로브 신호 S6에 의해 검출된 해당 메모리 셀은, 그들의 검출된 셀 임계값이 논리 상태 00과 01 사이의 전이 전압 근처에 있지 않기 때문에 메모리 셀이 에러가 있을 것 같지 않음을 나타내는 LLR과 관련될 수 있다. 제6 스트로브 신호 S6 동안 검출된 셀은 이들이 후속하는 스트로브 신호 동안 감지되는 것을 방지하기 위해 금지될 수 있다. 제7 스트로브 신호 S7은, 제6 스트로브 신호 전압 S6과 제7 스트로브 신호 전압 S7 사이의 임계 전압을 갖는(즉, 도 7의 영역 H 내의) 메모리 셀을 검출하기 위해 생성될 수 있다. 검출된 메모리 셀은, 이들이 논리 상태 00과 01 사이의 전이 전압에 또는 그 근처에 있는 임계 전압을 갖기 때문에 검출된 메모리 셀이 에러가 있을 수 있음을 나타내는 상대적으로 낮은 LLR 값과 관련될 수 있다. 또한, 제7 스트로브 신호 S7에 의해 검출된 메모리 셀의 수가 카운트되고 메모리 셀의 임계 수와 비교될 수 있다. 메모리 셀의 수가 메모리 셀의 임계 수를 초과하는 경우에는, 도 7과 관련하여 후술되는 바와 같이 양면 확률 정보를 생성하기 위해 추가 감지 동작이 수행될 수 있다.
도 7은 본 발명의 일 실시형태에 따른, 2 비트 멀티레벨 메모리 셀의 상위 페이지에 대한 양면 확률 정보를 생성하는 것을 도시하는 그래프이다. 전술한 바와 같이, 영역 F 및/또는 H 내에서 검출된 메모리 셀의 수가 메모리 셀의 임계 수를 초과하는 경우에는, 메모리 셀에 대한 양면 확률 정보를 생성하기 위해 추가 감지 동작이 수행될 수 있다. 예를 들어, 영역 F 내에 있는 것으로 결정된 메모리 셀의 수가 메모리 셀의 임계 수를 초과하는 경우에는, 제8 스트로브 신호가 제5 스트로브 신호 전압 S5와 제8 스트로브 신호 전압 S8 사이의 임계값을 갖는(즉, 도 7의 영역 J 내의) 메모리 셀을 검출하기 위해 생성될 수 있다. 영역 J 내의 임계 전압을 갖는 것으로 결정되는 해당 메모리 셀은 논리 상태 01에 있는 것으로서 감지될 수 있고, 검출된 셀이 에러가 있을 수 있고 LDPC 디코딩 동작 동안 정정을 필요로 할 수 있음을 나타내는 LLR 값과 관련될 수 있다. 마찬가지로, 영역 H 내에 있는 것으로 결정된 메모리 셀의 수가 메모리 셀의 임계 수를 초과하는 경우에는, 제9 스트로브 신호 S9가 제7 스트로브 신호 전압 S7과 제9 스트로브 신호 전압 S9 사이의 임계값을 갖는(즉, 도 7의 영역 K 내의) 메모리 셀을 검출하기 위해 생성될 수 있다. 영역 K 내의 메모리 셀은 논리 상태 10인 것으로서 감지될 수 있고, 메모리 셀이 에러가 있을 수 있고 LDPC 디코딩 동작 동안 정정을 필요로 할 수 있음을 나타내는 LLR 값과 관련될 수 있다. 감지 동작 동안 검출되지 않은 해당 메모리 셀은 논리 상태 10에 있는 것으로 간주되며, 메모리 셀이 에러가 있을 것 같지 않음을 나타내는 LLR 값과 관련된다.
도 8은 본 발명의 일 실시형태에 따른, 전류 적분을 이용하여 상이한 임계 범위 내에 속하는 메모리 셀을 식별하기 위한, 개괄적으로 800으로 표기된 방법을 도시한다. 일반적으로, 방법(800)의 동작에서 식별된 범위는 메모리 셀 내의 2개의 논리 상태 사이의 전이 전압에 대한 단면 및/또는 양면 확률 정보를 할당하는 데 사용될 수 있다. 예를 들어, 도 4 내지 도 7의 실시형태에서, 방법(800)은 상이한 범위 내의 셀을 식별하여 11과 01, 01과 00, 및/또는 00과 10의 논리 상태 사이의 단면 및/또는 양면 확률 정보를 생성하는 데 사용될 수 있다. 방법(800)에 의해 생성된 정보는 수신된 코드워드 내의 에러를 정정하기 위해 소프트 입력 정보를 이용할 수 있는 LDPC 디코딩 동작 또는 다른 에러 정정 방법과 같은 확률 ECC 디코딩 동작에서 사용될 수 있다. 명료화 및 단순화를 위해, 방법(800)의 동작이 도 2의 메모리 어레이(212) 및 2 비트 MLC의 하위 페이지 논리 값을 검출하는 도 5의 감지 동작을 참조하여 설명된다.
동작 802에서, 감지 회로(214)는 제1 임계값에서 메모리 셀(202)을 감지한다. 예를 들어, 감지 회로(214)는 제1 스트로브 신호 전압 S1 미만의 임계값을 갖는 메모리 셀(202)(즉, 도 5의 영역 A)을 검출하도록 구성된 제1 스트로브 신호 S1을 생성할 수 있다. 제1 스트로브 신호 S1은 논리 상태 01과 00 사이의 임계 전압 미만인 제1 스트로브 신호 전압을 가질 수 있다. 동작 804에서, 감지 회로(214)는 임계 전압의 제1 범위 내에 속하는 셀을 식별하고, 감지된 셀은 장래의 감지 동작 동안 검출되지 않도록 금지될 수 있다. 식별된 셀은, 예를 들어 제1 임계값의 전압 미만인 전압이 그 위에 저장 될 수 있다. 일부 실시형태에서, 제어기 회로(106)는 동작 804에서 식별된 셀에 LLR 값 또는 다른 확률 정보와 같은 소프트 정보를 할당할 수 있다. 스트로브 신호 전압이 논리 상태 01과 00 사이의 임계 전압 미만인 실시형태에서, LLR 값은, 감지된 셀이 에러가 있을 것 같지 않고, 이에 따라 후속하는 LDPC 디코딩 동작 동안 정정을 필요로 할 것 같지 않음을 나타낼 수 있다.
동작 806에서, 감지 회로(214)는 제2 임계값에서 메모리 셀(202)을 감지한다. 제1 임계값에서 감지된 메모리 셀이 금지되기 때문에, 해당 셀은 제2 임계값에서 검출되지 않는다. 예를 들어, 감지 회로(214)는 제1 스트로브 신호 전압 S1과 제2 스트로브 신호 전압 S2 사이의 임계값을 갖는 메모리 셀(즉, 도 5의 영역 B)을 검출하기 위해 제2 스트로브 신호 S2를 생성할 수 있다. 일부 실시형태에서, 제2 임계값은 논리 상태 01과 00 사이의 임계 전압에 또는 그 근처에 있을 수 있다. 즉, 동작 806의 감지 동작은 논리 상태들 사이의 임계값 근처에 있는 전압이 저장되어 있는 해당 메모리 셀을 검출하고, 이에 따라 디코딩 동작 동안 정정을 필요로 할 가능성이 더 높다. 동작 808에서, 감지 회로(214)는 임계 전압의 제2 범위 내에서 호출하는 셀을 식별한다. 예를 들어, 감지 회로(214)는, 동작 806에서 감지되고 제1 임계값과 제2 임계값 사이에 있는 전압이 저장되어 있는 해당 셀을 식별할 수 있다. 일부 실시형태에서, 제어기 회로(106)는 동작 806에서 식별된 셀에 LLR 값 또는 다른 확률 정보와 같은 소프트 정보를 할당할 수 있다. 예를 들어, 제어 회로(106)는, 제2 범위에서 식별된 셀이 ECC 디코딩 동작 동안 정정을 필요로 할 가능성이 증가됨을 나타내는 LLR 값을 할당할 수 있다. 또한, 감지된 셀은 이들이 후속하는 감지 동작 동안 검출되는 것을 방지하도록 금지될 수 있다.
결정 블록 810에서, 감지 회로는, 동작 808에서 제2 범위 내에 속하는 것으로서 식별된 셀의 수가 메모리 셀의 임계 수를 초과하는지의 여부를 결정할 수 있다. 도 2의 실시형태에서, 동작 808에서 제2 범위 내에 속하는 것으로서 식별되는 셀의 수가 카운트되고 카운터 회로(216) 내에 저장될 수 있다. 카운터 회로(216) 내에 저장된 값은 셀의 미리 결정된 임계 수와 비교되어, 논리 상태 01과 00 사이의 전이 전압 근처에 있는 임계값을 갖는 메모리 셀에 대해 보다 정밀한 확률 정보를 생성하기 위해 추가 감지 동작이 수행되어야 하는지의 여부를 결정할 수 있다. 제2 범위 내에 속하는 것으로서 식별된 메모리 셀의 수가 셀의 임계 수를 초과하는 경우에는(결정 블록 810, "예" 분기), 메모리 셀(202)은 동작 812에서 제3 임계값에서 감지된다. 동작 802 및 806에서의 처음 2회의 감지 동작 동안 검출된 메모리 셀(202)이 금지되었기 때문에, 해당 셀은 제3 감지 동작에 의해 감지되지 않는다. 예를 들어, 감지 회로(212)는 제2 스트로브 신호 전압 S2와 제3 스트로브 신호 전압 S3 사이의 임계값을 갖는 메모리 셀(202)(즉, 도 5의 영역 D)을 검출하기 위해 제3 스트로브 신호 S3을 생성할 수 있다.
동작 814에서, 감지 회로(212)는 제3 범위 내에 속하는 해당 메모리 셀을 식별한다. 예를 들어, 감지 회로(202)는 제2 임계값과 제3 임계값 사이에 있는 전압이 저장되어 있는 해당 메모리 셀을 식별할 수 있다. 예를 들어, 식별된 메모리 셀은 제2 스트로브 신호 전압 S2와 제3 스트로브 신호 전압 S3 사이에 있는 전압이 저장될 수 있다. 제어 회로(106)는 동작 814에서 식별된 메모리 셀에 LLR 값, 또는 다른 소프트 정보를 할당할 수 있다. 제3 LLR 값은, 제3 감지 동작 동안 검출된 메모리 셀(202)이 에러가 있을 수 있고 LDPC 디코딩 동작 동안 정정을 필요로 할 수 있음을 나타내는 확률 정보일 수 있다. 동작 816에서, 나머지 메모리 셀(예를 들어, 동작 802~814에서 검출되지 않은 것)은 제4 범위 내에 속하는 것으로서 식별된다. 제어 회로(106)는 제1, 제2, 또는 제3 감지 동작 중 어느 동작 동안 감지되지 않은 나머지 메모리 셀(202)에 할당되는 제4 LLR 값을 할당할 수 있다. 제4 LLR 값은, 나머지 메모리 셀(202)이 0의 하위 페이지 논리 값을 갖고 메모리 셀(202)이 에러가 있을 것 같지 않음을 나타낼 수 있다.
도 9는 본 발명의 일 실시형태에 따른 메모리 디바이스(100)를 포함하는 장치를 도시한다. 메모리 디바이스(100)는, 데이터를 저장하도록 구성되는 복수의 메모리 셀을 갖는 메모리 어레이(960)를 포함한다. 메모리 셀은 다양한 신호 라인, 워드 라인(WL), 및/또는 비트 라인(BL)의 사용을 통해 어레이에 액세스될 수 있다. 메모리 셀은 NAND 또는 NOR 플래시 셀, 상 변화 메모리 셀과 같은 비휘발성 메모리 셀일 수 있거나, 또는 일반적으로 임의의 유형의 메모리 셀일 수 있다. 메모리 어레이(960)의 메모리 셀은 메모리 어레이 아키텍처로 배열될 수 있다. 예를 들어, 일 실시형태에서, 메모리 셀은 3D 크로스 포인트 아키텍처로 배열된다. 다른 실시형태에서는, 다른 메모리 어레이 아키텍처, 예를 들어 그 중에서도 단일 레벨 크로스 포인트 아키텍처가 사용될 수 있다. 메모리 셀은 데이터의 1 비트에 대한 데이터를 저장하도록 구성된 단일 레벨 셀일 수 있다. 메모리 셀은 또한 데이터의 1 비트 초과의 데이터에 대한 데이터를 저장하도록 구성된 멀티레벨 셀일 수 있다.
데이터 스트로브 신호 DQS는 데이터 스트로브 버스(미도시)를 통해 전송될 수 있다. DQS 신호는 메모리 디바이스(100)로 또는 메모리 디바이스(100)로부터 데이터를 전송하기 위한 타이밍 정보를 제공하는 데 사용될 수 있다. I/O 버스(928)는, I/O 버스(928)와 내부 데이터 버스(922), 내부 어드레스 버스(924), 및/또는 내부 커맨드 버스(926) 사이에서 데이터 신호, 어드레스 정보 신호, 및 다른 신호를 라우팅하는 I/O 제어 회로(920)에 연결된다. 어드레스 레지스터(925)는, 일시적으로 저장될 어드레스 정보를 I/O 제어 회로(920)에 의해 제공받을 수 있다. I/O 제어 회로(920)는 상태 레지스터 버스(932)를 통해 상태 레지스터(934)에 결합된다. 상태 레지스터(934)에 의해 저장된 상태 비트는 메모리 디바이스(100)에 제공된 판독 상태 커맨드에 응답하여 I/O 제어 회로(920)에 의해 제공될 수 있다. 상태 비트는 메모리의 다양한 양태 및 그의 동작의 상태 조건을 나타내기 위한 각각의 값을 가질 수 있다.
메모리 디바이스(100)는 또한, 메모리 디바이스(100)의 동작을 제어하기 위해 외부적으로 또는 커맨드 버스(926)를 통해 다수의 제어 신호(938)를 수신하는 제어 로직(910)을 포함한다. 제어 신호(938)는 임의의 적절한 인터페이스 프로토콜로 구현될 수 있다. 예를 들어, 제어 신호(938)는 다이내믹 랜덤 액세스 메모리 및 플래시 메모리(예를 들어, NAND 플래시)에서 공통인 핀(pin) 기반, 또는 op 코드(op-code) 기반일 수 있다. 예시적인 제어 신호(938)는 클록 신호, 판독/기록 신호, 클록 인에이블 신호 등을 포함한다. 커맨드 레지스터(936)는 내부 커맨드 버스(926)에 결합되어, I/O 제어 회로(920)에 의해 수신된 정보를 저장하고 정보를 제어 로직(910)에 제공한다. 제어 로직(910)은 또한 상태 레지스터 버스(932)를 통해 상태 레지스터(934)에 액세스하여, 예를 들어 상태 조건이 변화함에 따라 상태 비트를 갱신할 수 있다. 제어 로직(910)은 메모리 디바이스(100)의 다양한 회로에 내부 제어 신호를 제공하도록 구성될 수 있다. 예를 들어, 메모리 액세스 커맨드(예를 들어, 판독, 기록)를 수신하는 것에 응답하여, 제어 로직(910)은 내부 제어 신호를 제공하여 다양한 메모리 액세스 회로를 제어하여 메모리 액세스 동작을 수행할 수 있다. 다양한 메모리 액세스 회로는 메모리 액세스 동작 동안 사용되며, 일반적으로 행 및 열 디코더, 차지 펌프 회로, 신호 라인 드라이버, 데이터 및 캐시 레지스터, I/O 회로 등과 같은 회로뿐만 아니라, 다른 것도 포함할 수 있다.
어드레스 레지스터(925)는 블록-행 어드레스 신호를 행 디코더(940)에 제공하고 열 어드레스 신호를 열 디코더(950)에 제공한다. 행 디코더(940) 및 열 디코더(950)는 메모리 동작, 예를 들어 판독 및 기록 동작을 위해 메모리 셀의 블록을 선택하는 데 사용될 수 있다. 행 디코더(940) 및/또는 열 디코더(950)는 메모리 어레이(960) 내의 신호 라인 중 하나 이상에 바이어싱 신호를 제공하도록 구성된 하나 이상의 신호 라인 드라이버를 포함할 수 있다. 열 디코더(950) 및/또는 행 디코더(940)는, 도 1 내지 도 8과 관련하여 전술한 바와 같이, 메모리 어레이(960)의 하나 이상의 메모리 셀을 감지하고 ECC 디코딩 동작 동안 사용하기 위한 메모리 어레이(960)의 메모리 셀과 관련된 확률 정보를 생성하도록 구성되는 감지 회로(114, 214, 및/또는 314)와 같은 감지 회로를 포함할 수 있다.
데이터 I/O 회로(970)는 제어 로직(910)으로부터 수신된 신호에 기초하여 I/O 제어 회로(920)와 메모리 어레이(960) 사이의 데이터 전송을 용이하게 하도록 구성된 하나 이상의 회로를 포함한다. 다양한 실시형태에서, 데이터 I/O 회로(970)는 메모리 어레이(960)와 I/O 제어 회로(920) 사이의 데이터 전송을 관리하기 위한 하나 이상의 레지스터, 버퍼, 및 다른 회로를 포함할 수 있다. 예를 들어, 기록 동작 동안, I/O 제어 회로(920)는 I/O 버스(928)를 통해 기록될 데이터를 수신하고, 데이터를 내부 데이터 버스(922)를 통해 데이터 I/O 회로(970)에 제공한다. 데이터 I/O 회로(970)는 행 디코더(940) 및 열 디코더(950)에 의해 지정된 위치에서 제어 로직(910)에 의해 제공된 제어 신호에 기초하여 데이터를 메모리 어레이(960)에 기록한다. 판독 동작 동안, 데이터 I/O 회로는 행 디코더(940) 및 열 디코더(950)에 의해 지정된 어드레스에서 제어 로직(910)에 의해 제공된 제어 신호에 기초하여 메모리 어레이(960)로부터 데이터를 판독한다. 데이터 I/O 회로는 판독 데이터를 내부 데이터 버스(922)를 통해 I/O 제어 회로에 제공한다. 그런 다음, I/O 제어 회로(920)는 판독 데이터를 I/O 버스(928) 상에 제공한다.
당업자는, 본 명세서에 개시된 실시형태와 관련하여 설명된 다양한 예시적인 논리 블록, 구성, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 이 둘의 조합으로서 구현될 수 있음을 또한 이해할 것이다. 다양한 예시적인 구성요소, 블록, 구성, 모듈, 회로, 및 단계가 일반적으로 이들의 기능의 관점에서 설명되어 있다. 숙련된 기술자는 각 특정 용도마다 다양한 방식으로 설명된 기능을 구현할 수 있지만, 이러한 구현 결정은 본 개시의 범위를 벗어나는 것으로 해석되지 않아야 한다.
개시된 실시형태의 이전의 설명은 당업자가 개시된 실시형태를 수행하거나 사용할 수 있도록 제공된다. 이들 실시형태에 대한 다양한 수정이 당업자에게는 쉽게 명백할 것이며, 본 명세서에 정의된 원리는 본 개시의 범위를 벗어나지 않고 다른 실시형태에 적용될 수 있다. 따라서, 본 개시는 본 명세서에 나타낸 실시형태에 한정되는 것으로 의도된 것이 아니라, 전술한 바와 같은 원리 및 신규한 특징과 일치하는 가능한 가장 넓은 범위를 부여받는 것으로 의도되어 있다.

Claims (25)

  1. 방법으로서,
    제1 감지 임계값에 기초하여 제1 복수의 메모리 셀을 감지하는 단계;
    상기 제1 복수의 셀을 감지하는 것에 응답하여, 제1 전압 범위 내의 전압이 저장되어 있는 상기 제1 복수의 메모리 셀의 일부를 식별하는 단계;
    제2 감지 임계값에 기초하여 제2 복수의 메모리 셀을 감지하는 단계;
    상기 제2 복수의 메모리 셀을 감지하는 것에 응답하여, 제2 전압 범위 내의 전압이 저장되어 있는 상기 제2 복수의 메모리 셀의 일부를 식별하는 단계; 및
    식별된 상기 제1 및 제2 전압 범위에 적어도 부분적으로 기초하여 상기 제1 및 제2 복수의 메모리 셀에 대한 에러 정정 동작을 수행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제2 복수의 메모리 셀의 상기 일부 내의 메모리 셀의 수를 결정하는 단계;
    상기 제2 복수의 메모리 셀의 상기 일부 내의 메모리 셀의 수가 임계값을 초과하는지의 여부를 결정하는 단계;
    상기 임계값을 초과하는 상기 제2 복수의 메모리 셀의 상기 일부 내의 메모리 셀의 수에 응답하여, 제3 감지 임계값에 기초하여 제3 복수의 메모리 셀을 감지하는 단계; 및
    제3 전압 범위 내의 전압이 저장되어 있는 상기 제3 복수의 메모리 셀의 일부를 식별하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 제1 복수의 메모리 셀의 상기 일부와 제1 확률 정보(probabilistic information)를 관련시키는 단계; 및
    상기 제2 복수의 메모리 셀의 상기 일부와 제2 확률 정보를 관련시키는 단계를 더 포함하되, 상기 제1 및 제2 확률 정보는 상기 제1 및 제2 복수의 메모리 셀의 상기 일부 내의 메모리 셀이 에러가 있을 가능성을 나타내는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 제1 확률 정보 및 상기 제2 확률 정보 중 적어도 하나는 로그 우도 비(log-likelihood ratio)를 포함하는, 방법.
  5. 제1항에 있어서, 상기 에러 정정 동작은 소프트-입력(soft-input) ECC 디코딩 동작을 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제2 복수의 메모리 셀을 감지하기 전에 상기 제1 복수의 메모리 셀의 상기 일부를 금지시키는 단계를 더 포함하는, 방법.
  7. 방법으로서,
    제1 메모리 셀이 제1 감지 전압 미만의 임계 전압을 갖는 것을 결정하는 단계;
    상기 제1 메모리 셀의 상기 임계 전압이 상기 제1 감지 전압 미만인 것을 결정하는 것에 응답하여, 상기 제1 메모리 셀과 관련된 확률 정보를 생성하는 단계; 및
    상기 확률 정보에 적어도 부분적으로 기초하여 상기 제1 메모리 셀에 대한 에러 정정 동작을 수행하는 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 메모리 셀이 후속하는 감지 동작에서 검출되지 않도록 상기 제1 메모리 셀을 금지시키는 단계를 더 포함하는, 방법.
  9. 제8항에 있어서,
    제2 메모리 셀이 상기 제1 감지 전압을 초과하고 제2 감지 전압 미만인 임계 전압을 갖는 것을 결정하는 단계; 및
    상기 제2 메모리 셀의 상기 임계 전압이 상기 제1 감지 전압을 초과하고 상기 제2 감지 전압 미만인 것을 결정하는 것에 응답하여, 상기 제2 메모리 셀과 관련된 제2 확률 정보를 생성하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서, 상기 제2 확률 정보는 상기 제2 메모리 셀이 상기 제1 메모리 셀보다 에러가 있을 가능성이 더 높은 것을 나타내는, 방법.
  11. 제10항에 있어서, 상기 제1 및 제2 메모리 셀은 멀티레벨 메모리 셀인, 방법.
  12. 제10항에 있어서, 제2 감지 임계값이 상기 제2 메모리 셀의 2개의 논리 상태 사이의 전이 전압을 나타내는, 방법.
  13. 장치로서,
    각각이 복수의 논리 상태를 저장하도록 구성된 복수의 메모리 셀;
    상기 논리 상태들 사이의 전이 전압의 범위 내에서 셀 임계값을 갖는 상기 복수의 메모리 셀의 수를 결정하도록 구성된 감지 회로; 및
    상기 논리 상태들 사이의 전이 전압의 범위 내에서 셀 임계값을 갖는 메모리 셀의 수를 저장하도록 구성된 카운터 회로를 포함하는, 장치.
  14. 제13항에 있어서, 제어 회로가 논리 상태들 사이의 전이 전압 범위 내에 있는 상기 셀 임계값에 기초하여 상기 메모리 셀의 수의 각 메모리 셀을 확률 정보와 관련시키도록 구성된, 장치.
  15. 제13항에 있어서, 상기 카운터 회로는 또한 상기 복수의 메모리 셀의 수가 임계값을 초과하는지의 여부를 결정하도록 구성되고;
    상기 감지 회로는 또한 상기 논리 상태들 사이의 전이 전압의 범위 내에서 셀 임계값을 갖는 상기 복수의 메모리 셀의 수를 결정하도록 구성되는, 장치.
  16. 제13항에 있어서,
    상기 확률 정보에 적어도 부분적으로 기초하여 상기 복수의 메모리 셀에 대한 에러 정정 코드 디코딩 동작을 수행하도록 구성된 제어 회로를 더 포함하는, 장치.
  17. 제16항에 있어서, 상기 에러 정정 코드는 소프트-입력 디코딩을 지원하는, 장치.
  18. 제13항에 있어서, 상기 감지 회로는 전류 적분(current integration)을 이용하여 상기 논리 상태들 사이의 전이 전압 범위 내에서 상기 셀 임계값을 갖는 상기 복수의 메모리 셀의 수를 결정하도록 구성되는, 장치.
  19. 방법으로서,
    복수의 메모리 셀에 대하여 비정밀(coarse) 감지 동작을 수행하는 단계로서, 제1 논리 상태를 갖는 메모리 셀의 제1 서브세트를 검출하는 상기 비정밀 감지 동작을 수행하는 단계;
    제1 확률 정보를 상기 메모리 셀의 상기 제1 서브세트와 관련시키는 단계;
    상기 복수의 메모리 셀에 대하여 정밀(fine) 감지 동작을 수행하는 단계로서, 상기 제1 논리 상태를 갖는 메모리 셀의 제2 서브세트를 검출하는 상기 정밀 감지 동작을 수행하는 단계;
    제2 확률 정보를 상기 메모리 셀의 상기 제2 서브세트와 관련시키는 단계; 및
    상기 제1 확률 정보 및 상기 제2 확률 정보에 적어도 부분적으로 기초하여 상기 복수의 메모리 셀에 대한 에러 정정을 수행하는 단계를 포함하는, 방법.
  20. 제19항에 있어서, 상기 비정밀 감지 동작 및 상기 정밀 감지 동작은 멀티레벨 메모리 셀의 하위 페이지(lower page)의 논리 상태를 검출하는, 방법.
  21. 제19항에 있어서,
    상기 복수의 메모리 셀에 대하여 제2 비정밀 감지 동작을 수행하는 단계로서, 제2 논리 상태를 갖는 메모리 셀의 제3 서브세트를 검출하는 상기 제2 비정밀 감지 동작을 수행하는 단계;
    제3 확률 정보를 상기 메모리 셀의 상기 제3 서브세트와 관련시키는 단계;
    상기 복수의 메모리 셀에 대하여 제2 정밀 감지 동작을 수행하는 단계로서, 상기 제2 논리 상태를 갖는 메모리 셀의 제4 서브세트를 검출하는 상기 제2 정밀 감지 동작을 수행하는 단계; 및
    제4 확률 정보를 상기 메모리 셀의 상기 제4 서브세트와 관련시키는 단계를 더 포함하는, 방법.
  22. 제21항에 있어서,
    상기 복수의 메모리 셀에 대하여, 제3 비정밀 감지 동작을 수행하는 단계로서, 제3 논리 상태를 갖는 메모리 셀의 제5 서브세트를 검출하는 상기 제3 비정밀 감지 동작을 수행하는 단계;
    제5 확률 정보를 상기 메모리 셀의 상기 제5 서브세트와 관련시키는 단계;
    상기 복수의 메모리 셀에 대하여 제3 정밀 감지 동작을 수행하는 단계로서, 상기 제3 논리 상태를 갖는 메모리 셀의 제6 서브세트를 검출하는 상기 제3 정밀 감지 동작을 수행하는 단계; 및
    제6 확률 정보를 상기 메모리 셀의 상기 제6 서브세트와 관련시키는 단계를 더 포함하는, 방법.
  23. 제22항에 있어서,
    제4 논리 상태를 갖는 메모리 셀의 제7 서브세트를 식별하는 단계; 및
    제7 확률 정보를 상기 메모리 셀의 상기 제7 서브세트와 관련시키는 단계를 더 포함하는, 방법.
  24. 제23항에 있어서, 상기 에러 정정을 수행하는 단계는 또한 상기 제3, 제4, 제5, 제6, 및 제7 확률 정보에 기초하는, 방법.
  25. 제22항에 있어서, 상기 제2 및 제3 비정밀 감지 동작과 상기 제2 및 제3 정밀 감지 동작은 멀티레벨 메모리 셀의 상위 페이지(upper page)의 논리 상태를 검출하는, 방법.
KR1020197008540A 2016-09-16 2017-08-22 전류 적분 감지를 이용하여 확률 정보를 생성하기 위한 장치 및 방법 KR102227816B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/267,844 US10289484B2 (en) 2016-09-16 2016-09-16 Apparatuses and methods for generating probabilistic information with current integration sensing
US15/267,844 2016-09-16
PCT/US2017/047925 WO2018052667A1 (en) 2016-09-16 2017-08-22 Apparatuses and methods for generating probabilistic information with current integration sensing

Publications (2)

Publication Number Publication Date
KR20190035936A true KR20190035936A (ko) 2019-04-03
KR102227816B1 KR102227816B1 (ko) 2021-03-16

Family

ID=61620132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008540A KR102227816B1 (ko) 2016-09-16 2017-08-22 전류 적분 감지를 이용하여 확률 정보를 생성하기 위한 장치 및 방법

Country Status (6)

Country Link
US (2) US10289484B2 (ko)
EP (1) EP3513408A4 (ko)
KR (1) KR102227816B1 (ko)
CN (1) CN109716439B (ko)
TW (1) TWI716630B (ko)
WO (1) WO2018052667A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289484B2 (en) 2016-09-16 2019-05-14 Micron Technology, Inc. Apparatuses and methods for generating probabilistic information with current integration sensing
KR20180056977A (ko) * 2016-11-21 2018-05-30 에스케이하이닉스 주식회사 크로스 포인트 어레이 타입 상변화 메모리 장치 및 그 구동방법
TWI721842B (zh) * 2020-03-27 2021-03-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US11899589B2 (en) 2021-06-22 2024-02-13 Samsung Electronics Co., Ltd. Systems, methods, and devices for bias mode management in memory systems
US11562790B1 (en) 2021-06-30 2023-01-24 Micron Technology, Inc. Systems and methods for adaptive self-referenced reads of memory devices

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100265783A1 (en) * 2007-08-27 2010-10-21 Infineon Technologies Ag Self-Timed Integrating Differential Current
KR20110061649A (ko) * 2008-09-30 2011-06-09 엘에스아이 코포레이션 소프트 데이터 값 생성 방법
KR20110082016A (ko) * 2008-09-30 2011-07-15 엘에스아이 코포레이션 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템
KR20110097446A (ko) * 2010-02-25 2011-08-31 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
KR20120140508A (ko) * 2011-06-21 2012-12-31 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US20130135927A1 (en) * 2011-11-30 2013-05-30 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
US20140082440A1 (en) * 2012-09-07 2014-03-20 Macronix International Co., Ltd. Method and apparatus of measuring error correction data for memory
KR20140121880A (ko) * 2012-03-12 2014-10-16 인텔 코오퍼레이션 분배된 코드워드 부분들
US20160343433A1 (en) * 2014-02-28 2016-11-24 Hewlett Packard Enterprise Development Lp Sensing circuit for resistive memory array

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7966546B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
KR20120030281A (ko) * 2010-09-20 2012-03-28 삼성전자주식회사 플래시 메모리 장치, 및 그의 프로그램 검증 방법
US8917540B2 (en) 2011-10-27 2014-12-23 Agency For Science, Technology And Research Memory device with soft-decision decoding
US8773904B2 (en) * 2011-12-28 2014-07-08 Apple Inc. Optimized threshold search in analog memory cells
KR20130089472A (ko) * 2012-02-02 2013-08-12 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 카드
WO2013147797A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Method and apparatus for treatment of state confidence data retrieved from a non-volatile memory array
KR102131802B1 (ko) * 2013-03-15 2020-07-08 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
KR101429184B1 (ko) * 2013-09-12 2014-08-12 주식회사 디에이아이오 낸드 플래시 메모리 장치의 독출 전압 조정 방법
KR20150072098A (ko) * 2013-12-19 2015-06-29 에스케이하이닉스 주식회사 메모리 시스템
KR20150074655A (ko) 2013-12-24 2015-07-02 에스케이하이닉스 주식회사 메모리 시스템
CN104282340B (zh) * 2014-09-30 2017-12-29 华中科技大学 一种固态盘闪存芯片阈值电压感知方法及系统
US9607692B2 (en) 2014-10-03 2017-03-28 Micron Technology, Inc. Threshold voltage distribution determination
US10289484B2 (en) 2016-09-16 2019-05-14 Micron Technology, Inc. Apparatuses and methods for generating probabilistic information with current integration sensing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100265783A1 (en) * 2007-08-27 2010-10-21 Infineon Technologies Ag Self-Timed Integrating Differential Current
KR20110061649A (ko) * 2008-09-30 2011-06-09 엘에스아이 코포레이션 소프트 데이터 값 생성 방법
KR20110082016A (ko) * 2008-09-30 2011-07-15 엘에스아이 코포레이션 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템
KR20110097446A (ko) * 2010-02-25 2011-08-31 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
KR20120140508A (ko) * 2011-06-21 2012-12-31 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US20130135927A1 (en) * 2011-11-30 2013-05-30 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
KR20140121880A (ko) * 2012-03-12 2014-10-16 인텔 코오퍼레이션 분배된 코드워드 부분들
US20140082440A1 (en) * 2012-09-07 2014-03-20 Macronix International Co., Ltd. Method and apparatus of measuring error correction data for memory
US20160343433A1 (en) * 2014-02-28 2016-11-24 Hewlett Packard Enterprise Development Lp Sensing circuit for resistive memory array

Also Published As

Publication number Publication date
WO2018052667A1 (en) 2018-03-22
US10891191B2 (en) 2021-01-12
CN109716439B (zh) 2023-04-28
CN109716439A (zh) 2019-05-03
US20180081753A1 (en) 2018-03-22
KR102227816B1 (ko) 2021-03-16
US10289484B2 (en) 2019-05-14
TWI716630B (zh) 2021-01-21
TW201814723A (zh) 2018-04-16
US20190213073A1 (en) 2019-07-11
EP3513408A4 (en) 2020-08-26
EP3513408A1 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
US10891191B2 (en) Apparatuses and methods for generating probabilistic information with current integration sensing
CN109564532B (zh) 包括存储器的设备及用于操作存储器的方法
US9583183B2 (en) Reading resistive random access memory based on leakage current
KR101630504B1 (ko) 데이터 감지 방법, 디바이스 및 시스템
US8254181B2 (en) Nonvolatile memory device and programming method
US8427875B2 (en) Method and memory controller for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory
US9728263B2 (en) Method and device for iteratively updating read voltages
TWI474330B (zh) 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
US9870830B1 (en) Optimal multilevel sensing for reading data from a storage medium
US11822796B2 (en) Media management on power-up
US10481974B2 (en) Apparatus, non-volatile memory storage device and method for detecting drift in non-volatile memory
US10629273B2 (en) Proactive reduction of re-read triggering
US10998057B2 (en) Storage device and method of operating the same
US9952981B2 (en) Read cache management in multi-level cell (MLC) non-volatile memory
US11444637B2 (en) Self-adaptive low-density parity check hard decoder
KR20160129418A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN114639414A (zh) 基于电压分布度量的数据完整性检查
CN111462801A (zh) 存储器系统及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant