KR20150099795A - 데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성 - Google Patents

데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성 Download PDF

Info

Publication number
KR20150099795A
KR20150099795A KR1020157019419A KR20157019419A KR20150099795A KR 20150099795 A KR20150099795 A KR 20150099795A KR 1020157019419 A KR1020157019419 A KR 1020157019419A KR 20157019419 A KR20157019419 A KR 20157019419A KR 20150099795 A KR20150099795 A KR 20150099795A
Authority
KR
South Korea
Prior art keywords
page
llrs
threshold voltage
determining
reads
Prior art date
Application number
KR1020157019419A
Other languages
English (en)
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 KR20150099795A publication Critical patent/KR20150099795A/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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Abstract

데이터 저장 디바이스에 대한 에러 관리 시스템은 MLC 솔리드-스테이트 매체들에서 메모리 셀들의 상위 및 하위 페이지들에 대한 연판정 로그-우도비 (LLR) 들을 생성할 수도 있다. 상위 페이지들에 대한 럼프된-LLR 을 생성하기 위한 시스템들 및 방법들이 개시되고, 여기서 적어도 일부의 전압 임계 판독들이 함께 링크되어 판독들의 수를 감소시킨다. 그에 따라 효율 및 신뢰성이 개선된다.

Description

데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성{LOG-LIKELIHOOD RATIO AND LUMPED LOG-LIKELIHOOD RATIO GENERATION FOR DATA STORAGE SYSTEMS}
본 개시물은 데이터 저장 시스템들에 관한 것이다. 더욱 구체적으로는, 본 개시물은 데이터 저장 시스템들에 대한 로그-우도비들을 생성하기 위한 시스템들 및 방법들에 관한 것이다.
연판정 저밀도 패리티 체크 코드 (low-density parity-check code; LDPC) 에러 코드 정정 (error code correction; ECC) 은 데이터 저장 시스템의 신뢰성을 개선시키고 데이터 에러들의 수를 감소시킬 수 있다. 로그-우도비 (log-likelihood ratio; LLR) 들은 일반적으로 연판정 LDPC 엔진들에 대한 입력들로서 사용된다. 데이터 저장 매체들과 같은 MLC (multi-level-per-cell) 플래시 메모리들을 사용하는 데이터 저장 시스템들은, 경판정 LDPC 가 오리지널로 저장된 데이터를 디코딩하기에 불충분할 때 메모리 셀들을 판독하기 위한 LLR 계산들을 사용할 수 있다.
다양한 실시형태들은 예시적인 목적들을 위해 첨부 도면들에 서술되고, 본 발명의 범위를 제한하는 것으로 결코 해석되어서는 안된다. 부가적으로, 개시된 상이한 실시형태들의 다양한 피처들 (features) 이 조합되어 본 개시물의 일부인 부가적인 실시형태들을 형성할 수 있다. 도면들 전반에 걸쳐, 참조 부호들은 참조 엘리먼트들 사이의 유사성을 나타내기 위해 재사용될 수도 있다.
도 1 은 에러 관리 모듈을 포함하는 저장 서브시스템과의 호스트 시스템의 조합을 예시한 블록 다이어그램이다.
도 2 는 하나의 실시형태에 따른 비휘발성 메모리 어레이에서의 셀들의 확률 분포를 도시한 그래프이다.
도 3 은 다른 실시형태에 따른 비휘발성 메모리 어레이에서의 셀들의 확률 분포를 도시한 그래프이다.
도 4 는 하나의 실시형태에 따른 하위 페이지 되판독 (readback) 을 사용한 상위 페이지 LLR 생성 프로세스를 도시한 플로우 다이어그램이다.
도 5a 는 하나의 실시형태에 따라 럼프될 (lumped) 수 있는 상위 페이지 값들을 갖는 셀들의 확률 분포를 도시한 그래프이다.
도 5b 는 하나의 실시형태에 따라 럼프된 상위 페이지들을 갖는 셀들의 확률 분포를 도시한 그래프이다.
도 6 은 상위 페이지 럼프된-LLR 생성을 위한 프로세스의 일 실시형태를 도시한 플로우 다이어그램이다.
도 7a 내지 도 7c 는 하나의 실시형태에 따른 3 비트 인코딩 스킴에 따라 프로그래밍된 셀들의 확률 분포를 도시한 그래프들이다.
도 7d 는 하나의 실시형태에 따른 3 비트 인코딩 스킴에서의 상위 페이지 럼프된-LLR 생성을 위한 프로세스의 일 실시형태를 도시한 플로우 다이어그램이다.
특정 실시형태들이 설명되지만, 이들 실시형태들은 오직 예로서만 제시되며, 보호 범위를 제한하려고 의도된 것이 아니다. 실제로, 여기에 설명된 신규한 방법들 및 시스템들은 다양한 다른 형태들로 구현될 수도 있다. 또한, 여기에 설명된 방법들 및 시스템들의 형태에 있어서 다양한 생략들, 대체들, 및 변경들은 보호 범위를 벗어나는 일 없이 행해질 수도 있다.
개관
MLC 플래시 메모리에서의 데이터 저장 셀들은, 상이한 메모리 상태들에 대응하는, 별개의 임계 전압 분포 (Vt) 레벨들을 가질 수 있다. 전압 판독 레벨들은 메모리 상태들 사이의 마진들에서의 값들로 설정되는 것이 유리할 수 있다. 이들의 전하 (charge) 레벨에 따라, 메모리 셀들은 사용자 데이터를 나타내는 상이한 2진 데이터를 저장한다. 예를 들어, 각각의 셀은 일반적으로 관련 데이터 비트들로 나타내는 메모리 상태들 중 하나에 속한다. 셀 판독들을 다양한 판독 레벨들에서 수행하는 것은, 상이한 상태들에 대한 분포들이 타이트하고 이들 사이에 어떠한 오버랩도 존재하지 않을 때 특정 셀들이 연결되는 메모리 상태들을 식별하기 위한 경판정 입력 데이터를 제공할 수 있다.
시간이 지남에 따라, 그리고 반복된 프로그램/소거 (P/E) 사이클들로부터의 다양한 물리적 조건들 및 마모의 결과로서, 다양한 분포 레벨들 사이의 마진들이 감소될 수도 있어서, 전압 분포들은 어느 정도까지는 오버랩된다. 이러한 판독 마진의 감소는 플래시 셀 산화물 열화로 인한 전하 손실, 불규칙한 프로그램 단계들에 의해 초래되는 오버-프로그래밍, 셀의 인근에서의 과중한 판독들 또는 기입들 (또는 기입 방해들) 로 인한 인접 소거 셀들의 프로그래밍과 같은 다수의 요인들, 및/또는 다른 요인들로 인한 것일 수도 있다. 전압 분포들이 오버랩될 때, 경판정 입력들은 오리지널 데이터를 디코딩하는데 충분한 정보를 제공하지 않을 수도 있다.
로그-우도비 (log-likelihood ratio; LLR) 들과 같은 연판정 입력들은, 특정 상황들에서 성공적인 디코딩 확률을 향상시킬 수 있다. 그러나, MLC 셀들에 대한 LLR들을 계산하는 것은, 비휘발성 메모리 어레이의 하위 및 상위 페이지들을 판독해야 하는 필요성으로 인해 특정 방법들이 구현될 때 연산적으로 고비용일 수 있다. 여기에 개시된 실시형태들은 데이터 저장 매체들로서 MLC 비휘발성 메모리 어레이들을 사용하는 데이터 저장 시스템들에서 럼프된 (lumped)-LLR 생성을 위한 시스템들 및 방법들을 제공하여, 특정 다른 기법들에 비해 요구되는 판독들의 수를 감소시킬 수 있다. 이것은 효율 및 신뢰성을 개선시킬 수 있다.
본 출원에 사용되는 바와 같이, "비휘발성 메모리" 는 NAND 플래시와 같은 솔리드-스테이트 메모리를 지칭할 수도 있다. 그러나, 본 개시물의 시스템들 및 방법들은 또한 더욱 전통적인 하드 드라이브들 및 솔리드-스테이트와 하드 드라이브 컴포넌트들 양쪽을 포함하는 하이브리드 드라이브들에 유용할 수도 있다. 솔리드-스테이트 메모리는 플래시 집적 회로들, PC-RAM 또는 PRAM (Phase Change Memory), PMC-RAM 또는 PMCm (Programmable Metallization Cell RAM), OUM (Ovonic Unified Memory), RRAM (Resistance RAM), NAND 메모리, NOR 메모리, EEPROM, FeRAM (Ferroelectric Memory), MRAM, 또는 다른 이산 NVM (비휘발성 메모리) 칩들과 같은 광범위한 기술들을 포함할 수도 있다. 비휘발성 메모리 어레이들 또는 솔리드-스테이트 저장 디바이스들은, 이 기술분야에 알려진 바와 같이, 평면들, 블록들, 페이지들, 및 섹터들로 물리적으로 분할될 수도 있다. 저장의 다른 형태들 (예를 들어, 배터리 백업 휘발성 DRAM 또는 SRAM 디바이스들, 자기 디스크 드라이브들 등) 이 부가적으로 또는 대안적으로 사용될 수도 있다.
시스템 개관
도 1 은 에러 관리 모듈 (140) 을 포함하는 저장 서브시스템과의 호스트 시스템의 조합 (100) 을 예시한 블록 다이어그램이다. 도시된 바와 같이, 저장 서브시스템 (120) 은 제어기 (130) 를 포함하고, 이 제어기 (130) 는 차례로 에러 관리 모듈 (140) 을 포함한다. 특정 실시형태들에서, 에러 관리 모듈 (140) 은 하나 이상의 비휘발성 솔리드-스테이트 메모리 어레이들 (150) 의 내부 데이터 손상의 특정 종류들을 검출하고 정정하도록 구성된다. 하나의 실시형태에서, 에러 관리 모듈은 연판정 에러 정정을 위해 메모리 어레이 (150) 의 MLC 셀들에 대한 LLR들을 생성하도록 구성된다. 특정 실시형태들에서, 제어기 (130) 는 호스트 시스템 (110) 상에 상주하는 저장 인터페이스 (예를 들어, 드라이버) (112) 로부터 메모리 액세스 커맨드들을 수신하고 비휘발성 솔리드-스테이트 메모리 어레이들 (150) 에서 이러한 호스트-발행된 메모리 커맨드들에 응답하여 커맨드들을 실행하도록 구성된다. 데이터는 이들 커맨드들에 기초하여 액세스/전송될 수도 있다.
도 2 는 하나의 실시형태에 따른 비휘발성 메모리 어레이에서의 셀들의 확률 분포를 도시한 그래프이다. 멀티-레벨 셀 (MLC) NAND 플래시 메모리와 같은 플래시 메모리는, 셀 당 정보의 2 이상의 비트들을 저장할 수도 있다. 여기에 개시된 특정 실시형태들이 MLC들의 맥락에서 설명되지만, 여기에 개시된 개념들은 단일 레벨 셀 (SLC), 3-레벨 셀 (TLC) 기술 (MLC NAND 의 한 타입), 및/또는 다른 타입들의 기술과 양립가능할 수도 있다는 것을 이해해야 한다. 데이터는 일반적으로 2진 포맷으로 MLC NAND 플래시 메모리에 저장된다. 예를 들어, 셀-당-2-비트 메모리 셀들은 4개의 별개의 임계 전압 (Vt) 레벨들을 가질 수 있고, 셀-당-3-비트 메모리 셀들은 8개의 별개의 임계 전압 (Vt) 레벨들을 가질 수 있는 것 등으로 된다. 이들의 Vt, 및 이들의 Vt 와 연관된 코딩에 따라, 메모리 셀들은 상이한 2진 비트들을 저장한다.
도 2 에 서술된 수평 축은 셀 전압 레벨을 나타낸다. 수직 축은 대응 전압 값들을 갖는 셀들의 수를 나타낸다. 따라서, 4개의 분포 곡선들은, 대응 전압 값들을 갖는, 4개의 분포들로 분류되는 셀들의 수를 나타낸다. 도시된 바와 같이, 메모리 셀들의 전압 분포는 복수의 별개의 레벨들, 또는 상태들 (예를 들어, 도시된 바와 같이, 이 예의 셀-당-2-비트 MLC 구성에서는 상태들 0 내지 3) 을 포함할 수도 있다. 판독 기준 값들 (즉, 전압 임계 레벨들 R1 내지 R3) 은 이들 레벨들 사이에 배치될 수도 있다. 특정 실시형태에서 판독 전압 기준들이 유리하게 포지셔닝될 수도 있는 이 레벨들 사이의 갭 (즉, 프로그래밍된 상태들 사이의 마진) 은 "판독 마진" 이라고 지칭된다. 시간이 지남에 따라, 그리고, 예를 들어, 반복된 P/E 사이클들로 겪게 되는 것으로부터의 다양한 물리적 조건들 및 마모의 결과로서, 다양한 분포 레벨들 사이의 판독 마진들이 감소되어, 특정 한도들을 넘는 보다 높은 판독 에러들과 데이터 보유 문제들을 모두 발생시킬 수도 있다. 이러한 판독 마진의 감소는 플래시 셀 산화물 열화로 인한 전하 손실, 불규칙한 프로그램 단계들에 의해 초래되는 오버-프로그래밍, 셀의 인근에서의 과중한 판독들 또는 기입들 (또는 기입 방해들) 로 인한 인접 소거 셀들의 프로그래밍과 같은 다수의 요인들, 및/또는 다른 요인들로 인한 것일 수도 있다.
도 2 의 다이어그램이 셀-당-2-비트 플래시 메모리들에 대한 Vt 분포를 예시하지만, 여기에 개시된 실시형태들 및 피처들 (features) 은 코딩 스킴들의 다른 타입들에 적용가능할 수도 있다. 도 2 의 실시형태와 관련하여, 상태들 0 내지 3 에 대한 코딩은, 예를 들어, "11", "01", "00" 및 "10", 또는 임의의 다른 코딩일 수 있다. 각각의 셀은 일반적으로 예시된 상태들 중 하나에 속하고, 이에 대응하여 2 비트들을 나타낼 수도 있다. NAND 어레이에서 수만개의 셀들에 연결될 수 있는 하나의 워드 라인 (WL) 에 대해, 셀들의 하위 디지트는 "하위 페이지" 라고 지칭될 수도 있고, 상위 디지트는 "상위 페이지" 라고 지칭될 수도 있다. 셀-당-3-비트 플래시 메모리들에 대해, "중간 페이지들" 이라고 지칭될 수도 있는 중간 디지트들이 또한 존재할 수도 있다. 전압 레벨들 및 동작들의 판독은 이들 상태들의 코딩에 의존한다. 예를 들어, 셀-당-2-비트 플래시 메모리들에 대해 도 2 에 도시된 코딩에 대해, R2 에서의 하나의 판독은 하위 페이지를 판독하는 것이 요구될 수도 있고, R1 과 R3 양쪽에서의 2개의 판독들은 상위 페이지를 판독하는 것이 요구될 수도 있다. 도 2 의 분포에 도시된 바와 같이, 이들 판독 전압들은, 상이한 상태들에 대한 분포들이 이들 사이에 어떠한 오버랩도 존재하지 않을 정도로 좁은 경우에 상태 분포들 사이에서 선택될 수도 있다.
도 3 은 다른 실시형태에 따른 비휘발성 메모리 어레이에서의 셀들의 확률 분포를 도시한 그래프이다. 상술된 바와 같이, 메모리 마모, 데이터 보유의 손실 등으로 인해, 전압 분포의 상태들이 넓어지고 오버랩될 수 있다. 미리 설정된 판독 전압들에서 판독하는 것은, 경판정 LDPC 와 같은 적합한 ECC 스킴을 활용할지라도, 오리지널 데이터를 디코딩하기에 충분하지 않을 수도 있다. 이러한 상황들에서, 연판정 입력들은 LDPC 엔진에 대해 바람직할 수도 있는데, 이는 연판정 LDPC 가 경판정 LDPC 를 단지 활용하는 것에 비해 LDPC 엔진에 부가적인 입력을 제공할 수 있기 때문이다.
하나의 실시형태에서, NAND 플래시 메모리들에 대해 연판정 입력들은 LLR들일 수 있다. LLR 생성 알고리즘은, 도 3 에 도시된 바와 같이, 상이한 판독 전압들을 이용하는 다수의 판독들을 수반할 수도 있고, 여기서 R, R-, 및 R+ 에서의 판독 전압들을 이용하는 3개의 판독들이 수반된다. 이들 3개의 판독 전압들은 도 3 에 도시된 분포를 4개의 영역들로 분할한다 (예를 들어, 영역 1 내지 영역 4, 좌측에서부터 우측으로). 3개의 판독 전압들이 도 3 에 예시되지만, 특정 실시형태들은 3개보다 더 많은 판독 전압들을 포함할 수 있고, 여기서 분포는 4개보다 더 많은 영역들로 분할될 수도 있다. 예를 들어, 4개, 5개, 6개, 또는 그 이상의 판독들이 전압 상태들 사이의 접합부와 연관되어 취해질 수도 있다. 상이한 영역들에서의 전하 레벨들을 갖는 플래시 셀들은 각각의 영역에 대응하는 상이한 값들을 리턴할 수도 있다. 예를 들어, 특정 실시형태들에서, 영역 1 내에서 설정된 Vt 로 판독된 플래시 셀들은 3개의 판독들 ("111") 각각에 대해 "1" 을 리턴하고; 영역 2 내에서 설정된 Vt 로 판독된 셀들은 "011" 을 리턴하고; 영역 3 내에서 설정된 Vt 로 판독된 셀들은 "001" 을 리턴하며; 영역 4 내에서 설정된 Vt 로 판독된 셀들은 "000" 을 리턴한다. 데이터가 알려진 경우, 수 조합의 이들 4개 그룹들에 대한 LLR들이 획득될 수도 있다. 예를 들어, m개 셀들의 실가 (real value) 들이 0 인, 영역 1 에서 총 N개의 셀들이 존재하는 경우, LLR 은 LLR(111) = log(m/N-m) 을 사용하여 결정될 수 있다. 도 3 이 3개의 판독들 및 4개의 영역들을 도시하지만, 다른 실시형태들에서는 더 많은 판독들 및 영역들이 가능하고, LLR들은 상술된 것과 유사한 방식으로 생성될 수도 있다.
특정 실시형태들에서, LLR들은 (예를 들어, 미리 결정된 메모리 페이지들에 저장된) 알려진 데이터에 기초하여 생성된다. 다른 실시형태들에서, LLR들은 경판정 ECC 스킴을 사용하여 디코딩될 수 있는 데이터에 기초하여 생성된다. 일부 실시형태에서, 알려진 데이터 및/또는 하드-디코딩가능한 데이터가 사용될 수 있다. 경판정 LDPC 가 실패할 때, LLR들은 선험적 및/또는 다른 기준 데이터로부터 생성되고 연판정 입력들로서 현재 판독되고 있는 데이터에 적용되어 데이터를 성공적으로 디코딩할 우도를 향상시킬 수도 있다. 예를 들어, 메모리의 페이지를 판독하는 동안, 판독 에러들과 접하게 되어 페이지에 저장된 데이터를 디코딩하기 위해 연판정 데이터가 사용될 수도 있다.
하위 페이지 LLR 생성
후술되는 예시적인 구현들은 셀-당-2-비트 플래시 메모리에 기초한다. 그러나, 설명된 피처들 및 실시형태들은 셀-당-2-비트 플래시 메모리에 제한되지 않는다는 것을 이해해야 한다. 하나의 실시형태에서, 셀-당-2-비트 플래시 메모리는 WL 당 2개 페이지들을 가질 수도 있다. 판독 알고리즘이 하위 페이지들 및 상위 페이지들에 대해 상이할 수도 있기 때문에, 2개의 경우들이 개별적으로 다루어질 수 있다.
도 2 에 도시된 코딩을 이용하는 셀-당-2-비트 플래시 메모리에 대해, 상태 0 과 상태 1 사이, 또는 상태 2 와 상태 3 사이의 어떠한 분포 오버랩들도, 일반적으로는 하위 페이지에 대해 에러들을 초래하지 않는다. 따라서, 상태 0 과 상태 1 은 "1" 의 하위 페이지 값들을 갖는 데이터의 풀 (pool) 로 이루어진 단일 상태로서 다루어질 수도 있고, 상태 2 와 상태 3 은 "0" 의 하위 페이지 값들을 갖는 데이터의 풀로 이루어진 단일 상태로서 다루어질 수도 있다. 따라서, 셀-당-2-비트 플래시 메모리들의 하위 페이지에 대해, 도 3 에 예시된 분포가 사용될 수 있다. 하위 페이지에 대한 LLR들은 그 후에 도 3 의 위의 설명에 따라 생성될 수 있다.
특정 실시형태들에서, 도 3 에 도시된 바와 같이, Vt 분포의 2개 섹션들의 교차점에 있거나 또는 그 교차점 가까이에 있는 포지션에서의 전압 임계치 R 을 선택하는 것이 바람직할 수도 있다. 또한, R- 및 R+ 는, 오버랩 구역을 커버하는 R 로부터 거리를 두고 포지셔닝되는 것이 바람직할 수도 있다. 그러나, 판독 값들의 임의의 적합한 선택이 사용될 수도 있다.
상위 페이지 럼프된-LLR 생성
도 2 에 도시된 코딩을 이용하는 셀-당-2-비트 플래시 메모리 상위 페이지들에 대해, 하위 페이지들에 대해 상술된 LLR 생성 방법은 더 이상 효과적이지 않을 수도 있다. 예를 들어, 하위 페이지 판독들의 경우, 0들 및 1들이 자연적으로 이들의 Vt 에 따라 2개의 풀들로 나누어지기 때문에, LLR들을 획득하기 위해 다수의 판독들을 사용하는 것은 비교적 간단하다. 그러나, 상위 페이지들의 경우, R1 판독들 또는 R3 판독들 중 어느 하나의 판독들에 대해 어려움들이 생길 수도 있는데, 이는 양쪽의 판독들이 판독 전압들의 적어도 한 쪽에 오버랩하는 0들과 1들을 가질 수도 있기 때문이다. 따라서, 에러 관리 모듈 (140) 은 0들 또는 1들이 R1 또는 R3 판독 중 어느 하나의 판독에 의해 생성되는지를 결정하는 것이 가능하지 않을 수도 있다. NAND 메모리 어레이 내부의 유한 상태 기계의 제어에 기초하여, 리턴된 값은 단지 2개의 판독들의 조합으로부터 획득된 최종 값들일 수도 있다.
일 실시형태에 따라 R1 과 R3 사이를 구별하는 하나의 방법은, 상위 페이지에 대한 LLR들을 생성할 때 상태들 사이를 구분하기 위해 대응 하위 페이지를 되판독 (read back) 하는 것이다. 도 4 는 하위 페이지 되판독을 사용한 상위 페이지 럼프된-LLR 생성 프로세스 (400) 의 일 실시형태를 도시한 플로우 다이어그램이다. 프로세스 (400) 는 제어기 (130) 및/또는 에러 관리 모듈 (140) 에 의해 실행될 수 있다. R1 과 R3 각각에 대해, (블록 404 에서) 일단 하위 페이지가 되판독된다면, 프로세스 (400) 는 블록들 406 및 408 로 천이하고, 여기서 R1 과 R3 양쪽에 대한 LLR들을 각각 생성한다. 예를 들어, R1 에 대한 LLR 생성을 위해, R1 에서의 3개의 시프트된 전압 판독들, 하위 페이지를 되판독하기 위한 3개의 판독들, 및 R3 에서의 3개의 판독들을 포함하는, 9개의 판독들이 요구될 수도 있다. 이와 유사하게, R3 에 대한 LLR들을 또한 생성하기 위해 9개의 판독들이 요구될 수도 있다. 따라서, 상위 페이지에 대한 LLR들을 생성하기 위해 총 18개의 판독들이 요구될 수도 있어서, 시스템 상에 상당한 로드가 나타날 수도 있다.
여기에 개시된 특정 실시형태들은 R1 과 R3 양쪽에 대한 상위 페이지 LLR 생성을 위해 요구되는 판독들의 수를 감소시키는 방법들을 제공한다. 도 5a 는 하나의 실시형태에 따라 럼프될 수 있는 상위 페이지 값들을 갖는 셀들의 확률 분포를 도시한 그래프이다. 도 5a 에 예시된 바와 같이, 상위 페이지에 대해, 파선의 박스로 강조된 바와 같이, 상태 1 및 상태 2 는 "0" 의 값을 갖는 모든 셀들을 포함하는 하나의 풀로서 간주될 수 있고, 럼프된-LLR 은 동시에 R1 과 R3 판독 양쪽에 대해 생성될 수 있다. 상태 1 과 상태 2 사이의 오버랩은, 이 오버랩이 존재하는 경우, 상위 페이지 판독에 영향을 미치지 않을 수도 있는데, 이는 이들이 모두 "0" 으로서 코딩되기 때문이다. 따라서, 단순성을 위해, 상태 1 과 상태 2 는 "0들" 의 풀로 이루어진 단일 상태로서 간주될 수 있다. 이러한 단순화에 의해, LLR 생성을 달성하는데 요구되는 판독 동작들의 수가 감소될 수 있다.
"1" 이 되판독될 때 시스템이 상태들을 구별하지 못할 수도 있기 때문에, 상태 0 과 상태 3 은 또한 1들을 모두 포함하는 단일 상태로서 간주될 수도 있다. 상태 0 과 상태 3 이 오버랩되도록, 분포가 "롤-오버 (roll-over)" 인 것으로 간주될 수도 있다. 따라서, 하위 페이지 판독과 유사하게, R1 과 R3 판독들은 단일의 인터로킹된 (interlocked) 판독으로서 간주될 수도 있고, 전압 본딩 기법들 (후술함) 은 다수의 판독들을 취할 때 사용될 수도 있다. 도 5b 는 하나의 실시형태에 따른 럼프된 상위 페이지들을 갖는 셀들의 확률 분포를 도시한 그래프이다. 일 예로서, 다음의 판독 레벨들은 함께 럼프될 수도 있다: R1 및 R3, R1+ 및 R3-, 그리고 R1- 및 R3+. 특정 실시형태들에서, 각 쌍에 대한 2개의 판독 레벨들은 동일한 상대 전압 시프트를 갖는다. 특정 실시형태들에서, 본딩 전압 쌍들의 전압 시프트들은 동일하지 않다. LLR들을 생성하기 위한 다중 판독 프로세스에서, R1 및 R3 본딩 쌍들이 사용되어 상위 페이지들을 판독할 수도 있다. 3개의 판독들은, 상술된 바와 같이, 판독 전압들의 3개 쌍들을 취할 수도 있다. 도 5b 에 도시된 바와 같이, 판독 전압 본딩은 분포를 4개의 영역들 (1, 2, 3, 4 로 라벨링됨) 로 분할할 수도 있다. 이에 따라, 상위 페이지 LLR 생성은 하위 페이지 LLR 생성에 대한 것과 같을 수도 있지만, 이제 생성된 LLR들은 단일 판독 전압에 대한 것이 아니라, R1 과 R3 양쪽에 대한 럼프된-LLR들이다. 따라서, 특정 실시형태들에서, 위의 도 4 에서 설명된 방법에 대해 요구될 수도 있는 18개의 판독들과는 대조적으로, 상위 페이지 LLR들은 총 6개의 판독들을 사용하여 생성될 수도 있다.
도 6 은 상위 페이지 럼프된-LLR 생성을 위한 프로세스 (600) 의 일 실시형태를 도시한 플로우 다이어그램이다. 프로세스 (600) 는 제어기 (130) 및/또는 에러 관리 모듈 (140) 에 의해 실행될 수 있다. 프로세스 (600) 는 상이한 상위 페이지 값들을 갖는 상태들 사이의 전압 판독 레벨들을 선택하는 것을 포함할 수도 있다. 예를 들어, 도 5b 에 도시된 스킴에 대해, 블록들 602 및 604 에서, 시프트된 판독 레벨들을 포함하는 전압 판독 레벨들이 R1 과 R3 에 대해 각각 결정될 수도 있다. 프로세스 (600) 는, 상술된 바와 같은, 전압 판독 레벨들의 쌍들을 링크하는 것을 더 포함한다. 블록들 606, 608, 및 610 은 분포에서 바람직한 영역들을 발생시킬 수도 있는 예시적인 쌍들을 제공한다. 링크된 쌍들의 판독들은 MLC 매체들에서 셀들의 상위 페이지들에 대한 연판정 LLR들을 생성하는데 사용된다.
도 7a 내지 도 7c 는 하나의 실시형태에 따른 3 비트 (TLC) 인코딩 스킴에 따라 프로그래밍된 셀들의 확률 분포를 도시한 그래프들이다. 도시된 바와 같이, 특정 실시형태들에서, 하위 페이지 LLR 생성은 상술된 MLC 실시형태와 유사하게, R4 에서의 판독을 포함할 수도 있다. 중간 페이지 LLR 생성은, 상술된 MLC 상위 페이지 LLR 생성과 유사하게, R2 와 R6 에서의 판독을 포함할 수도 있다. 도 7d 는 하나의 실시형태에 따른 TLC 인코딩 스킴에서의 상위 페이지 럼프된-LLR 생성을 위한 프로세스의 일 실시형태를 도시한 플로우 다이어그램이다. TLC 의 상위 페이지 LLR 생성은 다음의 그룹화들에 따른 판독을 포함할 수도 있다: R1, R3, R5 및 R7; R1-, R3+, R5-, 및 R7+; R1, R3, R5 및 R7; 그리고 R1+, R3-, R5+, 및 R7-. 상술된 것과 동일한 방식으로, LLR들을 생성하는데 요구되는 판독 동작들의 수가 감소될 수 있다.
다른 변형들
여기에 설명된 전압 레벨 분포들과 연관된 판독 레벨들, 상태들, 및 코딩 스킴들뿐만 아니라, 이를 나타내는데 사용되는 변수들 및 명칭들은 단지 편의를 위해 사용된 것이다. 본 출원에 사용되는 바와 같이, "비휘발성 메모리" 는 통상적으로 NAND 플래시와 같은 솔리드-스테이트 메모리를 지칭하지만, 그 NAND 플래시로 제한되지 않는다. 그러나, 본 개시물의 시스템들 및 방법들은 또한 더욱 전통적인 하드 드라이브들 및 솔리드-스테이트와 하드 드라이브 컴포넌트들 양쪽을 포함하는 하이브리드 드라이브들에 유용할 수도 있다. 솔리드-스테이트 저장 디바이스들 (예를 들어, 다이들) 은, 이 기술분야에 알려진 바와 같이, 평면들, 블록들, 페이지들, 및 섹터들로 물리적으로 분할될 수도 있다. 저장의 다른 형태들 (예를 들어, 배터리 백업 휘발성 DRAM 또는 SRAM 디바이스들, 자기 디스크 드라이브들 등) 이 부가적으로 또는 대안적으로 사용될 수도 있다.
당업자들은, 일부 실시형태들에서, 다른 타입들의 데이터 저장 시스템들 및/또는 데이터 보유 모니터링이 구현될 수 있다는 것을 인식할 것이다. 부가적으로, 도 4 및 도 6 에 도시된 프로세스들에서 취해진 실제 단계들은 도면들에 도시된 것들과 다를 수도 있다. 실시형태에 따라, 상술된 몇몇 단계들은 제거될 수도 있고, 다른 것들이 부가될 수도 있다. 이에 따라, 본 개시물의 범위는 오직 첨부된 청구항들을 참조하여 정의되는 것으로 의도된다.
특정 실시형태들이 설명되었지만, 이들 실시형태들은 오직 예로서만 제시되며, 보호 범위를 제한하려고 의도된 것이 아니다. 실제로, 여기에 설명된 신규한 방법들 및 시스템들은 다양한 다른 형태들로 구현될 수도 있다. 또한, 여기에 설명된 방법들 및 시스템들의 형태에 있어서 다양한 생략들, 대체들 및 변경들이 행해질 수도 있다. 첨부된 청구항들 및 그 등가물들은 이러한 형태들 또는 변경들을 보호 범위 및 사상 내에 있도록 커버하는 것으로 의도된다. 예를 들어, 도면들에 예시된 다양한 컴포넌트들은 프로세서, ASIC/FPGA, 또는 전용 하드웨어 상의 소프트웨어 및/또는 펌웨어로서 구현될 수도 있다. 또한, 위에 개시된 특정 실시형태들의 피처들 및 속성들은 그들 모두가 본 개시물의 범위 내에 있는 부가적인 실시형태들을 형성하도록 상이한 방식들로 결합될 수도 있다. 본 개시물이 특정 바람직한 실시형태들 및 애플리케이션들을 제공하지만, 여기에 설명된 피처들 및 이점들 모두를 제공하지 않는 실시형태들을 포함하여 당업자들에게 명백한 다른 실시형태들이 또한 본 개시물의 범위 내에 있다. 그에 따라, 본 개시물의 범위는 오직 첨부된 청구항들을 참조하여 정의되는 것으로 의도된다.

