KR20140116387A - 메모리 디바이스들의 웨어 레벨링 - Google Patents

메모리 디바이스들의 웨어 레벨링 Download PDF

Info

Publication number
KR20140116387A
KR20140116387A KR1020147017527A KR20147017527A KR20140116387A KR 20140116387 A KR20140116387 A KR 20140116387A KR 1020147017527 A KR1020147017527 A KR 1020147017527A KR 20147017527 A KR20147017527 A KR 20147017527A KR 20140116387 A KR20140116387 A KR 20140116387A
Authority
KR
South Korea
Prior art keywords
volatile memory
die
memory die
reliability measure
memory
Prior art date
Application number
KR1020147017527A
Other languages
English (en)
Inventor
마뉴엘 안토니오 다브레우
스테판 스칼라
Original Assignee
샌디스크 테크놀로지스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 테크놀로지스, 인코포레이티드 filed Critical 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20140116387A publication Critical patent/KR20140116387A/ko

Links

Images

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법은 제1 비휘발성 메모리 다이의 제1 부분과 관련된 신뢰성 측정값이 임계치를 만족하는지 여부를 결정하는 단계를 포함한다. 상기 제1 비휘발성 메모리 다이는 복수의 메모리 다이들에 포함된다. 상기 제1 비휘발성 메모리 다이의 제1 부분에 관련된 상기 신뢰성 측정값이 상기 임계치를 만족한다고 결정하는 것에 응답하여, 제1 데이터를 상기 제1 비휘발성 메모리 다이의 제1 부분으로부터 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로 전송하는 단계를 포함한다.

Description

메모리 디바이스들의 웨어 레벨링{WEAR LEVELING OF MEMORY DEVICES}
본 발명은 일반적으로 데이터 저장 장치에 관한 것이다.
메모리 디바이스들에 데이터를 저장하는 능력은 기술의 진보로 향상된다. 예를 들어, 플래시 메모리 디바이스는 하나 이상의 메모리 코어들을 포함할 수 있는 반도체 디바이스에서 데이터의 비휘발성 저장을 가능하게 할 수 있다.
메모리 다이의 메모리 소자의 웨어(wear)는 기입들, 판독들, 삭제들 및 상기 메모리 소자에 관련된 다른 메모리 동작들로 인해 발생할 수 있다. 메모리 소자가 과도한 웨어를 경험할 때, 신뢰할만한 기억 소자가 되지 못할 수 있다. 메모리 다이 내의 신뢰할만한 기억 소자들이 감소할수록, 상기 메모리 다이로부터 판독된 데이터의 에러율은 증가된다. 상기 에러율이 메모리 디바이스의 에러 정정 기능을 초과할 때, 상기 메모리 디바이스의 유효 수명은 완료한 것으로 고려된다.
웨어 레벨링은 메모리 다이의 수명을 연장시키고, 통상적으로 상기 메모리 다이 내의 메모리 소자들 사이의 웨어를 분배하도록 상기 메모리 다이의 메모리 소자들 사이에서 데이터를 전송하는 것을 포함할 수 있는 기술이다. 빈번하게 액세스되는 데이터를 하나의 메모리 소자로부터 다른 소자로 이동시킴으로써, 판독들, 기입들, 삭제들, 재생들 및 다른 메모리 동작들을 포함하는 메모리 동작들은 하나 보다 많은 메모리 소자 사이에서 분배된다. 그 결과, 상기 메모리 다이는 웨어 레벨링을 하지 않는 것보다 더 긴 유효 수명을 가질 수 있다.
데이터는 데이터 저장 디바이스의 서로 다른 메모리 다이들 사이에서 전송될 수 있다. 하나의 메모리 다이로부터 다른 메모리 다이로 데이터를 전송하는지에 대한 결정은 메모리 다이들 중 하나 또는 둘 모두로부터 관련된 신뢰성 측정들에 기초할 수 있다. 데이터 저장 디바이스 내의 복수의 메모리 다이들 중 다른 비휘발성 다이들로 데이터(웨어 레벨링)을 전송함으로써, 복수의 메모리 다이들 중 유효 수명은 단일 메모리 다이 내에서 데이터 전송에 대한 제한된 웨어 레벨링과 비교하여 연장될 수 있다.
복수의 메모리 다이들 내의 제1 비휘발성 메모리 다이의 제1 부분과 관련된 신뢰성 측정을 유지하고 상기 신뢰성 측정이 임계치를 만족하는지 결정하기 위한 방법들 및 디바이스들이 표시된다. 상기 임계치는 제1 비휘발성 메모리 다이의 제1 부분의 신뢰성과 관련될 수 있다. 상기 신뢰성 측정이 상기 임계치를 만족한다는 결정에 응답하여, 제1 부분에 저장된 데이터는 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이에 전송될 수 있다. 상기 제2 비휘발성 메모리 다이의 특정 부분으로의 데이터의 전송은 임계치보다 작은 값을 갖는 특정 부분에 관련된 신뢰성 측정에 의존할 수 있고, 상기 임계치는 상기 제2 비휘발성 메모리 다이의 특정 부분과 관련된다.
도 1은 복수의 메모리 다이들 중 메모리 다이들 사이에서 데이터를 전송하기 위해 구성되는 주변 회로를 포함하는 데이터 저장 디바이스의 특정 실시예를 나타내는 블록도이다.
도 2는 주변 회로 및 복수의 메모리 다이들 중 메모리 다이들 사이에서 데이터를 전송하기 위해 구성되는 제어기를 포함하는 데이터 저장 디바이스의 특정 실시예를 나타내는 블록도이다.
도 3은 복수의 메모리 다이들 중 메모리 다이들 사이에서 데이터를 전송하기 위해 구성되는 제어기를 포함하는 데이터 저장 디바이스의 특정 실시예를 나타내는 블록도이다.
도 4는 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 특정 실시예를 나타내는 흐름도이다.
도 5는 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 다른 실시예를 나타내는 흐름도이다.
도 6은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 다른 실시예를 나타내는 흐름도이다.
도 7은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 다른 실시예를 나타내는 흐름도이다.
도 8은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 다른 실시예를 나타내는 흐름도이다.
데이터는 비휘발성 메모리의 페이지 또는 블록과 같은 비휘발성 메모리의 부분 내에 저장될 수 있다. 상기 비휘발성 메모리의 각 부분은, 통상적으로 다수의 기입들, 판독들, 다른 메모리 동작들 또는 그것의 조합으로부터 발생하는 웨어를 경험할 수 있다.
상기 비휘발성 메모리의 부분과 관련된 웨어는 상기 부분과 관련된 신뢰성 측정에서 반영될 수 있다. 예를 들어, 상기 신뢰성 측정은 상기 부분에 관련하여 기입들, 판독들, 다른 메모리 액세스들 또는 그것의 임의의 조합들의 카운트에 기초하여 결정될 수 있다. 대안으로, 상기 신뢰성 측정은 데이터가 상기 부분에 기입된 이후의 경과 시간에 기초할 수 있다. 상기 신뢰성 측정은, 상기 부분의 신뢰성에 대한 표시, 즉, 상기 부분에 저장된 데이터 표현이 상기 부분에 기입된 상기 데이터의 정확한 표현인지에 대해 제공할 수 있다.
신뢰성 측정은, 신뢰성 측정값과 신뢰성 표준에 관련된 임계치와 비교함으로써 평가될 수 있다. 상기 메모리의 제1 부분에 관련된 신뢰성 측정(또는 신뢰성 측정값)이 임계치에 도달하거나 임계치를 초과할 때, 상기 제1 부분은 신뢰할 수 없는 것으로 간주될 수 있다. 응답하여, 상기 저장된 데이터는 상기 비휘발성 메모리의 제2 부분에 전송될 수 있다. 웨어를 균등하기 나누기 위해 상기 데이터를 상기 제2 부분에 전송하는 것(웨어 레벨링)은 상기 저장된 데이터의 신뢰성을 증가시킬 수 있다. 설명을 위해, 상기 데이터를 상기 제2 부분으로 전송하는 것은 상기 제1 부분에 상기 데이터를 유지하는 것과 비교해서 상기 저장된 데이터에서 발생하는 에러들의 확률을 감소시킬 수 있다.
웨어 레벨링은 메모리 다이의 하나의 부분으로부터 상기 메모리 다이의 다른 부분으로의 데이터에 전송에 제한될 수 있다. 대안으로, 웨어 레벨링은 메모리 다이들 사이에서 데이터를 전송하기 위해 연장될 수 있다. 웨어 레벨링이 하나의 다이의 한 부분으로부터 동일한 다이의 다른 부분으로 데이터를 이동시키는 것에 대해 제한될 때, 상기 다이들 중 하나는 다른 다이들보다 빠르게 웨어할 수 있다. 단일 메모리 다이 상의 불균형한 웨어는 상기 스택 내의 단일의 다이를 대체하는데 어려움들로 인해, 메모리 다이들의 스택과 같은 복수의 메모리 다이들을 포함하는 메모리 디바이스의 유효 수명을 제한할 수 있다. 다수의 메모리 다이들 사이에서 데이터 전송에 대해 웨어 레벨링을 적용함으로써, 상기 메모리 다이들 중 임의의 것에 대한 불균형한 웨어의 가능성은 감소될 수 있고, 따라서, 상기 메모리 디바이스의 전체 유효 수명을 연장시킨다.
도 1은 데이터 저장 디바이스(100)의 블록도이고, 상기 데이터 저장 디바이스는 메모리 다이들의 스택(101) 그리고 상기 스택(101)의 메모리 다이들 사이에 데이터를 전송함으로써 웨어 레벨링(wear leveling)을 수행하도록 구성되는 제어기(180)를 포함한다. 상기 데이터 저장 디바이스(100)는 또한 제1 주변 다이(120), 제2 주변 다이(140), 제3 주변 다이(150), 및 제4 주변 다이(170)를 포함한다. 상기 주변 다이들(120, 130, 150 및 170)의 각각은 메모리 다이들의 스택(101) 중 각각의 메모리 다이에 연결된다. 다른 실시예들에서, 데이터 저장 디바이스(100)는 적층되지 않고 다른 기하학적 구성으로 배열되는 다수의 다이들, 예를 들어, 나란히 배열되거나, 동일한 또는 다양한 수들의 다이들의 여러 스택들로 배열되는 다수의 다이들을 포함할 수 있다. 본 명세서의 도 1의 설명은 상기 데이터 저장 디바이스(100)의 다수의 메모리 다이들의 임의의 기하학적 구성에 적용한다.
상기 데이터 저장 디바이스(100)는 메모리 카드, 예를 들어, Secure Digital SD® 카드, mircoSD® 카드, miniSD.TM 카드(SD-3C LLC, Wilmington, Delaware의 상표들), MultiMediaCard.TM.(MMC.TM) 카드(JEDEC Solid State Technology Association, Arlington, Virginia), 또는 CompactFlash®(CF) 카드(Sandisk Corporation, Milpitas, California의 상표)에 포함될 수 있다. 대안으로, 상기 데이터 저장 디바이스(100)는 호스트 디바이스 내의 임베딩된 메모리, 예를 들어, eMMC®(JEDEC Solid State Technology Association, Arlington, Virginia) 메모리 또는 eSD 메모리일 수 있고, 예로서 도시된다. 다른 대안에서, 상기 데이터 저장 디바이스(100)는 휴대전화들, 컴퓨팅 디바이스들에서 사용될 수 있는 임베딩된 메모리(임베딩된 플래시 다이들)일 수 있고, 컴퓨팅 디바이스들은 태블릿들, 휴대용 컴퓨터들, PDA(personal digital assistants) 등을 포함한다.
스택(101)은, 주변 회로 인터페이스(103)를 포함하는 제1 메모리 다이(102), 주변 회로 인터페이스(105)를 포함하는 제2 메모리 다이(104), 주변 회로 인터페이스(107)를 포함하는 제3 메모리 다이(106) 및 주변 회로 인터페이스(109)를 포함하는 제4 메모리 다이(108)를 포함한다. 스택(101)의 하나 이상의 메모리 다이들은, NAND 플래시 메모리와 같은 플래시 메모리를 포함할 수 있다. 스택(101)은 4개의 메모리 다이들을 갖는 것으로 도시되지만, 다른 실시예들에서, 스택(101)은 2개의 메모리 다이들, 3개의 메모리 다이들, 또는 4개보다 많은 메모리 다이들을 가질 수 있다.
제1 메모리 다이(102)는 주변 회로 인터페이스(103)를 통해 그리고 제1 주변 다이(120)의 코어 인터페이스(127)를 통해 주변 다이(120)의 제1 주변 회로(122)에 연결될 수 있다. 제2 메모리 다이(104)는 주변 회로 인터페이스(105)를 통해 그리고 제2 주변 다이(140)의 코어 인터페이스(147)를 통해 주변 다이(140)의 제2 주변 회로(142)에 연결될 수 있다. 제3 메모리 다이(106)는 주변 회로 인터페이스(107)를 통해 그리고 제3 주변 다이(150)의 코어 인터페이스(157)를 통해 제3 주변 다이(150)의 제3 주변 회로(152)에 연결될 수 있다. 제4 메모리 다이(108)는 주변 회로 인터페이스(109)를 통해 그리고 제4 주변 다이(170)의 코어 인터페이스(177)를 통해 제4 주변 다이(170)의 제4 주변 회로(172)에 연결될 수 있다.
제1 주변 회로(122)는 제1 주변 다이(120)의 제어기 인터페이스(129)를 통해 그리고 제어기(180)의 제1 디바이스 인터페이스(131)를 통해 제어기(180)에 연결될 수 있다. 제2 주변 회로(142)는 제2 주변 다이(140)의 제어기 인터페이스(149)를 통해 그리고 제어기(180)의 제2 디바이스 인터페이스(133)를 통해 제어기(180)에 연결될 수 있다. 제3 주변 회로(152)는 제3 주변 다이(150)의 제어기 인터페이스(159)를 통해 그리고 제어기(180)의 제3 디바이스 인터페이스(135)를 통해 제어기(180)에 연결될 수 있다. 제4 주변 회로(172)는 제4 주변 다이(170)의 제어기 인터페이스(179)를 통해 그리고 제어기(180)의 제4 디바이스 인터페이스(137)를 통해 제어기(180)에 연결될 수 있다. 하나 이상의 디바이스 인터페이스들(131, 133, 135 및 137)은 SERDES(serializer/deserializer) 인터페이스일 수 있다.
제1 주변 회로(122)는 코어 인터페이스(127)를 통해 제1 비휘발성 메모리 다이(102)와 통신하도록 구성되고, 제어기 인터페이스(129)를 통해 제어기(180)와 통신하도록 구성될 수 있다. 예를 들어, 제어기 인터페이스(129)는 한 쌍의 라인들을 거쳐 차동 신호를 통해 상기 제어기(180)와 통신을 가능하게 하는 SERDES 인터페이스일 수 있다. 제1 주변 회로(122)는 제어기에 의해 전통적으로 구현되거나(예를 들어, 에러 정정 코딩 및 디코딩) 플래시 메모리에 의해 전통적으로 구현되는 하나 이상의 동작들(예를 들어, 데이터 래칭 또는 상태 기계 동작들)을 수행하도록 구성될 수 있다.
제1 주변 회로(122)는 트래킹 회로(124)를 포함하고, 상기 트래킹 회로(124)는 제1 메모리 다이(102)에서 발생하는 메모리 동작들에 응답하여 신뢰성 측정 테이블(130)을 갱신하도록 구성된다. 예를 들어, 트래킹 회로(124)는, 메모리 다이(102)에 기입되고 있는 데이터에 대응하는 신뢰성 측정 테이블(130)에 기입/삭제 사이클의 카운트를 갱신하기 위해 구성될 수 있다. 트래킹 회로(124)는 또한 신뢰성 특정 테이블(130) 내의 엔트리들을 임계치(126)와 비교하고, 특정 엔트리가 상기 임계치(126)에 만족할 때 상기 제어기(180)에 시그널링하도록 구성될 수 있다.
마찬가지로, 제2 주변 회로(142)는 제2 비휘발성 메모리 다이(104)와 통신하도록 구성될 수 있고, 트래킹 회로(143)를 포함할 수 있다. 제2 주변 회로(142)는 임계치(146) 및 신뢰성 측정 테이블(144)을 저장할 수 있다. 제3 주변 회로(152)는 제3 비휘발성 메모리 다이(106)와 통신하도록 구성될 수 있고 트래킹 회로(154)를 포함할 수 있다. 제3 주변 회로(152)는 임계치(156) 및 신뢰성 측정 테이블(158)을 저장할 수 있다. 제4 주변 회로(172)는 제4 비휘발성 메모리 다이(108)와 통신하도록 구성될 수 있고, 트래킹 회로(173)를 포함할 수 있다. 제4 주변 회로(172)는 임계치(176) 및 신뢰성 측정 테이블(174)을 저장할 수 있다. 하나 이상의 신뢰성 측정 테이블(130, 144, 158 및 174) 및/또는 하나 이상의 임계치(126, 146, 156 및 176)는 온보드 메모리, 예를 들어, 대응하는 주변 회로 내의 비휘발성 저장 장치에 저장될 수 있다.
동작에서, 제어기(180)는 스택(101)에서 발생하는 데이터 동작들, 예를 들어, 기입, 판독 및 삭제 동작들을 제어할 수 있다. 예를 들어, 제어기(180)는 기입 명령 및 데이터를 주변 다이(120)에 전송할 수 있고, 주변 다이(120)는 제1 메모리 다이(102)에 데이터를 저장할 수 있다. 데이터는 제1 메모리 다이(102)의 임의의 부분에 저장될 수 있다. ("부분(portion)"은 메모리의 페이지, 메모리의 블록 또는 메모리 다이 상의 메모리의 다른 분할을 언급할 수 있다.) 예를 들어, 데이터(132)는 제1 메모리 다이(102)의 제1 부분에 저장될 수 있다. 제1 부분(110)과 관련되는 신뢰성 측정(128)을 유지하는 것은 테이블(130)에 신뢰성 측정(128)을 갱신할 수 있다.
트래킹 회로(124)는 제1 메모리 다이(102)의 각 부분에 대해 대응하는 신뢰성 측정을, 신뢰성 측정 테이블(130) 내에서 유지할 수 있다. 신뢰성 측정 테이블(130) 내에서 신뢰성 측정들을 유지함으로써, 제1 주변 회로(122)는 메모리 다이들 사이에서의 데이터 전송이 수행되어야 할 때를 검출할 수 있다. 예를 들어, 제1 주변 회로(122)는, 신뢰성 측정 테이블(130) 내의 하나 이상의 신뢰성 측정들이 임계치(126)를 만족하거나 초과하는 것을 검출할 수 있다.
제1 주변 회로(122)는, 신뢰성 측정(128)이 임계치(126)를 만족하는지(즉, 임계치(126)와 동일하거나 초과하는지)를 결정할 수 있다. 응답하여, 제1 주변 회로(122)는 다른 메모리 다이로의 데이터(132)의 전송을 개시할 수 있다. 예를 들어, 제1 주변 회로(122)는 신호를 제어기(180) 내의 인터-다이 웨어 레벨링에 신호를 보낼 수 있고, 상기 제어기(180)는 제1 부분(110)에 저장되는 데이터(132)가 제거되어야 하는 것을 나타낸다.
인터-다이 웨어 레벨링 제어(182)는 데이터(132)에 대한 목적지 (destination location)의 위치를 찾기 위해 하나 이상의 트래킹 회로(143, 154 및 173)에 질의할 수 있다. 질의에 응답하여, 트래킹 회로(143, 154 및 173) 각각은, 데이터 전송을 위해 대응하는 메모리의 상태를 나타내는 인터-다이 웨어 레벨링 제어(182)에 응답을 전송할 수 있다.
인터-다이 웨어 레벨링 제어(182)는 데이터(132)에 대해 제2 메모리 다이(104) 상에 목적지 위치를 선택할 수 있고, 데이터(132)를 검색하도록 제1 주변 회로(122)에 지시할 수 있다. 예를 들어, 인터-다이 웨어 레벨링 제어(182)는 제2 부분(112)을 전송 목적지로서 선택할 수 있고, 상기 전송 목적지는, 제2 비휘발성 메모리 다이(104)의 제2 부분(112)에 관련된 제2 신뢰성 측정(148)은 제2 메모리 다이(104)에 관련된 임계치(146)보다 작은 것으로 설정하는 것에 따른다. 제2 신뢰성 측정(148)이 임계치(146)보다 작은지 여부의 결정은 제2 주변 회로(142)에 의해 실행될 수 있다.
제어기(180)의 인터-다이 웨어 레벨링 제어(182)는 제어기(180)로부터 제2 주변 회로(142)의 제2 부분(112)으로 데이터(132)의 전송을 지시할 수 있다. 제2 주변 회로(142)는 데이터(132)를 제2 메모리 다이(104)에 저장할 수 있다.
다른 예에서, 제2 데이터(162)는 제4 메모리 다이(108)에 저장될 제3 메모리 다이(106)의 제3 부분(114)으로부터 제거될 수 있다. 예를 들어, 제3 부분(114)에 관련되는 신뢰성 측정(160)이 임계치(156)를 만족한다는 결정이 행해질 수 있다. 인터-다이 웨어 레벨링 제어(182)는, 제4 메모리 다이(104) 상의 부분(116)과 같은 목적지를 선택할 수 있고, 데이터(162)를 검색하도록 제3 주변 회로(122)에 명령할 수 있다. 제2 데이터(162)의 제4 부분(116)으로의 전송은, 제4 부분(116)에 관련되는 신뢰성 측정(178)이 임계치(176)보다 작다는 결정으로 조절될 수 있다.
신뢰성 측정 테이블들(130, 144, 158 및 174)에서 유지되는 신뢰성 측정들은 스택(101) 내의 메모리 다이의 대응하는 부분에 대한 판독, 기입 또는 다른 메모리 동작과 같은 메모리 액세스 동작들을 트래킹할 수 있다. 대안으로 또는 추가로, 신뢰성 측정은 경과 시간(elapsed time)의 결정을 가능하게 할 수 있는데, 이는 데이터가 메모리 다이의 특별한 부분에 기입되었기 때문이다. 예를 들어, 트랙킹 회로(124)는 데이터(132)가 부분(110)에 기입되었을 때의 시간 스탬프를 기록할 수 있고, 상기 경과 시간을 계산하기 위해 시간 스탬프를 시스템 클록과 비교할 수 있다. 트래킹 회로(124)는, 상기 경과 시간이 임계치(126)와 같은 임계치를 초과하는지 여부를 결정할 수 있다.
상기 임계치(126, 146, 156 및 176)들과 같은 임계치 각각은 대응하는 메모리 다이의 주변 조건들과 같은 하나 이상의 범위에 기초하여 선택될 수 있다. 예를 들어, 동작 온도는 메모리 다이의 신뢰성에 영향을 미칠 수 있고, 메모리 다이는, 스택(101)의 외부 위치보다 스택(101)의 내부 위치에서 더 높은 온도로 동작할 수 있다. 더 높은 주위 온도는 저장된 데이터의 더 빠른 열화를 야기할 수 있으므로, 내부에 위치되는 메모리 다이(예를 들어, 제2 메모리 다이(104) 또는 제3 메모리 다이(106))에 대한 임계치는 외부에 위치되는 메모리 다이(예를 들어, 제1 메모리 다이(102) 또는 제4 메모리 다이(108))보다 더 작을 수 있다. 더 작은 임계치는 메모리 다이의 더 짧은 유효 수명을 반영할 수 있고, 상기 데이터를 기입하고 나서 더 적은 메모리 동작들이 발생한 후 또는 더 적은 시간이 경과한 후 데이터를 전송하는 것이 초래될 수 있다.
인터-다이 웨어 레벨링을 수행함으로써, 디바이스(100)는 각각의 다이 내의 웨어 레벨링을 개별적으로 단지 수행하는 것에 비해 더 긴 유효 수명을 가질 수 있다. 데이터는 더 많은 웨어를 경험하는 다이들로부터 더 적은 웨어를 경험하는 다이들로 전송될 수 있다. 그 결과, 단일 메모리 다이에서 발생하는 과도한 웨어로 인한 디바이스(100)의 조기 실패는 감소될 수 있다.
도 2는 복수의 메모리 다이들 중 메모리 다이들 사이에서 데이터를 전송하도록 구성되는 제어기 및 주변 회로를 포함하는 데이터 저장 디바이스(200)의 블록도이다. 데이터 저장 디바이스(200)는 메모리 다이들(201)의 스택, 제어기(280) 및 복수의 주변 다이들(220, 240 및 250)을 포함한다. 스택(201) 내의 메모리 다이들의 각각은 NAND 플래시 메모리와 같은 비휘발성 메모리 다이일 수 있다. 다른 실시예들에서, 데이터 저장 디바이스(200)는 적층되지 않고 다른 기하학적 구성으로 배열되는 다수의 다이들, 예를 들어, 나란히 배열되거나, 동일한 또는 다양한 수들의 다이들의 여러 스택들로 배열되는 다수의 다이들을 포함할 수 있다. 본 명세서의 도 2의 설명은 상기 데이터 저장 디바이스(200)의 다수의 메모리 다이들의 임의의 기하학적 구성에 적용한다.
메모리 스택(201)은, 주변 회로 인터페이스(203)를 포함하는 제1 메모리 다이(202), 주변 회로 인터페이스(205)를 포함하는 제2 메모리 다이(204) 및 주변 회로 인터페이스(207)를 포함하는 제3 메모리 다이(206)를 포함한다. 스택(201)은 3개의 메모리 다이들을 갖는 것으로 도시되지만, 다른 실시예들에서, 스택(201)은 2개의 메모리 다이들 또는 3개보다 많은 메모리 다이들을 가질 수 있다.
제1 메모리 다이(202)는 제1 주변 회로 인터페이스(203)를 통해 그리고 제1 주변 다이(220)의 코어 인터페이스(227)를 통해 제1 주변 다이(220)의 제1 주변 회로(222)에 연결될 수 있다. 제2 메모리 다이(204)는 제2 주변 인터페이스(205)를 통해 그리고 제2 주변 다이(240)의 코어 인터페이스(247)를 통해 제2 주변 다이(240)의 제2 주변 회로(242)에 연결될 수 있다. 제3 메모리 다이(206)는 제3 주변 회로 인터페이스(207)를 통해 그리고 제3 주변 다이(250)의 코어 인터페이스(257)를 통해 제3 주변 다이(250)의 제3 주변 회로(252)에 연결될 수 있다.
제1 주변 회로(222)는 제1 주변 다이(120)의 제어기 인터페이스(229)를 통해 그리고 제어기(280)의 제1 디바이스 인터페이스(231)를 통해 제어기(280)에 연결될 수 있다. 제2 주변 회로(242)는 제2 주변 다이(240)의 제어기 인터페이스(249)를 통해 그리고 제어기(280)의 제2 디바이스 인터페이스(233)를 통해 제어기(280)에 연결될 수 있다. 제3 주변 회로(252)는 제3 주변 다이(250)의 제어기 인터페이스(259)를 통해 그리고 제어기(280)의 제3 디바이스 인터페이스(235)를 통해 제어기(280)에 연결될 수 있다. 하나 이상의 디바이스 인터페이스들(231, 233 및 235)은 SERDES(serializer/deserializer) 인터페이스일 수 있다.
제어기(280)는 웨어 레벨링 회로(284)를 포함할 수 있는 프로세서(282)를 포함할 수 있다. 제어기(280)는 또한 하나 이상의 임계치들을 저장하는 임계치 저장장치(286)를 포함할 수 있다. 제어기(280)는 또한 명령들(290)을 포함할 수 있는 메모리(288)를 포함할 수 있고, 명령들(290)은, 프로세서(282)에 의해 실행될 때 프로세서(282)로 하여금 스택(201) 내의 각 다이에 대해 신뢰성 측정들을 생성하고 갱신하는 것과 같은 동작들을 수행하도록 한다. 제어기(280)는 메모리 다이들(202, 204 및 206)에 각각 대응하는 신뢰성 측정 테이블들(230, 244 및 258)을 포함할 수있다.
프로세서(282)는 제1 메모리 다이(202)와 같은 메모리 다이의 하나 이상의 부분들을 식별하도록 구성될 수 있고, 메모리 다이의 신뢰성 측정은 대응하는 임계치를 만족시킨다. 웨어 레벨링 회로(284)는, 대응하는 임계치를 만족시키는 신뢰성 측정들을 갖는 각각의 식별된 부분으로부터 메모리 다이들(201)의 스택의 다른 메모리 다이의 대응하는 개별 부분으로 데이터의 전송을 개시하도록 구성될 수 있다. 데이터는, 대응하는 임계치보다 작은 값을 갖는 다른 부분에 대응하는 신뢰성 측정에 대해 조절되는 다른 부분에 기입될 수 있다.
동작에서, 제어기(280)는 메모리 다이(202)의 복수의 부분들 각각과 관련되는 신뢰성 측정을 저장할 수 있다. 예를 들어, 제어기(280)는 신뢰성 측정 테이블(230) 내의 제1 부분(210)과 관련되는 신뢰성 측정(228)을 저장할 수 있다. 제어기(280)는, 제1 부분(210)과 관련되는 이벤트, 예를 들어, 부분(210)의 판독, 부분(210)에 기입, 부분(210)과 관련되는 다른 메모리 동작, 또는 그것들의 임의의 조합이 발생할 때마다 신뢰성 측정(228)의 값을 갱신함으로써 신뢰성 측정(228)을 유지할 수 있다. 대안으로, 각 신뢰성 측정은 제1 부분(210)에 데이터를 기입한 후 경과된 시간에 기초하여 갱신될 수 있다.
프로세서(282)는 임계치 저장장치(286)에 저장된 임계치와 신뢰성 측정(228)과의 비교를 수행할 수 있다. 프로세서(282)는 신뢰성 측정(228)이 상기 임계치를 만족하는지를 결정할 수 있고, 이에 응답하여, 웨어 레벨링 회로(284)는 제1 부분(210)에 저장된 데이터(232)를 제1 주변 회로(222) 및 제2 주변 회로(242)를 통해 제2 메모리 다이(204)에 전송할 수 있다. 데이터(232)는, 상기 부분(212)에 관련되거나 제2 메모리 다이(204)에 관련되는 임계치와 같은 임계치보다 작은 값을 갖는 부분(212)에 대응하는 신뢰성 측정에 대해 조절되는 제2 메모리 다이(204)의 부분(212)에 기입될 수 있다.
제어기(280)는, 각 신뢰성 측정이 메모리 다이의 대응하는 부분에 관련되는, 다수의 신뢰성 측정들이 유지될 수 있다. 각 신뢰성 측정은, 비휘발성 메모리 다이의 대응하는 부분에 관련되는 메모리 판독들, 기입들, 다른 메모리 동작들 또는 그것들의 조합의 카운트와 관련될 수 있다. 다수의 신뢰성 측정들 각각은, 메모리 다이들의 스택(201)의 대응하는 부분에 대한 메모리 액세스, 기입 또는 다른 메모리 동작의 각 인스턴스 이후에 신뢰성 측정을 갱신함으로써 제어기(280)에 유지될 수 있다. 대안으로 또는 추가로, 각 신뢰성 측정은 메모리 다이의 부분에 기입한 이후 경과된 시간과 관련될 수 있고, 상기 경과된 시간에 기초하여 갱신될 수 있다.
도 3은 데이터 저장 디바이스(300)의 블록도로서, 상기 데이터 저장 디바이스(300)는 메모리 다이들의 스택(301) 및 상기 스택(301)의 메모리 다이들 사이에서 데이터를 전송하도록 구성되는 제어기(380)를 포함한다.
상기 스택(301)은, 제1 제어기 인터페이스(327)를 포함하는 제1 메모리 다이(302), 제2 제어기 인터페이스(347)를 포함하는 제2 메모리 다이(304) 및 제3 제어기 인터페이스(357)를 포함하는 제3 메모리 다이(306)를 포함한다. 스택(301)의 하나 이상의 메모리 다이들은, NAND 플래시 메모리와 같은 플래시 메모리를 포함할 수 있다. 스택(301)은 3개의 메모리 다이들을 갖는 것으로 도시되지만, 다른 실시예들에서, 스택(301)은 2개의 메모리 다이들 또는 3개보다 많은 메모리 다이들을 가질 수 있다. 다른 실시예들에서, 데이터 저장 디바이스(300)는 적층되지 않고 다른 기하학적 구성으로 배열되는 다수의 다이들, 예를 들어, 나란히 배열되거나, 동일한 또는 다양한 수들의 다이들의 여러 스택들로 배열되는 다수의 다이들을 포함할 수 있다. 본 명세서의 도 3의 설명은 상기 메모리 다이들, 예를 들어, 메모리 다이들(302, 304 및 306)의 임의의 기하학적 구성에 적용한다.
제1 메모리 다이(302)는, 제1 제어기 인터페이스(327)를 통해 그리고 제어기(380)의 제1 메모리 인터페이스(329)를 통해 제어기(380)에 연결될 수 있다. 제2 메모리 다이(304)는, 제2 제어기 인터페이스(347)를 통해 그리고 제어기(380)의 제2 메모리 인터페이스(331)를 통해 제어기(380)에 연결될 수 있다. 제3 메모리 다이(306)는, 제3 제어기 인터페이스(357)를 통해 그리고 제어기(380)의 제3 메모리 인터페이스(333)를 통해 제어기(380)에 연결될 수 있다.
제어기(380)는 제1 메모리 다이(302)에 대응하는 제1 신뢰성 측정 테이블(330), 제2 메모리 다이(304)에 대응하는 제1 신뢰성 측정 테이블(344) 및 제3 메모리 다이(306)에 대응하는 제3 신뢰성 측정 테이블(358)을 포함할 수 있다. 제어기(380)는 프로세서(382)를 또한 포함할 수 있고, 상기 프로세서(382)는 웨어 레벨링 회로(384), 임계치 저장장치(386), 및 상기 프로세서(382)에 의해 실행될 명령들(390)을 포함하는 메모리(388)를 포함할 수 있다. 메모리(388)는 제어기(380) 내의 비휘발성 메모리일 수 있다. 대안으로, 메모리(388)는 시작시 명령들(390)을 수신할 수 있는 비휘발성 메모리일 수 있다.
제어기(380)는, 제1 메모리 다이(302)의 제1 부분(310)과 관련된 신뢰성 측정(328)과 같은, 메모리 다이의 하나 이상의 부분들 각각에 관련된 신뢰성 측정을 유지하도록 구성될 수 있다. 제어기(380)는 부분(310)의 판독, 부분(310)에 기입, 부분(310)에 관련된 다른 메모리 동작 또는 그것들의 조합의 각 인스턴스에서 상기 값을 갱신함으로써 신뢰성 측정(328)을 유지할 수 있다. 대안으로, 신뢰성 측정(328)은 부분(310)으로의 기입이후 경과된 시간에 대응할 수 있고 상기 경과된 시간에 기초하여 갱신될 수 있다.
동작에서, 프로세서(328)는 신뢰성 측정들을 유지할 수 있고, 갱신된 신뢰성 측정이 대응하는 임계치를 만족하는지에 대한 결정이 행해질 수 있다. 부분에 관련된 신뢰성 측정이 임계치 저장장치(386)에 저장된 대응하는 임계치를 만족하는지에 대한 결정에 응답하여, 제어기(380)는 다른 메모리 다이에 상기 부분에 저장된 데이터를 전송할 수 있다. 예를 들어, 신뢰성 측정(328)이 대응하는 임계치를 만족한다고 결정할 때, 제어기(380)의 웨어 레벨링 회로(348)는 제1 부분(310)으로부터 제어기(380)를 통해 제2 메모리 다이(304)의 제2 부분(312)으로 데이터(332)의 전송을 개시할 수 있다. 제2 메모리 다이(304)의 제2 부분(312)으로의 데이터(332)의 전송은, 부분(312)에 관련된 신뢰성 측정이 제2 부분(312)과 관련된 대응하는 임계치보다 작은 값을 갖는다고 결정할 때 조절될 수 있다.
도 4는 도 1, 도 2 또는 도 3의 데이터 저장 디바이스와 같은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법의 흐름도이다. 메모리 다이들의 스택과 같은 복수의 메모리 다이들에 포함되는 제1 비휘발성 메모리 다이의 제1 부분에 관련되는 신뢰성 측정이 임계치를 만족하는지에 대한 결정이, 402에서 행해질 수 있다. 예를 들어, 도 1의 신뢰성 측정(128)이 임계치(126)를 만족하는지에 대한 결정이 행해질 수 있다.
제1 비휘발성 메모리 다이의 제1 부분에 관련된 상기 신뢰성 측정이 상기 임계치를 만족한다는 결정에 응답하여, 제1 데이터는 제1 비휘발성 메모리 다이의 제1 부분으로부터 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로, 404에서 전송될 수 있다. 예를 들어, 도 1에서, 임계치(126)를 만족하는 신뢰성 측정(128)에 응답하여, 데이터(132)는 제1 메모리 다이(102)의 부분(110)으로부터 제2 메모리 다이(104)로 전송될 수 있다. 방법은 406에서 종료된다.
상기 제1 데이터는 상기 제1 비휘발성 메모리 다이의 제1 부분으로부터 제1 주변 회로를 통해 상기 제2 비휘발성 메모리 다이로 전송될 수 있고, 상기 제1 주변 회로는 상기 제1 비휘발성 메모리 다이와 통신하도록 구성된다. 예를 들어, 도 1의 데이터(132)는 제1 주변 회로(122)를 통해 제1 메모리 다이(102)의 부분(110)으로부터 검색될 수 있다. 상기 제1 데이터는 제2 주변 회로를 통해 상기 제2 비휘발성 메모리 다이로 전송될 수 있고, 상기 제2 주변 회로는 상기 제2 비휘발성 메모리 다이와 통신하도록 구성된다. 예를 들어, 도 1의 데이터(132)는 주변 회로(142)를 통해 제2 메모리 다이(104)로 전송될 수 있다.
방법(400)은, 상기 복수의 메모리 다이들 중 제3 비휘발성 메모리 다이의 특정 부분과 관련되는 신뢰성 측정은 대응하는 임계치를 만족한다고 결정하는 단계와, 상기 결정에 응답하여, 상기 특정 부분에 저장되는 제2 데이터를 상기 복수의 메모리 다이들 중 제4 비휘발성 메모리에 전송하는 단계를 더 포함할 수 있다. 예를 들어, 도 1에서, 제3 메모리 다이(106)의 부분(114)과 관련되는 신뢰도 측정(160)은 임계치(156)를 만족하도록 결정될 수 있다. 응답하여, 부분(114)에 저장되는 데이터(162)는 제4 메모리 다이(108)(또는, 예를 들어, 메모리 다이들 중 스택(101)의 다른 메모리 다이)로 전송될 수 있다. 상기 제2 데이터는 상기 제3 비휘발성 메모리 다이와 통신하도록 구성되는 제3 주변 회로를 통해 전송될 수 있다. 예를 들어, 도 1에서, 데이터(162)는 제3 메모리 다이(106)와 통신하도록 구성되는 주변 회로(152)를 통해 전송될 수 있다.
제2 데이터는 제4 주변 회로를 통해 제4 비휘발성 메모리 다이로 전송될 수 있고, 상기 제4 주변 회로는 제3 주변 회로(예를 들어, 도 1의 주변 회로(152))로부터 상기 제2 데이터를 수신하고 상기 제2 데이터를 상기 제4 비휘발성 메모리 다이로 통신하도록 구성된다. 예를 들어, 도 1에서, 데이터(162)는 주변 회로(172)를 통해 제4 메모리 다이(108)로 전송될 수 있고, 상기 주변 회로(172)는 제어기(180)를 통해 주변 회로(152)로부터 데이터(162)를 수신하고 데이터(162)를 제4 메모리 다이(108)로 통신하도록 구성된다.
방법(400)은 제1 비휘발성 메모리 다이의 복수의 부분들 중 각 부분과 관련되는 대응하는 신뢰성 측정을 유지하는 단계를 포함할 수 있다. 방법(400)은 또한 상기 복수의 메모리 다이들 중 각 휘발성 메모리 다이의 각 부분과 관련되는 대응하는 신뢰성 측정을 유지하는 단계를 또한 포함할 수 있다. 예를 들어, 도 1에서, 주변 회로(122, 142, 152 및 172)의 각각은, 대응하는 트래킹 회로(124, 143, 154 및 173)을 통해, 대응하는 메모리 다이들(102, 104, 106 및 108)의 각 부분과 관련되는 대응하는 신뢰성 측정들을 유지할 수 있다. 데이터는, 제2 비휘발성 메모리 다이(104)와 같은 메모리 다이의 특정 부분에 또는 다른 메모리 다이들, 예를 들어, 메모리 다이(106) 또는 메모리 다이(108)에, 제2 비휘발성 메모리 다이의 특정 부분과 연관된 대응하는 신뢰성 측정이 상기 임계치보다 작다는 결정의 조건으로 전송될 수 있다.
상기 제2 비휘발성 메모리 다이의 특정 부분과 관련된 신뢰성 측정이 상기 임계치를 만족한다는 결정에 응답하여, 상기 방법은 상기 임계치보다 작은 관련된 신뢰성 측정을 갖는 다른 특정 부분을 찾는 단계를 포함할 수 있다. 상기 임계치보다 작은 관련된 신뢰성 측정을 갖는 다른 특정 부분의 위치를 찾는 단계에 응답하여, 데이터는 상기 다른 특정 부분에 전송될 수 있다.
각 비휘발성 메모리 다이의 복수의 부분들 중 각 부분에 대해, 대응하는 신뢰성 측정은 상기 제어기에 의해 유지될 수 있다. 제어기는, 상기 제1 메모리 다이에 연결된 제1 주변 회로 및 상기 제2 메모리 다이에 연결된 제2 주변 회로를 포함하는 대응하는 주변 회로를 통해 복수의 메모리 다이들 각각에 연결될 수 있다. 예를 들어, 도 2에서, 제어기(280)는 메모리 다이들(202, 204 및 206)의 각 부분의 신뢰성 측정들을 유지할 수 있다. 제어기(280)는 주변 다이들(220, 240 및 250) 각각에 대해 대응하는 주변 회로에 의해 상기 메모리 다이들(202, 204 및 206) 각각에 연결된다.
제1 비휘발성 다이의 제1 부분과 관련된 신뢰성 측정은 제1 비휘발성 메모리 다이의 제1 부분으로의 메모리 액세스들의 카운트와 관련될 수 있다. 예를 들어, 상기 제1 부분 다이의 제1 부분과 관련된 신뢰성 측정은, 상기 제1 비휘발성 메모리 다이의 제1 부분으로의 메모리 액세스의 각 인스턴스에 응답하여 갱신될 수 있다.
상기 제1 비휘발성 다이의 제1 부분과 관련된 신뢰성 측정은 제1 비휘발성 메모리 다이의 제1 부분으로의 기입 동작들의 카운트와 관련될 수 있다. 제1 비휘발성 다이의 제1 부분과 관련된 신뢰성 측정은 상기 제1 비휘발성 다이의 제1 부분으로 기입 동작의 각 인스턴스에 응답하여 갱신될 수 있다. 대안으로 또는 추가로, 상기 제1 비휘발성 다이의 제1 부분에 관련된 신뢰성 측정은, 상기 제1 비휘발성 메모리 다이의 제1 부분에 상기 제1 데이터를 기입한 이후 경과된 시간에 관련될 수 있다.
도 5는, 도 1, 2 또는 3의 데이터 저장 디바이스와 같은 다수의 메모리 다이들을 갖는 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법(500)을 도시한다. 부분 인덱스 j는, 502에서 0의 값으로 초기화된다. j번째 부분으로의 기입 또는 j번째 부분에 대한 판독과 같은, i번째 다이의 j번째 부분과 관련된 메모리 이벤트가 이전의 신뢰성 측정 갱신 이후에 발생되었는지에 대한 결정이, 504에서 발생된다. i번째 다이의 j번째 부분과 관련된 이벤트 메모리의 발생에 응답하여, i번째 다이의 j번째 부분의 신뢰성 측정은, 508에서 갱신된다. 예를 들어, 도 1에서, 트래킹 회로(124)는, 메모리 다이(102)의 대응하는 부분에서 발생한 메모리 이벤트에 응답하여 신뢰성 측정 테이블(130)에 저장되는 신뢰성 측정을 갱신할 수 있다. i번째 다이의 j번째 부분과 관련된 메모리 이벤트가 이전 신뢰성 측정 갱신 이후로 발생하지 않으면, 상기 인덱스 j는 506에서 증가되고, 방법은, 상기 이전 신뢰성 측정 갱신 이후로 j+1 번째 부분이 메모리 이벤트를 가졌는지 여부를 결정하기 위해 504로 되돌아간다.
i번째 다이의 j번째 부분의 신뢰성 측정이 임계치를 만족하는지(즉, 임계치보다 크거나 같은지)에 대한 결정이, 510에서 행해진다. 상기 신뢰성 측정이 상기 대응하는 임계치보다 크거나 같으면, 상기 i번째 다이의 j번째 부분에 저장되는 데이터는, 512에서 다른 다이로 전송된다. 상기 i번째 다이의 j번째 부분의 신뢰성 측정이 상기 임계치보다 작으면, 상기 인덱스 j는 506에서 증가되고, 방법은 504로 되돌아 간다.
i번째 다이의 모든 부분들이 고려되었는지에 대한 결정이, 514에서 행해진다. i번째 다이의 모든 부분들(즉, 모든 j값들)이 고려되었다면, 방법은 516에서 종료한다. i번째 다이의 모든 부분들이 고려되지 않았다면, 인덱스 j는 증가되고, 방법은 504로 돌아간다.
도 6은, 도 1, 2 또는 3의 데이터 저장 디바이스와 같은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법(600)을 도시한다. 메모리 다이 인덱스는, 602에서 0으로 초기화된다. 특정 다이를 식별하는 메모리 다이 인덱스 i는, 604에서 1만큼 증가된다. 다이 부분 인덱스는 606에서 0의 값으로 초기화된다.
i번째 다이의 j번째 부분에 대한 메모리 이벤트, 즉, i번째 다이의 j번째 부분에 대한 기입, 메모리 액세스, 다른 메모리 동작 또는 그것의 임의의 조합이 이전 신뢰성 특정 갱신 이후에 발생했는지에 대한 결정이 608에서 행해진다. i번째 다이의 j번째 부분에 대한 기입, 메모리 액세스, 또는 다른 메모리 동작이 이전 신뢰성 측정 갱신 이후에 발생한다면, i번째 다이의 j번째 부분에 관련된 신뢰성 측정이 612에서 갱신된다.
i번째 다이의 j번째 부분에 관련된 신뢰성 측정이 관련된 임계치를 만족하는지(즉, 임계치보다 크거나 같은지)에 대한 결정이, 614에서 행해진다. 상기 임계치가 만족되지 않으면, 상기 방법은 상기 다이 부분 지수 j를 610에서 증가하기 위해 돌아가고, 608로 진행한다. 상기 신뢰성 측정이 상기 임계치를 만족하지 않으면, 상기 i번째 다이의 j번째 부분에 저장된 데이터는, 616에서 다른 다이로 이동된다. i번째 다이의 모든 부분들이 고려되었는지에 대한 결정이, 618에서 행해진다. i번째 다이의 부분들 모두가 고려되지 않았다면, 상기 다이 부분 지수 j는 610에서 증가되고, 방법은 608로 돌아간다.
i번째 다이의 모든 부분들이 고려된 것에 응답하여, 각각의 다이가 고려되는지(즉, 지수 i가 I전체와 같은지)에 대한 결정이 620에서 행해진다. 복수의 메모리 다이들 중 다이들 전부가 고려되지 않으면, 상기 방법은, 604에서 1만큼 메모리 다이 인덱스 i를 증가시키고, 606에서 상기 다이 부분 인덱스를 초기화하도록 진행된다. 모든 다이들이 620에서 고려되었다면, 상기 방법은 602로 돌아간다.
도 7은, 도 1, 2 또는 3의 데이터 저장 디바이스와 같은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법(700)을 도시한다. 부분 인덱스 j는, 702에서 0의 값으로 초기화된다. 상기 i번째 다이의 j번째 부분으로 데이터를 기입한 후 경과된 시간은 704에서 갱신된다. 상기 경과된 시간이 임계치를 만족하는지(즉, 임계치보다 크거나 같은지)에 대한 결정이, 706에서 행해진다. 상기 경과된 시간이 상기 임계치보다 크거나 같지 않으면, j는 714에서 증가되고, 상기 i번째 다이의 j번째 부분에 대한 경과된 시간은 704에서 갱신된다. 상기 경과된 시간이 상기 임계치를 만족하면, 방법은 708로 진행하고, i번째 다이의 j번째 부분에 저장된 데이터는 708에서 다른 다이로 전송된다.
i번째 다이의 모든 부분들이 고려된다는 결정이 710에서 행해진다. i번째 다이의 모든 부분들이 고려되지 않으면, 방법은 714에서 j를 증가시키고, 704로 돌아간다. i번째 다이의 모든 부분들이 고려된다면, 방법은 712에서 종료한다.
도 8은, 도 1, 2 또는 3의 데이터 저장 디바이스와 같은 데이터 저장 디바이스에서 웨어 레벨링을 관리하는 방법(800)을 도시한다. 상기 데이터 저장 디바이스는 복수의 메모리 다이들을 포함할 수 있고, 각 메모리 다이는 메모리 다이 인덱스 i(i=0 에서 I전체)로 라벨링된다. 상기 메모리 다이 인덱스 i는, 802에서 0으로 초기화된다. 상기 메모리 다이 인덱스 i는, 804에서 1만큼 증가된다. 다이 부분 인덱스 j는 806에서 0으로 초기화되고, 808에서 증가된다.
상기 i번째 다이의 j번째 부분과 관련된 경과된 시간 T경과는 810에서 갱신된다. 예를 들어, 상기 i번째 다이의 j번째 부분에 대한 데이터의 초기 기입 이후의 경과된 시간 T경과가 갱신된다. 상기 경과된 시간 T경과이 임계 시간을 만족하는지(즉, 임계치보다 크거나 같은지)에 대한 결정이, 812에서 행해진다. 상기 i번째 다이의 j번째 부분에 대한 경과된 시간 T경과이 상기 임계치를 만족하지 않으면, 상기 인덱스 j는 808에서 증가된다.
T경과가 상기 임계치를 만족한다고 응답하면, i번째 메모리 다이의 j번째 부분에 저장된 데이터는, 이전에 이동되지 않으면 814에서 다른 다이로 이동된다. i번째 다이의 모든 부분들이 고려된다는 결정이 816에서 행해진다. i번째 다이의 하나 이상의 부분들이 고려되지 않으면, 상기 다이 부분 인덱스 j는 808에서 증가된다.
816에서, i번째 다이의 모든 부분들이 고려되면, 모든 다이들이 고려된다는 결정이 818에서 행해진다. 하나 이상의 다이들이 고려되지 않으면, 상기 메모리 다이 인덱스는 804에서 1만큼 증가되고, 상기 다이 부분 인덱스 j는 806에서 초기화된다. 모든 다이들이 고려되면, 상기 메모리 다이 인덱스 i는 802에서 초기화되고, 방법은 반복될 수 있다.
본 명세서에서 묘사된 여러 컴포넌트들이 블록 컴포넌트들로 도시되고 일반적인 용어들로 서술되지만, 그와 같은 컴포넌트들은 하나 이상의 마이크로 프로세서들, 상태 기계들 또는 도 1, 2 또는 3의 장치(100, 200 또는 300)가 그와 같은 컴포넌트들 또는 그것의 임의의 조합에 기인하는 특정 기능들을 수행하도록 구성되는 다른 회로들을 포함할 수 있다. 예를 들어, 도 1의 인터-다이 웨어 레벨링 제어(182)는, 데이터 저장 디바이스에서 웨어 레벨링을 관리하고 그리고 메모리 다이로부터 메모리 스택의 다른 메모리 다이로 데이터를 전송하도록 하드웨어 제어기, 상태 기계, 논리 회로 또는 다른 구조와 같은 물리적 컴포넌트를 포함할 수 있다.
대안으로 또는 추가로, 도 1의 데이터 저장 디바이스는 실행가능한 명령어들(예를 들어, 도 2의 명령어들(290))을 포함할 수 있고, 상기 실행가능한 명령어들은 인터-다이 웨어 레벨링 제어(180)의 하나 이상의 기능들을 구현하도록 제어기(180)에 의해 실행될 수 있고, 그리고 상기 명령들은 스택(101) 또는 랜덤 액세스 메모리에 저장될 수 있다. 대안으로 또는 추가로, 제어기(180)에 의해 실행되는 실행가능한 명령들은 스택(101)의 부분이 아닌 개별 메모리, 예를 들어, 리드-온리 메모리(ROM)에 저장될 수 있다.
데이터 저장 디바이스들(100, 200 또는 300) 중 일부는 하나 이상의 외부 디바이스들에 선택적으로 결합되도록 구성된 포터블 디바이스에 포함될 수 있다. 대안으로, 데이터 저장 디바이스들(100, 200 또는 300) 중 일부는, 포터블 통신 디바이스의 하우징과 같은 하나 이상의 호스트 디바이스들 내에 부착되거나 임베딩될 수 있다. 예를 들어, 데이터 저장 디바이스(100)는 무선 전화, PDA(personal digital assistant), 게임 디바이스 또는 콘솔, 포터블 내비게이션 디바이스, 컴퓨터 디바이스 또는 내부 비휘발성 메모리를 사용하는 다른 디바이스와 같은 패키지화된 장치 내에 존재할 수 있다. 데이터 저장 디바이스들(100, 200 또는 300)의 일부는 비휘발성 메모리, 예를 들어, 플래시 메모리(예를 들어, NAND, NOR, 멀티-레벨 셀(MLC), 분할된 비트-라인 NOR(DINOR), AND, HiCR(high capacitive coupling ratio), 비대칭 비접촉 트랜지스터(ACT) 또는 다른 플래시 메모리들), EPROM(erasable programmable read only memory), EEPROM(electrically erasable programmable read only memory), ROM(read only memory), OPT(one-time programmable memory), 3차원 메모리 디바이스들, 3D 다이오드-기반 메모리 디바이스들, 저항성 메모리 디바이스들, 또는 다른 타입의 비휘발성 메모리를 포함할 수 있다.
본 발명에 서술된 실시예들의 설명들은 여러 실시예들의 일반적인 이해를 제공하도록 의도된다. 다른 실시예들이 이용되고 본 발명으로부터 도출될 수 있어, 구성적 및 논리적인 대체 및 변화들이 본 발명의 범위로부터 벗어나지 않고 행해질 수 있다. 본 발명은 여러 실시예들의 임의의 그리고 모든 후속 적용 및 변형들을 커버하도록 의도된다. 따라서, 본 명세서 및 도면들은 제한하기보다는 설명하는 것으로 고려된다.

Claims (36)

  1. 데이터 저장 디바이스에서 웨어 레벨링(wear leveling)을 관리하는 방법에 있어서,
    제1 비휘발성 메모리 다이의 제1 부분과 관련된 신뢰성 측정값(reliability measurement)이 임계치를 만족하는지를 결정하는 단계와, 상기 제1 비휘발성 메모리 다이는 복수의 메모리 다이들에 포함되고; 그리고
    상기 제1 비휘발성 메모리 다이의 제1 부분에 관련된 상기 신뢰성 측정값이 상기 임계치를 만족한다고 결정하는 것에 응답하여, 제1 데이터를 상기 제1 비휘발성 메모리 다이의 제1 부분으로부터 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로 전송하는 단계를 포함하는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  2. 제1항에 있어서,
    상기 제1 데이터는 상기 제1 비휘발성 메모리 다이의 제1 부분으로부터 제1 주변 회로를 통해 상기 제2 비휘발성 메모리 다이로 전송되고, 상기 제1 주변 회로는 상기 제1 비휘발성 메모리 다이와 통신하도록 된 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  3. 제1항에 있어서,
    상기 제1 데이터는 제2 주변 회로를 통해 상기 제2 비휘발성 메모리 다이로 전송되고, 상기 제2 주변 회로는 상기 제2 비휘발성 메모리 다이와 통신하도록 된 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  4. 제1항에 있어서,
    상기 복수의 메모리 다이들 중 제3 비휘발성 메모리 다이의 특정 부분에 관련된 신뢰성 측정값이 대응하는 임계치를 만족한다고 결정하는 단계와; 그리고
    상기 결정에 응답하여, 상기 제3 비휘발성 메모리 다이의 특정 부분에 저장된 제2 데이터를 상기 복수의 메모리 다이들 중 제4 비휘발성 메모리 다이에 전송하는 단계를 더 포함하는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  5. 제4항에 있어서,
    상기 제2 데이터는 제3 주변 회로를 통해 전송되고, 상기 제3 주변 회로는 상기 제3 비휘발성 메모리 다이와 통신하도록 된 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  6. 제5항에 있어서,
    상기 제2 데이터는 제4 주변 회로를 통해 상기 제4 비휘발성 메모리 다이로 전송되고, 상기 제4 주변 회로는 상기 제3 주변 회로로부터 상기 제2 데이터를 수신하고 상기 제2 데이터를 상기 제4 비휘발성 메모리 다이로 통신하도록 된 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  7. 제1항에 있어서,
    상기 제1 비휘발성 메모리 다이의 복수의 부분들의 각 부분과 관련된 대응하는 신뢰성 측정값을 유지하는 단계를 더 포함하는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  8. 제1항에 있어서,
    상기 복수의 메모리 다이들 중 각 비휘발성 메모리 다이의 대응하는 복수 부분들의 각 부분과 관련된 대응하는 신뢰성 측정값을 유지하는 단계를 더 포함하는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  9. 제1항에 있어서,
    상기 제1 데이터는, 상기 제2 비휘발성 메모리 다이의 특정 부분과 관련된 대응하는 신뢰성 측정값이 제2 임계치보다 작다고 결정하는 것에 따라 상기 제2 비휘발성 메모리 다이의 특정 부분에 전송되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  10. 제9항에 있어서,
    상기 제2 비휘발성 메모리 다이의 특정 부분과 관련된 상기 신뢰성 측정값이 상기 제2 임계치를 만족한다는 결정에 응답하여, 대응하는 임계치보다 작은 관련된 신뢰성 측정값을 갖는 다른 특정 부분을 찾는 단계와, 상기 다른 특정 부분은 상기 복수의 메모리 다이들 중 하나의 메모리 다이에 위치되고; 그리고
    상기 대응하는 임계치보다 작은 상기 관련된 신뢰성 측정값을 갖는 다른 특정 부분을 찾는 단계에 응답하여, 상기 제1 데이터를 상기 다른 특정 부분으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  11. 제1항에 있어서,
    상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 상기 신뢰성 측정값은 상기 제1 주변 회로에 의해 유지되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  12. 제1항에 있어서,
    상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 상기 신뢰성 측정값은 제어기에 의해 유지되고, 상기 제어기는, 제1 주변 다이에 관해서 제1 주변 회로로 통하는 상기 제1 메모리 다이 및 제2 주변 다이에 관해서 제2 주변 회로로 통하는 상기 제2 메모리 다이를 포함하는 상기 복수의 메모리 다이들의 각각에 연결되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  13. 제1항에 있어서,
    각 비휘발성 메모리 다이의 복수의 부분들 중 각 부분에 대해, 대응하는 신뢰성 측정값은 제어기에 의해 유지되고, 상기 제어기는, 상기 제1 메모리 다이에 열결되는 제1 주변 회로 및 상기 제2 메모리 다이에 연결되는 제2 주변 회로를 포함하는 대응하는 주변 회로를 통해 상기 복수의 메모리 다이들 각각에 연결되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  14. 제1항에 있어서,
    상기 제1 비휘발성 다이의 제1 부분에 관련된 상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 메모리 액세스들의 카운트에 관련되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  15. 제14항에 있어서,
    상기 제1 비휘발성 다이의 제1 부분에 관련된 상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 메모리 액세스의 각 인스턴스(instance)에 응답하여 갱신되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  16. 제1항에 있어서,
    상기 제1 비휘발성 다이의 제1 부분에 관련된 상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 기입 동작(write operation)들의 카운트에 관련되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  17. 제16항에 있어서,
    상기 제1 비휘발성 다이의 제1 부분에 관련된 상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 기입 동작의 각 인스턴스에 응답하여 갱신되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  18. 제1항에 있어서,
    상기 제1 비휘발성 다이의 제1 부분에 관련된 상기 신뢰성 측정값은, 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 상기 제1 데이터의 기입 시간(write time) 이후 경과된 시간과 관련되는 것을 특징으로 하는 웨어 레벨링을 관리하는 방법.
  19. 데이터 저장 디바이스에 있어서,
    복수의 비휘발성 메모리 다이들과; 그리고
    제어기를 포함하고, 상기 제어기는 상기 복수의 비휘발성 메모리 다이들 각각에 연결되고,
    상기 제어기는,
    상기 복수의 비휘발성 메모리 다이들 중 제1 비휘발성 메모리 다이의 제1 부분과 관련된 신뢰성 측정값을 유지하고,
    상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 상기 신뢰성 측정값이 임계치를 만족하는지를 결정하고, 그리고
    상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 상기 신뢰성 측정값이 상기 임계치를 만족한다는 결정에 응답하여, 데이터를 상기 제1 비휘발성 메모리 다이의 제1 부분으로부터 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로 전송하도록 된 것을 특징으로 하는 데이터 저장 디바이스.
  20. 제19항에 있어서,
    상기 제2 비휘발성 메모리 다이의 제2 부분과 관련된 제2 신뢰성 측정값이 제2 임계치 아래에 있다고 설정하는 것에 따라 상기 제어기는 상기 데이터를 상기 제2 비휘발성 메모리 다이의 제2 부분에 전송하도록 된 것을 특징으로 하는 데이터 저장 디바이스.
  21. 제19항에 있어서,
    상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 메모리 액세스들의 카운트에 관련되는 것을 특징으로 하는 데이터 저장 디바이스.
  22. 제21항에 있어서,
    상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 메모리 액세스의 각 인스턴스에 응답하여 갱신되는 것을 특징으로 하는 데이터 저장 디바이스.
  23. 제19항에 있어서,
    상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 기입 동작들의 카운트에 관련되는 것을 특징으로 하는 데이터 저장 디바이스.
  24. 제23항에 있어서,
    상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 기입 동작의 각 인스턴스에 응답하여 갱신되는 것을 특징으로 하는 데이터 저장 디바이스.
  25. 제19항에 있어서,
    상기 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 제1 부분에 대한 상기 데이터의 기입 시간 이후 경과된 시간과 관련되는 것을 특징으로 하는 데이터 저장 디바이스.
  26. 장치에 있어서,
    제1 주변 회로와, 상기 제1 주변 회로는 복수의 메모리 다이들 중 제1 비휘발성 메모리 다이와 통신하도록 되고; 그리고
    제어기를 포함하고,
    상기 제어기는, 상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 신뢰성 측정값이 임계치를 만족한다는 결정에 응답하여, 데이터를 상기 제1 비휘발성 다이의 제1 부분으로부터 상기 제1 주변 회로를 통해 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로 전송하도록 된 것을 특징으로 하는 장치.
  27. 제26항에 있어서,
    상기 제어기는, 상기 데이터를 제2 주변 회로를 통해 상기 복수의 메모리 다이들 중 제2 비휘발성 메모리 다이로 전송하도록 되고, 상기 제2 주변 회로는 상기 제2 비휘발성 메모리 다이와 관련되는 것을 특징으로 하는 장치.
  28. 제26항에 있어서,
    상기 제어기는, 상기 제1 비휘발성 메모리 다이의 제1 부분과 관련된 상기 신뢰성 측정값을 유지하도록 된 것을 특징으로 하는 장치.
  29. 제26항에 있어서,
    상기 제어기는, 대응하는 주변 회로를 통해 상기 복수의 메모리 다이들 중 각 비휘발성 다이에 연결되는 것을 특징으로 하는 장치.
  30. 제26항에 있어서,
    상기 제어기는, 상기 복수의 메모리 다이들 중 각 비휘발성 다이의 대응하는 복수의 부분들 각각과 관련된 대응하는 신뢰성 측정값을 유지하도록 된 것을 특징으로 하는 장치.
  31. 제26항에 있어서,
    상기 제어기는, 또한,
    다수의 신뢰성 측정값들을 유지하고, 각각의 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 대응하는 부분에 관련되며;
    대응하는 임계치를 만족하는 신뢰성 측정값과 관련된 상기 제1 비휘발성 메모리 다이의 하나 이상의 부분들을 식별하고, 그리고
    데이터를 상기 복수의 메모리 다이들 중 하나 이상의 다른 메모리 다이들의 대응하는 개별 부분에 전송하도록 된 것을 특징으로 하는 장치.
  32. 제31항에 있어서,
    각 신뢰성 측정값은 상기 제1 비휘발성 다이의 대응하는 부분에 대한 메모리 액세스들의 카운트와 관련되는 것을 특징으로 하는 장치.
  33. 제32항에 있어서,
    상기 다수의 신뢰성 측정값들은, 상기 제1 비휘발성 메모리 다이의 특정 부분에 대한 메모리 액세스의 각 인스턴스에 응답하여, 상기 제1 비휘발성 메모리 다이의 특정 부분에 대응하는 상기 신뢰성 측정값을 갱신함으로써 유지되는 것을 특징으로 하는 장치.
  34. 제31항에 있어서,
    각 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 대응하는 부분에 대한 기입 동작들의 카운트와 관련되는 것을 특징으로 하는 장치.
  35. 제34항에 있어서,
    상기 다수의 신뢰성 측정값들은, 상기 제1 비휘발성 메모리 다이의 특정 부분에 대한 기입 동작의 각 인스턴스에 응답하여, 상기 제1 비휘발성 메모리 다이의 특정 부분에 대응하는 상기 신뢰성 측정값을 갱신함으로써 유지되는 것을 특징으로 하는 장치.
  36. 제29항에 있어서,
    각 신뢰성 측정값은 상기 제1 비휘발성 메모리 다이의 대응하는 부분에 대한 기입 시간 이후의 경과된 시간과 관련되는 것을 특징으로 하는 장치.

KR1020147017527A 2011-12-20 2012-11-15 메모리 디바이스들의 웨어 레벨링 KR20140116387A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/331,853 US9208070B2 (en) 2011-12-20 2011-12-20 Wear leveling of multiple memory devices
US13/331,853 2011-12-20
PCT/US2012/065334 WO2013095819A1 (en) 2011-12-20 2012-11-15 Wear leveling of memory devices

Publications (1)

Publication Number Publication Date
KR20140116387A true KR20140116387A (ko) 2014-10-02

Family

ID=47351956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017527A KR20140116387A (ko) 2011-12-20 2012-11-15 메모리 디바이스들의 웨어 레벨링

Country Status (6)

Country Link
US (1) US9208070B2 (ko)
JP (1) JP2015506505A (ko)
KR (1) KR20140116387A (ko)
CN (1) CN104115130A (ko)
TW (1) TW201333963A (ko)
WO (1) WO2013095819A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585794B2 (en) 2017-08-16 2020-03-10 SK Hynix Inc. Memory system and operating method of memory system
US10997069B2 (en) 2018-09-20 2021-05-04 SK Hynix Inc. Memory system and operating method thereof

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US9355929B2 (en) * 2012-04-25 2016-05-31 Sandisk Technologies Inc. Data storage based upon temperature considerations
US8942049B2 (en) * 2012-09-20 2015-01-27 Texas Instruments Incorporated Channel hot carrier tolerant tracking circuit for signal development on a memory SRAM
US9009400B2 (en) 2012-10-16 2015-04-14 Rambus Inc. Semiconductor memory systems with on-die data buffering
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
EP3905052A1 (en) 2013-06-29 2021-11-03 Huawei Technologies Co., Ltd. Method, apparatus, and controller for managing storage array
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US9817749B2 (en) 2013-12-04 2017-11-14 Sandisk Technologies Llc Apparatus and method of offloading processing from a data storage device to a host device
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
KR102251809B1 (ko) 2014-05-28 2021-05-13 삼성전자주식회사 메모리 시스템, 메모리 인터페이스 장치 및 메모리 시스템에서의 인터페이싱 방법
US10365835B2 (en) * 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
US9015439B1 (en) * 2014-05-30 2015-04-21 SanDisk Technologies, Inc. Event lock storage device
US9875039B2 (en) 2014-09-30 2018-01-23 Sandisk Technologies Llc Method and apparatus for wear-leveling non-volatile memory
KR102258126B1 (ko) 2015-03-19 2021-05-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US20170344262A1 (en) * 2016-05-25 2017-11-30 SK Hynix Inc. Data processing system and method for operating the same
KR20180096389A (ko) * 2017-02-21 2018-08-29 에스케이하이닉스 주식회사 반도체 메모리 장치
JP6765322B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
US10922221B2 (en) 2018-03-28 2021-02-16 Micron Technology, Inc. Memory management
US10628258B2 (en) * 2018-07-20 2020-04-21 Micron Technology, Inc. Die-level error recovery scheme
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
KR102592902B1 (ko) * 2018-09-05 2023-10-24 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) * 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
US11216219B2 (en) * 2020-05-11 2022-01-04 Micron Technology, Inc. Management of peak current of memory dies in a memory sub-system
US11874736B2 (en) * 2021-08-11 2024-01-16 Apple Inc. Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
CN117153831B (zh) * 2023-09-26 2024-05-31 湖南融创微电子有限公司 一种闪存芯片及控制方法

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US8487653B2 (en) 2006-08-05 2013-07-16 Tang System SDOC with FPHA and FPXC: system design on chip with field programmable hybrid array of FPAA, FPGA, FPLA, FPMA, FPRA, FPTA and frequency programmable xtaless clockchip with trimless/trimfree self-adaptive bandgap reference xtaless clockchip
US5838603A (en) 1994-10-11 1998-11-17 Matsushita Electric Industrial Co., Ltd. Semiconductor device and method for fabricating the same, memory core chip and memory peripheral circuit chip
US5812803A (en) 1995-09-29 1998-09-22 Intel Corporation Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller
NO308149B1 (no) 1998-06-02 2000-07-31 Thin Film Electronics Asa Skalerbar, integrert databehandlingsinnretning
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP4083944B2 (ja) 1999-12-13 2008-04-30 東芝マイクロエレクトロニクス株式会社 半導体記憶装置
US8341332B2 (en) 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
KR100375232B1 (ko) 2001-03-20 2003-03-08 삼성전자주식회사 비휘발성 메모리 소자의 제조방법
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
JP4802515B2 (ja) 2005-03-01 2011-10-26 株式会社日立製作所 半導体装置
US7764549B2 (en) 2005-06-20 2010-07-27 Sandisk 3D Llc Floating body memory cell system and method of manufacture
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7443011B2 (en) 2006-02-10 2008-10-28 Marvell International Technology Ltd. System and method for routing supply voltages or other signals between side-by-side die and a lead frame for system in a package (SIP) devices
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US8990653B2 (en) 2006-03-31 2015-03-24 Stmicroelectronics, Inc. Apparatus and method for transmitting and recovering encoded data streams across multiple physical medium attachments
US20070250857A1 (en) 2006-04-07 2007-10-25 Cinegest, Inc. Portable high capacity digital data storage device
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7477535B2 (en) 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
JP2008117195A (ja) 2006-11-06 2008-05-22 Hitachi Ltd 半導体記憶装置
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
KR101533120B1 (ko) 2006-12-14 2015-07-01 램버스 인코포레이티드 멀티 다이 메모리 디바이스
US20080153200A1 (en) 2006-12-22 2008-06-26 Arkalgud Sitaram Stacked semiconductor components
WO2008131058A2 (en) 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
CN100458751C (zh) * 2007-05-10 2009-02-04 忆正存储技术(深圳)有限公司 并行闪存控制器
KR100909968B1 (ko) 2007-06-12 2009-07-29 삼성전자주식회사 구동방식을 개선한 입체 구조의 플래시 메모리 장치 및 그구동방법
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
WO2009068074A1 (de) 2007-11-26 2009-06-04 Hyperstone Gmbh VERFAHREN ZUR GLEICHMÄßIGEN NUTZUNG MEHRERER FLASHSPEICHERCHIPS
US8028123B2 (en) 2008-04-15 2011-09-27 SMART Modular Technologies (AZ) , Inc. Circular wear leveling
US8412878B2 (en) 2008-07-14 2013-04-02 Marvell World Trade Ltd. Combined mobile device and solid state disk with a shared memory architecture
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
EP2401680B1 (de) 2009-02-26 2013-11-06 Hyperstone GmbH Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen
US8364923B2 (en) 2009-03-30 2013-01-29 Oracle America, Inc. Data storage system manager and method for managing a data storage system
US8051241B2 (en) * 2009-05-07 2011-11-01 Seagate Technology Llc Wear leveling technique for storage devices
JP2011002945A (ja) * 2009-06-17 2011-01-06 Renesas Electronics Corp 半導体装置
US20110040924A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
GB2484846A (en) 2009-08-21 2012-04-25 Ibm Data storage system and method for operating a data storage system
US8331123B2 (en) 2009-09-21 2012-12-11 Ocz Technology Group, Inc. High performance solid-state drives and methods therefor
KR20110060493A (ko) * 2009-11-30 2011-06-08 삼성전자주식회사 메모리 장치의 소거 카운트 관리 방법 및 장치
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
US8904226B2 (en) * 2010-08-26 2014-12-02 Cleversafe, Inc. Migrating stored copies of a file to stored encoded data slices
US9240405B2 (en) 2011-04-19 2016-01-19 Macronix International Co., Ltd. Memory with off-chip controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585794B2 (en) 2017-08-16 2020-03-10 SK Hynix Inc. Memory system and operating method of memory system
US10997069B2 (en) 2018-09-20 2021-05-04 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
CN104115130A (zh) 2014-10-22
US20130159766A1 (en) 2013-06-20
TW201333963A (zh) 2013-08-16
JP2015506505A (ja) 2015-03-02
US9208070B2 (en) 2015-12-08
WO2013095819A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
US9208070B2 (en) Wear leveling of multiple memory devices
US11854596B2 (en) Data storage device and operating method thereof
US9927986B2 (en) Data storage device with temperature sensor and temperature calibration circuitry and method of operating same
US10535383B2 (en) Throughput performance for cross temperature handling scenarios
KR101891378B1 (ko) 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법
US10789161B2 (en) Data storage device to identify and process a sequential read request and operating method thereof
US9141534B2 (en) Tracking read accesses to regions of non-volatile memory
TWI623878B (zh) 資料讀取方法以及儲存控制器
US9639461B2 (en) System and method of processing of duplicate data at a data storage device
US20150098271A1 (en) System and method of storing data in a data storage device
US10884665B2 (en) Data reading method, storage controller and storage device for optimizing read voltages
US20130151912A1 (en) Enhanced error correction in memory devices
US20150127886A1 (en) Memory system and method
US20180025777A1 (en) High-reliability memory read technique
US8737130B2 (en) System and method of determining a programming step size for a word line of a memory
US10628082B2 (en) Data reading method and storage controller
US9400747B2 (en) Batch command techniques for a data storage device
TWI545581B (zh) 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
CN111752852A (zh) 数据存储装置及数据存储装置的操作方法
CN112185440A (zh) 存储器接口、数据存储设备及其操作方法
CN110795366B (zh) 数据存储装置及数据存储装置的操作方法
KR20210156061A (ko) 저장 장치 및 그 동작 방법
KR102678655B1 (ko) 메모리 인터페이스, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
US20230244402A1 (en) Storage device and operating method of storage device
KR20200124937A (ko) 컨트롤러 및 그것의 동작방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination