KR100838292B1 - 메모리 셀의 읽기 레벨 제어 장치 및 그 방법 - Google Patents

메모리 셀의 읽기 레벨 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR100838292B1
KR100838292B1 KR1020070060451A KR20070060451A KR100838292B1 KR 100838292 B1 KR100838292 B1 KR 100838292B1 KR 1020070060451 A KR1020070060451 A KR 1020070060451A KR 20070060451 A KR20070060451 A KR 20070060451A KR 100838292 B1 KR100838292 B1 KR 100838292B1
Authority
KR
South Korea
Prior art keywords
levels
memory cell
metric values
values
received signal
Prior art date
Application number
KR1020070060451A
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 삼성전자주식회사
Priority to KR1020070060451A priority Critical patent/KR100838292B1/ko
Priority to US12/003,545 priority patent/US7835209B2/en
Priority to JP2010513092A priority patent/JP5457339B2/ja
Priority to PCT/KR2008/000128 priority patent/WO2008156238A1/en
Application granted granted Critical
Publication of KR100838292B1 publication Critical patent/KR100838292B1/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
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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
    • 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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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
    • 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/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

메모리 셀의 읽기 레벨 제어 장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법은 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신하는 단계, 상기 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 단계, 상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 단계 및 상기 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어하는 단계를 포함한다.
읽기 레벨(reading level), 메모리

Description

메모리 셀의 읽기 레벨 제어 장치 및 그 방법{APPARATUS FOR CONTROLLING READ LEVEL OF MEMORY CELL AND METHOD USING THE SAME}
도 1은 본 발명의 메모리 셀의 읽기 레벨 제어 장치를 설명하기 위한 일 실시예 시스템 블록도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 구성 블록도이다.
도 3은 본 발명에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 동작을 설명하기 위해 보인 일 예시도이다.
도 4는 본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 구성 블록도이다.
도 5는 본 발명에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 추가 구성의 일 예시도이다.
도 6은 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법에 대한 동작 흐름도이다.
도 7은 본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법에 대한 동작 흐름도이다.
도 8은 본 발명에 따른 메모리 셀의 읽기 레벨 제어 방법에서 메트릭 값들을 생성하는 과정에 대한 다른 일 예시도이다.
<도면의 주요 부분에 대한 부호의 설명>
210, 440: 수신부
220, 450: 덧셈 값 연산부
230, 460: 선택부
240, 470: 제어부
410: 업데이트 연산부
420: 업데이트부
430: 저장 수단
510: 비교부
530: 메트릭 값 덧셈부
본 발명은 읽기 레벨에 관한 것으로, 더욱 상세하게는 플래시 메모리 셀에 대한 읽기 동작 수행 시 읽혀진 메모리 셀의 데이터에 대한 오류를 줄일 수 있도록 읽기 레벨을 제어하는 메모리 셀의 읽기 레벨 제어 장치 및 그 방법에 관한 것이다.
플래시 메모리에서 메모리 셀에 프로그램된 데이터를 읽는 동작은 메모리 셀의 임계 전압과 기 설정된 읽기 레벨을 비교하고, 임계 전압과 읽기 레벨을 기초로 메모리 셀에 프로그램된 데이터를 읽게 된다.
예컨대, 4-bit MLC 방식의 메모리 셀인 경우 메모리 셀에 프로그램된 데이터를 읽기 위해서는 메모리 셀의 임계 전압과 기 결정된 15개의 읽기 레벨을 비교하여 메모리 셀에 프로그램된 데이터를 읽을 수 있다.
하지만, 메모리 셀의 읽기 레벨에 의해 읽혀진 메모리 셀의 데이터에 대한 오류가 증가하게 되면 데이터의 오류를 정정하기 위한 ECC(error control code) 디코딩 레벨이 높아져야 하는데, 이는 읽기 동작의 레이턴시(latency)가 길어지고, ECC 디코더에 대한 비용이 커지는 문제가 있다.
또한, 데이터 오류의 증가로 인해 장치에 대한 내구성(endurance) 및 저장되어 있는 데이터의 지속성(retention) 등이 떨어지는 문제가 있다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 최적의 읽기 레벨을 선택하여 메모리 셀로부터 읽혀진 데이터의 오류를 최소화하는 것을 목적으로 한다.
또한, 본 발명은 메모리 셀로부터 읽혀진 데이터의 오류를 줄여 낮은 레벨의 데이터 오류 정정 기능을 사용하고, 전체적인 레이턴시를 줄이는 것을 목적으로 한다.
또한, 본 발명은 메모리 셀로부터 읽혀진 데이터의 오류를 줄여 장치에 대한 내구성(endurance) 및 저장되어 있는 데이터의 지속성(retention)을 향상시키는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법은 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신하는 단계, 상기 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 단계, 상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 단계 및 상기 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어하는 단계를 포함한다.
이때, 상기 메모리 셀의 읽기 레벨을 제어하는 단계는 상기 메모리 셀의 조건부 확률 밀도 함수(Conditional Probability Density Function)들의 기 결정된 시작 전압들과 상기 선택된 기준 레벨이 더해진 제어 값들로 상기 메모리 셀의 읽기 레벨을 제어할 수 있다.
이때, 상기 메트릭 값들은 상기 전압 레벨들, 상기 기준 레벨들 및 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 기 결정된 시작 전압들을 기초로 연산될 수 있다.
이때, 상기 덧셈 값들을 생성하는 단계는 상기 수신된 메트릭 값들 중 상기 수신 신호의 레벨들 및 상기 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성할 수 있다.
이때, 상기 수신 신호의 레벨들에 상응하는 시작 전압들은 상기 수신 신호의 레벨들이 ECC(error control code) 디코딩(decoding)되어 생성될 수 있다.
이때, 상기 메모리 셀의 읽기 레벨 제어 방법은 기 결정된 수신 신호들의 개수를 주기로 상기 선택되는 기준 레벨을 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법은 수신 신호의 레벨들 및 기준 레벨들을 기초로 업데이트용 메트릭 값들을 연산하는 단계, 기 결정된 전압 레벨들 및 상기 기준 레벨들을 기초로 연산된 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 단계, 상기 업데이트된 메트릭 값들을 수신하는 단계, 상기 업데이트된 메트릭 값들 중 상기 수신 신호의 레벨들에 상응하는 업데이트된 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 단계, 상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 단계 및 상기 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어하는 단계를 포함한다.
본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치는 메모리 셀, 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신하는 수신부, 상기 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 덧셈 값 연산부, 상기 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 선택부 및 상기 선택된 기준 레벨을 기초로 상기 메모리 셀의 읽기 레벨을 제어하는 제어부를 포함한다.
본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치는 메모 리 셀, 수신 신호의 레벨들 및 기준 레벨들을 기초로 업데이트용 메트릭 값들을 연산하는 업데이트 연산부, 기 결정된 전압 레벨들 및 상기 기준 레벨들을 기초로 연산된 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 업데이트부, 상기 업데이트된 메트릭 값들을 수신하는 수신부, 상기 업데이트된 메트릭 값들 중 상기 수신 신호의 레벨들에 상응하는 업데이트된 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 덧셈 값 연산부, 상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 선택부 및 상기 선택된 기준 레벨을 기초로 상기 메모리 셀의 읽기 레벨을 제어하는 제어부를 포함한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 메모리 셀의 읽기 레벨 제어 장치를 설명하기 위한 일 실시예 시스템 블록도이다.
도 1을 참조하면, 메모리 셀의 읽기 레벨 제어 장치를 설명하기 위한 시스템은 메모리(110), 레벨 출력부(120), ECC(error control code) 디코더(130) 및 읽기 레벨 제어 장치(140)를 포함한다.
메모리(110)는 데이터를 저장하는 메모리 셀들을 포함하고, 읽기 동작에 의해 메모리 셀들의 임계 전압(
Figure 112007044598405-pat00001
)들을 출력한다.
이때, 메모리(110)는 플래시 메모리를 포함할 수 있다.
이때, 메모리(110)는 MLC(multi level cell) 방식의 플래시 메모리 및 SLC(single level cell) 방식의 플래시 메모리 등을 포함할 수 있다.
이때, 메모리(110)는 NAND 플래시 메모리 및 NOR 플래시 메모리 등을 포함할 수 있다.
레벨 출력부(120)는 기 결정된 읽기 레벨 또는 읽기 레벨 제어 장치에 의해 제어된 읽기 레벨(
Figure 112007044598405-pat00002
)을 기초로 메모리로부터 출력된 임계 전압에 대한 수신 신호의 레벨(
Figure 112007044598405-pat00003
)을 출력한다.
이때, 레벨 출력부(120)는 소정의 분해능을 갖는 제1 ADC를 구비하고, 제1 ADC를 통해 임계 전압에 대한 수신 신호의 레벨(
Figure 112007044598405-pat00004
)을 출력할 수 있다.
ECC 디코더(130)는 레벨 출력부(120)로부터 출력된 수신 신호의 레벨(
Figure 112007044598405-pat00005
)을 ECC 디코딩하여 수신 신호의 레벨에 상응하는 시작 전압(
Figure 112007044598405-pat00006
)을 출력한다.
여기서, 시작 전압은 메모리 셀에 프로그램된 데이터를 구분하는 CPDF(Conditional Probability Density Function)가 시작되는 전압으로, 4-bit MLC인 경우 프로그램된 데이터가 0000부터 1111까지 16개의 CPDF들이 있기 때문에 시작 전압들은 16개가 되고, 시작 전압들은 기 결정된다.
본 발명에 따른 메모리 셀의 읽기 레벨 제어 장치(140)는 레벨 출력부(120) 로부터 출력된 수신 신호의 레벨(
Figure 112007044598405-pat00007
)을 기초로 읽기 레벨(
Figure 112007044598405-pat00008
)을 제어한다.
이때, 읽기 레벨 제어 장치(140)는 레벨 출력부(120)로부터 출력된 수신 신호의 레벨(
Figure 112007044598405-pat00009
) 및 ECC 디코더(130)로부터 출력된 수신 신호의 레벨에 상응하는 시작 전압(
Figure 112007044598405-pat00010
)을 기초로 읽기 레벨(
Figure 112007044598405-pat00011
)을 제어할 수 있다.
이때, 읽기 레벨 제어 장치(140)는 기 결정된 전압 레벨들 및 기준 레벨(
Figure 112007044598405-pat00012
)들을 기초로 연산된 메트릭 값들을 수신하고, 수신된 메트릭 값들을 이용하여 기 결정된 기준 레벨들 중 어느 하나를 선택하며 그 선택된 기준 레벨을 통해 메모리 셀의 읽기 레벨을 제어할 수 있다.
여기서, 기준 레벨들은 CPDF의 시작 전압부터 읽기 레벨까지의 거리를 나타내는 기 결정된 레벨들이다.
여기서, 전압 레벨들은 기 결정된 분해능을 갖는 ADC의 출력 레벨들로서, 전압 레벨들 수는 ADC의 분해능에 따라 달라지고 ADC의 분해능은 상황에 따라 달라질 수 있는데, ADC의 분해능은 레벨 출력부(120)에 구비된 제1 ADC의 분해능 이상인 것이 바람직하다.
이때, ADC는 메모리 셀의 데이터들을 구분하는 CPDF들 수를 기초로 ADC의 출력 레벨들 수가 기 결정된 값보다 작은 저 분해능(low-resolution) ADC일 수 있고, 임의의 ADC 출력 레벨을 가질 수 있다.
여기서, 저 분해능 ADC는 [수학식 1]를 만족하는 ADC이다.
ADC의 출력 레벨들 수 / (셀에 저장 가능한 비트 수 - 1) < 8
[수학식 1]에서 알 수 있듯이, 저 분해능 ADC는 셀에 저장 가능한 비트 수에따라 달라질 수 있다.
일 예로, 메모리 셀이 4-bit MLC 방식의 메모리 셀인 경우 저 분해능 ADC는 1~6 비트 사이의 ADC이다.
다른 일 예로, 메모리 셀이 2-bit MLC 방식의 메모리 셀인 경우 저 분해능 ADC는 1~4 비트 사이의 ADC이다.
또 다른 일 예로, 메모리 셀이 SLC 방식의 메모리 셀인 경우 저 분해능 ADC는 1 비트 또는 2 비트 ADC이다.
도 2는 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 구성 블록도이다.
도 2를 참조하면, 메모리 셀의 읽기 레벨 제어 장치는 수신부(210), 덧셈 값 연산부(220), 선택부(230) 및 제어부(240)를 포함한다.
수신부(210)는 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신한다.
이때, 수신부(210)는 전압 레벨들, 기준 레벨들 및 메모리 셀의 데이터들을 구분하는 CPDF들의 기 결정된 시작 전압들을 기초로 연산된 메트릭 값들을 수신할 수 있다.
이때, 수신부(210)는 기준 레벨들 및 전압 레벨들 중 시작 전압들 각각에 상응하는 전압 레벨들과 시작 전압들 각각 사이의 차들을 기초로 연산된 메트릭 값들을 수신할 수 있다. 예컨대, 시작 전압 VVF1에 해당하는 CPDF에 4개의 전압 레벨들 V1, V2, V3 및 V4가 포함된다 가정하면 시작 전압에 상응하는 전압 레벨들과 시작 전압 사이의 차들은
Figure 112007044598405-pat00013
Figure 112007044598405-pat00014
가 되고, 수신부(210)는 기준 레벨들 및
Figure 112007044598405-pat00015
에 의해 연산된 메트릭 값들을 수신한다. 이때, 시작 전압 및 시작 전압에 상응하는 전압 레벨들은 CPDF에 따라 달라지지만, CPDF가 달라지더라도 시작 전압에 상응하는 전압 레벨들과 시작 전압 사이의 차들은 똑같기 때문에 연산되는 메트릭 값들 수가 적어질 수 있다.
이때, 수신부(210)는 연산된 메트릭 값들이 저장된 저장 수단으로부터 메트릭 값들을 수신할 수 있다.
이때, 수신부(210)는 전압 레벨들 및 기준 레벨들을 입력 받아 연산된 메트릭 값들을 출력하는 논리 회로로부터 메트릭 값들을 수신할 수 있다.
이때, 수신부(210)는 연산된 메트릭 값들이 저장된 외부 저장 수단으로부터 메트릭 값들을 수신할 수 있다.
이때, 수신부(210)는 연산된 메트릭 값들 중 기 결정된 메트릭 값들 별로 덧셈 연산이 수행된 메트릭 값들을 수신할 수 있는데, 이는 ADC의 분해능이 레벨 출력부(120)에 구비된 제1 ADC의 분해능보다 큰 경우에 해당되며 이에 대해서는 도 5에서 설명한다.
덧셈 값 연산부(220)는 수신부(210)로 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성한다.
이때, 덧셈 값 연산부(220)는 수신부(210)로 수신된 메트릭 값들 중 수신 신호의 레벨들 및 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성할 수 있다.
이때, 덧셈 값 연산부(220)는 기 결정된 개수 예를 들어, 1000개의 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 기준 레벨들 예를 들어,
Figure 112007044598405-pat00016
각각에 대해서 수행하여 4 개의 덧셈 값들을 생성할 수 있다.
선택부(230)는 덧셈 값 연산부(220)에 의해 생성된 덧셈 값들 중 최대 덧셈 값을 이용하여 기준 레벨을 선택한다. 즉, 선택부(230)는 덧셈 값이 최대가 되는 기준 레벨을 기준 레벨들 중에서 선택한다.
이때, 선택부(230)는 메트릭 값들이 전압 레벨들 및 기준 레벨들을 기초로 연산된 경우 [수학식 2]에 의해 선택될 수 있다.
Figure 112007044598405-pat00017
여기서,
Figure 112007044598405-pat00018
은 선택된 기준 레벨을 말하고, K는 기 결정된 수신 신호들의 개수를 말하고,
Figure 112007044598405-pat00019
은 수신 신호의 레벨을 말하고,
Figure 112007044598405-pat00020
은 기 결정된 기준 레벨들을 말하고,
Figure 112007044598405-pat00021
에 상응하는 메트릭 값을 말한다.
이때, 선택부(230)는 메트릭 값들이 전압 레벨들, 기준 레벨들 및 메모리 셀의 데이터들을 구분하는 CPDF들의 기 결정된 시작 전압들을 기초로 연산된 경우 [수학식 3]에 의해 선택될 수 있다.
Figure 112007044598405-pat00022
여기서,
Figure 112007044598405-pat00023
은 선택된 기준 레벨을 말하고, K는 기 결정된 수신 신호들의 개수를 말하고,
Figure 112007044598405-pat00024
은 수신 신호의 레벨을 말하고,
Figure 112007044598405-pat00025
는 수신 신호의 레벨에 상응하는 CPDF의 시작 전압을 말하고,
Figure 112007044598405-pat00026
은 기 결정된 기준 레벨들을 말하고,
Figure 112007044598405-pat00027
에 상응하는 메트릭 값을 말한다.
이때, 선택부(230)는 기 결정된 수신 신호들의 개수를 주기로 선택되는 기준 레벨을 업데이트할 수 있다.
이때, 선택부(230)는 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 선택되는 기준 레벨을 업데이트할 수 있다. 예컨대, 1000개의 수신 신호들 개수가 한 주기이고, 이전 주기까지의 수신 신호들 개수가 9000개라 가정하면, 선택부(230)는 이전 주기까지의 덧셈 값들과 현재 주기까지의 덧셈 값들에 각각 기 설정된 웨이트(weight) 예를 들어, 9:1의 웨이트를 곱한 후 덧셈 값이 최대가 되는 기준 레벨을 선택한다.
제어부(240)는 선택부(230)에 의해 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어한다.
이때, 제어부(240)는 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압 들과 선택부(230)에 의해 선택된 기준 레벨이 더해진 제어 값들로 메모리 셀의 읽기 레벨을 제어할 수 있다. 즉, 제어부(240)는 CPDF들 각각의 시작 전압들을 알기 때문에 시작 전압들 각각에 읽기 수행에 의해 발생할 수 있는 오류가 최소가 되는 기준 레벨이 더해진 전압을 이용하여 메모리 셀의 읽기 레벨을 제어한다.
이때, 제어부(240)는 [수학식 4]을 이용하여 메모리 셀의 읽기 레벨을 제어할 수 있다.
Figure 112007044598405-pat00028
여기서,
Figure 112007044598405-pat00029
는 n번째 CPDF와 n+1번째 CPDF를 구분하는 읽기 레벨을 말하고,
Figure 112007044598405-pat00030
은 n번째 CPDF의 시작 전압을 말하고,
Figure 112007044598405-pat00031
은 선택된 기준 레벨을 말한다.
도 3을 참조하여 선택부(230) 및 제어부(240)에 대한 동작을 조금 더 설명하면, 선택부(230)에 의해 덧셈 값이 최대가 되는 기준 레벨(
Figure 112007044598405-pat00032
)이 선택되면 제어부(240)는 n번째 CPDF의 시작 전압(
Figure 112007044598405-pat00033
)에 선택된 기준 레벨(
Figure 112007044598405-pat00034
) 이 더해진 값을 n번째 CPDF와 n+1번째 CPDF를 구분하는 읽기 레벨(
Figure 112007044598405-pat00035
)로 하고, n+1번째 CPDF의 시작 전압(
Figure 112007044598405-pat00036
)에 선택된 기준 레벨(
Figure 112007044598405-pat00037
)이 더해진 값을 n+1번째 CPDF와 n+2번째 CPDF를 구분하는 읽기 레벨(
Figure 112007044598405-pat00038
)로 하여 메모리 셀의 읽기 레벨을 제어한다.
이와 같이 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치는 메모리로부터 데이터들을 읽을 때 발생할 수 있는 오류를 줄일 수 있도록 읽기 레벨을 제어하기 때문에 정확한 데이터를 얻을 수 있는 확률을 높일 수 있다.
도 4는 본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 구성 블록도이다.
도 4를 참조하면, 메모리 셀의 읽기 레벨 제어 장치는 업데이트 연산부(410), 업데이트부(420), 저장 수단(430), 수신부(440), 덧셈 값 연산부(450), 선택부(460) 및 제어부(470)를 포함한다.
업데이트 연산부(410)는 레벨 출력부(120)로부터 출력된 수신 신호의 레벨(
Figure 112007044598405-pat00039
)들을 기초로 업데이트용 메트릭 값들을 연산한다.
이때, 업데이트 연산부(410)는 수신 신호의 레벨들 및 ECC 디코더(130)로부터 출력된 수신 신호의 레벨들에 상응하는 기준 레벨들을 기초로 업데이트용 메트릭 값들을 연산할 수 있다.
업데이트부(420)는 업데이트 연산부(410)에 의해 연산된 업데이트용 메트릭 값들을 수신하고, 수신된 업데이트용 메트릭 값들을 이용하여 저장 수단(430)에 저장된 메트릭 값들을 업데이트한다.
즉, 업데이트부(420)는 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산되어 저장 수단(430)에 저장된 메트릭 값들을 업데이트용 메트릭 값들을 이용하여 업데이트한다.
수신부(440)는 저장 수단(430)으로부터 업데이트된 메트릭 값들을 수신한다.
덧셈 값 연산부(450)는 레벨 출력부(120)로부터 출력된 수신 신호의 레벨들을 수신하고, 수신부(440)로 수신된 업데이트된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성한다.
이때, 덧셈 값 연산부(450)는 레벨 출력부(120)로부터 출력된 수신 신호의 레벨들 및 ECC 디코더(130)로부터 출력된 수신 신호 레벨들에 상응하는 시작 전압들을 수신하고, 수신부(440)로 수신된 업데이트된 메트릭 값들 중 수신 신호의 레벨들 및 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성할 수 있다.
선택부(460)는 덧셈 값 연산부(450)에 의해 생성된 덧셈 값들 중 최대 덧셈 값을 이용하여 기준 레벨을 선택한다. 즉, 선택부(460)는 덧셈 값이 최대가 되는 기준 레벨을 기준 레벨들 중에서 선택한다.
이때, 선택부(460)는 기 결정된 수신 신호들의 개수를 주기로 선택되는 기준 레벨을 업데이트할 수 있다.
이때, 선택부(460)는 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 선택되는 기준 레벨을 업데이트할 수 있다.
제어부(470)는 선택부(460)에 의해 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어한다. 즉, 제어부(470)는 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들과 선택부(460)에 의해 선택된 기준 레벨이 더해진 제어 값들로 메모리 셀의 읽기 레벨을 제어한다.
도 5는 본 발명에 따른 메모리 셀의 읽기 레벨 제어 장치에 대한 추가 구성의 일 예시도이다.
여기서, 도 5는 메트릭 값들을 연산하는데 기초가 되는 ADC의 분해능과 수신 신호의 레벨을 출력하는 레벨 출력부(120)에 구비된 제1 ADC의 분해능의 차이로 인해 발생할 수 있는 문제를 해결한다.
도 5를 참조하면, 메모리 셀의 읽기 레벨 제어 장치는 비교부(510), 멀티플렉서(MUX)(520) 및 메트릭 값 덧셈부(530)를 더 포함한다.
비교부(510)는 ADC의 분해능 및 제1 ADC의 분해능을 비교한다. 즉, 비교부(510)는 두 ADC의 분해능의 비교를 통해 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 그대로 사용할 것인가 아니면 덧셈 연산이 수행된 메트릭 값들을 사용할 것인가에 대한 제어 신호를 출력한다.
메트릭 값 덧셈부(530)는 연산된 메트릭 값들 예컨대, 저장 수단에 저장된 메트릭 값들 또는 논리회로로부터 출력된 메트릭 값들을 수신하고, 수신된 메트릭 값들을 비교부(510)로부터 출력된 제어신호를 기초로 덧셈 연산을 수행한다.
예를 들어, 메트릭 값 덧셈부(530)가 비교부(510)로부터 두 메트릭 값들의 덧셈 연산을 수행하는 제어신호를 수신하면, 수신된 메트릭 값들 중 기 결정된 두 메트릭 값들 별로 덧셈 연산을 수행하고, 덧셈 연산이 수행된 메트릭 값들을 멀티플렉서(520)로 출력한다.
여기서, 메트릭 값 덧셈부(530)는 비교부(510)로부터 출력된 제어 신호를 기초로 제어 신호에 상응하는 개수의 메트릭 값들을 덧셈 연산 하고, 덧셈 연산이 수행된 메트릭 값들이 출력되도록 구성된다. 즉, 메트릭 값 덧셈부(530)는 제어 신호에 따라 두 개의 메트릭 값들을 덧셈 연산할 수 있고, 네 개의 메트릭 값들을 덧셈 연산할 수도 있다. 예컨대, ADC의 분해능과 제1 ADC의 분해능이 2-bit 차이가 나는 경우 일 예로, 메트릭 값들을 연산하는데 기초가 되는 ADC가 6-bit ADC이고, 제1 ADC가 4-bit ADC인 경우 메트릭 값 덧셈부(530)는 비교부(510)로부터 2-bit 차이에 대한 제어 신호를 수신하여 제어 신호에 상응하는 네 개의 메트릭 값들을 덧셈 연산하여 출력하게 된다.
이때, 메트릭 값 덧셈부(530)는 비교부(510)로부터 제어 신호를 수신하도록 구성되었지만, 비교부(510)로부터 제어 신호를 수신하지 않고 메트릭 값들을 수신하여 기 결정된 개수의 메트릭 값들의 덧셈 연산을 수행하도록 구성할 수도 있다.
멀티플렉서(520)는 비교부(510)로부터 출력된 제어 신호를 기초로 저장 수단에 저장되거나 논리회로로부터 출력된 메트릭 값들 및 메트릭 값 덧셈부(530)로부터 출력된 덧셈 연산이 수행된 메트릭 값들 중 어느 하나(A)를 출력하여 수신부로 제공한다.
즉, ADC의 분해능과 제1 ADC의 분해능이 동일한 경우 멀티플렉서(520)는 저장 수단에 저장되거나 논리회로로부터 출력된 메트릭 값들을 출력하고, ADC의 분해능과 제1 ADC의 분해능이 상이한 경우 멀티플렉서(520)는 덧셈 연산이 수행된 메트릭 값들을 출력한다.
만약, 메트릭 값 덧셈부(530)가 비교부(510)로부터 출력된 제어신호를 기초로 수신된 메트릭 값들을 출력하거나 덧셈 연산이 수행된 메트릭 값들을 출력할 수 있도록 구성된 경우에는 멀티플렉서(520)를 구비할 필요가 없다.
도 6은 본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법에 대한 동작 흐름도이다.
도 6을 참조하면, 메모리 셀의 읽기 레벨 제어 방법은 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신한다(S610).
이때, 메트릭 값들은 전압 레벨들, 기준 레벨들 및 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 기초로 연산될 수 있다.
이때, 메트릭 값들은 기준 레벨들 및 전압 레벨들 중 시작 전압들 각각에 상응하는 전압 레벨들과 시작 전압들 각각 사이의 차들을 기초로 연산될 수 있다.
이때, 메트릭 값들은 연산된 메트릭 값들이 저장된 저장 수단으로부터 수신될 수 있다.
이때, 메트릭 값들은 전압 레벨들 및 기준 레벨들을 기초로 메트릭 값들은 연산하여 출력하는 논리회로로부터 수신될 수 있다.
여기서, 전압 레벨들은 기 결정된 분해능을 갖는 ADC의 출력 레벨들로서, ADC는 메모리 셀의 데이터들을 구분하는 CPDF들 수를 기초로 ADC의 출력 레벨들 수가 기 결정된 값보다 작은 저 분해능(low-resolution) ADC이고, 저 분해능 ADC는 상술한 [수학식 1]를 만족하는 ADC이다.
이때, 메모리 셀은 플래쉬 메모리 셀을 포함할 수 있고, 플래쉬 메모리 셀은 MLC 방식의 메모리 셀 및 SLC 방식의 메모리 셀을 포함할 수 있다.
메트릭 값들이 수신되면 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들을 선택하고, 선택된 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성한다(S620, S630).
이때, 덧셈 값들은 수신된 메트릭 값들 중 수신 신호의 레벨들 및 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대해 생성될 수 있다.
여기서, 수신 신호의 레벨들에 상응하는 시작 전압들은 수신 신호의 레벨들을 ECC 디코딩하여 생성한다.
덧셈 값들이 생성되면 덧셈 값들 중 최대 값을 갖는 덧셈 값을 이용하여 기준 레벨을 선택한다(S640). 즉, 기준 레벨들 중 덧셈 값을 최대로 만드는 기준 레벨을 선택한다.
이때, 선택되는 기준 레벨은 기 결정된 수신 신호들의 개수를 주기로 업데이트될 수 있다.
이때, 선택되는 기준 레벨은 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 업데이트될 수 있다.
기준 레벨이 선택되면, 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어한다(S650).
이때, 메모리 셀의 읽기 레벨은 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들과 선택된 기준 레벨이 더해진 제어 값들에 의해 제어될 수 있다.
도 7은 본 발명의 다른 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 방법에 대한 동작 흐름도이다.
도 7을 참조하면, 메모리 셀의 읽기 레벨 제어 방법은 수신 신호의 레벨들을 기초로 업데이트용 메트릭 값들을 연산한다(S710).
이때, 업데이트용 메트릭 값들은 수신 신호의 레벨들 및 수신 신호의 레벨들이 ECC 디코딩에 의해 출력된 기준 레벨들을 기초로 연산될 수 있다.
업데이트용 메트릭 값들이 연산되면 업데이트용 메트릭 값들을 이용하여 메트릭 값들을 업데이트한다(S720).
예컨대, 메트릭 값들이 저장 수단에 저장되어 있는 경우 업데이트용 메트릭 값들을 저장 수단에 업데이트하여 저장 수단에 저장된 메트릭 값들을 업데이트한다.
이때, 저장 수단에 저장되어 있던 메트릭 값들은 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산되거나 전압 레벨들, 기준 레벨들 및 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 레벨들을 기초로 연산될 수 있다.
메트릭 값들이 업데이트되면 업데이트된 메트릭 값들을 수신하고, 수신된 업 데이트된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들을 선택하며 선택된 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대한 덧셈 값들을 생성한다(S730 내지 S750).
이때, 덧셈 값들은 수신된 업데이트된 메트릭 값들 중 수신 신호의 레벨들 및 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 기준 레벨들 각각에 대해 생성될 수 있다.
이때, 수신 신호의 레벨들에 상응하는 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들은 수신 신호의 레벨들이 ECC 디코딩되어 생성될 수 있다.
덧셈 값들이 생성되면 덧셈 값들 중 최대 값을 갖는 덧셈 값을 이용하여 기준 레벨을 선택한다(S760).
이때, 선택되는 기준 레벨은 기 결정된 수신 신호들의 개수를 주기로 업데이트될 수 있다.
이때, 선택되는 기준 레벨은 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 업데이트될 수 있다. 예컨대, 이전 주기까지의 수신 신호들 개수와 현재 주기의 수신 신호들 개수의 비율이 9:1인 경우 이전 주기까지의 덧셈 값들 및 현재 주기의 덧셈 값들에 각각 기 설정된 웨이트(weight) 예를 들어, 9:1의 웨이트를 곱한 후 덧셈 값이 최대가 되는 기준 레벨을 선택한다.
기준 레벨이 선택되면 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어한다(S770).
이때, 메모리 셀의 읽기 레벨은 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들과 선택된 기준 레벨이 더해진 제어 값들에 의해 제어될 수 있다.
도 8은 본 발명에 따른 메모리 셀의 읽기 레벨 제어 방법에서 메트릭 값들을 생성하는 과정에 대한 다른 일 예시도이다.
여기서, 도 8은 메트릭 값들을 연산하는데 기초가 되는 전압 레벨들에 상응하는 ADC의 분해능과 수신 신호의 레벨을 출력하는 제1 ADC의 분해능 차이로 인해 발생할 수 있는 문제를 해결하기 위한 것이다.
도 8을 참조하면, 메트릭 값들을 제공하기 위해 전압 레벨들 즉, ADC의 출력 레벨들 및 기준 레벨들을 기초로 메트릭 값들을 연산한다(S810).
이때, 연산된 메트릭 값들은 저장 수단에 저장될 수 있다.
연산된 메트릭 값들의 제공 여부를 판단하기 위해 ADC의 분해능 및 제1 ADC의 분해능을 비교하여 제1 ADC의 분해능이 ADC의 분해능보다 작은지 판단한다(S820).
단계 S820 판단 결과, 제1 ADC의 분해능이 ADC의 분해능보다 작지 않으면 즉, 제1 ADC의 분해능이 ADC의 분해능과 같으면 단계 S810에서 연산된 메트릭 값들을 제공한다(S850).
반면, 단계 S820 판단 결과, 제1 ADC의 분해능이 ADC의 분해능보다 작으면 제1 ADC의 분해능 및 ADC의 분해능 사이의 차를 기초로 단계 S810에서 연산된 메트릭 값들의 덧셈 연산을 수행하고(S830), 덧셈 연산이 수행된 메트릭 값들을 제공한다(S840).
본 발명에 따른 메모리 셀의 읽기 레벨 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 일 실시예에 따른 메모리 셀의 읽기 레벨 제어 장치 및 그 방법은, 최적의 읽기 레벨을 선택하여 메모리 셀로부터 읽혀진 데이터의 오류를 최소화할 수 있다.
또한, 본 발명은 메모리 셀로부터 읽혀진 데이터의 오류를 줄여 낮은 레벨의 데이터 오류 정정 기능을 사용하고, 전체적인 레이턴시를 줄일 수 있다.
또한, 본 발명은 메모리 셀로부터 읽혀진 데이터의 오류를 줄여 장치에 대한 내구성(endurance) 및 저장되어 있는 데이터의 지속성(retention)을 향상시킬 수 있다.

Claims (36)

  1. 기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신하는 단계;
    상기 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 단계;
    상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 단계; 및
    상기 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어하는 단계
    를 포함하는 메모리 셀의 읽기 레벨 제어 방법.
  2. 제1항에 있어서,
    상기 메모리 셀의 읽기 레벨을 제어하는 단계는
    상기 메모리 셀의 CPDF(Conditional Probability Density Function)들의 기 결정된 시작 전압들과 상기 선택된 기준 레벨이 더해진 제어 값들로 상기 메모리 셀의 읽기 레벨을 제어하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  3. 제1항에 있어서,
    상기 메트릭 값들은
    상기 전압 레벨들, 상기 기준 레벨들 및 상기 메모리 셀의 데이터들을 구분 하는 CPDF들의 기 결정된 시작 전압들을 기초로 연산되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  4. 제3항에 있어서,
    상기 메트릭 값들은
    상기 기준 레벨들 및 상기 전압 레벨들 중 상기 시작 전압들 각각에 상응하는 전압 레벨들과 상기 시작 전압들 각각 사이의 차들을 기초로 연산되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  5. 제3항에 있어서,
    상기 덧셈 값들을 생성하는 단계는
    상기 수신된 메트릭 값들 중 상기 수신 신호의 레벨들 및 상기 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  6. 제5항에 있어서,
    상기 수신 신호의 레벨들에 상응하는 시작 전압들은
    상기 수신 신호의 레벨들이 ECC(error control code) 디코딩(decoding)되어 생성되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  7. 제1항에 있어서,
    상기 메모리 셀의 읽기 레벨 제어 방법은
    기 결정된 수신 신호들의 개수를 주기로 상기 선택되는 기준 레벨을 업데이트하는 단계
    를 더 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  8. 제7항에 있어서,
    상기 선택되는 기준 레벨을 업데이트하는 단계는
    상기 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 상기 선택되는 기준 레벨을 업데이트하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  9. 제1항에 있어서,
    상기 전압 레벨들은
    기 결정된 분해능을 갖는 ADC의 출력 레벨들인 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  10. 제9항에 있어서,
    상기 ADC는
    상기 셀에 저장 가능한 비트 수를 기초로 상기 ADC의 출력 레벨들 수가 기 결정된 값보다 작은 저 분해능(low-resolution) ADC인 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  11. 제9항에 있어서,
    상기 메모리 셀의 읽기 레벨 제어 방법은
    상기 수신 신호의 레벨들을 출력하는 제1 ADC의 분해능과 상기 ADC의 분해능을 비교하는 단계; 및
    상기 제1 ADC의 분해능이 상기 ADC의 분해능보다 작으면 상기 제1 ADC의 분해능과 상기 ADC의 분해능 차이를 기초로 상기 메트릭 값들 중 기 결정된 메트릭 값들 별로 덧셈 연산을 수행하는 단계
    를 더 포함하고,
    상기 메트릭 값들을 수신하는 단계는
    상기 덧셈 연산이 수행된 메트릭 값들을 수신하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  12. 제1항에 있어서,
    상기 연산된 메트릭 값들을 수신하는 단계는
    상기 연산된 메트릭 값들이 저장된 저장 수단으로부터 상기 메트릭 값들을 수신하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  13. 제1항에 있어서,
    상기 메모리 셀은
    플래쉬 메모리 셀을 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  14. 제13항에 있어서,
    상기 메모리 셀은
    MLC(multi level cell) 방식의 메모리 셀을 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  15. 수신 신호의 레벨들 및 기준 레벨들을 기초로 업데이트용 메트릭 값들을 연산하는 단계;
    기 결정된 전압 레벨들 및 상기 기준 레벨들을 기초로 연산된 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 단계;
    상기 업데이트된 메트릭 값들을 수신하는 단계;
    상기 업데이트된 메트릭 값들 중 상기 수신 신호의 레벨들에 상응하는 업데이트된 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 단계;
    상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중 에서 선택하는 단계; 및
    상기 선택된 기준 레벨을 기초로 메모리 셀의 읽기 레벨을 제어하는 단계
    를 포함하는 메모리 셀의 읽기 레벨 제어 방법.
  16. 제15항에 있어서,
    상기 업데이트용 메트릭 값들을 연산하는 단계는
    상기 수신 신호의 레벨들, 상기 기준 레벨들 및 상기 수신 신호의 레벨들에 상응하는 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 기초로 상기 업데이트용 메트릭 값들을 연산하고,
    상기 업데이트하는 단계는
    상기 전압 레벨들, 상기 기준 레벨들 및 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 기초로 연산된 상기 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  17. 제16항에 있어서,
    상기 수신 신호의 레벨들에 상응하는 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들은
    상기 수신 신호의 레벨들이 ECC 디코딩되어 생성되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 방법.
  18. 제1항 내지 제17항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  19. 메모리 셀;
    기 결정된 전압 레벨들 및 기준 레벨들을 기초로 연산된 메트릭 값들을 수신하는 수신부;
    상기 수신된 메트릭 값들 중 수신 신호의 레벨들에 상응하는 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 덧셈 값 연산부;
    상기 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 선택부; 및
    상기 선택된 기준 레벨을 기초로 상기 메모리 셀의 읽기 레벨을 제어하는 제어부
    를 포함하는 메모리 셀의 읽기 레벨 제어 장치.
  20. 제19항에 있어서,
    상기 제어부는
    상기 메모리 셀의 데이터들을 구분하는 CPDF들의 기 결정된 시작 전압들과 상기 선택된 기준 레벨이 더해진 제어 값들로 상기 메모리 셀의 읽기 레벨을 제어 하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  21. 제19항에 있어서,
    상기 메트릭 값들은
    상기 전압 레벨들, 상기 기준 레벨들 및 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 기 결정된 시작 전압들을 기초로 연산되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  22. 제21항에 있어서,
    상기 메트릭 값들은
    상기 기준 레벨들 및 상기 전압 레벨들 중 상기 시작 전압들 각각에 상응하는 전압 레벨들과 상기 시작 전압들 각각 사이의 차들을 기초로 연산되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  23. 제21항에 있어서,
    상기 덧셈 값 연산부는
    상기 수신된 메트릭 값들 중 상기 수신 신호의 레벨들 및 상기 수신 신호의 레벨들에 상응하는 시작 전압들의 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  24. 제23항에 있어서,
    상기 수신 신호의 레벨들에 상응하는 시작 전압들은
    상기 수신 신호의 레벨들이 ECC(error control code) 디코딩(decoding)되어 생성되는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  25. 제19항에 있어서,
    상기 선택부는
    기 결정된 수신 신호들의 개수를 주기로 상기 선택되는 기준 레벨을 업데이트하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  26. 제25항에 있어서,
    상기 선택부는
    상기 기준 레벨들 각각에 대한 이전 주기까지의 덧셈 값들과 현재 주기의 덧셈 값들을 기초로 상기 선택되는 기준 레벨을 업데이트하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  27. 제19항에 있어서,
    상기 전압 레벨들은
    기 결정된 분해능을 갖는 ADC의 출력 레벨들인 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  28. 제27항에 있어서,
    상기 ADC는
    상기 메모리 셀의 데이터들을 구분하는 CPDF(Conditional Probability Density Function)들 수를 기초로 상기 ADC의 출력 레벨들 수가 기 결정된 값보다 작은 저 분해능(low-resolution) ADC인 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  29. 제27항에 있어서,
    상기 수신 신호의 레벨들을 출력하는 제1 ADC의 분해능과 상기 ADC의 분해능을 비교하는 비교부; 및
    상기 제1 ADC의 분해능이 상기 ADC의 분해능보다 작으면 상기 제1 ADC의 분해능과 상기 ADC의 분해능 차이를 기초로 상기 메트릭 값들 중 기 결정된 메트릭 값들 별로 덧셈 연산을 수행하는 메트릭 값 덧셈부
    를 더 포함하고,
    상기 수신부는
    상기 메트릭 값 덧셈부에 의해 덧셈 연산이 수행된 메트릭 값들을 수신하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  30. 제19항에 있어서,
    상기 수신부는
    상기 연산된 메트릭 값들이 저장된 저장 수단으로부터 상기 메트릭 값들을 수신하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  31. 제19항에 있어서,
    상기 메모리 셀은
    플래쉬 메모리 셀을 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  32. 제31항에 있어서,
    상기 메모리 셀은
    MLC(multi level cell) 방식의 메모리 셀을 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  33. 제31항에 있어서,
    상기 메모리 셀은
    SLC(single level cell) 방식의 메모리 셀을 포함하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  34. 메모리 셀;
    수신 신호의 레벨들 및 기준 레벨들을 기초로 업데이트용 메트릭 값들을 연산하는 업데이트 연산부;
    기 결정된 전압 레벨들 및 상기 기준 레벨들을 기초로 연산된 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 업데이트부;
    상기 업데이트된 메트릭 값들을 수신하는 수신부;
    상기 업데이트된 메트릭 값들 중 상기 수신 신호의 레벨들에 상응하는 업데이트된 메트릭 값들의 덧셈 연산을 수행하여 상기 기준 레벨들 각각에 대한 덧셈 값들을 생성하는 덧셈 값 연산부;
    상기 생성된 덧셈 값들 중 최대 값을 갖는 기준 레벨을 상기 기준 레벨들 중에서 선택하는 선택부; 및
    상기 선택된 기준 레벨을 기초로 상기 메모리 셀의 읽기 레벨을 제어하는 제어부
    를 포함하는 메모리 셀의 읽기 레벨 제어 장치.
  35. 제34항에 있어서,
    상기 업데이트 연산부는
    상기 수신 신호의 레벨들, 상기 기준 레벨들 및 상기 수신 신호의 레벨들에 상응하는 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 기초로 상기 업데이트용 메트릭 값들을 연산하고,
    상기 업데이트부는
    상기 전압 레벨들, 상기 기준 레벨들 및 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 기초로 연산된 상기 메트릭 값들을 상기 업데이트용 메트릭 값들을 이용하여 업데이트하는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
  36. 제35항에 있어서,
    상기 업데이트 연산부는
    상기 수신 신호의 레벨들이 ECC 디코딩되어 생성된 상기 수신 신호의 레벨들에 상응하는 상기 메모리 셀의 데이터들을 구분하는 CPDF들의 시작 전압들을 입력받는 것을 특징으로 하는 메모리 셀의 읽기 레벨 제어 장치.
KR1020070060451A 2007-06-20 2007-06-20 메모리 셀의 읽기 레벨 제어 장치 및 그 방법 KR100838292B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070060451A KR100838292B1 (ko) 2007-06-20 2007-06-20 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
US12/003,545 US7835209B2 (en) 2007-06-20 2007-12-28 Method and apparatus for controlling reading level of memory cell
JP2010513092A JP5457339B2 (ja) 2007-06-20 2008-01-09 メモリセルの読み取りレベル制御装置およびその方法
PCT/KR2008/000128 WO2008156238A1 (en) 2007-06-20 2008-01-09 Method and apparatus for controlling reading level of memory cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070060451A KR100838292B1 (ko) 2007-06-20 2007-06-20 메모리 셀의 읽기 레벨 제어 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR100838292B1 true KR100838292B1 (ko) 2008-06-17

Family

ID=39771414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070060451A KR100838292B1 (ko) 2007-06-20 2007-06-20 메모리 셀의 읽기 레벨 제어 장치 및 그 방법

Country Status (4)

Country Link
US (1) US7835209B2 (ko)
JP (1) JP5457339B2 (ko)
KR (1) KR100838292B1 (ko)
WO (1) WO2008156238A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
KR101214509B1 (ko) * 2007-05-17 2012-12-24 삼성전자주식회사 연판정 값 생성 장치 및 그 방법
JP5590620B2 (ja) * 2008-09-30 2014-09-17 エルエスアイ コーポレーション メモリ・デバイスの軟データ生成の方法および装置
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR102050475B1 (ko) 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9548107B1 (en) * 2015-07-09 2017-01-17 Kabushiki Kaisha Toshiba Semiconductor memory device
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253123A (ja) * 1990-03-02 1991-11-12 Kokusai Denshin Denwa Co Ltd <Kdd> 誤り訂正符号の復号方法
JPH04177917A (ja) * 1990-11-09 1992-06-25 Matsushita Electric Ind Co Ltd 誤り訂正復号装置
JPH08263942A (ja) * 1995-01-23 1996-10-11 Pioneer Electron Corp デジタルデータ信号再生装置
KR20060088019A (ko) * 2005-01-31 2006-08-03 가부시끼가이샤 도시바 정보 기록 재생 장치 및 정보 기록 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862457B1 (en) 2000-06-21 2005-03-01 Qualcomm Incorporated Method and apparatus for adaptive reverse link power control using mobility profiles
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
EP1622277A1 (en) 2004-07-28 2006-02-01 Alcatel Enhanced Viterbi equalizer and algorithm
GB2422923B (en) * 2005-02-03 2008-10-29 Hewlett Packard Development Co Diagnosis of a data read system
US20060285852A1 (en) 2005-06-21 2006-12-21 Wenze Xi Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems
JP4999921B2 (ja) * 2006-05-12 2012-08-15 アノビット テクノロジーズ リミテッド メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
US7865797B2 (en) * 2006-11-16 2011-01-04 Freescale Semiconductor, Inc. Memory device with adjustable read reference based on ECC and method thereof
US7564716B2 (en) * 2006-11-16 2009-07-21 Freescale Semiconductor, Inc. Memory device with retained indicator of read reference level
KR101214509B1 (ko) * 2007-05-17 2012-12-24 삼성전자주식회사 연판정 값 생성 장치 및 그 방법
KR101425020B1 (ko) * 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253123A (ja) * 1990-03-02 1991-11-12 Kokusai Denshin Denwa Co Ltd <Kdd> 誤り訂正符号の復号方法
JPH04177917A (ja) * 1990-11-09 1992-06-25 Matsushita Electric Ind Co Ltd 誤り訂正復号装置
JPH08263942A (ja) * 1995-01-23 1996-10-11 Pioneer Electron Corp デジタルデータ信号再生装置
KR20060088019A (ko) * 2005-01-31 2006-08-03 가부시끼가이샤 도시바 정보 기록 재생 장치 및 정보 기록 방법