Claims (16)

  1. 솔리드-스테이트 저장 디바이스로서,
    사용자 데이터를 저장하도록 구성된 복수의 비휘발성 메모리 셀들을 포함하는 비휘발성 솔리드-스테이트 메모리 어레이로서, 상기 메모리 셀들은 제 1 페이지 및 제 2 페이지를 포함하는, 상기 비휘발성 솔리드-스테이트 메모리 어레이; 및
    제어기
    를 포함하고,
    상기 제어기는, 상기 복수의 메모리 셀들 중의 메모리 셀의 제 1 페이지에 대응하는 로그 우도비 (log-likelihood ratio; LLR) 들을, 적어도,
    상기 메모리 셀과 연관된 전하 (charge) 분포 스펙트럼을 복수의 영역들로 분할하는 복수의 임계 전압들에서 복수의 제 1 판독들을 수행하는 것; 및
    상기 복수의 제 1 판독들 및 알려진 데이터 값들에 적어도 부분적으로 기초하여 상기 복수의 영역들과 연관된 제 1 페이지 LLR들을 결정하는 것
    에 의해 결정하도록 구성되고,
    상기 제어기는 또한, 상기 메모리 셀의 제 2 페이지에 대응하는 LLR들을, 적어도,
    제 1 임계 전압과 연관된 제 1 임계 전압 레벨 R1-, 제 2 임계 전압 레벨 R1, 및 제 3 임계 전압 레벨 R1+ 를 적어도 결정하는 것;
    제 2 임계 전압과 연관된 제 1 임계 전압 레벨 R3-, 제 2 임계 전압 레벨 R3, 및 제 3 임계 전압 레벨 R3+ 를 적어도 결정하는 것;
    임계 전압 레벨들 R1-, R1, R1+, R3-, R3, 및 R3+ 에서 복수의 제 2 판독들을 수행하는 것; 및
    상기 복수의 제 2 판독들 및 알려진 데이터 값들에 적어도 부분적으로 기초하여 제 2 페이지 LLR들을 결정하는 것
    에 의해 결정하도록 구성되는, 솔리드-스테이트 저장 디바이스.
  2. 제 1 항에 있어서,
    상기 제 2 페이지 LLR들은 R1- 보다 더 작고 R3+ 보다 더 큰 전압 레벨들을 포함하는 제 1 의 럼프된 (lumped) 영역, R1- 와 R1 사이이고 R3 과 R3+ 사이인 전압 레벨들을 포함하는 제 2 의 럼프된 영역, R1 과 R1+ 사이이고 R3- 와 R3 사이인 전압 레벨들을 포함하는 제 3 의 럼프된 영역, 및 R1+ 와 R3- 사이의 전압 레벨들을 포함하는 제 4 의 럼프된 영역과 연관되는, 솔리드-스테이트 저장 디바이스.
  3. 제 1 항에 있어서,
    상기 제어기는 상기 복수의 제 1 판독들 중 하나 이상을 되판독하는 (reading back) 일 없이 상기 제 2 페이지 LLR들을 결정하도록 구성되는, 솔리드-스테이트 저장 디바이스.
  4. 제 1 항에 있어서,
    상기 제 1 페이지 LLR들 또는 상기 제 2 페이지 LLR들 중 하나 이상은 상기 제어기에 의해 연판정 저밀도 패리티 체크 (low-density parity check; LDPC) 엔진에 대한 입력들로서 사용되는, 솔리드-스테이트 저장 디바이스.
  5. 제 1 항에 있어서,
    상기 메모리 셀은 데이터의 2 비트들을 저장하도록 구성되는, 솔리드-스테이트 저장 디바이스.
  6. 제 1 항에 있어서,
    상기 솔리드-스테이트 메모리 어레이는 NAND 플래시 메모리 어레이인, 솔리드-스테이트 저장 디바이스.
  7. 제 1 항에 있어서,
    상기 복수의 영역들은 4개의 영역들을 포함하는, 솔리드-스테이트 저장 디바이스.
  8. 제 1 항에 있어서,
    상기 제 1 페이지는 하위 페이지이고 상기 제 2 페이지는 상위 페이지인, 솔리드-스테이트 저장 디바이스.
  9. 사용자 데이터를 저장하도록 구성된 복수의 비휘발성 메모리 셀들을 포함하는 비휘발성 솔리드-스테이트 저장 디바이스에서 로그 우도비 (LLR) 들을 결정하는 방법으로서,
    상기 메모리 셀들은 제 1 페이지 및 제 2 페이지를 포함하고,
    상기 방법은,
    상기 복수의 메모리 셀들 중의 메모리 셀의 제 1 페이지에 대응하는 LLR들을, 적어도,
    상기 메모리 셀과 연관된 전하 분포 스펙트럼을 복수의 영역들로 분할하는 복수의 임계 전압들에서 복수의 제 1 판독들을 수행하는 것; 및
    상기 복수의 제 1 판독들 및 알려진 데이터 값들에 적어도 부분적으로 기초하여 상기 복수의 영역들과 연관된 제 1 페이지 LLR들을 결정하는 것
    에 의해 결정하는 단계; 및
    상기 메모리 셀의 제 2 페이지에 대응하는 LLR들을, 적어도,
    제 1 임계 전압과 연관된 제 1 임계 전압 레벨 R1-, 제 2 임계 전압 레벨 R1, 및 제 3 임계 전압 레벨 R1+ 를 결정하는 것;
    제 2 임계 전압과 연관된 제 1 임계 전압 레벨 R3-, 제 2 임계 전압 레벨 R3, 및 제 3 임계 전압 레벨 R3+ 를 결정하는 것;
    임계 전압 레벨들 R1-, R1, R1+, R3-, R3, 및 R3+ 에서 복수의 제 2 판독들을 수행하는 것; 및
    상기 복수의 제 2 판독들에 적어도 부분적으로 기초하여 제 2 페이지 LLR들을 결정하는 것
    에 의해 결정하는 단계
    를 포함하는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  10. 제 9 항에 있어서,
    상기 제 2 페이지 LLR들은 R1- 보다 더 작고 R3+ 보다 더 큰 전압 레벨들을 포함하는 제 1 의 럼프된 영역, R1- 와 R1 사이이고 R3 과 R3+ 사이인 전압 레벨들을 포함하는 제 2 의 럼프된 영역, R1 과 R1+ 사이이고 R3- 와 R3 사이인 전압 레벨들을 포함하는 제 3 의 럼프된 영역, 및 R1+ 와 R3- 사이의 전압 레벨들을 포함하는 제 4 의 럼프된 영역과 연관되는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  11. 제 9 항에 있어서,
    상기 제 2 페이지 LLR들을 결정하는 것은 상기 복수의 제 1 판독들 중 하나 이상을 되판독하는 일 없이 수행되는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  12. 제 9 항에 있어서,
    상기 제 1 페이지 LLR들 또는 상기 제 2 페이지 LLR들 중 하나 이상을 연판정 저밀도 패리티 체크 (LDPC) 엔진에 대한 입력들로서 제공하는 단계를 더 포함하는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  13. 제 9 항에 있어서,
    상기 메모리 셀은 데이터의 2 비트들을 저장하도록 구성되는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  14. 제 9 항에 있어서,
    상기 복수의 영역들은 4개의 영역들을 포함하는, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  15. 제 9 항에 있어서,
    상기 제 1 페이지는 하위 페이지이고 상기 제 2 페이지는 상위 페이지인, 비휘발성 솔리드-스테이트 저장 디바이스에서 LLR들을 결정하는 방법.
  16. 솔리드-스테이트 저장 디바이스로서,
    사용자 데이터를 저장하도록 구성된 복수의 비휘발성 메모리 셀들을 포함하는 비휘발성 솔리드-스테이트 메모리 어레이로서, 상기 메모리 셀들은 제 1 페이지 및 제 2 페이지를 포함하는, 상기 비휘발성 솔리드-스테이트 메모리 어레이; 및
    제어기
    를 포함하고,
    상기 제어기는, 상기 복수의 메모리 셀들 중의 메모리 셀의 제 1 페이지에 대응하는 로그 우도비 (LLR) 들을, 적어도,
    상기 메모리 셀과 연관된 전하 분포 스펙트럼을 복수의 영역들로 분할하는 복수의 임계 전압들에서 복수의 제 1 판독들을 수행하는 것; 및
    상기 복수의 제 1 판독들 및 알려진 데이터 값들에 적어도 부분적으로 기초하여 상기 복수의 영역들과 연관된 제 1 페이지 LLR들을 결정하는 것
    에 의해 결정하도록 구성되고,
    상기 제어기는 또한, 상기 메모리 셀의 제 2 페이지에 대응하는 LLR들을, 적어도,
    제 1 임계 전압과 연관된 제 1 전압 판독 레벨, 제 2 전압 판독 레벨, 및 제 3 전압 판독 레벨을 적어도 결정하는 것;
    제 2 임계 전압과 연관된 제 4 전압 판독 레벨, 제 5 전압 판독 레벨, 및 제 6 전압 판독 레벨을 적어도 결정하는 것;
    제 1, 제 2, 제 3, 제 4, 제 5, 및 제 6 전압 판독 레벨들에서 복수의 제 2 판독들을 수행하는 것; 및
    상기 복수의 제 2 판독들 및 알려진 데이터 값들에 적어도 부분적으로 기초하여 제 2 페이지 LLR들을 결정하는 것
    에 의해 결정하도록 구성되는, 솔리드-스테이트 저장 디바이스.
KR1020157019419A 2012-12-19 2013-09-24 데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성 KR20150099795A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/720,591 US20140169102A1 (en) 2012-12-19 2012-12-19 Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
US13/720,591 2012-12-19
PCT/US2013/061492 WO2014099065A1 (en) 2012-12-19 2013-09-24 Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems

Publications (1)

Publication Number Publication Date
KR20150099795A true KR20150099795A (ko) 2015-09-01

Family

ID=50930722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019419A KR20150099795A (ko) 2012-12-19 2013-09-24 데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성

Country Status (7)

Country Link
US (1) US20140169102A1 (ko)
EP (1) EP2936495A4 (ko)
JP (1) JP2016506590A (ko)
KR (1) KR20150099795A (ko)
CN (1) CN104937667A (ko)
HK (1) HK1215491A1 (ko)
WO (1) WO2014099065A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180018069A (ko) * 2016-08-12 2018-02-21 에스케이하이닉스 주식회사 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US10001952B2 (en) 2016-04-11 2018-06-19 SK Hynix Inc. Data storage device and operating method thereof including read error correction

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923066B1 (en) * 2012-04-09 2014-12-30 Sk Hynix Memory Solutions Inc. Storage of read thresholds for NAND flash storage using linear approximation
KR102110767B1 (ko) * 2013-12-24 2020-06-09 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러
US10079059B2 (en) 2014-07-28 2018-09-18 Hewlett Packard Enterprise Development Lp Memristor cell read margin enhancement
CN105468471A (zh) * 2014-09-12 2016-04-06 光宝科技股份有限公司 固态存储装置及其错误更正方法
US9720754B2 (en) 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9576671B2 (en) 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9905302B2 (en) 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9881793B2 (en) 2015-07-23 2018-01-30 International Business Machines Corporation Neutral hard mask and its application to graphoepitaxy-based directed self-assembly (DSA) patterning
US9659637B2 (en) 2015-08-11 2017-05-23 Western Digital Technologies, Inc. Correlating physical page addresses for soft decision decoding
US9589655B1 (en) * 2015-10-02 2017-03-07 Seagate Technology Llc Fast soft data by detecting leakage current and sensing time
CN106816179B (zh) 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
US9922707B2 (en) * 2015-12-28 2018-03-20 Toshiba Memory Corporation Semiconductor storage apparatus and memory system comprising memory cell holding data value of multiple bits
DE102016115272A1 (de) * 2016-08-17 2018-02-22 Infineon Technologies Ag Speicher mit unterschiedlichen zuverlässigkeiten
KR20180021324A (ko) 2016-08-19 2018-03-02 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US9811269B1 (en) * 2016-12-30 2017-11-07 Intel Corporation Achieving consistent read times in multi-level non-volatile memory
US20190361769A1 (en) * 2017-01-12 2019-11-28 Agency For Science, Technology And Research Memory device with soft-decision decoding and methods of reading and forming thereof
JP7158965B2 (ja) * 2018-09-14 2022-10-24 キオクシア株式会社 メモリシステム
JP2020047337A (ja) 2018-09-18 2020-03-26 キオクシア株式会社 メモリシステム
WO2020082348A1 (en) * 2018-10-26 2020-04-30 Yangtze Memory Technologies Co., Ltd. Data processing method for memory and related data processor
US11209989B2 (en) * 2019-09-25 2021-12-28 Western Digital Technologies, Inc. Zoned namespaces in solid-state drives

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738201B2 (en) * 2006-08-18 2010-06-15 Seagate Technology Llc Read error recovery using soft information
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8234539B2 (en) * 2007-12-06 2012-07-31 Sandisk Il Ltd. Correction of errors in a memory array
KR101425020B1 (ko) * 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법
US9064594B2 (en) * 2008-09-30 2015-06-23 Seagate Technology Llc Methods and apparatus for soft data generation for memory devices based on performance factor adjustment
US8327234B2 (en) * 2009-02-27 2012-12-04 Research In Motion Limited Code block reordering prior to forward error correction decoding based on predicted code block reliability
KR101586046B1 (ko) * 2009-05-26 2016-01-18 삼성전자주식회사 저장 장치 및 그것의 읽기 방법
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
TWI436370B (zh) * 2010-09-17 2014-05-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
KR101792868B1 (ko) 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
US8427875B2 (en) * 2010-12-07 2013-04-23 Silicon Motion Inc. 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
US8782495B2 (en) * 2010-12-23 2014-07-15 Sandisk Il Ltd Non-volatile memory and methods with asymmetric soft read points around hard read points
KR101856136B1 (ko) * 2011-11-15 2018-06-21 삼성전자주식회사 비휘발성 메모리 장치의 동작 제어방법, 그 메모리 컨트롤러 및 이를 포함하는 메모리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10001952B2 (en) 2016-04-11 2018-06-19 SK Hynix Inc. Data storage device and operating method thereof including read error correction
KR20180018069A (ko) * 2016-08-12 2018-02-21 에스케이하이닉스 주식회사 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
EP2936495A4 (en) 2016-07-13
US20140169102A1 (en) 2014-06-19
CN104937667A (zh) 2015-09-23
HK1215491A1 (zh) 2016-08-26
EP2936495A1 (en) 2015-10-28
WO2014099065A1 (en) 2014-06-26
JP2016506590A (ja) 2016-03-03

Similar Documents

Publication Publication Date Title
KR20150099795A (ko) 데이터 저장 시스템들에 대한 로그-우도비 및 럼프된 로그-우도비 생성
US11074125B2 (en) Data storage system and method for decoding data based on extrapolated flipped-bit data
KR102315294B1 (ko) 솔리드-스테이트 스토리지 디바이스들에서의 판독 전압 계산
US9535620B2 (en) Flash memory system and method controlling same
US9007854B1 (en) Method and system for optimized soft decoding in a data storage device
KR101618311B1 (ko) 플래시 메모리 장치 및 그것의 읽기 방법
JP6312698B2 (ja) ソリッドステートドライブ内の下位ページデータ復旧を行うシステム及び方法
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
US10084479B2 (en) Low BER hard-decision LDPC decoder
US20170046220A1 (en) Soft bit techniques for a data storage device
US9542258B1 (en) System and method for error-minimizing voltage threshold selection
US20080010581A1 (en) Method of error correction in a multi-bit-per-cell flash memory
US10389389B2 (en) Method and data storage device using convolutional low-density parity-check coding with a long page write and a short page read granularity
KR20110081822A (ko) 플래시 메모리에서의 적응형 코딩 방법 및 시스템
US8839075B2 (en) Interference-aware assignment of programming levels in analog memory cells
US8631306B2 (en) Method and memory system using a priori probability information to read stored data
US11630722B2 (en) Method and system for decoding data based on association of first memory location and second memory location
US20150161001A1 (en) Misprogramming prevention in solid-state memory
US11770133B1 (en) Exact ber reporting in the presence of CRC termination
US10084487B2 (en) Apparatuses and methods for erasure-assisted ECC decoding
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
US11949430B2 (en) Parallel system to calculate low density parity check

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid