KR100624973B1 - 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) - Google Patents

플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) Download PDF

Info

Publication number
KR100624973B1
KR100624973B1 KR1020050056716A KR20050056716A KR100624973B1 KR 100624973 B1 KR100624973 B1 KR 100624973B1 KR 1020050056716 A KR1020050056716 A KR 1020050056716A KR 20050056716 A KR20050056716 A KR 20050056716A KR 100624973 B1 KR100624973 B1 KR 100624973B1
Authority
KR
South Korea
Prior art keywords
block
erase count
level
leveling
erase
Prior art date
Application number
KR1020050056716A
Other languages
English (en)
Other versions
KR20050079991A (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 박상원
Priority to KR1020050056716A priority Critical patent/KR100624973B1/ko
Publication of KR20050079991A publication Critical patent/KR20050079991A/ko
Application granted granted Critical
Publication of KR100624973B1 publication Critical patent/KR100624973B1/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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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/7202Allocation control and policies

Abstract

본 발명은 플래시 메모리의 소거 횟수 평준화 방법에 대한 것이다. 플래시 메모리는 데이터를 기록하기 전에 해당 블록이 미리 소거가 되어야 하는 제약 조건을 가지고 있으며 각 블록들의 최대 소거 횟수가 제한되어 있다는 한계가 있다. 이때 소거 연산이 특정 블록에 집중되어 특정 블록의 수명이 단축되는 문제점을 해결하기 위하여 블록에 대한 소거 횟수 평준화 방법(wear-leveling)이 필요하다. 기존에 제안된 소거 횟수 평준화 방법은 각 블록의 소거 횟수를 유지해야하는 비용이 필요로 하거나 플래시 메모리가 대용량일 경우에는 블록 영역을 이동시키는데 비용이 발생하는 문제가 있다. 따라서 본 발명은 플래시 메모리의 소거 횟수 평준화를 위하여 해당 블록의 소거 횟수에 대한 정보의 유지의 부담을 줄이고 플래시 메모리의 대용량화 및 디스크 대체 시에 효율적인 소거 횟수 평준화 방법에 대한 것이다.
플래시 메모리, 소거 횟수 평준화, K-평준화

Description

플래시 메모리의 효율적인 소거 횟수 평준화 방법(K-평준화){An Efficient Wear-leveling Scheme for Flash Memory(K-leveling)}
도 1은 플래시 메모리에서 빈 블록을 할당할 때의 플로우챠트도
도 2는 본 발명 K-평준화를 위한 물리 블록 맵 테이블(physical block map table) 구성도
도 3은 물리 블록 맵 테이블에서 상태와 소거 횟수 레벨에 따른 상태도
도 4은 K-평준화에서 블록을 교체할 때의 플로우챠트도
도 5는 K-평준화에서 핫 블록과 교체하게 될 콜드 블록 설정에 대한 플로우챠트도
도 6은 소거 횟수 레벨에 대한 정보 유지를 위한 블록도
본 발명은 플래시 메모리에서 한 블록을 소거하는 횟수의 제한적임에 따른 소거 횟수를 평준화하는 방법에 관한 것이다. 이 방법은 FTL(Flash Translation Layer)내에서 블록의 소거 횟수를 평준화하는 방법이다.
플래시 메모리는 특정 블록에 쓰기 연산을 하기 전에 해당 블록은 미리 소거 (erase-before-write)되어 있어야 하는 제약이 있다. 이에 따라서 플래시 메모리에 저장된 데이터를 직접 갱신하는 것은 불가능하기 때문에 빈 블록을 확보하고 변경된 데이터를 갱신하는 작업이 필요하다. 또한 각 블록은 소거될 수 있는 한계횟수(보통 10만 번)를 가지고 있기 때문에 각 블록에 대한 소거 횟수를 평준화하는 방법이 필수적이다.
즉, 플래시 메모리는 소거 연산이 한 블록에 집중이 되면 일부 블록을 사용할 수 없게 되어 플래시 메모리의 수명이 오래 가지 못하게 된다.
따라서 플래시 메모리는 특정 블록에 있어서 소거 연산이 집중되지 않고 각 블록에 대하여 균등한 소거 횟수를 가질 수 있도록 소거 횟수 평준화 방법이 필수적이다. 이런 소거 횟수 평준화 방법은 플래시 메모리를 안정적으로 오래 사용할 수 있도록 하며 플래시 메모리가 디스크를 대체할 때 매우 중요한 요소가 될 수 있다.
기존의 알고리즘은 각 블록의 소거 횟수를 기록하여 빈 블록을 할당하는 과정에서 소거 횟수가 적은 블록부터 할당하는 방법으로 소거 횟수를 평준화하고 있다. 하지만 이런 방법은 복잡한 연산을 필요로 하며 빈 블록을 할당하기 위해 전체 블록을 검색해야하는 오버 헤드가 발생하게 된다.
소거 횟수 평준화를 통해 플래시 메모리 저장 장치의 내구성을 개선하려는 연구는 초기의 블록 관리 방법의 개발과 함께 있어 왔다. eNVy 시스템에서는 블록 삭제 비용과 삭제 빈도의 곱으로 표시되는 삭제 색인(cleaning index)을 이용하여 블록 삭제 작업을 수행한다. 이때 삭제 색인 값이 큰 블록이 우선적으로 선택되기 때문에 삭제 빈도가 높은 블록에 기록과 소거 동작이 집중되는 문제가 발생한다. eNVy 시스템은 소거 횟수가 많은 블록과 소거 횟수가 적은 블록에서 유효한 데이터를 서로 교환함으로써 문제를 해결하였다. 그러나 매번 삭제 작업 때 마다 삭제 색인을 계산하여 전체 블록과 비교하므로 계산 비용이 많이 든다.
이 외에도 트랜잭션 기반 플래시 메모리 파일 시스템(Transaction Flash Memory File System, TFFS)에서 사용하는 영역 이동 방법은 고정된 영역에 블록을 이동해야 하는 제약이 있다.
TFFS에서는 상대적으로 사용 빈도가 높은 맵 영역과 교대 영역의 위치를 주기적으로 이동시킴으로써 특정한 블록들이 맵과 교대 영역으로서 집중적으로 사용되는 것을 방지한다. 이 때 영역 이동에 의해 변경되는 교대 영역과 데이터 영역의 위치는 맵 영역에 기록되면, 변경되는 맵 영역의 위치는 별도의 고정된 블록에 기록하는데 플래시 메모리가 대용량화되면 영역 이동 방법에 따른 비용이 커지게 되는 문제가 있다.
따라서 본 발명은 블록의 소거 횟수에 대한 편차값(K)을 두어서 소거 횟수가 편차 이내에서 이루어지게 하여, 많은 소거 연산이 들어오더라도 각 블록의 소거 횟수가 균등한 수준이 될 수 있도록 하여 대용량의 플래시 기반 디스크에서는 연산의 복잡도를 줄이면서 좀 더 효과적으로 소거 횟수를 평준화하는 방법을 목적으로 두고 있다. 이 방법에서는 각 블록의 소거 횟수를 적은 메모리에 기록하여 소거 횟수 평준화를 보장하며 빈 블록을 할당하는 기간 내에 평준화 작업을 위한 블록의 교체 작업이 이루어지므로 계산 비용을 줄인다. 또한 이 방법에서는 블록에 대한 교체 작업을 제한함으로써 교체 작업에 대한 비용을 최소화하고 효과적으로 소거 횟수 평준화 기능을 수행한다.
상술한 목적을 달성하기 위한 본 발명 K-평준화에서의 방법으로 다음의 4가지의 주안점을 가지고 구현한다.
본 발명의 K-평준화 방법은
첫 번째로 소거 횟수 평준화를 위한 공평한 빈 블록의 할당 단계;
두 번째로 블록에 대한 소거 횟수를 두는 대신 소거 횟수에 대한 레벨 설정 단계;
세 번째로 두 번째에서 언급한 소거 횟수 레벨에 따라서 소거 횟수 레벨이 높은 블록과 낮은 블록의 교체 단계;
마지막으로 소거 횟수 레벨에 대한 정보 유지 단계;
로 구성된다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명하기로 한다. 이때 위의 4가지 방법에 대한 전체적인 설명과 도면에 대한 상세한 설명하기로 한다.
첫 번째 방법에서는 소거 횟수 평준화를 위해 공평하게 빈 블록을 할당 하는 것이 중요하다. 이와 같은 공평한 블록 할당은 도 1에서 보는 바와 같이 소거 횟수 레벨을 고려하여 할당하게 되며, 공평하게 빈 블록을 할당하기 위해서 순차적으로 할당하는 방법(round-robin 방법)을 사용한다. 도 1은 FTL에서 빈 블록을 할당하게 될 때 K-평준화를 사용했을 경우에의 빈 블록 할당 방식을 플로우챠트로 나타낸 것이다. 빈 블록을 할당할 때 블록에 대한 정보를 알기 위해서 물리 블록 맵 테이블(Physical Block Map Table)을 참조한다.
도 1을 참조하면 단계(10)에서 빈 블록을 할당하게 되면 단계(20)에서와 같이 이전 빈 블록이 할당된 다음 블록부터 빈 블록을 찾아서 할당하게 된다. 이때 단계(30)에서 보는 바와 같이 빈 블록이면서 최대레벨이 아닌 블록만 할당하게 된다. 만약 단계(30) 조건을 만족하게 되면 단계(80)으로 넘어가게 되어 빈 블록을 할당하게 되어 작업을 완료한다.
하지만 단계(30) 조건을 만족하지 않으면 단계(40)으로 넘어가게 된다.
단계(40)은 빈 블록이면서 최대 레벨인 블록(핫 블록, hot block)인지 판단하게 된다. 만약 핫 블록이면 단계(50)으로 넘어가 할당된 블록이면서 최소 레벨인 블록(콜드 블록, cold block)과 교체하게 된다. 이와 같은 작업이 끝나게 되면 빈 블록이 할당되지 않았기 때문에 다음 블록을 검색(단계(60))하게 되고 단계(70)과 같이 모든 블록을 검색하였는지 판단하게 된다. 만약 모든 블록을 검색하지 않았다면 다시 단계(30)으로 넘어가게 되고 모든 블록을 검색한 경우라면 빈 블록이 없는 경우이기 때문에 빈 블록 할당을 종료하게 된다.
물리 블록 맵 테이블은 실제 물리적인 메모리에 대한 정보를 가지게되며 도 2에서 보는 바와 같이 물리 블록에 대한 정보에는 해당 블록의 상태(state)와 소거 횟수에 대한 레벨(erase count level)이 있다. 도 2는 본 발명 K-평준화를 위한 물 리 블록 맵 테이블 구성도이다. 도 2를 참조하면 블록의 상태(11)와 소거 횟수에 대한 레벨(12)은 모두 비트 값이며 상태에 대해서는 1비트만 사용하게 되며 소거 횟수에 대한 레벨(12)은 여러 비트를 둘 수 있다. 블록의 상태(11)는 빈 블록인 상태(free)와 할당된 상태(reserved)로 구분된다. 소거 횟수에 대한 레벨(12)은 여러 비트를 둘수록 블록에 대한 소거 횟수의 편차값(K)은 커지게 된다. 빈 블록을 할당하게 되면 상태는 빈 상태에서 할당된 상태로 바뀌게 된다.
반대로 블록이 소거되면 블록의 상태(11)는 할당된 상태에서 빈 상태로 변하게 되며, 소거 횟수에 대한 레벨(12)은 증가를 하게 된다. 빈 블록에 대한 공평한 할당은 블록에 대한 소거도 공평하게 한다.
두 번째 방법은 각 블록에 대한 소거 횟수를 가지는 것이 아니고 앞서 설명하였듯이 소거 횟수 편차값(K)에 따른 레벨을 가지게 된다. 따라서 소거 횟수 레벨은 소거 레벨의 비트수에 따라 변하게 되며 각 블록들의 소거 횟수에 대한 편차값을 뜻한다.
도 3을 참조하면 빈 블록이 할당되면 빈 블록인 상태(101, 103, 105)에서 할당된 상태(102, 104, 106)로 바뀌게 된다. 그리고 블록이 소거가 되면 도 3에서 보는 바와 같이 (102)에서 (103)으로 변하게 된다. 하지만 최대 레벨(105, 106)에서 다음 레벨로 넘어가는 것은 상태에 대한 명확성을 잃게 되므로 소거 연산 시에는 최대 레벨의 이전 상태로 돌아가게 한다.
블록에 대한 소거 레벨이 상태에 따라 증가하게 되면 전체 레벨을 낮추는 작업이 필요하다. 이는 전체 블록이 어떤 동일한 레벨 이상이 되면 전체 소거 횟수 레벨을 낮추어 최대 레벨(max level)로 상승하는 것을 막는다. 예를 들어 전체 블록의 소거 횟수 레벨이 1이상이 되면 모든 블록에 대한 소거 횟수 레벨을 1씩 낮추는 작업(down-leveling)을 하게 되는데 최대 레벨로 상승하는 것을 막게 된다. 이와 같은 작업을 하는 이유는 앞에서 설명한 것과 같이 최대 레벨로 상승하였을 때 다음 레벨로 상승할 수 없게 되어 상태에 대한 명확성을 잃게 되는 것을 방지하기 위해서이다.
본 발명의 세 번째 방법으로 소거 횟수 레벨에 따른 블록의 교체이다.
블록의 레벨이 최대이면서 빈 블록을 핫 블록(hot block)이라고 하며 레벨이 최소이며 할당된 블록을 콜드 블록(cold block)이라고 한다. 핫 블록은 소거 연산이 많이 이루어져 높은 레벨이므로 빈 블록으로 할당하지 않고, 콜드 블록과 교체하게 한다. 이렇듯 핫 블록과 콜드 블록과의 교체 시기는 빈 블록을 할당하게 될 때 이전 할당된 블록 다음 블록부터 할당될 빈 블록사이의 핫 블록을 감지하게 되면 도 3에서 보는 바와 같이 블록을 교체하게 된다. 도 4은 K-평준화에서 블록을 교체할 때의 플로우챠트도이다.
도 4을 참조하면 도 1의 단계(50)에서 블록의 교체에 대한 요구하면 도 3에서 단계(31)의 블록의 교체를 시작하게 된다. 그러면 단계(32)에서 콜드 블록이 콜드 블록 큐에 있는지 확인하게 된다. 만약 콜드 블록이 없으면 단계(33)에서 콜드 블록 큐에 콜드 블록을 찾아 삽입하게 된다.
이 후 단계(34)에서 콜드 블록의 내용을 핫 블록으로 복사하게 된다. 그리고 단계(35)에서 콜드 블록과 핫 블록에 대한 맵핑 테이블을 바꿔준다. 그런 다음 단 계(36)에서 콜드 블록을 소거한 후에 단계(37) 블록의 교체 작업을 완료하게 된다.
콜드 블록은 할당된 블록 중에서 소거 레벨이 최소인 블록으로써 소거에 대한 연산이 드문 블록(read-only)이다. 도 5에서 보는 바와 같이 콜드 블록은 콜드 블록 대기 큐에 쌓이게 되며 빈 블록을 할당하게 될때 핫 블록을 만나게 되면 콜드 블록은 선정하여(wake-up) 핫 블록과 교체되어 핫 블록의 소거 가능성이 낮아지게 한다. 도 5는 K-평준화에서 핫 블록과 교체하게 될 콜드 블록 설정에 대한 플로우챠트도이다.
도 5를 참조하면 도 4의 단계(33)의 요청으로 도 5의 단계(401)에서 콜드 블록 설정을 시작하게 된다. 단계(402)에서 이전에 선택된 콜드 블록 다음 블록부터 검색하게 되며 단계(403)에서 할당된 블록이면서 최소 레벨인지 확인하게 된다. 만약 조건에 만족한다면 단계(404)에서 콜드 블록 대기 큐가 모두 찾는지 확인하게 된다. 만약 큐에 삽입할 수 있는 경우에는 다음 단계(406)에서 콜드 블록을 큐에 삽입한다. 단계(405)에서 다음 블록을 검색하며 단계(407)에서 모든 블록을 확인하였는지 모든 블록을 검색하게 된다. 만약 큐가 모두 채워졌을 경우에는 단계(408)로 콜드 블록 설정을 완료하게 되며, 모든 블록을 검색했을 경우에 콜드 블록의 조건을 만족하지 않았을 경우에는 단계(409)로 넘어가게 된다.
본 발명의 마지막 방법은 블록에 대한 정보를 가지고 있는 물리 블록맵 테이블은 램에 기록되어 정보의 손실을 방지하기 위한 정보의 유지이다. 물리적인 블록 테이블은 블록에 대한 정확한 소거 횟수를 가지고 있지 않으므로 정보의 손실 후에는 소거 횟수 평준화를 할 수 없게 된다.
도 6를 참조하면 정보의 유지를 위해 2가지 방법을 사용하는데 물리적인 블록 테이블에 대한 정보는 정보 블록(information block)(510)에 상주시키는 방법을 이용한다. 정보 블록에는 각 블록에 대한 소거 횟수 레벨을 저장하게 된다. 두 번째 방법으로는, 각 블록은 섹터로 구성되어지며 도 6에서 보는 바와 같이 한 섹터는 데이터 영역(data area)(530)와 여유 공간(spare area)(550)으로 구분되는데 각 블록의 K 값은 그 블록의 0번째 섹터의 여유 공간(spare area)(550)에 저장한다.
이렇듯 두 가지 방법을 두는 이유는 정보의 안정성을 높이기 위한 것이며 각 블록에 대한 정보를 갱신하는 시기는 정보 블록(510)의 경우에는 전체 블록의 소거 레벨을 낮추는 과정(down-leveling)에서 갱신을 하게 되며 한 블록에만 정보를 쓰는 것을 막는다. 두 번째 각 블록의 여유 공간(550)에는 소거 연산이 수행될 경우에 소거 레벨을 기록한다. 두 경우에 대한 정보의 일관성(consistence) 문제는 두 정보 중 낮은 값을 선택하게 하여 최신 정보를 알아낸다.
플래시 메모리는 각 블록에 대해 소거 횟수의 한계를 가지고 있기 때문에 특정 블록에 대해서 소거 연산이 집중이 되면 수명이 단축하게 되므로 플래시 메모리에 대한 안정적인 사용이 어렵게 된다. 따라서 플래시 메모리에 대한 소거 횟수 평준화 방법이 필수적이며 플래시 메모리의 대용량화에 따른 전체 블록의 계산 비용을 최소화하고 소거 횟수에 대한 정보를 적은 공간을 이용하여 관리하는 방법이 필요하다.
본 발명은 전체 블록에 대한 소거 횟수 정보에 레벨을 두어 공간을 적게 차 지하며 제한된 기간 내에 교체 작업을 수행하여 교체 작업에 대한 비용을 최소화하며 효과적인 소거 횟수 평준화 기능을 제공한다.

Claims (5)

  1. 플래시 메모리의 각 블록의 소거 횟수 평준화 방법에 있어서,
    (a) 소거 횟수 평준화를 위한 공평한 빈 블록의 할당 단계와;
    (b) 블록에 대한 소거 횟수를 두는 대신 소거 횟수에 대한 레벨 설정 단계와;
    (c) 소거 횟수 레벨에 따라서 소거 횟수 레벨이 높은 블록과 낮은 블록의 교체 단계와; 그리고
    (d) 소거 횟수 레벨에 대한 정보 유지 단계를 포함하는 것을 특징으로 하는 플래시 메모리의 소거 횟수 평준화 방법
  2. 제 1 항에 있어서, 상기 단계 (a)는 :
    공평한 빈 블록의 할당을 위해 순차적으로 할당하는 방법을 사용하여 물리 블록 맵 테이블을 참고하는 소거 횟수 레벨에 따른 빈 블록 할당하는 단계;
    물리 블록에 대한 정보를 가지고 있는 물리 블록 맵 테이블이 해당 블록의 상태와 소거 횟수 레벨의 비트 값을 이용하는 단계;
  3. 제 1 항에 있어서, 상기 단계 (b)는 :
    전체 블록이 어떤 동일한 레벨 이상이 되면 전체 소거 횟수 레벨을 낮추어 최대 레벨로 상승하는 것을 막는 방법(down-leveling);
  4. 제 1 항에 있어서, 상기 단계 (c)는 :
    상기 (a) 단계에서의 블록의 교체 시 블록의 레벨이 최대이면서 빈 블록인 핫 블록과 최소 레벨이면서 할당된 블록인 콜드 블록의 교체하는 방법;
    블록의 교체 시 핫 블록과 교체되는 콜드 블록을 설정하는 방법;
  5. 제 1 항에 있어서, 상기 단계 (d)는 :
    정보 블록을 사용하여 각 블록에 대한 소거 횟수 레벨을 저장하는 방법과 각 블록의 0번째 섹터에 해당 블록에 대한 소거 횟수 레벨을 저장하는 방법;
    정보의 유지를 위한 2가지 방법으로 일어나는 정보의 일관성 문제를 해결하는 방법;
KR1020050056716A 2005-06-29 2005-06-29 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) KR100624973B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050056716A KR100624973B1 (ko) 2005-06-29 2005-06-29 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050056716A KR100624973B1 (ko) 2005-06-29 2005-06-29 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)

