KR20150139823A - 이웃한 데이터에 기반한 복합 판독의 생성 - Google Patents
이웃한 데이터에 기반한 복합 판독의 생성 Download PDFInfo
- Publication number
- KR20150139823A KR20150139823A KR1020157020671A KR20157020671A KR20150139823A KR 20150139823 A KR20150139823 A KR 20150139823A KR 1020157020671 A KR1020157020671 A KR 1020157020671A KR 20157020671 A KR20157020671 A KR 20157020671A KR 20150139823 A KR20150139823 A KR 20150139823A
- Authority
- KR
- South Korea
- Prior art keywords
- read
- neighboring
- group
- raw
- cell
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
Landscapes
- Read Only Memory (AREA)
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Collating Specific Patterns (AREA)
- Hall/Mr Elements (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
하나 이상의 셀의 빅팀 그룹은 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 이용하여 판독된다. 셀의 빅팀 그룹은 하나 이상의 값을 포함하는 제 2 원료 판독을 획득하기 위해 제 2 판독 임계값 값을 이용하여 판독된다. 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독이 획득된다. 적어도 부분적으로 이웃한 판독에 기초하여 적어도 제 1 원시 판독 및 제 2 원시 판독으로부터 선택하여 포함하는 복합 판독이 생성된다.
Description
다른 출원에 대한 상호 참조
본 출원은 2013년 2월 19일에 출원되고 명칭이 READ-SIDE COMPENSATION OF CAPACITIVE COUPLING FOR NAND-BASED STORAGE DEVICES인 미국 특허 가출원 제61/766,614호(Attorney Docket No. LINKP132+)에 대한 우선권을 주장하며, 이는 본 명세서에서 모든 목적을 위해 참고로 통합된다.
용량성 결합은 (셀의 플로팅 게이트에 전하를 주입함으로써 달성되는) 셀의 기록이 하나 이상의 이웃한한 셀의 플로팅 게이트에 전하를 추가하는 낸드 플래시(NAND Flash)의 문제이다. 낸드 플래시 프로세스 형상(process geometry)이 감소될 때, 낸드 셀 사이의 간격은 감소되어 이러한 효과를 악화시킨다. 플로팅 게이트 셀에서 용량성 결합을 완화시킬 수 있는 기술이 바람직하다. 어떤 경우에는, 이러한 새로운 기술은 다른 분야의 응용을 가질 수 있다.
본 발명의 실시 예는 용량성 결합이 발생된 셀에 대해 정확한 판독을 수행할 수 있는 시스템, 방법 및 컴퓨터 프로그램 제품을 제공하는 데 있다.
본 발명의 실시예에 따른 시스템은 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하고, 하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하도록 구성되는 스토리지 인터페이스 및 상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하고, 적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하도록 구성되는 복합 판독 생성기를 포함할 수 있다.
본 발명의 실시예에 따른 방법은 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하는 단계, 하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하는 단계, 상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하는 단계 및 적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하기 위해 프로세서를 이용하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램 제품은 비일시적 컴퓨터로 판독 가능한 저장 매체로 구현되고, 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하고, 하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하고, 상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하며, 적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하기 위한 컴퓨터 명령어를 포함할 수 있다.
본 발명의 실시 예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품은 용량성 결합이 발생된 셀에 대해 정확한 판독을 수행할 수 있다.
본 발명의 다양한 실시예는 다음의 상세한 설명 및 첨부한 도면에 개시되어있다.
도 1은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
도 2는 복합 판독을 생성하도록 구성되는 판독 프로세서의 실시예를 예시하는 다이어그램이다.
도 3a는 하드 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 3b는 소프트 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 3c는 소정의 셀에 대한 공격자 이웃(aggressor neighbors)의 수에 따라 선택적으로 입력되는 원시 판독(raw reads)의 부분의 실시예를 도시한 다이어그램이다.
도 4는 플로팅 게이트 트랜지스터와 연관된 전압 분포의 실시예를 예시하는 다이어그램이다.
도 5는 두 단계의 기록 프로세스와 연관된 4개의 조건부 분포의 실시예를 예시하는 다이어그램이다.
도 6은 공격자(aggressor) 이웃이 빅팀(victim) 셀에 서로 다른 양의 용량성 결합을 기여하는 실시예를 예시하는 다이어그램이다.
도 7은 빅팀 페이지에서 플로팅 게이트 셀에 대한 총 결합 계수의 실시예를 도시하는 다이어그램이다.
도 8은 3D 낸드 셀의 실시예를 도시하는 다이어그램이다.
도 9는 3D 낸드 셀의 빅팀 그룹과 연관된 전압 분포의 실시예를 예시하는 다이어그램이다.
도 10은 3D 낸드와 연관된 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 11은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
도 12는 서로 다른 이웃이 서로 다른 정도로 빅팀 그룹의 셀에 영향을 주는 분류(classification)를 수행하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
도 1은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
도 2는 복합 판독을 생성하도록 구성되는 판독 프로세서의 실시예를 예시하는 다이어그램이다.
도 3a는 하드 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 3b는 소프트 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 3c는 소정의 셀에 대한 공격자 이웃(aggressor neighbors)의 수에 따라 선택적으로 입력되는 원시 판독(raw reads)의 부분의 실시예를 도시한 다이어그램이다.
도 4는 플로팅 게이트 트랜지스터와 연관된 전압 분포의 실시예를 예시하는 다이어그램이다.
도 5는 두 단계의 기록 프로세스와 연관된 4개의 조건부 분포의 실시예를 예시하는 다이어그램이다.
도 6은 공격자(aggressor) 이웃이 빅팀(victim) 셀에 서로 다른 양의 용량성 결합을 기여하는 실시예를 예시하는 다이어그램이다.
도 7은 빅팀 페이지에서 플로팅 게이트 셀에 대한 총 결합 계수의 실시예를 도시하는 다이어그램이다.
도 8은 3D 낸드 셀의 실시예를 도시하는 다이어그램이다.
도 9는 3D 낸드 셀의 빅팀 그룹과 연관된 전압 분포의 실시예를 예시하는 다이어그램이다.
도 10은 3D 낸드와 연관된 복합 판독 생성기의 실시예를 예시하는 다이어그램이다.
도 11은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
도 12는 서로 다른 이웃이 서로 다른 정도로 빅팀 그룹의 셀에 영향을 주는 분류(classification)를 수행하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
본 발명은 프로세스; 장치; 시스템; 물질의 조성물(composition of matter); 컴퓨터 판독 가능 저장 매체 상에서 실시되는 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리에 의해 저장되고/되거나 이러한 메모리에 의해 제공되는 명령어를 실행하도록 구성된 프로세서와 같은 프로세서로서 포함하는 수많은 방식으로 구현될 수 있다. 본 명세서에서, 이러한 구현 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술로서 지칭될 수 있다. 일반적으로, 개시된 프로세스의 단계의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않는 한, 태스크를 수행하도록 구성되는 것으로 설명되는 프로세서 또는 메모리와 같은 구성 요소는 주어진 시간에 태스크를 수행하도록 일시적으로 구성되는 일반적인 구성 요소 또는 태스크를 수행하도록 제조되는 특정 구성 요소로서 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "프로세서"는 하나 이상의 장치, 회로, 및/또는 컴퓨터 프로그램 명령어와 같은 데이터를 처리하도록 구성되는 처리 코어를 나타낸다.
본 발명의 하나 이상의 실시예의 상세한 설명은 본 발명의 원리를 예시하는 첨부한 도면과 함께 아래에 제공된다. 본 발명은 이러한 실시예와 관련하여 설명되지만, 본 발명은 임의의 실시예로 제한되지 않는다. 본 발명의 범위는 청구 범위에 의해서만 제한되고, 본 발명은 다수의 대안, 수정 및 등가물을 포함한다. 다수의 특정한 세부 사항은 본 발명의 완전한 이해를 제공하기 위해 다음의 설명에 제시된다. 이러한 세부 사항은 예를 위해 제공되고, 본 발명은 이러한 특정한 세부 사항의 일부 또는 전부 없이 청구 범위에 따라 실시될 수 있다. 명확성을 위하여, 본 발명에 관련된 기술 분야에서 공지된 기술적인 재료는 본 발명이 불필요하게 불명료하지 않도록 상세히 설명되지 않았다.
도 1은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다. 일부 실시예에서, 도시된 프로세스는 예를 들어 세그먼트가 (예를 들어, 하드 판독 값의 N개의 서로 다른 세트가 반환되도록 하는 N개의 서로 다른 판독 임계값을 사용하여 솔리드 스테이트 스토리지의 N 판독 후에) 성공적으로 에러 정정 디코딩될 수 없을 때 에러 복구 동안에 사용된다.
(100)에서, 하나 이상의 셀의 빅팀 그룹은 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하도록 제 1 판독 임계값을 사용하여 판독된다. 복합 판독과, 솔리드 스테이트 스토리지에서 판독되는 원래의 수정되지 않은 정보를 명백히 구별하기 위해, 후자는 본 명세서에서 "원시 판독"으로 지칭된다. 다양한 실시예에서, 셀의 빅팀 그룹은 페이지 또는 세그먼트를 포함할 수 있다.
(102)에서, 셀의 빅팀 그룹은 하나 이상의 값을 포함하는 제 2 원시 판독을 획득하도록 제 2 판독 임계값을 사용하여 판독된다. 단계(100)에서 획득된 제 1 원시 판독(즉, 길이)의 값의 수뿐만 아니라, 단계(102)에서 획득된 제 2 원시 판독의 값의 수는 빅팀 그룹의 셀의 수와 동일하다. 단계(100 및 102)에서 사용되는 2개의 판독 임계값이 서로 다르기 때문에, 제 1 원시 판독 및 제 2 원시 판독은 동일하지 않아야 한다. 임의의 적절한 판독 임계값 생성 기술은 제 1 판독 임계값 및 제 2 판독 임계값을 고르거나 선택하는데 사용될 수 있다.
(104)에서, 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독이 획득된다. (이웃한 판독이 (104)에서 획득되는) 셀의 이웃한 그룹은 셀의 빅팀 그룹으로부터 판독된 하나 이상의 값에 영향을 줄 가능성을 갖는다. 다양한 실시예에서, 다양한 기술은 단계(104)에서 이웃한 판독을 획득하는데 사용된다. 하나의 예에서, 실시간 판독은 솔리드 스테이트 스토리지의 셀의 이웃한 그룹으로 트리거된다. 다른 예에서, 셀의 이웃한 그룹은 호스트 또는 애플리케이션에 의해 이전에 요망되었고, 판독 프로세서는 이웃한 판독을 성공적 에러 정정 디코딩하였다(예를 들면, 하나 이상의 에러 정정 코드는 에러가 없다는 것을 나타낸다). 이러한 일부 실시예에서, 이웃한 판독은 성공적으로 디코딩된 데이터를 저장하는 버퍼로부터 획득된다.
일부 실시예에서, 셀의 하나 이상의 이웃한 그룹은 셀의 빅팀 그룹에 영향을 미칠 가능성을 가질 수 있거나 가지며, 그래서 다수의 이웃한 판독은 단계(104)에서 획득된다. 예를 들면, 좌측 이웃과 연관된 하나의 판독 및 우측 이웃과 연관된 하나의 판독은 단계(104)에서 획득될 수 있다. 다른 예에서, 상부 이웃과 연관된 하나의 판독 및 하부 이웃과 연관된 하나의 판독은 (104)에서 획득된다.
(106)에서, 적어도 부분적으로 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독이 생성된다. 복합 판독은 구성 요소가 둘 이상의 가능성으로부터 선택되는 판독이다. (예를 들어, 복합 판독이 하드 값(hard value)을 포함하는) 일부 실시예에서, 가능한 값은 제 1 원시 판독 및 제 2 원시 판독으로부터 (예를 들어, 직접) 나온다. 예를 들면, 단계(106)는 멀티플렉서로서 생각될 수 있으며, 멀티플렉서의 출력은 복합 판독이고, 멀티플렉서에 대한 입력은 둘 이상의 원시 판독이며, 멀티플렉서의 선택은 하나 이상의 이웃한 판독이다. (예를 들어, 복합 판독이 소프트 값(soft value)을 포함하는) 일부 실시예에서, 단계(106)에서의 가능한 값은 제 1 원시 판독 및 제 2 원시 판독으로부터 (예를 들어, 이의 선택 부분) 생성되는 가능한 LLR 값을 포함한다. 일부 실시예에서, 단계(106)에서 복합 판독을 생성하는 단계는 셋 이상의 원시 판독 및/또는 둘 이상의 이웃한 판독을 이용하는 단계를 포함한다.
다음의 도면은 도 1의 흐름도를 수행하는 예시적인 판독 프로세서를 도시한 것이다.
도 2는 복합 판독을 생성하도록 구성되는 판독 프로세서의 실시예를 예시하는 다이어그램이다. 기술을 더욱 명확하게 설명하기 위해, 복합 판독의 생성 및/또는 복합 판독의 사용에 직접 관련이 없는 다른 구성 요소는 반드시 도시되는 것은 아니다. 예를 들면, 대응하는 기록 프로세서는 도시되지 않으며, 이러한 생략은 제한하는 것으로 의도되지 않는다. 일부 실시예에서, 판독 프로세서(200)는 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 반도체 장치를 사용하여 구현된다. 일부 실시예에서, 솔리드 스테이트 스토리지(250)는 플로팅 게이트 트랜지스터를 포함한다. 일부 다른 실시예에서, 솔리드 스테이트 스토리지(250)는 3D 낸드를 포함한다.
복합 판독 생성 기술을 명확하게 설명하기 위해, 이러한 도면은 셀의 빅팀 그룹의 하나의 이웃한 판독 및 둘의 원시 판독만이 복합 판독을 생성하는 데 사용되는 것처럼 설명될 것이다. 당연히, 항상 그런 것은 아니고, 일부 실시예에서, (예를 들어, 셀의 빅팀 그룹에 영향을 미칠 가능성을 가진 셀의 둘 이상의 이웃한 그룹과 연관된) 둘 이상의 이웃한 판독 및/또는 셀의 빅팀 그룹의 셋 이상의 원시 판독은 복합 판독을 생성하는 데 사용될 수 있다.
도시된 예에서, 판독 프로세서(200)는 비복합 모드에서 시작한다. 솔리드 스테이트 스토리지(250)의 셀의 빅팀 그룹은 판독되는 것이 바람직하다. 판독 임계값 생성기(202)는 인에이블 신호(enable signal) 및 모드 신호를 이용하여 판독 임계값을 생성하기 위해 제어기(210)에 의해 지시를 받으며, 이는 "비복합(not composite)"으로 설정된다. 비복합 모드에서, (제어기(210)에 의해 출력되는) 이웃한 그룹 신호는 사용되지 않으며, 그래서 판독 임계값 생성기(202)는 이러한 신호를 무시한다. 복합 판독의 생성은 판독 임계값 생성 기술과 무관하며, 그래서 판독 임계값 생성기(202)는 임의의 적절한 판독 임계값 생성 기술을 포함한다. 비복합 모드에서, 단일의 판독 임계값이 생성되고, 판독 임계값은 솔리드 스테이트 스토리지(250)의 셀의 빅팀 그룹을 판독하는 데 사용된다. 이러한 예에서, 스토리지 인터페이스(201)는 솔리드 스테이트 스토리지(250)와 통신하는 데 사용된다.
솔리드 스테이트 스토리지(250)는 하드 판독 값을 반환하며, 하드 판독 값의 값은 사용되는 판독 임계값에 의존한다. 일부 실시예에서, 솔리드 스테이트 스토리지(250)는 셀당 단일의 비트를 저장하도록 구성되는 단일 레벨 셀(SLC)을 포함한다. 이러한 실시예에서, 하드 판독 값의 각각은 0 또는 1이다. 일부 실시예에서, 솔리드 스테이트 스토리지(250)는 셀당 2비트를 저장하도록 구성되는 멀티 레벨 셀(MLC)을 포함한다. 일부 실시예에서, 셀이 정보의 2비트를 포함할 경우에도, 셀의 판독 및 기록은 둘다 2개의 서로 다른 논리 페이지(예를 들어, x 및 y)로 분리된다. 따라서, 페이지 x는 셀당 단일의 비트로 기록(판독)되고, 페이지 y는 셀당 단일의 비트로 기록(판독)된다. 따라서, 두 비트는 단일의 셀에 물리적으로 저장되는 제어기에 비교적 투명하다.
비복합 모드에서, 소프트 판독 값 생성기(206)는 솔리드 스테이트 스토리지(250)로부터의 하드 판독 값을 입력으로서 취하고, 복합 판독 생성기(204)로부터의 복합 판독을 무시한다. 복합 판독의 생성은 소프트 판독 값 생성 기술과 무관하며, 그래서 소프트 판독 값 생성기(206)는 임의의 적절한 기술을 사용할 수 있다. 하드 판독 값(솔리드 스테이트 스토리지(250)로부터의 입력)에 대응하는 소프트 판독 값은 소프트 판독 값 생성기(206)에 의해 출력되고 에러 정정 디코더(208)로 전달된다. 소프트 판독 값 생성기(206)는 (예를 들어, 에러 정정 디코더(208)가 하드 입력 디코더인 경우에) 선택적임에 주목한다. 만약 그렇다면, 비복합 모드에서, 하드 판독 값은 스토리지 인터페이스(201)로부터 에러 정정 디코더(208)로 직접 전달될 수 있다.
에러 정정 디코더(208)는 소프트 판독 값에서 에러 정정 디코딩을 수행한다. 하나의 예에서, 에러 정정 디코더(208)는 저밀도 패리티 체크(LDPC) 에러 정정 디코더이다. 이러한 예에서, 에러 정정 디코더(208)는 소프트 입력 디코더이며(예를 들면, 디코더(208)는 로그 우도 비(log-likelihood ratio)(LLR) 값을 입력으로서 취하며, LLR 값의 부호(+/-)는 결정 또는 하드 값에 대응하고, LLR 값의 크기는 가능성 또는 확실성에 대응하며), 그래서 선택적인 소프트 판독 값 생성기(206)가 사용된다. 에러 정정 디코더(208)가 소프트 입력 디코더인 경우, 비복합 모드 동안, 소프트 판독 값 생성기(206)로부터의 LLR 값(또는, 보다 일반적으로, 소프트 판독 값)이 입력된다. 에러 정정 디코더(208)가 하드 입력 디코더인 경우, 비복합 모드 동안, 스토리지 인터페이스(201)로부터의 하드 판독 값이 입력된다.
몇몇 시도 후, 에러 정정 디코더(208)는 디코딩 결과(예를 들어, 성공 또는 실패)를 제어기(210)로 출력한다. 에러 정정 디코딩이 성공적이면, 판독 프로세서(200)는 몇몇 개시 상태로 리셋하거나 초기화할 수 있고 셀의 다음 원하는 그룹으로 이동할 수 있다. 에러 정정 디코딩이 성공적이지 않으면, 제어기(210)는 비복합 모드에서 다시 시도할지를 결정한다. 만일 그렇다면, 제어기(210)는 인에이블 신호를 주장하고 모드 신호를 "비복합"으로 설정한다. 이웃한 그룹의 신호는 신호가 제어기(210)에 의해 임의의 적절한 값으로 설정되도록 비복합 모드에서 사용되지 않는다.
제어기(210)가 복합 모드로 전환하도록 결정하면, 제어기(210)는 인에이블 신호를 주장하고 모드 신호를 "복합"으로 설정한다. 이러한 모드에서, (셀의 빅팀 그룹에 영향을 미칠 가능성을 가진 셀의 이웃한 그룹과 연관된) 이웃한 판독이 획득된다. 일부 실시예에서, 이웃한 판독의 에러 정정 디코딩된 버전이 이용 가능하고, 이러한 버전이 사용된다. 예를 들면, 판독 프로세서(200)는 상부 대 하부(top-to-bottom) 판독을 행할 수 있고, 이웃한 그룹은 빅팀 그룹 위의 어딘가에 위치되며, 그래서 그것은 이미 판독되고, 판독 프로세서가 셀의 현재 그룹에 도달하는 시간에 의해 성공적으로 디코딩되었다. 이러한 예에서, 성공적으로 디코딩된 데이터는 에러 정정 디코더(208)로부터 성공적으로 디코딩된 데이터가 저장되는 선택적인 버퍼(212)로 전달된다. 이용 가능한 경우, 성공적으로 디코딩된 이웃한 판독은 버퍼(212)로부터 획득되고 복합 판독 생성기(204)로 전달된다. 본 명세서에 도시되지 않았지만, 제어기(210)는 복합 판독 생성기(204)가 이웃한 판독에 대해 버퍼를 조회할 수 있도록 복합 판독 생성기(204)에 셀의 이웃한 그룹을 나타낼 수 있다.
대안적으로, 성공적으로 디코딩된 데이터를 저장하는 버퍼가 없거나, 버퍼(212)가 존재하지만 이웃한 판독이 여기에 저장되지 않을 경우, 이웃한 판독은 솔리드 스테이트 스토리지(250)로부터 판독함으로써 획득될 수 있다. 그 후, 이웃한 판독은 솔리드 스테이트 스토리지(250)로부터의 하드 판독 값으로 복합 판독 생성기(204)에 들어간다. 일부 실시예에서, 제어기(210)는 판독 임계값 생성기(202)가 셀의 이웃한 그룹에 대해 최상 및/또는 최종 알려진 판독 임계값을 출력할 수 있도록 (도시되지 않은) 셀의 이웃한 그룹의 어드레스를 판독 임계값 생성기(202)에 나타낸다(예를 들면, 셀의 하나의 그룹(예를 들어, 빅팀 그룹)에 적절한 판독 임계값은 셀의 다른 그룹(예를 들어, 이웃한 그룹)에 적절하지 않을 수 있다).
복합 판독 생성기(204)는 또한 셀의 빅팀 그룹의 제 1 원시 판독 및 셀의 빅팀 그룹의 제 2 원시 판독을 필요로 한다. "복합"으로 설정된 모드 신호 및 주장된 인에이블 신호로, 판독 임계값 생성기(202)는 2개의 판독 임계값: 제 1 원시 판독을 획득하기 위한 하나의 판독 임계값 및 제 2 원시 판독을 획득하기 위한 다른 판독 임계값을 생성하는 것으로 알 것이다. 하나의 예에서, 판독 임계값 생성기(202)는 최상 및/또는 최종 알려진 판독 임계값(xbest)으로부터 두 고정된 오프셋(예를 들어, Δ1 및 Δ2)을 사용하여 제 1 판독 임계값(x1) 및 제 2 판독 임계값(x2)을 생성한다. 즉, x1 = xbest + Δ1 및 x2 = xbest + Δ2이다. 다양한 실시예에서, Δ1 및/또는 Δ2는 음의 값일 수 있다.
상술한 바와 같이, 본 명세서에 기재된 복합 판독 생성 기술은 판독 임계값 생성 기술과 무관하며, 임의의 적절한 판독 임계값 생성 기술이 사용될 수 있다. 이와 같이, (제 1 원시 판독을 위한) 제 1 판독 임계값 및 (제 2 원시 판독을 위한) 제 2 판독 임계값을 생성하기 위한 특정 판독 임계값 생성 기술이 판독 임계값 생성 블록에 제공될 수 있다는 어떤 정보가 필요하게 된다. 예를 들면, 빅팀 그룹의 어드레스 또는 위치 및/또는 빅팀 그룹으로부터의 하나 이상의 이전의 판독은 판독 임계값 생성 블록에 제공될 수 있다.
판독 임계값 생성기(202)에 의해 생성된 2개의 판독 임계값을 사용하여, 솔리드 스테이트 스토리지(250)에서의 빅팀 그룹의 두 판독이 수행된다. 이것은 (하드 판독값의 형태의) 제 1 원시 판독 및 제 2 원시 판독을 솔리드 스테이트 스토리지(250)로부터 복합 판독 생성기(204)로 반환한다. 복합 판독 생성기(204)는 제 1 원시 판독, 제 2 원시 판독, 및 (예를 들어, 버퍼(212) 또는 솔리드 스테이트 스토리지(250)로부터의) 이웃한 판독을 획득하고 복합 판독을 생성한다. 일부 실시예에서, 프로세스는 복합 판독이 하드 값(예를 들어, 0 또는 1) 또는 소프트 값(예를 들어, LLR 값) 중 하나를 포함하는지에 따라 달라진다. 복합 판독 생성 프로세스에 대한 더욱 상세한 예는 아래에 더 상세히 설명된다.
복합 모드에서, 에러 정정 디코더(208)는 복합 판독 생성기(204)에 의해 생성된 복합 판독을 입력으로서 취한다. 다양한 실시예에서, 복합 판독은 하드 값(예를 들어, 에러 정정 디코더(208)가 하드 값을 입력하도록 구성되는 경우) 또는 소프트 값(예를 들어, 에러 정정 디코더(208)가 LLR 값과 같은 소프트 값을 입력하도록 구성되는 경우)를 포함할 수 있다. 셀의 빅팀 그룹이: (1) 셀의 하나 이상의 이웃한 그룹에 의해 영향을 받은 셀뿐만 아니라 (2) 셀의 이러한 동일한 이웃한 그룹에 의해 영향을 받지 않은 셀 둘다를 포함하며, 복합 판독 생성기(204)에 의해 생성된 복합 판독은 다른(예를 들어, 원시) 판독과 비교되는 에러 정정 디코더(208)에 의해 성공적으로 디코딩되는 더욱 좋은 기회를 갖는다. 이것은 아래에서 더욱 상세히 설명된다.
에러 정정 디코더(208)가 디코딩 성공을 출력하는 경우, 판독 프로세서(200)는 시작 상태를 리셋하거나 초기화하고 셀의 다음 빅팀 그룹으로 이동할 수 있다. 디코딩이 성공적이지 않을 경우, 일부 실시예에서 제어기(210)는 복합 모드에서 다시 셀의 빅팀 그룹을 판독하고 디코딩하도록 시도할 수 있다. 예를 들면, 판독 임계값 생성기(202)에 의해 생성된 판독 임계값의 임의의 수는 조정될 수 있다.
다음의 도면은 각각 예시적인 하드 출력 복합 판독 생성기 및 예시적인 소프트 출력 복합 판독 생성기를 도시한다. 일부 실시예에서, 다음의 도면 중 하나에 도시된 바와 같이 복합 판독 생성기(204)가 구현된다. 일부 다른 실시예에서, 복합 판독 생성기는 어떤 다른 방식으로 구현된다.
도 3a는 하드 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다. 이러한 예에서, 생성되는 복합 판독은 하드 값을 포함한다. 이전의 도면에서와 같이, 2개의 원시 판독 및 하나의 이웃한 판독은 기술을 명확하게 설명하기 위하여 복합 판독을 생성하는 데 사용된다. 이것은 단지 예시적이며, 제한하는 것으로 의도되지 않는다(예를 들어, 멀티플렉서(300)에 대한 셋 이상의 입력 및/또는 멀티플렉서(300)에 대한 둘 이상의 선택 신호가 있을 수 있다).
도시된 예에서, 셀의 빅팀 그룹 및 셀의 이웃한 그룹은 둘다 4개의 셀을 포함한다. 이웃한 그룹의 제 1 셀은 빅팀 그룹의 제 1 셀에 영향을 미칠 가능성을 가지며, 이웃한 그룹의 제 2 셀은 빅팀 그룹의 제 2 셀에 영향을 미칠 가능성을 갖는다. 이웃한 그룹의 셀이 빅팀 그룹의 셀에 영향을 미치는지의 여부는 이웃한 그룹의 셀에 저장된 값에 의존한다. 예를 들면, 플로팅 게이트 트랜지스터를 사용하는 솔리드 스테이트 스토리지 시스템에서, 이웃한 그룹의 제 i 셀에 특정 값을 기록하는 프로세스는 추가적인 전하(charge)가 빅팀 그룹의 용량성 결합된 제 i 셀에 추가되도록 한다. 예를 들면, 이웃한 그룹의 제 i 셀에 01 또는 10을 기록하는 것은 빅팀 그룹의 제 i 셀에 현저한 및/또는 무시할 수 없는 정도의 전하를 추가한다(왜냐 하면, 두 셀이 용량성 결합되기 때문이다). 대조적으로, 이웃한 그룹의 제 i 셀에 00 또는 11을 기록하는 것은 빅팀 그룹의 제 i 셀에 무시할 수 있는 정도의 전하를 추가한다. 다른 시스템은 몇몇 다른 방식으로 영향을 받을 수 있고, 다른 예는 아래에서 설명된다.
제 1 원시 판독 및 제 2 원시 판독은 각각 영향을 받지 않은 값 및 영향을 받은 값에 대응한다. 이것은 빅팀 그룹이 (영향을 받은 이러한 셀에 대해) 얼마나 영향을 받았는지를 고려하는 제 1 및 제 2 판독 임계값을 선택하거나 생성함으로써 달성된다. 위에서 플로팅 게이트 트랜지스터의 예를 계속하기 위해, 빅팀 그룹의 영향을 받은 셀은 추가적인 전하를 부가하는 반면에, 빅팀 그룹의 영향을 받지 않은 셀은 추가적인 전하를 약간 부가하거나 전혀 부가하지 않는다. 이와 같이, (제 1 원시 판독을 획득하기 위해 사용되는) 제 1 판독 임계값은 제 2 판독 임계값보다 큰 값으로 설정된다. 하나의 예에서, 제 2 판독 임계값은 최종/최상 추정치보다 작은 어떤 오프셋으로 설정될 수 있고, 제 1 판독 임계값은 최종/최상 추정치보다 큰 어떤 오프셋으로 설정된다. 상술한 바와 같이, 임의의 적절한 판독 임계값 기술이 사용될 수 있고, 본 명세서에 기재된 복합 판독 생성 기술은 판독 임계값 생성과 무관하다.
제 1 원시 판독 및 제 2 원시 판독은 멀티플렉서(300)에 대한 입력 신호이고, 이웃한 판독은 멀티플렉서(300)에 대한 선택 신호이다. 각각의 비트 또는 심볼에 대해, 멀티플렉서는 (비트 또는 심볼에 대한) 제 1 원시 판독 또는 (비트 또는 심볼에 대한) 제 2 원시 판독 중 하나로부터 선택하기 위해 이웃한 판독을 사용한다. 제 1 비트에 대해, 이웃한 판독에서의 제 1 비트 또는 심볼이 ε이기 때문에, 제 1 원시 판독으로부터의 제 1 비트 또는 심볼(즉, A)은 복합 판독에서의 제 1 비트로서 선택된다. 이러한 예에서, 심볼 "ε"은 빅팀 그룹에서 관련된 셀에 영향을 미치지 않는 이웃한 셀의 값을 나타내는 데 사용된다. 예를 들면, 상술한 MLC 예에서, 이웃한 셀에 00 또는 11을 기록하는 것은 빅팀 그룹의 용량성 결합된 셀에 영향을 미치지 않는다. 심볼 "Δ"은 빅팀 그룹의 관련된 셀에 영향을 미치는 이웃한 셀에 값을 나타내는 데 사용된다. 예를 들면, 이웃한 셀에 01 또는 10을 기록하는 것은 빅팀 그룹의 용량성 결합된 셀에 추가적인 전하를 부가한다. 모든 비트 또는 심볼에 대한 이러한 선택 프로세스를 반복하면, [A F G D]의 복합 판독는 [A B C D]의 제 1 원시 판독, [E F G H]의 제 2 원시 판독, 및 [ε Δ Δ ε]의 이웃한 판독으로부터 멀티플렉서에 의해 생성되며, 복합 판독은 하드 값을 포함한다(즉, A, F, G 및 D는 모두 하드 값이다).
일부 실시예에서, 복합 판독 생성기는 소프트 값을 포함하는 복합 판독을 생성하도록 구성된다. 다음의 도면은 이것에 대한 하나의 예를 도시한다.
도 3b는 소프트 출력 복합 판독 생성기의 실시예를 예시하는 다이어그램이다. 이러한 예에서, 생성되는 복합 판독은 소프트 값을 포함한다. 원시 판독 및/또는 클래스의 수는 단지 예시적이고 제한하는 것으로 의도되지 않는다는 것을 주목한다.
이러한 예에서, 4개의 원시 판독은 복합 판독 생성기로 입력된다. 제 1 원시 판독은 Vth1의 판독 임계값을 이용하여 빅팀 그룹을 판독함으로써 획득되고, 제 2 원시 판독은 Vth2의 판독 임계값을 이용하여 빅팀 그룹을 판독함으로써 획득되고, 제 3 원시 판독은 Vth3의 판독 임계값을 이용하여 빅팀 그룹을 판독함으로써 획득되며, 제 4 원시 판독은 Vth4의 판독 임계값을 이용하여 빅팀 그룹을 판독함으로써 획득된다.
도시된 예에서, 4개의 LLR 생성기가 있다. LLR 생성기(350a)는 공격자가 없는 이웃에 구성되고, LLR 생성기(350b)는 하나의 공격자 이웃에 구성되고, LLR 생성기(350c)는 둘의 공격자 이웃에 구성되며, LLR 생성기(350d)는 셋의 공격자 이웃에 구성된다. LLR 생성기(350a-350d)의 각각은 적어도 부분적으로 제 1 원시 판독으로부터의 대응하는 서브세트, 제 2 원시 판독으로부터의 대응하는 서브세트, 제 3 원시 판독으로부터의 대응하는 서브세트, 및 제 4 원시 판독으로부터의 대응하는 서브세트에 기초하여 하나 이상의 LLR 값의 특정 세트를 생성하도록 구성된다.
(이웃한 판독으로 나타내는) 셀의 빅팀 그룹에 대한 공격자 이웃의 수에 따라, LLR 생성기(350a-350d)는 제 1 원시 판독, 제 2 원시 판독, 제 3 원시 판독, 및 제 4 원시 판독의 부분을 선택적으로 입력한다. LLR 생성기(350a-350d)에 의해 입력된 원시 판독의 서브세트의 각각은 상호 배타적인 것임에 주목한다(즉, LLR 생성기(350a) 및 LLR 생성기(350b)는 제 1 원시 판독으로의 중복 입력을 갖지 않는다). 다음의 도면은 이것에 대한 예를 도시한다.
도 3c는 주어진 셀에 대한 공격자 이웃의 수에 따라 선택적으로 입력되는 원시 판독의 부분의 실시예를 도시한 다이어그램이다. 도 3c는 도 3b의 예를 계속한다. 도시된 예에서, 셀의 빅팀 그룹은 3개의 셀을 포함한다. 이웃한 판독(370)은 빅팀 그룹의 제 1 셀이 공격자가 없는 이웃을 가지고, 빅팀 그룹의 제 2 셀이 셋의 공격자 이웃을 가지며, 빅팀 그룹의 제 3 셀이 하나의 공격자 이웃을 갖는다는 것을 나타낸다.
LLR 생성기(350a)가 공격자가 없는 이웃에 대응하기 때문에, 원시 판독(372, 374, 376 및 378)의 제 1 셀에 대응하는 값은 LLR 생성기(350)(즉, A, E, I 및 M)에 의해 입력되고; 이러한 값은 다른 모든 LLR 생성기에 의해 무시된다. 마찬가지로, LLR 생성기(350d)가 셋의 공격자 이웃에 대응하기 때문에, 제 2 셀에 대응하는 원시 판독으로부터의 값은 LLR 생성기(350d)에 의해 입력되지만 다른 LLR 생성기에 의해 무시된다. 제 3 셀은 하나의 공격자 이웃을 가지며, 그래서 제 3 셀에 대응하는 원시 판독으로부터의 값은 LLR 생성기(350b)에 의해 입력되지만 다른 모든 LLR 생성기에 의해 무시된다.
도 3b를 참조하면, LLR 생성기(350a-350d)로 전달된 이웃한 판독은 LLR 생성기 제 1 내지 4 원시 판독으로부터의 값이 특정 LLR 생성기에 대한 클래스 또는 케이스와 관련된 것을 선택적으로 입력할 수 있도록 한다. 다시 말하면, 각각의 LLR 생성기만이 특정 케이스 또는 클래스(예를 들어, 공격자가 없는 이웃, 하나의 공격자 이웃 등)에 대응하는 이러한 값을 입력하고/하거나 고려하도록 이웃한 판독은 원시 판독 값의 값을 분리하는 역할을 한다. 다른 케이스 또는 클래스에 대응하는 값은 무시된다.
분리된 값을 사용하여, LLR 생성기(350a-350d)의 각각은 특정 클래스에 속하는 셀에 대한 LLR 값을 생성한다. 예를 들면, 도 3c에서, LLR 생성기(350a)는 빅팀 그룹의 제 1 셀에 대한 LLR 값을 생성하고, LLR 생성기(350d)는 빅팀 그룹의 제 2 셀에 대한 LLR 값을 생성하며, LLR 생성기(350b)는 빅팀 그룹의 제 3 셀에 대한 LLR 값을 생성한다.
빅팀 그룹에서 주어진 셀이 갖는 (예를 들어, 이웃한 판독으로부터 수집되는) 공격자 이웃이 얼마나 많은지에 따라, 멀티플렉서(352)는 LLR 생성기(350a-350d)의 하나에 의해 생성되는 LLR 값의 적절한 세트를 선택한다. 도 3c의 예에서, 멀티플렉서(352)는 빅팀 그룹의 제 1 셀에 대한 LLR 생성기(350a)의 출력을 선택하고, 멀티플렉서(352)는 빅팀 그룹의 제 2 셀에 대한 LLR 생성기(350d)의 출력을 선택하며, 멀티플렉서(352)는 빅팀 그룹의 제 3 셀에 대한 LLR 생성기(350b)의 출력을 선택한다.
다음의 도면은 플로팅 게이트 트랜지스터 시스템을 설명하고, 이러한 시스템에서 일부 셀이 이웃한 셀에 의해 어떻게 영향을 받을 수 있는지를 설명한다. 이러한 도면은 복합 판독이 원시 판독에 비해 어떻게 더 양호한 품질의 판독 값인지 및/또는 복합 판독이 플로팅 게이트 트랜지스터 시스템에서 원시 판독에 비해 성공적으로 디코딩되는 더 좋은 기회를 어떻게 갖는지를 예시한다.
도 4는 플로팅 게이트 트랜지스터와 연관된 전압 분포의 실시예를 예시하는 다이어그램이다. 도시된 예에서, 다이어그램(400)은 셀의 이웃한 그룹이 기록되기 전에 셀의 빅팀 그룹에 대한 두 분포를 도시한다. 분포(410)는 1을 저장하는 빅팀 그룹에서의 셀의 분포를 도시하고, 분포(412)는 0을 저장하는 동일한 빅팀 그룹에서의 셀의 분포를 도시한다. 분포(410 및 412)는 중복되지 않으며, 그래서 다이어그램(400)에 도시된 최적의 판독 임계값을 사용할 때 판독 에러가 없다는 것을 주목한다. 명확성을 위해, 1 또는 0만이 저장되지만, 본 명세서에 설명된 개념이 MLC의 실시예 및 다수의 비트가 셀마다 저장되는 다른 실시예에 적용하는 SLC 예가 도시된다.
다이어그램(430)은 셀의 이웃한 그룹이 기록된 후 동일한 분포를 도시한다. 이러한 플로팅 게이트 트랜지스터의 예에서, 셀의 이웃한 그룹에 기록하는 것은 추가적인 전하가 셀의 빅팀 그룹에 부가되도록 한다. 분포(410)는 분포(440)가 되고, 분포(412)는 분포(442)가 된다. 다이어그램(430)에 도시된 바와 같이, 이웃한 그룹에 기록하는 것은 분포(410 및 412)의 중심이 시프트업(shift up)하고 확산(즉, 확대)하도록 한다.
분포(440 및 442)로, 최적의 판독 임계값(즉, 분포(440 및 442)가 서로 교차하는 전압)이 판독 에러의 비제로 수를 생성한다는 것에 주목한다. 다이어그램(430)에서, (격자 패턴으로 도시된) 영역(444)에 대응하는 셀은 0으로 판독되어야 할 때에 1로 잘못 판독될 것이다. 마찬가지로, (점선 패턴으로 도시된) 영역(446)에 대응하는 셀은 1로 판독되어야 할 때에 0으로 잘못 판독될 것이다. 이러한 판독 에러는 에러 정정 디코더의 에러 정정 능력을 능가할 수 있고, 셀의 빅팀 그룹이 성공적으로 디코딩되지 못하게 할 수 있다.
다이어그램(460)은 조건부 분포로 나누어지는 분포(440 및 442)를 도시한다. 분포(440)는 분포(470)가 1을 저장하는 빅팀 그룹의 셀에 대응하고, 공격자가 없는 이웃을 가진 조건부 분포(470 및 472)로 나누어진다. 다시 말하면, 분포(470)와 연관된 이러한 셀은 1을 저장하고, 이웃한 그룹에 대한 기록의 결과로 부가된 무시할만한 양의 추가적인 전하를 갖는다. 예를 들면, 대응하는 이웃한 셀은 빅팀 그룹의 대응하는 셀에 부가되는 추가적인 전하가 거의 없거나 전혀 없는 값으로 기록될 수 있다(예를 들면, 00 또는 11은 이웃한 그룹의 대응하는 셀에 기록된다).
분포(472)는 1을 저장하고, 공격자 이웃을 가진 빅팀 그룹의 셀에 대응한다. 다시 말하면, 분포(472)의 이러한 셀은 1을 저장하고, 이웃한 그룹에 대한 기록의 결과로 부가된 현저한 또는 상당한 양의 전하를 갖는다.
마찬가지로, 분포(442)(즉, 0을 저장하는 빅팀 그룹의 셀)는 분포(474)(즉, 0을 저장하고 공격자가 없는 이웃을 가진 빅팀 그룹의 이러한 셀) 및 분포(476)(즉, 0을 저장하고 공격자 이웃을 가진 빅팀 그룹의 이러한 셀)로 나누어질 수 있다.
조건부 분포(470, 472, 474 및 476)로, 다이어그램(460)에 도시된 최적의 판독 임계값은 0 및 1을 저장하는 셀을 적절히 구별하는데 매우 효과적이다. 최적의 판독 임계값 1은 분포(470 및 474)의 셀(즉, 공격자가 없는 이웃을 가진 빅팀 그룹의 이러한 셀)을 구별하는 데 사용되고, 최적의 판독 임계값 2는 분포(472 및 476)의 셀(즉, 공격자 이웃을 가진 빅팀 그룹의 이러한 셀)을 구별하는 데 사용된다.
도 1을 참조하면, 개념상, 도 1의 단계(100)(102)에서 사용되는 제 1(2) 판독 임계값은 다이어그램(460)에서 최적의 판독 임계값 1의 근사치로 생각될 수 있다. 마찬가지로, 도 1의 단계(102)(100)에서 사용되는 제 2(1) 판독 임계값은 다이어그램(460)에서 최적의 판독 임계값 2의 근사치로 생각될 수 있다.
마찬가지로, (도 1의 단계(104)에서 획득된) 이웃한 판독은 개념상 주어진 셀이 속하는 어떤 조건부 분포에 관한 추측(guess)으로 생각될 수 있다. 예를 들면, 판독 프로세서는 어떤 셀이 각각 분포(470, 472, 474 및 476)의 구성원인지를 모른다. 분포(470, 472, 474 또는 476) 중 하나에 대한 주어진 셀의 "최상의 추측(best guess)" 할당을 행하기 위해, 이웃한 판독이 사용된다.
빅팀 그룹의 다수의 원시 판독은 복합 판독을 생성하기 위해 사용될 수 있다. 다음의 도면은 4개의 원시 판독이 복합 판독을 생성하는 데 사용되는 일례를 도시한다.
도 5는 두 단계의 기록 프로세스와 관련된 4개의 조건부 분포의 실시예를 예시하는 다이어그램이다. 도시된 예에서, (도시되지 않은) 솔리드 스테이트 스토리지 시스템은 각각의 셀이 MSB 및 LSB를 갖는 2 비트 구성(즉, 그것은 MLC 실시예임)에서 사용되는 플로팅 게이트 트랜지스터를 포함한다. 다이어그램(500)은 각각의 워드라인이 복수의 페이지를 포함하고, 각각의 페이지가 (도시되지 않은) 복수의 셀을 포함하는 것을 도시한다. 이러한 예에서, 셀의 빅팀 그룹 및 셀의 이웃한 그룹은 페이지를 포함한다. 다이어그램(500)에 도시된 구조는 "짝수-홀수" 비트 라인 구조의 일례이다.
셀이 짝수-홀수 비트 라인 구조를 갖는 이러한 예에서, MLC 페이지는 두 단계로 기록된다: 먼저 페이지의 LSB가 기록되고나서, 페이지의 MSB가 기록된다. LSB를 기록하는 것이 셀의 플로팅 게이트에 대한 약 2-2.5 볼트의 추가를 필요로 하기 때문에(MSB를 기록하는 것은 많은 전압의 약 절반의 추가를 필요함), MSB 기록은 LSB 기록으로서 용량성 결합의 약 절반을 유도할 것이다. 따라서, 제조자는 페이지가 완전히 기록된 후(예를 들어, 주어진 페이지의 MSB가 기록된 후) 잔류 용량성 결합을 감소하는 방식으로 MLC의 낸드 블록에 기록하는 시퀀스를 특정한다. 다이어그램(500)에 도시된 페이지에 대한 기록의 순서는 다음과 같다:
1. 페이지 0의 LSB 기록
2. 페이지 1의 LSB 기록
3. 페이지 2의 LSB 기록
4. 페이지 3의 LSB 기록
5. 페이지 0의 MSB 기록
6. 페이지 1의 MSB 기록
7. 페이지 4의 LSB 기록
8. 페이지 5의 LSB 기록
9. 페이지 2의 MSB 기록
10. 페이지 3의 MSB 기록
11. 페이지 6의 LSB 기록
12. 페이지 7의 LSB 기록
13. 페이지 4의 MSB 기록
14. 페이지 5의 MSB 기록
기록의 위의 시퀀스가 주어진 페이지에 어떻게 영향을 미치는지를 이해하기 위해서는 페이지 2의 예를 고려한다. 단계(9) 후에, 페이지 2에 대한 MSB가 기록되었으며, 그래서, 페이지 2가 완료된다. 이 시점에서, 다이어그램(500)에서 점선 패턴으로 도시된 페이지는 LSB만이 기록된 반면에(즉, 이들은 여전히 불완전함), 격자 패턴으로 도시된 것은 모두 자신의 LSB 및 MSB이 기록되었다(즉, 이들은 완전함). 음영없이 도시된 셀은 자신의 LSB도 기록되지 않고 자신의 MSB도 기록되지 않는다(즉, 이들은 삭제된 상태에 있다).
다이어그램(500)이 도시한 바와 같이, 페이지 2에 인접하고, (이러한 페이지의 LSB가 이미 기록된 점선 패턴으로 도시되는) 불완전한 페이지는 페이지 3, 4 및 5이다. 따라서, 이러한 페이지가 기록될 때, MSB만이 페이지 2에 결합하며, 따라서, 모든 페이지가 완전하게 된 후에 전체 잔여 결합이 최소화될 것이다. 상술한 바와 같이, 공격자 이웃은 (LSB=0 및 MSB=1) 또는 (LSB=1 및 MSB=0)가 기록되는 임의의 이웃한 셀로서 정의된다. 이러한 예에서, 이들 값 중 하나로 기록된 셀만이 MSB의 기록 중에 빅팀 셀의 플로팅 게이트에 상당한 전압을 추가할 것이다.
이러한 예에서, 페이지 3 및 4에 기록된 데이터만이 페이지 2의 최종 셀 전압 분포에 영향을 줄 수 있는 능력을 가지는 것으로 추정된다. 예를 들면, 페이지 0이 페이지 2 다음에 있지만, 페이지 0은 이미 완전하게 기록되었으며(예를 들어, 그것은 작성된 페이지를 나타내는 점선 패턴으로 도시되어 있음), 그래서 페이지 0은 페이지 0에 기록하도록 남겨진 것이 아무것도 존재하지 않기 때문에 페이지 2에 대한 공격자로서 작용할 수 없다. 단순하게 하기 위해, 바로 수평 이웃(immediate horizontal neighbors) 및 바로 수직 이웃만이 주어진 셀에 영향을 미치는 능력을 갖는 것으로 추정된다. 바로 대각선 이웃 및 "두 홉(two hop)" 이웃은 이러한 예에서 주어진 셀에 영향을 미치지 않는 것으로 추정된다(예를 들어, 페이지 5 및 페이지 6은 페이지 2에 영향을 주지 않는 것으로 추정된다). 페이지 2에 대한 기록을 완료한 바로 다음에(즉, 도 5에 도시되지 않은 위의 단계(9) 후에), 페이지 2에 유도된 용량성 결합이 없다. 이러한 단순화 또는 추정은 제한하는 것으로 의도되지 않으며; 바로 대각선 이웃, "두 홉" 이웃, 및/또는 어떤 다른 타입의 이웃이 원하는 경우 고려될 수 있다는 것을 주목한다.
다이어그램(550)은 단계(14) 후(즉, 페이지 3, 4 및 5에 대한 MSB 기록이 완료된 후)에 페이지 2의 분포를 도시한다. 분포(502a 및 502b)는 페이지 2의 모든 셀에 대한 것인 반면에, 조건부 분포(504a/504b, 506a/506b, 508a/508b 및 510a/510b)는 페이지 3 및 4에 기록된 데이터에 조건부가 되었다. 상술한 바와 같이, 페이지 3 및 4만이 페이지 2에 대한 잠재적 공격자 이웃으로 고려된다. 더욱이, 결합 계수는 동등한 것으로 추정된다(즉, 이러한 결합 계수는 이들이 공격자일 경우에 페이지 2에 동일한 양의 추가적인 전하를 기여시킨다). 조건부 분포(504a/504b, 506a/506b, 508a/508b 및 510a/510b)는 각각 0, 1, 2 및 3 공격자 이웃을 나타낸다.
이러한 예에서, 페이지 2에 대한 복합 판독은 페이지 2의 4개의 원시 판독: 분포(504a 및 504b)에 대응하는 제 1 원시 판독, 분포(506a 및 506b)에 대응하는 제 2 원시 판독, 분포(508a 및 508b)에 대응하는 제 3 원시 판독, 및 분포(510a 및 510b)에 대응하는 제 4 원시 판독으로부터 생성된다. 대응하는 제 1 내지 4 판독 임계값은 이러한 예에서 가장 낮은 전압에서 가장 높은 전압으로 진행한다.
페이지 2에 대한 복합 판독를 생성하는 데 사용되는 이웃한 판독에 관해서는, 4개의 판독: 페이지 3에 대한 2개의 판독(즉, LSB 판독 및 MSB 판독) 및 왼쪽 및 오른쪽에 대해 페이지 4에 대한 2개의 판독(즉, LSB 판독 및 MSB 판독)이 사용된다. 주어진 페이지 2에 대해, 페이지 2 위의 페이지 4의 값, 페이지 2의 왼쪽에 대한 페이지 3의 값, 및 페이지 2의 오른쪽에 대한 페이지 3의 값이 고려된다.
가장 왼쪽의 페이지 2는 왼쪽에 페이지의 열을 갖지 않는다는 것이 주목된다. 이와 같이, 단지 3가지 가능성: 0 공격자 이웃(즉, 바로 위의 페이지 4도 오른쪽의 페이지 3도 공격자 이웃이 아님), 1 공격자 이웃(즉, 바로 위의 페이지 4 또는 오른쪽의 페이지 3 중 하나만이 공격자 이웃임), 또는 2 공격자 이웃(즉, 바로 위의 페이지 4 및 오른쪽의 페이지 3은 둘 다 공격자 이웃임)이 있다. 복합 판독 생성기는 이러한 가장자리 페이지 또는 다른 예외를 적절히 처리하도록 구성된다.
상술한 예에서, 공격자 이웃은 빅팀 셀에 동일한 양의 추가적인 전하를 기여하는(또는, 보다 일반적으로, 동일한 정도 또는 동일한 양으로 빅팀 셀에 영향을 주는) 것으로 추정된다. 다음의 도면은 상이한 양 또는 레벨의 용량성 결합이 고려되는 플로팅 게이트 트랜지스터의 예를 설명한다.
도 6은 공격자 이웃이 빅팀 셀에 상이한 양의 용량성 결합을 기여하는 실시예를 예시하는 다이어그램이다. 도시된 예에서, 2개의 인접한 워드라인이 있다. 짝수 페이지는 원으로 도시되고, 홀수 페이지는 사각형으로 도시된다. 이러한 예에서, (복합 판독이 생성되는) 고려 중의 빅팀 페이지는 빅팀 페이지(602)이다. 빅팀 페이지(602)는 짝수 페이지이다는 것을 주목한다.
동일한 워드라인의 인접한 셀 사이(예를 들어, 페이지(604)와 페이지(602) 사이 및 페이지(602)와 페이지(606) 사이)의 결합 계수는 0.15이다. 동일한 비트라인의 인접한 셀 사이(예를 들어, 페이지(608)와 페이지(602) 사이)의 결합 계수는 0.10이다. 인접한 비트라인 및 워드라인의 셀 사이(예를 들어, 페이지(610)와 페이지(602) 사이)의 결합 계수는 0.05이다.
빅팀 페이지(602)의 셀 i는 이런 타입의 공격자 이웃의 각 하나를 가지고 있다고 가정한다. 예를 들면, 페이지(604, 610 및 608)의 관련된(예를 들어, 용량성 결합된) 셀은 빅팀 페이지(602)의 셀 i을 희생시키도록 하는 값으로 기록되고, 페이지(612 및 606)의 관련된(예를 들어, 용량성 결합된) 셀은 빅팀 페이지(602)의 셀 i을 희생시키지 않도록 하는 값으로 기록된다고 가정한다. 이러한 시나리오의 경우, 이러한 셀에 대한 총 결합 계수는 빅팀 페이지(602)의 셀 i에 대해 αi = 0.15 + 0.10 + 0.05 = 0.30이다. 빅팀 페이지(602)의 셀 i에 대한 다른 가능한 총 결합 계수는 다음 도면에 도시된다.
도 7은 빅팀 페이지의 플로팅 게이트 셀에 대한 총 결합 계수의 실시예를 도시한 다이어그램이다. 도 7은 도 6의 예를 계속하고, 이웃한 페이지에서 다양한 용량성 결합된 셀이 빅팀 페이지에서 셀 i에 대한 공격자의 역할을 하는지에 따라 빅팀 페이지(602)에서 셀 i에 대해 가능한 총 결합 계수를 도시한다. 이웃에 저장된 값이 공격자 값(예를 들어, 01 또는 10)인 경우, 대응하는 계수는 총 결합 계수에 부가된다. 이웃에 저장된 값이 공격자 값(예를 들어, 00 또는 11)이 아닌 경우, 대응하는 계수는 총 결합 계수에 부가되지 않는다.
일부 실시예에서, 총 결합 계수(예를 들어, αi)는 복합 판독을 생성하는데 이용된다. 예를 들면, n개의 원시 판독은 복합 판독을 생성하는데 사용된다고 가정한다. 이러한 시스템에서, (예를 들어, αi의 가장 낮은 가능한 값을 αi의 가장 높은 가능한 값으로 스패닝하는) n개의 빈(bin)은 αi가 제 1 빈에 떨어질 경우에 복합 판독의 제 i 비트 또는 심볼이 제 1 원시 판독으로부터의 제 i 비트 또는 심볼이도록 선택되는 것으로 정의될 수 있다. αi가 제 2 빈에 떨어질 경우에, 복합 판독의 제 i 비트 또는 심볼은 제 2 원시 판독으로부터의 제 i 비트 또는 심볼이도록 선택된다. 일부 실시예에서, n개의 빈은 동일한 폭 또는 스팬을 갖는다.
상술한 예는 (지금까지) 플로팅 게이트 트랜지스터 시스템으로 제한되었다. 다음의 도면은 3D 낸드 시스템을 설명하고 복합 판독이 어떻게 이러한 시스템에 생성되고/되거나 이용될 수 있는지를 설명한다.
도 8은 3D 낸드 셀의 실시예를 도시하는 다이어그램이다. 도시된 예에서, 충전되거나 충전되지 않은 이웃한 셀이 빅팀 셀에 영향을 주는 다양한 방식이 설명된다. 다이어그램(800)에서, 빅팀 셀(812) 및 이웃한 셀(810 및 814)은 모두 충전된다. 3D 낸드에서, 전하는 공유 질화물 층에 저장된다. 시간이 지남에 따라, 전하는 공유 질화물 층내에 누출할 수 있으며, 이것은 횡 전하 마이그레이션( lateral charge migration)으로 지칭된다. 다이어그램(800)에 도시된 바와 같이, 주어진 셀의 양쪽 이웃이 충전될 때, 이웃에 의해 저장된 전하는 빅팀 셀의 전하가 공유 질화물 층에 걸쳐 이동하지 못하게 하는 옹벽(retaining wall)으로서 작용한다. 따라서, 빅팀 셀(812)은 이웃(810 및 814)의 양쪽이 충전되기 때문에 시간이 지남에 따라 전하의 손실을 비교적 적게 경험한다.
다이어그램(820)에서, 이웃(834)은 충전되는 반면에, 이웃(830)은 충전되지 않는다. 결과적으로, 빅팀 셀(832)로부터의 일부 전하는 공유된 질화물 층을 통해 누출한다. 본 명세서에 도시된 전하의 양은 스케일링되지 않으며, 빅팀 셀에 의해 저장된 전하의 50%는 이러한 시나리오가 실생활에서 일어날 때 손실되는 경우만은 꼭 아니라는 것을 주목한다. 또한 빅팀 셀(832)에 의해 손실된 전하는 (예를 들어, 전하가 셀 사이의 위치로 이동하기 때문에) 이웃한 셀(830)에 의해 획득되지 않으며, 그래서 이웃한 셀(830)에 의해 저장된 전하는 추가되지 않는다.
다이어그램(840)은 다이어그램(820)과 유사하다. 이웃한 셀(850)은 충전되지만, 이웃한 셀(854)은 충전되지 않으며, 그래서 빅팀 셀(852)은 전하의 일부를 잃는다.
다이어그램(860)에서, 이웃한 셀(870 및 874)의 모두는 충전되지 않는다. 이 경우, 아무것도 옹벽으로서 작용하지 않으며, 다이어그램(820 및 840)에서보다 더 많은 전하가 손실된다. 이전과 같이, 보여준 전하의 양은 스케일링되지 않으며, 반드시 빅팀 셀(872)에 의해 저장된 모든 전하가 손실되는 경우만은 아니다.
도 9는 3D 낸드 셀의 빅팀 그룹과 연관된 전압 분포의 실시예를 예시하는 다이어그램이다. 도시된 예에서, 분포(900)는 충전되는 셀의 빅팀 그룹 내의 모든 셀에 대한 분포를 나타낸다. 예를 들면, 셀의 빅팀 그룹은 이러한 빅팀 셀의 모두가 충전되기 때문에 도 8로부터의 빅팀 셀(812, 832, 852 및/또는 872)을 포함할 수 있다.
분포(900)는 조건부 분포(902, 904 및 906)로 분류될 수 있다. 조건부 분포(906)는 2개의 충전된 이웃을 가진 빅팀 그룹의 모든 충전된 셀과 연관되어 있다. 예를 들면, 도 8의 빅팀 셀(812)은 이러한 조건부 분포의 부분이다. 조건부 분포(904)는 하나의 충전된 이웃 및 하나의 충전되지 않은 이웃을 가진 빅팀 그룹의 모든 충전된 셀과 연관되어 있다. 예를 들면, 도 8의 빅팀 셀(832 및 852)은 이러한 조건부 분포의 부분이다. 전하의 약간(예를 들어, 보통) 양은 이러한 셀에 대한 것이며, 그래서 조건부 분포(904)는 조건부 분포(906)의 왼쪽에 있다는 것을 주목한다. 조건부 분포(902)는 2개의 충전되지 않은 이웃을 가진 빅팀 그룹의 모든 충전된 셀과 연관되어 있다. 예를 들면, 도 8의 빅팀 셀(872)은 이러한 그룹에 빠진다. 그것은 다른 조건부 분포에 비해 대부분의 전하를 잃고, 그래서 조건부 분포(904) 및 조건부 분포(906) 둘 다의 왼쪽에 있다는 것을 주목한다.
달리 말하면, x1은 영향을 받지 않은 셀(예를 들어, 조건부 분포(906))와 연관된 제 1 원시 판독을 획득하기 위해 사용되는 제 1 판독 임계값이라고 하고, x2는 적당히 영향을 받은 셀(예를 들어, 조건부 분포(904))와 연관된 제 2 원시 판독을 획득하기 위해 사용되는 제 2 판독 임계값이라고 하며, x3은 상당히 영향을 받은 셀(예를 들어, 조건부 분포(902))와 연관된 제 3 원시 판독을 획득하기 위해 사용되는 제 3 판독 임계값이라고 한다. x1은 x2보다 크고, x2는 x3보다 크다.
도 10은 3D 낸드와 관련된 복합 판독 생성기의 실시예를 예시하는 다이어그램이다. 일부 실시예에서, 도 2의 복합 판독 생성기(204)는 도시된 바와 같이 구현되고, 솔리드 스테이트 스토리지(250)는 3D 낸드 셀을 포함한다.
도시된 예에서, 멀티플렉서(1000)는 3D 낸드 셀의 (빅팀) 그룹에 대한 복합 판독을 생성하는데 사용된다. 이러한 예에서, (빅팀 그룹의 영향을 받지 않은 셀과 연관된) 제 1 원시 판독은 [A B C D]이고, (빅팀 그룹의 적당히 영향을 받은 셀과 연관된) 제 2 원시 판독은 [E F G H]이며, (빅팀 그룹의 상당히 영향을 받은 셀과 연관된) 제 3 원시 판독은 [I J K L]이다. 제 1 원시 판독은 (C, C)의 입력으로 전달되고, 제 2 원시 판독은 (C, UC) 및 (UC, C)의 입력으로 전달되며, 제 3 원시 판독은 (UC, UC)의 입력으로 전달된다. 이러한 예에서, 투플(tuple)의 첫 번째 항(term)은 왼쪽 이웃의 관련된 셀의 값을 나타내고, 투플의 두 번째 항은 오른쪽 이웃의 관련된 셀의 값을 나타내며, "UC"는 충전되지 않음을 의미하고, "C"는 충전됨을 의미한다. 도 8에서의 다이어그램(800, 820, 840 및 860)에서, 예를 들어, 튜플은 각각 (C, C), (UC, C), (C, UC) 및 (UC, UC)이다.
이러한 예에서, 왼쪽 이웃 판독은 [UC UC C C]이고, 오른쪽 이웃 판독은 [UC C UC C]이다. 복합 판독의 첫 번째 항에 대해, 제 1 이웃한 판독 값이 (UC, UC)이기 때문에, 빅팀 그룹의 제 1 셀은 어떤 이웃도 옹벽으로 작용하지 않으므로 전하의 상당량을 잃는다. 그래서, 복합 판독의 첫 번째 항에 대해, (상당히 영향을 받은 시나리오에 대응하는) 제 3 원시 판독의 대응하는 값은 선택된다(즉, I). 이러한 프로세스는 각 비트 또는 심볼에 대해 반복되고, [I F G D]의 복합 판독을 생성한다.
도 11은 복합 판독을 생성하기 위한 프로세스의 실시예를 예시하는 흐름도이다. 일부 실시예에서, 도 1의 단계(106)는 예시적인 프로세스를 포함한다. (1100)에서, i는 0으로 초기화된다. 이러한 프로세스에서, i는 복합 판독의 어떤 비트 또는 심볼이 선택되는 지를 추적하는 데 사용된다.
(1102)에서, 하나 이상의 이웃한 판독에서 제 i 셀의 값에 기초하여 분류(classification)가 수행된다. 예를 들면, 도 3에서, 2개의 가능한 클래스가 있다: 빅팀 그룹의 해당 셀이 영향을 받지 않거나(즉, ε) 빅팀 그룹의 해당 셀이 영향을 받는다(즉, Δ). 도 3의 예에서, 3개의 가능한 클래스가 있다: 빅팀 그룹의 해당 셀이 영향을 받지 않고(즉, (C, C)), 빅팀 그룹의 해당 셀이 적당히 영향을 받거나(UC, C) 또는 (C, UC)), 빅팀 그룹의 해당 셀이 상당히 영향을 받는다(즉, (UC, UC)).
일부 실시예에서, 단계(1102)는 서로 다른 레벨 또는 정도로 빅팀 그룹의 셀에 영향을 주는 서로 다른 이웃을 고려한다. 예를 들어, 도 6 및 7을 참조한다. 대안적으로, 일부 다른 실시예에서, 이웃은 단계(1102)에서 동일한 정도로 빅팀의 셀에 영향을 준다.
(1104)에서, 분류에 대응하는 원시 판독은 둘 이상의 원시 판독으로부터 선택된다. 예를 들면, 도 3에서, 멀티플렉서(300)에 대한 제 1 원시 판독 또는 제 2 원시 판독 입력 중 하나가 선택된다. 도 10의 예에서,제 1 원시 판독, 제 2 원시 판독 또는 제 3 원시 판독(이의 모두는 멀티플렉서(1000)로 입력됨) 중 하나가 선택된다.
(1106)에서, 복합 판독의 제 i 값은 선택된 원시 판독의 제 i 셀의 값으로 설정된다. 예를 들면, 도 3의 멀티플렉서(300) 및 도 10의 멀티플렉서(1000)에 의해 출력된 복합 판독을 참조한다.
(1108)에서, i는 타겟 그룹의 셀의 수와 동일한지가 판단된다. 예를 들면, 도 3 및 도 10에서, 본 명세서에 도시된 타겟 그룹에는 4개의 셀이 있다. 다른 말로 하면, (1108)에서의 체크는 복합 판독이 완료되고 출력될 준비가 되어 있는지를 확인하는 것이다. 단계(1108)에서의 결정이 yes이면, 복합 판독은 (1112)에서 출력된다. 단계(1108)에서의 결정이 no이면, i는 (1110)에서 증가되고, 복합 판독의 다음 비트 또는 심볼은 선택된다.
도 12는 서로 다른 이웃이 서로 다른 정도로 빅팀 그룹의 셀에 영향을 주는 분류를 수행하기 위한 프로세스의 실시예를 예시한 흐름도이다. 일부 실시예에서, 도 11의 단계(1102)는 예시적인 프로세스를 포함한다.
(1200)에서, 둘 이상의 계수의 세트가 획득되고, 세트 내의 각 계수는 대응하는 이웃한 셀이 빅팀 그룹의 셀에 영향을 주는 정도와 연관된다. 도 6에서, 예를 들면, 이웃(604, 606, 608, 610 및 612)과 연관된 계수의 세트는 각각 (0.15, 0.15, 0.10, 0.05, 0.05)이다.
(1202)에서, 계수의 세트에 대응하는 둘 이상의 이웃한 판독 값의 세트가 획득된다. 예를 들면, 도 7에 도시된 제 7 행에서, 이웃(604, 606, 608, 610 및 612)과 관련된 이웃한 판독 값의 세트는 각각 (공격자 = No, 공격자 = No, 공격자 = Yes, 공격자 = Yes, 공격자 = No)이다.
(1204)에서, 대응하는 이웃한 판독 값은 대응하는 이웃한 셀이 빅팀 그룹의 셀에 영향을 주는 것을 나타내는 계수의 세트의 이러한 계수는 합산된다. 예를 들면, 도 7의 제 7 행에서, αi = (0 + 0 + 0.10 + 0.05 + 0) = 0.15이다.
(1206)에서, 합이 떨어지는 범위는 둘 이상의 범위의 세트로부터 선택된다. 예를 들면, 도 7에서 3개의 범위: [0, 0.10](예를 들어, 실질적으로 영향을 받지 않는 범위), [0.10, 0.25](예를 들어, 적당히 영향을 받는 범위), 및 [0.25, 0.5](예를 들어, 상당히 영향을 받는 범위)가 있을 수 있다. αi = 0.15인 도 7의 제 7 행에 대해, 합은 [0.10, 0.25]의 제 2 범위에 떨어지고, 이런 범위가 선택된다. 이러한 선택된 범위는 (예를 들어, 분류가 원시 판독을 선택하기 위해 도 11의 단계(1104)에 의해 이용될 수 있도록) 출력될 수 있다.
상술한 실시예가 명확한 이해를 위해 약간 상세하게 설명되었지만, 본 발명은 제공된 상세 사항으로 제한되지 않는다.
본 발명을 구현하는 많은 대안적 방식이 있다. 개시된 실시예는 제한이 아니고 예시적인 것이다.
200: 판독 프로세서
201: 스토리지 인터페이스
202: 판독 임계값 생성기
204: 복합 판독 생성기(C 모드)
206: 소프트 판독 값 생성기
208: 에러 정정 디코더
210: 제어기
212: 버퍼
250: 솔리드 스테이트 스토리지
201: 스토리지 인터페이스
202: 판독 임계값 생성기
204: 복합 판독 생성기(C 모드)
206: 소프트 판독 값 생성기
208: 에러 정정 디코더
210: 제어기
212: 버퍼
250: 솔리드 스테이트 스토리지
Claims (20)
- 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하고;
하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하도록 구성되는 스토리지 인터페이스; 및
상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하고;
적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하도록 구성되는 복합 판독 생성기를 포함하는 시스템. - 제 1 항에 있어서,
상기 이웃한 판독은 성공적으로 에러 정정 디코딩된 이웃한 판독을 포함하고;
상기 시스템은 성공적으로 에러 정정 디코딩된 하나 이상의 데이터를 저장하도록 구성되는 버퍼를 더 포함하며;
상기 복합 판독 생성기는 상기 버퍼로부터 상기 성공적으로 에러 정정 디코딩된 이웃한 판독을 획득하도록 구성되는 시스템. - 제 1 항에 있어서,
상기 복합 판독 생성기는 상기 이웃한 그룹을 판독하기 위해 상기 스토리지 인터페이스를 이용하여 포함하는 상기 이웃한 판독을 획득하도록 구성되는 시스템. - 제 1 항에 있어서,
상기 복합 판독 생성기에 의해 생성된 상기 복합 판독은 하나 이상의 소프트 값을 포함하고;
상기 시스템은 상기 복합 판독에서 에러 정정 디코딩을 수행하도록 구성되는 소프트 입력 에러 정정 디코더를 더 포함하는 시스템. - 제 1 항에 있어서,
상기 복합 판독 생성기에 의해 생성된 상기 복합 판독은 하나 이상의 하드 값을 포함하는 시스템. - 제 1 항에 있어서,
상기 복합 판독 생성기는 (1) 상기 제 1 원시 판독 및 상기 제 2 원시 판독을 입력 신호로서 이용하고, (2) 상기 이웃한 판독을 선택 신호로서 이용하도록 구성되는 멀티플렉서를 포함하는 시스템. - 제 1 항에 있어서,
상기 복합 판독 생성기는
적어도 부분적으로 상기 제 1 원시 판독의 제 1 서브세트 및 상기 제 2 원시 판독의 제 1 서브세트에 기초하여 하나 이상의 LLR 값의 제 1 세트를 생성하도록 구성된 제 1 로그 우도 비(LLR) 생성기;
적어도 부분적으로 상기 제 1 원시 판독의 제 2 서브세트 및 상기 제 2 원시 판독의 제 2 서브세트에 기초하여 하나 이상의 LLR 값의 제 2 세트를 생성하도록 구성된 제 2 LLR 생성기로서, (1) 상기 제 1 원시 판독의 상기 제 1 서브세트 및 상기 제 1 원시 판독의 상기 제 2 서브세트는 상호 배타적이고, (2) 상기 제 2 원시 판독의 상기 제 1 서브세트 및 상기 제 2 원시 판독의 상기 제 2 서브세트는 상호 배타적인 상기 제 2 LLR 생성기; 및
(1) 상기 LLR 값의 제 1 세트 및 상기 LLR 값의 제 2 세트를 입력 신호로서 이용하고, (2) 상기 이웃한 판독을 선택 신호로서 이용하도록 구성된 멀티플렉서를 포함하는 시스템. - 제 1 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 하나 이상의 플로팅 게이트 트랜지스터를 포함하는 솔리드 스테이트 스토리지에 저장되는 시스템. - 제 1 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 3D 낸드를 포함하는 솔리드 스테이트 스토리지에 저장되는 시스템. - 하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하는 단계;
하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하는 단계;
상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하는 단계; 및
적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하기 위해 프로세서를 이용하는 단계를 포함하는 방법. - 제 10 항에 있어서,
상기 이웃한 판독은 성공적으로 에러 정정 디코딩된 이웃한 판독을 포함하고;
상기 방법은 버퍼에 성공적으로 에러 정정 디코딩된 하나 이상의 데이터를 저장하는 단계를 더 포함하며;
상기 성공적으로 에러 정정 디코딩된 이웃한 판독은 상기 버퍼로부터 획득되는 방법. - 제 10 항에 있어서,
상기 복합 판독은 하나 이상의 소프트 값을 포함하고;
상기 방법은 상기 복합 판독에서 에러 정정 디코딩을 수행하도록 소프트 입력 에러 정정 디코더를 이용하는 단계를 더 포함하는 방법. - 제 10 항에 있어서,
상기 복합 판독은 하나 이상의 하드 값을 포함하는 방법. - 제 10 항에 있어서,
상기 복합 판독을 생성하기 위해 프로세서를 이용하는 단계는 (1) 상기 제 1 원시 판독 및 상기 제 2 원시 판독을 입력 신호로서 이용하고, (2) 상기 이웃한 판독을 선택 신호로서 이용하기 위해 멀티플렉서를 이용하는 단계를 포함하는 방법. - 제 10 항에 있어서,
상기 복합 판독을 생성하기 위해 프로세서를 이용하는 단계는
적어도 부분적으로 상기 제 1 원시 판독의 제 1 서브세트 및 상기 제 2 원시 판독의 제 1 서브세트에 기초하여 하나 이상의 LLR 값의 제 1 세트를 생성하기 위해 제 1 로그 우도 비(LLR) 생성기를 이용하는 단계;
적어도 부분적으로 상기 제 1 원시 판독의 제 2 서브세트 및 상기 제 2 원시 판독의 제 2 서브세트에 기초하여 하나 이상의 LLR 값의 제 2 세트를 생성하기 위해 제 2 LLR 생성기를 이용하는 단계로서, (1) 상기 제 1 원시 판독의 상기 제 1 서브세트 및 상기 제 1 원시 판독의 상기 제 2 서브세트는 상호 배타적이고, (2) 상기 제 2 원시 판독의 상기 제 1 서브세트 및 상기 제 2 원시 판독의 상기 제 2 서브세트는 상호 배타적인 상기 제 2 LLR 생성기를 이용하는 단계; 및
(1) 상기 LLR 값의 제 1 세트 및 상기 LLR 값의 제 2 세트를 입력 신호로서 이용하고, (2) 상기 이웃한 판독을 선택 신호로서 이용하기 위해 멀티플렉서를 이용하는 단계를 포함하는 방법. - 제 10 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 하나 이상의 플로팅 게이트 트랜지스터를 포함하는 솔리드 스테이트 스토리지에 저장되는 방법. - 제 10 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 3D 낸드를 포함하는 솔리드 스테이트 스토리지에 저장되는 방법. - 컴퓨터 프로그램 제품으로서,
상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터로 판독 가능한 저장 매체로 구현되고,
하나 이상의 값을 포함하는 제 1 원시 판독을 획득하기 위해 제 1 판독 임계값을 사용하여 하나 이상의 셀의 빅팀 그룹을 판독하고;
하나 이상의 값을 포함하는 제 2 원시 판독을 획득하기 위해 제 2 판독 임계값을 사용하여 상기 셀의 빅팀 그룹을 판독하고;
상기 셀의 빅팀 그룹과 연관된 하나 이상의 셀의 이웃한 그룹에 대응하는 이웃한 판독을 획득하며;
적어도 부분적으로 상기 이웃한 판독에 기초하여 적어도 제 1 가능한 값 및 제 2 가능한 값으로부터 선택하여 포함하는 복합 판독을 생성하기 위한 컴퓨터 명령어를 포함하는 컴퓨터 프로그램 제품. - 제 18 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 하나 이상의 플로팅 게이트 트랜지스터를 포함하는 솔리드 스테이트 스토리지에 저장되는 컴퓨터 프로그램 제품. - 제 18 항에 있어서,
상기 셀의 빅팀 그룹 및 상기 셀의 이웃한 그룹은 3D 낸드를 포함하는 솔리드 스테이트 스토리지에 저장되는 컴퓨터 프로그램 제품.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361766614P | 2013-02-19 | 2013-02-19 | |
US61/766,614 | 2013-02-19 | ||
US14/071,383 | 2013-11-04 | ||
US14/071,383 US9142309B2 (en) | 2013-02-19 | 2013-11-04 | Generation of a composite read based on neighboring data |
PCT/US2013/069004 WO2014130104A2 (en) | 2013-02-19 | 2013-11-07 | Generation of a composite read based on neighboring data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150139823A true KR20150139823A (ko) | 2015-12-14 |
KR102153942B1 KR102153942B1 (ko) | 2020-09-10 |
Family
ID=51351048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157020671A KR102153942B1 (ko) | 2013-02-19 | 2013-11-07 | 이웃한 데이터에 기반한 복합 판독의 생성 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9142309B2 (ko) |
KR (1) | KR102153942B1 (ko) |
CN (1) | CN105103233B (ko) |
WO (1) | WO2014130104A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200025820A (ko) * | 2018-08-31 | 2020-03-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083069B2 (en) | 2013-06-27 | 2018-09-25 | Sandisk Technologies Llc | Word line defect detection and handling for a data storage device |
US9318194B1 (en) | 2014-09-29 | 2016-04-19 | Sandisk 3D Llc | Apparatus and methods for sensing hard bit and soft bits |
US10770155B2 (en) | 2018-10-11 | 2020-09-08 | International Business Machines Corporation | Determining a read apparent voltage infector page and infected page |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080285341A1 (en) * | 2007-05-16 | 2008-11-20 | Micron Technology, Inc. | Reading non-volatile multilevel memory cells |
US20100142281A1 (en) * | 2008-12-08 | 2010-06-10 | Han Woong Yoo | Non-Volatile Memory Device and Program Method Thereof |
KR20100067942A (ko) * | 2008-12-12 | 2010-06-22 | 삼성전자주식회사 | 불휘발성 메모리 장치의 액세스 방법 |
KR20110038097A (ko) * | 2008-07-01 | 2011-04-13 | 엘에스아이 코포레이션 | 플래시 메모리 디바이스 판독 방법 및 시스템 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7719875B2 (en) * | 2003-03-18 | 2010-05-18 | Kabushiki Kaisha Toshiba | Resistance change memory device |
US7706167B2 (en) * | 2003-03-18 | 2010-04-27 | Kabushiki Kaisha Toshiba | Resistance change memory device |
US7729158B2 (en) * | 2003-04-03 | 2010-06-01 | Kabushiki Kaisha Toshiba | Resistance change memory device |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7400535B2 (en) * | 2006-07-20 | 2008-07-15 | Sandisk Corporation | System that compensates for coupling during programming |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8848438B2 (en) | 2010-10-05 | 2014-09-30 | Stec, Inc. | Asymmetric log-likelihood ratio for MLC flash channel |
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 |
US8913437B2 (en) * | 2011-12-15 | 2014-12-16 | Marvell World Trade Ltd. | Inter-cell interference cancellation |
-
2013
- 2013-11-04 US US14/071,383 patent/US9142309B2/en active Active
- 2013-11-07 CN CN201380070862.5A patent/CN105103233B/zh active Active
- 2013-11-07 WO PCT/US2013/069004 patent/WO2014130104A2/en active Application Filing
- 2013-11-07 KR KR1020157020671A patent/KR102153942B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080285341A1 (en) * | 2007-05-16 | 2008-11-20 | Micron Technology, Inc. | Reading non-volatile multilevel memory cells |
KR20110038097A (ko) * | 2008-07-01 | 2011-04-13 | 엘에스아이 코포레이션 | 플래시 메모리 디바이스 판독 방법 및 시스템 |
KR20110041500A (ko) * | 2008-07-01 | 2011-04-21 | 엘에스아이 코포레이션 | 플래시 메모리 디바이스 내의 타겟 셀 판독 방법 및 시스템, 플래시 메모리 내의 방해를 특징화하는 방법 |
US20100142281A1 (en) * | 2008-12-08 | 2010-06-10 | Han Woong Yoo | Non-Volatile Memory Device and Program Method Thereof |
KR20100065631A (ko) * | 2008-12-08 | 2010-06-17 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR20100067942A (ko) * | 2008-12-12 | 2010-06-22 | 삼성전자주식회사 | 불휘발성 메모리 장치의 액세스 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200025820A (ko) * | 2018-08-31 | 2020-03-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Also Published As
Publication number | Publication date |
---|---|
US20140233317A1 (en) | 2014-08-21 |
US9142309B2 (en) | 2015-09-22 |
WO2014130104A2 (en) | 2014-08-28 |
CN105103233B (zh) | 2017-12-15 |
KR102153942B1 (ko) | 2020-09-10 |
WO2014130104A3 (en) | 2015-07-16 |
CN105103233A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101675170B1 (ko) | 플래시 메모리 프로그래밍 방법 및 시스템, 플래시 메모리 판독 방법 및 시스템 | |
US9106264B2 (en) | Encoding and decoding in flash memories using convolutional-type low-density parity check codes | |
US9086984B2 (en) | Detection and decoding in flash memories with selective binary and non-binary decoding | |
JP3999822B2 (ja) | 記憶システム | |
TWI613674B (zh) | 在具有選擇性二元及非二元解碼之快閃記憶體中之偵測及解碼 | |
KR101743974B1 (ko) | Nand 사전 판독 에러 복구 | |
US20090316490A1 (en) | Method of writing data into semiconductor memory and memory controller | |
JP2012504820A (ja) | 性能要因調整に基づくメモリ・デバイスの軟データ生成の方法および装置 | |
Tanakamaru et al. | Highly reliable and low power SSD using asymmetric coding and stripe bitline-pattern elimination programming | |
KR20080077604A (ko) | 멀티 비트 셀 플래시 메모리에서의 확률적 에러 보정 | |
US8990668B2 (en) | Decoding data stored in solid-state memory | |
KR20110081822A (ko) | 플래시 메모리에서의 적응형 코딩 방법 및 시스템 | |
KR102153942B1 (ko) | 이웃한 데이터에 기반한 복합 판독의 생성 | |
US20180074894A1 (en) | Memory system | |
US9082480B2 (en) | Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window | |
Chang et al. | Bit-error rate improvement of TLC NAND Flash using state re-ordering | |
JP6303039B2 (ja) | ストレージシステム用のセル位置プログラミング | |
US11222693B2 (en) | Data management method for memory and memory apparatus using the same | |
CN112562772A (zh) | 自适应低密度奇偶校验硬解码器 | |
US20240201853A1 (en) | Best read reference voltage search of 3d nand memory | |
US20170255513A1 (en) | Memory system and memory control method | |
JP3866674B2 (ja) | 記憶システム | |
TWI839424B (zh) | 準迴圈校正子解碼器的硬體實施方案 | |
Luo et al. | Spread programming for NAND flash | |
전명운 | Bidirectional Error Correcting Codes and Interference Mitigation for Flash Memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |