KR101348665B1 - 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법 - Google Patents

플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법 Download PDF

Info

Publication number
KR101348665B1
KR101348665B1 KR1020087018661A KR20087018661A KR101348665B1 KR 101348665 B1 KR101348665 B1 KR 101348665B1 KR 1020087018661 A KR1020087018661 A KR 1020087018661A KR 20087018661 A KR20087018661 A KR 20087018661A KR 101348665 B1 KR101348665 B1 KR 101348665B1
Authority
KR
South Korea
Prior art keywords
memory device
value
memory
data
grade
Prior art date
Application number
KR1020087018661A
Other languages
English (en)
Other versions
KR20080092929A (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 KR20080092929A publication Critical patent/KR20080092929A/ko
Application granted granted Critical
Publication of KR101348665B1 publication Critical patent/KR101348665B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

메모리 디바이스를 관리하는 방법, 그렇게 관리되는 메모리 디바이스, 이러한 메모리 디바이스를 포함한 시스템이 개시된다. 본 디바이스의 수명 파라미터의 값은 그 디바이스에 의해 모니터링이 수행되는 디바이스 상에 데이터 오퍼레이션 후 모니러링된다. 디바이스의 등급은 이 값에 의해 도출된다. 바람직한 수명 파라미터는 성공적으로 프로세싱된 데이터와 성공적으로 프로세싱되지 못한 데이터의 비율, 및 디바이스의 전력 소비의 편차를 포함한다. 이 등급은 메모리의 기대 수명의 예측으로서 역할한다. 바람직한 등급은 비교 등급, 최대 등급, 및 평균 등급을 포함한다.
메모리 디바이스, 데이터 오퍼레이션, 수명 파라미터, 등급

Description

플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는 방법{METHOD FOR ESTIMATING AND REPORTING THE LIFE EXPECTANCY OF FLASH-DISK MEMORY}
본 발명은 일반적으로 디지털 메모리 디바이스, 특히 제거가능한 플래시 메모리 디바이스에서 신뢰도 저하의 빌트인 탐지 방법에 관한 것이다.
디지털 메모리 디바이스는 종종 중요한 데이터를 위한 신뢰성있는 메모리 디바이스로 사용된다. 이러한 장치의 제한된 기대 수명과 복잡도의 결과로, 디지털 메모리 디바이스는 고장날 수 있고, 귀중한 데이터의 손실을 일으킨다. 비휘발성 저장 시스템은 때때로 동일한 피스의 실리콘 상에 놓인 메모리 및 컨트롤 시스템을 포함한다. 컨트롤 시스템에 의해 실행되는 태스크 중 하나는 에러 보정이다.
에러 보정 코드(ECC)는 저장 엘리먼트의 특성, 또는 오퍼레이팅 환경의 특성에 의해 생성된, 데이터 내의 간헐적인 에러를 검출하고, 그 에러를 수정하고, 보정된 오리지널 정보를 사용자의 요청에 따라 전송한다. ECC 시스템은 보정될 수 있는 에러의 개수에 관한 빌트인 한계를 가진다. 초과하는 개수의 에러가 발생하면, 그 정보는 수정될 수 없고, 손실된 것으로 보고되거나, 그 에러와 함께 사용자에게 전송될 수 있다.
메모리 디바이스를 사용하는 소프트웨어 어플리케이션은 이러한 정보는 보정 시스템이 데이터를 수정에 실패할 때까지는 정확한 것으로 가정한다. 메모리가 완전하게 기능하는 한, 메모리가 저하되고 있고, 고장에 근접하고 있음을 사용자에게 알리지 않는다. 에러 레벨이 고장 전에 메모리의 기대 수명을 예측하기 위해 사용될 수 있는 몇 가지 조기-경고 징후 중 하나임을 알려야 한다.
오늘날, 사용자(및 어플리케이션)는 저장된 데이터의 상태 또는 컨디션을 인식하지 않는다. 그러므로, 데이터 손실의 위험을 줄이기 위해 액티브 측정을 수행할 수 없다. 이러한 측정은, 예컨대, 데이터의 백업 생성하는 것, 데이터를 새로운 저장 매체로 이동시키는 것, 및 메모리 디바이스의 문제가 있는 영역을 다른 영역으로 재기록하는 것을 포함한다.
현재의 기술은 메모리 디바이스의 "품질(health)"(즉, 오퍼레이션-신뢰도 성능)을 리포팅하는 방법을 제공하지 않는다. 몇몇 종래기술의 방법이 내부적인 로드-밸런싱 목적으로 디바이스의 사용(즉 그 디바이스에 기록된 횟수)을 기록하지만, 이 방법은 사용자 또는 어플리케이션에 조기-경고 안내를 제공하기 위한 목적으로 설계되지 않았다. 디바이스의 사용과 디바이스의 남은 기대 수명 사이의 연관관계가 존재하지만, 이러한 연관관계는 (단지 나이를 기초로 사람의 기대 수명을 예측하는 것이 부정확한 것과 유사하게) 디바이스간에 본래의 랜덤 가변성이 존재하기 때문에 절대적이지 않다.
메모리 디바이스의 품질을 모니터링하고자 하는 방법이 공지되어 있으나, 호스트 시스템에서 실행하는 프로그램으로 제한되어 있다. 그러므로, 이러한 방법은 에러를 보정하기 위해 에러보정 방법이 사용된 후, 보정된 정보만 처리할 수 있다. 종래기술의 시스템의 한 예는 캘리포니아주 쿠페르티노의 'Symantec Corp.'로부터 사용가능한 "Norton System Doctor(NSD)" 제품에 포함되어 있는(또한, 문서 ID:2001082218352309에 서술되어 있고, NSD 제품 메뉴얼에 포함되어 있고, 'Norton' 웹사이트, 'www.norton.com'에서 찾을 수 있는) "Disk Health"라 불리는 피처에 제공되어 있다. 데이터는 메모리 디바이스로부터 판독되고, 그러므로, 호스트 시스템은 그 데이터가 보정되기 전에 원(raw) 데이터에 노출되지 않는다. 이러한 형태는 이러한 종래기술의 방법을 메모리 디바이스의 품질의 저하의 초기 단계에 덜 민감하게 만든다.
디바이스의 품질이 저하하고, 높은 실패 가능성에 근접한 때, 이러한 메모리 디바이스의 사용자에게 조기-경고 안내를 제공하는 것이 바람직하다.
또한, 메모리 디바이스에 상주하고, 데이터를 보정하기 위해 임의의 시도가 이루어지기 전에, 메모리 디바이스 상에 수명 파라미터를 나타내는 실제 저하를 탐지하고 리포팅하는 방법에 따라 오퍼레이팅하는 시스템을 가지는 것이 바람직할 것이다. 이러한 시스템은 고유의 기대 수명이 전통적인 단일-레벨 플래시 메모리 디바이스에서 보다 더 짧고, 에이징의 징후가 루틴 오퍼레이션을 느리게 하지 않고 측정될 수 있는 현대의 멀티-레벨 플래시 메모리 디바이스에 대하여 매우 중요할 수 있다.
본 발명의 목적은 일반적으로 디지털 메모리 디바이스, 그리고 특히 제거가능한 플래시 메모리 디바이스의 신뢰도 저하의 빌트인 탐지 방법을 제공하는 것이다. 본 발명은 전형적인 예로서 플래시 메모리 디바이스를 설명하지만, 임의의 메모리 디바이스가 적용가능하고, 본 발명의 범위에 속한다.
명료함을 위해, 몇 가지 용어들이 본 명세서에서의 사용을 위해 특별하게 정의되어 있다. 용어 "수명 파라미터"는 그 값이 메모리 디바이스의 수명 동안 변하하고, 메모리 디바이스의 적어도 하나의 셀의 상대적으로 저하된 품질을 나타내고, 디바이스의 기대 수명과 연관된, 메모리 디바이스의 변수를 의미하는 것으로 본 명세서에서 사용된다. 이러한 파라미터는, 예컨대, 평균 에러 개수, 프로그래밍 사이클의 개수, 및 그 비트가 메모리에 기록될 때 (프로그래밍 오퍼레이션의 제1프로그래밍 펄스 상의) 논리 상태가 플립핑된 비트의 개수를 포함한다.
본 발명은 단일-레벨-셀(SLC) 플래시 메모리, 및 멀티-레벨-셀(MLC) 플래시 메모리 모두에 적용한다. 후속 설명은 주로 SLC 셀에 중점을 두지만, 본 발명을 MLC 셀에 적용하는 방법은 당업자들에게 자명할 것이다. 용어 "삭제" 및 "기록"은 메모리 셀의 임계 전압을 셋팅하는 것을 의미하는 것으로 본 명세서에서 사용되었고, SLC 셀에 대하여, 삭제는 전형적으로 전압을 1-논리 상태에 대응하는 전압으로 셋팅하고, 기록은 전형적으로 전압을 0-논리 상태에 대응하는 전압으로 셋팅한다. 용어 "기록" 및 "프로그래밍"은 본 명세서에서 상호치환가능하게 사용되었다. 본 발명은 특히 한번에 한 페이지가 판독되고 프로그래밍되는 NAND-타입 플래시 메모리에 적용가능하다.
용어 "블록"은 단일 오퍼레이션에서 삭제될 수 있는, 메모리 내의, 셀의 최소 단위를 의미하는 것으로 본 명세서에서 사용된다. 용어 "페이지"는 단일 오퍼레이션으로 기록될 수 있는, 메모리 내의 ,셀의 최소 단위를 의미하는 것으로 본 명세서에서 사용된다. 전형적으로, 블록 내에 복수의 페이지가 존재한다. 용어 "등급"은 페이지 또는 블록의 수명 파라미터의 값을 기초로, 메모리 페이지 또는 블록의 신뢰도의 측정을 의미하는 것으로 본 명세서에서 사용된다. 삭제 오퍼레이션은 전형적으로 (한 페이지와 대조적인) 한 블록에 대하여 실행된다. 그러므로, 삭제 오퍼레이션의 설명에서, 등급은 블록의 수명 파라미터를 기초로 블록의 신뢰도의 측정을 의미한다.
용어 "초기 품질"은 몇몇 기준값으로부터 페이지 또는 블록의 등급의 편차를 나타내는 수명 파라미터를 의미하는 것으로 본 명세서에서 사용된다. 블록은 상이한 초기 품질을 가지고 그들의 "삶"을 시작할 수 있다. 용어 "상대적으로 저하된 품질"은 블록이 생산되고 테스트된 후, 초기 품질로부터 블록 또는 페이지의 품질의 저하를 의미하는 것으로 본 명세서에서 사용된다. 블록의 품질은 상이한 속도로 저하될 수 있다. 용어 "양호한 셀"은 데이터 오퍼레이션과 연관된 한 시퀀스의 프로그래밍 펄스 후, 논리 상태를 성공적으로 변경한 셀을 의미하는 것으로 본 명세서에서 사용된다.
또한, 용어 "메모리 디바이스"는 에러를 야기할 수 있는 물리적 프로세스를 통해 데이터를 저장하는 임의의 비휘발성 메모리를 의미하는 것으로 본 명세서에서 사용된다. 이러한 메모리 디바이스는 반도체, 자성, 홀로그래피, 광, 및 다른 물리적 이진-논리 메모리-기술을 기반으로 하는, 휴대용 및 고정 디바이스를 포함한다.
도 1은 SLC NAND-타입 플래시 메모리 디바이스의 전형적인 기록 오퍼레이션을 위한 오퍼레이션 프로시저의 플로우차트이다. 플래시 메모리 디바이스의 메모리의 컨트롤러가 메모리에 임의의 정보를 페이지에 기록하도록 지시한 때, 메모리는 일련의 오퍼레이션을 수행한다. 먼저, 데이터는 메모리 버퍼에 기록된다(블록 10). 그 다음, 기록-오퍼레이션 데이터의 목적지(즉, 메모리 내의 물리적 위치, 또는 "워드 라인")가 선택된다(블록 12). 프로그래밍 단계는 몇 개의 짧은 프로그래밍 펄스로 분할된다. 제1펄스는 프로그래밍되어야 하는 모든 비트를 프로그램하도록 적용된다(블록 14). 각각의 프로그래밍 사이클 후, 프로그래밍된 비트는 그 비트가 임계 레벨(이 레벨은 표준 판독 임계-레벨 보다 크다)을 만족하는지를 검증하기 위해 체크된다. 모든 비트가 옳은 값에 있지 않으면(블록 18), 추가적인 프로그래밍 사이클이 실행된다(블록 20). 옵션으로서, 추가 사이클은 더 높은 전압으로 실행된다(블록 20). 모든 비트가 버퍼의 값과 매칭한 때, 프로그램 사이클(즉, 기록 오퍼레이션)은 종료한다(블록 22).
통상적으로, 프로그래밍 사이클은 기록 오퍼레이션이 종료할 때까지 점차적으로 증가하는 레벨의 전압을 사용한다. 그러나, 몇몇 타입의 NAND-타입 플래시 메모리 디바이스에서, 제1펄스와 제2펄스 사이의 차이는 후속 펄스들보다 더 크다. 이러한 경우에, 수 개의 초기의 큰 증가 후 전압을 작은 단계로 증가시키는 옵션이 사용된다.
데이터를 플래시 메모리에 선택적으로 기록(프로그래밍)하는 프로세스는 전형적으로, SLC 구현에서, 1-논리값에서 0-논리값으로, 선택된 메모리 셀의 논리 상태를 변경하는 것을 포함한다. 플래시 메모리로부터 데이터를 선택적으로 삭제하는 프로세스는 전형적으로, 0-논리값에서 1-논리값으로, 선택된 메모리 셀의 값을 변경하는 것을 포함한다. 그러나, 이러한 지정은 임의적인 것이며, 반대의 지정으로 동등하게 구현될 수 있다.
NAND-타입 플래시 메모리는 데이터가 플래시 메모리 셀에 프로그래밍되기 전에 데이터를 수신하는 하나 이상의 페이지 버퍼(즉, 판독/기록 가능한 메모리 셀)를 가진다. 각각의 플래시 메모리 셀이 한 비트의 정보를 포함하고, 삭제된 플래시 메모리 셀은 1-논리값을 가진 플래시 메모리에 대하여, 페이지 프로그래밍 방법은 다음 단계로 구현된다:
1) 페이지 버퍼의 대응 셀에 0-논리값을 가진 플래시 메모리 셀에만 프로그래밍 전압 펄스를 적용하는 단계로서, 여기서, 프로그래밍 전압 펄스는 셀을 원하는 임계 전압으로 셋팅하고자 하는 단일 시도이고, 전형적으로 많은 이러한 펄스가 원하는 전압 레벨을 달성하기 위해 요구되는 단계;
2) 메모리 내의 프로그래밍된 데이터를 판독하는 단계;
3) 판독될 때, 0-논리값을 반환하는 모든 플래시 메모리 셀에 대하여 페이지 버퍼의 대응 셀을 1-논리값으로 셋팅하는 단계;
4) 그 페이지 버퍼 내의 모든 셀이 1-논리값을 포함할 때까지, 또는 펄스의 개수가 허용된 최대 개수를 초과할 때까지, 단계 1-3을 반복하는 단계; 및
5) 펄스의 개수가 허용된 최대 개수를 초과하였다면, 페이지 프로그래밍 오퍼레이션에 대하여 실패 상태를 반환하는 단계.
본 발명은 플래시 메모리 디바이스의 메모리 컨트롤러가 플래시 메모리 디바이스의 저하 징후를 탐지할 수 있고, 플래시 메모리 디바이스의 기대 수명의 신뢰성있는 예측을 제공할 수 있는 몇 가지 바람직한 실시예를 포함한다. 등급으로부터 유도된 수명 파라미터는 플래시 메모리 디바이스의 기대 수명의 "예측"으로서 역할한다. 더 낮은 수명 파라미터를 가진 디바이스는 더 좋은 수명 파라미터를 가진 디바이스 보다 기대 수명이 상대적으로 더 짧음을 나타낸다.
한 바람직한 실시예에서, 본 시스템은 플래시 메모리로부터 데이터를 판독의 에러 확률을 모니터한다. 통상적으로, 이러한 통계는 플래시 메모리 컨트롤러의 ECC에 사용가능하고, 플래시 메모리 그 자체에 임의의 다이렉트 액세스는 요구하지 않는다. 몇몇 플래시 메모리 디바이스에서, ECC는 플래시 메모리 자체에 빌트인된다. 이러한 디바이스에서, 에러의 개수에 대한 정보는 커맨드에 의해 메모리 컨트롤러에 사용가능하게 된다.
다른 바람직한 실시예에서, 본 시스템은 프로그래밍 동안 데이터 비트의 상태를 변경하기 위해 요구되는 펄스의 평균 개수, 또는 최대 개수를 모니터한다. 플래시 메모리 디바이스에서, 이 개수는 (플래시 메모리의 타입에 따라) 4 내지 25개의 프로그래밍 펄스 범위인 것이 바람직하다. 플래시 메모리가 저하할수록, 플래시 메모리에 데이터를 기록하기 위해 요구되는 펄스의 개수는 증가한다.
다른 바람직한 실시예에서, 본 시스템은 주어진 개수의 펄스 후 데이터 비트의 논리 상태의 성공적인 변경 횟수를 모니터한다. 예를 들어, 제1 펄스 후 정확하게 프로그래밍된 비트의 개수는 더 많은 비트가 기록을 위해 하나 이상의 펄스를 요구할 때 플래시 메모리의 저하와 함께 감소된다.
그러므로, 본 발명에 따라, 메모리 디바이스 관리 방법이 처음으로 제공된다. 본 방법은 a) 메모리 디바이스에서 데이터 오퍼레이션 후 메모리 디바이스의 수명 파라미터의 값을 모니터하는 단계; 및 b) 상기 값으로부터 메모리 디바이스의 등급을 도출하는 단계를 포함한다.
바람직하게는, 수명 파라미터는 성공적으로 프로세싱된 데이터와 성공적으로 프로세싱되지 못한 데이터의 비율이다.
대안으로서, 수명 파라미터는 메모리 디바이스의 전력 소비의 편차이다. 가장 바람직하게는, 이 편차는 복수의 오퍼레이션에 대한 측정값의 평균이다.
바람직하게는, 등급은 메모리의 기대 수명의 예측으로서 역할한다.
바람직하게는, 상기 오퍼레이션은 프로그래밍 오퍼레이션이고, 상기 값은 메모리 디바이스의 한 페이지 내의 적어도 하나의 셀의 논리 상태를 변경하기 위해 요구되는, 상기 오퍼레이션과 연관된, 프로그래밍 펄스의 개수이다.
바람직하게는, 상기 오퍼레이션은 삭제 오퍼레이션이고, 상기 값은 메모리 디바이스의 한 블록 내의 적어도 하나의 셀의 논리 상태를 변경하기 위해 요구되는, 상기 오퍼레이션과 연관된, 프로그래밍 펄스의 개수이다.
바람직하게는, 상기 오퍼레이션은 프로그래밍 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 페이지 내의 양호한 셀의 개수이다.
바람직하게는, 상기 오퍼레이션은 삭제 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 블록 내의 양호한 셀의 개수이다.
바람직하게는, 상기 오퍼레이션은 데이터를 기록하는 것, 데이터를 판독하는것, 및 데이터를 삭제하는 것으로 구성된 그룹으로부터 선택된다.
바람직하게는, 상기 등급은 소정의 기준값과 현재값의 비교 등급, 모니터링 디바이스 내에 저장된 복수의 값의 최대 등급, 및 모니터링 디바이스 내에 저장된 복수의 값의 평균 등급으로 구성된 그룹으로부터 선택된다.
가장 바람직하게는, 상기 등급은 소정의 기준값과 현재값의 비교이고, 본 방법은 c) 메모리 디바이스의 제조시에 메모리 디바이스에 상기 소정의 기준값을 저장하는 단계를 더 포함한다.
바람직하게는, 모니터링하는 단계는 등급을 도출할 목적으로 메모리 디바이스에 액세스하는 단계를 포함한다.
바람직하게는, 본 방법은 모니터링 디바이스에 상기 등급을 저장하는 단계를 더 포함한다.
가장 바람직하게는, 모니터링 디바이스는 메모리 디바이스, 메모리 디바이스의 내장된 컨트롤러, 및 메모리 디바이스의 호스트 시스템으로 구성된 그룹으로부터 선택된다.
바람직하게는, 상기 도출하는 단계는 메모리 디바이스에 의해 초기화된다.
바람직하게는, 상기 도출하는 단계는 메모리 디바이스의 호스트 시스템에 의해 초기화된다.
바람직하게는, 상기 도출하는 단계는 메모리 디바이스의 내장된 컨트롤러에 의해 초기화된다.
바람직하게는, 상기 도출하는 단계는 호스트 시스템에서 실행하는 어플리케이션에 의해 초기화된다.
바람직하게는, 상기 도출하는 단계는 호스트 시스템에서 실행하는 운영체제에 의해 초기화된다.
본 발명에 따라, 데이터 관리 메모리 디바이스가 처음으로 제공되고, 본 디바이스는 a) 메모리; 및 b) 컨트롤러를 포함하고, 상기 컨트롤러는 i) 메모리 상에서 데이터 오퍼레이션 후 수명 파라미터의 값을 모니터링하고, 그리고 ii) 상기 값으로부터 상기 메모리 디바이스의 등급을 도출하도록 동작한다.
바람직하게는, 상기 등급은 메모리 디바이스의 기대 수명의 예측으로서 역할한다.
본 발명에 따라, 데이터 관리 시스템이 처음으로 제공되고, 본 시스템은 a) 메모리를 포함한 메모리 디바이스; 및 b) 메모리 디바이스 내에 하우징된 프로세서를 포함하고, 상기 프로세서는 i) 메모리 상에서 데이터 오퍼레이션 후 수명 파라미터의 값을 모니터링하고, 그리고 ii) 상기 값으로부터 메모리 디바이스의 등급을 도출하도록 동작한다.
바람직하게는, 상기 등급은 메모리 디바이스의 기대 수명의 예측으로서 역할한다.
이러한 실시예 및 추가 실시예는 아래의 실시예 및 예를 통해 명백해질 것이다.
본 발명은 첨부된 아래의 도면을 참조하여, 예시의 방법으로, 서술되어 있 다.
도 1은 플래시 메모리 디바이스의 전형적인 기록 오퍼레이션을 위한 오퍼레이션 프로시저의 플로우차트이고,
도 2는 본 발명의 바람직한 실시예에 따른, 시간의 함수로서, 메모리 디바이스의 데이터 페이지(또는 블록)의 등급의 저하의 양적인 그래프를 도시하고,
도 3A는 본 발명의 바람직한 실시예에 따른, 메모리 컨트롤러에 의해 발견되고 수정된 에러의 개수를 모니터하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이고;
도 3B는 본 발명의 바람직한 실시예에 따른, 호스트 시스템에 메모리 디바이스의 품질을 리포팅하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이고;
도 4A는 종래기술과 본 발명를 모두 따른, 전형적인 데이터 페이지의 포맷의 간단한 다이어그램이고;
도 4B는 본 발명의 바람직한 실시예에 따른, 페이지의 등급을 포함하는 데이터 페이지의 포맷의 간단한 다이어그램이고;
도 5는 본 발명의 바람직한 실시예에 따른, 한 페이지를 기록하기 위해 요구되는 펄스의 개수, 및 주어진 개수의 펄스 후, 플립핑된 비트의 개수를 모니터하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이고;
도 6A는 본 발명의 바람직한 실시예에 따른, 호스트 시스템에 연결된 플래시 메모리 디바이스의 하이-레벨 블록 다이어그램이고; 그리고
도 6B는 본 발명의 바람직한 실시예에 따른, 호스트 시스템에 연결된 대안의 플래시 메모리 디바이스의 하이-레벨 블록 다이어그램이다.
본 발명은 디지털 메모리 디바이스의 신뢰성 저하의 빌트인 탐지 방법에 관한 것이다. 본 발명에 따른, 디지털 메모리 디바이스의 신뢰성 저하의 빌트인 탐지를 위한 원리 및 오퍼레이션은 첨부된 설명 및 도면을 참조하여 더 잘 이해될 것이다.
지금부터 도면을 참조하면, 도 2는 본 발명의 바람직한 실시예에 따른, 메모리 디바이스의 데이터 페이지(또는 블록)의 등급의 저하의 양적 그래프를 시간의 함수로서 도시한다. 상술된 바와 같이, 등급은 오퍼레이션에 따라 페이지 또는 블록을 의미할 수 있다. 도 2의 곡선은 메모리 디바이스의 페이지 또는 블록의 대표적인 등급을 나타낸다. 곡선(30)을 고려하자. 곡선(30)의 페이지/블록의 초기 품질은 선(32)으로 도시된, 기준 등급 값으로부터의 곡선(30)의 초기 등급(t=0에서, 즉 메모리의 생산/테스트 시)의 편차로서 정의된다. 주어진 시간에서 곡선(30)의 페이지/블록의 상대적으로 저하된 품질은 곡선(30)에서 선(32)까지의 등급 차이(34)로 도시되어 있다.
도 3A는 본 발명의 바람직한 실시예에 따른, 메모리 컨트롤러에 의해 발견되고 수정된 에러의 개수를 모니터하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이다. 정보는 메모리 디바이스로부터 반복적으로 판독되거나, 그 정보에 대한 액세스는 어플리케이션 액션에 의해, 또는 그 디바이스의 컨트롤러 상에서 실행하는 내부 프로그램(예컨대, 내부적 테스트 또는 레귤러 유지 프로세스)에 의해 초기 화된다(블록 40). 원(즉, 원래 저장된) 데이터, 및 임의의 저장된 ECC 정보를 판독하는 것을 포함하여, 정보가 메모리 디바이스로부터 판독되고(블록 42), 정보는 데이터 내의 에러가 체크된다(블록 44).
에러 검출/보정이 사용되고, 에러가 수정된다. 원 데이터와 매치하지 않는 비트가 계산되고(블록 44), 수정된다(블록 46). 페이지당 수정된 비트의 개수는 현재 판독된 페이지의 신뢰도 측정을 컨트롤러에 제공한다. 본 실시예에서, 페이지당 수정된 비트의 개수는 내장된 컨트롤러(즉, 메모리 디바이스에 내장된 컨트롤러) 내에 남고, 올바른 데이터만이 어플리케이션으로 전송된다(블록 48). 옵션으로서, 몇몇 ECC 알고리즘에서, 수정된 데이터는 컨트롤러에 의해 메모리에 재기록된다(블록 50). 또한, 컨트롤러는 옵션으로서 에러 비트의 개수를 그 메모리에, 등급으로 알려진, 그 페이지의 신뢰도의 측정으로서 저장한다(도 52).
도 4A는 종래기술 및 본 발명을 모두 따른, 전형적인 데이터 페이지 포맷의 간단한 다이어그램이다. 페이지(70)는 전형적으로 ECC 정보, 관련 데이터 다음에 저장된 ECC(72), 정보 데이터(74)를 포함한다. ECC(72)는 통상적으로 주지된 에러 검출/보정 방법(예컨대, 리드-솔로몬 또는 BCH 알고리즘)을 기초로 한다. 이러한 보정 알고리즘은 (예컨대, 512-바이트 페이지당 4개의 에러 비트까지) 데이터를 제한된 레벨로 수정한다.
도 4B는 본 발명의 바람직한 실시예에 따른, 페이지의 등급을 포함한 데이터 페이지의 포맷의 간단한 다이어그램이다. 페이지(76)는 ECC(72) 다음에 저장된 등급(78), 및 정보 데이터(74)를 가진다. 전형적인 리포트 등급(78)은 512-바이트 페이지당 1개의 에러 비트이다. 등급(78)이 위험한 레벨(예컨대, 512-바이트 페이지당 4개의 에러 비트)로 증가하거나, 임계값을 초과한 때, 어플리케이션은 정보 데이터(74)가 정확했다 하더라도, 액션을 초기화함으로써, 등급(78)으로부터 정보상에 액션을 취한다. 예를 들어, 이 어플리케이션은 정보 데이터(74)를 다른 페이지에 재기록하거나, 그 저하를 리포트할 수 있고, 그로 인해, 정보 데이터(74)의 장기간 신뢰성을 강화한다.
대안으로써, 상이한 타입의 등급 리포팅이 사용될 수 있다. 도 3B는 본 발명의 바람직한 실시예에 따른, 호스트 시스템으로 메모리 디바이스의 품질을 리포트하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이다. 본 실시예에서, "페이지-에러 등급"이 컨트롤러에 저장되고, 판독 오퍼레이션에 응답하여 어플리케이션으로 리포트된다(블록 54). 어플리케이션으로부터의 다이렉트 요청에 응답하여(블록 54), 전체 메모리에서 찾은 페이지 등급 또는 다이나믹(예컨대, 최저 또는 평균) 등급이 리포팅된다. 최저 등급을 나타내는 다이나믹 등급의 경우에, 이 등급이 그 페이지 또는 전체 메모리 디바이스에 대하여 검출된 최대 에러 개수를 나타내도록, 이 등급은 에러의 개수가 현재 저장된 등급을 초과한다면, 그 데이터가 판독되는 각각의 시간에 갱신된다. 평균 등급을 나타내는 다이나믹 등급인 경우에, 이 등급은 그 데이터가 판독되는 시간마다 갱신된다. 등급 판독 오퍼레이션(블록 54)은 다음 단계를 포함한다. 호스트 시스템은 특정 페이지 등급, 또는 디바이스 등급 중 하나를 요청한다(블록 56). 그 다음, 컨트롤러는 그 정보의 저장된 위치(예컨대, 메모리, 레지스터, 또는 컨트롤러 내의 내장된 메모리)로부터 정 보를 판독한다(블록 58).
옵션으로서, 이 액션이 저장된 등급을 기초로 등급의 계산을 요구한다면(예컨대, 페이지 각각의 등급을 기초로 모든 페이지의 평균 또는 최대값), 컨트롤러가 이 계산을 실행한다(블록 60). 그 다음, 요청된 정보(즉, 등급)는 호스트 어플리케이션으로 전송된다(블록 62).
도 5는 본 발명의 바람직한 실시예에 따른, 한 페이지를 기록하기 위해 요구되는 펄스의 개수, 및 주어진 개수의 펄스 후 플립핑된 비트의 개수를 모니터링하는 방법을 위한 오퍼레이션 프로시저의 플로우차트이다. 본 실시예에서, 컨트롤러는 그 페이지의 저하의 측정으로서 모든 비트를 정확한 값으로 셋팅하기 위해 요구되는 펄스의 개수를 사용한다. 도 5에 도시된 프로시저는 도 1에 도시된 프로시저와 유사하다. 데이터는 메모리 버퍼에 저장되고(블록 80), 기록 오퍼레이션을 위한 메모리 내의 물리적 위치가 선택된다(블록 82). 제1펄스가 모든 비트를 프로그래밍하기 위해 적용된다(블록 84). 각각의 프로그래밍 펄스 후, 데이터는 판독되고, 버퍼 내의 타겟 데이터와 비교된다(블록 86).
바람직한 실시예에서, 제1펄스에 의해 또는 임의의 후속 프로그래밍 펄스 성공적으로 플리핑되지 않은(블록 88), 페이지 내의 비트의 개수 또는 퍼센트는 기록된다. 이 개수는 메모리의 에이징 또는 품질의 대안의 측정으로서 사용된다. 다른 바람직한 실시예에서, 블록 88의 단계의 대안으로써 또는 부가적으로, 추가적인 카운터가 사용되고, 각각의 펄스 후 증가된다(블록 90). 카운터는 프로그렘 사이클 내의 프로그램 펄스의 개수를 카운트한다. 그 프로그래밍을 완료하기 위해 요 구되는 펄스의 개수는 메모리 에이징 또는 품질의 측정으로서 사용된다.
각각의 프로그래밍 사이클 후, 프로그래밍된 비트는 그들이 임계 레벨(이 레벨은 표준 판독 임계 레벨보다 더 크다)을 만족하는지 검증하기 위해 체크된다(블록 92). 모든 비트가 정확한 값이 아니면(블록 92), 추가적인 프로그래밍 사이클이 실행된다(블록 94). 옵션으로서, 추가 사이클은 더 높은 전압으로 실행된다(블록 94). 모든 비트가 버퍼 값과 매칭한 때, 프로그램 사이클(즉, 기록 사이클)은 종료한다(블록 96).
본 발명의 바람직한 실시예에서, 리포팅된 등급은 ("페이지 등급"의 반대인) "블록 등급"이고, 판독 및 기록 오퍼레이션으로부터 페이지 등급에 대하여 수집된 정보는 페이지를 보유한 특정 블록에 대한 블록 등급에 대한 정보를 제공하기 위해서만 사용된다. 결과적으로, 품질은 "블록 레졸루션"으로만 리포팅된다.
본 발명의 한 바람직한 실시예에서, 리포팅된 등급은 그 디바이스의 (예컨대, 기준 또는 초기 파워 소비로 부터) 전력 소비의 편차를 나타낸다. 이러한 등급은 데이터 오퍼레이션을 실행하는 그 디바이스의 효율을 나타낸다. 예를 들어, 오퍼레이션을 실행하기 위해 복수의 프로그래밍 펄스를 요구하는 디바이스는 더 적은 펄스로 그 오퍼레이션을 실행할 수 있는 디바이스 보다 더 많은 전력을 소비할 것이다.
본 발명의 한 바람직한 실시예에서, 주어진 시간 기간 동안 액세스되지 않았고, 그러므로 페이지의 품질이 장기간 동안 측정되지 않았던 페이지는 그 페이지의 에이징이 평가되도록 백그라운드에 자동으로 판독된다.
본 발명의 다른 바람직한 실시예에서, 디바이스의 에이징은 그 블록/페이지의 측정된 품질과 (제조시 오리지널 메모리에 저장된) 생산 후 오리지널 품질의 비교에 의해 평가된다. 이 방법은 메모리의 몇몇 영역이 다른 영역보다 더 우수한 품질 특성을 가지고 생산된, 디바이스의 고유한 비균일성을 보상한다.
도 6A는 본 발명의 바람직한 실시예에 따른, 호스트 시스템에 연결된 플래시 메모리 디바이스의 하이-레벨 블록 다이어그램이다. 도 6은 밴의 미국특허 제5,404,485호(이하, 밴 `485라 함)의 도 1로부터 수정되었다. 플래시 메모리 디바이스(100)는 플래시 메모리(102), 컨트롤러(104), 및 RAM(106)을 포함한다. 밴 `485의 "플래시 컨트롤(14)"에 대응하는 컨트롤러(104)는 밴 `485, 및 밴의 미국특허 제5,937,425호(이하 밴 `425라 함)에 서술된 바와 같이, RAM(106)의 도움으로 플래시 메모리(102)를 관리한다. 또한, 컨트롤러(104)는 플래시 메모리(102)에 저장된 데이터의 리프레싱을 지원한다. 플래시 메모리 디바이스(100)는 호스트 시스템(108)에 연결되어 있다.
도 6B는 본 발명의 한 바람직한 실시예에 따른, 호스트 시스템에 연결된 한 대안의 플래시 메모리 디바이스의 하이-레벨 블록 다이어그램이다. 호스트 시스템(110)은 프로세서(112), 및 4개의 메모리 디바이스: RAM(114), 부트 ROM(116), 대용량 저장 디바이스(예컨대, 하드 디스크)(118), 및 플래시 메모리 디바이스(120)를 포함하고, 모두 공통 버스(122)를 통해 통신한다. 플래시 메모리 디바이스(100)와 유사하게, 플래시 메모리 디바이스(120)는 플래시 메모리(102)를 포함한다. 플래시 메모리 디바이스(100)와 달리, 플래시 메모리 디바이스(120)는 그것 의 컨트롤러와 RAM을 포함하지 않는다. 그 대신에, 프로세서(112)가 (예컨대, 이스라엘, 크파 사바의 'msystems Ltd.'의 'TrueFFS™' 드라이버의 방식으로) 밴 `485, 및 밴 `425의 방법을 구현하고, 또한 본 발명의 등급 모니터링 방법을 구현하는 (도시되지 않은) 소프트웨어 드라이버를 실행함으로써 컨트롤러(104)를 에뮬레이팅한다. 또한, 플래시 메모리 디바이스(120)는 프로세서(112)를 플래시 메모리(102)와 통신 가능하게 하는 버스 인터페이스(124)를 포함한다.
본 발명은 제한된 수의 실시예에 관하여 서술되어 있으나, 다양한 변형, 수정, 및 본 발명의 다른 어플리케이션이 이루어질 수 있음이 이해될 것이다.

Claims (24)

  1. 메모리 디바이스를 관리하는 방법으로서,
    a) 상기 메모리 디바이스 상에서 데이터 오퍼레이션 후 상기 메모리 디바이스의 수명 파라미터의 값을 모니터링하는 단계; 및
    b) 상기 값으로부터 상기 메모리 디바이스의 등급을 도출하는 단계를 포함하고, 상기 모니터링하는 단계는 상기 메모리 디바이스에 의해 수행되고,
    상기 등급은 사전결정된 기준의 상기 값에 대한 현재의 상기 값의 비교 등급, 모니터링 디바이스에 저장된 복수의 상기 값의 최대 등급, 및 상기 모니터링 디바이스에 저장된 상기 복수의 상기 값의 평균 등급으로 구성된 그룹으로부터 선택된 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  2. 제 1 항에 있어서, 상기 수명 파라미터는 성공적으로 프로세싱된 데이터와 성공적으로 프로세싱되지 못한 데이터의 비율인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  3. 제 1 항에 있어서, 상기 수명 파라미터는 상기 메모리 디바이스의 전력 소비의 편차인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  4. 제 3 항에 있어서, 상기 편차는 복수의 상기 오퍼레이션에 대한 측정값의 평균인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  5. 제 1 항에 있어서, 상기 등급은 상기 메모리의 기대 수명의 예측으로서 역 할하는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  6. 제 1 항에 있어서, 상기 오퍼레이션은 프로그래밍 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 페이지 내의 적어도 하나의 셀의 논리 상태를 변경할 것이 요구되는, 상기 오퍼레이션과 연관된, 프로그래밍 펄스의 개수인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  7. 제 1 항에 있어서, 상기 오퍼레이션은 삭제 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 블록 내의 적어도 하나의 셀의 논리 상태를 변경할 것이 요구되는, 상기 오퍼레이션과 연관된, 프로그래밍 펄스의 개수인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  8. 제 1 항에 있어서, 상기 오퍼레이션은 프로그래밍 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 페이지 내의 양호한 셀의 개수인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  9. 제 1 항에 있어서, 상기 오퍼레이션은 삭제 오퍼레이션이고, 상기 값은 상기 메모리 디바이스의 한 블록 내의 양호한 셀의 개수인 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  10. 제 1 항에 있어서, 상기 오퍼레이션은 데이터 기록, 데이터 판독, 및 데이터 삭제로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  11. 삭제
  12. 제 1 항에 있어서, 상기 등급은 상기 사전결정된 기준값에 상기 현재 값의 상기 비교 등급이고, 상기 방법은
    c) 상기 메모리 디바이스의 제조시 상기 메모리 디바이스 내에 상기 사전결정된 기준값을 저장하는 단계를 더 포함하는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  13. 제 1 항에 있어서, 상기 모니터링하는 단계는 상기 등급을 도출하기 위해 상기 메모리 디바이스에 액세스하는 단계를 더 포함하는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  14. 제 1 항에 있어서, c) 상기 등급을 모니터링 디바이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  15. 제 14 항에 있어서, 상기 모니터링 디바이스는 상기 메모리 디바이스, 상기 메모리 디바이스의 내장된 컨트롤러, 및 상기 메모리 디바이스의 호스트 시스템으로 구성된 그룹으로부터 선택된 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  16. 제 1 항에 있어서, 상기 도출하는 단계는 상기 메모리 디바이스에 의해 초기화되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  17. 제 1 항에 있어서, 상기 도출하는 단계는 상기 메모리 디바이스의 호스트 시스템에 의해 초기화되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  18. 제 1 항에 있어서, 상기 도출하는 단계는 상기 메모리 디바이스의 내장된 컨트롤러에 의해 초기화되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  19. 제 1 항에 있어서, 상기 도출하는 단계는 호스트 시스템상에서 실행하는 어플리케이션에 의해 초기화되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  20. 제 1 항에 있어서, 상기 도출하는 단계는 호스트 시스템상에서 실행하는 운영체제에 의해 초기화되는 것을 특징으로 하는 메모리 디바이스를 관리하는 방법.
  21. 데이터 관리 메모리 디바이스로서,
    a) 메모리; 및
    b) 컨트롤러로서,
    i) 상기 메모리 상에서 데이터 오퍼레이션 후 수명 파라미터의 값을 모니터링하고, 그리고
    ii) 상기 값으로부터 상기 메모리 디바이스의 등급을 도출하도록 동작하는 컨트롤러를 포함하고,
    상기 등급은 사전결정된 기준의 상기 값에 대한 현재의 상기 값의 비교 등급, 모니터링 디바이스에 저장된 복수의 상기 값의 최대 등급, 및 상기 모니터링 디바이스에 저장된 상기 복수의 상기 값의 평균 등급으로 구성된 그룹으로부터 선택된 것을 특징으로 하는 데이터 관리를 위한 메모리 디바이스.
  22. 제 21 항에 있어서, 상기 등급은 상기 메모리 디바이스의 기대 수명의 예측으로서 역할하는 것을 특징으로 하는 데이터 관리 메모리 디바이스.
  23. 데이터 관리 시스템으로서,
    a) 메모리를 포함한 메모리 디바이스; 및
    b) 프로세서로서,
    i) 상기 메모리 상에서 데이터 오퍼레이션 후 수명 파라미터의 값을 모니터링하고, 그리고
    ii) 상기 값으로부터 상기 메모리 디바이스의 등급을 도출하도록 동작하고, 상기 메모리 디바이스에 하우징된 프로세서를 포함하고,
    상기 등급은 사전결정된 기준의 상기 값에 대한 현재의 상기 값의 비교 등급, 모니터링 디바이스에 저장된 복수의 상기 값의 최대 등급, 및 상기 모니터링 디바이스에 저장된 상기 복수의 상기 값의 평균 등급으로 구성된 그룹으로부터 선택된 것을 특징으로 하는 데이터 관리 시스템.
  24. 제 23 항에 있어서, 상기 등급은 상기 메모리 디바이스의 기대 수명의 예측으로서 역할하는 것을 특징으로 하는 데이터 관리 시스템.
KR1020087018661A 2006-02-10 2007-02-08 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법 KR101348665B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77178606P 2006-02-10 2006-02-10
US60/771,786 2006-02-10
PCT/IL2007/000173 WO2007091263A2 (en) 2006-02-10 2007-02-08 Method for estimating and reporting the life expectancy of flash-disk memory

Publications (2)

Publication Number Publication Date
KR20080092929A KR20080092929A (ko) 2008-10-16
KR101348665B1 true KR101348665B1 (ko) 2014-01-08

Family

ID=38345543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018661A KR101348665B1 (ko) 2006-02-10 2007-02-08 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법

Country Status (7)

Country Link
US (1) US7512847B2 (ko)
EP (1) EP1982264A2 (ko)
JP (1) JP2009526340A (ko)
KR (1) KR101348665B1 (ko)
CN (1) CN101529526B (ko)
TW (1) TWI339337B (ko)
WO (1) WO2007091263A2 (ko)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
JP4487978B2 (ja) * 2006-06-28 2010-06-23 セイコーエプソン株式会社 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
US7616508B1 (en) * 2006-08-10 2009-11-10 Actel Corporation Flash-based FPGA with secure reprogramming
JP4575346B2 (ja) * 2006-11-30 2010-11-04 株式会社東芝 メモリシステム
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7765426B2 (en) 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
TWI362044B (en) * 2007-11-09 2012-04-11 Transcend Information Inc Storage apparatus and method for accessing data and for managing memory block
US7903486B2 (en) * 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US20090161243A1 (en) * 2007-12-21 2009-06-25 Ratnesh Sharma Monitoring Disk Drives To Predict Failure
TWI381391B (zh) * 2008-08-05 2013-01-01 Transcend Information Inc 可自我檢測使用狀態的儲存裝置及其檢測方法
CN101685675B (zh) * 2008-09-26 2014-01-15 美光科技公司 存储器单元操作
US7996725B2 (en) * 2008-11-14 2011-08-09 Nokia Corporation Providing protection for a memory device
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
JP5544712B2 (ja) * 2008-12-26 2014-07-09 富士通株式会社 メモリの寿命検出装置及び方法
US20100235473A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US8380946B2 (en) * 2009-04-08 2013-02-19 International Business Machines Corporation System, method, and computer program product for estimating when a reliable life of a memory device having finite endurance and/or retention, or portion thereof, will be expended
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8200857B2 (en) * 2009-11-30 2012-06-12 Lsi Corporation Coalescing multiple contexts into a single data transfer in a media controller architecture
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US7975193B2 (en) * 2009-06-01 2011-07-05 Lsi Corporation Solid state storage end of life prediction with correction history
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8755229B1 (en) 2009-06-23 2014-06-17 Micron Technology, Inc. Limiting flash memory over programming
US8321727B2 (en) * 2009-06-29 2012-11-27 Sandisk Technologies Inc. System and method responsive to a rate of change of a performance parameter of a memory
US8400854B2 (en) * 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
US8640005B2 (en) * 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012027964A (ja) * 2010-07-20 2012-02-09 Panasonic Corp メモリ装置及びcpuの制御方法
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8422303B2 (en) * 2010-12-22 2013-04-16 HGST Netherlands B.V. Early degradation detection in flash memory using test cells
JP5604313B2 (ja) * 2011-01-12 2014-10-08 株式会社メガチップス メモリアクセス制御装置
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US8560922B2 (en) 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
CN102163165B (zh) * 2011-05-26 2012-11-14 忆正存储技术(武汉)有限公司 一种闪存错误预估模块及其预估方法
US10359949B2 (en) * 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
US9146855B2 (en) 2012-01-09 2015-09-29 Dell Products Lp Systems and methods for tracking and managing non-volatile memory wear
CN103325424A (zh) * 2012-03-23 2013-09-25 绿智慧流科技公司 闪存使用期限评估方法
DE102012024772A1 (de) * 2012-12-18 2014-06-18 Giesecke & Devrient Gmbh Verfahren zum Betreiben eines Teilnehmeridentifikationsmoduls sowie ein solches Teilnehmeridentifikationsmodul
US20140188405A1 (en) 2012-12-28 2014-07-03 International Business Machines Corporation Predicting a time of failure of a device
US10083069B2 (en) * 2013-06-27 2018-09-25 Sandisk Technologies Llc Word line defect detection and handling for a data storage device
CN103577337B (zh) * 2013-11-05 2017-02-22 华为技术有限公司 存储系统的空间分配方法和设备
US9305663B2 (en) * 2013-12-20 2016-04-05 Netapp, Inc. Techniques for assessing pass/fail status of non-volatile memory
CN103713857B (zh) * 2013-12-24 2017-06-27 华为技术有限公司 存储数据的方法及存储装置
KR20150112075A (ko) * 2014-03-26 2015-10-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102291507B1 (ko) 2014-05-20 2021-08-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법
US10235056B2 (en) 2014-09-26 2019-03-19 Western Digital Technologies, Inc. Storage device health diagnosis
CN104464809A (zh) * 2014-11-05 2015-03-25 武汉新芯集成电路制造有限公司 一种延长快闪存储器使用寿命的方法
US9798475B2 (en) 2015-03-11 2017-10-24 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
CN106297898A (zh) * 2015-06-03 2017-01-04 杭州海康威视数字技术股份有限公司 一种NAND Flash存储器的寿命预警方法及装置
US20170068467A1 (en) * 2015-09-04 2017-03-09 HGST Netherlands B.V. Wear management for flash memory devices
CN106779008A (zh) * 2015-11-23 2017-05-31 杭州海康威视数字技术股份有限公司 Sd卡、摄像机和sd卡可靠性预警系统
CN107346668B (zh) * 2017-07-12 2020-08-21 武汉新芯集成电路制造有限公司 一种耐用性测试方法
US11016693B2 (en) 2018-06-21 2021-05-25 International Business Machines Corporation Block health estimation for wear leveling in non-volatile memories
WO2021040810A1 (en) * 2019-08-23 2021-03-04 Futurewei Technologies, Inc. Device lifetime prediction
CN111240887A (zh) * 2020-01-07 2020-06-05 苏州大学 基于三维闪存存储结构的错误页识别方法
CN115298652A (zh) * 2020-04-30 2022-11-04 北京嘀嘀无限科技发展有限公司 用于存储介质健康评估的系统和方法
CN112379832B (zh) * 2020-11-05 2023-04-25 杭州海康威视数字技术股份有限公司 存储介质检测方法和装置
CN116737515B (zh) * 2023-05-10 2024-02-23 珠海妙存科技有限公司 闪存参数可视化方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468616B1 (ko) * 2004-03-02 2005-01-31 주식회사 하이스마텍 비휘발성 메모리의 수명을 연장하는 방법 및 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5537357A (en) * 1994-06-27 1996-07-16 Intel Corporation Method for preconditioning a nonvolatile memory array
GB2300946B (en) * 1995-05-17 1999-10-20 Altera Corp Tri-statable input/output circuitry for programmable logic
US5959891A (en) * 1996-08-16 1999-09-28 Altera Corporation Evaluation of memory cell characteristics
JP3565687B2 (ja) * 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6948102B2 (en) * 2002-04-29 2005-09-20 International Business Machines Corporation Predictive failure analysis for storage networks
US20040088614A1 (en) * 2002-11-01 2004-05-06 Ting-Chin Wu Management system for defective memory
US7277336B2 (en) * 2004-12-28 2007-10-02 Sandisk 3D Llc Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information
US8301938B2 (en) * 2005-03-21 2012-10-30 Hewlett-Packard Development Company, L.P. Managing memory health
CN101263499B (zh) * 2005-07-11 2013-03-27 布鲁克斯自动化公司 智能状态监测和故障诊断系统
US7831783B2 (en) * 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468616B1 (ko) * 2004-03-02 2005-01-31 주식회사 하이스마텍 비휘발성 메모리의 수명을 연장하는 방법 및 시스템

Also Published As

Publication number Publication date
CN101529526B (zh) 2013-08-14
TW200745855A (en) 2007-12-16
KR20080092929A (ko) 2008-10-16
US7512847B2 (en) 2009-03-31
WO2007091263A2 (en) 2007-08-16
EP1982264A2 (en) 2008-10-22
TWI339337B (en) 2011-03-21
US20070198786A1 (en) 2007-08-23
JP2009526340A (ja) 2009-07-16
CN101529526A (zh) 2009-09-09
WO2007091263A3 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
KR101348665B1 (ko) 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법
US8638602B1 (en) Background selection of voltage reference values for performing memory read operations
US8458417B2 (en) Garbage collection in a storage device
JP6047286B2 (ja) テストセルを用いたフラッシュメモリの劣化の早期検出
US11605414B2 (en) Performing an on demand refresh operation of a memory sub-system
WO2016020760A2 (en) Adaptive flash tuning
CN111142784A (zh) 存储器元件配置处理和操作调整
US9858002B1 (en) Open block stability scanning
JP2009512119A (ja) 訂正済みデータの格納および処理方法
US11107543B2 (en) Adjustment of read and write voltages using a space between threshold voltage distributions
US9342401B2 (en) Selective in-situ retouching of data in nonvolatile memory
US11915776B2 (en) Error avoidance based on voltage distribution parameters of block families
US11735254B2 (en) Error avoidance based on voltage distribution parameters of blocks
US11636913B2 (en) Tracking and refreshing state metrics in memory sub-systems
US11756636B2 (en) Determining threshold values for voltage distribution metrics
US11705193B2 (en) Error avoidance based on voltage distribution parameters
WO2021041073A1 (en) Memory sub-system grading and allocation
US20230395156A1 (en) Memory block characteristic determination

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: 20161129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee