KR101952001B1 - 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법 - Google Patents

저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR101952001B1
KR101952001B1 KR1020167005712A KR20167005712A KR101952001B1 KR 101952001 B1 KR101952001 B1 KR 101952001B1 KR 1020167005712 A KR1020167005712 A KR 1020167005712A KR 20167005712 A KR20167005712 A KR 20167005712A KR 101952001 B1 KR101952001 B1 KR 101952001B1
Authority
KR
South Korea
Prior art keywords
age
drive
criterion
storage
maximum
Prior art date
Application number
KR1020167005712A
Other languages
English (en)
Other versions
KR20160041954A (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 KR20160041954A publication Critical patent/KR20160041954A/ko
Application granted granted Critical
Publication of KR101952001B1 publication Critical patent/KR101952001B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

시스템들, 방법들 및/또는 디바이스들이 저장 장치 드라이브 수명 추정을 가능하게 하는 데 사용된다. 한 양태에서, 이 방법은 (1) 저장 장치 드라이브의 2개 이상의 나이 기준들을 결정하는 단계; 및 (2) 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하는 단계를 포함한다.

Description

저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법{ELECTRONIC SYSTEM WITH STORAGE DRIVE LIFE ESTIMATION MECHANISM AND METHOD OF OPERATION THEREOF}
본 발명은 일반적으로 전자 시스템 및 보다 특정적으로 저장 장치 드라이브 수명 추정 메커니즘을 갖는 시스템에 관한 것이다.
모든 전자 시스템들은 어떤 형태의 메모리 또는 저장 장치를 요구한다. 흔히 저장 장치 또는 메모리라고 하는 데이터 저장 장치는 디지털 데이터를 유지하는 컴퓨터 소자들 및 기록 매체를 말한다. 데이터 저장 장치는 소비자 및 산업 전자 장치의 핵심 기능 및 기본 소자, 특히 컴퓨터, 텔레비전, 휴대 전화, 이동 장치, 및 디지털 비디오 카메라와 같은 장치들이다.
최근에, 전기 기계적 하드 디스크들 이외의 장기 저장 장치의 형태가 컴퓨터들에 사용하기 위해 실현 가능하게 되고 있다. 이들 중 하나는 플래시 전기적으로 소거가능한 프로그래머블 리드 온리 메모리(EEPROM)이다. 플래시 EEPROM 메모리는 메모리 셀들로서 배열된 복수의 플로팅-게이트 전계 효과 트랜지스터들을 포함한다. NAND 플래시는 고체 상태 저장 장치들에서 사용된 비휘발성 메모리의 한 형태이다. 메모리 셀들은 개개의 셀들에 액세스하기 위한 회로를 갖는 전형적인 행렬 방식으로 배열된다. 그들 셀의 메모리 트랜지스터들은 단일 레벨 셀(SLC)을 위한 2개의 논리 상태들 또는 멀티 레벨 셀들(MLC)을 위한 2개보다 많은 논리 상태들을 유지하도록 해석될 수 있는 아날로그 값을 저장할 수 있다.
전형적인 EEPROM 셀과 같지만 다이내믹 랜덤 액세스 메모리(DRAM) 메모리와 대조적인 플래시 메모리 셀은 전력이 제거될 때도 정보를 유지한다. 플래시 EEPROM 메모리는 장기 메모리로서 사용하기 위해 그것을 적응시키는, 많은 특성들을 갖는다. 그것은 경량이고, 매우 작은 공간을 차지하고, 전기 기계적 디스크 드라이브들보다 전력을 덜 소비한다. 이런 유형의 메모리를 갖는 저장 시스템의 구성은 전형적인 전기 기계적 디스크 드라이브보다 훨씬 더 높은 대역폭 및 초당 더 높은 입출력 동작들을 가능하게 한다. 보다 중요하게는, 그것은 특히 기복이 심하고 훨씬 더 높은 온도 범위에서 동작할 수 있다. 그것은 각각이 전형적인 전기 기계적 하드 디스크 드라이브를 파괴하는 반복된 저하들에 역효과 없이, 견뎌낼 것이다. 플래시 메모리 및 플래시 메모리로 이루어진 저장 장치들에 의해 나타나는 문제는 그것이 제한된 사용 수명을 갖는 경향이 있다는 것이다.
그러므로, 전자 시스템들의 고장 및 내구성을 고려하기 위해 보다 좋은 저장 수명 추정을 할 필요성이 여전히 남는다. 전자 시스템들의 저장 관리에 대한 요구가 증가하는 점에 비추어서, 이들 문제에 대해 해결책을 찾는 것이 점점 더 중요하게 된다. 점차 커지는 소비자 기대와 시장에서의 의미있는 제품 구별을 하기 위한 줄어드는 기회들과 함께, 계속 증가하는 상업적 경쟁 압력들에 비추어서, 이들 문제들에 대한 해결책을 찾는 것이 중요하게 된다. 부가적으로, 비용을 줄이고, 효율 및 성능을 개선시키고, 경쟁 압력에 부합하기 위해서는 이들 문제들에 대한 해결책들을 찾는 것이 아주 절박하게 필요하다.
이들 문제들에 대한 해결책들을 오랫동안 찾았지만 종래의 개발들은 어떤 해결책을 가르쳐 주거나 제안하지 못했고, 그러므로, 이들 문제들에 대한 해결책들은 오랫동안 본 기술의 통상의 기술자이 생각해 내지 못했다.
도 1은 본 발명의 실시예에 따른 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템.
도 2는 메모리 제어기의 예시적인 하드웨어 블록도.
도 3은 드라이브 마모의 함수로서 드라이브 성능을 표시한 차트.
도 4는 저장 장치 드라이브 나이의 함수로서 성장 결함들의 수를 표시한 차트.
도 5는 결함률의 함수로서 드라이브 나이를 표시한 차트.
도 6은 도 1의 전자 시스템의 저장 장치 드라이브 내의 저장 블록들의 예시도.
도 7은 전기 시스템의 도 2의 메모리 제어기의 제어 흐름.
도 8은 전기 시스템의 도 2의 메모리 제어기의 제어 흐름의 제2 예.
도 9는 본 발명의 추가 실시예에서의 도 1의 전자 시스템의 동작의 방법의 플로우 차트.
여기에 설명된 다양한 구현들은 저장 장치 드라이브 수명 추정을 가능하게 하는 데 사용되는 시스템들, 방법들 및/또는 장치들을 포함한다. 일부 구현들은 저장 장치의 2개 이상의 나이 기준들에 따라, 저장 장치의 드라이브 나이를 결정하는 시스템들, 방법들 및/또는 장치들을 포함한다.
보다 구체적으로, 일부 실시예들은 전자 시스템의 동작 방법을 포함한다. 일부 실시예들에서, 이 방법은 (1) 저장 장치 드라이브(storage drive)의 2개 이상의 나이 기준들(age criteria)을 결정하는 단계; 및 (2) 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하는 단계를 포함한다.
일부 실시예들에서, 상기 2개 이상의 나이 기준들은 누적된 프로그램/소거(PE) 사이클들의 총수, 성장 결함들의 총수, 결함률, 및 재시도율로 이루어진 그룹으로부터 선택된 적어도 하나의 기준을 포함한다.
일부 실시예들에서, 상기 2개 이상의 나이 기준들은 각각의 나이 기준의 상대적 중요성을 상기 저장 장치 드라이브의 상기 드라이브 나이로 조정하기 위해 각각의 구성가능한 팩터들에 의해 스케일링된다.
일부 실시예들에서, 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하는 단계는 (1) 제1 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제1 나이 기준을 곱함으로써 제1 스케일링된 나이 기준을 결정하는 단계, (2) 상기 드라이브 나이에 상기 저장 장치 드라이브에 대한 제1 최대 나이 기준을 곱함으로써 제1 드라이브 나이 표시자를 결정하는 단계 - 상기 제1 최대 나이 기준은 상기 제1 나이 기준의 최대 값임 -, (3) 상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상인지를 결정하는 단계, (4) 상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 단계, 및 (5) 상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이 아니라는 결정에 따라, (a) 제2 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제2 나이 기준을 곱함으로써 제2 스케일링된 나이 기준을 결정하고, (b) 상기 드라이브 나이에 상기 저장 장치 드라이브에 대한 제2 최대 나이 기준을 곱함으로써 제2 드라이브 나이 표시자를 결정하고 - 상기 제2 최대 나이 기준은 상기 제2 나이 기준의 최대 값임 -, (c) 상기 제2 스케일링된 나이 기준이 상기 제2 드라이브 나이 표시자 이상인지를 결정하고, (d) 상기 제2 스케일링된 나이 기준이 상기 제2 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것을 포함하는 하나 이상의 동작을 수행하는 단계를 포함한다.
일부 실시예들에서, 상기 드라이브 나이는 단조롭게 비감소한다.
일부 실시예들에서, 상기 드라이브 나이는 정수이다.
일부 실시예들에서, 상기 저장 장치 드라이브는 하나 이상의 플래시 메모리 디바이스를 포함한다.
다른 양태에서, 위에 설명된 방법들 중 어느 것은 전자 시스템에 의해 수행되고, 상기 전자 시스템은 (1) 하나 이상의 프로세서, 및 (2) 상기 하나 이상의 프로세서에 의해 실행될 하나 이상의 프로그램을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램은 여기에 설명된 방법들 중 어느 것의 실행을 수행하고 제어하기 위한 명령어들을 포함한다.
또 다른 양태에서, 일부 실시예들은 전자 시스템의 하나 이상의 프로세서에 의해 실행하기 위해 구성된 하나 이상의 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 상기 하나 이상의 프로그램은 여기에 설명된 방법들 중 어느 것의 실행을 수행하고 제어하기 위한 명령어들을 포함한다.
다음의 실시예들은 본 기술의 통상의 기술자가 본 발명을 실시하고 사용하게 하기 위해 충분히 상세하게 설명된다. 다른 실시예들은 본 개시에 기초하여 분명하고, 시스템, 공정, 또는 기계적 변화들이 본 발명의 범위에서 벗어나지 않고서 이루어질 수 있다는 것을 이해하여야 한다.
다음의 설명에서, 많은 특정한 상세들이 본 발명의 철저한 이해를 제공하기 위해 주어진다. 그러나, 본 발명은 이들 특정한 상세들 없이 실시될 수 있다는 것은 명백할 것이다. 본 발명을 불분명하게 하는 것을 피하기 위해, 일부 공지된 회로들, 시스템 구성들, 및 공정 단계들은 상세히 개시되지 않는다.
시스템의 실시예들을 도시한 도면은 반개략적이고 축척에 맞지 않고, 특히 치수들의 일부는 제시의 명확성을 위해 도면에는 과장되게 도시된다. 유사하게, 설명을 용이하게 하기 위해 도면의 뷰들은 일반적으로 유사한 배향들을 도시하지만, 도면의 도시는 보통 임의적이다. 일반적으로, 본 발명은 임의의 배향으로 동작될 수 있다.
다수의 실시예들이 그에 대한 예시, 설명 및 이해의 명료성과 용이성을 위해 공통으로 어떤 특징들을 갖는 것으로 개시되고 설명되는 경우에, 서로 유사하고 동일한 특징들은 유사한 참조 번호들로 통상적으로 설명될 것이다. 실시예들은 설명의 편의상 제1 실시예, 제2 실시예 등으로 번호가 매겨지고 어떤 다른 의미를 갖거나 본 발명을 제한하려는 것은 아니다.
여기서 "모듈"이라고 하는 용어는 이 용어가 사용되는 문맥에 따라 본 발명에서 하드웨어, 하드웨어 상에서 실행하거나 그에 결합된 소프트웨어, 또는 이들의 조합을 포함할 수 있다. 예를 들어, 소프트웨어는 머신 코드, 펌웨어, 내장된 코드, 및 애플리케이션 소프트웨어일 수 있다. 또한 예를 들어, 하드웨어는 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 마이크로전자기계 시스템(MEMS), 수동 장치들, 온도 센서들을 포함하지만, 이에 제한되지 않는 환경 센서들, 또는 이들의 조합일 수 있다.
고체 상태 드라이브들(SSD들)은 장기 사용 및 데이터 저장에 도전들을 제시하는 유한 사용 수명을 갖는다. 궁극적인 교체에 대비하기 위해서, 드라이브 수명의 추정을 결정하는 시스템 및 방법이 필요하다. 저장 장치 드라이브 수명의 추정들은 또한 보증 및 재판매 목적들을 위해 필요하다.
그러므로 이미 사용된 저장 장치 드라이브의 예상된 수명의 퍼센티지를 추정하는 시스템 및 방법을 갖는 것이 바람직할 수 있다. 또한, 이 추정은 비교적 계산하기 쉬우면서 드라이브의 사용 수명의 실제 퍼센티지에 잘 상관하는 것이 바람직할 수 있다. 마지막으로, 측정은 드라이브가 얼마나 마모하였는지를 반영하여, 단조롭게 비감소하고, 가능한 값들이 스킵되지 않는 것이 바람직할 수 있다. 이 방식으로, 측정은 역행하거나 혼란 또는 호도하게 하는 큰 불연속들을 갖는 것으로 나타나지 않을 것이다.
이제 도 1을 참조하면, 본 발명의 실시예에서의 저장 장치 관리 메커니즘을 갖는 전자 시스템(100)이 도시된다. 전자 시스템(100)은 메모리 제어기(104) 및 메모리 어레이(106)를 갖는 메모리 서브시스템(102)을 포함한다. 전자 시스템(100)은 메모리 서브시스템(102)과 통신하는 호스트 시스템(108)을 포함한다.
메모리 제어기(104)는 메모리 어레이(106)의 데이터 제어 및 관리를 제공한다. 메모리 제어기(104)는 호스트 시스템(108)과 인터페이스하고 호스트 시스템(108)과 메모리 어레이(106) 사이에 데이터를 전달하기 위해 메모리 어레이(106)를 제어한다.
메모리 어레이(106)는 플래시 메모리 장치들 또는 비휘발성 메모리 장치들을 포함하는 메모리 장치들(110)의 어레이를 포함한다. 메모리 어레이(106)는 데이터 또는 정보의 페이지들을 포함할 수 있다. 호스트 시스템(108)은 메모리 어레이(106)를 포함하는 저장 장치의 논리 어드레스 공간으로부터 또는 이로 데이터를 판독, 기입, 및 삭제하라고 메모리 제어기(104)에 요구할 수 있다.
메모리 장치들(110)은 메모리 장치들(110)을 인에이블하기 위한 제어 입력들로서 정의된 칩 선택들(112)을 포함할 수 있다. 칩 선택들(112) 각각은 메모리 장치들(110) 중 하나의 동작을 제어하는 데 사용될 수 있다. 칩 선택들(112)이 인에이블될 때, 메모리 장치들(110)은 판독, 기입, 또는 재순환을 포함하는 동작을 위한 활성 상태에 있다. 이것은 또한 하나의 칩 선택에 의해 제어되는 디바이스 내의 서브 어드레스들 LUN들(논리 단위들)에 대해 그렇다.
이제 도 2를 참조하면, 메모리 제어기(104)의 예시적인 하드웨어 블록도가 도시된다. 메모리 제어기(104)는 제어 유닛(202), 저장 유닛(204), 메모리 인터페이스 유닛(206), 및 호스트 인터페이스 유닛(208)을 포함할 수 있다. 제어 유닛(202)은 제어 인터페이스(210)를 포함할 수 있다. 제어 유닛(202)은 메모리 제어기(104)의 지능을 제공하기 위해 저장 유닛(204) 내에 저장된 소프트웨어(212)를 실행할 수 있다.
제어 유닛(202)은 여러 가지 상이한 방식들로 구현될 수 있다. 예를 들어, 제어 유닛(202)은 프로세서, 내장된 프로세서, 마이크로프로세서, 하드웨어 제어 논리, 하드웨어 유한 상태 머신(finite state machine)(FSM), 디지털 신호 프로세서(DSP), 또는 이들의 조합일 수 있다.
제어 인터페이스(210)는 메모리 제어기(104) 내의 제어 유닛(202)과 다른 기능 유닛들 사이의 통신을 위해 사용될 수 있다. 제어 인터페이스(210)는 또한 메모리 제어기(104) 외부의 통신을 위해 사용될 수 있다.
제어 인터페이스(210)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 다른 기능 유닛들 또는 외부 목적지들에 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 메모리 제어기(104) 외부에 있는 소스들 및 목적지들을 말한다.
제어 인터페이스(210)는 어떤 기능 유닛들 또는 외부 유닛들이 제어 인터페이스(210)와 인터페이스하는지에 따라 상이한 방식들로 구현될 수 있고 상이한 구현들을 포함할 수 있다. 예를 들어, 제어 인터페이스(210)는 주문형 집적 회로(ASIC)와 같은 전용 하드웨어, FPGA(필드 프로그래머블 게이트 어레이)와 같은 구성가능한 하드웨어, 분리된 전자 소프트웨어, 또는 이들의 조합으로 구현될 수 있다.
저장 유닛(204)은 하드웨어, 제어 펌웨어, 및 소프트웨어(212)를 포함할 수 있다. 저장 유닛(204)은 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합을 포함할 수 있다. 예를 들어, 저장 유닛(204)은 비휘발성 랜덤 액세스 메모리(NVRAM)와 같은 비휘발성 저장 장치, 플래시 메모리, 디스크 저장 장치, 또는 스태틱 랜덤 액세스 메모리(SRAM)와 같은 휘발성 저장 장치일 수 있다.
저장 유닛(204)은 저장 인터페이스(214)를 포함할 수 있다. 저장 인터페이스(214)는 또한 메모리 제어기(104) 외부의 통신을 위해 사용될 수 있다. 저장 인터페이스(214)는 다른 기능 유닛들 또는 외부 소스들로부터 정보를 수신할 수 있거나, 다른 기능 유닛들 또는 외부 목적지들에 정보를 송신할 수 있다. 외부 소스들 및 외부 수신지들은 메모리 제어기(104) 외부에 있는 소스들 및 목적지들을 말한다.
저장 인터페이스(214)는 어떤 기능 유닛들 또는 외부 유닛들이 저장 유닛(204)과 인터페이스하는지에 따라 상이한 구현들을 포함할 수 있다. 저장 인터페이스(214)는 제어 인터페이스(210)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
메모리 인터페이스 유닛(206)은 메모리 제어기(104)에 및 그로부터 외부 통신을 가능하게 할 수 있다. 예를 들어, 메모리 인터페이스 유닛(206)은 메모리 제어기(104)가 도 1의 메모리 어레이(106)와 통신하게 할 수 있다.
메모리 인터페이스 유닛(206)은 메모리 인터페이스(216)를 포함할 수 있다. 메모리 인터페이스(216)는 메모리 제어기(104) 내의 메모리 인터페이스 유닛(206)과 다른 기능 유닛들 사이의 통신을 위해 사용될 수 있다. 메모리 인터페이스(216)는 다른 기능 유닛들로부터 정보를 수신할 수 있거나 다른 기능 유닛들에 정보를 송신할 수 있다.
메모리 인터페이스(216)는 어떤 기능 유닛들이 메모리 인터페이스 유닛(206)과 인터페이스하는지에 따라 상이한 구현들을 포함할 수 있다. 메모리 인터페이스(216)는 제어 인터페이스(210)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
호스트 인터페이스 유닛(208)은 도 1의 호스트 시스템(108)이 메모리 제어기(104)와 인터페이스하고 상호작용하게 한다. 호스트 인터페이스 유닛(208)은 호스트 인터페이스 유닛(208)과 호스트 시스템(108) 사이의 통신 메커니즘을 제공하기 위해 호스트 인터페이스(218)를 포함한다.
제어 유닛(202)은 메모리 제어기(104)에 의해 발생된 제어 또는 상태 정보를 호스트 시스템(108)에 보내도록 호스트 인터페이스 유닛(208)을 동작시킬 수 있다. 제어 유닛(202)은 또한 메모리 제어기(104)의 다른 기능들을 위한 소프트웨어(212)를 실행할 수 있다. 제어 유닛(202)은 메모리 인터페이스 유닛(206)을 통해 메모리 어레이(106)와 상호작용하기 위해 소프트웨어(212)를 더 실행할 수 있다.
메모리 제어기(104) 내의 기능 유닛들은 다른 기능 유닛들과 개별적으로 및 독립적으로 작업할 수 있다. 예시의 목적들을 위해, 메모리 제어기(104)는 호스트 시스템(108) 및 메모리 어레이(106)를 갖는 메모리 제어기(104)의 동작에 의해 설명된다. 메모리 제어기(104), 호스트 시스템(108), 및 메모리 어레이(106)는 메모리 제어기(104)의 모듈들 및 기능들 중 어떤 것을 동작시킬 수 있다.
이제 도 3을 참조하면, 드라이브 마모의 함수로서 드라이브 성능을 표시한 차트가 도시된다. 전기 시스템은 점진적 마모, 성장 결함들의 수, 성장 결함들의 변화율, 및 판독 재시도들의 수를 포함하는 다수의 메트릭들 및 나이 기준들의 조합을 사용하여 드라이브 나이를 추적할 수 있다.
드라이브 나이는 이미 사용된 저장 장치 드라이브의 예상된 수명의 퍼센티지이다. 예를 들어, 드라이브 나이는 0과 100 사이의 정수로서 표시될 수 있다. 또 하나의 예에서, 드라이브 나이는 0과 10,000 사이, 또는 보다 일반적으로 0과 최대 나이 사이의 정수로서 표시된다. 드라이브 나이는 드라이브 나이에 의해 표시된 최대 나이의 퍼센티지가 고갈된 저장 장치 드라이브의 수명의 퍼센티지에 대응하도록 저장 장치 드라이브의 수명의 "임계값"을 표시한다.
드라이브 나이는 누적된 프로그램/소거 사이클들에 기초한 추정과 같은, 저장 장치 드라이브의 여러 나이 기준들의 최대 추정을 포함할 수 있다. 나이 기준은 프로그램/소거 스케일 팩터가 110인 경우에, 기준이 0 내지 110의 범위(또는 보다 일반적으로 0 내지 최대 나이의 1.1배)이지만 드라이브 나이는 0-100(또는 보다 일반적으로 0 내지 최대 나이)으로 제한되는 것과 같은 보다 큰 범위를 가질 수 있다.
프로그램/소거 사이클은 데이터가 소거 블록 내에서 어떻게 대체되는지의 기본 레벨 동작이다. NAND와 같은 메모리 유형들은 제한된 수의 유용한 프로그램/소거 사이클들 또는 PE 사이클들을 갖는다.
드라이브 나이는 또한 저장 장치 드라이브 내의 성장 결함들의 수의 나이 기준에 기초한 드라이브 수명의 추정을 포함할 수 있다. 성장 결함은 예상된 것보다 적은 프로그램/소거 사이클들 이후에 실패한 소거 블록으로서 정의된다.
예를 들어, 전기 시스템은 데이터를 신뢰성있게 유지하는 드라이브의 능력과 마모된 플래시에 액세스한 것으로부터 비롯된 요구된 배경 작업 및 재시도들을 고려하여 허용가능한 성능 레벨에서 호스트 동작들을 서비스하는 드라이브의 능력 둘 다에 관해 드라이브의 예상된 수명을 추적할 수 있다.
드라이브가 데이터 손실의 위험이 있기 전에 선진의 에러 및 복구 및 플래시 구성으로 인해 성능은 저하하기 시작할 것이다. 성능이 너무 많이 영향을 받을 때 추정하는 것은 저장 장치 드라이브의 계속된 사용 및 신뢰성을 보장하는 데 중요하다. 드라이브 마모의 함수로서의 이 저장 장치 드라이브 성능 거동은 도 3에 나타낸 차트에 의해 예시된다.
예를 들어, 저장 장치 드라이브의 관찰된 성능은 저장 장치 드라이브가 계속 마모함에 따라 감소할 수 있다. 관찰된 성능이 최대 허용가능한 성능 임계값 아래로 떨어질 때, 드라이브 나이는 사용된 수명의 100퍼센트에 있을 수 있다.
저장 장치 드라이브 거동에 기초하여, 드라이브의 예상된 수명의 퍼센티지를 추정하는 방법은 소거 블록의 가끔의 조기 불량으로서 정의된 각각의 프로그램/소거 사이클 및 성장 결함들로 발생하는 점진적 마모에 의존할 수 있다.
관련된 드라이브 기준들 또는 메트릭들과 같은 다른 유형들의 나이 기준들은 성장 결함들의 수 및 저장 장치 드라이브의 판독 재시도들의 수의 변화율을 포함하여 사용될 수 있다. 드라이브 나이는 이들 드라이브 기준 또는 메트릭의 최대를 계산함으로써 추정될 수 있다.
예를 들어, 드라이브 나이는 점진적 마모 식이라고 하는 아래의 식(1)을 사용하여 누적된 프로그램/소거 사이클들에 기초한 추정으로서 계산될 수 있다는 것이 판명되었다:
Figure 112016020510920-pct00001
PE 스케일 팩터 또는 프로그램 소거 사이클 스케일 팩터는 점진적 마모 드라이브 나이 추정에 주어진 상대적 가중으로서 정의된다. 측정된 총 PE는 계산의 시간 동안에 전체 저장 장치 드라이브 상의 각각의 소거 블록 상에 발생한 프로그램/소거 사이클들의 총수로서 정의된다.
소거 블록 수명 PE는 소거 블록이 지속할 수 있는 프로그램/소거 사이클들의 추정된 수로서 정의된다. 총 소거 블록들은 저장 장치 드라이브 내의 소거 블록들의 총수로서 정의된다.
또한, 드라이브 나이는 성장 결함 식이라고 하는 아래의 식(2)를 사용하여 성장 결함들의 수에 기초한 추정으로서 계산될 수 있다는 것이 판명되었다:
Figure 112016020510920-pct00002
결함 스케일 팩터는 성장 결함 추정 또는 성장 결함 나이 기준에 주어진 상대적 가중으로서 정의된다. 성장 결함들의 수는 계산의 현재 시간에서 드라이브 상에 발생한 성장 결함들의 수로서 정의된다.
성장 결함들의 최대 허용된 수는 그것의 수명 중에 저장 장치 드라이브 상에 허용된 성장 결함들의 최대 수이다. 성장 결함들의 최대 허용된 수는 미리 정해진 값일 수 있다.
드라이브 나이는 프로그램/소거 사이클들 및 성장 결함들을 포함하는, 플래시 메모리가 마모하는 방식들에 공동으로 기초한다는 것이 판명되었다. 이 방식으로, 각각의 드라이브는 나이 기준이 그 때 더 우세한 것이 어느 것이든지에 기초하여 현재의 나이를 가질 것이다.
이제 도 4를 참조하면, 저장 장치 드라이브 나이의 함수로서 성장 결함들의 수를 표시한 차트가 도시된다. 단위 시간 당 새로운 또는 성장한 결함들의 수로서 정의된 결함률은 (시간에 따른 드라이브의 비교적 일정한 사용을 가정하여) 저장 장치 드라이브 사용의 함수로서 증가한다는 것이 판명되었다.
예를 들어, 결함률은 어느 주어진 시간에서의 결함률에 기초하여 드라이브 나이의 또 하나의 추정을 제공하는 데 사용될 수 있다. 드라이브 나이의 함수로서의 저장 장치 드라이브 거동은 도 4에 나타낸 차트에 의해 예시된다.
도면에서, 곡선 A는 결함들의 수가 나이에 따라 증가하는 저장 장치 드라이브를 도시한다. 보다 의미있게는, 점선으로 표시된 것과 같은, 곡선 A의 기울기는 결함률을 표시한다. 이것은 시간에 따라 증가하는 것을 알 수 있다.
곡선 B는 더 빠르게 노후되는 또 하나의 저장 장치 드라이브를 표시한다. 피봇 점인, 2개의 곡선들이 발산하는 지점에서, 곡선 B의 기울기는 곡선 A보다 가파르다. 이것은 결함률이 곡선 A보다 곡선 B에 대해 더 높다는 것을 보여준다. 결함률의 이 증가는 드라이브 B가 드라이브 A보다 높은 드라이브 나이를 갖는다는 것으로 표시하는 데 사용될 수 있다.
드라이브 나이는 다중 드라이브들의 드라이브 수명을 비교하기 위해 사용되는 것뿐만 아니라 단일 드라이브의 상태(health)를 모니터하는 데 사용될 수 있다는 것이 판명되었다. 예를 들어, 저장 장치 드라이브 및 또 하나의 저장 장치 드라이브의 드라이브 나이는 각각의 드라이브의 수명 기간을 서로 비교하기 위해 결정될 수 있다. 드라이브 나이는 단일 드라이브의 현재 상태를 표시하는 것뿐만 아니라 다중 드라이브들의 드라이브 수명 또는 나이를 비교하는 데 있어서 균일하고 일관된 메트릭을 제공한다. 드라이브 나이는 저장 장치들의 드라이브 수명을 보존하기 위해 드라이브 스와핑 및 드라이브 나이 레벨링 구성 응용들을 제공한다.
이제 도 5를 참조하면, 결함률의 함수로서 드라이브 나이를 표시한 차트가 도시된다. 이 차트는 결함률이 저장 장치 드라이브의 수명에 걸쳐 상승하고 결함률은 드라이브 나이를 추정하는 데 사용될 수 있다는 것이 판명되었다는 것을 보여준다.
예를 들어, 드라이브 나이는 결함률 식이라고 하는 아래의 식(3)을 사용하여 추정될 수 있다는 것이 판명되었다:
Figure 112016020510920-pct00003
결함률 스케일 팩터는 결함률 드라이브 나이 추정 또는 결함률 나이 기준의 변화에 주어진 상대적 가중으로서 정의된다. 예를 들어, 결함률 스케일 팩터는 100일 수 있고 특정한 퍼센티지로 스케일될 수 있다. 다른 나이 기준들에 대한 다른 스케일 팩터들뿐만 아니라, 결함률 스케일 팩터는 스케일 팩터가 드라이브 나이 또는 나이 추정에 더 높은 영향을 주게 하기 위해 더 높거나 낮은 값으로 설정될 수 있다. 측정된 결함률은 단위 시간당 새로운(성장한) 결함들의 수로서 정의된다.
최대 수명 종료 결함률(max end of life defect rate)은 저장 장치 드라이브가 미리 정해진 요건들에 도달하고 계속 그에 맞는 최대 결함률로서 정의된다. 예를 들어, 드라이브의 수명 종료 성능은 하루 당 저장 장치 드라이브의 소거 블록들의 1 퍼센트이도록 특정될 수 있다.
또한, 판독 재시도율 또는 재시도율 기준에 기초한 추정으로서의 드라이브 나이의 계산은 재시도율 식이라고 하는 아래의 식(4)를 사용하여 결정될 수 있다는 것이 판명되었다:
Figure 112016020510920-pct00004
판독 재시도는 처음에 데이터를 판독할 때 생긴 문제들로 인해 메모리로부터 다시 데이터 바이트들을 판독하는 것으로서 정의된다.
측정된 재시도율(판독 동작들 당 재시도들)은 제출된 판독 동작들 당 초과된 에러 정정 코드(ECC) 제한으로 인한 판독 불량들의 수로서 정의된다.
재시도율 스케일 팩터는 재시도율 드라이브 나이 추정 또는 재시도율 나이 기준에 주어진 상대적 가중으로서 정의된다. 예를 들어, 재시도율 스케일 팩터는 100일 수 있고 재시도율이 드라이브 나이에 더 높거나 낮은 영향을 주게 하기 위해 특정한 더 높거나 낮은 퍼센티지로 스케일될 수 있다.
최대 수명 종료 재시도율(max end of life retry rate)은 저장 장치 드라이브가 성능 요건에 도달하고 계속 그에 맞을 수 있는 최대 재시도율로서 정의된다. 예를 들어, 저장 장치 드라이브의 수명 종료 성능은 수명 개시 성능 사양(begin-of-life performance specification)의 5 퍼센트 내에 머무르도록 특정될 수 있다.
또한, 재시도들에 의해 발생된 시간 오버헤드에 따라, 드라이브가 미리 정해진 사양 요건들에서 동작하고 그 요건들 내에 머무를 수 있는 판독 동작 당 재시도들의 최대 수를 계산하는 것이 가능하다는 것이 판명되었다. 예를 들어, 일부 저장 장치 드라이브들은 성능이 상당히 영향받기 전에 천번의 판독 동작들 당 많아야 1번의 재시도를 허용할 수 있다.
PE 스케일 팩터, 결함 스케일 팩터, 결함률 스케일 팩터, 및 재시도율 스케일 팩터를 포함하는, 나이 기준들의 스케일 팩터들은 스케일 팩터가 드라이브 나이에 더 높은 영향을 주게 하도록 조정될 수 있다는 것이 판명되었다. 예를 들어, 스케일 팩터는 저장 장치 드라이브의 실제 불량 스테이지에 비교하여 드라이브 나이에 대한 에러의 마진을 포함시키는데 사용될 수 있다. 또한 예를 들어, 드라이브 나이는 저장 장치의 실제 불량 스테이지 전의 스케일 팩터의 사용에 의해 100으로 추정될 수 있다. 스케일 팩터에 의해 제공된 에러의 마진은 저장 장치가 드라이브의 실제 불량 전에 신뢰성있고 예측가능하게 계속 수행할 수 있다는 것을 보장한다.
예를 들어, PE 스케일 팩터는 100일 수 있고 결함 스케일 팩터는 110일 수 있다. 이 방식으로, 드라이브 나이는 더 많은 성장 결함들이 여전히 허용되면서 100에 도달할 것이다. 이 마진은 저장 장치 드라이브가 100의 드라이브 나이에 도달한 후에 짧은 시간 동안 여전히 사용될 수 있도록 제공되어, 저장 드라이브 신뢰성을 보장하고, 데이터의 손실을 피하고, 드라이브를 위한 교체 시간을 제공한다.
이제 도 6을 참조하면, 전자 시스템의 저장 장치 드라이브 내의 저장 블록들의 예시도가 도시된다. 이 예는 도 1의 메모리 어레이 내에 하우징될 수 있는, 저장 장치 드라이브 내의 페이지들 및 소거 블록들을 포함한다.
페이지는 소거 블록에서 그로부터 판독되거나 그에 기입될 수 있는 데이터 바이트들의 최소 그룹으로서 정의된다. 소거 블록은 한 번에 소거될 수 있는 페이지들의 최소 수를 포함하는, 페이지들의 그룹이다.
이제 도 7을 참조하면, 전기 시스템의 도 2의 메모리 제어기의 제어 흐름이 도시된다. 메모리 제어기는 저장 장치 드라이브의 다양한 나이 기준들에 기초하여 드라이브 나이를 계산하는 제어 흐름을 실행할 수 있다. 제어 흐름은 "드라이브 나이 = 드라이브 나이 + 1"의 표현들이 드라이브 나이의 변수는 1만큼 증가된다는 것을 의미하도록 의사 코드를 사용할 수 있다.
드라이브 나이는 측정된 총 PE에 기초한 드라이브 나이, 또는 성장 결함들의 수에 기초한 드라이브 나이와 같은, 저장 장치 드라이브의 다양한 근본적인 장치 나이 기준들의 최대이다. 이들 나이 기준 각각은 그 자신의 스케일 팩터를 갖는다. 스케일 팩터는 그 특정한 기준이 [0, 100] 범위의 외부에 있지만 최종 드라이브 나이는 [0, 100]으로 제한되게 할 수 있다.
드라이브 나이는 부동점 표현 또는 소수 부분을 포함하는 고정점 표현에 걸친 계산 및 저장에서의 대응하는 장점들과 함께, 고유한 정수일 수 있다는 것이 판명되었다.
제어 흐름은 "시작"에서 개시하고 제1 드라이브 나이 + 1 단계로 이어질 수 있다. 제1 드라이브 나이 + 1 단계 및 기능은 드라이브 나이 계산들의 개시에서 바이어스를 제공한다. 계산들의 개시에서 바이어스를 제공하고(여기서 드라이브 나이는 근본적인 나이 기준들을 계산하기 전에 1만큼 증가됨), 다음에 그것을 나중에 제거함으로써(여기서 드라이브 나이는 근본적인 나이 기준들을 계산한 후에 1만큼 감소됨), 근본적인 나이 기준들의 계산들이 단순화된다는 것이 판명되었다.
예를 들어, 드라이브 나이는 드라이브의 수명의 1%가 사용될 때까지 0으로 남고, 단지 다음에 1로 증가하는 것이 바람직할 수 있다. 드라이브 나이가 정수 계산으로서 구현되지 않았더라면, 이 거동을 발생하기 위해 계산의 끝에서 플로어 함수를 가졌을 것이다. 그것을 수행하는 방식은 계산들을 위로 바이어스하고 다음에 바이어스를 계산들의 끝에서 제거하는 것이다.
또한, 계산들의 개시에서 한번 드라이브 나이를 바이어스하고, 모든 계산들의 끝에서 바이어스를 제거함으로써, 개별적인 계산들 각각에 대해 이 연산을 수행하여야 하는 단계가 피해진다는 것이 판명되었다. 또한, 드라이브 나이를 바이어스하는 것은 간단히 1만큼 증가하고 나중에 감소하는 것을 포함시킨다. 그러나, 나이 기준 계산들에서 필요로 하는 바이어스는 이 기본 예보다 더 복잡할 것이다.
제어 흐름은 식 1 단계 또는 기능으로 진행할 수 있다. 메모리 제어기는 점진적 마모 또는 누적된 프로그램/소거 사이클들에 기초하여 드라이브 나이를 결정하기 위해 도 3으로부터 식(1)을 실행하거나 계산할 수 있다. 식(1)은 다음과 같이 제산들(division operations)을 피하기 위해 수정될 수 있다:
Figure 112016020510920-pct00005
나이 기준의 계산들을 수정된 식(1)에 현재 나타난 것들로 재배열함으로써 제산들이 요구되지 않는다는 이점이 제공된다는 것이 판명되었다. 가장 분명한 구현들에서 사용되는 제산들은 대부분의 하드웨어 상에서 느리고 번거롭다. 식(2), 식(3), 및 식(4)는 메모리 제어기에 의해 계산들의 처리 속도를 증가시키는, 제산들을 제거하기 위해 동일한 방식으로 재배열될 수 있다.
식(1)이 참인 것으로 판명되면, 제어 흐름은 제2 나이 + 1 단계로 진행할 수 있다. 드라이브 나이가 제2 나이 + 1 단계에 의해 1만큼 증가된 후에, 제어 흐름은 드라이브 나이 - 1 단계로 진행할 수 있다. 식(1)이 거짓인 것으로 판명되면, 제어 흐름은 식(2)로 진행할 수 있다.
메모리 제어기는 성장 결함들의 수에 기초하여 드라이브 나이를 결정하기 위해 식(2)를 실행하거나 계산할 수 있다. 식(2)는 다음과 같이 제산들을 피하기 위해 수정될 수 있다:
Figure 112016020510920-pct00006
식(2)가 참인 것으로 판명되면, 제어 흐름은 제3 드라이브 나이 + 1 단계로 진행할 수 있다. 드라이브 나이가 1만큼 증가된 후에, 제어 흐름은 드라이브 나이 - 1 단계로 진행할 수 있다. 식(2)가 거짓으로 판명되면, 제어 흐름은 식(3)으로 진행할 수 있다.
메모리 제어기는 결함률의 변화에 기초하여 드라이브 나이를 결정하기 위해 식(3)을 실행하거나 계산할 수 있다. 식(3)은 다음과 같이 제산들을 피하기 위해 수정될 수 있다:
Figure 112016020510920-pct00007
식(3)이 참인 것으로 판명되면, 제어 흐름은 제4 드라이브 나이 + 1 단계로 진행할 수 있다. 드라이브 나이가 1만큼 증가된 후에, 제어 흐름은 드라이브 나이 - 1 단계로 진행할 수 있다. 식(3)이 거짓인 것으로 판명되면, 제어 흐름은 식(4)로 진행할 수 있다.
메모리 제어기는 재시도율에 기초하여 드라이브 나이를 결정하기 위해 식(4)를 실행하거나 계산할 수 있다. 식(4)는 다음과 같이 제산들을 피하기 위해 수정될 수 있다:
Figure 112016020510920-pct00008
식(4)가 참인 것으로 판명되면, 제어 흐름은 제5 드라이브 나이 + 1 단계로 진행할 수 있다. 드라이브 나이가 1만큼 증가된 후에, 제어 흐름은 드라이브 나이 - 1 단계로 진행할 수 있다. 식(4)가 거짓인 것으로 판명되면, 제어 흐름은 드라이브 나이 - 1 단계로 진행할 수 있다.
제어 흐름은 제2 드라이브 나이 + 1 단계, 제3 드라이브 나이 + 1 단계, 제4 드라이브 나이 + 1 단계, 또는 제5 드라이브 나이 + 1 단계로부터, 식(4)로부터 드라이브 나이 - 1 단계로 진행할 수 있다. 제어 흐름의 개시에서 포함된 + 1의 바이어스는 드라이브 나이 - 1 단계 동안에 제거된다.
제어 흐름은 드라이브 나이 - 1 단계 이후에 최대 드라이브 나이 단계로 진행할 수 있다. 메모리 제어기는 드라이브 나이를 최대 드라이브 나이와 비교한다. 최대 드라이브 나이는 미리 정해진 값일 수 있다. 예를 들어, 최대 드라이브 나이는 100 또는 99일 수 있다.
드라이브 나이가 최대 드라이브 나이보다 많다면, 저장 장치 드라이브는 최대 드라이브 나이에 도달한다. 이 상황에서, 드라이브 나이는 최대 드라이브 나이와 동일하게 설정된다. 이 상황에 기초하여, 저장 장치 드라이브의 임박한 불량(imminent failure)에 대해 사용자에게 통지 또는 경고가 발생될 수 있고, 제어 흐름은 "완료"에서 끝날 수 있다. 드라이브 나이가 최대 드라이브 나이보다 적으면, 제어 흐름은 "완료"에서 끝날 수 있다.
나이 기준들을 순차적으로 계산하고, 드라이브 나이가 증가되면 나머지 나이 기준들을 넘어 스킵함으로써, 계산들은 절약될 수 있고, 저장 장치 드라이브 나이는 어떤 "미싱 코드들"을 갖지 않을 것이라는(드라이브 나이는 값 [0, 100] 내의 모든 값에 대해 취할 것이다) 것이 판명되었다.
예를 들어, 식(1) 내지 식(4)는 이전의 식이 거짓인 것으로 판명되면 순차적으로 계산된다. 현재의 식이 참인 것으로 판명되면 후속하는 식들은 스킵된다. 식들의 순차적 계산은 또한 시간에 따라, 드라이브 나이로서 보고될, 기준들의 모두의 최대를 자동적으로 선택할 것이라는 것이 발견되었다. 각각의 기준에서 사용된 상대적 스케일 팩터들은 일부 기준들이 결과에서 보다 더 큰 의미를 갖게 한다.
드라이브 나이를 정수 퍼센티지로서 계산하면 드라이브 나이는 단조롭게 비감소하는 값으로서 제공되고; 이것은 단일 드라이브의 수명 동안의 드라이브 나이를 위해, 그리고 다중 저장 장치 드라이브들을 서로 비교하기 위해 바람직한 특성들이라는 것이 또한 판명되었다. 정수 퍼센티지들로서의 드라이브 나이 결과들은 일관성있고 예측가능하며, 이것은 저장 장치 드라이브의 드라이브 수명의 신뢰성 및 예측가능성을 증가시킨다.
각각의 업데이트에 대해 그것을 직접 계산하는 것 대신에 드라이브 나이를 반복적으로 업데이트함으로써, 전자 시스템은 계산적 연산들을 절약하고 단일의 정수 단위 증가들로 인해 단조롭게 비감소하는 것이 보장된 드라이브 나이를 산출한다는 것이 또한 판명되었다.
이제 도 8을 참조하면, 전기 시스템의 도 2의 메모리 제어기의 제어 흐름의 제2 예가 도시된다. 메모리 제어기는 드라이브 나이를 결정하기 위해 제2 제어 흐름을 실행할 수 있다. 제어 흐름은 검출 모듈, 바이어스 모듈, 식 모듈, 증가 모듈, 제거 모듈, 최대 드라이브 모듈, 및 통지 모듈을 포함할 수 있다. 제2 예의 제어 흐름은 단계들 및 기능들이 모듈로 분할된 것을 제외하고 도 7의 제어 흐름과 유사하다.
제어 흐름에서, 예로서, 각각의 모듈은 순서에 의해 표시되고 계속적으로 더 높은 모듈들은 서로를 따른다. 제어 흐름은 명시적으로 다르게 표시되지 않는다면 하나의 모듈로부터 다음의 순차적 모듈로 통과할 수 있다. 도 2의 메모리 제어기는 검출 모듈, 바이어스 모듈, 식 모듈, 증가 모듈, 제거 모듈, 최대 드라이브 모듈, 및 통지 모듈을 실행할 수 있다.
검출 모듈은 추정을 위한 계산 시에 현재의 드라이브 나이를 상기하거나 액세스할 수 있다. 바이어스 모듈은 드라이브 나이를 1만큼 증가시켜서 바이어스를 할당한다.
식 모듈은 드라이브 나이를 결정하기 위해 식(1), 식(2), 식(3), 및 식(4)를 실행할 수 있다. 식들은 제산들을 제거하기 위해 수정될 수 있다. 근본적인 나이 기준들의 계산들을 도 7에 대한 섹션 하에서 나열된 것들로 재배열함으로써, 제산들은 요구되지 않고, 처리 시간이 빨라진다는 것이 판명되었다.
예를 들어, 가장 분명한 구현들에서 사용될 제산들은 대분분의 하드웨어 상에서 느리고 번거롭다. 식(1), 식(2), 식(3), 및 식(4)는 제산들을 제거하기 위해 동일한 방식으로 재배열될 수 있어서, 계산들의 처리 속도를 증가시킨다.
식 모듈은 나이 기준들에 기초하여 식들의 각각에 대한 계산들을 실행하기 위한 서브 모듈들을 포함할 수 있다. 예를 들어, "식 1" 서브 모듈은 식(1)에 대한 계산들을 실행할 수 있고 전기 시스템은 식(2), 식(3), 및 식(4)에 대한 다른 서브 모듈들을 포함할 수 있다.
비교 모듈은 드라이브 나이 추정들 중 최대를 결정하기 위해 각 식에 의해 발생된 메트릭들을 비교할 수 있다. 식(1), 식(2), 식(3), 및 식(4)로부터의 추정들 중 최대는 드라이브 나이로서 사용될 것이다.
증가 모듈은 식 모듈로부터의 식들 중 어느 것이 참인 것으로 판명되면 드라이브 나이를 1만큼 증가시킬 수 있다. 증가 모듈은 식 모듈 및 제거 모듈에 결합될 수 있다.
제거 모듈은 바이어스 모듈에 의해 드라이브 나이에 가산된 바이어스를 제거한다. 제거 모듈은 도 7의 드라이브 나이 - 1 단계를 수행할 수 있다. 제거 모듈은 식 모듈, 증가 모듈, 및 최대 드라이브 모듈에 결합될 수 있다.
최대 드라이브 모듈은 드라이브 나이가 최대 드라이브 나이 또는 최고 드라이브 나이 이상인지를 결정한다. 최대 드라이브 모듈은 드라이브 나이가 최대 드라이브 나이에 도달했는지를 검출할 수 있다. 최대 드라이브 나이는 100 또는 99퍼센트와 같은 미리 정해진 퍼센티지일 수 있다. 최대 드라이브 모듈은 드라이브 나이를 최대 드라이브 나이와 동일하게 설정하기 위한 설정 모듈을 포함할 수 있다.
통지 모듈은 저장 장치 드라이브의 드라이브 나이가 최대 드라이브 나이에 도달했다는 통지 또는 경고를 발생할 수 있다. 이것은 사용자 경고가 정보를 백업하고 저장 장치 드라이브를 제때에 교체하게 한다.
메모리 제어기의 제어 흐름은 예로서 모듈 기능들 및 순서를 설명한다. 모듈들은 다르게 분할될 수 있다. 예를 들어, 도 8에서 설명된 모듈들은 하나의 모듈 또는 더 적은 수의 모듈들로 구현될 수 있다. 모듈들 각각은 다른 모듈들과 개별적으로 및 독립적으로 동작할 수 있다.
도 8의 모듈들은 메모리 제어기 내의 하드웨어 구현들일 수 있거나 전자 시스템 내에 있지만 메모리 제어기 밖에 있는 하드웨어로서 구현될 수 있다. 메모리 제어기의 모듈들은 하드웨어, 하드웨어 상에서 실행하거나 그에 결합된 소프트웨어, 또는 이들의 조합일 수 있다.
이제 도 9를 참조하면, 본 발명의 추가 실시예에서의 도 1의 전자 시스템의 동작의 방법의 플로우 차트가 도시된다. 이 방법은 한 블록에서 나이 기준을 계산하는 단계; 및 다른 블록에서 나이 기준에 기초하여 드라이브 나이를 결정하는 단계를 포함한다.
그러므로, 본 발명의 전자 시스템은 판독 방해 관리 메커니즘(read disturb management mechanism)을 갖는 전자 시스템에 대한 중요하고 지금까지 알려지지 않고 이용가능하지 않은 해결책들, 능력들, 및 기능적 양태들을 제공한다는 것이 발견되었다. 결과적인 방법, 프로세스, 장치, 디바이스, 제품, 및/또는 시스템은 간단하고, 비용 효과적이고, 복잡하지 않고, 고도로 다기능이고, 정확하고, 민감하고, 효과적이고, 용이하고, 효율적이고, 경제적인 제조, 응용, 및 이용을 위해 공지된 구성 소자들을 적응시킴으로써 구현될 수 있다.
본 발명의 또 하나의 중요한 양태는 비용을 줄이고, 시스템을 단순화하고, 성능을 향상시키는 역사적 트렌드를 가치있게 지원하고 서비스하는 것이다. 본 발명의 이들 및 다른 가치있는 양태들은 결과적으로 기술의 상태를 적어도 다음 레벨로 나아가게 한다.
용어 "제1", "제2" 등이 다양한 요소들을 설명하기 위해 여기에 사용될 수 있지만, 이들 요소는 이들 용어에 의해 제한되어서는 안 된다는 것을 이해할 것이다. 이들 용어는 단지 한 요소를 다른 요소와 구별하기 위해 사용된다. 예를 들어, "제1 나이 기준"의 모든 발생들이 일관되게 재명명되고 "제2 나이 기준"의 모든 발생들이 일관되게 재명명되는 한, 본 설명의 의미를 변화시키지 않고서, 제1 나이 기준은 제2 나이 기준이라고 할 수 있고, 유사하게, 제2 나이 기준은 제1 나이 기준이라고 할 수 있다. 제1 나이 기준 및 제2 나이 기준은 둘 다 나이 기준이지만, 이들은 동일한 나이 기준은 아니다.
여기에 사용된 용어는 단지 특정한 실시예를 설명하기 위한 목적을 위한 것이고 청구범위를 제한하려는 것은 아니다. 실시예들의 설명 및 첨부된 청구범위에서 사용된 바와 같이, 문맥이 분명히 달리 표시하지 않는다면, 단수 표현은 역시 복수 형태를 포함하는 것으로 의도된다. 여기에 사용된 것과 같은 표현 "및/또는"은 하나 이상의 관련된 나열된 품목들 중 하나 이상의 어떤 및 모든 가능한 조합들을 의미하고 포함한다는 것을 또한 이해할 것이다. 본 명세서에서 사용될 때, "포함한다" 및/또는 "포함하는"이라는 표현은 기술된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 소자들의 존재를 명시하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 소자들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것을 더 이해할 것이다.
여기에 사용된 바와 같이, "가정문(if)"은 선행하는 기술된 조건이 문맥에 따라 참인 것으로 "할 때", 또는 "할 시", 또는 "결정하는 것에 응답하여" 또는 "결정에 따라" 또는 "검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다. 유사하게, "[선행하는 기술된 조건이 참]이라고 결정된다면" 또는 [선행하는 기술된 조건이 참]이라면" 또는 "[선행하는 기술된 조건이 참일] 때"는 선행하는 기술된 조건이 문맥에 따라 참인 것으로 "결정할 때" 또는 "결정하는 것에 응답하여" 또는 "결정에 따라" 또는 "검출할 때" 또는 "결정하는 것에 응답하여"를 의미하는 것으로 해석된다.
설명의 목적을 위한 상기 설명은 특정한 실시예들을 참조하여 기술되었다. 그러나, 상기 예시적 논의들은 청구범위를 개시된 정밀한 형태로 한정하거나 제한하려는 것은 아니다. 많은 수정들 및 변화들이 상기 교시들에 비추어서 가능하다. 실시예들이 동작의 원리들 및 실제 응용들을 가장 잘 설명하기 위해 선택되어 설명되었고, 그에 의해 본 기술의 통상의 기술자에 의해 가능하게 된다.

Claims (20)

  1. 전자 시스템의 동작 방법으로서,
    저장 장치 드라이브(storage drive)의 2개 이상의 나이 기준들(age criteria)을 결정하는 단계;
    제1 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제1 나이 기준을 곱함으로써 제1 스케일링된 나이 기준을 결정하고,
    상기 저장 장치 드라이브의 드라이브 나이에 상기 저장 장치 드라이브에 대한 제1 최대 나이 기준을 곱함으로써 제1 드라이브 나이 표시자를 결정하고 - 상기 제1 최대 나이 기준은 상기 제1 나이 기준의 최대 값임 -,
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    에 의해 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하는 단계; 및
    상기 드라이브 나이를 결정한 후에, 상기 증가된 드라이브 나이가 상기 제1 나이 기준과 관련된 제1 최대 드라이브 나이 기준 이상이라는 결정에 따라, 상기 저장 장치 드라이브의 상기 드라이브 나이가 상기 제1 최대 드라이브 나이 기준에 도달하였다는 통지 또는 상기 저장 장치 드라이브의 임박한 불량(imminent failure)의 통지를 발생하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 2개 이상의 나이 기준들은 재시도율(retry rate)을 포함하는 방법.
  3. 제1항에 있어서, 상기 2개 이상의 나이 기준들은 상기 저장 장치 드라이브의 각각의 나이 기준 각자의 상대적 중요성을 조정하기 위해 각자의 구성가능한 팩터들에 의해 스케일링되는 방법.
  4. 제1항에 있어서,
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이 아니라는 결정에 따라,
    제2 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제2 나이 기준을 곱함으로써 제2 스케일링된 나이 기준을 결정하고;
    상기 드라이브 나이에 상기 저장 장치 드라이브에 대한 제2 최대 나이 기준을 곱함으로써 제2 드라이브 나이 표시자를 결정하고 - 상기 제2 최대 나이 기준은 상기 제2 나이 기준의 최대 값임 -;
    상기 제2 스케일링된 나이 기준이 상기 제2 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    을 포함하는 하나 이상의 동작을 수행하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 드라이브 나이에 대한 새로운 값을 결정하기 위해 상기 결정된 드라이브 나이를 업데이트하는 단계를 포함하고, 상기 업데이트하는 단계 동안에 상기 드라이브 나이는 감소하지 않는 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 2개 이상의 나이 기준들은 결함률(defect rate)을 포함하는 방법.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 저장 장치 드라이브는 하나 이상의 플래시 메모리 디바이스를 포함하는 방법.
  8. 전자 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리
    를 포함하고, 상기 하나 이상의 프로그램은:
    저장 장치 드라이브의 2개 이상의 나이 기준들을 결정하고;
    제1 구성가능한 팩터에 2개 이상의 나이 기준들 중 제1 나이 기준을 곱함으로써 제1 스케일링된 나이 기준을 결정하고,
    상기 저장 장치 드라이브의 드라이브 나이에 상기 저장 장치 드라이브에 대한 제1 최대 나이 기준을 곱함으로써 제1 드라이브 나이 표시자를 결정하고 - 상기 제1 최대 나이 기준은 상기 제1 나이 기준의 최대 값임 -,
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    에 의해 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하고; 그리고
    상기 드라이브 나이를 결정한 후에, 상기 증가된 드라이브 나이가 상기 제1 나이 기준과 관련된 제1 최대 드라이브 나이 기준 이상이라는 결정에 따라, 상기 저장 장치 드라이브의 상기 드라이브 나이가 상기 제1 최대 드라이브 나이 기준에 도달하였다는 통지 또는 상기 저장 장치 드라이브의 임박한 불량(imminent failure)의 통지를 발생
    하기 위한 명령어들을 포함하는 전자 시스템.
  9. 제8항에 있어서, 상기 2개 이상의 나이 기준들은 재시도율을 포함하는 전자 시스템.
  10. 제8항에 있어서, 상기 2개 이상의 나이 기준들은 상기 저장 장치 드라이브의 각각의 나이 기준 각자의 상대적 중요성을 조정하기 위해 각자의 구성가능한 팩터들에 의해 스케일링되는 전자 시스템.
  11. 제8항에 있어서, 상기 하나 이상의 프로그램은:
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이 아니라는 결정에 따라,
    제2 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제2 나이 기준을 곱함으로써 제2 스케일링된 나이 기준을 결정하고;
    상기 드라이브 나이에 상기 저장 장치 드라이브에 대한 제2 최대 나이 기준을 곱함으로써 제2 드라이브 나이 표시자를 결정하고 - 상기 제2 최대 나이 기준은 상기 제2 나이 기준의 최대 값임 -;
    상기 제2 스케일링된 나이 기준이 상기 제2 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    을 포함하는 하나 이상의 동작을 수행하기 위한 명령어들을 더 포함하는 전자 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램은 상기 드라이브 나이에 대한 새로운 값을 결정하기 위해 상기 결정된 드라이브 나이를 업데이트하는 명령어들을 더 포함하고, 상기 업데이트 동안에 상기 드라이브 나이는 감소하지 않는 전자 시스템.
  13. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 2개 이상의 나이 기준들은 결함률을 포함하는 전자 시스템.
  14. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 저장 장치 드라이브는 하나 이상의 플래시 메모리 디바이스를 포함하는 전자 시스템.
  15. 비-일시적 컴퓨터 판독가능 저장 매체로서,
    전자 시스템의 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램을 저장하고, 상기 하나 이상의 프로그램은:
    저장 장치 드라이브(storage drive)의 2개 이상의 나이 기준들(age criteria)을 결정하고;
    제1 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제1 나이 기준을 곱함으로써 제1 스케일링된 나이 기준을 결정하고,
    상기 저장 장치 드라이브의 드라이브 나이에 상기 저장 장치 드라이브에 대한 제1 최대 나이 기준을 곱함으로써 제1 드라이브 나이 표시자를 결정하고 - 상기 제1 최대 나이 기준은 상기 제1 나이 기준의 최대 값임 -,
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    에 의해 상기 저장 장치 드라이브의 상기 2개 이상의 나이 기준들에 따라 상기 저장 장치 드라이브의 드라이브 나이를 결정하고; 그리고
    상기 드라이브 나이를 결정한 후에, 상기 증가된 드라이브 나이가 상기 제1 나이 기준과 관련된 제1 최대 드라이브 나이 기준 이상이라는 결정에 따라, 상기 저장 장치 드라이브의 상기 드라이브 나이가 상기 제1 최대 드라이브 나이 기준에 도달하였다는 통지 또는 상기 저장 장치 드라이브의 임박한 불량(imminent failure)의 통지를 발생
    하기 위한 명령어들을 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서, 상기 2개 이상의 나이 기준들은 재시도율(retry rate)을 포함하는 비-일시적 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서, 상기 2개 이상의 나이 기준들은 상기 저장 장치 드라이브의 각각의 나이 기준 각자의 상대적 중요성을 조정하기 위해 각자의 구성가능한 팩터들에 의해 스케일링되는 비-일시적 컴퓨터 판독가능 저장 매체.
  18. 제15항에 있어서, 상기 하나 이상의 프로그램은:
    상기 제1 스케일링된 나이 기준이 상기 제1 드라이브 나이 표시자 이상이 아니라는 결정에 따라,
    제2 구성가능한 팩터에 상기 2개 이상의 나이 기준들 중 제2 나이 기준을 곱함으로써 제2 스케일링된 나이 기준을 결정하고;
    상기 드라이브 나이에 상기 저장 장치 드라이브에 대한 제2 최대 나이 기준을 곱함으로써 제2 드라이브 나이 표시자를 결정하고 - 상기 제2 최대 나이 기준은 상기 제2 나이 기준의 최대 값임 -;
    상기 제2 스케일링된 나이 기준이 상기 제2 드라이브 나이 표시자 이상이라는 결정에 따라, 상기 드라이브 나이를 증가시키는 것
    을 포함하는 하나 이상의 동작을 수행하기 위한 명령어들을 더 포함하는 비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램은 상기 드라이브 나이에 대한 새로운 값을 결정하기 위해 상기 결정된 드라이브 나이를 업데이트하는 명령어들을 더 포함하고, 상기 업데이트 동안에 상기 드라이브 나이는 감소하지 않는 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 2개 이상의 나이 기준들은 결함률을 포함하는 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020167005712A 2013-08-07 2014-08-05 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법 KR101952001B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361863411P 2013-08-07 2013-08-07
US61/863,411 2013-08-07
US14/334,324 2014-07-17
US14/334,324 US9361222B2 (en) 2013-08-07 2014-07-17 Electronic system with storage drive life estimation mechanism and method of operation thereof
PCT/US2014/049731 WO2015021020A1 (en) 2013-08-07 2014-08-05 Electronic system with storage drive life estimation mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
KR20160041954A KR20160041954A (ko) 2016-04-18
KR101952001B1 true KR101952001B1 (ko) 2019-02-25

Family

ID=52449615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167005712A KR101952001B1 (ko) 2013-08-07 2014-08-05 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법

Country Status (4)

Country Link
US (1) US9361222B2 (ko)
KR (1) KR101952001B1 (ko)
CN (1) CN105579970B (ko)
WO (1) WO2015021020A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11335446B2 (en) * 2002-12-06 2022-05-17 Quality Healthcare Intermediary, Llc Method of optimizing healthcare services consumption
US20140200907A1 (en) 2013-01-16 2014-07-17 American Health Data Institute, Inc. Method of optimizing healthcare services consumption
US9507714B2 (en) * 2014-03-27 2016-11-29 Intel Corporation Managed runtime extensions to reduce power consumption in devices with hybrid memory
US20170131947A1 (en) * 2015-11-06 2017-05-11 Pho Hoang Data and collection methods to analyze life acceleration of SSD with real usages
KR102606497B1 (ko) * 2016-06-27 2023-11-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 소거 방법
US9678817B1 (en) 2016-10-28 2017-06-13 International Business Machines Corporation Lifespan forecast for storage media devices
CN110473581B (zh) * 2018-05-09 2020-12-29 建兴储存科技(广州)有限公司 固态储存装置及其相关控制方法
JP7183844B2 (ja) * 2019-02-08 2022-12-06 株式会社リコー 情報処理装置、方法、およびプログラム
US11416161B2 (en) * 2019-06-28 2022-08-16 Western Digital Technologies, Inc. Zone formation for zoned namespaces
WO2021040810A1 (en) * 2019-08-23 2021-03-04 Futurewei Technologies, Inc. Device lifetime prediction
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
US20220300184A1 (en) * 2021-03-19 2022-09-22 Silicon Motion, Inc. Method of performing wear-leveling operation in flash memory and related controller and storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082890A1 (en) 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Family Cites Families (298)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4048481A (en) 1974-12-17 1977-09-13 Honeywell Information Systems Inc. Diagnostic testing apparatus and method
US4839587A (en) 1988-03-29 1989-06-13 Digital Equipment Corporation Test fixture for tab circuits and devices
JPH02128522A (ja) 1988-11-09 1990-05-16 Nakamichi Corp デグリッチ回路
EP1031992B1 (en) 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5210854A (en) 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5450354A (en) 1992-08-31 1995-09-12 Nippon Steel Corporation Non-volatile semiconductor memory device detachable deterioration of memory cells
US5311395A (en) 1992-10-29 1994-05-10 Ncr Corporation Surface mount heat sink
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
CA2121852A1 (en) 1993-04-29 1994-10-30 Larry T. Jost Disk meshing and flexible storage mapping with enhanced flexible caching
JPH07336483A (ja) 1994-06-03 1995-12-22 Canon Inc ファクシミリ装置およびメモリ管理方式
GB2291991A (en) 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5949785A (en) 1995-11-01 1999-09-07 Whittaker Corporation Network access communications system and methodology
JP3197815B2 (ja) 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
GB9614551D0 (en) 1996-07-11 1996-09-04 Memory Corp Plc Memory system
US5930504A (en) 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US6381670B1 (en) 1997-01-07 2002-04-30 Aplus Flash Technology, Inc. Flash memory array having maximum and minimum threshold voltage detection for eliminating over-erasure problem and enhancing write operation
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
JP3321555B2 (ja) 1997-11-21 2002-09-03 日本オプネクスト株式会社 光伝送用モジュールの製造方法並びにビット・エラーレート特性検査システム
US6091652A (en) 1998-12-11 2000-07-18 Lsi Logic Corporation Testing semiconductor devices for data retention
US6412080B1 (en) 1999-02-23 2002-06-25 Microsoft Corporation Lightweight persistent storage system for flash memory devices
US7827348B2 (en) 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US7620769B2 (en) 2000-01-06 2009-11-17 Super Talent Electronics, Inc. Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory
US7333364B2 (en) 2000-01-06 2008-02-19 Super Talent Electronics, Inc. Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory
KR100577380B1 (ko) 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
US6854070B2 (en) 2000-01-25 2005-02-08 Hewlett-Packard Development Company, L.P. Hot-upgrade/hot-add memory
US6728913B1 (en) 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
EP1130600A1 (en) 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
US20020056025A1 (en) 2000-11-07 2002-05-09 Qiu Chaoxin C. Systems and methods for management of memory
US6249434B1 (en) 2000-06-20 2001-06-19 Adc Telecommunications, Inc. Surface mounted conduction heat sink
US6529997B1 (en) 2000-08-11 2003-03-04 Storage Technology Corporation Apparatus and method for writing and reading data to and from a virtual volume of redundant storage devices
US6552581B1 (en) 2000-08-25 2003-04-22 Agere Systems Inc. Current recycling circuit and a method of current recycling
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20020174295A1 (en) 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
JP3963692B2 (ja) 2001-10-15 2007-08-22 富士通株式会社 複数の情報処理装置の電源制御方法、その情報処理装置、及びプログラム
US6618249B2 (en) 2002-02-05 2003-09-09 Quantum Corporation Thermal cooling system for densely packed storage devices
US20030163633A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
WO2004001605A1 (en) 2002-06-19 2003-12-31 Tokyo Electron Device Limited Memory device, memory managing method and program
US7082495B2 (en) 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
US6871304B2 (en) 2002-08-12 2005-03-22 Nortel Networks Limited Method and apparatus for adjusting receiver voltage threshold and phase sampling point using FEC counts
CA2461446A1 (en) 2002-08-29 2004-03-11 Matsushita Electric Industrial Co., Ltd. Semiconductor memory apparatus and method for writing data into the flash memory device
US7298888B2 (en) 2002-10-23 2007-11-20 Hamar Laser Instruments, Inc. Electronic level sensor
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US6868473B2 (en) 2002-10-30 2005-03-15 Scientific-Atlanta, Inc. Non-volatile memory access control
US7350101B1 (en) 2002-12-23 2008-03-25 Storage Technology Corporation Simultaneous writing and reconstruction of a redundant array of independent limited performance storage devices
US6975028B1 (en) 2003-03-19 2005-12-13 Delta Design, Inc. Thermal apparatus for engaging electronic device
US7330927B1 (en) 2003-05-07 2008-02-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Apparatus and methodology for a pointer manager
ITMI20031126A1 (it) 2003-06-05 2004-12-06 St Microelectronics Srl Dispositivo di memoria di massa basato su una memoria
US20040252670A1 (en) 2003-06-12 2004-12-16 Nokia Corporation Adaptive power margin adjustment for a 1xEV-DV system
US6906961B2 (en) 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
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
US7116584B2 (en) 2003-08-07 2006-10-03 Micron Technology, Inc. Multiple erase block tagging in a flash memory device
US20050038792A1 (en) 2003-08-14 2005-02-17 Johnson Ted C. Apparatus and method for operating circular files
US7454495B2 (en) 2003-09-18 2008-11-18 Raritan America, Inc. Intelligent modular server management system for selectively operating and locating a plurality of computers
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7159068B2 (en) 2003-12-22 2007-01-02 Phison Electronics Corp. Method of optimizing performance of a flash memory
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050144516A1 (en) 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US20080082736A1 (en) 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7788427B1 (en) 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
US7536506B2 (en) 2004-06-21 2009-05-19 Dot Hill Systems Corporation RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
KR100858756B1 (ko) 2004-07-12 2008-09-16 가부시끼가이샤 도시바 저장 디바이스 및 호스트 장치
US8607016B2 (en) 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US7427027B2 (en) 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
KR100622349B1 (ko) 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US7693422B2 (en) 2004-09-28 2010-04-06 Alcatel-Lucent Usa Inc. Constraint-based design of optical transmission systems
US20070276973A1 (en) 2004-09-30 2007-11-29 Intel Corporation Managing queues
US7233497B2 (en) 2004-10-06 2007-06-19 Hewlett-Packard Development Company, L.P. Surface mount heat sink
JP2006107311A (ja) 2004-10-08 2006-04-20 Hitachi Ltd ディスクアレイ装置およびその制御方法
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7464243B2 (en) 2004-12-21 2008-12-09 Cisco Technology, Inc. Method and apparatus for arbitrarily initializing a portion of memory
US7770003B2 (en) 2004-12-29 2010-08-03 Intel Corporation Updating firmware securely over a network
US7509474B2 (en) 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
JP4688584B2 (ja) 2005-06-21 2011-05-25 株式会社日立製作所 ストレージ装置
KR20060134395A (ko) 2005-06-22 2006-12-28 엘지전자 주식회사 케이블 방송 수신기 및 펌웨어 업그레이드 방법
US7853749B2 (en) 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
KR101215350B1 (ko) 2005-09-14 2012-12-26 엘지전자 주식회사 케이블 방송 수신기 및 펌웨어 업그레이드 방법
US7533215B2 (en) 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US7661054B2 (en) 2005-09-30 2010-02-09 Intel Corporation Methods and arrangements to remap degraded storage blocks
US7472292B2 (en) 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
JP4764696B2 (ja) 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7516267B2 (en) 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7620710B2 (en) 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
US7355896B2 (en) 2005-12-22 2008-04-08 Chartered Semiconductor Manufacturing Ltd. System for improving endurance and data retention in memory devices
JP2007193865A (ja) * 2006-01-17 2007-08-02 Toshiba Corp 情報記録装置及びその制御方法
KR101300683B1 (ko) 2006-02-06 2013-08-26 삼성디스플레이 주식회사 액정 표시 장치
EP2003569B1 (en) 2006-03-13 2010-06-02 Panasonic Corporation Flash memory controller
US7810017B2 (en) 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
JP2007272635A (ja) 2006-03-31 2007-10-18 Toshiba Corp メモリシステム及びコントローラ
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7778077B2 (en) 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
CN100504795C (zh) * 2006-06-28 2009-06-24 联想(北京)有限公司 一种计算机raid阵列预警系统及方法
US7743216B2 (en) 2006-06-30 2010-06-22 Seagate Technology Llc Predicting accesses to non-requested data
US20080028246A1 (en) 2006-07-31 2008-01-31 Witham Timothy D Self-monitoring and self-adjusting power consumption computer control system
US20080046630A1 (en) 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080052446A1 (en) 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
US7738502B2 (en) 2006-09-01 2010-06-15 Intel Corporation Signal noise filtering in a serial interface
US8117396B1 (en) 2006-10-10 2012-02-14 Network Appliance, Inc. Multi-level buffer cache management through soft-division of a uniform buffer cache
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7558109B2 (en) 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US8560760B2 (en) 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
JP5283845B2 (ja) 2007-02-07 2013-09-04 株式会社メガチップス ビットエラーの予防方法、情報処理装置
JP5026102B2 (ja) 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法
JP4810469B2 (ja) 2007-03-02 2011-11-09 株式会社東芝 検索支援装置、プログラム及び検索支援システム
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
JP2008269363A (ja) 2007-04-20 2008-11-06 Hitachi Ltd 記憶制御装置および記憶制御方法
KR100909902B1 (ko) 2007-04-27 2009-07-30 삼성전자주식회사 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
US8151171B2 (en) 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
US8209677B2 (en) 2007-05-21 2012-06-26 Sony Corporation Broadcast download system via broadband power line communication
KR100857761B1 (ko) 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
US8000161B2 (en) 2007-06-28 2011-08-16 University Of Virginia Patent Foundation Method and system for encoding to eliminate parasitics in crossbar array memories
US8041989B2 (en) 2007-06-28 2011-10-18 International Business Machines Corporation System and method for providing a high fault tolerant memory system
US8296534B1 (en) 2007-06-29 2012-10-23 Emc Corporation Techniques for using flash-based memory in recovery processing
US7747903B2 (en) 2007-07-09 2010-06-29 Micron Technology, Inc. Error correction for memory
US7949817B1 (en) 2007-07-31 2011-05-24 Marvell International Ltd. Adaptive bus profiler
US8095851B2 (en) 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
WO2009042298A1 (en) 2007-09-26 2009-04-02 Rambus Inc. Flash memory refresh
US8138803B2 (en) 2007-09-26 2012-03-20 Intel Corporation Apparatus and method for selectively enabling and disabling a squelch circuit across AHCI and SATA power states
TWI366828B (en) 2007-09-27 2012-06-21 Phison Electronics Corp Wear leveling method and controller using the same
KR101403429B1 (ko) 2007-10-09 2014-06-03 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US7639532B2 (en) 2007-10-10 2009-12-29 Micron Technology, Inc. Non-equal threshold voltage ranges in MLC NAND
KR20090042039A (ko) 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
TWM332248U (en) 2007-11-16 2008-05-11 Carry Technology Co Ltd Display apparatus for phonic recording and playing electronically digital picture
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
JP5207720B2 (ja) 2007-12-07 2013-06-12 ルネサスエレクトロニクス株式会社 Oob検出回路およびシリアルataシステム
US8140746B2 (en) 2007-12-14 2012-03-20 Spansion Llc Intelligent memory data management
KR101498669B1 (ko) 2007-12-20 2015-03-19 삼성전자주식회사 반도체 메모리 시스템 및 그것의 액세스 방법
US8656083B2 (en) 2007-12-21 2014-02-18 Spansion Llc Frequency distributed flash memory allocation based on free page tables
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US20090172248A1 (en) 2007-12-27 2009-07-02 Guangqing You Management of a flash memory device
US9389921B2 (en) 2008-01-14 2016-07-12 Hewlett Packard Enterprise Development Lp System and method for flexible device driver resource allocation
JP5045448B2 (ja) 2008-01-16 2012-10-10 ソニー株式会社 信号処理回路、信号処理方法、再生装置
US8095724B2 (en) 2008-02-05 2012-01-10 Skymedi Corporation Method of wear leveling for non-volatile memory and apparatus using via shifting windows
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US20090259819A1 (en) 2008-04-09 2009-10-15 Skymedi Corporation Method of wear leveling for non-volatile memory
TWI381390B (zh) 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
US8028123B2 (en) 2008-04-15 2011-09-27 SMART Modular Technologies (AZ) , Inc. Circular wear leveling
US7830164B2 (en) 2008-04-22 2010-11-09 Honeywell International Inc. Ducted test socket
US20090271562A1 (en) 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US7957187B2 (en) 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
KR101506655B1 (ko) 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
US7925807B2 (en) 2008-05-27 2011-04-12 Microsoft Corporation Dynamic microcode for non-volatile memory
US7679948B2 (en) 2008-06-05 2010-03-16 Sun Microsystems, Inc. Write and read assist circuit for SRAM with power recycling
US8959280B2 (en) 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR100974954B1 (ko) 2008-06-26 2010-08-10 에스디씨마이크로 주식회사 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
US8010738B1 (en) 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device
US20090327581A1 (en) 2008-06-30 2009-12-31 Coulson Richard L Nand memory
US20100017650A1 (en) 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
US7941591B2 (en) 2008-07-28 2011-05-10 CacheIQ, Inc. Flash DIMM in a standalone cache appliance system and methodology
US8213229B2 (en) 2008-08-22 2012-07-03 HGST Netherlands, B.V. Error control in a flash memory device
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
JP4769853B2 (ja) 2008-09-19 2011-09-07 株式会社日立製作所 記憶制御装置及び記憶装置のデータ消去方法
US8275933B2 (en) 2008-11-10 2012-09-25 Fusion-10, Inc Apparatus, system, and method for managing physical regions in a solid-state storage device
US7764550B2 (en) 2008-11-25 2010-07-27 Freescale Semiconductor, Inc. Method of programming a non-volatile memory
KR101555022B1 (ko) 2008-12-02 2015-09-23 삼성전자주식회사 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법
US8261009B2 (en) 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US20100174845A1 (en) 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
CN102405460B (zh) 2009-02-11 2016-05-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
US8086783B2 (en) 2009-02-23 2011-12-27 International Business Machines Corporation High availability memory system
US9753887B2 (en) 2009-02-24 2017-09-05 Seagate Technology Llc Receiver training during a SATA out of band sequence
JP5268710B2 (ja) 2009-02-27 2013-08-21 株式会社東芝 半導体記憶装置
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8239614B2 (en) 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
US8095765B2 (en) 2009-03-04 2012-01-10 Micron Technology, Inc. Memory block management
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
CN101615156A (zh) * 2009-03-31 2009-12-30 杨敬东 可实时显示移动储存设备擦写寿命的系统
US8166232B2 (en) 2009-04-02 2012-04-24 Hitachi, Ltd. Metrics and management for flash memory storage life
US8572443B2 (en) 2009-04-08 2013-10-29 International Business Machines Corporation System, method, and computer program product for determining a retention behavior for at least one block of a memory device having finite endurance and/or retention
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
US8316173B2 (en) 2009-04-08 2012-11-20 International Business Machines Corporation System, method, and computer program product for analyzing monitor data information from a plurality of memory devices having finite endurance and/or retention
US8219776B2 (en) 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8051241B2 (en) 2009-05-07 2011-11-01 Seagate Technology Llc Wear leveling technique for storage devices
US8190873B2 (en) 2009-05-13 2012-05-29 Dell Products L.P. System and method for optimizing performance of an information handling system component
US20100318719A1 (en) 2009-06-12 2010-12-16 Micron Technology, Inc. Methods, memory controllers and devices for wear leveling a memory
US8732389B2 (en) 2009-06-23 2014-05-20 Seagate Technology Llc Memory wear control
US20100332726A1 (en) 2009-06-26 2010-12-30 Solid State System Co., Ltd. Structure and method for managing writing operation on mlc flash memory
JP5353494B2 (ja) 2009-07-03 2013-11-27 富士通株式会社 通信装置、および通信方法
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8332578B2 (en) 2009-07-31 2012-12-11 Intel Corporation Method and system to improve the performance of a multi-level cell (MLC) NAND flash memory
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8072805B2 (en) 2009-08-18 2011-12-06 Skymedi Corporation Method and system of finding a read voltage for a flash memory
US8464106B2 (en) 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
US8463826B2 (en) 2009-09-03 2013-06-11 Apple Inc. Incremental garbage collection for non-volatile memories
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8463983B2 (en) 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
EP2333661B1 (en) 2009-09-18 2015-06-10 Yamaha Corporation Firmware update apparatus and program
TW201111986A (en) 2009-09-29 2011-04-01 Silicon Motion Inc Memory apparatus and data access method for memories
US8254172B1 (en) 2009-09-30 2012-08-28 Western Digital Technologies, Inc. Wear leveling non-volatile semiconductor memory based on erase times and program times
US8285956B2 (en) 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US8560770B2 (en) 2009-11-13 2013-10-15 Seagate Technology Llc Non-volatile write cache for a data storage system
CN101876949B (zh) 2009-11-30 2012-04-25 威盛电子股份有限公司 数据储存系统与方法
US8589302B2 (en) 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US8473669B2 (en) 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US20110132000A1 (en) 2009-12-09 2011-06-09 Deane Philip A Thermoelectric Heating/Cooling Structures Including a Plurality of Spaced Apart Thermoelectric Components
US8285918B2 (en) 2009-12-11 2012-10-09 Nimble Storage, Inc. Flash memory cache for data storage device
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
EP2354864A1 (en) 2010-01-29 2011-08-10 Eurocopter Deutschland GmbH Method and system for an optimized utilization of energy resources of an electrical system
KR101623119B1 (ko) 2010-02-01 2016-05-20 삼성전자주식회사 솔리드 스테이트 드라이브의 에러 제어 방법
US20110191522A1 (en) 2010-02-02 2011-08-04 Condict Michael N Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory
KR101655306B1 (ko) 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US8601203B2 (en) 2010-03-12 2013-12-03 Standard Microsystems Corporation Firmware flashing of a portable device using a serial bus hub
US8726126B2 (en) 2010-03-23 2014-05-13 Apple Inc. Non-regular parity distribution detection via metadata tag
CN102201259A (zh) 2010-03-24 2011-09-28 建兴电子科技股份有限公司 非易失性存储器的平均抹写方法
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
TWI447733B (zh) 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8510637B2 (en) 2010-04-14 2013-08-13 Phison Electronics Corp. Data reading method, memory storage apparatus and memory controller thereof
WO2011132227A1 (en) 2010-04-22 2011-10-27 Hitachi, Ltd. System and method of controlling migration of data based on deduplication efficiency
US8397101B2 (en) 2010-06-03 2013-03-12 Seagate Technology Llc Ensuring a most recent version of data is recovered from a memory
US8799747B2 (en) 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
WO2011156466A2 (en) 2010-06-08 2011-12-15 Hewlett-Packard Development Company, L.P. Storage caching
US8612669B1 (en) 2010-06-28 2013-12-17 Western Digital Technologies, Inc. System and method for performing data retention in solid-state memory using copy commands and validity and usage data
US8386714B2 (en) 2010-06-29 2013-02-26 International Business Machines Corporation Reducing write amplification in a cache with flash memory used as a write cache
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
US20120023144A1 (en) 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
US8503238B1 (en) 2010-07-21 2013-08-06 Sk Hynix Memory Solutions Inc. Error recovery for flash memory
US9037778B2 (en) 2010-08-20 2015-05-19 Samsung Electronics Co., Ltd. Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
KR101702392B1 (ko) 2010-08-20 2017-02-06 삼성전자주식회사 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법
US8832507B2 (en) 2010-08-23 2014-09-09 Apple Inc. Systems and methods for generating dynamic super blocks
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8363413B2 (en) 2010-09-13 2013-01-29 Raytheon Company Assembly to provide thermal cooling
US20120079348A1 (en) 2010-09-24 2012-03-29 Helia Naeimi Data with appended crc and residue value and encoder/decoder for same
US8627175B2 (en) 2010-09-27 2014-01-07 Seagate Technology Llc Opportunistic decoding in memory systems
US8219724B1 (en) 2010-09-29 2012-07-10 Emc Corporation Flexibly managing I/O operations based on application awareness
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US20120254686A1 (en) 2010-10-01 2012-10-04 SIGLEAD Inc. Non-volatile semiconductor memory devices and error correction methods
US8738846B2 (en) 2010-10-15 2014-05-27 Arkologic Limited File system-aware solid-state storage management system
US8694811B2 (en) 2010-10-29 2014-04-08 Texas Instruments Incorporated Power management for digital devices
US8806106B2 (en) 2010-11-12 2014-08-12 Seagate Technology Llc Estimating wear of non-volatile, solid state memory
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US8656086B2 (en) 2010-12-08 2014-02-18 Avocent Corporation System and method for autonomous NAND refresh
JP2012129859A (ja) 2010-12-16 2012-07-05 Nec Corp 無線アクセスネットワークシステム、遠隔監視装置、アンテナ角度制御方法、及びアンテナ角度制御プログラム
US8521981B2 (en) 2010-12-16 2013-08-27 Microsoft Corporation Memory power tokens
KR101703106B1 (ko) 2011-01-04 2017-02-06 삼성전자주식회사 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 장치들
US8364888B2 (en) 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
JP2012169006A (ja) 2011-02-14 2012-09-06 Toshiba Corp 半導体記憶装置
KR101875142B1 (ko) 2011-02-17 2018-07-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
EP2498259B1 (en) 2011-03-08 2018-11-07 Linear Technology Corporation Methods and system for erasing data stored in nonvolatile memory in low power applications
US8732518B2 (en) 2011-04-13 2014-05-20 Netapp, Inc. Reliability based data allocation and recovery in a storage system
US8918595B2 (en) 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US8862804B2 (en) 2011-04-29 2014-10-14 Western Digital Technologies, Inc. System and method for improved parity determination within a data redundancy scheme in a solid state memory
US8656088B2 (en) 2011-05-20 2014-02-18 International Business Machines Corporation Optimized flash based cache memory
TWI479495B (zh) 2011-06-02 2015-04-01 Phison Electronics Corp 資料讀取方法、記憶體控制器及記憶體儲存裝置
US8806108B2 (en) 2011-06-07 2014-08-12 Hitachi, Ltd. Semiconductor storage apparatus and method of controlling semiconductor storage apparatus
US8719531B2 (en) 2011-06-14 2014-05-06 Western Digital Technologies, Inc. System and method for performing data retention that incorporates environmental conditions
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8954689B2 (en) 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
US8645773B2 (en) 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory
CN102279775B (zh) * 2011-08-19 2013-04-17 西安交通大学 一种Linux系统下的硬盘故障处理方法
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9069468B2 (en) 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation
US9477590B2 (en) 2011-09-16 2016-10-25 Apple Inc. Weave sequence counter for non-volatile memory systems
JP5481453B2 (ja) 2011-09-21 2014-04-23 株式会社東芝 メモリデバイス
US8760932B2 (en) 2011-10-18 2014-06-24 Seagate Technology Llc Determination of memory read reference and programming voltages
CN103064478A (zh) 2011-10-19 2013-04-24 鸿富锦精密工业(深圳)有限公司 具有导风罩的电脑系统
US8811081B2 (en) 2011-12-09 2014-08-19 Sandisk Technologies Inc. Systems and methods of updating read voltages in a memory
US9141166B2 (en) 2011-12-13 2015-09-22 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains
US8832506B2 (en) 2012-01-20 2014-09-09 International Business Machines Corporation Bit error rate based wear leveling for solid state drive memory
US8792272B2 (en) 2012-01-30 2014-07-29 HGST Netherlands B.V. Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8892811B2 (en) 2012-03-01 2014-11-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing write amplification in a flash memory
US8935459B2 (en) 2012-03-08 2015-01-13 Apple Inc. Heuristics for programming data in a non-volatile memory
US8760922B2 (en) 2012-04-10 2014-06-24 Sandisk Technologies Inc. System and method for micro-tiering in non-volatile memory
US9116625B2 (en) 2012-05-11 2015-08-25 Micron Technology, Inc. Write command overlap detection
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9058281B2 (en) 2012-06-01 2015-06-16 Seagate Technology Llc Allocating memory usage based on quality metrics
TWI467376B (zh) 2012-06-11 2015-01-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
US9064575B2 (en) 2012-08-03 2015-06-23 Micron Technology, Inc. Determining whether a memory cell state is in a valley between adjacent data states
US9405355B2 (en) 2012-08-21 2016-08-02 Micron Technology, Inc. Memory operation power management by data transfer time adjustment
US8862818B1 (en) 2012-09-27 2014-10-14 Emc Corporation Handling partial stripe writes in log-structured storage
US8914670B2 (en) 2012-11-07 2014-12-16 Apple Inc. Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks
US8656135B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Optimized memory configuration deployed prior to execution
US9145311B2 (en) 2012-12-11 2015-09-29 Anthony Elmer Greene Apparatus for controlling an electrolytic cell in a water purification system
US9411718B2 (en) 2012-12-21 2016-08-09 Seagate Technology Llc Method to apply fine grain wear leveling and garbage collection
US8903959B2 (en) 2013-01-08 2014-12-02 Lyve Minds, Inc. Storage network data distribution
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9043668B2 (en) 2013-02-08 2015-05-26 Seagate Technology Llc Using ECC data for write deduplication processing
US8972776B2 (en) 2013-03-06 2015-03-03 Seagate Technology, Llc Partial R-block recycling
US9229525B2 (en) 2013-06-17 2016-01-05 Apple Inc. Adaptive latency tolerance for power management of memory bus interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082890A1 (en) 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Also Published As

Publication number Publication date
CN105579970A (zh) 2016-05-11
US9361222B2 (en) 2016-06-07
CN105579970B (zh) 2019-04-30
WO2015021020A1 (en) 2015-02-12
US20150046635A1 (en) 2015-02-12
KR20160041954A (ko) 2016-04-18

Similar Documents

Publication Publication Date Title
KR101952001B1 (ko) 저장 장치 드라이브 수명 추정 메커니즘을 갖는 전자 시스템 및 그 동작 방법
US9864525B2 (en) Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9891844B2 (en) Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US8719531B2 (en) System and method for performing data retention that incorporates environmental conditions
US9146850B2 (en) Data storage system with dynamic read threshold mechanism and method of operation thereof
CN107526543B (zh) 形性存储设备
US9298608B2 (en) Biasing for wear leveling in storage systems
US9123445B2 (en) Storage control system with data management mechanism and method of operation thereof
KR101079502B1 (ko) 메모리 시스템
US8977803B2 (en) Disk drive data caching using a multi-tiered memory
TWI420303B (zh) 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置
EP2024839B1 (en) Non-volatile memory system with end of life calculation
US8296501B2 (en) Memory management method for non-volatile memory and controller using the same
TWI428739B (zh) 記憶卡之壽命終點恢復及尺寸重整
US20100180068A1 (en) Storage device
JP6119533B2 (ja) ストレージ装置,ステージング制御方法及びステージング制御プログラム
CN106933492B (zh) 有助于固态硬盘的磨损平衡的方法和装置
US10732856B2 (en) Erase health metric to rank memory portions
CN103176748A (zh) 基于环境的设备操作
CN112867984B (zh) 池级存储管理
US11199968B2 (en) Using recurring write quotas to optimize utilization of solid state storage in a hybrid storage array
JP6536614B2 (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant