KR20070083943A - 메모리 셀 관리 방법 및 메모리 장치 - Google Patents

메모리 셀 관리 방법 및 메모리 장치 Download PDF

Info

Publication number
KR20070083943A
KR20070083943A KR1020077010084A KR20077010084A KR20070083943A KR 20070083943 A KR20070083943 A KR 20070083943A KR 1020077010084 A KR1020077010084 A KR 1020077010084A KR 20077010084 A KR20077010084 A KR 20077010084A KR 20070083943 A KR20070083943 A KR 20070083943A
Authority
KR
South Korea
Prior art keywords
memory cells
cells
manage
value
cell
Prior art date
Application number
KR1020077010084A
Other languages
English (en)
Other versions
KR100946431B1 (ko
Inventor
메이어 아브라함
아미르 로넨
Original Assignee
엠시스템스 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠시스템스 리미티드 filed Critical 엠시스템스 리미티드
Publication of KR20070083943A publication Critical patent/KR20070083943A/ko
Application granted granted Critical
Publication of KR100946431B1 publication Critical patent/KR100946431B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/10Programming or data input 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

  • Read Only Memory (AREA)

Abstract

복수의 메모리 셀은 셀들의 하나 이상의 환경 변수의 값을 획득하고, 그에 따라 셀들의 하나 이상의 기준 전압의 값을 조정함으로써 관리된다. 이와 달리, 셀들의 제어 변수에 대응하는 단일 기준 변수에 대한 셀들 중 적어도 일부의 통계치가 측정되고, 그에 따라 기준 전압의 값이 조정된다. 환경 변수의 예는 프로그램 소거 사이클 수, 데이터 보존 시간 및 온도를 포함한다. 기준 전압의 예는 기준 전압 및 프로그램 확인 기준 전압을 포함한다. 통계치의 예는 임계 전압이 최초 하한 또는 최초 중간을 초과하는 셀의 부분들을 포함한다.
데이터 보존 시간, 프로그램 소거 사이클

Description

메모리 셀 관리 방법 및 메모리 장치{DRIFT COMPENSATION IN A FLASH MEMORY}
본 발명은 비휘발성 메모리의 관리에 관한 것으로, 보다 구체적으로는 저장된 데이터의 물리적 표시가 시간이 경과함에 따라 이동하는 경향이 있는 플래시 메모리와 같은 메모리를 관리하는 방법에 관한 것이다.
도 1은 플래시 메모리와 같은 전기적으로 프로그램가능한 메모리(EPROM; electrically programmable memory)의 셀 내에 0 비트 또는 1 비트와 같은 하나의 비트를 저장하는 것을 도시하고 있다. 통상적으로, EPROM에 데이터를 저장하는 프로세스를 EPROM을 "프로그래밍"한다고 한다. 구체적으로는, 도 1의 주체인 셀은 1 비트의 데이터를 저장하며, 따라서 일반적으로 SLC(single-level cell)라고 한다. 처음에는, 셀이 1 비트를 나타내는 공칭 임계 전압(V1)을 갖는다. 예를 들면, 플래시 메모리의 블록이 소거된 후에, 모든 셀은 공칭 임계 전압(V1)을 갖는다. 셀의 초기화에서 부정확성을 피할 수 없기 때문에, 실제 임계 전압은 분포 곡선(10)에 따라서 공칭 임계 전압(V1) 주위에 분포된다. 그 후, 셀의 실리콘 기판으로부터 셀의 산화물층을 통해 셀의 플로팅 게이트로 전자를 주입하기 위해, 0 비트를 나타내는 기준 "프로그램 확인(program verify)" 임계 전압(V0)을 셀의 임계 전압이 초과할 때까지, 0 비트를 저장하는 각각의 셀에 일련의 프로그래밍 전압 펄스가 인가된다. 전자들은 양자 기계적 터널링 또는 고온 주입(hot injection)에 의해 산화물층을 통해 이동하고, 셀의 구조물 내에서 비균일하고, 최초 임계 전압이 분포 곡선(10)에 따라 분포되기 때문에, 0 비트를 저장하는 셀의 임계 전압은 분포 곡선(12)에 따라 V0 보다 높게 분포된다.
셀은 셀의 임계 전압을 분포 곡선(10)보다는 높지만 V0보다 낮은 기준 "판독" 임계 전압(VR)과 비교하여 판독된다. 만약 셀의 임계 전압이 VR보다 낮으면, 셀의 내용은 1 비트로 판독된다. 만약 셀의 임계 전압이 VR 이상이면, 셀의 내용은 0 비트로 판독된다.
플래시 메모리 셀의 판독 정확도에 영향을 주어 플래시 메모리 셀에 의한 데이터 저장의 신뢰도에 영향을 미치는 여러 요인들이 있다. 그 중 두 가지 가장 중요한 요인은 데이터 보존 시간 및 프로그램/소거(P/E) 사이클 이력이다.
1. 데이터 보존 시간(Data Retention Time)
시간의 경과에 따라, 0 비트를 저장하는 셀의 임계 전압은 아래로 이동하는 경향이 있다. 도 1에 점선으로 도시된 바와 같이, 분포 곡선(14)은 상당한 시간이 경과한 후에 0 비트를 저장하도록 프로그램된 셀의 임계 전압의 분포를 나타낸다. V1, VR, V0는 이 임계 전압의 이동에도 불구하고 플래시 메모리의 신뢰도를 유지하기 위해 충분히 멀리 떨어지도록 선택된다.
플래시 메모리 설계자의 하나의 목표는 데이터를 저장하는 비트당 비용을 감소시키는 것이다. 이것은 두 가지 방법으로 달성된다. 첫 번째 방법은 보다 많은 셀을 동일한 반도체 영역 내에 채워넣는 제조 프로세스를 이용하는 것이다. 두 번째 방법은 셀당 1비트보다 많이 저장하는 MLC(multi-level cell)를 사용하는 것이다. 비용을 줄이기 위한 두 방법 모두 데이터의 보존 시간을 감소시킨다. 예를 들면, SLC의 두 개의 전압 밴드(VR의 위와 아래) 대신에, n 비트를 저장하기 위해 2n 개의 전압 밴드를 정의함으로써 MLC에 다수의 비트가 저장된다. MLC의 전압 밴드들은 그에 상당하는 SLC의 전압 밴드들보다 서로 더 가까이 있기 때문에, 하나 이상의 0 비트를 저장하도록 프로그램된 MLC의 임계 전압은 그에 상당하는 SLC의 임계 전압이 VR 아래로 이동하는 것보다 더 빨리 다음 밴드로 하향 이동한다.
2. P/E 사이클 이력(P/E Cycle History)
플래시 메모리 셀의 프로그램된 블록은 그 셀들 중 어느 하나가 다시 프로그램될 수 있기 전에 소거되어야 한다. 플래시 셀로 이루어진 블록의 셀들에서 지시된 프로그래밍 동작 시퀀스와 그 후의 블록의 소거를 프로그램-소거(P/E; program-erase) 사이클이라 한다.
플래시 셀의 블록은 그것이 감당할 수 있는 P/E 사이클이 얼마나 많이 있는 지에 대해 제한된다. 만약, P/E 사이클의 수가 소정의 상한을 초과하면, 셀이 정확하게 판독될 수 있다고 보장할 수 없다. 심지어 에러 정정 비트의 부가와 같은 에러 정정 절차를 이용하는 경우에도 여전히 어떠한 에러 정정 절차에 있어서도, 에러 정정 절차의 신뢰도를 보장할 수 없는 P/E 사이클의 최대 수가 존재한다. 통상은, SLC NAND 플래시 메모리의 각 블록이 100,000 회의 P/E 사이클에 견디는 것으로 기대되며, MLC NAND 플래시 메모리의 각 블록은 10,000 회의 P/E 사이클에 견디는 것으로 기대된다.
데이터 보존 시간 및 P/E 사이클 이력은 상호의존적이다. 많은 P/E 사이클을 감당한 플래시 셀의 블록은 임계 전압이 보다 빨리 이동하는 경향을 가지며, 따라서 P/E 사이클을 적게 감당한 플래시 셀의 블록보다 더 짧은 데이터 보존 시간을 갖는 경향이 있다.
플래시 메모리 셀에서 데이터 저장의 신뢰도에 영향을 미치는 다른 요인들로는 다음과 같은 요소들이 있다.
- 프로그램 교란(Program Disturb) : 인접 셀의 프로그래밍으로 인한 셀에 대한 영향
- 온도 : 플래시 메모리가 저장될 때의 온도와 플래시 메모리가 판독될 때의 온도.
따라서, 이들 요인을 보상하는 방식으로 플래시 메모리와 같은 비휘발성 메모리를 관리하는 방법이 필요하다고 널리 인식되고 있으며, 이러한 방법이 매우 유익할 것이다.
본 발명에 따르면, 복수의 메모리 셀을 관리하는 방법에 있어서, (a) 복수의 메모리 셀 중 적어도 하나의 환경 변수(environmental parameter)의 각 값을 획득하는 단계와, (b) 적어도 하나의 획득된 값에 따라 상기 복수의 메모리 셀의 적어도 하나의 기준 전압의 각 값을 조정하는 단계를 포함하는 메모리 셀 관리 방법이 제공된다.
본 발명에 따르면, 메모리 장치에 있어서, (a) 복수의 메모리 셀과, (b) (i) 상기 복수의 메모리 셀의 적어도 하나의 환경 변수의 각 값을 획득하고, (ii) 적어도 하나의 획득된 값에 따라 상기 복수의 메모리 셀의 적어도 하나의 기준 전압의 각 값을 조정함으로써, 상기 복수의 메모리 셀을 관리하도록 동작하는 제어기를 포함하는 메모리 장치가 제공된다.
본 발명에 따르면, 복수의 메모리 셀을 관리하는 방법에 있어서, (a) 상기 복수의 메모리 셀의 기준 전압의 단일의 각 기준 변수에 대해 상기 메모리 셀 중 적어도 일부의 통계치를 측정하는 단계와, (b) 측정된 통계치에 따라 상기 기준 전압의 각 값을 조정하는 단계를 포함하는 메모리 셀 관리 방법이 제공된다.
본 발명에 따르면, 메모리 장치에 있어서, (a) 복수의 메모리 셀과, (b) (i) 상기 복수의 메모리 셀의 기준 전압의 단일의 각 기준 변수에 대해 상기 메모리 셀 중 적어도 일부의 통계치를 측정하고, (ii) 측정된 통계치에 따라 상기 기준 전압의 각 값을 조정함으로써, 상기 복수의 메모리 셀을 관리하도록 동작하는 제어기를 포함하는 메모리 장치가 제공된다.
본 발명의 방법은 예를 들어 플레시 셀의 블록 또는 페이지와 같은 복수의 메모리 셀을 관리하는 방법이다.
본 발명의 제 1 방법에 따르면, 셀의 하나 이상의 환경 변수의 각 값이 획득되고 셀의 하나 이상의 기준 전압의 각 값이 그에 따라 조정된다. 환경 변수의 예는 셀의 프로그램 소거 사이클 횟수(이것에 대응하는 값은 셀들이 감당하는 프로그램 소거 사이클의 수이다)와 같은 이력 변수, 셀의 데이터 보존 시간 및 셀의 온도를 포함한다. 환경 변수의 값을 획득하는 방법은 변수의 특성에 달려 있다. 예를 들면, 프로그램 소거 사이클 횟수의 값은 프로그램 소거 사이클을 계수함으로써 획득되고, 온도의 값은 온도를 측정함으로써 획득된다. 기준 전압의 예로는 판독 기준 전압 및 프로그램 확인 기준 전압이 있다.
제 1 방법의 중요한 바람직한 일실시예는 각 임계 전압 밴드의 복수의 기준 전압의 각 값이 조정된다는 것이다. 각각의 기준 전압의 값은 대응하는 임계 전압 밴드에 특유한 방식으로 조정된다.
본 발명의 제 2 방법에 따르면, 셀들 중 적어도 일부의 통계치가 셀들의 기준 전압에 대응하는 단일 기준 변수에 대해 측정된다. 그 다음에 기준 전압의 값이 대응하는 측정된 통계치에 따라 조정된다. 기준 전압의 예로는 판독 기준 전압 및 프로그램 확인 기준 전압이 있다. 통계치의 예로는, 예를 들어 최초 분포의 하한 또는 최초 분포의 중간과 같은 임계 전압의 최초 분포와 관련되는 기준 변수에 대한 임계 전압의 통계치가 있다.
바람직하게는, 본 발명의 제 2 방법은 또한 데이터를 저장하도록 셀을 프로그래밍하는 것을 포함한다. 보다 바람직하게는, 통계치의 측정이 사전에 정해진 대기 시간만큼 프로그래밍에 대해 지연된다. 또한 보다 바람직하게는, 본 발명의 제 2 방법은 그 통계치가 데이터에 따라서 측정되는 셀을 선택하는 것을 포함한다. 가장 바람직하게는, 이 선택이 셀로부터 데이터를 판독하는 것을 포함하고, 상기 판독 및 측정을 반복하여 셀을 선택한다.
선택적으로는, 통계치는 모든 셀들에 대해 측정된다.
본 발명의 범위는 또한 메모리 장치로 확장된다. 본 발명의 메모리 장치는 복수의 메모리 셀 및 본 발명의 방법에 따라 셀을 관리하는 제어기를 포함한다.
Harari 등의 미국 특허 제5,270,979호는 플래시 메모리의 셀에 인가되는 전압의 값을 조정하여 이들 셀을 소거하는 유사한 방법을 개시하고 있다. Ronen의 미국 특허 출원 제2005/0024978호는 플래시 메모리의 셀에 인가되는 전압의 값을 조정하여 이들 셀을 프로그램하는 유사한 방법을 개시하고 있다. 그러나, Harari 등의 방법이 1993년에 공개되었지만, 본 명세서에서 개시하는 기준 전압의 값을 조정하는 것은 알려진 바가 없다.
도 1(종래 기술)은 SLC 플래시 셀에 하나의 비트를 저장하는 것을 도시한 도면.
도 2는 SLC 플래시 메모리의 판독 임계치에 적용된 본 발명의 방법을 도시한 도면.
도 3은 SLC 플래시 메모리의 프로그램 확인 임계치에 적용된 본 발명의 방법 을 도시한 도면.
도 4는 본 발명의 제 2 아프리오리 폐 루프(a priori closed loop) 방법에 의해 처리된 문제를 도시한 도면.
도 5는 본 발명의 플래시 메모리 장치의 고 레벨의 개략적인 블록도.
이하에서는, 첨부 도면을 참고하여 예를 통해 본 발명을 설명한다.
본 발명은 셀의 내용의 판독에서 에러를 유발하는 전술한 요인들에도 불구하고 셀의 내용이 정확하게 판독되도록 복수의 메모리 셀을 관리하는 방법에 관한 것이다. 구체적으로는, 본 발명은 플래시 메모리 장치의 사용 수명을 연장하는데 이용될 수 있다.
본 발명에 따른 메모리 셀 관리의 원리 및 동작은 도면 및 이하의 상세한 설명을 참조하면 보다 잘 이해할 수 있을 것이다.
본 발명은 플래시 메모리 장치의 관리에 대하여 기술한다. 본 명세서에 개시된 설명은 설명의 단순화를 위해 SLC 플래시 메모리 장치에 중점을 두지만, MLC 플래시 메모리 장치에도 동등하게 적용될 수 있다. 실제로, 본 발명은 SLC 플래시 메모리 장치보다 MLC 플래시 메모리 장치에서 더 중요한데, MLC 플래시 메모리 장치가 SLC플래시 메모리 장치보다 임계 전압 이동에 더 민감하기 때문이다. 또한, 본 명세서에 개시된 본 발명의 바람직한 실시예는 플래시 메모리 장치의 관리를 위한 것이지만, 본 발명은 다른 비휘발성 메모리 장치의 관리 또는 메모리 장치의 관리에 일반적으로 적용할 수도 있다.
본 발명의 일반적인 사상은 메모리의 하나 이상의 기준 전압의 값을 조정하여 메모리의 셀의 내용을 부정확하거나 신뢰할 수 없게 판독하게 만드는 요인들을 보상하는 것이다. 이러한 기준 전압의 예로서, SLC 플래시 메모리의 경우에는, 판독 임계 전압(VR), 프로그램 확인 임계 전압(V0)이 있고, MLC 플래시 메모리의 경우에는 최저 전압 밴드 위의 전압 밴드의 각각의 판독 임계 전압 및 프로그램 확인 임계 전압이 있다.
도면을 참고하면, 도 2는 SLC 플래시 메모리의 판독 임계 전압(VR)에 적용된 본 발명의 일반적인 사상을 도시하고 있다. 만약 0 비트를 저장하도록 프로그램된 셀의 임계 전압의 분포 곡선이 곡선(12)으로부터 곡선(14)으로 이동하면, 판독 임계 전압으로서 사용되는 임계 전압은 그에 따라 VR로부터 VR'으로 낮아진다. 도 3은 SLC 플래시 메모리의 프로그램 확인 임계치에 적용된 본 발명의 일반적인 사상을 도시한 것이다. 만약 셀의 임계 전압을 V0보다 높게 하여, 0 비트를 저장하도록 프로그램되는 셀의 임계 전압의 분포 곡선이 도 1의 곡선(12)으로부터 도 1의 곡선(14)으로 이동하면, 도 1의 곡선(12)보다는 곡선(16)에 따라 임계 전압의 최초 분포를 형성하기 위해 보다 높은 전압(V0')이 프로그램 확인 임계 전압에 사용되며, 따라서 임계 전압이 분포 곡선(18)으로 이동한 후에, 가장 낮은 임계 전압이 적어도 V0만큼 되고, VR은 여전히 유효 판독 임계 전압 값이 될 것이다. 분포 곡선(18)은 분포 곡선(12)과 거의 동일하다.
본 발명은 기준 전압의 값을 설정하기 위해 임계 전압의 이동을 평가하는 두 가지 일반적인 방법, 즉 개 루프(open loop) 방법 및 폐 루프 방법을 포함한다.
개 루프(Open Loop)
개 루프 방법에 따르면, 메모리 장치의 기준 전압에 사용하는 적절한 값은 입력이 "환경 변수(environmental parameters)"의 값인 실험 모델에 따라서 평가된다. 이들 환경 변수는 장치 내에서의 데이터 저장의 신뢰도에 영향을 미치는 전술한 요인이다. 이들 환경 변수들 중 일부는 메모리 장치의 이력을 반영하는 이력 변수이다. 예를 들면, 플래시 셀의 블록이 프로그램된 때부터의 시간 및 그 블록의 P/E 사이클의 수가 환경 변수 "데이터 보존 시간" 및 "P/E 사이클 횟수"의 값이 된다. 현재의 온도와 같은 다른 환경 변수들은 현재의 상태와 관련된 변수들이다.
개념적으로, 개 루프 모델은 다음과 같다.
Next_value = f(Present_value, {Pi})
여기서, Present_value는 현재 사용된 기준 전압의 값이고, New_value는 이 모델에 의해 예측되는 개선된 기준 전압의 값이며, {Pi}는 환경 변수의 값의 세트이다. 가장 간단한 이러한 모델은 선형 모델이다. 이러한 단순화 모델은 종종 적절하다.
예 1: P/E 사이클의 수에 의존하지만 데이터 보존 시간에는 의존하지 않는 모델
이 모델은 P/E 사이클의 수에서 선형이다. MLC 플래시 메모리 장치의 블록에 대해, 이 모델은 다음과 같다.
Estimated_drift = P/E_coefficient*Band_number_coefficient*P/E_count + P/E_initial_offset
여기서, P/E_coefficient는 MLC의 모든 임계 전압 밴드에 적용되는 실험적으로 결정된 계수이고, Band_number_coefficient는 특정 임계 전압 밴드(보다 높은 전압 밴드는 보다 낮은 전압 밴드보다 시간이 경과함에 따라 더 많이 이동할 것으로 기대된다)에 적용되는 실험적으로 결정된 계수이며, P/E_count는 블록이 감당하는 P/E 사이클의 수이고, P/E_initial_offset은 실험적으로 결정된 상수 오프셋이며, Estimated_drift는 밴드의 임계 전압 분포의 낮은 단부가 하향 이동한 평가량이다. 예를 들어, P/E_coefficient가 실험적으로 1.6×10-5 V/cycle로 결정되고, 특정 밴드에 대한 Band_number_coefficient가 실험적으로 0.8로 결정되고, P/E_initial_offset이 실험적으로 0.1V로 결정되면, 30,000 P/E 사이클(P/E_count=30,000)을 감당한 MLC 블록에 대해, Estimated_drift는 0.484V이다. 밴드의 판독 임계 전압이 0.484V 낮아지거나 또는 밴드의 프로그램 확인 임계치가 0.484V 상승한다.
SLC 플래시 메모리 장치의 블록에 대한 모델은 Band_number_coefficient가 P/E_coefficient로 폴딩된다는 점을 제외하고는 유사하다. 예를 들어, P/E_coefficient가 실험적으로 1.28×10-5 V/cycle로 결정되고, P/E_initial_offset 이 실험적으로 0.1V로 결정되면, 30,000 P/E 사이클을 감당한 SLC 블록에 대해, Estimated_drift는 0.484V가 된다. VR의 값이 0.484V 낮아지거나 또는 V0의 값이 0.484V 상승한다.
예 2: 데이터 보존 시간에 의존하지만 P/E 사이클의 수에는 의존하지 않는 모델
이 모델은 데이터 보존 시간에 선형이다. MLC NAND 플래시 메모리 장치의 페이지에 대해, 이 모델은 다음과 같다.
Estimated_drift =
Data_retention_cofficient*Band_number_coefficient*Time_since_programmed +Data_retention_initial_offset
여기서, Data_retention_coefficient는 MLC의 모든 임계 전압 밴드에 적용되는 실험적으로 결정된 계수이고, Band_number_coefficient는 특정 임계 전압 밴드에 적용되는 실험적으로 결정된 계수이며, Time_since_programmed는 페이지가 프로그램된 이래로 경과한 시간이고, Data_retention_initial_offset은 실험적으로 결정된 상수 오프셋이며, Estimated_drift는 밴드의 임계 전압 분포의 낮은 단부가 하향 이동한 평가량이다. 예를 들어, Data_retention_coefficient가 실험적으로 0.08V/yr로 결정되고, 특정 밴드에 대한 Band_number_coefficient가 실험적으로 1.0으로 결정되고, Data_retention_initial_offset이 실험적으로 0.1V로 결정되면, 5년 전에 마지막으로 프로그램된 MLC 페이지에 대해, Estimated_drift는 0.5V이다. 밴드의 판독 임계 전압이 0.5V 낮아지거나 또는 밴드의 프로그램 확인 임계치가 0.5V 상승한다.
SLC NAND 플래시 메모리 장치의 페이지에 대한 모델은 Band_number_coefficient가 Data_retention_coefficient로 폴딩된다는 점을 제외하고는 유사하다. 예를 들어, Data_retention_coefficient가 실험적으로 0.08V/yr로 결정되고, Data_retention_initial_offset이 실험적으로 0.1V로 결정되면, 5년 전에 마지막으로 프로그램된 SLC 페이지에 대해, Estimated_drift는 0.5V가 된다. VR의 값이 0.5V 낮아지거나 또는 V0의 값이 0.5V 상승한다.
폐 루프(Closed Loop)
개 루프 계수 및 오프셋은 높은 밀도의 플래시 셀에 대해 수집된 통계적 측정치로부터 실험적으로 결정된다. 상이한 플래시 장치들 및 동일한 플래시 장치 내의 상이한 블록들 또는 페이지들 사이에 변화가 있기 때문에, 개 루프 방법은 이러한 변화를 고려한 빌트인 안전 마진(built-in safety margin)을 요구한다. 이 개 루프 방법이 메모리 셀의 특정 세트의 속성보다는 전체 통계적 데이터에 기초한다는 것은 개 루프 방법이 메모리 장치의 성능을 향상시킬 수 있는 범위를 제한한다.
본 발명의 폐 루프 방법은 요구된 안전 마진을 최소화하고 보다 최적화된 임계 값을 획득한다. 이동량은 이 방법이 적용되는 각 셀의 그룹(예를 들면, 페이지 또는 블록)에 대해 별도로 측정되며, 따라서 상이한 집적 회로 다이들 사이 및 동일 다이 상의 상이한 블록들 또는 페이지들 사이에 변화를 설명한다.
플래시 메모리의 관리에 적용되는 본 발명의 바람직한 폐 루프 방법은 셀의 그룹(예를 들면, 블록 또는 페이지)의 임계 전압을 단일의 기준 임계 전압(SLC 장치의 경우) 또는 최저 밴드 위의 각각의 임계 전압에 대한 단일 기준 임계 전압(MLC 장치의 경우)과 비교함으로써 이동량을 평가한다. 이들 비교는 통계치를 제공하는데, 이로부터 "0 비트" 임계 전압(SLC 장치의 경우)의 이동 또는 최저 밴드 위의 임계 전압 밴드의 개별 이동(MLC 장치의 경우)이 평가된다.
본 발명은 두 종류의 폐 루프 방법, 즉 아포스티오리(a postiori) 방법 및 아프리오리(a priori) 방법을 포함한다. 아포스티오리 방법은 그룹(블록 또는 페이지)의 모든 셀의 임계 전압을 모든 기준 임계 전압과 비교한다. 아프리오리 방법은 선택된 셀의 임계 전압을 단일의 대응하는 기준 임계 전압과 비교한다.
SLC 장치의 경우의 아포스티오리 방법을 설명하기 위해 도 2를 다시 참고하면, 이 방법은 셀의 그룹(블록 또는 페이지)이 프로그램될 때 선택된 기준 임계 전압에 대한 셀의 임계 전압 분포의 통계치를 알 수 있다는 생각에 기초한다. 예를 들면, V0이 0 비트를 저장하도록 프로그램되는 셀의 임계 전압의 하한이고 0 비트를 저장하도록 프로그램되는 셀의 절반이 최초 분포(12)의 중간 임계 전압(VM)보다 더 높은 임계 전압을 갖는다는 것은 아프리오리로 알 수 있다. 셀의 절반이 1 비트를 저장하도록 프로그램되고, 셀의 절반은 0 비트를 저장하도록 프로그램된다고 가정 하고, 또한 임계 전압 분포의 형상에 대한 가정이 주어지면, 셀의 임계 전압과 V0 또는 VM의 비교의 통계치로부터 이동을 평가할 수 있다. 임계 전압의 절반 미만이 V0보다 위에 있거나 또는 임계 전압의 1/4 미만이 VM보다 위에 있는 범위(extent)는 이동의 범위를 나타낸다. 예를 들어, SLC 셀의 그룹(페이지 또는 블록)의 0 비트 임계 전압 분포가 처음에 정규 분포(Gaussian)이고 이를 유지한다고 가정하고, 이 분포의 표준 편차가 변하지 않는다고 가정하면, 장기간 후(예를 들면, 3년 후)에 이 그룹이 프로그램되면, 임계 전압의 15%는 여전히 VM 위에 있는데, 이것은 "0 비트" 임계 전압의 30%는 여전히 VM 위에 있고, "0 비트" 임계 전압 분포는 0.52의 표준 편차로 하향이동한다는 것을 나타낸다. 개 루프 방법에서와 같이, 판독 임계 전압(VR) 또는 프로그램 확인 임계 전압(V0)은 그에 따라 조정된다.
MLC 셀의 그룹(예를 들면, 페이지 또는 블록)은 최저 밴드 위에 임계 전압 밴드가 있는 만큼 많은 기준 임계 전압이 있다는 점을 제외하면 유사하게 처리된다. 예를 들면, 하나의 적절한 기준 임계 전압 세트는 SLC 경우의 VM의 사용과 유사한 최저 밴드 위의 임계 전압 밴드의 최초 중간 임계 전압들이다.
유사한 방법들이 Guterman 등의 미국 특허 제6,751,766호 및 Ban의 미국 공개 특허출원 제2005/0013165호에 개시되어 있다. 하지만, 이들 방법들은 셀의 임계 전압과 하나 이상의 기준 임계 전압(SLC) 또는 최저 밴드 위의 밴드당 하나 이상의 기준 임계 전압(MLC)의 비교를 요구한다. 본 발명에서와 같이, 최저 밴드 위의 밴 드당 하나의 기준 임계 전압만을 이용하면, Guterman 일행 및 Ban의 종래기술에 비해 본 발명의 플래시 메모리의 구성이 단순화된다.
지금까지 설명한 본 발명의 포스티오리 폐 루프 방법의 한가지 단점은, 셀이 프로그램되었을 때 모든 임계 전압 밴드가 동등하게 파퓰레이팅되었을 것이라고 가정할 필요가 있다는 것이다. 예를 들어, SLC의 경우, 셀들의 절반은 1 비트를 저장하기 위해 프로그램되고, 셀들의 절반은 0 비트를 저장하도록 프로그램된다. 어느 셀이 1 비트를 저장하도록 프로그램되고 어느 셀이 0 비트를 저장하도록 프로그램되는 지 아프리오리로 알려지면 이 가정은 통용될 수 있다. 그러면, 이동 평가치에 기초를 이루는 통계치는 0 비트를 저장하도록 프로그램된 셀만 사용하여 계산될 것이다. 불행히도, 셀이 프로그램된 한참 후에는, 어느 셀이 1 비트를 저장하도록 프로그램되었고 어느 셀이 0 비트를 저장하도록 프로그램되었는 지를 판정하는 유일한 방법은 셀의 임계 전압을 판독 임계 전압의 현재의 값(VR)과 비교하는 것이다. 만약 0 비트를 저장하도록 프로그램된 셀의 일부의 임계 전압이 이 값 아래로 이동하면, 이들 셀은 통계에 포함되지 않고, 그 이동은 과소 평가된다.
이 문제에 대한 한가지 해결책은 반복적으로 이동을 평가하는 것이다. 판독 임계 전압의 현재의 값은 어느 셀이 0 비트를 저장하도록 프로그램되었는 지와 어느 셀이 1 비트를 저장하도록 프로그램되었는 지를 평가하는데 사용된다. 0 비트를 저장하도록 프로그램된 셀의 이동은 0 비트를 저장하도록 프로그램되도록 평가되는 셀의 통계치에 기초한다. 판독 임계 전압은 그에 따라 조정되며, 0 비트를 저장하 도록 프로그램되도록 평가되는 셀 세트가 이전의 반복으로부터의 동일 세트와 동일할 때까지 반복된다.
이 아프리오리 폐 루프 방법은 반드시 반복적이지는 않은데, 이것은 이 방법을 시작할 때 어느 셀이 어느 데이터를 저장하는 지가 확실히 알려지지 않기 때문이다. 본 발명의 제 2 아프리오리 폐 루프 방법은 반복이 필요치 않은데, 이것은 이 방법이 셀이 프로그램된 바로 후에 사용되기 때문이며, 셀을 프로그램하는 데이터는 예를 들어 제어기의 보조적인 비휘발성 메모리에서 메모리 장치의 제어기에 여전히 이용가능하다.
도 4는 제 2 아프리오리 폐 루프 방법에 의해 처리된 문제를 도시하고 있다. 구체적으로는, 도 4는 많은 P/E 사이클을 감당한 SLC 셀의 "0 비트" 임계 전압의 하한을 개략적으로 도시하고 있다. 셀은 셀의 임계 전압이 V0보다 더 큰 최초 값(VA)으로 상승할 때까지 일련의 프로그래밍 전압 펄스를 받아서 프로그램된다. 거의 즉시, 수 밀리초 내에 또는 심지어 단 수 마이크로초 내에, 셀의 임계 전압은 하한(VB)으로 떨어진다. VA와 VB의 차는 셀이 얼마나 많은 P/E 사이클을 감당하는 지에 달려 있다. 그 결과, 셀의 임계 전압의 하향 이동은 훨씬 느려진다.
본 발명의 제 2 아프리오리 폐 루프 방법은 셀이 프로그램된 바로 후에 그러나 임계 전압 분포의 최초의 갑작스런 이동이 발생하도록 프로그래밍한 후 충분한 시간이 지난 후에 플래시 셀의 그룹(예를 들면, 블록 또는 페이지)의 이동을 측정한다. SLC의 경우, 이것은 V0이 되도록 프로그램된 "0 비트" 임계 전압 분포의 하한 이 이제 V0보다 약 (VA-VB)만큼 작다는 것을 의미한다. 플래시 제어기는 여전히 셀을 프로그램한 데이터 값을 보조 휘발성 메모리에 저장하였기 때문에, 최초의 갑작스런 이동 정도는 전술한 바와 같이 0 비트를 저장하도록 프로그램된 셀만의 통계로부터 평가될 수 있다. 그러면, 이 평가에 기초하여, 도 2에 도시된 바와 같이 판독 임계 전압의 값이 VR로부터 VR'으로 평가된 이동만큼 감소되거나, 도 3에 도시된 바와 같이, 후속 프로그래밍을 위한 프로그램 확인 임계 전압의 값이 V0로부터 V0'으로 평가된 이동만큼 증가된다.
통상은, 본 발명의 개 루프 방법, 본 발명의 아포스티오리 폐 루프 방법 및 본 발명의 제 1 아프리오리 폐 루프 방법은, 플래시 셀이 프로그램되고 오랜 후에 플래시 셀의 그룹을 판독할 때, 셀이 프로그램된 이래로 셀의 임계 전압이 이동하는 동안 판독 임계 전압 값(또는 MLC의 경우에는 판독 임계 전압 값들)을 조정하기 위해, 및/또는 후속 프로그래밍을 위한 프로그램 확인 임계 전압 값(또는 MLC의 경우에는 프로그램 확인 임계 전압 값들)을 조정하기 위해 이용된다. 이와 반대로, 본 발명의 제 2 아프리오리 폐 루프 방법은 프로그램된 데이터가 지금까지 판독되는 지의 여부에 관계없이 프로그래밍과 함께 사용하기 위한 것이다. 만약, 셀이 후속적으로 소거되고 재프로그램되면, 그 사이에 판독되지 않고서도, 제 2 프로그래밍에 사용되는 프로그램 확인 임계 전압 값(들)은 제 1 프로그래밍 바로 후에 평가된 급격한 최초 이동의 값(들)에 따라서 조정된다.
아포스티오리 폐 루프 방법 또는 제 1 아프리오리 폐 루프 방법들 중 하나가 처음 이용될 때, 판독 임계 전압 값(들) 또는 프로그램 확인 임계 전압 값(들)은 최초 값(들)에 대해 조정된다. 그 후에(예를 들어 데이터가 1회 프로그램되고 그 다음에 매년 판독되면), 판독 임계 전압 값(들) 또는 프로그램 확인 임계 전압 값(들)은 최초 값(들)에 대해 조정되거나, 이전에 조정된 값(들)에 대해 증가하도록 조정될 수 있다.
본 발명의 방법들의 다른 바람직한 실시예에 대한 본 발명의 제 2 아프리오리 폐 루프 방법의 한가지 이점은 제 2 아프리오리 폐 루프 방법이 이동을 평가하는데 사용되는 셀을 선택하도록 실제로 셀에 프로그램된 데이터를 사용한다는 것이다. 제 1 아프리오리 폐 루프 방법조차 이들 데이터를 반복적으로만 평가한다. 본 발명의 다른 폐 루프 방법에 대한 본 발명의 제 2 아프리오리 폐 루프 방법의 다른 이점은, 예를 들어 분포의 형태가 변하지 않는 임계 전압 분포의 특성에 대한 가정이 셀이 프로그램된 후 수년 후보다, 보조 휘발성 메모리로부터 데이터가 사라질 때까지 최초의 빠른 이동이 중지할 때로부터 기회 시간 창문 함수(time-window-of-opportunity) 동안 셀이 프로그램된 바로 후에 훨씬 더 유효할 것이라는 것이다.
도 5는 본 발명의 플래시 메모리 장치(20)의 개략적인 고 레벨 블록도이다. 도 5는 본 명세서에 완전히 포함되어 있는 Ban의 미국 특허 제5,404,485호의 도 1을 변화시킨 것이다. 플래시 메모리 장치(20)는 플래시 메모리 셀의 어레이(24), 제어기(22) 및 RAM(random access memory)(26)을 포함한다. 미국 특허 제5,404,485호의 "플래시 제어부(14)"에 대응하는 제어기(22)는 미국 특허 제5,404,485호에 개시되어 있는 RAM(26)의 도움으로 플래시 어레이(24)를 관리한다. 만약 플래시 어레 이(24)가 NAND 플래시 어레이라면, 제어기(22)는 본 명세서에 완전히 포함되어 있는 Ban의 미국 특허 제5,937,425호에 개시되어 있는 바와 같이 플래시 어레이(24)를 관리하는 것이 바람직하다. 또한, 제어기(22)는 플래시 어레이(24)의 임계 전압의 이동 또는 본 명세서에 개시된 플래시 어레이(24)의 부분들(예를 들면, 블록들 또는 페이지들)의 이동을 평가하고, 제어기(22)가 평가된 이동 또는 이동들에 따라 플래시 어레이(24)를 관리하는데 사용하는 기준 전압을 조정한다. 특히, 본 발명의 제 2 아프리오리 폐 루프 방법을 실시하는데 있어서, 제어기(22)는, 어느 플래시 셀이 이동의 평가에 참여하는 지를 선택하기 위해 이 방법에 필요한 데이터가 여전히 RAM(26)에 존재한다는 사실을 이용한다.
이상 본 발명을 몇몇 실시예를 통해 설명하였지만, 본 발명의 많은 변형, 변경 및 다른 응용이 행해질 수 있을 것이다.

Claims (21)

  1. 복수의 메모리 셀을 관리하는 방법에 있어서,
    (a) 복수의 메모리 셀 중 적어도 하나의 환경 변수(environmental parameter)의 각 값을 획득하는 단계와,
    (b) 상기 적어도 하나의 획득된 값에 따라 상기 복수의 메모리 셀의 적어도 하나의 기준 전압의 각 값을 조정하는 단계
    를 포함하는 메모리 셀 관리 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 환경 변수는 적어도 하나의 이력 변수(historical parameter)를 포함하는
    메모리 셀 관리 방법.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 이력 변수는 상기 복수의 메모리 셀의 프로그램 소거 사이클의 수를 포함하는
    메모리 셀 관리 방법.
  4. 제 2 항에 있어서,
    상기 적어도 하나의 이력 변수는 상기 복수의 메모리 셀의 데이터 보존 시간을 포함하는
    메모리 셀 관리 방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 환경 변수는 상기 복수의 메모리 셀의 온도를 포함하는
    메모리 셀 관리 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 기준 전압은 판독 기준 전압을 포함하는
    메모리 셀 관리 방법.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 기준 전압은 프로그램 확인 기준 전압을 포함하는
    메모리 셀 관리 방법.
  8. 제 1 항에 있어서,
    상기 조정은 복수의 상기 기준 전압의 각 값의 조정이고, 상기 복수의 상기 기준 전압은 각각의 임계 전압 밴드의 복수의 상기 기준 전압을 포함하며, 각각의 상기 기준 전압의 상기 각 값을 조정하는 단계는 상기 각각의 상기 기준 전압의 상 기 각각의 임계 전압 밴드에 특유한 방식으로 행해지는
    메모리 셀 관리 방법.
  9. 메모리 장치에 있어서,
    (a) 복수의 메모리 셀과,
    (b) (i) 상기 복수의 메모리 셀의 적어도 하나의 환경 변수의 각 값을 획득하고,
    (ii) 적어도 하나의 획득된 값에 따라 상기 복수의 메모리 셀의 적어도 하나의 기준 전압의 각 값을 조정함으로써,
    상기 복수의 메모리 셀을 관리하도록 동작하는 제어기
    를 포함하는 메모리 장치.
  10. 복수의 메모리 셀을 관리하는 방법에 있어서,
    (a) 상기 복수의 메모리 셀의 기준 전압의 단일의 각 기준 변수에 대해 상기 메모리 셀 중 적어도 일부의 통계치 측정 단계와,
    (b) 측정된 통계치에 따라 상기 기준 전압의 각 값을 조정하는 단계
    를 포함하는 메모리 셀 관리 방법.
  11. 제 10 항에 있어서,
    상기 기준 전압은 판독 기준 전압인
    메모리 셀 관리 방법.
  12. 제 10 항에 있어서,
    상기 기준 전압은 프로그램 확인 기준 전압인
    메모리 셀 관리 방법.
  13. 제 10 항에 있어서,
    상기 통계치는 상기 적어도 일부 셀의 임계 전압의 통계치이고, 상기 기준 변수는 상기 기준 전압의 대응하는 최초 분포의 특성과 관련되는
    메모리 셀 관리 방법.
  14. 제 13 항에 있어서,
    상기 특성은 상기 최초 분포의 하한인
    메모리 셀 관리 방법.
  15. 제 13 항에 있어서,
    상기 특성은 상기 최초 분포의 중간(median)인
    메모리 셀 관리 방법.
  16. 제 10 항에 있어서,
    (c) 데이터를 저장하도록 상기 메모리 셀을 프로그래밍하는 단계를 더 포함하는
    메모리 셀 관리 방법.
  17. 제 16 항에 있어서,
    상기 측정은 사전에 정해진 대기 시간만큼 상기 프로그래밍에 대해 지연되는
    메모리 셀 관리 방법.
  18. 제 16 항에 있어서,
    (d) 상기 데이터에 따라서 적어도 일부의 셀 선택 단계를 더 포함하는
    메모리 셀 관리 방법.
  19. 제 18 항에 있어서,
    상기 선택 단계는 상기 셀로부터의 상기 데이터 판독 단계를 포함하고, 상기 판독 단계 및 상기 측정 단계는 상기 적어도 일부의 셀을 선택하도록 반복되는
    메모리 셀 관리 방법.
  20. 제 10 항에 있어서,
    상기 통계치는 모든 상기 셀에 대해 측정되는
    메모리 셀 관리 방법.
  21. 메모리 장치에 있어서,
    (a) 복수의 메모리 셀과,
    (b) (i) 상기 복수의 메모리 셀의 기준 전압의 단일의 각 기준 변수에 대해 상기 메모리 셀 중 적어도 일부의 통계치를 측정하고,
    (ii) 측정된 통계치에 따라 상기 기준 전압의 각 값을 조정함으로써,
    상기 복수의 메모리 셀을 관리하도록 동작하는 제어기
    를 포함하는 메모리 장치.
KR1020077010084A 2004-11-03 2005-10-26 메모리 셀 관리 방법 및 메모리 장치 KR100946431B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US62423304P 2004-11-03 2004-11-03
US62423404P 2004-11-03 2004-11-03
US60/624,234 2004-11-03
US60/624,233 2004-11-03
US11/206,033 US7817469B2 (en) 2004-07-26 2005-08-18 Drift compensation in a flash memory
US11/206,033 2005-08-18

Publications (2)

Publication Number Publication Date
KR20070083943A true KR20070083943A (ko) 2007-08-24
KR100946431B1 KR100946431B1 (ko) 2010-03-10

Family

ID=36319556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077010084A KR100946431B1 (ko) 2004-11-03 2005-10-26 메모리 셀 관리 방법 및 메모리 장치

Country Status (3)

Country Link
US (1) US7817469B2 (ko)
KR (1) KR100946431B1 (ko)
WO (1) WO2006048860A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130632A (ko) * 2014-05-13 2015-11-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법
KR102088945B1 (ko) * 2019-10-11 2020-04-24 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
KR102088944B1 (ko) * 2019-10-01 2020-05-26 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
WO2006041730A2 (en) * 2004-10-07 2006-04-20 Atmel Corporation Method and system for a programming approach for a nonvolatile electronic device
ITMI20041904A1 (it) * 2004-10-07 2005-01-07 Atmel Corp "metodo e sistema per un approccio di programmazione per un dispositivo elettronico non volatile"
US7742339B2 (en) * 2006-01-10 2010-06-22 Saifun Semiconductors Ltd. Rd algorithm improvement for NROM technology
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US7639542B2 (en) 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
KR100865830B1 (ko) * 2007-02-22 2008-10-28 주식회사 하이닉스반도체 메모리 소자의 독출 방법
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
WO2008121577A1 (en) * 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7966550B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7876621B2 (en) * 2007-04-23 2011-01-25 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7719901B2 (en) * 2007-06-05 2010-05-18 Micron Technology, Inc. Solid state memory utilizing analog communication of data values
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7751237B2 (en) * 2007-09-25 2010-07-06 Sandisk Il, Ltd. Post-facto correction for cross coupling in a flash memory
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8085591B2 (en) * 2008-05-20 2011-12-27 Micron Technology, Inc. Charge loss compensation during programming of a memory device
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) * 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
JP5422976B2 (ja) * 2008-11-19 2014-02-19 富士通株式会社 半導体記憶装置
US7764550B2 (en) * 2008-11-25 2010-07-27 Freescale Semiconductor, Inc. Method of programming a non-volatile memory
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8036044B2 (en) * 2009-07-16 2011-10-11 Sandisk Technologies Inc. Dynamically adjustable erase and program levels for non-volatile memory
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8380915B2 (en) 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
WO2011094454A2 (en) * 2010-01-27 2011-08-04 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8627175B2 (en) 2010-09-27 2014-01-07 Seagate Technology Llc Opportunistic decoding in memory systems
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8243511B2 (en) 2010-09-27 2012-08-14 Seagate Technology Llc Reuse of information from memory read operations
US8248856B2 (en) 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
US8649215B2 (en) * 2010-12-22 2014-02-11 HGST Netherlands B.V. Data management in flash memory using probability of charge disturbances
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8593873B2 (en) * 2011-08-26 2013-11-26 Micron Technology, Inc. Apparatuses and methods of reprogramming memory cells
US8711619B2 (en) 2011-10-18 2014-04-29 Seagate Technology Llc Categorizing bit errors of solid-state, non-volatile memory
US8693257B2 (en) 2011-10-18 2014-04-08 Seagate Technology Llc Determining optimal read reference and programming voltages for non-volatile memory using mutual information
US8737133B2 (en) 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
US8760932B2 (en) 2011-10-18 2014-06-24 Seagate Technology Llc Determination of memory read reference and programming voltages
WO2013132532A1 (en) * 2012-03-06 2013-09-12 Hitachi, Ltd. Semiconductor storage device having nonvolatile semiconductor memory
US9159407B2 (en) 2012-10-22 2015-10-13 Apple Inc. Soft readout from analog memory cells in the presence of read threshold errors
US9136001B2 (en) 2012-10-22 2015-09-15 Apple Inc. Signal-to-Noise Ratio (SNR) estimation in analog memory cells based on optimal read thresholds
US9081708B2 (en) 2012-11-16 2015-07-14 Freescale Semiconductor, Inc. Dynamic read scheme for high reliability high performance flash memory
US9135109B2 (en) 2013-03-11 2015-09-15 Seagate Technology Llc Determination of optimum threshold voltage to read data values in memory cells
US9165668B1 (en) 2013-07-29 2015-10-20 Western Digital Technologies, Inc. Data retention monitoring using temperature history in solid state drives
US10319460B2 (en) * 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
CN103559904A (zh) * 2013-11-05 2014-02-05 苏州贝克微电子有限公司 一种单端数据感测的读出放大器
KR101429620B1 (ko) 2014-03-27 2014-08-14 연세대학교 산학협력단 메모리 프로그래밍 방법 및 메모리 프로그래밍 장치
KR102158859B1 (ko) * 2014-05-21 2020-09-22 삼성전자주식회사 전압 발생기 및 이를 포함하는 반도체 메모리 장치
US9910730B2 (en) 2015-10-21 2018-03-06 Sandisk Technologies Llc System for handling erratic word lines for non-volatile memory
US10026488B2 (en) 2016-08-18 2018-07-17 Sandisk Technologies Llc Non-volatile memory with read disturb detection for open blocks
KR102659596B1 (ko) * 2016-08-26 2024-04-19 삼성전자주식회사 비휘발성 메모리 장치
US10095568B2 (en) 2017-02-08 2018-10-09 Seagate Technology Llc Background reads to condition programmed semiconductor memory cells
US9928126B1 (en) 2017-06-01 2018-03-27 Apple Inc. Recovery from cross-temperature read failures by programming neighbor word lines
CN111276176A (zh) * 2020-02-11 2020-06-12 上海威固信息技术股份有限公司 一种三维堆叠闪存单元阈值电压分布模型构建方法
US11562137B2 (en) 2020-04-14 2023-01-24 Bank Of America Corporation System to correct model drift for natural language understanding
CN111863079A (zh) * 2020-07-08 2020-10-30 上海威固信息技术股份有限公司 一种用于三维闪存的原始误码率降低方法
US11340813B1 (en) 2020-11-16 2022-05-24 Micron Technology, Inc. Reliability scan assisted voltage bin selection
CN113129994B (zh) * 2021-03-29 2023-11-28 深圳市国微电子有限公司 一种存储系统性能调节方法及存储系统
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN116469442B (zh) * 2022-03-23 2024-05-03 武汉置富半导体技术有限公司 芯片数据保持时间的预测方法、装置及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JP3648304B2 (ja) * 1995-11-17 2005-05-18 株式会社東芝 不揮発性半導体記憶装置
JPH11154397A (ja) * 1997-11-20 1999-06-08 Nec Ic Microcomput Syst Ltd 不揮発性半導体メモリ
US6400638B1 (en) 2000-02-25 2002-06-04 Advanced Micro Devices, Inc. Wordline driver for flash memory read mode
US6662263B1 (en) * 2000-03-03 2003-12-09 Multi Level Memory Technology Sectorless flash memory architecture
US6538922B1 (en) 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
KR100476888B1 (ko) * 2002-04-04 2005-03-17 삼성전자주식회사 온도보상기능을 가진 멀티비트 플래쉬메모리
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US6649514B1 (en) * 2002-09-06 2003-11-18 Lattice Semiconductor Corporation EEPROM device having improved data retention and process for fabricating the device
JP4129170B2 (ja) * 2002-12-05 2008-08-06 シャープ株式会社 半導体記憶装置及びメモリセルの記憶データ補正方法
US7372731B2 (en) 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
US6903972B2 (en) 2003-07-30 2005-06-07 M-Systems Flash Disk Pioneers Ltd. Different methods applied for archiving data according to their desired lifetime
EP2113844A1 (en) 2003-07-30 2009-11-04 SanDisk IL Ltd. Method and system for optimizing reliability and performance of programming data in non-volatile memory devices
US7209390B2 (en) * 2004-04-26 2007-04-24 Macronix International Co., Ltd. Operation scheme for spectrum shift in charge trapping non-volatile memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130632A (ko) * 2014-05-13 2015-11-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법
KR102088944B1 (ko) * 2019-10-01 2020-05-26 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
KR102088945B1 (ko) * 2019-10-11 2020-04-24 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Also Published As

Publication number Publication date
WO2006048860A3 (en) 2007-03-08
US20060028875A1 (en) 2006-02-09
KR100946431B1 (ko) 2010-03-10
US7817469B2 (en) 2010-10-19
WO2006048860A2 (en) 2006-05-11

Similar Documents

Publication Publication Date Title
KR100946431B1 (ko) 메모리 셀 관리 방법 및 메모리 장치
US8665645B2 (en) Drift compensation in a flash memory
US9183945B2 (en) Systems and methods to avoid false verify and false read
US8971119B2 (en) Select transistor tuning
US7965562B2 (en) Predictive programming in non-volatile memory
US9552171B2 (en) Read scrub with adaptive counter management
US9229856B2 (en) Optimized configurable NAND parameters
US8339864B2 (en) Method of programming nonvolatile memory device
KR100799018B1 (ko) 불휘발성 메모리 소자 및 자기 보상 방법
US8009472B2 (en) Method for adaptive setting of state voltage levels in non-volatile memory
US8111554B2 (en) Starting program voltage shift with cycling of non-volatile memory
US8902661B1 (en) Block structure profiling in three dimensional memory
CN110832593A (zh) 具有动态处理电平校准的存储器装置
US7551483B2 (en) Non-volatile memory with predictive programming
US8902658B1 (en) Three-dimensional NAND memory with adaptive erase
CN110870014A (zh) 具有动态编程校准的存储器装置
US9240238B2 (en) Back gate operation with elevated threshold voltage
US9342401B2 (en) Selective in-situ retouching of data in nonvolatile memory
US8750045B2 (en) Experience count dependent program algorithm for flash memory
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
KR101029654B1 (ko) 불휘발성 메모리 소자의 동작 방법
KR20100034613A (ko) 전하트랩형 플래시 메모리소자의 프로그램 방법
WO2011111014A1 (en) Method of handling reference cells in nvm arrays

Legal Events

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

Payment date: 20130201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 11