KR100963855B1 - 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템 - Google Patents

불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템 Download PDF

Info

Publication number
KR100963855B1
KR100963855B1 KR1020067001978A KR20067001978A KR100963855B1 KR 100963855 B1 KR100963855 B1 KR 100963855B1 KR 1020067001978 A KR1020067001978 A KR 1020067001978A KR 20067001978 A KR20067001978 A KR 20067001978A KR 100963855 B1 KR100963855 B1 KR 100963855B1
Authority
KR
South Korea
Prior art keywords
programming
cell
value
data
parameter
Prior art date
Application number
KR1020067001978A
Other languages
English (en)
Other versions
KR20060054374A (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 KR20060054374A publication Critical patent/KR20060054374A/ko
Application granted granted Critical
Publication of KR100963855B1 publication Critical patent/KR100963855B1/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
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Abstract

메모리 디바이스의 관리방법 및 이에따라 관리되는 디바이스가 개시되었다. 하나이상의 메모리 셀(1001)을 프로그램하는데에 사용되는 파라미터(1011)의 값은 모니터된 셀의 상태에 적용된다. 셀당 비트의 수는 고정되어 유지되거나 모니터된 셀의 상태는 셀의 내재적 상태이다. 파라미터(1013)의 초기값은, 파라미터의 후보자 값에 따라 셀를 프로그래밍함에 의해, 미리선택된 기준과 관련하여, 그 특정 셀에 대해 최적화된다.
메모리 관리, 디바이스, 셀, 파라미터, 최적화, 데이터,

Description

불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성 및 성능을 최적화하는 방법 및 시스템{METHOD AND SYSTEM FOR OPTIMIZING RELIABILITY AND PERFORMANCE OF PROGRAMMING DATA IN NON-VOLATILE MEMORY DEVICES}
본 발명은 불휘발성 메모리 디바이스에 관한 것이고, 더욱 상세히는 리프로그램가능한 불휘발성 메모리 디바이스의 프로그래밍 파라미터를 최적화하기 위한 방법 및 시스템에 관한 것이다.
플래시 메모리와 같은, 리프로그램가능한 불휘발성 메모리 디바이스가 반복되는 데이터 프로그래밍 구동동안에 시간이 경과함에 따라 스트레스로 인한 품질저하를 발생시킬 수 있다는 것은 알려져 있다. "디바이스" 및 "메모리 디바이스"라는 용어는 불휘발성 메모리 디바이스를 언급할 때 사용한다. "프로그램", "프로그래밍", "프로그램된" 그리고 "프로그램가능한"이라는 용어는 여기에서는 메모리 디바이스에 데이터를 저장하는 것을 나타내는 것으로, 각각 "기입", "기입하는", "기입된" 그리고 "기입가능한"이라는 용어로 대체가능하다. "리프로그램가능한"이라는 용어는 새로운 또는 변경된 데이터로 반복적으로 프로그램되는 불휘발성 메모리 디바이스를 말하는 것이다. "플래시 메모리"라는 용어로 여기에서 설명할 때마다, 예시를 간결하게 하기 위한 것이지, 한정하려는 것은 아니며, 본 발명은 또한 다른 불휘발성 메모리 디바이스에 응용될 수 있다.
플래시 메모리와 같은, 어떤 리프로그램가능한 불휘발성 메모리 디바이스는 새로운 또는 변경된 데이터로 리프로그램되기 전에 소거(erase) 작업을 해야 한다. 이러한 메모리 디바이스는 "소거가능한"이라고 하고, 그리고 프로그래밍 작업과 함께 소거 작업은 "소거 사이클" 또는 "프로그램/소거 사이클"이라 한다. 하지만, 일반적으로, 소거의 프로세스는 프로그래밍과 다르고, 그리고 데이터의 프로그래밍을 최적화하기 위한 방법은 그 소거를 최적화하기 위한 것과 달리 취급된다. 소거 작업을 최적화는 것은 예를 들면, 미국특허 5,270,979 및 미국특허 5,369,615 Harari, et al.과 같이 이루어진다. 하지만, 상기한 바와 같이, 프로그래밍의 최적화는 다르고, 그리고 종래 기술에서 알려져 있지 않다.
불휘발성 메모리 디바이스에서 중요한 클라스에서, 데이터 저장의 분할할 수 없는 유닛은 "셀"이다. 도 1은 전형적인 종래 기술의 전기적으로 소거가능한 불휘발성 메모리 셀(100)(NAND 프래시)의 단면도를 예시하고 있다. 메탈 게이트(101)는 반도체 체널(105)위의 절연 산화층(103) 상에 배치되어 있어서, 금속-산화-반도체 전계 효과 트랜지스터(MOSFET)를 형성한다. 조립 동안에, 플로팅 게이트(107)가 산화층(103) 내에 전체적으로 넣어져서, 플로팅 게이트(107)가 모든 통전 패스(paths)로부터 전기적으로 완전히 절연되게 한다. 플로팅 게이트(107)에 배치된 전자는 통상적으로 드레인 오프(drain off)될 수 없고 그리고 제 위치에 남는 경향이 있다. 이렇게 플로팅 게이트(107)에 존재하는 적절한 전하량이 정전계를 만드는데, 이것은 전계 효과때문에 반도체 체널(105)에 있는 전하에 영향을 주어, 반도체 채널(105)의 도전율이 플로팅 게이트(107)에서 상대 전하량을 표시하게 한다. 플로팅 게이트(107)에서의 적절한 전하량은 불휘발성 데이터 저장으로서 작용할 수 있다. 프로그래밍을 위해서, 전하는 플로팅 게이트(107)에 주사되고 그리고 소거를 위해서, 전하는 제거된다. 이들 작업 모두는 터널링 효과 및 핫 전자 효과와 같은 양자 역학적 과정을 통해서 달성된다. 산화층(103)은 극도로 얇아서, 어느 정도의 고인력 전계하에서, 반도체 체널(105)에서 잔류하는 전자의 웨이브 함수가 산화층(103)으로 뻗어나가 플로팅 게이트(107)와 중첩될 수 있다. 이러한 조건하에서, 반도체 체널(105)에서 전자는 산화층(103)을 뻗어나가 플로팅 게이트(107)에서 나타날 가능성이 상당히 높다. 이러한 현상은 셀(100)을 프로그램하는데 이용된다. 싱글-레벨 셀(Single-Level Cell;"SLC") 플래시 메모리에서, 셀은 단지 단일 비트('0' 및 '1'의 데이터 값)를 저장한다. 멀티-레벨 셀("MLC") 플래시 기술에서, 셀은 플로팅 게이트(107)에서 4개의 구별되는 전압 레벨('00', '01', '10', 및 '11'의 데이터 값)을 나타내므로서 2 비트를 저장할 수 있다. 일반적으로, MLC 셀은 플로팅 게이트(107)에서 2n의 구별되는 전압 레벨을 나타내므로서 n 비트를 저장할 수 있다. 플로팅 게이트(107)에서 다른 전하량에 대응하는 반도체 체널(105)의 도전율의 일정한 임계값이 다른 데이터값 사이에서 분명하게 구별하기 위해서 예정되어 있다.
메모리 디바이스 내에서 셀은 배열되어, 일반적으로 서브디비젼(subdivisions)을 가지고 있다. 다수의 셀이 "페이지"(110) 내에 공통적으로 형성 되어 있는데, 이것은 유사한 셀(102,104 등)과 함께 셀(100)을 포함하고 있다. 유사하게, 다수의 페이지가 "블록"(120)내에 공통적으로 형성되어 있는데, 이것은 유사한 페이지(112,114 등)와 함께 페이지(110)를 포함하고 있다. 마지막으로, 다수의 블록이 전체적인 디바이스(130)를 만드는데, 이것은 유사한 블록(122,124 등)과 함께 블록(120)을 포함하고 있다.
양자 효과는 확률을 포함하고 있기 때문에, 반도체 체널(105)과 플로팅 게이트(107) 사이의 전자의 통과는 결정론적 과정이라기 보다는 확률적인 과정이다. 그리고, 이러한 메모리 셀을 위한 데이터 프로그래밍 구동은 도 2에서 종래 기술의 프로그래밍 구동을 위해 예시한 바와 같이, 되풀이되는 반복을 통해서 수행된다. 여기서, "반복"이라는 용어는 디바이스의 셀을 프로그램하기 위해서 되풀이해서 시도하는 것을 의미한다. 프로그래밍 파라미터는 VPGM BASE 값(프로그래밍 베이스 전압)(201) 그리고 VPGM STEP 값(프로그래밍 반복 스텝핑 전압)((203)으로 설정된다. 스텝(205)에서, VPROGRAM(프로그래밍 전압)은 VPGM BASE로 설정된다. 그리고, 스텝(207)에서, 프로그래밍 구동이 취해진다. 결정 포인트(209)에서, 셀은 프로그래밍이 성공적인지 확인하기 위해 셀이 액세스된다. 프로그래밍이 성공적이라면, 작업은 스텝(213)에서 끝난다. 그렇지 않으면, 스텝(211)에서 VPROGRAM이 VPGM STEP에 의해 인크리먼트되고, 그리고 프로그래밍 스텝(207)은 반복된다.
VPGM BASE 및 VPGM STEP 이외에, 프로그래밍 구동을 위한 다른 가능한 반복적인 파라미터가 있다는 것을 알아야 한다. 도 3은 전압 축(301)과 시간(t) 축(303)상에 구성된 전형적인 프로그램 펄스를 예시하고 있다. 펄스는 전압 VPROGRAM 과 기간 τPROGRAM(프로그래밍 펄스 기간)으로 나타낸다. 따라서, 베이스 전압(VPGM BASE)으로부터 프로그래밍 전압(VPROGRAM)을 증가시키는 것에 더하여, 유사한 방식으로, VPGM BASE 그리고 VPGM STEP과 유사한 τPGM BASE(프로그래밍 베이스 펄스 기간) 그리고 τPGM STEP(프로그래밍 반복 스텝핑 기간)으로 프로그래밍 전압 펄스의 기간을 변경시킬 수 있다. 그러므로, 작업의 개시에서 적용한 베이스 파라미터에 더하여, 성공을 달성하기 위해 반복하는 동안 변할 수 있는 여러가지 파라미터가 있다. 특정 디바이스 기술의 특성에 관해서, SLC NAND 디바이스는 평균적으로 5 내지 10 정도의 반복이 필요한 것으로 알려져 있고, 그리고 n=2 MLC NAND 디바이스는 평균적으로 20 정도의 반복이 필요한 것으로 알려져 있다.
프로그래밍이 점차 증가하는 전압을 반복적으로 사용하여 수행되는 이유는 산화층(103)을 뻗어나가는 전자가 셀에 스트레스를 주기 때문인데, 이것은 셀에 어떤 손상을 준다. 증가 스트레스는 데이터 에러를 야기할 수 있다. 누적되는 스트레스는 여러 가지 상태를 야기할 수 있는데, 이들 여러 가지 상태는 데이터를 유지하는 셀의 성능에 악영향을 미치는, 플로팅 게이트(107)와 반도체 체널(105) 사이의 누출 패스(path)를 형성하고; 셀(100)을 오버-프로그래밍하여 판독 신뢰성에 영향을 미치는 것들을 포함하지만, 이들에 한정되는 것은 아니다. 반복적으로 프로그래밍 구동을 수행하므로써, 작업이 성공적으로 끝났기 때문에, 셀에 과도한 스트레스를 주는 것을 피할 수 있다. 하지만, 셀의 페이지는 모든 셀이 프로그램될 때까지 계속되는 프로그래밍의 사이클에 종속된다는 것을 알아야 한다. 그러므로, 이미 성공적으로 프로그램된 페이지에서 셀은 다른 셀의 성공적인 프로그래밍 동안 에 계속해서 스트레스를 받는다.
셀의 반복적인 프로그래밍과 소거는 셀이 받는 스트레스의 양을 최소화하는 작용을 할 수 있지만, 반복적인 과정의 사용은 성능의 관점에서 적절하지 않다. 예를 들면, 점진적으로 증가하는 전압으로 셀을 반복적으로 프로그램하는 것은 단일의 높은 전압으로 셀을 프로그램하는 것보다 더 많은 시간이 든다. 잘 알려진 바와 같이, 이러한 디바이스의 프로그래밍은 이미 상당히 시간이 소비되는 작업이므로, 프로그래밍을 위한 시간의 증가는 디바이스의 성능에 상당한 충격을 준다. 그러므로, 도 4에 예시하는 바와 같이, 셀이 받는 스트레스에 따라서, 높은 성능의 달성과 신뢰성(그리고 유용성) 사이에서 협정이 이루어진다. 곡선(405)은 축(403)을 따라서 증가 스트레스의 함수로서 성능 축(401)에 대하여 프로그래밍 및 소거의 속도를 그린다. 구역(407)은 프로그래밍 속도(및 성능)를 극적으로 증가시킬 수 있지만, 그 대가로서 스트레스가 더 커지고 그리고 디바이스의 수명이 감소하는 논-옵티멈 VPGM BASE 및/또는 논-옵티멈 VPGM STEP을 사용하므로서, 증가된 스트레스에 셀을 노출시킨 결과를 표시하고 있다.
프로그래밍 구동이 성공적일 때까지(즉, 프로그램된 데이터가 판독에 의해, 의도한 값에 상응할 때) 반복이 이루어진다. 물리적으로, 부과된 프로그래밍 전압이 충분히 높을 때 성공이 이루어진다. 최적의 전압은 일반적으로 이전에 수행된 프로그램/소거 사이클의 수, 웨이퍼 내에서 디바이스의 위치, 인접한 셀의 프로그래밍 히스토리, 온도 등의 알려지지 않은 함수이다.
일부의 셀이 더 이상 신뢰할 수 없거나 작동할 수 없을 때 이후라도, 디바이 스를 이용하는데는 여러 가지 운영 기술을 통해 가능하다는 것을 알아야 한다. 더욱이, 에러 보정 기술과 조합하여 중복된 데이터 저장의 사용은 손상된 셀일지라도 디바이스가 신뢰할 수 있는 검색을 가능하게 한다. 하지만, 문제는 전체적인 디바이스가 더 이상 사용할 수 없을 만큼 셀 작용 및/또는 신뢰성이 저하될 때이다. 디바이스의 유효 수명을 연장하기 위해서, 셀 작용을 구역(409)으로 방향을 돌리는 조정(411)을 실행하는 것이 바람직한데, 이것은 프로그래밍 또는 소거 성능의 감소를 희생하고 셀에 스트레스를 줄여주는 것이다.
스트레스 축(403)은 스트레스 증분(△Stress)를 나타내는데, 즉 단일의 프로그래밍 구동 동안에 셀이 받는 스트레스이다. 하지만, 전체적으로 셀의 유효 수명은 셀의 축적된 스트레스(ΣStress)의 함수인데, 즉 초기 프로그래밍 구동으로부터 적분 △Stress로서 다음과 같이 표현된다.
Figure 112006006751650-pct00001
여기에서 △Stressi는 i번째 프로그래밍 구동 동안에 셀에 위치한 스트레스 증분이다. 도 5는 축적된 스트레스로 고장률이 단조롭게 증가하는 것을 개념적으로 도시하고 있다. 고장률 곡선(501)은 축(505)을 따른 축적된 스트레스의 함수로서 축(503)을 따른 셀 고장률을 도시하고 있다. 프로그래밍 파라미터가 디바이스의 사용동안에 일정하게 유지된다면, 축적된 스트레스는 대응하여 일정한 비율로 증가할 것이다. 어떤 경우에는 품질저하의 "심한 굴곡부)(507)로 이어지는 비선형 고장률이 관찰되는데 이것은 디바이스의 신뢰성을 급격히 떨어뜨리는 원인이 된다. 도 6은 프로그램/소거 사이클 축(601)에 대하여 측정된 전체적인 결과를 개념적으로 예시하고 있다. 성능 곡선(603)은 비교적 일정하게 유지되지만, 신뢰성 곡선(605)은 현저하게 경사져 있다.
데이터 저장 디바이스의 성능의 품질저하는 기껏해야 다소의 불편함을 야기하지만, 이러한 디바이스의 신뢰성에서의 품질저하는 잠재적으로 매우 손상을 줄 수 있다. 그러므로, 성능을 희생해서라도 디바이스 신뢰성의 품질저하의 징후를 미리 대비하기 위해서, 디바이스(도 5)에서 축적된 스트레스를 줄이는 것이 바람직하다. 도 7은 프로그램/소거 사이클 수의 함수로서 셀 고장률을 예시하고 있다. 곡선(701)이 축(601)에서 프로그램/소거 사이클 수의 함수로서 도시되어 있는 반면, 곡선(501)은 축(505)에서 축적된 스트레스의 함수로서 도시되어 있는 것을 제외하고, 조정하지않은 고장률 곡선(701)은 고장률 곡선(501)과 상응한다. 스트레스 감소(703)(도 7)를 적용하므로써, 셀 구동은 고장 곡선(703)을 가진 다른 구역으로 움직일 수 있는데, 이를 위해 더 많은 수의 프로그램/소거 사이클에서 특정의 셀 고장률이 발생한다. 스트레스 감소(703)의 질적 효과는 조정(411)(도 4)와 동일하다. 최종의 결과가 도 8에 예시되어 있는데, 이것은 프로그램/소거 사이클 축(601)에 대하여 측정한 전체적인 결과를 개념적으로 예시하고 있다. 도 8은 이 점에 관해서, 신뢰성 곡선(803)이 비교적 일정하게 유지되는 한편, 성능 곡선(805)이 경사져 있는 것을 제외하고, 도 4와 유사하다.
또한, 상기한 바와 같이, 성능과 신뢰성 사이에 협정이 이루어져서, 저장된 데이터의 사용 의도에 따라서, 매우 다양한 성능/신뢰성 요구조건이 존재한다. 실 행가능한 프로그램은 단지 가끔(새로운 버젼으로 업그레이드하기 위해서와 같이) 다시 기입되지만, 극도로 높은 데이터 충실도가 필요하다. 한편, 그래픽, 이미지, 오디오 및 비디오를 위한 프리젼테이션 데이터는 자주 다시 기입할 필요가 있지만, 그 대부분의 사용은 일정한 양의 로-레벨 에러를 허용한다. 이들 양 극단 사이에서, 텍스트와 어플리케이션을 위한 디지털 데이터 파일은 자주 다시 기입될 필요가 있지만, 또한 데이터 충실도가 요구되어, 에러가 허용가능할지라도, 에러 보정을 통해서 회복이 이루어질 수 있다. 이러한 면이 종래 기술의 더 제한을 나타내는 것인데, 종래 기술은 저장된 데이터의 목적, 기능 및 사용에서 단일성의 가정하에 이루어진 것이다.
더욱이, 종래 기술의 수단에서 유지된 데이터의 히스토리는 특정 셀 또는 셀의 블록에 의해 경험한 프로그램/소거 사이클 수의 트랙을 유지하는데 제한이 있다. 이러한 히스토리 데이터가 데이터의 다른 부분에 의해 볼 수 있는 사용량을 인지하는데 가치가 있을 수 있지만, 특정 셀의 프로그램/소거 사이클 히스토리의 단순한 카운트가 셀이 받는 축척된 스트레스를 정확하게 지시하는 것이 아니고, 축적된 스트레스의 효과를 정확하게 지시하는 것도 아니다. 예를 들면, 제 1 셀이 스트레스의 큰 증분으로 프로그램되는지, 제 2 셀이 스트레스의 작은 증분으로 프로그램되는지 쉽게 알 수 있어서, 제 1 셀은 제 2 셀보다 더 낮은 프로그램/소거 카운트를 가질 수 있지만, 제 2 셀보다 여전히 더욱 큰 축적된 스트레스를 받을 가능성이 있다. 사이클 카운트 히스토리에는 축적된 스트레스의 지시가 없을 뿐만 아니라 사이클 카운트는 축적된 스트레스가 셀의 프로그래밍 그리고 다른 구동적인 특성에 어떻게 영향을 미치는지에 대하여 지시하는 것으로부터도 제거된다.
더욱이, 소정의 프로그래밍 파라미터는 스트레스를 견디기 위해서 디바이스의 물리적인 성능에서 인터-웨이퍼 및 인트라-웨이퍼의 변동 양자를 고려하는데 적합하지 않다. 디바이스의 성능 특성이 디바이스가 조립되는 웨이퍼 내에서 정밀한 위치 그리고 웨이퍼에 따라서 하나의 디바이스에서 다른 디바이스까지 변한다는 것이 알려져 있지만, 작동 시간에 디바이스의 베이스라인 특성의 분명한 측정과 평가는 현재 종래 기술에서는 이루어지고 있지 않다. 여기에서 "작동 시간"은 디바이스의 실제 사용 동안에, 포함되어 있는 제어기 또는 불휘발성 메모리 디바이스에 의해 실행되는 작동을 의미한다.
그러므로, 디바이스 작동에 관련된 히스토리를 유지하여 사용하고; 베이스라인 디바이스 특성의 측정과 평가를 행하고; 프로그램되는 데이터의 특정 사용자 요구조건을 고려하고; 그리고 요구조건에 따라서 성능과 신뢰성을 효과적으로 최적화하는, 불휘발성 메모리 디바이스를 프로그래밍하는 방법론을 갖추는 것이 필요하고 그리고 상당히 유리하다.
본 발명은 디바이스의 유효 수명을 늘리면서 신뢰성을 강화하는 한편, 디바이스 성능에 충격을 최소화하기 위해서, 데이터 프로그래밍 동안에 불휘발성 메모리 디바이스의 프로그래밍 파라미터를 적절하게 제어하기 위한 방법 및 시스템이다. 스트레스 증분은 데이터 프로그래밍의 파라미터를 조정함으로써 적절하게 제어된다. 이들 파라미터를 적절하게 제어함으로써, 데이터 프로그래밍은 성능과 신뢰성의 원하는 조합으로 최적화될 수 있다.
본 발명의 새로운 특징은:
· 첫 번째 사용 전에 디바이스의 런-타임 초기 평가 사이클. 이것은 소스 웨이퍼와 소스 웨이퍼 내의 로케이션 사이에서 변동을 고려하여, 개별적인 디바이스의 특성을 평가하는 방법을 허용한다.
· 데이터 에러 히스토리의 유지. 이것은 디바이스의 특정 부분에 의해 경험한 축적된 스트레스의 결과에 관련된 의미있는 데이터에 액세스하는 방법을 제공한다.
· 데이터 프로그래밍 파라미터의 적절한 조정.
· 저장된 데이터의 의도된 사용에 따라서, 저장된 데이터의 다른 요구 조건에 상응하는 파티션 유지와 운영 전략. 이것은 본 발명이 스트레스 조정을 변경시켜 이러한 사용에 따른 다른 데이터 파일을 위한 최적의 저장 성능을 달성하게 한다.
연장된 디바이스의 수명에 더하여, 전기적으로 소거가능한 메모리 디바이스에 본 발명을 전개시키면 상당한 장점이 있다. 진보된 기술을 성숙되기 전의 시장에 적용하면 특정의 마케팅 장점이 발생할 수 있다. 예를 들면, 플래시 메모리의 제작자들은 더 작은 디바이스 다이 사이즈를 시장에 내 놓으려고 서로 계속 경쟁한다. 더 작은 다이 사이즈는 웨이퍼당 디바이스의 수를 더 많게 한다고 이해되고, 그러므로 제작 코스트를 줄일 수 있다. 하지만, 프로세스 개발의 초기에는, 디바이스 신뢰성은 부적절한 경향이 있다. 통상적으로, 디바이스가 대량 생산되고 마케팅되기에 충분히 성숙되기 전에, 상당한 프로세스 개발과 실험적인 테스팅이 필요하다. 하지만, 본 발명의 도움으로, 디바이스 신뢰성은 사용동안에 적절하게 제어됨으로서 적절히 증대될 수 있다. 축적된 스트레스 상태에 따라서 적절하게 그리고 적합하게 관련 파라미터를 조정하므로써, "심한 굴곡부"(507)(도 5)는 지연시킬 수 있어서 적절한 신뢰성을 제공한다. 이러한 방식으로 본 발명을 이용하는 제작자는 경쟁자들보다 먼저 시장을 선점할 수 있고, 그러므로 효과적으로 마켓 셔어를 얻을 수 있다.
본 발명에 따른 시스템은 적절히 프로그램된 프로세서 또는 제어기에 의해 실시될 수 있고, 그리고 본 발명의 방법은 적절하게 프로그램된 프로세서 또는 제어기에 의해 실행될 수 있다는 것은 이해될 것이다. 그러므로, 본 발명의 범위는 본 발명의 시스템, 또는 그 일부를 수행하기 위해서, 또는 본 발명의 방법, 또는 그 일부를 실행하기 위해서 프로세서 또는 제어기에 의해 판독가능한 컴퓨터 프로그램을 포함한다. 여기서 "컴퓨터 프로그램"이라는 용어는 머신-판독가능한 코드, 및/또는 지시, 및/또는 머신-판독가능한 메모리에 또는 머신-판독가능한 저장기에 잔존하고, 그리고 프로세서, 제어기에 의해 실행가능한 데이터, 또는 시스템을 실행하기 위해 또는 방법을 수행하기 위한 다른 유사한 구성의 수집을 의미한다. 특히, "컴퓨터 프로그램"이라는 용어는, 여기에서 머신-판독가능한 코드 및/또는 지시, 및/또는 머신-판독가능한 메모리, 머신-판독가능한 저장, 또는 펌웨어, 및 불휘발성 메모리 디바이스, 그 제어기, 또는 불휘발성 메모리 디바이스 내에 심어진 제어기의 임의의 수집을 포함하는데, 이것에 한정되는 것은 아니다.
그러므로, 본 발명에 따라서, 메모리를 관리하는 방법은: (a) 적어도 하나의 파라미터의 각각의 제 1 각각의 값에 따라서 비트의 예정된 수를 저장하기 위해 메모리의 적어도 하나의 셀을 프로그래밍하는 단계; (b) 상기 적어도 하나의 제 1 값에 따라서 상기 프로그래밍과 관련된 상기 적어도 하나의 셀의 조건을 모니터링하는 단계; 그리고 (c) 상기 모니터링하는 한편 상기 비트의 수를 일정하게 유지함에 따라서 상기 적어도 하나의 제 1 값 대신에 제 2 값으로 바꾸는 단계;를 포함하는 것을 특징으로 하는 메모리를 관리하는 방법을 제공한다.
본 발명에 따라서, 메모리를 관리하는 방법은: (a) 적어도 하나의 파라미터의 각각의 제 1 각각의 값에 따라서 메모리의 적어도 하나의 셀을 프로그래밍하는 단계; (b) 상기 적어도 하나의 제 1 값에 따라서 상기 프로그래밍과 관련된 상기 적어도 하나의 셀의 내적인 조건을 모니터링하는 단계; 그리고 (c) 상기 모니터링에 따라서 상기 적어도 하나의 제 1 값의 적어도 하나 대신에 제 2 값으로 바꾸는 단계;를 포함하는 것을 특징으로 하는 메모리를 관리하는 방법을 또한 제공한다.
본 발명에 따라서, 데이터 저장 디바이스는: (a) 데이터를 저장하기 위한 복수의 셀; (b) 각각의 상기 셀이 데이터의 소정의 수의 비트를 저장하기 위해서, 적어도 하나의 파라미터에 따라서 상기 복수의 셀 내에 데이터를 프로그래밍하기 위한 프로그래밍 유닛; 그리고 (c) (ⅰ) 상기 적어도 하나의 파라미터의 각각의 제 1 각각의 값에 따라서 상기 프로그래밍과 관련된 상기 복수의 셀의 조건을 모니터링하고, 그리고 (ⅱ) 상기 모니터링하는 한편 상기 비트의 수를 일정하게 유지함에 따라서 상기 적어도 하나의 제 1 값의 적어도 하나 대신에 제 2 값으로 바꾸기 위한 메커니즘;을 포함하고 있는 것을 특징으로 하는 데이터 저장 디바이스를 또한 제공한다.
본 발명에 따라서, 데이터 저장 디바이스는: (a) 데이터를 저장하기 위한 복수의 셀; (b) 적어도 하나의 파라미터에 따라서 상기 복수의 셀 내에 데이터를 프로그래밍하기 위한 프로그래밍 유닛; 그리고 (c) (ⅰ) 상기 적어도 하나의 파라미터의 각각의 제 1 각각의 값에 따라서 상기 프로그래밍과 관련된 상기 복수의 셀의 내적인 조건을 모니터링하고, 그리고 (ⅱ) 상기 모니터링에 따라서 상기 적어도 하나의 제 1 값의 적어도 하나 대신에 제 2 값으로 바꾸기 위한 메커니즘;을 포함하고 있는 것을 특징으로 하는 데이터 저장 디바이스를 또한 제공한다.
본 발명에 따라서, 메모리의 적어도 하나의 셀을 위해 메모리를 관리하는 방법은: (a) 적어도 하나의 셀의 적어도 하나의 프로그래밍 파라미터를 최적화하기 위한 기준을 선택하는 단계; 그리고 (b) 상기 기준에 대하여 상기 적어도 하나의 프로그래밍 파라미터를 최적화하여, 적어도 하나의 셀에 특정되는 상가 적어도 하나의 프로그래밍 파라미터의 최적의 값을 얻는 단계;를 포함하는 것을 특징으로 하는 메모리를 관리하는 방법을 또한 제공한다.
본 발명에 따라서, 데이터 저장 디바이스는: (a) 데이터를 저장하기 위한 복수의 셀; (b) 적어도 하나의 파라미터에 따라서 상기 복수의 셀 내에 데이터를 프로그래밍하기 위한 프로그래밍 유닛; 그리고 (c) 미리 선택된 기준에 대해, 상기 복수의 셀의 적어도 일부분을 위하여, 상기 적어도 하나의 파라미터를 최적화하여, 상기 복수의 셀의 상기 적어도 일부분에 특정되는, 상기 적어도 하나의 파라미터 각각의 최적 값을 얻는 메카니즘;을 포함하고 있는 것을 특징으로 하는 데이터 저장 디바이스를 또한 제공한다.
미국 특허 6,456,528,Chen은 MCL 플래시 메모리를 관리하는 방법을 교시하고 있다. 이 방법의 한 면에 따라서, MLC 메모리의 블록은 예를 들면, 다른 블록보다 더욱 자주 재 기입되거나 소거되는 블록을 위해서, 또는 소거/프로그래밍 사이클의 내구 한계 수에 접근하는 블록을 위해서, "메모리의 수명을 통해서 유리하게 되었을 때" MLC 메모리의 블록은 SLC 구동으로 전환된다. MLC로부터 SLC로 전환되는 것은 VPGM STEP과 같은 프로그래밍 파라미터를 변경하는 것을 포함할 수 있다.
본 발명은 2가지 방식으로 Chen의 특허를 개선한 것이다. 먼저, 본 발명은 저장 밀도의 변경없이 메모리 디바이스의 히스토리에 프로그래밍 파라미터를 채택하였다. 파라미터가 변경된 후에, 영향을 받은 메모리 셀은 파라미터가 변경되기 전과 같이 비트의 동일한 수를 저장한다. 두번째, 프로그래밍 파라미터는 셀에서 구동의 어떤 카운트에 응답하기보다는, 영향을 받은 메모리 셀의 내적인 조건에서의 변화를 위해 채택되었다.
본 발명은 데이터 저장을 위해 복수의 셀을 포함하는 메모리의 하나 이상의 셀을 관리하는 것이다. 셀은 VPGM BASE, VPGM STEP, 최대 프로그래밍 전압(VPGM MAX), τPGM BASE, τPGM STEP, 및/또는 최대 프로그래밍 펄스 기간과 같은 하나 이상의 파라미터의 각각의 값에 따라 프로그램된다. 프로그래밍 파라미터의 초기 값과 관련된 셀의 조건이 모니터된다. 모니터된 조건이 파라미터의 값에서의 변화가 보장된 것을 지시할 때, 적어도 하나의 파라미터의 새로운 값은 오래된 값을 대처하며, 그리고 셀은 새로운 값에 따라서 프로그램된다.
본 발명에 따라서, 메모리의 조건에 채택된 프로그래밍 파라미터 값은 셀의 조건에 따라서 개별적인 셀에 별도로 채택되거나 또는 페이지 및 블록과 같은 셀의 그룹에 대처하여 채택된다. 셀이 개별적으로 프로그래밍되고 그래서 각각의 셀에 별도로설정된 파라미터 값을 가지고 있는 NOR 플래시와 같은 메모리에 본 발명이 적용가능하지만, 본 발명의 우선적으로 의도된 분야는 셀이 한번에 하나 이상의 페이지의 그룹으로 집단적으로 프로그램되는 NAND 플래시 메모리와 같은 메모리이다. 이러한 메모리에서, 페이지 또는 블록의 조건은 모니터되고 그리고 파라미터의 공통 값이 페이지 또는 블록의 모든 셀을 프로그램하는데 사용되고 그리고 페이지 또는 블록의 모니터링에 따라서 업데이트된다. 이러한 집단적인 모니터링 및 업데이트는 "페이지 당" 또는 "블록 당" 모니터링되고 업데이트되는 것을 말한다.
본 발명의 제 1 면에 따라서, 셀에 저장된 비트의 수는 프로그래밍 파라미터의 값의 변화에도 불구하고 일정하게 유지된다. 통상, 셀당 비트의 수는 정수(예를 들면, SLC 대 MLC); 이러한 수는 정수일 필요는 없다. 예를 들면, 미국 특허 6,469,931에서, 2n-레벨 MLC 메모리의 셀당 n 비트 이상 저장하는 방법을 교시하고 있는데, 셀당 비트의 수는 일반적으로 정수는 아니다.
본 발명의 제 2 면에 따라서, 모니터된 셀의 조건은 셀의 내적인 조건이다. 셀의 프로그래밍 히스토리에 관련되는 내적인 조건 중에는, 예를 들면, 셀을 프로그래밍하는데 있어서 에러의 수, 셀의 프로그래밍 반복의 축적된 수(얼마나 많이 셀이 프로그램되었는지 또는 얼마나 많이 소거/프로그래밍 사이클을 셀이 경험했는지 관계없이), 셀의 가장 퇴근에 프로그래밍을 위해 필요한 프로그래밍 반복의 수, 그리고 셀의 프로그램하는데 필요한 소정의 임계 값을 초과하는 다수의 반복 이후부터의 시간 등이 있다. 단일 셀의 모니터링의 경우에, 예를 들면, "에러의 수"가 셀이 프로그램된 시간의 수일 수 있지만, 셀을 판독하기 위해 계속되는 시도는 셀이 프로그램되지 않았다는 것을 의미한다. 셀의 그룹의 모니터링의 경우에, 예를 들면, "에러의 수"는 셀의 수가 될 수 있는데, 이것은 판독에 따라 셀이 비트의 특정 스트링(string)을 저장하도록 프로그램한 후에 미스프로그램된 것으로 나타난다. 이들 내적인 조건은 셀이 프로그램된 시간의 수, 파라미터의 초기 값에 따라서 셀이 프로그램된 시간의 수, 그리고 파라미터의 초기 값에 따라서 셀의 가장 최근 프로그래밍의 시간과 같은 셀-프로그래밍-히스토리와 관련된 외적인 조건과 대비되고, 그리고 셀이 소거되는 시간의 수 그리고 셀의 가장 최근의 소거의 시간과 같은 셀-이레이저-히스토리와 관련된 외적인 조건과 대비된다. 이들 외적인 조건은 본 발명의 제 1 면과 일치하고 그리고 사실, 본 발명의 제 1 면에 따라 모니터되는 조건 중에 있을 수 있다. 이벤트의 "시간"은 이벤트의 날짜를 포함하는 뜻이다.
본 발명의 데이터 저장 디바이스는 데이터를 저장하기 위한 복수의 셀, 하나 이상의 파라미터에 따라서 셀 내에 데이터를 프로그래밍하기 위한 프로그래밍 유닛, 그리고 본 발명의 제 1 또는 제 2 면에 따라서 파라미터의 값을 적절히 관리하기 위한 메카니즘을 포함한다.
본 발명의 범위는 또한 미리 선택된 기준에 대하여 VPGM BASE 및 VPGM STEP와 같은 프로그래밍 파라미터의 초기 값을 최적화하는 방법을 포함하여, 최적화를 위해 셀을 특정하는데 사용되는 프로그래밍 파라미터의 값을 얻으며, 또한, 본 발명은 프로그래밍 파라미터를 초기화하는데 이러한 방법을 사용하는 데이터 저장 디바이스를 포함한다. 얻어진 값이 최적화되기 위해 셀에 특정되는 것은 본 발명을 종래와 식별되게 하는데, 종래는 예를 들면, 새롭게 디자인된 플래시 메모리 디바이스의 모두를 위해서, 또는 새롭게 제조된 이러한 일괄 디바이스 위해서도 사용되도록 공통 프로그래밍 파라미터 값을 플래시 메모리 디바이스의 제조업자가 결정한다. 바람직하게, 최적화는 파라미터의 후보 값에 따라서 셀을 프로그래밍하는 것을 포함한다. 하나의 바람직한 기준은 하나 이상의 메모리를 프로그램하는데 필요한 프로그래밍 반복의 수가 최소로 되는 것이다. 바람직하게, 프로그래밍 파라미터의 2개 이상이 결합하여 최적화된다.
본 발명은 첨부된 도면을 참조하여 단지 예시적으로 설명한다.
도 1은 종래 기술의 리프로그램가능한 불휘발성 메모리 셀, 그리고 디바이스내에서 블록과 페이지 내로의 셀 조직을 예시하는 단면도.
도 2는 종래 기술의 프로그램 반복 구동을 예시하는 플로우차트.
도 3은 개별적인 데이터 프로그래밍 펄스의 파라미터를 예시하는 도면.
도 4는 스트레스 증분의 함수로서 증가된 성능과 증가된 신뢰성의 작동구역을 개념적으로 예시하는 도면.
도 5는 셀 고장률과 축적된 스트레스 사이의 관계를 개념적으로 도시한 도면.
도 6은 일정한 데이터 프로그래밍 파라미터에 대하여, 프로그램/소거 사이클 수의 함수로서 셀의 하강하는 신뢰성을 개념적으로 예시하는 도면.
도 7은 디바이스 고장의 시작을 지연시키기 위해서 고장률 곡선의 조정을 개념적으로 예시하는 도면.
도 8은 디바이스 고장의 시작을 지연시키기 위해서 고장률 곡선의 결과를 개념적으로 예시하는 도면.
도 9는 본 발명의 실시예에 따른 방법의 플로우차트.
도 10은 본 발명의 실시예에 따른 시스템의 블록 다이어그램.
도 11은 프로그래밍 파라미터의 값을 초기화하기 위해 본 발명의 실시예에 따른 방법의 실시예의 플로우차트.
도 12는 본 발명이 관련된 디바이스 라이프-사이클의 3 페이즈를 개념적으로 예시하는 도면.
본 발명에 따른 방법 및 시스템의 원리와 작용은 첨부 도면 및 아래의 설명으로 이해될 것이다.
디바이스의 특징, 및 그 프로그래밍과 히스토리
셀은 신뢰성있는 데이터의 저장과 검색을 위해 셀의 물리적인 적합성에 관계되는 "조건"에 의해 특정될 수 있다. 페이지 역시 담겨진 셀의 전체적인 집합 조건을 반영하도록, 조건에 의해 특정될 수 있다. 유사하게, 블록은 페이지(1 또는 담겨진 셀의 전체적인 집합 조건을 반영하도록, 조건에 의해 특정될 수 있다.
또한, 데이터 프로그래밍 구동을 실시하기 위해 셀이 받는 물리적인 이벤트는 한 세트의 프로그래밍 파라미터에 의해 특정될 수 있는데, 각각의 파라미터는 이름 식별과 값을 가지고 있다. 실시예로서, 파라미터 "프로그래밍 베이스 전압"은 특정의 전압 값과 관련되어 있다.
더욱이, 데이터 프로그래밍 그리고 다른 구동 동안에 셀이 실제로 받는 물리적인 이벤트는 셀의 "히스토리"에 기록될 수 있다. "디바이스 히스토리"라는 용어는 또한 디바이스 자체에 저장된 히스토리를 나타내는데 사용된다. 일반적으로, 셀 히스토리는 모든 데이터 구동으로부터의 상세한 기록이라기 보다는 추출된 및/또는 통계학적으로 프로세스된 정보를 담고 있다. 실시예로서, 데이터 프로그래밍 구동 수의 카운트(총합,총계), 제 1 데이터 프로그래밍 구동의 타임스템프(timestamp), 가장 최근의 데이터 프로그래밍 구동의 타임스템프, 데이터 프로그래밍 동안에 경험하는 데이터 에러의 카운트, 등을 포함하고 있다. 특히, 데이터 프로그래밍이 반복적으로 수행되는 불휘발성 메모리 디바이스에서, 히스토리는 반복의 카운트를 포함할 수 있다. 소거할 수 있는 불휘발성 메모리 디바이스에서, 디바이스 히스토리는 또한 소거 작업에 관한 정보를 포함할 수 있는데, 히스토리는 소거 작업의 카운트; 그리고 가장 최근의 소거 작업의 타임스템프를 포함하고 있지만, 이것에 한정되는 것은 아니다. 더욱이, 히스토리는 페이지에 근거할 수 있다. 즉, 히스토리는 셀의 집합으로서 각각의 페이지에 콤파일된다. 이러한 실시예는 페이지의 셀에 의해 경험한 프로그래밍 구동의 평균 수, 등을 포함할 수 있다. 이를 더 확장하여, 히스토리는 또한 블록에 근거할 수 있다. 즉, 디바이스 히스토리는 페이지의 집합으로서 각각의 불록에 콤파일된다. 실시예로서, 프로그래밍 데이터가 반복적으로 실행되는 메모리 디바이스에서, 블록은 데이터 프로그래밍 반복의 수에 의해 특정될 수 있다.
본 발명의 실시예에서, 셀, 페이지 또는 블록의 조건은 그 히스토리에 근거하고 있다. 실시예로서, 조건은 특정 이벤트가 히스토리에 기록된 이래로 경과된 시간의 특정 함수가 될 수 있다. 이러한 실시예는 제 1 데이터 프로그래밍 구동이 소정의 시간량을 초과한 이래로 경과된 시간을 포함하고 있지만, 여기에 한정되는 것은 아니며, 소거가능한 불휘발성 메모리 디바이스에 대해서는, 가장 최근의 소거 동작 이래로 경과된 시간에 의해서 또는 프로그램/소거 사이클의 카운트에 의해서 블록을 특정한다.
VPGM BASE 그리고 VPGM STEP 이외에, 프로그래밍 구동을 위한 다른 가능한 반복적인 파라미터가 있다(도 3). 하지만, 단순하고 명확하게 하기 위해서, 다음의 실시예들은 VPGM BASE와 VPGM STEP를 사용하여 본 발명을 예시한다. 유사한 실시예가 또한 다른 반복적인 파라미터를 사용할 수 있고, 그리고 이들 실시예는 단지 예시적인 것이고 본 발명의 범위를 한정하는 것은 아니다.
신뢰성 및 축적된 스트레스
도 5에 도시된 바와 같이, 신뢰성은 축적된 스트레스로 저하된다. 스트레스는 프로그램/소거 사이클 이외에 다양한 소스로부터 나올 수 있다. 장기간 데이터 유지 및 멀티플 부분-페이지-프로그래밍 구동은 스트레스를 부과한다. 스트레스는 또한 극단적인 온도와 같은, 환경조건에 의해서 부과될 수 있다.
사용에 의해서 특정되는 데이터의 저장
데이터의 의도된 사용에 좌우되는, 데이터 저장을 위한 변동 필요조건이 있다. 다수의 새로운 플래시 메모리 응용은 정상적인 기입-판독 저장, 이미지 저장, 및 자기 디스크 매체를 위한 대체와 같은 그러한 메모리 데이터의 사용을 포함한다. 따라서, 본 발명의 실시예는 다음과 같은 특징 카테고리에서, 사용에 좌우되어, 저장된 데이터에 대한 상이한 필요조건을 인식한다.
* 프로그래밍 성능 - 저장된 데이터의 프로그래밍 속도
* 재기입가능성 - 반복적으로 프로그래밍되는 데이터의 능력
* 신뢰성 - 일정 시간주 동안 적절하게 계속 기능할 데이터의 능력
* 충실도 - 에러없이 정확하게 데이터를 저장 및 검색하는 데이터의 능력
* 데이터 유지력 - 확장된 시간 주기 동안 프로그래밍된 데이터를 유지하는 능력
예를들어, 실행가능 프로그램 응용 파일은 최고의 충실도를 필요조건으로 하지만, 큰 재기입가능성 또는 데이터 프로그래밍 성능을 필요로 하지 않을 수 있다. 운영체제 파일 및 기타 기본 실행가능 코드는 확장된 데이터 유지능력을 필요로 한다. 이미지, 그래픽 파일 비디오 파일 및 오디오 데이터 파일은 높은 성능 및 재기입가능성을 필요로 하지만, 에러 허용할 수 있고 큰 충실도 또는 데이터 유지력을 필요조건으로 하지 않는다. 텍스트 파일 및 일정한 프로그램 데이터 파일은 이 카테고리에 속한다. 기타 데이터 저장 카테고리 및 잠재적 카테고리들이 있다.
상기와 같은 필요조건 문제를 다루기 위해, 본 발명의 실시예에선, 하나이상의 프로그래밍 파라미터가 상기 필요조건을 충족시키도록, 특정 사용에 대해 최적화되도록 하기 위해, 데이터 프로그래밍의 특징을 특정하기 위한 프로그래밍 필요조건 셋트가 제공된다. 본 발명의 다른 실시예에서, 사용에 따라 특징된 데이터에는 상기 카테고리의 상대 중요도를 나타내는, 필요조건 프로파일이 제공된다. 본 발명의 또다른 실시예에서, 필요조건 인덱스는 그 상대적 중요성을 지시하는 넘버이다.
하기와 같은 비제한 예는, 각각의 카테고리가 5는 필요조건의 최고 중요한 레벨을 지시하고, 1은 필요조건의 최저 중요한 레벨을 지시하는, 1내지 5의 스케일로 등급화되는, "정상적 실행가능 프로그램"을 위한 필요조건 프로파일을 도시한다.
프로그래밍 성능: 2
재기입가능성: 2
신뢰성: 2
충실도: 5
데이터 유지력: 3
다른 비제한 예는, 각각의 카테고리가 상기 예에서와 같이 등급화되는, "운 영 체제" 사용을 위한 필요조건 프로파일이다.
프로그래밍 성능: 1
재기입가능성: 1
신뢰성: 5
충실도: 5
데이터 유지력: 5
또다른 비제한 예는 상기한 바와 동일한 카테고리 등급화 체계를 갖춘, "이미지" 저장된 데이터 유형을 위한 필요조건 프로파일이다.
프로그래밍 성능: 4
재기입가능성: 4
신뢰성: 3
충실도: 2
데이터 유지력: 1
기타 카테고리 등급화 체계도 가능하다. 본 발명의 실시예에서, 필요조건 프로파일이 저장되고 용이하게 참조될 수 있다. 상기한 바와 같은 비제한예에서, 사진 이미지로서 사용하기 위한 데이터는 "이미지" 필요조건 프로파일을 참조하여 저장될 수 있고, 이는 그후 하기하는 바와 같이, 이들 이미지를 위한 데이터 프로그래밍 파라미터를 저장하기 위해 사용될 수 있다.
상이한 데이터 유형은 반드시 디바이스의 물리적 분할을 필요로 하지 않지만, 본 발명의 실시예에서, 물리적 분할 체계는 상이한 유형과 연관된다는 것을 유의해야 한다. 비제한예에서, 데이터의 특정한 물리적 영역은 충실도의 손상으로 인해, 더 이상 "정상적 실행가능 프로그램" 데이터 저장 유형이 "이미지" 데이터 저장 유형 파일 대신에 사용하기 위한 필요조건 프로파일을 만족시키지 않는다.
히스토리(history)
상기한 바와 같이, 종래 기술의 디바이스 히스토리는 프로그램/소거 사이클의 수를 추적유지하는 것에 한정된다. 본 발명의 실시예는 유사하게 프로그램/소거 사이클의 수를 추적유지하지만, 또한 프로그래밍 반복의 수에 대한 히스토리; 기입된 데이터의 타임스탬프 히스토리; 데이터 프로그래밍 파라미터의 히스토리; 및 데이터 에러 히스토리등을 포함하는 새로운 히스토리를 도입한다. 데이터 에러 히스토리에 대해, 당업계에서 데이터 에러의 보정은 공지되어 있지만, 데이터 에러 히스토리를 유지보수하는 것은 본 발명의 신규의 특징임을 알아야 한다.
본 발명의 실시예에서, 상기한 바와 같은 히스토리는 히스토리 데이터가 수집되었던 시점에 실제로 데이터 프로그래밍 파라미터로 저장된다. 이에 대한 비제한 예에서, 프로그램/소거 사이클의 수는 데이터 프로그래밍 파라미터에 따라 디바이스 히스토리에 추적유지된다. 이후에, 이러한 히스토리는 특정된 VPGM BASE 및 VPGM STEP에서 특정 셀이 겪는 데이터 프로그래밍 동작 횟수, 반복 횟수, 및 상기 에서 기록된 데이터 에러 갯수를 알기위해 검색될 수 있다.
프로그래밍 전압 스텝 사이즈
프로그래밍 전압 스텝 사이즈(VPGM STEP) 및 초기값(VPGM BASE)은 디바이스 성능 및 신뢰성에 대한 큰 효과를 갖는다.
VPGM STEP이 상대적으로 큰 경우, 성공적 프로그래밍에 필요한 반복의 평균 횟수는 상당히 감소되어 프로그래밍 동작이 더욱 고속이 될 수 있게 한다. 반면에, 셀에 큰 스트레스를 지우게 되고 결과적으로 신뢰성이 열화한다. 소정 신뢰성 상세조건을 충족시키는 셀의 능력은 낮아지고, 이것은 프로그래밍 및 소거, 오버-프로그래밍 효과, 데이터 유지능력 효과등에 대해 허용오차가 낮아지게되는 결과로 된다.
VPGM STEP이 상대적으로 적은 경우, 성공적 프로그램에 필요한 반복의 평균 횟수는 상당히 증가될 수 있어서, 프로그래밍 동작이 더욱 저속이 될 수 있게 하지만, 셀의 신뢰성을 잠재적으로 개선시킨다. 셀에 부관된 감소된 부담은 셀이 프로그래밍에 대한 큰 허용오차를 갖고, 오버-프로그래밍 효과, 데이터 유지능력 효과등에 대해 더욱 큰 내력을 갖는다는 것을 의미한다.
종래 기술의 구현에서, 베이스 전압(VPGM BASE) 및 전압 스텝 사이즈(VPGM STEP)은 제조 동안 디바이스에 통합되는 소정 값이고 디바이스의 수명 동안 일정하게 유지된다. 이들 값은 디바이스의 전체 유효 수명 동안 역할을 하기 때문에, 셀이 누적된 부담의 효과를 나타내는 경우 상당한 사용후에라도 허용될 수 있는 "최악의 값"으로서 결정되어져야 한다. 이를 달성하기 위해, 신뢰성 임계치 및 성능 임계치는, 상기 임계치들을 충족하는 적절한 데이터 프로그래밍 파라미터가 존재하는 방식으로, 설정된다. 예를들어, 지나치게 큰 VPGM STEP는 오류인 "니(Knee)"가 너무 일 찍 발생하게 하고, 반면에 지나치게 작은 VPGM STEP는 "니(Knee)"의 발생을 연기시키지만 불만족스런 성능을 나타낸다. 다른말로하면, 종래 기술의 VPGM STEP 및 VPGM BASE는 평균 조건에 대해 설정되고, 고성능 및 고신뢰성을 제공하지 못한다.
프로그래밍 파라미터의 적응성 조정
상기한 바와 같이, 본 발명은 디바이스 성능의 충격을 최소화하는 한편, 디바이스의 유효 수명을 늘리고 신뢰성을 확장하는, 데이터 프로그래밍 동안 불휘발성 메모리 디바이스의 프로그래밍 파라미터를 적응성있게 제어하기 위한 방법 및 장치에 관한 것이다.
도 9는 본 발명의 여러 실시예의 기본 방법의 흐름도이다. 스텝(901)에서, 데이터 프로그래밍 동작은 제1 프로그래밍 파라미터 세트(903)를 이용하여 수행된다. 이후에, 스텝(905)에서, 데이터 프로그래밍 동작은 제2 프로그래밍 파라미터 세트(903)를 이용하여 수행되고, 여기서 제2 프로그래밍 파라미터 세트(903)의 적어도 하나는 대응하는 파라미터 세트(903)와는 상이한 값을 갖는다. 세트(903)를 이용하는 프로그래밍 데이터로부터 세트(907)를 이용하는 프로그래밍 데이터로의 스위칭은, 소정 데이터 프로그래밍 필요조건을 달성하기 위해 성능 개선; 디바이스 신뢰성 개선; 및/또는 데이터 프로그래밍 파라미터 최적화를 위한 목적으로, 데이터 프로그래밍 동작이 수행되는 방식으로 변경하기 위해 행해진다. 본 발명의 실시예에서 이러한 스위칭은 데이터 프로그래밍이 행해지는 페이지의 조건에 기초하거나, 또는 데이터 프로그래밍이 행해지는 블록의 조건에 기초한다. 이러한 조건들은, 세트(903)를 이용한 가장 최근의 데이터 프로그래밍 동작 이후 초과된 경과 시간; 가장 최근의 소거 동작 이후 초과된 경과 시간; 소거 사이클의 초과된 카운트; 데이터 프로그래밍 반복의 초과된 카운트; 및 프로그래밍 동작 동안 겪는 데이터 에러의 초과된 카운트를 포함하며, 여기에 제한되지 않는다. 여기서, 무엇이 "초과(excessive)"되었는지는, 상황에 따라, 미리 설정된 수 또는 지속 시간과의 비교에 의해 결정된다.
도 10은 본 발명의 실시예에 따른, 데이터 프로그래밍을 위한 시스템(1000)을 예시한다. 디바이스 어레이(1001)는 프로그래밍 유닛(1007)이 파라미터 초기화기(1013)에 의해 초기화되고 스토리지(1011)에 유지되는 프로그래밍 파라미터에 따라 데이터(1009)를 프로그래밍하는 페이지(1005)를 포함하는 블록(1003)을 포함한다. 상태 평가기(1015)는 디바이스 어레이(1001)의 상태 및/또는 그것의 서브디비젼을 모니터하고, 부분적으로 디바이스 어레이(1001)의 상태 및/또는 그것의 서브디비젼에 따라, 스토리지(1011)에 유지되는 프로그래밍 파라미터를 수정하는 파라미터 수정기(1021)에 입력을 제공한다. 파라미터 수정기(1021)는 또한, 파라미터 수정기(1021)에 이용가능한 클록-캘린더 기능부(1018)에 대해 액세스할 수 있는 히스토리 관리자(1017)에 의해 유지되는 히스토리부(1019)로부터의 입력을 갖는다. 클록-캘린더 기능부(1018)는 액티브한 실시간 클록-캘린더일 필요는 없지만, 동작이 발생하는 적절한 일자 및 시간을 제공할 수 있으면 된다. 이것은 일반성 및 기능성의 손실없이 외부 소스로부터 구할 수 있다.
상태 평가기(1015)에 의해 평가되는 디바이스 어레이(1001)의 상태는 파라미터 수정기(1021), 파라미터 최적화기(1023), 및 프로그래밍 필요조건 유닛(1025)에 의한 이후의 참조를 위해 히스토리부(1019)에 저장된다. 파라미터 수정기(1021)는 시간(118), 히스토리부(1019) 및 파라미터 최적화기(1023)에 응답하여 프로그래밍 파라미터(1011)를 수정할 수 있고, 그후에 프로그래밍 필요조건 유닛(1025)에 응답한다.
프로그래밍 파라미터 값 초기화
본 발명의 실시예에 따라, 새로운 디바이스는 임의 데이터를 프로그래밍하기 이전에 그 프로그래밍 필요조건 프로파일를 자동적으로 초기화한다. 메모리 디바이스의 수명사이클중 이 시점에서선 누적된 스트레스가 없으며; 디바이스의 데이터 프로그래밍 특징(성능, 스트레스 내력, 데이터 에러 없는 정도, 신뢰성등)은 앞으로 어느 것 보다 신뢰성이 있고, 디바이스는 최대 수행 성능을 갖는다. 새로운 디바이스는 이렇게하여 데이터 프로그래밍을 위한 그 자신의 기본 특징성을 획득한다. 이들 기본 특징들은 하기하는 바와 같이 동작을 셋업시키는 데에 사용되고, 또한 디바이스의 다양한 셀이 현재 동작하는 특정 단계들을 자동적으로 결정하기 위한 것이다.
본 발명의 다른 실시예에 따라, 적절한 제어회로 및/또는 소프트웨어 및/또는 펌웨어가 디바이스 내부에, 및/또는 디바이스의 호스트에 포함되고, 따라서 그 디바이스가 그 프로그래밍 파라미터를 자동적으로 초기화하는 것이 가능하다. 이 초기화는 셀의 블록 또는 페이지와 같은, 디바이스의 상이한 서브디비젼을 위해 새별적으로 수행될 수 있음을 알아야 한다. 다시 한번, 하기의 비제한예는 프로그래밍 동작을 위한 일정한 파라미터관점에서 예시되었지만, 그 밖의 파라미터도 가능하다.
프로그래밍 파라미터를 초기화하기 위한 한 바람직한 기준은 셀의 그룹(페이지, 브록등) 또는 타겟 셀을 프로그래밍하는 데에 필요한 프로그래밍 반복의 횟수가 최소화되는 것이다. 메모리 디바이스가 샐운 것일 경우, 반복의 횟수는 디바이스의 성능을 쵯화하기 위해 가능한한 적게 유지된다. 디바이스가 노후됨에 따라, 상기한 적응성 조정방법은 프로그래밍 파라미터를 디바이스의 현재 조건에 적용시키는 데에 사용된다.
도 11은 프로그래밍 파라미터의 값을 초기화하기 위한 개괄적인 흐름도이다.블록(110)에서, 파라미터는 초기화된다. 블록(1102)에서, 프로그래밍 전압(VPROGRAM)은 파라미터에 따라 설정되고 타겟 셀 또는 셀의 그룹에 인가된다. 블록(1102)에서 "프로그램"의 의미는 도 2의 블록(207): 다수의 반복의 전체 프로그래밍 동작 보단 단일 프로그래밍 반복에서 "프로그램"의 의미와 동일하다. 블록(1104)에서, 블록(1102)의 프로그래밍 스텝이 성공되었는지 실패되었는지가 결정된다. 블록(1102)의 프로그래밍 스텝이 실패되었으면, 블록(1108)에서 파라미터는 증가하고 블록(1112)에서 파라미터는 반복된다. 블록(1102)의 프로그래밍 스텝이 성공되었으면, 블록(1106)에서 파라미터의 값은 성공된 맨 마지막값으로 감소되고 파라미터의 최종 결과값이 블록(1110)에서 파라미터의 초기 동작값으로서 수용된다.
예를들어, 초기화를 위해 선택된 값이 VPGM BASE이면, 블록(1100)에서 VPGM BASE의 값은 제로 볼트와 같은 베이스 값과 동일하게 설정된다. 블록(1102)에서 VPROGRAM은 VPGM BASE과 같도록 설정되고 타겟셀에 인가된다. 타겟셀로의 VPROGRAM의 인가가 타겟셀 을 프로그래밍하는 것을 실패하면 VPGM BASE는 블록(1108)에서 고정된 양(예, 0.1볼트)만큼 증가되고 블록(1102)의 프로그래밍 스텝은 반복된다. 타겟셀로의 VPROGRAM의 인가가 타겟셀을 프로그래밍하는 것을 성공하면 VPGM BASE는 블록(1106)에서 동일한 고정된 양만큼 감소된다. VPGM BASE의 값은 증가되고 블록(1110)에서 VPGM BASE의 초기 동작 값으로서 수용된다.
또는 초기화를 위해 선택된 프로그래밍 파라미터가 VPGM STEP이면, 블록(1110)에서 VPGM BASE 의 값은 제로볼트와 같은 고정값을 설정되고 VPGM STEP의 값은 0.1 볼트와 같은 베이스 값과 동일하게 설정된다. 블록(1102)에서 VPROGRAM은 VPGM BASE+VPROGRAM 과 같도록 설정되고 타겟셀에 인가된다. 타겟셀로의 VPROGRAM의 인가가 타겟셀을 프로그래밍하는 것을 실패하면 VPGM STEP는 블록(1108)에서 고정된 양(예, 0.1볼트)만큼 증가되고 블록(1102)의 프로그래밍 스텝은 반복된다. 타겟셀로의 VPROGRAM의 인가가 타겟셀을 프로그래밍하는 것을 성공하면 VPGM STEP는 블록(1106)에서 동일한 고정된 양만큼 감소된다. 그 VPGM STEP의 값은 증가되고 블록(1110)에서 VPGM BASE의 초기 동작 값으로서 수용된다.
도 11의 흐름도는 고정된 다른 프로그래밍 파라미터의 값을 유지하는 한편 다른 프로그래밍 파라미터의 초기화에 적용되는 흐름도이다. 당업자는 두 개 이상 의 프로그래밍 파라미터(예, VPGM BASE 및 VPGM STEP)를 결합하여 최적화하는 방법이 명확하게 이해될 것이다. 도 11에 도시된 일차원 탐색 대신에, 다차원 파라미터 공간에서의 탐색이 유효하다.
프로그래밍 파라미터가 시스템의 현재 조건에 적용된 시스템(1000)을 예시하는 것에 추가하여, 도 10은 프로그래밍 파라미터가 상기한 바와 같이 초기화된 시스템(1000)을 예시하고 있다. 프로그래밍 필요조건 유닛(205)은 예를들어 프로그래밍 반복의 최대 타겟 횟수와 같은 미리선택된 초기화 기준을 제공한다. 파라미터 최적화기(1023)은 이 기준과 관련된 프로그래밍 파라미터의 초기 값을 최적화한다.
3-페이즈 전략
본 발명과 관련된 전기적으로 소거가능한 메모리 디바이스의 동작 수명에서의 3페이즈를 예시한다. 페이즈 1은 정상 셀 수명의 초기부분에 대응하는, 셀 고장율 커브(1201)에 대한 동작 체제(regime)내에 있다. 페이즈 2는 셀 고장율 커브(1202)에 대한 동작 체제내에 있다. 페이즈 3은 셀 고장율 커브(1203)에 대한 동작 체제내에 있다. 또한 고장율 커브(1202)의 "니"도 도시되어 있다.
페이즈 1에서, 디바이스 셀은 강건하고 신뢰성있고 따라서 "최악의 경우"의종래기술의 소정값 보다 큰 VPGM STEP의 값으로서 수용될 수 있다. 또한, "최악의 경우"의 VPGM BASE 보다 고레벨로 설정될 수 있다. 이것들을 더 높은 값으로 설정하는 것은 각각의 프로그래밍에서 더 적은 수의 반복 횟수를 필요로 하고, 일정한 소정 의 값을 이용하여 정상적으로 획득되어지게되는 것보다 높은 성능이 되는 결과로 된다. 페이즈 1의 시작시에, 파라미터들(VPGM STEP, VPGM STEP, VPGM MAX)는 상기한 바와 같이, 디바이스의 맨처음 동작 이전에 초기화에 의해 결정된다.
페이즈 2에서, 프로그래밍 동작 당 증가하는 스트레스는 디바이스 신뢰성을 확대시키기 위해, 본 발명의 실시예에 따라 적응적으로 감소된다. 예를들어, "최악의 경우"의 종래기술의 소정값 VPGM STEP는 100,000 프로그램/소거 사이클에 견디도록 특정된다. 본 발명의 실시예에 따라 증분 스트레스를 감소시킴에 의해, 프로그램/소거 사이클의 수는 합리적인 수의 증배만큼 증가될 수 있고, 이렇게하여, 디바이스의 유용한 수명을 늘인다.
페이즈 3에서, 디바이스는 신뢰성의 현저한 열화와 함께, "니" 효과가 예상될 수 있는 충분히 누적된 스트레스를 확득하고 있다. 파라미터를 더욱 조정함에 의해, "니"를 제거 또는 지연시키는 것이 가능할 수 있다. "니" 효과가 검출되면(하기에서 알 수 있는 바와 같이), VPGM STEP는 예를들어, 디바이스로의 스트레스 증가를 경감시키기 위해 감소되어질 수 있다. 이것은 "니"를 완화시키고 또한 열화의 시작을 지연시킨다.
"니" 검출
"니" 효과는 디바이스 특징의 히스토리를 모니터링함에 의해 실시간으로 검출될 수 있다.
본 발명의 또다른 실시예에서, 이전 판독에서의 에러의 수(오류 비트)가 모 니터된다. 디바이스의 열화는 점진적이기때문에, 이전 판독에서의 오류 비트의 수가 디바이스의 최대 에러-보정 성능에 근사하다면, VPGM STEP는 감소된다. 데이터 유지력은 스스로 디바이스상에 어떠한 스트레스도 부여하지 않는다해도, 과도한 수의 오류 비트는 반복된 프로그래밍 및 소거 사이클에 의해 디바이스상에 위치되어 있는 스트레스를 반영한다는 것으로 여겨진다. 이 가정되추축된다.
본 발명의 또다른 실시예에서, 데이터 프로그래밍 동작의 횟수를 나타내는 수가 판독된다. 이 수는 소정 임계치에 도달하면(비제한예에서, 80,000사이클), VPGM STEP가 감소된다.
본 발명의 또다른 실시예에서, 저장된 데이터의 의도된 사용은 프로그래밍 파라미터의 조정에 영향을 미친다. 상기한 바와 같이, 상이한 데이터 사용은 상이한 레벨의 오류고장 및 에어 면역력을 필요로 한다. 실행 코드, 예를들어,는 100% 에러 없는 동작을 필요로 한다. 이미지 및 오디오-비디오 스트림은 에러에 대해 훨씬 허용오차범위가 크다. 데이터 유형에 대한 지식은 파라미터의 조정을 위한 상이한 퀄리티의 타겟 체계를 정의할 수 있게 한다.
상기한 바와 같은 다양한 동작 특징 및 데이터(에러, 타임스탬프, 프로그래밍의 수 등)은 히스토리에서 이용가능하다.
프로그래밍 파라미터의 조정
본 발명의 실시예에서, 프로그래밍 파라미터는 상기에서 개괄한 3 페이즈 전략을 달성하기 위해 주기적 조정이 행하여지게 된다. 일반적인 관점에서, 모든 프로그래밍 파라미터 P(VPGM STEP 및 VPGMBASE)를 포함하지만 이에 제한되지 않는 P에 의해 표현된 특정한 프로그래밍 파라미터) 는 함수 Fp의 형태로 주어진 조정값 Padj를 갖는다.
Padj = Fp(Pinit, Pcurr, H, Udata) (2)
여기서 Pinit는 실행시간 평가에서 결정되는, 파라미터의 초기화값이고; Pcurr는 파라미터의 현재 값이고; H는 디바이스의 히스토리(특정 프로그래밍 파라미터의 히스토리에 반드시 제한되지는 않는)이고; Udata는 (상기) 관련 필요조건을 참조하는, (상기) 데이터 사용이다. 최소한, 인수는 H, Udata와 적어도 하나의 Pinit, 및, Pcurr를 포함한다.
등식 (2)에서 를 계산 한 후에, 조정값은 새로운 값으로 된다. 즉,
Pcurr ← Padj (3)
함수 는 저절한 조정을 달성하는 데에 필요한, 테이블에서의 다양한 상수, 계수를 포함한다. 또한, 최근 히스토리이 사용되면, 등식 (2) 및 (3)은 특정 페이즈를 위한 소망 목적을 달성하기 위해 프로그래밍 파라미터의 피드백 제어를 제공한다. 본 발명의 실시예에서, 주기적 조정이 각각의 후속하는 프로그래밍 동작 이전에 행해진다.
비제한예에서, P는 VPGM STEP 이고, n은 프로그램/소거 사이클의 수이고, n=100,000(소정 수) 후에 VPGM STEP 를 감소시키는 것이 바람직하다.
그러면 FPGM STEP는,
Figure 112006006751650-pct00002
(4)
그후, n이 소정 임계치에 도달하면, 증가하는 프로그래밍 스텝 전압은 감소할 것이다.
본 발명이 제한된 수의 실시예에 대해 설명되었지만, 본 발명의 다양한 변형, 수정 및 기타 응용이 행해질 수 있음이 인식된다.

Claims (37)

  1. 메모리를 관리하는 방법에 있어서,
    (a) 적어도 하나의 파라미터의 제1 값에 따라서, 미리 선택된 비트의 수를 저장하도록 상기 메모리의 적어도 하나의 셀을 프로그래밍하는 단계;
    (b) 상기 메모리의 프로그래밍에 관한 경과 시간을 모니터링하는 단계; 및
    (c) 상기 적어도 하나의 셀의 후속 프로그래밍에서 상기 비트의 수를 일정하게 유지시키면서, 상기 모니터링에 따라 상기 제1 값을 제2 값으로 바꾸는 단계;를 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  2. 제 1 항에 있어서, 상기 적어도 하나의 셀은 적어도 하나의 페이지 내에 형성되어 있고, 그리고 상기 프로그래밍, 모니터링 및 바꾸는 단계는 페이지 단위로 실시되는 것을 특징으로 하는 메모리를 관리하는 방법.
  3. 제 2 항에 있어서, 상기 적어도 하나의 페이지는 적어도 하나의 블록 내에 형성되어 있고, 그리고 상기 프로그래밍, 모니터링 및 바꾸는 단계는 블록 단위로 실시되는 것을 특징으로 하는 메모리를 관리하는 방법.
  4. 제 1 항에 있어서,
    (d) 상기 제2 값에 따라서 상기 적어도 하나의 셀을 프로그래밍하는 단계;를 더 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  5. 제 1 항에 있어서, 상기 적어도 하나의 파라미터는 프로그래밍 베이스 전압, 프로그래밍 반복 스텝핑 전압, 최대 프로그래밍 전압, 프로그래밍 구동당 반복의 최대수, 프로그래밍베이스 펄스 기간 및 프로그래밍 반복 스텝핑 기간을 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 메모리를 관리하는 방법.
  6. 제 1 항에 있어서, 상기 경과 시간이 상기 적어도 하나의 셀의 프로그래밍 히스토리에 관련되는 것을 특징으로 하는 메모리를 관리하는 방법.
  7. 제 6 항에 있어서, 상기 경과 시간은,
    (a) 상기 제1 값에 따라서 상기 적어도 하나의 셀을 첫번째 프로그래밍한 때 이후부터의 시간;
    (b) 상기 제1 값에 따라서 상기 적어도 하나의 셀을 가장 최근 프로그래밍한 때 이후부터의 시간; 및
    (c) 상기 적어도 하나의 셀을 프로그램하기 위해 소정의 임계값을 처음 초과하여 반복의 수가 필요한 때 이후부터의 시간;으로 이루어진 그룹으로부터 선택되는 것을 특징으로 하는 메모리를 관리하는 방법.
  8. 삭제
  9. 삭제
  10. 메모리를 관리하는 방법에 있어서,
    (a) 적어도 하나의 파라미터의 제1 값에 따라서 메모리의 적어도 하나의 셀을 프로그래밍하는 단계;
    (b) 상기 제1 값에 따라서 상기 프로그래밍과 관련된 상기 적어도 하나의 셀의 조건을 모니터링하는 단계; 및
    (c) 상기 적어도 하나의 셀에 대한 후속 프로그래밍에서, 상기 모니터링에 따라서 상기 제1 값을 제2 값으로 바꾸는 단계;를 포함하고,
    상기 조건은 특정 이벤트가 히스토리에 기록된 이후의 경과 시간의 함수인 것을 특징으로 하는 메모리를 관리하는 방법.
  11. 제 10 항에 있어서, 상기 적어도 하나의 셀은 적어도 하나의 페이지 내에 형성되어 있고, 그리고 상기 프로그래밍, 모니터링 및 바꾸는 단계는 페이지 단위로 실시되는 것을 특징으로 하는 메모리를 관리하는 방법.
  12. 제 11 항에 있어서, 상기 적어도 하나의 페이지는 적어도 하나의 블록 내에 형성되어 있고, 그리고 상기 프로그래밍, 모니터링 및 바꾸는 단계는 블록 단위로실시되는 것을 특징으로 하는 메모리를 관리하는 방법.
  13. 제 10 항에 있어서,
    (d) 상기 제2 값에 따라서 상기 적어도 하나의 셀을 프로그래밍하는 단계;를 더 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  14. 제 10 항에 있어서, 상기 적어도 하나의 파라미터는 프로그래밍 베이스 전압, 프로그래밍 반복 스텝핑 전압, 최대 프로그래밍 전압, 프로그래밍 구동당 반복의 최대수, 프로그래밍베이스 펄스 기간 및 프로그래밍 반복 스텝핑 기간을 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 메모리를 관리하는 방법.
  15. 삭제
  16. 삭제
  17. 데이터 저장 디바이스에 있어서,
    (a) 데이터를 저장하기 위한 복수의 셀;
    (b) 적어도 하나의 파라미터에 따라서 상기 복수의 셀 내에 데이터를 프로그래밍하여 각각의 상기 셀이 데이터의 소정 비트 수를 저장하기 위한, 프로그래밍 유닛; 및
    (c) (ⅰ) 상기 적어도 하나의 파라미터의 제1 값에 따라서 상기 프로그래밍과 관련된 상기 복수의 셀의 조건을 모니터링하고 그리고 (ⅱ) 상기 복수의 셀의 후속 프로그래밍에서 상기 비트의 수를 일정하게 유지시키면서 상기 모니터링에 따라 상기 제1 값을 제2 값으로 바꾸는, 적어도 하나의 프로세서;를 포함하고,
    상기 조건은 특정 이벤트가 히스토리에 기록된 이후의 경과 시간의 함수인 것을 특징으로 하는 데이터 저장 디바이스.
  18. 데이터 저장 디바이스에 있어서,
    (a) 데이터를 저장하기 위한 복수의 셀;
    (b) 적어도 하나의 파라미터에 따라서 상기 복수의 셀 내에 데이터를 프로그래밍하기 위한 프로그래밍 유닛; 및
    (c) (ⅰ) 상기 적어도 하나의 파라미터의 제1 값에 따라서 상기 프로그래밍과 관련된 상기 복수의 셀의 내적인 조건을 모니터링하고 그리고 (ⅱ) 상기 복수의 셀의 후속 프로그래밍에서 상기 모니터링에 따라 상기 제1 값을 제2 값으로 바꾸는, 적어도 하나의 프로세서;를 포함하고,
    상기 조건은 특정 이벤트가 히스토리에 기록된 이후의 경과 시간의 함수인 것을 특징으로 하는 데이터 저장 디바이스.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 제 10 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 첫번째 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  28. 제 10 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 가장 최근 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  29. 제 10 항에 있어서, 상기 경과 시간은 상기 적어도 하나의 셀을 프로그램하기 위해 소정의 임계값을 처음 초과하여 반복의 수가 필요한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  30. 제 17 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 첫번째 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  31. 제 17 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 가장 최근 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  32. 제 17 항에 있어서, 상기 경과 시간은 상기 적어도 하나의 셀을 프로그램하기 위해 소정의 임계값을 처음 초과하여 반복의 수가 필요한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  33. 제 18 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 첫번째 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  34. 제 18 항에 있어서, 상기 경과 시간은 상기 제1 값에 따라서 상기 적어도 하나의 셀을 가장 최근 프로그래밍한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  35. 제 18 항에 있어서, 상기 경과 시간은 상기 적어도 하나의 셀을 프로그램하기 위해 소정의 임계값을 처음 초과하여 반복의 수가 필요한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  36. 메모리를 관리하는 방법에 있어서,
    (a) 적어도 하나의 파라미터의 제1 값에 따라서, 미리 선택된 비트의 수를 저장하도록 상기 메모리의 적어도 하나의 셀을 프로그래밍하는 단계;
    (b) 상기 적어도 하나의 셀을 소거하는 단계;
    (c) 상기 적어도 하나의 셀의 소거 히스토리에 관한 경과 시간을 모니터링하는 단계; 및
    (d) 상기 적어도 하나의 셀의 후속 프로그래밍에서 상기 비트의 수를 일정하게 유지시키면서, 상기 모니터링에 따라 상기 제1 값을 제2 값으로 바꾸는 단계;를 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
  37. 제 36 항에 있어서, 상기 경과 시간은 상기 적어도 하나의 셀을 가장 최근 소거한 때 이후부터의 시간을 포함하는 것을 특징으로 하는 메모리를 관리하는 방법.
KR1020067001978A 2003-07-30 2004-07-25 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템 KR100963855B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49220603P 2003-07-30 2003-07-30
US60/492,206 2003-07-30

Publications (2)

Publication Number Publication Date
KR20060054374A KR20060054374A (ko) 2006-05-22
KR100963855B1 true KR100963855B1 (ko) 2010-06-16

Family

ID=34103029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067001978A KR100963855B1 (ko) 2003-07-30 2004-07-25 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템

Country Status (6)

Country Link
US (2) US7437498B2 (ko)
EP (2) EP1654736B1 (ko)
KR (1) KR100963855B1 (ko)
AT (1) ATE443330T1 (ko)
DE (1) DE602004023209D1 (ko)
WO (1) WO2005010638A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200138810A (ko) * 2018-05-01 2020-12-10 실리콘 스토리지 테크놀로지 인크 딥 러닝 인공 신경망에서의 아날로그 신경 메모리용 고전압 생성을 위한 방법 및 장치

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004023209D1 (de) * 2003-07-30 2009-10-29 Sandisk Il Ltd Verfahren und system zur optimierung von zuverlässigkeit und leistungsfähigkeit von programmierdaten in nichtflüchtigen speicherbausteinen
US7817469B2 (en) * 2004-07-26 2010-10-19 Sandisk Il Ltd. Drift compensation in a flash memory
US7957189B2 (en) 2004-07-26 2011-06-07 Sandisk Il Ltd. Drift compensation in a flash memory
AT8128U3 (de) * 2005-05-09 2006-09-15 Almir Bajramovic Zigarettenrauchabsaugsystem
US7269066B2 (en) 2005-05-11 2007-09-11 Micron Technology, Inc. Programming memory devices
US7283395B2 (en) * 2005-06-24 2007-10-16 Infineon Technologies Flash Gmbh & Co. Kg Memory device and method for operating the memory device
US7292473B2 (en) * 2005-09-07 2007-11-06 Freescale Semiconductor, Inc. Method and apparatus for programming/erasing a non-volatile memory
KR100719697B1 (ko) 2005-10-10 2007-05-17 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7397703B2 (en) * 2006-03-21 2008-07-08 Freescale Semiconductor, Inc. Non-volatile memory with controlled program/erase
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
JP5112666B2 (ja) * 2006-09-11 2013-01-09 株式会社日立製作所 移動装置
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
WO2008068747A2 (en) * 2006-12-03 2008-06-12 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
CN101715595A (zh) * 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7679961B2 (en) 2007-04-25 2010-03-16 Micron Technology, Inc. Programming and/or erasing a memory device in response to its program and/or erase history
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
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
KR101413736B1 (ko) * 2007-09-13 2014-07-02 삼성전자주식회사 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US7970983B2 (en) * 2007-10-14 2011-06-28 Sandisk Il Ltd. Identity-based flash management
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) * 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
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
JP5032290B2 (ja) * 2007-12-14 2012-09-26 株式会社東芝 不揮発性半導体記憶装置
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
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
JP2010040144A (ja) 2008-08-07 2010-02-18 Toshiba Corp 不揮発性半導体記憶システム
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. 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
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
KR101541442B1 (ko) * 2008-11-04 2015-08-03 삼성전자주식회사 메모리 및 프로세서를 포함하는 컴퓨팅 시스템
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
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
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
US8276042B2 (en) * 2009-02-03 2012-09-25 Micron Technology, Inc. Determining sector status in a memory device
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
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
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
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
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
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
JP5364750B2 (ja) * 2011-03-25 2013-12-11 株式会社東芝 メモリシステム、及び不揮発性メモリデバイスの制御方法
US9176862B2 (en) * 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
US10319460B2 (en) * 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
US9594516B2 (en) 2014-02-14 2017-03-14 Sony Semiconductor Solutions Corporation Memory device with variable trim parameters
KR102248276B1 (ko) 2014-05-26 2021-05-07 삼성전자주식회사 스토리지 장치의 동작 방법
US9696918B2 (en) 2014-07-13 2017-07-04 Apple Inc. Protection and recovery from sudden power failure in non-volatile memory devices
DE102014115885B4 (de) * 2014-10-31 2018-03-08 Infineon Technologies Ag Funktionstüchtigkeitszustand von nicht-flüchtigem Speicher
KR102253592B1 (ko) 2014-12-23 2021-05-18 삼성전자주식회사 초기 문턱 전압 분포 변화를 보상할 수 있는 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템
KR102458918B1 (ko) * 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10402272B2 (en) * 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US10600496B1 (en) 2018-10-18 2020-03-24 Micron Technology, Inc. Modifying memory bank operating parameters
KR102640951B1 (ko) * 2018-11-22 2024-02-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11138107B2 (en) 2020-02-20 2021-10-05 Micron Technology, Inc. Modifying subsets of memory bank operating parameters
US11605427B2 (en) 2021-01-04 2023-03-14 Taiwan Semiconductor Manufacturing Company Ltd. Memory device with write pulse trimming
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060011715A1 (en) * 2002-11-06 2006-01-19 Bartlett Glenn J Disposable container for liquids with molded liner

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5270979A (en) * 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US6134148A (en) * 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
EP0913832B1 (en) * 1997-11-03 2003-07-23 STMicroelectronics S.r.l. Method for multilevel programming of a nonvolatile memory, and a multilevel nonvolatile memory
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
US6469931B1 (en) * 2001-01-04 2002-10-22 M-Systems Flash Disk Pioneers Ltd. Method for increasing information content in a computer memory
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6515909B1 (en) * 2001-10-05 2003-02-04 Micron Technology Inc. Flash memory device with a variable erase pulse
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
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
JP4050555B2 (ja) * 2002-05-29 2008-02-20 株式会社東芝 不揮発性半導体記憶装置およびそのデータ書き込み方法
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
DE602004023209D1 (de) * 2003-07-30 2009-10-29 Sandisk Il Ltd Verfahren und system zur optimierung von zuverlässigkeit und leistungsfähigkeit von programmierdaten in nichtflüchtigen speicherbausteinen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060011715A1 (en) * 2002-11-06 2006-01-19 Bartlett Glenn J Disposable container for liquids with molded liner

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200138810A (ko) * 2018-05-01 2020-12-10 실리콘 스토리지 테크놀로지 인크 딥 러닝 인공 신경망에서의 아날로그 신경 메모리용 고전압 생성을 위한 방법 및 장치
KR102654503B1 (ko) 2018-05-01 2024-04-04 실리콘 스토리지 테크놀로지 인크 딥 러닝 인공 신경망에서의 아날로그 신경 메모리용 고전압 생성을 위한 방법 및 장치

Also Published As

Publication number Publication date
US20050024978A1 (en) 2005-02-03
WO2005010638A2 (en) 2005-02-03
EP1654736B1 (en) 2009-09-16
US20090073769A1 (en) 2009-03-19
WO2005010638A3 (en) 2005-04-28
ATE443330T1 (de) 2009-10-15
DE602004023209D1 (de) 2009-10-29
EP1654736A2 (en) 2006-05-10
US7437498B2 (en) 2008-10-14
EP1654736A4 (en) 2007-04-18
EP2113844A1 (en) 2009-11-04
KR20060054374A (ko) 2006-05-22

Similar Documents

Publication Publication Date Title
KR100963855B1 (ko) 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템
KR100851853B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
JP4723504B2 (ja) フラッシュメモリのデータ修正およびスクラブ技術
TWI410975B (zh) 具有狀態電壓位準的調適性設定之非揮發性記憶體及其方法
US8009472B2 (en) Method for adaptive setting of state voltage levels in non-volatile memory
US6549467B2 (en) Non-volatile memory device with erase address register
KR100975164B1 (ko) 비휘발성 메모리 시스템에 대한 내부 보수 스케줄 요청
US7808836B2 (en) Non-volatile memory with adaptive setting of state voltage levels
US8755229B1 (en) Limiting flash memory over programming
US9501400B2 (en) Identification and operation of sub-prime blocks in nonvolatile memory
WO2005076745A2 (en) Method of managing a multi-bit-cell flash memory
US9342401B2 (en) Selective in-situ retouching of data in nonvolatile memory
KR101468432B1 (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US8902665B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
KR100866626B1 (ko) 스페어 영역을 갖는 비휘발성 메모리 장치 및 그의 블록소거 방법
US20090122616A1 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
JP2013125575A (ja) 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法
KR20130069366A (ko) 불휘발성 반도체 메모리 장치 및 불휘발성 반도체 메모리 장치의 동작 조건 제어 방법
US9576649B2 (en) Charge loss compensation through augmentation of accumulated charge in a memory cell
TWI594248B (zh) 記憶體裝置的刷新方法以及可調整刷新操作頻率的記憶體裝置
CN112116944A (zh) 可减少难编程的存储单元编程干扰的编程方法
US9153293B2 (en) Operation scheme for non-volatile memory
KR20080056845A (ko) 소거 스트레스와 소거 타임을 줄인 불휘발성 반도체 메모리장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 10