Publications (2)

Publication Number Publication Date
KR20050079991A KR20050079991A (ko) 2005-08-11
KR100624973B1 true KR100624973B1 (ko) 2006-09-15

Family

ID=37266828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056716A KR100624973B1 (ko) 2005-06-29 2005-06-29 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)

Country Status (1)

Country Link
KR (1) KR100624973B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848315B1 (ko) * 2005-12-08 2008-07-24 한국전자통신연구원 이중 저널링을 이용한 데이터 저장 공간 확보 방법
KR100881669B1 (ko) 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
KR101413736B1 (ko) 2007-09-13 2014-07-02 삼성전자주식회사 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법
KR100885026B1 (ko) * 2007-09-28 2009-02-25 주식회사 휴원 플래시 메모리의 마모도 평준화 방법
KR101454817B1 (ko) 2008-01-11 2014-10-30 삼성전자주식회사 반도체 메모리 장치 및 그것의 마모도 관리 방법
KR20100045292A (ko) * 2008-10-23 2010-05-03 주식회사 셀픽 메모리 성능이 개선된 차량용 블랙박스 장치
KR20180065075A (ko) 2016-12-06 2018-06-18 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법

Also Published As

Publication number Publication date
KR20050079991A (ko) 2005-08-11

Similar Documents

Publication Publication Date Title
US7224604B2 (en) Method of achieving wear leveling in flash memory using relative grades
KR100526190B1 (ko) 플래시 메모리의 재사상 방법
CN103562842B (zh) 用于存储设备的用低预留空间实现低写入放大的方法
US9021231B2 (en) Storage control system with write amplification control mechanism and method of operation thereof
KR100881669B1 (ko) 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101437123B1 (ko) 메모리 시스템 및 그것의 마모도 관리 방법
KR100624973B1 (ko) 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US20030229753A1 (en) Flash memory file system
EP2096546B1 (en) Write once recording device
JP2005242897A (ja) フラッシュディスク装置
US20100306447A1 (en) Data updating and recovering methods for a non-volatile memory array
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
JP2012128545A (ja) メモリコントローラ、及びデータ記録装置
JP2009205689A (ja) フラッシュディスク装置
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
US10684785B2 (en) Storage system
CN116540950B (zh) 一种存储器件及其写入数据的控制方法
JP5687649B2 (ja) 半導体記憶装置の制御方法
KR100780963B1 (ko) 메모리 카드 및 메모리 카드의 구동 방법
KR100638638B1 (ko) 플래시 메모리의 제어 방법
JP2014225196A (ja) 半導体記憶装置およびその制御方法
TWI416525B (zh) 非揮發性記憶體裝置及其損耗平均方法
KR100885026B1 (ko) 플래시 메모리의 마모도 평준화 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee