KR100817204B1 - 플래시 메모리의 매핑 방법 및 장치 - Google Patents

플래시 메모리의 매핑 방법 및 장치 Download PDF

Info

Publication number
KR100817204B1
KR100817204B1 KR1020060133121A KR20060133121A KR100817204B1 KR 100817204 B1 KR100817204 B1 KR 100817204B1 KR 1020060133121 A KR1020060133121 A KR 1020060133121A KR 20060133121 A KR20060133121 A KR 20060133121A KR 100817204 B1 KR100817204 B1 KR 100817204B1
Authority
KR
South Korea
Prior art keywords
physical blocks
flash memory
mapping
block
counters
Prior art date
Application number
KR1020060133121A
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 재단법인서울대학교산학협력재단
Priority to KR1020060133121A priority Critical patent/KR100817204B1/ko
Priority to PCT/KR2006/005696 priority patent/WO2008078844A1/en
Application granted granted Critical
Publication of KR100817204B1 publication Critical patent/KR100817204B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/7211Wear leveling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System (AREA)

Abstract

본 발명은 플래시 메모리 장치의 마모도 평준화에 관한 것으로, 상기 플래시 메모리의 물리 블록들의 수보다 적은 수의 카운터들, 및 상기 플래시 메모리의 상기 물리 블록들 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하고, 상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 제어부를 포함하는 플래시 메모리의 매핑 장치가 제공된다.
플래시 메모리(Flash Memory), 마모도 평준화(wear leveling)

Description

플래시 메모리의 매핑 방법 및 장치{Method and Apparatus for Mapping Flash Memory}
도 1은 플래시 메모리의 구조를 도시한 도면.
도 2는 본 발명의 일례에 따른 플래시 메모리의 매핑 장치의 동작을 설명하기 위한 도면.
도 3은 본 발명의 일례에 따라 블록의 소거 시마다 수행되는 동작의 순서를 도시한 흐름도.
도 4는 본 발명의 일례에 따라 물리 블록을 논리 블록으로 매핑하는 동작의 순서를 도시한 흐름도.
도 5는 본 발명의 일례에 따른 카운터를 설명하기 위한 도면.
도 6은 본 발명의 일례에 따라 블록 q에 대한 전기적 소거 횟수의 추정치를 구하는 방법을 설명하기 위한 도면.
도 7은 본 발명의 일례에 따른 마모도 평준화 기법을 위하여 블록의 소거 시마다 수행되는 동작의 순서를 도시한 흐름도.
도 8은 본 발명의 일례에 따라 블록 q의 전기적 소거 횟수에 대한 추정치를 구하는 동작의 순서를 도시한 흐름도.
본 발명은 NAND형 플래시 메모리를 저장 장치로 사용하기 위해 필요한 마모도 평준화 기법(wear leveling)에 관한 것으로, 더욱 상세하게는, 플래시 메모리의 마모가 특정 블록에 집중되지 않고 모든 블록이 고르게 사용되도록 각 블록의 전기적 소거 횟수를 효과적으로 유지하는 방법에 관한 것이다.
플래시 메모리는 전기적으로 데이터의 소거와 프로그램이 가능한 고집적 비휘발성 메모리로서, 데이터의 기록 및 삭제가 자유로운 램(RAM)의 장점과 전원의 공급 없이도 저장된 데이터를 보존하는 롬(ROM)의 장점을 동시에 지니고 있다. 플래시 메모리는 최근 디지털 카메라, PDA, MP3 플레이어 등 휴대용 전자기기의 저장 매체로 널리 채택되고 있다.
플래시 메모리가 기존의 다른 메모리와 크게 다른 점은 데이터를 기록하기 전에 해당 위치가 미리 전기적으로 소거되어 있어야 한다는 점이다. 초기 상태에 플래시 메모리의 각 비트는 1의 값을 가진다. 소정의 위치에 데이터를 기록하기 위해 하나의 비트를 1에서 0으로 바꾸는 것은 가능하나, 일단 0으로 기록된 비트를 1로 되돌리는 것은 불가능하다. 소정의 위치의 데이터를 변경하기 위해서는 해당 위치를 포함하는 일정량의 메모리 블록을 전기적 소거 과정을 거쳐 1로 재초기화 한 다음에 새로 기록할 수 있다.
전형적인 NAND형 플래시 메모리의 구조가 도 1에 도시되어 있다. 도 1에 도시된 바와 같이, 플래시 메모리(100)는 복수개의 일정 크기의 물리 블록(physical block)(110, 120, 130, 140)으로 구성된다. 또한, 각 블록(110, 120, 130, 140)은 복수 개의 일정 크기의 페이지(page)로 구성된다. 도 1에서 물리 블록(130)은 페이지 1(131), 페이지 2(132), ..., 페이지 m(133) 등으로 구성된다. 플래시 메모리(100)에서 소거(erase)는 블록 단위로 수행되고, 기록(write) 및 판독(read)은 페이지 단위로 수행된다.
그런데, 플래시 메모리는 각 블록마다 데이터를 기록할 수 있는 유한한 수명을 가지고 있다. 상기 수명은 블록에 수행된 전기적 소거 횟수와 밀접한 관계가 있다. 전기적 소거 횟수가 일정 횟수 이상으로 많아지면 데이터의 기록에 장애가 발생할 수 있다. 전기적 소거 횟수의 상한은 통상적으로 10만 번 내지 100만 번 정도로 NAND형 플래시 제품마다 다르게 정해진다. 만약 특정 블록에 대해서만 반복적으로 전기적 소거가 수행되면, 상기 특정 블록은 짧은 시간에 수명이 다하게 되고, 이는 전체 플래시 메모리의 수명을 단축하는 원인이 된다.
마모도 평준화 기법(wear leveling)은 특정 블록에 대해서만 반복적으로 전기적 소거가 수행되는 것을 방지하고 모든 블록이 고르게 사용되면서 소거되도록 하여 모든 블록의 수명을 평준하게 유지시키는 소프트웨어적 기법을 의미한다. 기존의 마모도 평준화 기법은 각 블록의 전기적 소거 횟수를 플래시 메모리 블록마다 할당된 카운터에 유지하였다. 즉, 종래의 마모도 평준화 기법은 플래시 메모리의 물리 블록의 개수만큼의 카운터(저장 장치)를 유지하여야 했다. 그러나, 이러한 방식은 메모리의 낭비를 초래할 수 있다는 단점을 가지고 있다.
따라서, 플래시 메모리의 물리 블록의 개수만큼 카운터를 유지하지 않으면서 도 마모도 평준화를 수행할 수 있는 방법이 요구되고 있다.
따라서, 본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 플래시 메모리의 물리 블록의 개수보다 적은 수의 카운터(저장 공간)를 사용하면서도 마모도 평준화를 수행할 수 있는 방법을 제공하는 것을 그 목적으로 한다.
상기와 같은 본 발명의 목적을 달성하고 상술한 종래 기술의 문제점을 해결하기 위한 본 발명에 따른 플래시 메모리의 매핑 장치는, 상기 플래시 메모리의 물리 블록들의 수보다 적은 수의 카운터들, 및 상기 플래시 메모리의 상기 물리 블록들 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하고, 상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 제어부를 포함한다.
본 발명의 일측에 따르면, 상기 제어부는 상기 카운터들의 값에 기초하여 상기 물리 블록들의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들의 각각에 대하여 계산하고, 상기 물리 블록들의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑한다. 이때, 상기 추정치가 작은 물리 블록에 대하여 논리 블록으로의 매핑(mapping)의 우선 순위가 주어진다.
본 발명의 또 다른 일측에 따르면, 상기 플래시 메모리의 복수 개의 물리 블록들 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 물리 블록들의 수보 다 적은 수의 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하는 제1 단계, 및 상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 제2 단계를 포함하는 플래시 메모리의 매핑 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 상기 제2 단계는, 상기 카운터들의 값에 기초하여 상기 물리 블록들의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들의 각각에 대하여 계산하는 단계, 및 상기 물리 블록들의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 단계를 포함할 수 있다. 이때, 상기 물리 블록들의 각각에 대응하는 상기 추정치가 작은 순서로 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑한다.
본 발명에 따른 마모도 평준화 기법은, 마모도 평준화를 위해 반드시 정확한 전기적 소거 횟수를 유지할 필요가 없다는 점에 착안하여, 각 블록의 전기적 소거 횟수의 근사값만을 유지함으로써 메모리의 낭비와 정보 유지 오버헤드를 줄일 수 있어 궁극적으로 전체적인 성능 향상을 기대할 수 있다. 본 발명에 따른 방식은 전체 n개의 플래시 메모리 블록에 대해 (k << n)을 만족하는 k개의 카운터를 각 블록의 전기적 소거 횟수를 추정하기 위한 자료구조로 유지한다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일례에 따른 플래시 메모리의 매핑 장치의 동작을 설명하 기 위한 도면이다.
도 2에 도시된 플래시 메모리(Flash memory)(230)는 1번째 물리 블록(231), p번째 물리 블록(232), 및 n번째 물리 블록(233)의 n개의 물리 블록(physical block)으로 이루어져 있다. 본 발명에서는 이러한 물리 블록들의 수보다 적은 수의 카운터들(counters)을 유지한다. 도 2에서, 카운터(220)는 모두 k개가 유지되는데, 총 카운터들의 수 k는 물리 블록들의 수 n보다 작다.
제어부(210)는 플래시 메모리(230)의 상기 물리 블록들(231, 232, 233) 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 카운터들(220) 중 적어도 하나 이상의 카운터의 값을 변경하고, 상기 카운터들(220)의 값에 기초하여 상기 물리 블록들(231, 232, 233) 중 적어도 하나를 논리 블록으로 매핑하는 역할을 수행한다. 제어부(210)의 동작에 관해서는 뒤에서 더 상세히 설명한다.
도 3은 본 발명의 일례에 따라 블록의 소거 시마다 수행되는 동작의 순서를 도시한 흐름도이다.
종래에는 플래시 메모리의 물리 블록의 소거 시마다 상기 물리 블록에 대응하는 카운터의 값을 증가시킴으로써, 해당 물리 블록의 정확한 소거 횟수 정보를 기록하고, 이에 기초하여 마모도 평준화를 수행하였다. 그러나, 본 발명은 마모도 평준화를 위해 반드시 정확한 전기적 소거 횟수를 유지할 필요가 없다는 점에 착안하여, 플래시 메모리의 물리 블록의 수보다 적은 카운터를 유지하고, 상기 카운터의 값을 이용하여 각 물리 블록의 전기적 소거 횟수의 추정치를 계산한다.
단계(310)에서, 플래시 메모리(230)의 물리 블록들의 수 n보다 적은 수의 카 운터들이 유지된다. 상기 카운터들의 수는 k개로 플래시 메모리(230)의 물리 블록들의 수 n보다 훨씬 작은 수가 사용될 수 있다. 상기 카운터들은 본 발명에 따른 카운터 변수를 저장하기 위한 것으로, 레지스터, DRAM 등 다양한 형태의 저장 장치가 사용될 수 있다.
단계(320)에서 제어부(210)는 플래시 메모리(230)의 복수 개의 물리 블록들(231, 232, 233) 중 적어도 하나 이상에 대한 소거 명령을 수신한다. 예를 들어, 제어부(210)는 플래시 메모리(230)의 p번째 블록(232)에 대한 소거 명령을 수신한다. 앞서 설명한 바와 같이, 플래시 메모리에 있어서 소거는 블록 단위로 수행된다.
단계(320)에서 제어부(210)가 플래시 메모리(230)의 복수 개의 물리 블록들(231, 232, 233) 중 적어도 하나 이상에 대한 소거 명령을 수신하였으면, 단계(330)에서 제어부(210)는 상기 소거 명령에 대응하여 상기 카운터들(220) 중 적어도 하나 이상의 카운터의 값을 변경한다. 카운터들(220)은 추후 플래시 메모리(230)의 블록들(231, 232, 233) 각각에 대한 소거 횟수의 추정치를 계산하는데 사용된다.
단계(340)에서 제어부(210)는 소거 요청된 블록을 소거한다. 예를 들어, 플래시 메모리(230)의 p번째 블록(232)에 대해 소거 요청을 수신한 경우, p번째 블록(232)을 소거한다.
본 실시예에서, 단계(340)는 단계(330)의 다음에 수행하는 것으로 설명되었으나, 단계(340)이 단계(330)보다 먼저 수행될 수도 있다.
도 4는 본 발명의 일례에 따라 물리 블록을 논리 블록으로 매핑하는 동작의 순서를 도시한 흐름도이다.
본 발명에서는 플래시 메모리의 물리 블록들의 수보다 적은 수의 카운터의 값을 블록의 소거 시마다 변경하고, 상기 카운터들의 값에 기초하여 물리 블록들 중 적어도 하나를 논리 블록으로 매핑한다. 이를 도 4를 참조하여 설명한다.
단계(410)에서 제어부(210)는 카운터들(220)의 값에 기초하여 물리 블록들(231, 232, 233)의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들(231, 232, 233)의 각각에 대하여 계산한다.
그 다음, 제어부(210)는, 단계(420)에서, 물리 블록들(231, 232, 233)의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들(231, 232, 233) 중 적어도 하나를 논리 블록으로 매핑한다. 예를 들어, 제어부(210)는 상기 추정치가 작은 물리 블록에 대하여 논리 블록으로의 매핑의 우선 순위를 줄 수 있다. 즉, 제어부(210)는 상기 물리 블록들의 각각에 대응하는 상기 추정치가 작은 순서로 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑한다.
본 발명에 따른 마모도 평준화 기법에서 각 블록의 전기적 소거 횟수를 추정하기 위해 사용되는 카운터 X의 구조를 도 5를 참조하여 설명한다.
우선 n개의 물리 블록들을 갖는 플래시 메모리의 상기 n개의 물리 블록들 각각에 대응하여 n개의 엔트리를 갖는 마모도 평준화 벡터(wear leveling vector)(510) V = (V(1), V(2), ..., V(n))가 유지된다. 도 5에서 마모도 평준화 벡터(510)의 엔트리의 각각은 n개의 물리 블록의 각각에 대응된다. p(1 ≤ p ≤ n)번째 물리 블록에 대응하는 마모도 평준화 벡터의 엔트리는 V(p)이다.
상기 마모도 평준화 벡터를 설명하기 위하여, 우선 마모도 평준화 벡터 집합(wear leveling vector set) Sn = {V1, V2, ..., Vh}를 설명한다. 상기 h개의 벡터들 V1, V2, ..., Vh의 각각은 n개의 엔트리를 가지는 벡터이며, 상기 V1, V2, ..., Vh 간에 다음 식 1, 2, 3의 관계가 만족되는 경우, 상기 V1, V2, ..., Vh의 각각은 마모도 평준화 벡터 집합 Sn에 속한다고 정의한다.
Figure 112006095730655-pat00001
Figure 112006095730655-pat00002
Figure 112006095730655-pat00003
즉, 마모도 평준화 벡터 집합 Sn에 속하는 h개의 벡터들의 각 엔트리는 -1 또는 1의 값을 가진다. 이 때, 마모도 평준화 벡터 집합 Sn에 속하는 h개의 벡터들의 각 p번째 엔트리 Vi(p)와 각 q 번째 엔트리 Vi(q)가 (-1, -1) 또는 (-1, 1) 또는 (1, -1) 또는 (1, 1)의 값을 가질 확률은 고르게 1/4씩이고, 따라서, 이들의 곱 Vi(p)Vi(q)의 평균은 0이다. 이와 유사하게, 마모도 평준화 벡터 집합에 속하는 h개의 벡터들의 각 p, q, r번째 엔트리들의 곱 Vi(p)Vi(q)Vi(r)의 평균도 0 이고, 각 p, q, r, s번째 엔트리들의 곱 Vi(p)Vi(q)Vi(r)Vi(s)의 평균도 0이다. 여기서, Vi(p)는 n개의 엔트리를 갖는 벡터 Vi 의 p번째 엔트리를 의미한다. 본 발명에서 n개의 물리 블록에 대하여 정의된 마모도 평준화 벡터(510) V는 마모도 평준화 벡터 집합 Sn에 속하는 벡터이다.
그리고, 카운터(520) X는 식 4와 같이 정의된다.
Figure 112006095730655-pat00004
여기서, f(p)는 p번째 블록의 전기적 소거 횟수, V(p)는 마모도 평준화 벡터 V의 p번째 엔트리의 값을 의미한다. 그러면, V(p)X는 다음의 식 5에 의해 p번째 블록의 전기적 소거 횟수 f(p)의 불편추정량(unbiased estimate)으로 사용될 수 있다.
Figure 112006095730655-pat00005
이는 마모도 평준화 벡터 V가 앞에서 정의된 마모도 평준화 변수 집합에 속하기 때문에, 식 2와 식 3에 의해 E[V(p)2] = 1 이고, E[V(p)V(q), p ≠ q] = 0 이 성립하기 때문이다.
본 발명에 따른 마모도 평준화 기법에서는 각 블록의 전기적 소거 횟수의 추정치의 오차를 줄이기 위해, k개의 마모도 평준화 벡터(510) Vi (1 ≤ i ≤ k)와 k개의 카운터(620) Xi (1 ≤ i ≤ k)를 유지한다. 이때, 상기 k개의 마모도 평준화 벡터(510) Vi (1 ≤ i ≤ k)는 모두 같은 마모도 평준화 벡터 집합에 속한 서로 다른 벡터들이다. 또한, k = s1 x s2 로서, s1은 정확도를 높이는 데에 기여하고 s2는 신뢰도를 높이는 데에 기여한다.
이제 도 6를 참조하여, 본 발명의 일례에 따라 블록 q에 대한 전기적 소거 횟수의 추정치를 구하는 방법을 상세하게 설명한다.
도 6에 도시된 바와 같이, n개의 물리 블록을 가지는 플래시 메모리의 n개의 물리 블록들의 각각에 대응하여 k개의 마모도 평준화 벡터(610)가 유지된다. 즉, 하나의 물리 블록에 대하여 k개의 마모도 평준화 벡터 엔트리가 유지된다. 도 6을 참조하면, 1번째 물리 블록에 대응하여, V1(1), V2(1), ..., Vk(1)의 k개의 마모도 평준화 벡터 엔트리(611)가 준비된다. 마찬가지로, p번째 물리 블록에 대응하여, V1(p), V2(p), ..., Vk(p)의 k개의 마모도 평준화 벡터 엔트리(612)가 준비되고, n번째 물리 블록에 대응하여, V1(n), V2(n), ..., Vk(n)의 k개의 마모도 평준화 벡터 엔트리(613)가 준비된다.
상기 k개의 마모도 평준화 벡터들은 상기 n개의 물리 블록들의 각각에 대응하는 k개의 마모도 평준화 벡터 엔트리들 간에 식 1, 2, 3의 관계를 만족한다. 예를 들어, 1번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(611) V1(1), V2(1), ..., Vk(1)의 각각은 -1 또는 1의 값을 가진다. 마찬가지로, p번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(612) V1(p), V2(p), ..., Vk(p)의 각각은 -1 또는 1의 값을 가진다.
또한, 예를 들어, 상기 n개의 물리 블록들에 대하여 1번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(611) V1(1), V2(1), ..., Vk(1)과 p번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(612) V1(p), V2(p), ..., Vk(p)이 (-1, -1) 또는 (-1, 1) 또는 (1, -1) 또는 (1, 1)의 값을 가질 확률은 고르 게 1/4씩이고, V1(1)V1(p), V2(1)V2(p), ..., Vk(1)Vk(p)의 평균은 0이다. 마찬가지로, n개의 물리 블록들에 대하여 p번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(612) V1(p), V2(p), ..., Vk(p)과 n번째 물리 블록에 대응하는 k개의 마모도 평준화 벡터 엔트리들(613) V1(n), V2(n), ..., Vk(n)이 (-1, -1) 또는 (-1, 1) 또는 (1, -1) 또는 (1, 1)의 값을 가질 확률은 고르게 1/4씩이고, V1(p)V1(n), V2(p)V2(n), ..., Vk(p)Vk(n)의 평균은 0이다.
도 7은 본 발명의 일례에 따른 마모도 평준화 기법을 위하여 블록의 소거 시마다 수행되는 동작의 순서를 도시한 흐름도이다. 본 발명에 따른 마모도 평준화 기법에서 어떤 블록 p가 전기적으로 소거될 때마다 블록 p에 대응하는 k개의 마모도 평준화 벡터 엔트리 Vi(p)(1 ≤ i ≤ k)를 k개의 카운터 Xi(1 ≤ i ≤ k)에 더함으로써 자료구조를 유지하는 절차를 도 6과 도 7를 참조하여 설명한다.
우선 단계(710)에서 제어부는 플래시 메모리의 n개의 물리 블록들 중 p번째 블록에 대한 소거 요청(소거 명령)을 수신한다.
그러면, 제어부(710)는, 단계(720)에서 상기 플래시 메모리의 n개의 물리 블록들 중 p(1 ≤ p ≤ n)번째 블록에 대한 소거 명령에 대응하여 상기 p번째 블록에 대응하는 k개의 상기 마모도 평준화 벡터 엔트리(612)의 각각을 대응하는 상기 k개의 카운터(620)에 더한다. 즉, 카운터 X1에 V1(p)를 더하고, X2에 V2(p)를 더하고, Xk에 Vk(p)를 더하는 등과 같이 p번째 블록에 대응하는 k개의 상기 마모도 평준화 벡터 엔트리의 각각을 대응하는 상기 k개의 카운터에 더한다. 이를 식으로 표현하면, 식 6과 같다.
Figure 112006095730655-pat00006
여기서, Xi는 i번째 카운터의 값, f(p)는 p번째 블록의 전기적 소거 횟수이고, Vi(p)는 마모도 평준화 벡터 Vi의 p번째 엔트리의 값을 의미한다. 따라서, 식 6은 p번째 블록의 전기적 소거 시마다 (1 ≤ i ≤ k)인 각 i에 대하여 마모도 평준화 벡터 Vi의 p번째 엔트리 Vi(p)의 값을 Xi의 값에 더하는 것을 의미한다.
그 다음, 제어부는, 단계(730)에서 소거 요청된 p번째 물리 블록을 소거한다.
도 8은 본 발명의 일례에 따라 블록 q의 전기적 소거 횟수에 대한 추정치를 구하는 동작의 순서를 도시한 흐름도이다. 본 발명에 따른 마모도 평준화 기법에서 어떤 블록 q의 전기적 소거 횟수가 필요할 때마다 블록 q에 대응하는 k개의 마모도 평준화 벡터 엔트리 Vi(q)(1 ≤ i ≤ k)와 k개의 카운터 Xi (1 ≤ i ≤ k)로부터 블록 q의 전기적 소거 횟수 f(q)의 추정치를 구하는 절차를 도 6과 도 8을 참조하여 설명한다.
우선 단계(810)에서 플래시 메모리의 n개의 물리 블록들 중 q번째 블록에 대한 전기적 소거 횟수가 요청된다.
그러면, 제어부는, 단계(820)에서, 식 7에 의하여 Vi(q)Xi(1 ≤ i ≤ k)를 s1개씩 단위로 총 s2개의 평균(630) Yj(q) (1 ≤ j ≤ s2)를 계산한다.
Figure 112006095730655-pat00007
즉, q번째 블록에 대한 전기적 소거 횟수가 요청된 경우, V1(q)X1, V2(q)X2, ..., Vs1(q)Xs1의 평균 Y1(q)를 계산하고, Vs1 +1(q)Xs1+1, Vs1 +2(q)Xs1+2, ..., V2s1(q)X2s1의 평균 Y2(q)를 계산하는 등으로 하여, Y1(q), Y2(q), ..., Yj(q), ..., Ys2(q) 등을 계산한다.
단계(830)에서 제어부는 식 8에 의하여, (1 ≤ j ≤ s2)인 각 j 대해 산출된 평균(630) Yj(q) 중에서 중앙값(640) F(q)를 산출한다. 즉, Y1(q), Y2(q), ..., Yj(q), ..., Ys2(q)의 중앙값(medium value) F(q)을 계산한다. 중앙값은 Y1(q), Y2(q), ..., Yj(q), ..., Ys2(q)을 크기 순으로 나열했을 때 중간에 위치하는 값이다.
Figure 112006095730655-pat00008
단계(840)에서 상기 계산된 F(q)는 플래시 메모리의 q번째 블록에 대한 전기적 소거 횟수 f(q)의 추정치로 반환된다.
따라서, 본 발명은 플래시 메모리의 물리 블록을 논리 블록으로 매핑할 때, 도 8에 따라, 상기 플래시 메모리의 n개의 물리 블록들의 각각에 대해 전기적 소거 횟수의 추정치인 F(q)를 계산하고, 상기 F(q)가 작은 물리 블록에 대하여 논리 블록으로의 매핑의 우선 순위를 준다.
또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로 그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
본 발명에 따른 마모도 평준화 기법은 각 블록의 전기적 소거 횟수를 플래시 메모리 블록마다 유지하지 않음으로써 메모리의 낭비와 정보 유지 오버헤드를 줄일 수 있어 궁극적으로 전체적인 성능 향상을 기대할 수 있다.
특히, 본 발명에 따르면, 블록 수가 많은 대용량 플래시 메모리에 대해서도 상기 블록 수에 비하여 훨씬 적은 수의 카운터를 사용하면서도 효율적인 마모도 평준화 성능을 제공할 수 있으므로, 블록 수가 많아질수록 그에 따라 더 많은 카운터를 필요로 하는 종래기술에 비하여 대용량 플래시 메모리의 마모도 평준화에 훨씬 유리하다. 따라서, 본 발명은 플래시 메모리가 대용량화되더라도 여전히 효율적인 마모도 평준화 성능을 제공할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 상기 k개의 마모도 평준화 벡터는 {1, 2, ..., n}을 {-1, 1}로 사상하는 k개의 마모도 평준화 해쉬 함수로 구현하는 것도 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 플래시 메모리의 매핑 장치에 있어서,
    상기 플래시 메모리의 물리 블록들의 수보다 적은 수의 카운터들; 및
    상기 플래시 메모리의 상기 물리 블록들 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하고, 상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 제어부
    를 포함하는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  2. 제1항에 있어서, 상기 제어부는,
    상기 카운터들의 값에 기초하여 상기 물리 블록들의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들의 각각에 대하여 계산하고, 상기 물리 블록들의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  3. 제2항에 있어서, 상기 제어부는,
    상기 추정치가 작은 물리 블록에 대하여 논리 블록으로의 매핑의 우선 순위를 주는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  4. 제2항에 있어서,
    상기 물리 블록들은 n개이고, 상기 카운터들은 k개이고, 상기 k는 상기 n보다 작으며, 상기 k=s1 x s2인 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  5. 제4항에 있어서, 상기 제어부는,
    상기 n개의 물리 블록들의 각각에 대응하여 각각 n개의 엔트리를 갖는 k개 의 마모도 평준화 벡터를 유지하는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  6. 제5항에 있어서, 상기 k개의 마모도 평준화 벡터는,
    같은 마모도 평준화 벡터 집합에 속한 서로 다른 벡터들인 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  7. 제6항에 있어서, 상기 마모도 평준화 벡터 집합은,
    상기 마모도 평준화 벡터 집합에 속한 벡터들 간에,
    Vi(p)∈{-1,1}, Vi(p)2=Vi(p)4=1, Vi(p)3=Vi(p), E[Vi(p)Vi(q)]=0, E[Vi(p)Vi(q)Vi(r)]=0, E[Vi(p)Vi(q)Vi(r)Vi(s)]=0 (Vi(p)는 상기 마모도 평준화 벡터 집합에 속한 벡터 Vi의 p번째 엔트리, p≠q≠r≠s)
    을 만족하는 경우인 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  8. 제7항에 있어서, 상기 제어부는,
    상기 플래시 메모리의 n개의 물리 블록들 중 p번째 블록에 대한 소거 명령에 대응하여 상기 p번째 블록에 대응하는 k개의 상기 마모도 평준화 벡터 엔트리의 각각을 대응하는 상기 k개의 카운터에 더하는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  9. 제8항에 있어서, 상기 제어부는,
    상기 플래시 메모리의 n개의 물리 블록들의 각각에 대해,
    Yj(q) = E[Vi(q) x Xi, ((j-1) x s1 + 1)≤i≤(j x s1)], 1≤j≤s2, q는 블록 번호, Vi(q)는 마모도 평준화 벡터 Vi의 q번째 엔트리, Xi는 i번째 카운터
    인 Yj(q)를 계산하고,
    상기 n개의 물리 블록들의 각각에 대해,
    F(q) = medium(Y1(q), Y2(q), ..., Ys2(q))
    인 상기 추정치 F(q)를 계산하는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  10. 제9항에 있어서, 상기 제어부는,
    상기 추정치 F(q)가 작은 물리 블록에 대하여 논리 블록으로의 매핑의 우선 순위를 주는 것을 특징으로 하는 플래시 메모리의 매핑 장치.
  11. 플래시 메모리의 매핑 방법에 있어서,
    상기 플래시 메모리의 복수 개의 물리 블록들 중 적어도 하나 이상에 대한 소거 명령에 대응하여 상기 물리 블록들의 수보다 적은 수의 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하는 단계; 및
    상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 단계
    를 포함하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  12. 제11항에 있어서, 상기 카운터들의 값에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 상기 단계는,
    상기 카운터들의 값에 기초하여 상기 물리 블록들의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들의 각각에 대하여 계산하는 단계; 및
    상기 물리 블록들의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 단계
    를 포함하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  13. 제12항에 있어서, 상기 물리 블록들의 각각에 대응하는 상기 추정치에 기초하여 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 상기 단계는,
    상기 물리 블록들의 각각에 대응하는 상기 추정치가 작은 순서로 상기 물리 블록들 중 적어도 하나를 논리 블록으로 매핑하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  14. 제12항에 있어서,
    상기 물리 블록들은 n개이고, 상기 카운터들은 k개이고, 상기 k는 상기 n보다 작으며, 상기 k=s1 x s2인 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  15. 제14항에 있어서,
    상기 n개의 물리 블록들의 각각에 대응하여 각각 n개의 엔트리를 갖는 k개 의 마모도 평준화 벡터를 유지하는 단계
    를 더 포함하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  16. 제15항에 있어서, 상기 k개의 마모도 평준화 벡터는,
    같은 마모도 평준화 벡터 집합에 속한 서로 다른 벡터들인 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  17. 제16항에 있어서, 상기 마모도 평준화 벡터 집합은,
    상기 마모도 평준화 벡터 집합에 속한 벡터들 간에,
    Vi(p)∈{-1,1}, Vi(p)2=Vi(p)4=1, Vi(p)3=Vi(p), E[Vi(p)Vi(q)]=0, E[Vi(p)Vi(q)Vi(r)]=0, E[Vi(p)Vi(q)Vi(r)Vi(s)]=0 (Vi(p)는 상기 마모도 평준화 벡터 집합에 속한 벡터 Vi의 p번째 엔트리, p≠q≠r≠s)
    을 만족하는 경우인 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  18. 제17항에 있어서, 상기 물리 블록들의 수보다 적은 수의 카운터들 중 적어도 하나 이상의 카운터의 값을 변경하는 상기 단계는,
    상기 플래시 메모리의 n개의 물리 블록들 중 p번째 블록에 대한 소거 명령에 대응하여 상기 p번째 블록에 대응하는 k개의 상기 마모도 평준화 벡터 엔트리의 각각을 대응하는 상기 k개의 카운터에 더하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  19. 제18항에 있어서, 상기 카운터들의 값에 기초하여 상기 물리 블록들의 각각의 소거 횟수에 대응하는 추정치를 상기 물리 블록들의 각각에 대하여 계산하는 상기 단계는,
    상기 플래시 메모리의 n개의 물리 블록들의 각각에 대해,
    Yj(q) = E[Vi(q) x Xi, ((j-1) x s1 + 1)≤i≤(j x s1)], 1≤j≤s2, q는 블록 번호, Vi(q)는 마모도 평준화 벡터 Vi의 q번째 엔트리, Xi는 i번째 카운터
    인 Yj(q)를 계산하고,
    상기 n개의 물리 블록들의 각각에 대해,
    F(q) = medium(Y1(q), Y2(q), ..., Ys2(q))
    인 상기 추정치 F(q)를 계산하는 것을 특징으로 하는 플래시 메모리의 매핑 방법.
  20. 제11항 내지 제19항 중 어느 한 항의 방법을 실행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체.
KR1020060133121A 2006-12-22 2006-12-22 플래시 메모리의 매핑 방법 및 장치 KR100817204B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060133121A KR100817204B1 (ko) 2006-12-22 2006-12-22 플래시 메모리의 매핑 방법 및 장치
PCT/KR2006/005696 WO2008078844A1 (en) 2006-12-22 2006-12-26 Method and apparatus for mapping flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060133121A KR100817204B1 (ko) 2006-12-22 2006-12-22 플래시 메모리의 매핑 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100817204B1 true KR100817204B1 (ko) 2008-03-27

Family

ID=39411828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060133121A KR100817204B1 (ko) 2006-12-22 2006-12-22 플래시 메모리의 매핑 방법 및 장치

Country Status (2)

Country Link
KR (1) KR100817204B1 (ko)
WO (1) WO2008078844A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080191B1 (ko) * 2010-03-18 2011-11-07 스티븐 상근 오 웨어레벨링 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2935504B1 (fr) * 2008-09-02 2010-12-10 Oberthur Technologies Systeme de gestion d'usure d'une memoire non volatile reinscriptible.
US9129689B2 (en) 2013-03-13 2015-09-08 Sandisk Technologies Inc. Tracking erase pulses for non-volatile memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960032189A (ko) * 1995-02-23 1996-09-17 엠. 츠루아이 데이타 기억 장치, 데이타 처리기, 메모리 액세스 방법 및 데이타 처리 방법
KR20020091932A (ko) * 2001-06-01 2002-12-11 삼성전자 주식회사 선택적 배속동작 모드를 갖는 불휘발성 반도체 메모리 장치
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
WO2005003956A1 (en) 2003-07-02 2005-01-13 Koninklijke Philips Electronics N.V. Single memory with multiple shift register functionality

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US7096313B1 (en) * 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960032189A (ko) * 1995-02-23 1996-09-17 엠. 츠루아이 데이타 기억 장치, 데이타 처리기, 메모리 액세스 방법 및 데이타 처리 방법
KR20020091932A (ko) * 2001-06-01 2002-12-11 삼성전자 주식회사 선택적 배속동작 모드를 갖는 불휘발성 반도체 메모리 장치
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
WO2005003956A1 (en) 2003-07-02 2005-01-13 Koninklijke Philips Electronics N.V. Single memory with multiple shift register functionality

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080191B1 (ko) * 2010-03-18 2011-11-07 스티븐 상근 오 웨어레벨링 방법

Also Published As

Publication number Publication date
WO2008078844A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
US10732857B2 (en) Techniques for reducing memory write operations using coalescing memory buffers and difference information
CN105045523B (zh) 存储控制器、存储装置和系统及操作存储控制器的方法
KR101891378B1 (ko) 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법
US7953919B2 (en) Physical block addressing of electronic memory devices
US7809900B2 (en) System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US8230164B2 (en) Techniques for multi-memory device lifetime management
US9141475B2 (en) Methods for tag-grouping of blocks in storage devices
US8429501B2 (en) Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio
CN108369818B (zh) 一种闪存设备的刷新方法和装置
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
US8171356B2 (en) Reducing writes, and estimating and displaying estimated remaining lifetime of non-volatile memories
JP2017228287A (ja) フラッシュメモリの割当方法及びそれを用いたソリッドステートドライブ
CN110827907A (zh) 包括非易失性存储器器件的储存设备及其操作方法
CN111095226A (zh) 具有动态高速缓冲存储器管理的存储器装置
US20160124642A1 (en) Memory device, memory system, method of operating the memory device, and method of operating the memory system
CN108897492B (zh) 一种数据写入方法和装置
US20080126685A1 (en) System, method, and computer program product for reducing memory write operations using an instruction set
US10452280B2 (en) Hybrid storage system employing reconfigurable memory
WO2008063647A2 (en) Delaying an operation that reduces a lifetime of memory
WO2014110183A1 (en) Systems and methods to update reference voltages in response to data retention in non-volatile memory
CN105138472B (zh) 闪存磨损优化方法及设备
KR100624973B1 (ko) 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)
CN109343796B (zh) 一种数据处理方法和装置
KR100817204B1 (ko) 플래시 메모리의 매핑 방법 및 장치
CN110532195A (zh) 存储器系统的工作负荷分簇及执行其的方法

Legal Events

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

Payment date: 20130422

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140318

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180222

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 13