KR101077901B1 - 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 - Google Patents

로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 Download PDF

Info

Publication number
KR101077901B1
KR101077901B1 KR1020100067064A KR20100067064A KR101077901B1 KR 101077901 B1 KR101077901 B1 KR 101077901B1 KR 1020100067064 A KR1020100067064 A KR 1020100067064A KR 20100067064 A KR20100067064 A KR 20100067064A KR 101077901 B1 KR101077901 B1 KR 101077901B1
Authority
KR
South Korea
Prior art keywords
block
mapping information
blocks
log
recorded
Prior art date
Application number
KR1020100067064A
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 KR1020100067064A priority Critical patent/KR101077901B1/ko
Priority to PCT/KR2011/005101 priority patent/WO2012008731A2/ko
Application granted granted Critical
Publication of KR101077901B1 publication Critical patent/KR101077901B1/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
    • 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)

Abstract

로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법이 개시된다. 매핑 정보 생성부는 블록에 설정된 예비 영역에 기록될 매핑 정보를 생성한다. 매핑 정보 기록부는 블록에 대한 쓰기 동작이 수행될 때 로그 블록의 예비 영역에 매핑 정보를 기록한다. 매핑 정보 복원부는 정전 발생시 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원한다. 본 발명에 따르면, 매핑 정보의 기록을 위한 추가적인 쓰기 동작을 제거할 수 있으며, 정전 복구를 위한 비용을 대폭 감소시킬 수 있어 전체적인 플래시 메모리의 성능을 향상시킬 수 있다.

Description

로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법{Apparatus and method for managing flash memory using log block level mapping algorithm}
본 발명은 플래시 메모리 관리 장치 및 방법에 관한 것으로, 보다 상세하게는 로그 블록 단위의 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법에 관한 것이다.
NAND 플래시 메모리(flash memory)는 임베디드, 대용량 저장장치 시장에서 저전력, 내충격성(shock resistance), 빠른 랜덤 읽기(random read) 등의 장점으로 인해 널리 사용되고 있다. 그러나 기존의 플래시 메모리 장치는 플래시 메모리가 지닌 고유한 물리적 특성에 의해 최대 성능을 가진 장치를 구현하지 못하고 있는 실정이다. 플래시 메모리가 가진 고유한 물리적 특징은 다음과 같다. 쓰기(write)를 수행하기 위해서는 소거(erase)가 선행되어야 하고, 읽기/쓰기(read/write)는 페이지(page) 단위로 수행되는 반면에 소거(erase)는 블록(block) 단위로 수행되며, 읽기(read)와 쓰기(write)에 소모되는 시간이 상이하다.
이와 같은 플래시 메모리가 지닌 특징에 기인한 단점을 극복하기 위해 기존에는 플래시 변환 층(Flash Translation Layer : FTL)을 사용하고 있다. FTL의 가장 큰 역할은 주소 변환(address translation)과 불필요한 정보의 수집(garbage collection)이다. 호스트는 논리적 주소(Logical Address)를 기초로 섹터(sector) 단위로 읽기/쓰기 요청을 하므로, 실제 데이터가 기록되고 읽혀질 주소는 물리적 주소(Physical Address)로 변환되어야 한다. FTL은 이러한 논리적 주소와 물리적 주소의 관계를 정의한 매핑(mapping) 정보를 관리하며, 이러한 FTL의 동작을 주소 변환(address translation)이라고 한다. 한편 불필요한 정보의 수집은 적절한 블록을 삭제하여 빈 공간을 확보하는 작업을 의미한다. 플래시 메모리는 소거가 느리기 때문에 호스트의 관점에서 데이터를 삭제하더라도 내부적으로 매핑 정보가 사라진 것일 뿐, 실제 데이터가 삭제된 상태는 아니다. 따라서 플래시 메모리를 지속적으로 사용하다 보면 호스트의 입장에서는 빈 공간이 존재하나 플래시 메모리 칩 내부에는 사용할 수 있는 공간이 없는 상태가 된다. 이때 FTL이 불필요한 정보의 수집 기능을 수행하여 데이터를 삭제함으로써 빈 공간을 확보하게 된다.
한편 사용자가 플래시 메모리를 사용하다 보면 정상적으로 종료할 수도 있으나 갑작스럽게 전원 공급이 중단될 수도 있다. 이러한 상태를 정전(power failure)이라 한다. 정전에 대응하여 플래시 메모리의 복구 방법이 구현되어 있지 않다면 정전 발생 직전에 변경된 데이터가 사라질 수 있으며, 나아가 전체 데이터를 복구할 수 없는 경우가 발생할 수도 있다. 이를 방지하기 위해서 로그 블록 기반 FTL의 경우에 물리적 블록 중에서 일정한 영역을 맵 블록으로 할당하여 매핑 정보가 변경될 때마다 이를 맵 블록에 저장함으로써 정전 복구를 보장하고 있다. 그러나 이와 같은 방법으로 정전 복구를 보장하는 방법은 매핑 정보의 변경시마다 이를 플래시 메모리에 저장하기 때문에 플래시 메모리의 성능 저하의 원인으로 작용한다.
이와 관련하여 기존의 로그 블록 기반 FTL의 맵 블록에는 데이터 블록의 물리적 블록 번호(Physical Block Number : PBN)와 논리적 블록 번호(Logical Block Number : LBN) 사이의 매핑 정보가 기록되어 있는 데이터 블록 맵 테이블(data block map table)과 사용 중인 로그 블록의 위치를 알 수 있는 로그 블록 맵 테이블(log block map table)이 기록되어 있다. FTL에서 쓰기나 불필요한 데이터 수집을 수행하게 되면 LBN과 PBN의 매핑 관계가 변경되며, 이때 정전 복구를 보장하기 위해서는 임의의 순간에서의 전체 맵 테이블을 복원할 수 있어야 한다. 이를 위해 기존에는 매핑 관계가 바뀔 때마다 맵 블록에 쓰기를 수행하여 변경된 정보를 기록하는 방법을 취하고 있다.
간단한 예를 한 가지 들면, 페이지의 쓰기 동작을 수행하고자 하는 경우에 먼저 로그 블록 하나를 할당받고, 그곳에 데이터를 채운다. 이후 동작에서 합병(merge)을 수행하면 해당 로그 블록은 데이터 블록으로 변경된다. 이때 매핑 정보의 관점에서는 로그 블록을 새로 할당받을 때 매핑 정보가 한 번 바뀌고, 합병 이후에 데이터 블록으로 바뀌면서 매핑 정보가 한 번 더 바뀌게 된다. 따라서 기존의 로그 블록 기반 FTL은 간단한 쓰기를 실행함에 있어서 매핑 정보 관리를 위해 최소 두 번의 쓰기 동작이 필요하다.
이상에서 설명한 바와 같이 기존 방식과 같이 맵 블록에 쓰기 동작을 수행함으로써 변경되는 매핑 정보를 기록하는 방법은 쓰기나 불필요한 데이터 수집이 발생할 때마다 요청된 동작 이외에 맵 블록에 대한 추가적인 쓰기가 필요함을 의미한다. 이 과정에서 플래시 메모리의 특성상 쓰기 동작의 수행시간이 오래 소요되며, 나아가 맵 블록으로 지정된 공간을 다 소모하게 되면 맵 블록 내에서도 공간을 확보하기 위한 맵 블록 재구성 동작이 필요하게 된다. 맵 블록 재구성은 기존에 사용하던 맵 블록을 삭제하고, DRAM에 존재하는 맵 테이블을 새로 할당된 맵 블록에 저장하는 동작이다. 이와 같은 추가적인 동작은 플래시 메모리가 동작하면서 매우 빈번하게 발생하기 때문에 정전 복구를 위해 소모되는 비용이 커져 전체적 성능 하락을 초래하게 되는 문제가 있다.
본 발명이 해결하고자 하는 기술적 과제는, 정전 복구를 위해 매핑 정보를 기록하기 위한 추가적인 쓰기 동작을 제거하여 플래시 메모리의 전체적인 성능을 향상시킬 수 있는 플래시 메모리 관리 장치 및 방법을 제공하는 데 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 정전 복구를 위해 매핑 정보를 기록하기 위한 추가적인 쓰기 동작을 제거하여 플래시 메모리의 전체적인 성능을 향상시킬 수 있는 플래시 메모리 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 플래시 메모리 관리 장치는, 블록을 구성하는 페이지에 설정된 예비 영역에 기록될 매핑 정보를 생성하는 매핑 정보 생성부; 상기 블록에 대한 쓰기 동작이 수행될 때 상기 블록에 설정된 예비 영역에 상기 블록에 대응하여 생성된 매핑 정보를 기록하는 매핑 정보 기록부; 및 정전 발생시 상기 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원하는 매핑 정보 복원부;를 구비한다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 플래시 메모리 관리 방법은, 블록을 구성하는 페이지에 설정된 예비 영역에 기록될 매핑 정보를 생성하는 매핑 정보 생성 단계; 상기 블록에 대한 쓰기 동작이 수행될 때 상기 블록의 예비 영역에 상기 블록에 대응하여 생성된 매핑 정보를 기록하는 매핑 정보 기록 단계; 및 정전 발생시 상기 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원하는 매핑 정보 복원 단계;를 갖는다.
본 발명에 따른 플래시 메모리 관리 장치 및 방법에 의하면, 할당된 로그 블록에 대한 쓰기 동작을 수행할 때 예비 영역(spare region)에 정전 복구 과정에서 필요한 데이터를 기록함으로써 매핑 정보의 기록을 위한 추가적인 쓰기 동작을 제거할 수 있다. 또한 맵 블록의 빈 공간을 모두 소모하였을 때 합병 과정을 수행할 필요가 없게 된다. 따라서 정전 복구를 위한 비용을 대폭 감소시킬 수 있어 전체적인 플래시 메모리의 성능을 향상시킬 수 있다.
도 1은 본 발명에 따른 플래시 메모리 관리 장치에 대한 바람직한 실시예의 구성을 도시한 도면,
도 2a는 할당되었던 로그 블록의 모든 페이지에 순차적으로 데이터가 저장되어 로그 블록의 LBN이 데이터 블록으로 변경되는 경우를 도시한 도면,
도 2b는 할당되었던 로그 블록으로 유효 페이지 복사가 발생하여 로그 블록이 데이터 블록으로 변경되는 경우를 도시한 도면,
도 2c는 새로운 빈 블록이 로그 블록으로 할당된 후 해당 블록에 데이터가 복사된 후 데이터 블록으로 변경되는 경우를 도시한 도면,
도 3은 블록의 예비 영역에 대한 매핑 정보의 기록 방법을 도시한 도면, 그리고,
도 4는 본 발명에 따른 플래시 메모리 관리 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 플래시 메모리 관리 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 플래시 메모리 관리 장치에 대한 바람직한 실시예의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 플래시 메모리 관리 장치(100)는 매핑 정보 생성부(110), 매핑 정보 기록부(120) 및 매핑 정보 복원부(130)를 구비한다.
매핑 정보 생성부(110)는 블록의 첫 페이지에 설정된 예비 영역에 기록될 매핑 정보를 생성한다. 이때 매핑 정보는 블록을 구성하는 페이지 중에서 임의의 페이지에 설정된 예비 영역에 기록될 수 있다. 이 경우 매핑 정보 복원부(130)는 정전 복구시 매핑 정보가 기록되어 있는 페이지를 사전에 알고 있어야 하며, 만약 이를 모르고 있다면 각 페이지의 예비 영역에 기록된 정보를 독출하여 매핑 정보가 기록된 페이지를 찾아낸다. 로그 블록은 겹쳐 쓰기를 위한 일종의 캐시 블록으로 한번 쓰기를 수행하면 삭제를 하기 전까지 다시 사용할 수 없는 낸드 플래시 메모리의 물리적 특성을 극복하기 위해 사용된다. 매핑 정보는 쓰기 경력 필드, 블록 종류 필드, 논리적 블록 번호 필드 및 카운터 필드로 구성된다.
쓰기 경력 필드에는 해당 블록에 데이터의 쓰기가 이루어졌는지 여부를 나타내는 값이 기록된다. 플래시 메모리는 각각의 블록이 소거된 상태(즉, 빈 공간만으로 이루어져 있는 상태)로 남아 있는 경우에는 해당 블록의 값이 '1'로 유지된다. 따라서 할당받은 블록에 대해 데이터의 쓰기 동작이 수행되지 않은 상태일 때에는 쓰기 경력 필드의 값은 '1'로 유지되고, 데이터의 쓰기 동작이 수행된 상태일 때에는 쓰기 경력 필드의 값이 '0'으로 유지된다. 이와 같이 쓰기 경력 필드에는 '0' 또는 '1'이 기록되므로, 1 비트만 할당되면 된다.
다음으로 블록 종류 필드에는 블록의 종류에 대한 정보가 기록된다. 블록의 종류는 'U', 'N' 및 'D'라는 문자로 표현되거나 '00', '01' 및 '10'과 같이 이진수로 표현될 수 있다. 만약 블록의 종류를 문자로 표현하면 블록 종류 필드로 1 바이트가 할당되어야 하며, 이진수로 표현하면 2 비트만 할당되면 된다. 이와 같은 블록 종류 필드에 기록되는 값 중에서 'U' 또는 '01'은 첫 번째 페이지에 쓰기가 가능함을 의미하고, 'N' 또는 '00'은 첫 번째 페이지에 쓰기가 불가능함을 의미한다. 그리고 'D' 또는 '10'은 데이터 블록으로 현재 블록이 사용되고 있음을 의미한다. 블록 종류 필드가 필요한 이유는 로그 블록이 합병을 거쳐 데이터 블록으로 변경될 때 두 가지 경우가 존재하기 때문이다. 먼저, 도 2a 및 도 2b에 도시된 바와 같이 할당되었던 로그 블록이 데이터 블록으로 변경되는 경우이다. 이 경우에 플래시 메모리는 기본적으로 겹쳐 쓰기가 불가능하기 때문에 로그 블록의 변경에 의해 생성되는 데이터 블록의 첫 페이지에 쓰기 동작이 수행될 수 없다. 따라서 블록 종류 필드에는 첫 번째 페이지에 쓰기 동작이 가능하지 않음을 나타내는 'N' 또는 '00'이 기록된다. 다음으로, 도 2c에 도시된 바와 같이 새로운 빈 블록이 로그 블록으로 할당된 후 해당 블록에 데이터가 복사된 후 데이터 블록으로 변경되는 경우이다. 먼저 할당되었던 로그 블록의 블록 종류 필드에는 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 'U' 또는 '01'이 기록되고, 새롭게 할당된 로그 블록은 데이터 블록이 될 것이기 때문에 블록 종류 필드에는 'D' 또는 '10'이 기록된다.
다음으로 논리적 블록 번호 필드에는 해당 블록의 물리적 블록 번호(Physical Block Number : PBN)에 대응되는 논리적 블록 번호(Logical Block Number : LBN)가 기록된다. 로그 블록 단위 매핑 기법은 블록 단위의 맵 테이블을 사용하기 때문에 이용하는 하나의 블록마다 LBN이 기록되어야 한다. 또한 카운터 필드에는 블록의 할당 순서를 나타내는 순서값이 기록된다. 이러한 순서값의 크기는 2 기가바이트 플래시 메모리의 경우, 블록의 수가 4,096개이며, P/E(Program/Erase) 사이클이 10,000이기 때문에 4 바이트면 오버플로가 발생하지 않고 할당 순서를 나타내는데 충분하다.
카운터 필드에 기록되는 순서값은 블록이 할당될 때마다 1씩 증가한다. 이러한 순서값은 블록 종류 필드에 기록되어 있는 값에 따라 상이한 의미를 갖는다. 블록 종류 필드에 'N' 또는 '00'이 기록되어 있는 블록의 경우에는 'N' 로그 블록의 최대 할당 개수가 n개라면, 각 LBN마다 최대 순서값이 기록되어 있는 블록 중에서 큰 순서값을 가진 n개 블록만 유효한 로그 블록이다. 그리고 최대 순서값보다 작은 블록은 합병을 통해 데이터 블록으로 변경된 것으로, 데이터 블록 맵 테이블에 대한 갱신이 필요하다. 이와 달리 블록 종류 필드에 'U' 또는 '01'이 기록되어 있는 블록의 경우에는 'U' 로그 블록의 최대 할당 개수가 m개라면, LBN에 상관없이 최대 순서값을 가진 블록에서부터 m번째 큰 값을 가진 블록까지 유효한 로그 블록이고 그보다 작은 순서값을 가진 블록은 사용되지 않는 블록이다.
만약 로그 블록과 데이터 블록의 합병 도중에 정전이 발생하였다면 새로운 데이터 블록이 생성되다 멈추게 된다. 이런 경우 LBN에 대한 순서값은 최대인 블록이지만 모든 페이지의 내용이 정상적으로 기록된 상태는 아니게 된다. 이를 확인하기 위해서 복구 과정 중에 다음의 과정이 필요하다. 먼저, 합병이 이루어 지던 로그 블록과 데이터 블록을 찾는다. 이것은 같은 LBN을 지닌 로그 블록 중 순서값이 가장 큰 블록과 데이터 블록 중에서 순서값이 두 번째로 큰 블록을 찾으면 된다. 합병 연산이 정상적으로 끝났는지의 확인은 이 두 블록의 데이터를 합병하였을 때 최대 순서값을 지닌 블록의 데이터와 동일한지 확인하면 된다.
매핑 정보 기록부(120)는 새로 할당받은 블록에 대한 쓰기 동작이 수행될 때 블록의 첫 페이지의 예비 영역에 매핑 정보 생성부(110)에 의해 생성된 매핑 정보를 기록한다. 표 1에는 2 기가바이트의 멀티 레벨 셀 플래시 메모리의 블록과 페이지의 구조가 기재되어 있다.
구분
칩 내의 블록 개수 4096 개
블록 내의 페이지 개수 128 개
데이터 페이지 크기 4 Kbytes
페이지 내의 예비 영역의 크기 128 bytes
도 3에는 로그 블록의 예비 영역에 대한 매핑 정보의 기록 방법이 도시되어 있다. 도 3을 참조하면, 매핑 정보 기록부(120)는 블록의 첫 번째 페이지의 예비 영역의 일부에 쓰기 경력 필드, 블록 종류 필드, 논리적 블록 번호 필드 및 카운터 필드로 구성된 매핑 정보를 기록한다. 종래의 정전 복구 기법은 새로운 로그 블록을 할당받을 때 맵 테이블에 대한 갱신이 발생하여 맵 블록에 1번의 페이지 쓰기 동작이 발생한다. 그리고 서로 다른 데이터 블록에 10번의 페이지의 쓰기 동작이 요청된 경우에 합병의 수행에 의해 10번의 맵 테이블에 대한 갱신이 발생하며, 맵 블록에 대해서는 이러한 정보들이 한 페이지 안에 포함되어 1번의 페이지 쓰기 동작이 발생한다. 이와 달리 본 발명에서는 서로 다른 블록에 10번의 페이지의 쓰기 동작이 요청된 경우에도 매핑 정보 기록부(120)가 매핑 정보를 로그 블록의 첫 페이지의 예비 영역에 기록할 뿐 맵 블록에 기록되어 있는 맵 테이블에 대한 갱신 동작은 수행하지 않으므로, 맵 블록에 대한 추가적인 쓰기 동작을 수행하지 않게 된다.
매핑 정보 복원부(130)는 정전 발생시 로그 블록의 첫 페이지의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원한다. 정전 발생시 데이터를 복원하기 위해서는 데이터 블록에 대한 맵 테이블과 정전이 발생하기 직전에 로그 블록으로 사용했던 블록에 대한 맵 테이블이 필요하다. 정전 발생시 종래의 정전 복구 기법은 계속적으로 변하는 LBN과 PBN의 매핑 관계가 맵 블록에 누적되어 기록되어 있기 때문에 이것만 읽으면 데이터 블록과 로그 블록 모두 복원이 가능하다. 이와 달리 본 발명은 시스템 부팅 이후 변화된 매핑 관계가 맵 블록에 기록되어 있지 않기 때문에 새로운 방법이 요구된다. 본 발명에서 맵 블록에 저장되어 있는 맵 테이블의 갱신은 평상시의 주기적인 플러쉬(flush) 신호에 대해서는 맵 블록의 맵 테이블을 갱신하지 않고 시스템 종료에 의한 플러쉬 신호에 대해서만 맵 테이블을 갱신한다. 매핑 정보 복원부(130)는 맵 테이블 복원을 위해 모든 블록의 첫 번째 페이지의 예비 영역에 기록되어 있는 매핑 정보를 읽는다. 이때 매핑 정보 복원부(130)는 각각의 블록의 첫 번째 페이지의 예비 영역에 기록되어 있는 매핑 정보에 따라 해당 블록을 데이터 블록, 로그 블록 및 사용하지 않는 블록 중에서 해당하는 종류를 판단하여 맵 테이블에 반영한다. 만약 블록 종류 필드에 'U' 또는 '1'이 기록되어 있는 로그 블록이 다수 존재하면, 매핑 정보 복원부(130)는 최대의 순서값을 가진 로그 블록부터 블록 종류 필드에 'U' 또는 '01'이 기록될 수 있는 최대 유효 블록의 개수만큼 유효한 로그 블록으로 판단한다. 이때 최대의 순서값을 가진 블록이 시스템이 정전 전에 사용하던 최신 로그 블록이다. 이와 달리 블록 종류 필드에 'N' 또는 '00'이 기록되어 있는 로그 블록이 다수 존재하면, 매핑 정보 복원부(130)는 각각의 LBN에 대하여 최대의 순서값을 가진 블록 중 최대 유효 블록의 개수만큼 유효한 로그 블록으로 판단한다. 이때 최대의 순서값보다 작은 순서값을 가진 블록들은 이미 데이터 블록으로 변경된 블록이므로, 이들 데이터 블록에 대한 맵 테이블의 갱신이 필요하다.
한편 합병 중에 정전이 발생하였을 경우를 판단하기 위해서 유효한 데이터 블록에 대한 검사가 필요하다. 이 검사는 같은 LBN을 가진 데이터 블록 중 순서값이 두 번째로 큰 블록과 같은 LBN을 가진 순서값이 가장 큰 로그 블록의 데이터를 비교하여 이루어진다.
도 4는 본 발명에 따른 플래시 메모리 관리 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.
도 4를 참조하면, 매핑 정보 생성부(110)는 할당받은 블록의 첫 페이지에 설정된 예비 영역에 기록될 쓰기 경력 필드, 블록 종류 필드, 논리적 블록 번호 필드 및 카운터 필드로 구성된 매핑 정보를 생성한다(S400). 다음으로 매핑 정보 기록부(120)는 새로 할당받은 블록에 대한 쓰기 동작이 수행될 때 블록의 첫 페이지의 예비 영역에 매핑 정보 생성부(110)가 생성한 매핑 정보를 기록한다(S405). 이와 같이 블록의 첫 페이지의 예비 영역에 매핑 정보가 기록된 상태에서 정전이 발생하면(S410), 매핑 정보 복원부(130)는 각각의 블록에 대해 순차적으로 블록의 첫 번째 페이지의 예비 영역에 기록되어 있는 매핑 정보를 독출한다(S415). 그리고 매핑 정보 복원부(130)는 독출한 매핑 정보의 쓰기 경력 필드의 값을 확인한다(S420). 만약 쓰기 경력 필드의 값이 '0'이면(즉, 쓰기 동작이 수행된 상태이면), 매핑 정보 복원부(130)는 해당 블록이 로그 블록인지 데이터 블록인지를 판단한다(S425). 만약 해당 블록이 로그 블록이면, 매핑 정보 복원부(130)는 블록 종류 필드에 기록되어 있는 값을 확인한다(S430). 이때 블록 종류 필드에 기록되어 있는 값이 'U'이면, 매핑 정보 복원부(130)는 카운터 필드에 기록되어 있는 순서값이 블록에 할당된 최대 순서값에서 유효 블록의 개수를 감한 수와 블록에 할당된 최대 순서값 사이에 존재하는지 여부를 확인한다(S435). 만약 해당 블록의 순서값이 S435 단계의 조건을 만족하면, 매핑 정보 복원부(130)는 해당 블록을 유효한 로그 블록으로 판단하고 로그 블록의 맵 테이블을 갱신한다(S440). 이와 달리 해당 블록의 순서값이 S435 단계의 조건을 만족하지 않으면, 매핑 정보 복원부(130)는 해당 블록을 무시한다(S445). 따라서 'U'로 표시될 수 있는 블록의 수가 a개라면, 블록의 종류에 상관없이 순서값이 기록되어 있는 블록 중에서 최대의 순서값을 갖는 블록으로부터 a번째 큰 순서값이 기록되어 있는 블록까지 유효한 로그 블록으로 판단된다.
다음으로 로그 블록으로 판단된 블록의 블록 종류 필드에 기록되어 있는 값이 'N'이면, 매핑 정보 복원부(130)는 카운터 필드에 기록되어 있는 순서값이 가장 큰지 여부를 확인한다(S450). 만약 해당 블록의 순서값이 S450 단계의 조건을 만족하면, 매핑 정보 복원부(130)는 해당 블록을 유효한 로그 블록으로 판단하고 S440 단계를 수행하여 로그 블록의 맵 테이블을 갱신한다. 한편 상이한 블록들이 동일한 LBN을 가지는 경우가 존재한다. 이 경우 동일한 LBN을 가진 블록들 중에서 순서값이 가장 큰 블록을 유효한 로그 블록으로 판단한다. 이와 달리 해당 블록의 순서값이 S450 단계의 조건을 만족하지 않으면, 매핑 정보 복원부(130)는 해당 블록을 데이터 블록으로 판단하고 데이터 블록의 맵 테이블을 갱신한다(S455).
한편 S425 단계에서 해당 블록이 데이터 블록으로 판단되면, 매핑 정보 복원부(130)는 카운터 필드에 기록되어 있는 순서값이 가장 큰지 여부를 확인한다(S460). 만약 해당 블록의 순서값이 S460 단계의 조건을 만족하면, 매핑 정보 복원부(130)는 해당 블록을 유효한 데이터 블록으로 판단하고 S455 단계를 수행하여 데이터 블록의 맵 테이블을 갱신한다. 이와 달리 해당 블록의 순서값이 S460 단계의 조건을 만족하지 않으면, 매핑 정보 복원부(130)는 해당 블록을 무시한다. 또한 매핑 정보 복원부(130)는 S420 단계에서 쓰기 경력 필드의 값이 '1'로 확인되거나, S440 단계를 수행하여 로그 블록 맵 테이블을 갱신하거나, 블록을 무시하거나, S455 단계를 수행하여 데이터 블록 맵 테이블을 갱신한 후에 해당 블록이 마지막 블록인지 확인한다(S465). 만약 해당 블록이 마지막 블록이면 매핑 정보 복원부(130)는 매핑 정보의 복원 절차를 종료하고, 해당 블록이 마지막 블록이 아니면 매핑 정보 복원부(130)는 다음 블록에 대해 S420 단계 내지 S465 단계를 수행한다.
한편 FTL에서 합병을 수행하던 중 정전이 발생할 수 있으므로, 이에 대한 검사가 필요하다. 이 검사는 동일한 LBN을 가진 데이터 블록 중 순서값이 두 번째로 큰 블록과 같은 LBN을 가진 순서값이 가장 큰 로그 블록의 데이터를 비교하여 수행된다.
상술한 바와 같은 본 발명에 따른 플래시 메모리 관리 장치 및 방법은 논리적 블록 번호와 물리적 블록 번호의 관계가 정의된 매핑 정보를 기록하기 위한 추가적인 쓰기 동작을 제거하며, 맵 블록을 관리하기 위해 사용되는 메타 블록의 쓰기도 줄일 수 있으므로, 플래시 메모리의 전체적 성능을 향상시킨다. 종래기술에서는 변경되는 매핑 정보를 맵 블록에 저장을 하기 때문에 추가적인 쓰기 동작이 불가피하다. 이와 같은 매핑 정보의 변경은 데이터를 합병하는 과정에서 발생하며, 합병 동작은 기존에 사용 중이던 로그 블록의 공간이 모두 소모된 상태에서 새로운 쓰기 동작을 수행해야 할 때 발생한다. 본 발명에 따른 플래시 메모리 관리 장치 및 방법은 새로운 로그 블록이 할당될 때 첫 페이지의 예비 영역에 매핑 관계를 복구할 수 있는 정보를 기록하여 종래기술에서 발생하는 문제를 제거할 수 있다.
한편 본 발명에 따른 플래시 메모리 관리 장치 및 방법에 의한 정전 복구기법은 모든 블록의 첫 번째 페이지를 읽어야 하므로 종래의 기법에 비해 추가적인 시간이 소모된다. 이때 필요한 시간은 2 기가바이트당 1초 미만의 시간이 소모되며, 만약 멀티 채널(Multi-Channel), 멀티 웨이(Multi-Way)로 저장장치가 구현되어 있다면, 플래시 메모리가 늘어나도 복구 시간이 비례하여 늘어나지 않는다. 또한 정전 복구 동작은 평상시에 일어나는 동작이 아니므로 이 동작에서 소모되는 시간이 다소 증가하더라도 일반적인 상황에서 맵 블록의 갱신을 위한 쓰기 동작을 제거할 수 있으므로 전체적인 플래시 메모리의 성능이 향상되는 이점이 있다.
또한 기존의 정전 복구 기법은 맵 블록의 모든 공간이 소모되어 새로운 블록이 할당되는 경우에, 맵 블록을 나타내는 LBN에 대응하는 PBN이 바뀌게 된다. 이와 같은 변화를 알기 위해서는 맵 블록의 메타(meta) 정보를 기록하는 블록이 필요하며, 이를 체크포인트 블록(checkpoint block)이라 한다. 그리고 이러한 블록의 물리적 위치를 가리키는 블록으로 PBN 0번에 고정되어 사용되는 시스템 블록(system block)이 존재한다. 기존의 정전 복구 기법은 이러한 블록들이 가리키고 있는 PBN 정보를 갱신하기 위한 쓰기 동작이 필요하지만, 본 발명에 따른 플래시 메모리 관리 장치 및 방법은 메타 블록들의 업데이트 동작이 필요 없다는 이점이 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.

Claims (15)

  1. 블록을 구성하는 페이지에 설정된 예비 영역에 기록될 매핑 정보를 생성하는 매핑 정보 생성부; 및
    상기 블록에 대한 쓰기 동작이 수행될 때 상기 블록에 설정된 예비 영역에 상기 블록에 대응하여 생성된 상기 매핑 정보를 기록하는 매핑 정보 기록부; 및
    정전 발생시 상기 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원하는 매핑 정보 복원부;를 포함하는 것을 특징으로 하는 플래시 메모리 관리 장치.
  2. 제 1항에 있어서,
    상기 매핑 정보는 상기 블록에 데이터의 쓰기가 이루어졌는지 여부를 나타내는 값이 기록되는 쓰기 경력 필드, 상기 블록의 종류에 대한 정보가 기록되는 블록 종류 필드, 상기 블록의 물리적 블록 번호에 대응되는 논리적 블록 번호가 기록되는 논리적 블록 번호 필드 및 상기 블록의 할당 순서를 나타내는 순서값이 기록되는 카운터 필드로 구성되는 것을 특징으로 하는 플래시 메모리 관리 장치.
  3. 삭제
  4. 제 1항에 있어서,
    상기 매핑 정보 복원부는 상기 플래시 메모리의 모든 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 각각의 블록을 데이터 블록, 로그 블록 및 사용하지 않는 블록 중 하나의 블록으로 구분한 후 상기 맵 테이블에 반영하는 것을 특징으로 하는 플래시 메모리 관리 장치.
  5. 제 4항에 있어서,
    상기 매핑 정보는 상기 블록에 데이터의 쓰기가 이루어졌는지 여부를 나타내는 값이 기록되는 쓰기 경력 필드, 상기 블록의 종류에 대한 정보가 기록되는 블록 종류 필드, 상기 블록의 물리적 블록 번호에 대응되는 논리적 블록 번호가 기록되는 논리적 블록 번호 필드 및 상기 블록의 할당 순서를 나타내는 순서값이 기록되는 카운터 필드로 구성되는 것을 특징으로 하는 플래시 메모리 관리 장치.
  6. 제 5항에 있어서,
    상기 매핑 정보 복원부는 상기 블록이 데이터 블록인 경우에 논리 블록 번호에 대응하는 순서값이 최대이면 상기 블록에 대해 데이터 블록의 맵 테이블을 갱신하고, 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록되어 있는 경우에 상기 로그 블록의 논리 블록 번호에 상관없이 순서값이 최대에서부터 사전에 설정된 최대 블록의 개수안에 포함되지 않으면 상기 로그 블록에 대응하는 매핑 정보를 폐기하며, 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능하지 않음을 나타내는 정보가 기록되어 있는 경우에 상기 로그 블록의 논리 블록 번호에 대응하는 순서값이 최대가 아니면 상기 맵 테이블의 데이터 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 장치.
  7. 제 6항에 있어서,
    상기 매핑 정보 복원부는 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록되어 있는 로그 블록이 다수 존재하면, 최대의 순서값을 가진 로그 블록부터 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록될 수 있는 블록의 개수에 대해 사전에 설정된 최대 개수만큼의 블록을 유효한 로그 블록으로 판단하고, 유효한 로그 블록으로 판단된 블록에 대해 상기 맵 테이블의 로그 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 장치.
  8. 제 6항에 있어서,
    상기 매핑 정보 복원부는 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능하지 않음을 나타내는 정보가 기록되어 있는 로그 블록이 다수 존재하면, 각각의 논리 블록 번호에 대하여 최대의 순서값을 가진 블록들 중에서 사전에 설정된 최대 블록의 개수만큼의 블록을 유효한 로그 블록으로 판단한 후 유효한 로그 블록으로 판단된 블록에 대해 상기 맵 테이블의 로그 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 장치.
  9. 블록을 구성하는 페이지에 설정된 예비 영역에 기록될 매핑 정보를 생성하는 매핑 정보 생성 단계;
    상기 블록에 대한 쓰기 동작이 수행될 때 상기 블록의 예비 영역에 상기 블록에 대응하여 생성된 매핑 정보를 기록하는 매핑 정보 기록 단계; 및
    정전 발생시 상기 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 맵 테이블을 복원하는 매핑 정보 복원 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 관리 방법.
  10. 제 9항에 있어서,
    상기 매핑 정보 복원 단계는,
    상기 플래시 메모리의 모든 블록의 예비 영역에 기록되어 있는 매핑 정보를 기초로 각각의 블록을 데이터 블록, 로그 블록 및 사용하지 않는 블록 중 하나의 블록으로 구분한 후 상기 맵 테이블에 반영하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리 방법.
  11. 제 10항에 있어서,
    상기 매핑 정보는 상기 블록에 데이터의 쓰기가 이루어졌는지 여부를 나타내는 값이 기록되는 쓰기 경력 필드, 상기 블록의 종류에 대한 정보가 기록되는 블록 종류 필드, 상기 블록의 물리적 블록 번호에 대응되는 논리적 블록 번호가 기록되는 논리적 블록 번호 필드 및 상기 블록의 할당 순서를 나타내는 순서값이 기록되는 카운터 필드로 구성되는 것을 특징으로 하는 플래시 메모리 관리 방법.
  12. 제 11항에 있어서,
    상기 매핑 정보 복원 단계에서,
    상기 블록이 데이터 블록인 경우에 논리 블록 번호에 대응하는 순서값이 최대이면 상기 블록에 대해 데이터 블록의 맵 테이블을 갱신하고, 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록되어 있는 경우에 상기 로그 블록의 논리 블록 번호에 상관없이 순서값이 최대에서부터 사전에 설정된 최대 블록의 개수안에 포함되지 않으면 상기 로그 블록에 대응하는 매핑 정보를 폐기하며, 상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능하지 않음을 나타내는 정보가 기록되어 있는 경우에 상기 로그 블록의 논리 블록 번호에 대응하는 순서값이 최대가 아니면 상기 맵 테이블의 데이터 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 방법.
  13. 제 12항에 있어서,
    상기 매핑 정보 복원 단계에서,
    상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록되어 있는 로그 블록이 다수 존재하면, 최대의 순서값을 가진 로그 블록부터 첫 번째 페이지에 쓰기 동작이 가능함을 나타내는 정보가 기록될 수 있는 블록의 개수에 대해 사전에 설정된 최대 개수만큼의 블록을 유효한 로그 블록으로 판단하고, 유효한 로그 블록으로 판단된 블록에 대해 상기 맵 테이블의 로그 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 방법.
  14. 제 12항에 있어서,
    상기 매핑 정보 복원 단계에서,
    상기 블록 종류 필드에 첫 번째 페이지에 쓰기 동작이 가능하지 않음을 나타내는 정보가 기록되어 있는 로그 블록이 다수 존재하면, 각각의 논리 블록 번호에 대하여 최대의 순서값을 가진 블록들 중에서 사전에 설정된 최대 블록의 개수만큼의 블록을 유효한 로그 블록으로 판단한 후 유효한 로그 블록으로 판단된 블록에 대해 상기 맵 테이블의 로그 블록 맵 테이블을 갱신하는 것을 특징으로 하는 플래시 메모리 관리 방법.
  15. 제 9항 내지 제 14항 중 어느 한 항에 기재된 플래시 메모리 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020100067064A 2010-07-12 2010-07-12 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 KR101077901B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100067064A KR101077901B1 (ko) 2010-07-12 2010-07-12 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법
PCT/KR2011/005101 WO2012008731A2 (ko) 2010-07-12 2011-07-12 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100067064A KR101077901B1 (ko) 2010-07-12 2010-07-12 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101077901B1 true KR101077901B1 (ko) 2011-10-31

Family

ID=45033553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100067064A KR101077901B1 (ko) 2010-07-12 2010-07-12 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101077901B1 (ko)
WO (1) WO2012008731A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038682A (ko) * 2014-09-30 2016-04-07 한화테크윈 주식회사 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구
KR101826778B1 (ko) 2016-09-28 2018-03-22 현대오트론 주식회사 플래쉬 라이프 사이클 및 성능 개선을 고려한 eeprom 에뮬레이션 구현 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123372A1 (ko) * 2013-02-07 2014-08-14 서울대학교 산학협력단 증명 가능하고 정확한 오류 복구를 위한 플래시 변환 계층 설계 프레임워크
KR101526110B1 (ko) * 2013-02-07 2015-06-10 서울대학교산학협력단 증명 가능하고 정확한 오류 복구를 위한 플래시 변환 계층 설계 프레임워크
CN113791933B (zh) * 2021-08-04 2023-03-10 方一信息科技(上海)有限公司 一种基于block管理的异常掉电恢复方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013376B2 (en) * 2000-12-20 2006-03-14 Hewlett-Packard Development Company, L.P. Method and system for data block sparing in a solid-state storage device
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038682A (ko) * 2014-09-30 2016-04-07 한화테크윈 주식회사 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구
KR102225618B1 (ko) * 2014-09-30 2021-03-12 한화테크윈 주식회사 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구
KR101826778B1 (ko) 2016-09-28 2018-03-22 현대오트론 주식회사 플래쉬 라이프 사이클 및 성능 개선을 고려한 eeprom 에뮬레이션 구현 방법

Also Published As

Publication number Publication date
WO2012008731A3 (ko) 2012-05-03
WO2012008731A2 (ko) 2012-01-19

Similar Documents

Publication Publication Date Title
CN110678836B (zh) 用于键值存储的持久性存储器
KR101077904B1 (ko) 페이지 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법
JP5571691B2 (ja) 記憶装置におけるマッピングアドレステーブルの維持
US8219776B2 (en) Logical-to-physical address translation for solid state disks
US11782632B2 (en) Selective erasure of data in a SSD
CN108604165B (zh) 存储装置
US20120102260A1 (en) Storage apparatus and data control method
KR20070060070A (ko) 최적화된 순차적인 클러스터 관리용 에프에이티 분석
KR101017067B1 (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
KR101077901B1 (ko) 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법
US11199983B2 (en) Apparatus for obsolete mapping counting in NAND-based storage devices
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
CN112035065B (zh) 一种数据写入方法、装置、设备及计算机可读存储介质
US20210271389A1 (en) Method and apparatus for deleting index in internal memory
KR101153688B1 (ko) 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템
KR101020781B1 (ko) 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법
KR100868674B1 (ko) 플래시메모리 관리방법
CN114661238B (zh) 带缓存的存储系统空间回收的方法及应用
KR102053406B1 (ko) 데이터 저장 장치 및 그 동작 방법
CN105740171B (zh) 一种ftl数据回收时掉电保护的方法
KR101021364B1 (ko) 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치
KR101791855B1 (ko) 스토리지 장치 및 이의 공간 재수거 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
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
FPAY Annual fee payment

Payment date: 20141024

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150720

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171024

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181024

Year of fee payment: 8