Also Published As

Publication number Publication date
US20080320064A1 (en) 2008-12-25
US7835209B2 (en) 2010-11-16
JP5457339B2 (ja) 2014-04-02
WO2008156238A1 (en) 2008-12-24
JP2010530592A (ja) 2010-09-09

Similar Documents

Publication Publication Date Title
KR100838292B1 (ko) 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
CN107068187B (zh) 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作
US9367389B2 (en) Recovery strategy that reduces errors misidentified as reliable
JP6556423B2 (ja) 読み取り電圧適応のための補償ループ
KR20090075101A (ko) 메모리 장치 및 오류 제어 코드 디코딩 방법
KR101413137B1 (ko) 메모리 장치 및 메모리 프로그래밍 방법
US9015554B2 (en) Management of non-valid decision patterns of a soft read retry operation
JP2017084436A (ja) 装置、有形のマシン読取可能な記録可能な記憶媒体、および方法
US8112693B2 (en) Error control code apparatuses and methods of using the same
JP5524869B2 (ja) メモリセルに格納されるデータのビット数を決定する装置
US8230157B2 (en) Memory device and method of multi-bit programming
KR20090036357A (ko) 멀티 비트 프로그래밍 장치 및 방법
KR20090122063A (ko) 메모리 장치 및 데이터 비트 저장 방법
US20140233322A1 (en) Adaptive architecture in a channel detector for nand flash channels
US8832525B2 (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
JP5295225B2 (ja) 軟判定値生成装置およびその方法
KR101267798B1 (ko) 읽기 레벨 제어 장치 및 그 방법
KR20080107921A (ko) 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
US9582361B2 (en) Fixed point conversion of LLR values based on correlation
US9224479B1 (en) Threshold voltage adjustment in solid state memory
JP5385261B2 (ja) データ読取装置およびその方法
CN117453448A (zh) 存储器装置、纠错装置及其纠错方法
JP6266193B2 (ja) データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法
US11811427B2 (en) Information processing apparatus, method of processing information, and non-transitory computer-readable storage medium for storing information processing program
KR102247164B1 (ko) 채널 복호기의 동작과 결합한 플래시 메모리 읽기 방법 및 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160531

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 12