KR101021364B1 - 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치 - Google Patents

완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치 Download PDF

Info

Publication number
KR101021364B1
KR101021364B1 KR1020080099740A KR20080099740A KR101021364B1 KR 101021364 B1 KR101021364 B1 KR 101021364B1 KR 1020080099740 A KR1020080099740 A KR 1020080099740A KR 20080099740 A KR20080099740 A KR 20080099740A KR 101021364 B1 KR101021364 B1 KR 101021364B1
Authority
KR
South Korea
Prior art keywords
block
log
flash memory
valid
blocks
Prior art date
Application number
KR1020080099740A
Other languages
English (en)
Other versions
KR20100040560A (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 KR1020080099740A priority Critical patent/KR101021364B1/ko
Publication of KR20100040560A publication Critical patent/KR20100040560A/ko
Application granted granted Critical
Publication of KR101021364B1 publication Critical patent/KR101021364B1/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/461Sector or disk block

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

멀티 플래시 메모리 관리 방법 및 장치를 개시한다. 멀티 플래시 메모리 관리 방법은, 멀티 플래시 메모리에 포함된 다수의 플래시 메모리에 대해 논리 주소를 스트라이핑 할당하는 단계, 상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 로그 블록 영역에 로그를 저장할 수 있는 사용 가능한 여유 공간이 존재하는지 확인하는 단계, 확인결과 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않으면, 로그 블록 최적화의 필요 여부를 확인 하는 단계, 확인 결과 상기 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log Block Invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하는 단계 및, 상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 단계를 포함한다.
플래시 변환 계층, FTL, FAST, MM-FAST

Description

완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리 방법 및 장치{MULTIPLE FLASH MEMORY MANAGEMENT METHOD AND APPARATUS FOR MERGE OPERATION REDUCTION IN A FAST ALGORITHM BASE FTL}
본 발명은 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리 방법 및 장치에 관한 것으로, 특히, 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)을 사용하는 다수의 플래시 메모리로 구성된 멀티 플래시 메모리에서 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 멀티 플래시 메모리 관리 방법 및 장치에 관한 것이다.
플래시 메모리(Flash Memory)를 저장장치로 사용하기 위해서는 순차적인 주소영역을 플래시 메모리의 구조에 적합하게 전환시켜주는 플래시 변환 계층(FTL: Flash Translation Layer)이 필요하다. 그러나 일반적인 전환 방식을 사용할 경우 쓰기, 지우기 성능이 매우 떨어지는 플래시 메모리의 특성으로 인해 성능이 낮아지는 문제가 발생한다. 이를 위해 플래시 메모리를 데이터(Data) 영역과 로그(Log) 영역으로 나누어 관리하는 플래시 변환 계층 기법이 제안되었다. 이 방식을 용할 경우 데이터 영역에는 원본 데이터가 저장되고 로그 영역에는 기존 데이터에서 수정된 값이 저장된다. 그리고 로그 영역의 공간이 부족해지면 데이터 영역과 로그 영역을 합병(Merge)하여 새로운 데이터 영역으로 갱신하고 기존의 로그 영역은 초기화된다.
플래시 변환 계층 중에서 로그 블록(Log block) 사상 기법을 사용하는 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)은 다른 방식에 비하여 높은 쓰기 연산의 성능을 보인다. FAST에서는 쓰기 성능을 개선시키기 위하여 완전 연관(Full Associative)방식을 사용하였다. 이는 데이터 수정 요청이 발생할 경우 데이터 블록(Data block)의 주소에 관계없이 로그 블록(Log block)에 순차적으로 로그를 기록하는 방식이다. 이러한 방식을 통해 로그 영역의 사용률을 높여 공간이 부족해지는 것을 지연시킨다. 이로 인해 로그 영역의 공간이 부족해지는 시점이 지연되어 합병연산의 수가 감소하여 전반적인 플래시 메모리의 성능이 향상된다.
FAST 기법은 시스템의 구성에 따라 정적인 크기의 로그 영역을 가진다. 로그 영역의 크기는 로그 영역의 주소 사상 테이블(Address Mapping Table)을 저장할 수 있는 메모리 영역의 크기와 주소 사상 테이블을 검색하는데 소요되는 시간에 의해 결정된다. 가능한 한 큰 로그 영역을 가질수록 합병의 빈도는 줄어들지만 로그 영역의 공간이 부족해질 때 합병되는 블록의 수가 많아져 전체 합병 소요시간은 동일하다. 따라서 어느 정도 작은 크기의 로그 영역만을 보유하는 것이 기존 FAST에는 효율적이다.
FAST 기법에서는 로그 영역이 부족해질 경우 합병연산이 발생한다. 합병 연산은 기존 데이터 블록과 로그 블록의 데이터를 메모리(Memory)로 백업(Backup)하는 작업, 새 프리 블록(Free block)에 백업된 데이터들을 복사하는 작업, 그리고 기존 데이터 블록과 로그 블록을 삭제하는 작업으로 이루어진다. 이 때 발생하는 지연시간은 합병되는 데이터 블록과 로그 블록의 수에 비례하여 크다.
만약 데이터 블록에 대한 수정 연산이 자주 발생할 경우 로그 영역은 그에 비례하여 자주 합병될 것이다. 그로 인해 합병 연산을 위한 블록의 읽기/쓰기/삭제 연산이 자주 발생하여 전반적인 성능 저하를 가져온다.
본 발명은 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리 방법 및 장치를 제공한다.
본 발명은 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)을 사용하는 멀티 플래시 메모리에서 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 멀티 플래시 메모리 관리 방법 및 장치를 제공한다.
본 발명은 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)을 사용하는 멀티 플래시 메모리에서 프리 블록을 이용하여 로그 블록의 수롤 적응적으로 변동하여 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 멀티 플래시 메모리 관리 방법 및 장치를 제공한다.
본 발명은 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)을 사용하는 멀티 플래시 메모리에서 오래된 로그 블록 내의 유효하지 않은 값들을 삭제하여 로그 블록의 수를 줄이는 로그 블록 무효화(LBI: Log block invalidation) 기법을 이용하여 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 멀티 플래시 메모리 관리 방법 및 장치를 제공한다.
본 발명의 실시예에 따른 멀티 플래시 메모리 관리 장치는, 데이터를 저장하는 데이터 블록 영역(Data block area)과 로그들을 저장하는 로그 블록 영역(Log block area)과 사용 가능한 여유 공간을 나타내는 프리 블록 영역(Free block area)으로 구분하는 다수의 플래시 메모리를 가지는 멀티 플래시 메모리; 및, 상기 멀티 플래시 메모리에 대해 논리 주소를 스트라이핑(Striping) 할당하고, 상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트가 발생할 때, 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않고 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log block invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하고, 상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 플래시 변환 계층을 포함한다.
본 발명의 실시예에 따른 멀티 플래시 메모리 관리 방법은, 멀티 플래시 메모리에 포함된 다수의 플래시 메모리에 대해 논리 주소를 스트라이핑 할당하는 단계; 상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 로그 블록 영역에 로그를 저장할 수 있는 사용 가능한 여유 공간이 존재하는지 확인하는 단계; 확인결과 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않으면, 로그 블록 최적화의 필요 여부를 확인 하는 단계: 확인 결과 상기 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log block invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하는 단계; 및, 상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 단계를 포함한다.
본 발명은 멀티 플래시 메모리에 포함된 다수의 플래시 메모리에 대해 논리 주소를 스트라이핑 할당하는 단계, 상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 로그 블록 영역에 로그를 저장할 수 있는 사용 가능한 여유 공간이 존재하는지 확인하는 단계, 확인결과 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않으면, 로그 블록 최적화의 필요 여부를 확인 하는 단계, 확인 결과 상기 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log block invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하는 단계 및, 상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 단계를 포함하는 멀티 플래시 메모리 관리 방법 및 장치에 관한 것으로, 잦은 덮어쓰기 작업에 대하여 합병 작업을 지연시킬 수 있고, 멀티 플래시 메모리를 위한 논리 주소 사상 기법으로 인하여 블럭들 간 균등쓰기가 가능하다. 따라서 높은 읽기/쓰기 성능 향상과 플래시 메모리 의 수명 향상의 효과를 가진다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명의 실시 예는 완전 연관 섹터 변환 기법(FAST: Full Associative Sector Translation)을 사용하는 멀티 플래시 메모리에서 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 멀티 플래시 메모리 관리 방법 및 장치에 관한 것이다.
하기의 설명에 있어서 멀티 플래시 메모리에서 데이터 블록과 로그 블록의 합병(Merge)을 지연시키는 FAST를 멀티 칩 합병 지연 완전 연관 섹터 변환 기법(MM-FAST: Multi-chip Merge pending Full Associative Sector Translation)라 칭한다.
도 1은 본 발명의 실시 예에 따른 멀티 칩 합병 지연 완전 연관 섹터 변환 기법(M-FAST)을 사용하는 멀티 플래시 메모리 관리 장치를 도시한 도면이다.
도 1을 참조하면 멀티 플래시 메모리 관리 장치는 플래시 변환 계층(FTL: Flash Translation Layer)(100), 데이터 블록 맵(Data block Map)(112), 프리 블록 맵(Free block Map)(114), 로그 블록 맵(Log block Map)(116), 플래시 메모리 제어부(120) 및, 플래시 메모리(130)를 포함하여 구성한다.
데이터 블록 맵(Data block Map)(112)은 플래시 메모리(130)에서 데이터의 물리적 주소를 가지는 테이블이다. 프리 블록 맵(Free block Map)(114)은 플래시 메모리(130)에서 사용 가능한 여유 공간의 물리적 주소를 가지는 테이블이다. 로그 블록 맵(Log block Map)(116)은 플래시 메모리(130)에서 로그의 물리적 주소를 가지는 테이블이다. 이때, 플래시 메모리(130) 내의 물리적 주소는 논리적인 주소에 대응한다.
플래시 메모리 제어부(120)는 플래시 메모리(130)를 제어하는 장치로서 플래시 메모리(130)에 대한 읽기(Read), 쓰기(Program), 삭제(Erase)를 제어한다.
멀티 플래시 메모리(130)는 다수의 플래시 메모리(132, 134, 136)들을 포함하여 구성한다. 플래시 메모리(132, 134, 136)들 각각은 크게 3가지 영역으로 구분 할 수 있다. 데이터들을 저장하는 데이터 블록들로 구성된 데이터 블록 영역(Data block area), 플래시 메모리(132, 134, 136)의 사용 가능한 여유 공간을 나타내는 프리 블록 영역(Free block area) 및, 데이터의 삭제 및 갱신 시 발생하는 로그들을 저장하는 로그 블록들로 구성된 로그 블록 영역(Log block area)으로 구분할 수 있다.
이때, 플래시 메모리(132, 134, 136)는 페이지(Page)와 블록(Block)의 단위로 관리된다. 즉, 플래시 메모리(132, 134, 136)는 다수의 블록들의 집합이며, 블록은 다수의 페이지로 구성되어있다. 플래시 메모리(130)에서 발생하는 읽기(Read)/쓰기(Program) 작업은 페이지의 단위로 수행되며 이미 써진 페이지에 덮어쓰기(Overwrite) 작업을 수행할 수 없다. 삭제(Erase) 작업은 블록의 단위로 수행되며 읽기나 쓰기에 비하여 많은 시간을 소모한다.
플래시 변환 계층(FTL: Flash Translation Layer)(100)은 일반적으로 외부로부터의 데이터 입출력 요청을 플래시 메모리(130)의 특성에 맞게 변환시킨다. 또한, 부가적으로 데이터 입출력 성능 향상을 위한 작업 및 플래시 메모리(130)의 삭제 작업 수를 줄여 플래시 메모리의 수명을 늘리는 작업 등을 수행한다.
그리고, 플래시 변환 계층(100)은 다수의 플래시 메모리(132, 134, 136)들을 포함하는 멀티 플래시 메모리(130)에 대하여 논리 주소를 아래 도 2와 같이 스트라이핑(Striping) 할당하고, 다수의 플래시 메모리(132, 134, 136)를 하나의 플래시 메모리와 같이 사용한다.
도 2는 본 발명의 실시예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리의 주소 할당 예를 도시한 도면이다.
할당이란 도 2의 예는 멀티 플래시 메모리(200)에 플래시 메모리(210, 220)가 2개인 경우에 논리주소를 스트라이핑 할당한 경우로 플래시 메모리(210, 220)에 논리 주소가 순차적으로 번갈아 할당하였다. 이 경우 0번째 플래시 메모리(210)에는 짝수의 논리주소가 할당되고, 1번째 플래시 메모리(220)에는 홀수의 논리주소가 할당됨을 확인할 수 있다.
도 2와 같은 논리 주소를 할당하는 경우 순차 쓰기 작업이 요청될 경우 페이지(Page) 쓰기 작업은 각 플래시 메모리 에 순차적으로 고르게 분배되고 이로 인해 100%의 확률로 파이프라인을 적용 가능하여 빠른 쓰기 작업이 가능하다. 임의 쓰기 작업이 요청될 경우에도 플래시 메모리의 개수에 비례하여 파이프라인이 적용될 확률이 늘어나기 때문에 기존 구조에 비하여 빠른 쓰기 작업이 가능하다.
이후, 플래시 변환 계층(100)은 멀티 플래시 메모리(130)에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 로그 블록 맵(116)을 확인하여 로그 블록 영역에 로그를 저장할 수 있는 여유 공간이 존재하는지 확인하고, 확인결과 존재하면 플래시 메모리 제어부(120)를 통해 삭제 또는 갱신의 로그를 로그 블록의 여유 페이지(page)에 기재하도록 제어한다.
하지만, 로그 블록 영역에 로그를 저장할 수 있는 여유 공간이 존재하지 않으면, 플래시 변환 계층(100)은 프리 블록의 수가 기설정한 임계 프리 블록수 보다 적거나 로그 블록 수가 기설정한 임계 로그 블록수 보다 많은지 확인하여 로그 블 록 최적화의 필요 여부를 확인한다. 확인결과 로그 블록 최적화가 필요하지 않으면, 플래시 변환 계층(100)은 프리 블록 맵(114)와 로그 블록 맵(116)을 수정하여 프리 블록 하나를 로그 블록으로 할당한다.
프리 블록 하나를 로그 블록으로 할당 할 때, 블록을 구성하는 페이지는 멀티 플래시 메모리(130)를 구성하는 다수의 플래시 메모리(132, 134, 136) 중에서 하나의 플래시 메모리를 이용하여 구성한다.
한편, 플래시 변환 계층(100)은 로그 블록 최적화가 필요하면 합병(Merge) 연산 시간과 로그 블록 무효화(LBI: Log block invalidation) 연산 시간을 비교한다. LBI 연산 시간이 합병 연산 시간보다 작거나 같으면 플래시 변환 계층(100)은 로그 블록 무효화를 수행한다.
하지만, LBI 연산 시간이 합병 연산 시간보다 크면 플래시 변환 계층(100)은 데이터 블록과 로그 블록의 합병을 수행한다. 로그 블록 최적화의 상세한 설명은 이후 도 4를 참조하여 후술한다.
이하, 상기와 같이 구성된 본 발명에 따른 멀티 칩 합병 지연 완전 연관 섹터 변환 기법을 사용하는 멀티 플래시 메모리 관리 방법을 아래에서 도면을 참조하여 설명한다.
도 3은 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 칩 합병 지연 완전 연관 섹터 변환 기법에 따라 멀티 플래시 메모리 관리하는 과정을 도시한 흐름도이다.
도 3을 참조하면 본 발명의 멀티 플래시 메모리 관리 장치는 300단계에서 멀티 플래시 메모리에 포함된 다수의 플래시 메모리에 대해 논리 주소를 스트라이핑 할당한다.
이후, 302단계에서 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 304단계로 진행하여 로그 블록 영역에 로그를 저장할 수 있는 사용 가능한 여유 공간이 존재하는지 확인하고, 확인결과 존재하면 312단계로 진행하여 삭제 또는 갱신의 로그를 로그 블록의 여유 페이지(page)에 기재한다.
304단계의 확인결과 로그 블록 영역에 로그를 저장할 수 있는 여유 공간이 존재하지 않으면, 멀티 플래시 메모리 관리 장치는 306단계로 진행하여 로그 블록 최적화의 필요 여부를 확인한다. 로그 블록 최적화의 필요 여부 판단 기준은 프리 블록의 수가 기설정한 임계 프리 블록수 보다 적거나 로그 블록 수가 기설정한 임계 로그 블록수 보다 많은 경우에 로그 블록 최적화가 필요하다고 판단한다.
306단계의 확인결과 로그 블록 최적화가 필요하지 않으면, 멀티 플래시 메모리 관리 장치는 308단계로 진행하여 프리 블록 하나를 로그 블록으로 할당하고, 312단계로 진행하여 삭제 또는 갱신의 로그를 로그 블록의 여유 페이지(page)에 기재한다.
이때, 프리 블록 하나를 로그 블록으로 할당 할 때, 블록을 구성하는 페이지는 멀티 플래시 메모리를 구성하는 다수의 플래시 메모리 중에서 단일의 플래시 메모리를 이용하여 구성한다.
306단계의 확인결과 로그 블록 최적화가 필요하면 멀티 플래시 메모리 관리 장치는 310단계로 진행하여 로그 블록 최적화를 수행한다. 로그 블록 최적화의 상세한 설명은 이후 도 4를 참조하여 후술한다. 310단계에서 로그 블록 최적화가 완료되면 이후 308단계로 진행하여 프리 블록 하나를 로그 블록으로 할당하고, 312단계로 진행하여 삭제 또는 갱신의 로그를 로그 블록의 여유 페이지(page)에 기재한다.
도 4는 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 칩 합병 지연 완전 연관 섹터 변환 기법에 따라 로그 블록을 최적화하는 과정을 도시한 흐름도이다.
도 4를 참조하면 본 발명의 멀티 플래시 메모리 관리 장치는 400단계에서 로그 블록 최적화 이벤트의 발생을 감지하면 402단계로 진행하여 합병(Merge) 연산 시간과 로그 블록 무효화(LBI: Log block invalidation) 연산 시간을 계산하고, 404단계로 진행하여 합병 연산 시간과 LBI 연산 시간을 비교한다.
이때, 합병 연산 시간은 아래 <수학식 1>과 같이 구할 수 있다.
합병 연산 시간 = (nNewFree * nLB_Valid * (tCB + a)) + (nDB_Merge * nDB_Valid * tCB)
여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, nDB_Valid는 한 데이터 블록 에 존재하는 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, nDB_Merge는 합병(Merge)되어 삭제될 데이터 블록(Data block)의 수이다.
다음으로 LBI 연산 시간은 아래 <수학식 2>과 같이 구할 수 있다.
If (N <= M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
If (N > M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a)) + ({(N-M)/nPage + 1} * nLB_Valid * (tCB + a))
여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, N은 기설정한 오래된 로그 블록들에서 발견된 유효한 페이지(Page) 수 이고, M은 오래되지 않은 로그 블록내의 사용 가능한 페이지(Page) 수 이고, nPage는 한 블록 내부의 총 페이지(Page) 수 이다.
404단계의 비교결과 LBI 연산 시간이 합병 연산 시간보다 작거나 같으면 멀티 플래시 메모리 관리 장치는 406단계로 진행하여 기설정된 기간만큼 오래된 로그 블록들 내부의 유효한 값들을 검색하고, 408단계로 진행하여 오래되지 않은 로그 블록내의 여유 공간의 페이지 수를 제외한 유효한 값들의 개수에 따라 사용될 프리 블록의 수를 계산하고, 멀티 플래시 메모리 관리 장치는 410단계로 진행하여 계산한 수 만큼 프리 블록을 할당받아 오래된 로그 블록들 중 유효한 값을 할당받은 프리 블록에 복사하여 새로운 로그 블록으로 생성하고, 412단계로 진행하여 유효한 값들의 복사가 완료된 오래된 로그 블록들을 삭제한다.
406단계에서 412단계는 로그 블록 무효화의 과정으로 아래의 도 5의 예제와 같이 수행될 수 있다.
404단계의 비교결과 LBI 연산 시간이 합병 연산 시간보다 크면 멀티 플래시 메모리 관리 장치는 414단계로 진행하여 갱신 등으로 인해 유효하지 않은 데이터를 가진 합병될 데이터 블록을 검색하고, 416단계로 진행하여 합병될 데이터 블록의 수만큼 프리 블록을 할당하고, 418단계로 진행하여 할당 받은 프리 블록에 데이터 블록들과 로그 블록들 중 유효한(Valid) 값만을 복사하고, 420단계로 진행하여 복사가 완료된 데이터 블록들과 로그 블록들을 삭제한다.
414단계에서 420단계는 데이터 블록과 로그 블록의 합병 과정으로 아래의 도 6의 예제와 같이 수행될 수 있다.
도 5는 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 로그 블록 무효화를 수행하는 예를 도시한 도면이다.
도 5를 참조하면 멀티 플래시 메모리 관리 장치는 LBI가 필요한 멀티 플래시 메모리(510) 내의 로그 블록 영역(516)에서 기설정된 기간만큼 오래된 로그 블 록인 0번째 로그 블록(Log Block-0) 내부의 유효한 값들을 검색한다. 그리고, 검색한 유효 페이지들을 사용 가능한 페이지를 가진 2번째 로그 블록(Log Block-2)으로 복사한다. 만약 사용 가능한 페이지를 가진 오래되지 않은 로그 블록이 존재하지 않으면 프리 블록 영역(514)에서 새로운 프리 블록을 새로운 로그 블록으로 할당 받고, 할당받은 프리 블록에 유효 페이지를 복사한다.
이후, 멀티 플래시 메모리 관리 장치는 LBI가 완료된 멀티 플래시 메모리(520)와 같이 LBI를 수행한 후에 유효한 값들의 복사가 완료된 기존의 오래된 로그 블록인 0번째 로그 블록(Log Block-0)을 삭제하여 로그 블록 영역(526)이 줄이고, 프리 블록 영역(524)이 늘린다.
이와 같이 LBI를 수행하는 경우 오래되어 유효하지 않은 로그들이 많은 로그 블록을 제거하여 프리 블록을 늘리기 때문에 LBI 수행 전의 데이터 블록 영역(512)과 LBI 수행 후의 데이터 블록 영역(522)은 변화가 없이 동일하다.
도 6은 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 로그 블록의 합병을 수행하는 예를 도시한 도면이다.
도 6을 참조하면 멀티 플래시 메모리 관리 장치는 합병이 필요한 멀티 플래시 메모리(610) 내의 데이터 블록 영역(612)에서 갱신 등으로 인해 유효하지 않은 데이터를 가진 합병될 데이터 블록을 검색하고, 프리 블록 영역(614)에서 합병될 데이터 블록의 수만큼 프리 블록을 할당하고, 할당 받은 프리 블록에 데이터 블록 영역(612)의 데이터 블록과 로그 블록 영역(616)의 로그 블록들 내의 유효 한(Valid) 값만을 복사하여 새로운 데이터 블록들로 구성한다.
이후, 멀티 플래시 메모리 관리 장치는 합병한 멀티 플래시 메모리(620)와 같이 유효한(Valid) 값만을 복사하여 새로운 데이터 블록들로 구성하는 데이터 블록 영역(622)을 구성하고, 복사가 완료된 데이터 블록들과 로그 블록들을 삭제하여 프리 블록 영역(624)화 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 멀티 칩 합병 지연 완전 연관 섹터 변환 기법(M-FAST)을 사용하는 멀티 플래시 메모리 관리 장치를 도시한 도면,
도 2는 본 발명의 실시예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리의 주소 할당 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 칩 합병 지연 완전 연관 섹터 변환 기법에 따라 멀티 플래시 메모리 관리하는 과정을 도시한 흐름도,
도 4는 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 멀티 칩 합병 지연 완전 연관 섹터 변환 기법에 따라 로그 블록을 최적화하는 과정을 도시한 흐름도,
도 5는 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 로그 블록 무효화를 수행하는 예를 도시한 도면 및,
도 6은 본 발명의 실시 예에 따른 멀티 플래시 메모리 관리 장치에서 로그 블록의 합병을 수행하는 예를 도시한 도면이다.

Claims (16)

  1. 데이터를 저장하는 데이터 블록 영역(Data block area)과 로그들을 저장하는 로그 블록 영역(Log block area)과 사용 가능한 여유 공간을 나타내는 프리 블록 영역(Free block area)으로 구분하는 다수의 플래시 메모리를 가지는 멀티 플래시 메모리; 및
    상기 멀티 플래시 메모리의 상기 다수의 플래시 메모리 각각에 대해 논리 주소를 순차적으로 번갈아 할당하는 스트라이핑(Striping) 기법을 이용해 할당하고, 상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트가 발생할 때, 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않고 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log block invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하고, 상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 플래시 변환 계층을 포함하고,
    상기 플래시 변환 계층은, 한개의 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수를 이용해서 상기 LBI 연산 시간과 상기 합병 연산 시간을 계산함을 특징으로 하고,
    상기 플래시 변환 계층은, 상기 LBI 연산을 수행 시, 기설정된 기간만큼 오래된 로그 블록들 내부의 유효한 값들을 검색하고, 오래되지 않은 로그 블록내의 여유 페이지의 수를 제외한 유효한 값들의 개수에 따라 사용될 프리 블록의 수를 계산하고, 계산된 값만큼 프리 블록을 로그 블록으로 할당하여 상기 오래된 로그 블록들 중 유효한 값을 상기 할당한 로그 블록에 복사하고, 상기 유효한 값들의 복사가 완료된 상기 오래된 로그 블록들을 프리 블록으로 전환함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  2. 제1항에 있어서, 상기 플래시 변환 계층은,
    상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트가 발생할 때, 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하면, 삭제 또는 갱신에 관한 로그를 상기 로그 블록 영역의 여유 공간에 기재하도록 함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  3. 제1항에 있어서, 상기 플래시 변환 계층은,
    상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트가 발생할 때, 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않고 상기 로그 블록 최적화가 필요하지 않으면, 상기 프리 블록 영역에서 프리 블록 하나를 상기 로그 블록 영역에 할당하고, 삭제 또는 갱신에 관한 로그를 상기 로그 블록 영역의 여유 공간에 기재하도록 함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  4. 제1항에 있어서,
    상기 데이터 블록, 상기 프리 블록 및, 상기 로그 블록을 구성할 때, 블록을 구성하는 페이지는 상기 멀티 플래시 메모리를 구성하는 다수의 플래시 메모리 중에서 단일의 플래시 메모리를 이용하여 구성함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  5. 제1항에 있어서, 상기 플래시 변환 계층은,
    상기 멀티 플래시 메모리 내의 프리 블록의 수가 기설정한 임계 프리 블록수 보다 적거나 로그 블록 수가 기설정한 임계 로그 블록수 보다 많으면 상기 로그 블록 최적화를 수행함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  6. 제1항에 있어서, 상기 플래시 변환 계층은,
    상기 LBI 연산 시간을 아래 <수학식 3>을 이용해서 계산 함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
    If (N <= M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    If (N > M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    + ({(N-M)/nPage + 1} * nLB_Valid * (tCB + a))
    여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, N은 기설정한 오래된 로그 블록들에서 발견된 유효한 페이지(Page) 수 이고, M은 오래되지 않은 로그 블록내의 사용 가능한 페이지(Page) 수 이고, nPage는 한 블록 내부의 총 페이지(Page) 수 이다.
  7. 제1항에 있어서, 상기 플래시 변환 계층은,
    상기 로그 블록 최적화가 필요하고 상기 LBI 연산 시간이 상기 합병 연산 시간보다 크거나 같으면, 상기 데이터 블록 영역에서 갱신 등으로 인해 유효하지 않은 데이터를 가진 합병될 데이터 블록을 검색하고, 상기 합병될 데이터 블록의 수만큼 프리 블록을 할당하고, 할당한 프리 블록에 데이터 블록들과 로그 블록들 중 유효한(Valid) 값만을 복사하여 새로운 데이터 블록 영역을 생성하고, 복사가 완료된 상기 데이터 블록들과 상기 로그 블록들을 삭제하도록 하는 상기 합병 연산을 수행하도록 함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
  8. 제7항에 있어서, 상기 플래시 변환 계층은,
    상기 합병 연산 시간을 아래 <수학식 4>을 이용해서 계산 함을 특징으로 하는 멀티 플래시 메모리 관리 장치.
    합병 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    + (nDB_Merge * nDB_Valid * tCB)
    여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, nDB_Valid는 한 데이터 블록에 존재하는 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, nDB_Merge는 합병(Merge)되어 삭제될 데이터 블록(Data block)의 수이다.
  9. 멀티 플래시 메모리에 포함된 다수의 플래시 메모리 각각에 대해 논리 주소를 순차적으로 번갈아 할당하는 스트라이핑 기법을 이용해서 할당하는 단계;
    상기 멀티 플래시 메모리에 저장된 데이터의 삭제 또는 갱신 이벤트의 발생을 감지하면, 로그 블록 영역에 로그를 저장할 수 있는 사용 가능한 여유 공간이 존재하는지 확인하는 단계;
    확인결과 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하지 않으면, 로그 블록 최적화의 필요 여부를 확인 하는 단계:
    확인 결과 상기 로그 블록 최적화가 필요하면 로그 블록 무효화(LBI: Log block invalidation) 연산 시간과 합병(Merge) 연산 시간을 계산하는 단계; 및
    상기 LBI 연산 시간이 상기 합병 연산 시간보다 작으면 LBI 연산을 수행하는 단계를 포함하고,
    상기 LBI 연산 시간과 상기 합병 연산 시간을 계산하는 단계는, 한개의 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수를 이용해서 상기 LBI 연산 시간과 상기 합병 연산 시간을 계산함을 특징으로 하고,
    상기 LBI 연산을 수행하는 단계는, 상기 LBI 연산을 수행 시, 기설정된 기간만큼 오래된 로그 블록들 내부의 유효한 값들을 검색하고, 오래되지 않은 로그 블록내의 여유 페이지의 수를 제외한 유효한 값들의 개수에 따라 사용될 프리 블록의 수를 계산하고, 계산된 값만큼 프리 블록을 로그 블록으로 할당하여 상기 오래된 로그 블록들 중 유효한 값을 상기 할당한 로그 블록에 복사하고, 상기 유효한 값들의 복사가 완료된 상기 오래된 로그 블록들을 프리 블록으로 전환함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  10. 제9항에 있어서,
    확인결과 상기 로그 블록 영역에 사용 가능한 여유 공간이 존재하면,
    삭제 또는 갱신에 관한 로그를 상기 로그 블록 영역의 여유 공간에 기재하는 단계를 더 포함함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  11. 제9항에 있어서,
    상기 로그 블록 최적화의 필요 여부를 확인하는 단계의 확인결과 상기 로그 블록 최적화가 필요하지 않으면,
    프리 블록 영역에서 프리 블록 하나를 상기 로그 블록 영역에 할당하는 단계; 및
    삭제 또는 갱신에 관한 로그를 상기 로그 블록 영역의 여유 공간에 기재하는 단계를 더 포함함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  12. 제9항에 있어서,
    데이터 블록, 프리 블록 및, 상기 로그 블록을 구성할 때, 블록을 구성하는 페이지는 상기 멀티 플래시 메모리를 구성하는 다수의 플래시 메모리 중에서 단일의 플래시 메모리를 이용하여 구성함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  13. 제9항에 있어서,
    상기 로그 블록 최적화는,
    상기 플래시 메모리 내의 프리 블록의 수가 기설정한 임계 프리 블록수 보다 적거나 로그 블록 수가 기설정한 임계 로그 블록수 보다 많으면 수행함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  14. 제9항에 있어서,
    상기 LBI 연산 시간을 아래 <수학식 5>을 이용해서 계산함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
    If (N <= M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    If (N > M); LBI 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    + ({(N-M)/nPage + 1} * nLB_Valid * (tCB + a))
    여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, N은 기설정한 오래된 로그 블록들에서 발견된 유효한 페이지(Page) 수 이고, M은 오래되지 않은 로그 블록내의 사용 가능한 페이지(Page) 수 이고, nPage는 한 블록 내부의 총 페이지(Page) 수 이다.
  15. 제9항에 있어서,
    상기 LBI 연산 시간이 상기 합병 연산 시간보다 크거나 같으면
    데이터 블록 영역에서 갱신 등으로 인해 유효하지 않은 데이터를 가진 합병될 데이터 블록을 검색하고, 상기 합병될 데이터 블록의 수만큼 프리 블록을 할당하고, 할당한 프리 블록에 데이터 블록들과 로그 블록들 중 유효한(Valid) 값만을 복사하여 새로운 데이터 블록 영역을 생성하고, 복사가 완료된 상기 데이터 블록들과 상기 로그 블록들을 삭제하도록 하는 상기 합병 연산을 수행하는 단계를 더 포함함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
  16. 제15항에 있어서,
    상기 합병 연산 시간을 아래 <수학식 6>을 이용해서 계산함을 특징으로 하는 멀티 플래시 메모리 관리 장치에서 멀티 플래시 메모리를 관리하는 방법.
    합병 연산 시간 = (nNewFree * nLB_Valid * (tCB + a))
    + (nDB_Merge * nDB_Valid * tCB)
    여기서, nNewFree는 프리 블록에 저장될 새로운 블록의 수 이고, nLB_Valid는 한 로그 블록 내에 존재하는 평균 유효한(Valid) 페이지 수 이고, nDB_Valid는 한 데이터 블록 에 존재하는 유효한(Valid) 페이지 수 이고, tCB는 플래시 메모리에서 Copyback으로 한 페이지(Page)를 읽어서 쓰는데 소요되는 시간이고, a는 Copyback을 수행할 수 없을 경우 일반 복사시 추가적으로 소요되는 시간이고, nDB_Merge는 합병(Merge)되어 삭제될 데이터 블록(Data block)의 수이다.
KR1020080099740A 2008-10-10 2008-10-10 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치 KR101021364B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080099740A KR101021364B1 (ko) 2008-10-10 2008-10-10 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080099740A KR101021364B1 (ko) 2008-10-10 2008-10-10 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100040560A KR20100040560A (ko) 2010-04-20
KR101021364B1 true KR101021364B1 (ko) 2011-03-14

Family

ID=42216631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080099740A KR101021364B1 (ko) 2008-10-10 2008-10-10 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치

Country Status (1)

Country Link
KR (1) KR101021364B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101655008B1 (ko) * 2014-11-27 2016-09-06 숭실대학교산학협력단 실시간 멀티칩 플래시 저장장치 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080035237A (ko) * 2006-10-19 2008-04-23 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
KR20080045833A (ko) * 2006-11-21 2008-05-26 삼성전자주식회사 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템
KR20080073499A (ko) * 2007-02-06 2008-08-11 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080035237A (ko) * 2006-10-19 2008-04-23 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
KR20080045833A (ko) * 2006-11-21 2008-05-26 삼성전자주식회사 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템
KR20080073499A (ko) * 2007-02-06 2008-08-11 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1:한국정보처리학회*

Also Published As

Publication number Publication date
KR20100040560A (ko) 2010-04-20

Similar Documents

Publication Publication Date Title
CN110678836B (zh) 用于键值存储的持久性存储器
KR101717644B1 (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US10402091B1 (en) Managing data in log-structured storage systems
US10133511B2 (en) Optimized segment cleaning technique
US9471500B2 (en) Bucketized multi-index low-memory data structures
US9990277B2 (en) System and method for efficient address translation of flash memory device
CN108604165B (zh) 存储装置
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US9489239B2 (en) Systems and methods to manage tiered cache data storage
KR20170010729A (ko) 비휘발성 메모리의 메타 데이터 관리 방법 및 스토리지 시스템
WO2018189858A1 (ja) ストレージシステム
US20190266100A1 (en) Virtual block addresses
KR101297442B1 (ko) 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템
KR20110117099A (ko) 메모리 장치에서 맵핑 어드레스 테이블을 유지관리하는 방법
KR102349999B1 (ko) 반도체 장치 및 그 동작 방법
KR101017067B1 (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
KR20100115090A (ko) 버퍼를 고려한 가비지 컬렉션 기법
US11797207B2 (en) Base and compressed difference data deduplication
Jung et al. Data loss recovery for power failure in flash memory storage systems
KR100987251B1 (ko) 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 플래시 메모리 관리 방법및 장치
KR101077901B1 (ko) 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법
KR101021364B1 (ko) 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치
CN115904255A (zh) 一种数据请求方法、装置、设备及存储介质
KR101153688B1 (ko) 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템
US20230221864A1 (en) Efficient inline block-level deduplication using a bloom filter and a small in-memory deduplication hash table

Legal Events

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

Payment date: 20140207

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee