Skip to main content
QUICK REVIEW

[논문 리뷰] Garbage Collection Techniques for Flash-Resident Page-Mapping FTLs

Niv Dayan, Philippe Bonnet|arXiv (Cornell University)|2015. 04. 07.
Advanced Data Storage Technologies참고 문헌 5인용 수 3
한 줄 요약

이 논문은 메모리가 제한된 환경에서 사용 가능한 플래시 기반 페이지 매핑 플래시 번역 레이어(FTL)에서 효율적인 가비지 컬렉션을 위해 두 가지 상호보완적인 기술—Lazy Gecko와 Logarithmic Gecko—을 제안한다. Lazy Gecko는 RAM 기반 비트맵과 플래시 기반 역매핑을 사용하여 중간 수준의 RAM 소비로 효율적인 GC를 수행한다. Logarithmic Gecko는 메타데이터를 플래시에 LSM-트리로 저장하여 RAM 사용을 극도로 줄이며, 약간의 IO 오버헤드를 감수한다. 핵심 기여는 임베디드 메모리가 제한된 플래시 장치에서 확장 가능하고 낮은 RAM 사용량을 갖는 가비지 컬렉션을 가능하게 한다.

ABSTRACT

Storage devices based on flash memory have replaced hard disk drives (HDDs) due to their superior performance, increasing density, and lower power consumption. Unfortunately, flash memory is subject to challenging idiosyncrasies like erase-before-write and limited block lifetime. These constraints are handled by a flash translation layer (FTL), which performs out-of-place updates, wear-leveling and garbage-collection behind the scene, while offering the application a virtualization of the physical address space. A class of relevant FTLs employ a flash-resident page-associative mapping table from logical to physical addresses, with a smaller RAM-resident cache for frequently mapped entries. In this paper, we address the problem of performing garbage-collection under such FTLs. We observe two problems. Firstly, maintaining the metadata needed to perform garbage-collection under these schemes is problematic, because at write-time we do not necessarily know the physical address of the before-image. Secondly, the size of this metadata must remain small, because it makes RAM unavailable for caching frequently accessed entries. We propose two complementary techniques, called Lazy Gecko and Logarithmic Gecko, which address these issues. Lazy Gecko works well when RAM is plentiful enough to store the GC metadata. Logarithmic Gecko works well when RAM isn't plentiful and efficiently stores the GC metadata in flash. Thus, these techniques are applicable to a wide range of flash devices with varying amounts of embedded RAM.

연구 동기 및 목표

  • 메모리가 제한된 플래시 기반 페이지 매핑 FTL에서 가비지 컬렉션 메타데이터를 유지하는 데 도전 과제를 해결한다.
  • 쓰기 시점에 이전 이미지의 물리적 주소를 알 수 없어 메타데이터 유지를 복잡하게 만드는 문제를 해결한다.
  • 성능을 희생시키지 않고 RAM 사용량을 최소화하는 확장 가능한 가비지 컬렉션 기법을 설계한다. 특히 임베디드 RAM이 극히 적은 eMMC와 같은 장치에 적합하다.
  • 두 가지 상호보완적인 솔루션—중간 수준의 RAM을 위한 Lazy Gecko와 최소한의 RAM을 위한 Logarithmic Gecko—을 제공하여 다양한 플래시 스토리지 장치에 적합하다.

제안 방법

  • Lazy Gecko는 플래시 기반 역매핑과 RAM 기반 비트맵을 사용하여 가비지 컬렉션 중에 유효한 페이지를 추적하고, 피해 블록을 선택한다.
  • Logarithmic Gecko는 RAM 비트맵을 플래시에 저장된 LSM-트리 구조로 대체하여 최소한의 RAM 프로필로도 효율적인 메타데이터 스토리지가 가능하도록 한다.
  • Logarithmic Gecko의 LSM-트리는 레벨을 순차적으로 검색하여 가비지 컬렉션 중에 블록 유효성 비트맵을 재구성하는 데 사용되며, 최악의 경우 IO 비용은 log_T(K·B/P)이다.
  • 두 기법 모두 역매핑에서 페이지를 읽고 다시 쓰는 방식으로 가비지 컬렉션을 수행하며, GC 작업당 플래시 읽기 1회와 쓰기 1회를 유발한다.
  • 성능 평가를 위해 EagleTree SSD 시뮬레이터를 사용하였으며, 논리적 주소 공간 전반에 걸친 균일한 무작위 쓰기 워크로드를 적용하였다.
  • 쓰기 앰플리피케이션과 읽기 앰플리피케이션을 측정하여 성능을 평가하였으며, LSM-트리 운영, 역매핑 접근, 매핑 검색과 같은 기여 요소들을 분리하여 정량화하였다.

실험 결과

연구 질문

  • RQ1쓰기 시점에 이전 이미지의 물리적 주소를 알 수 없을 때, 플래시 기반 페이지 매핑 FTL에서 가비지 컬렉션 메타데이터를 어떻게 효율적으로 유지할 수 있는가?
  • RQ2임베디드 메모리가 제한된 플래시 장치에서 가비지 컬렉션의 RAM 사용량과 IO 오버헤드 사이의 상호 교환 관계는 어떠한가?
  • RQ3eMMC와 같은 극도로 낮은 RAM 구성 환경에서도 효과적으로 확장 가능한 가비지 컬렉션 기법을 설계할 수 있는가?
  • RQ4제안된 기법들이 이론적 및 기준 구현 대비 쓰기 및 읽기 앰플리피케이션을 얼마나 줄이는가?

주요 결과

  • Logarithmic Gecko는 RAM 소비를 DFTL 수준으로 줄여, Lazy Gecko 대비 뚜렷한 RAM 프로필 감소를 달성한다.
  • 충분한 RAM이 확보된 경우 Lazy Gecko는 이론적 최적에 가까운 쓰기 앰플리피케이션을 달성하지만, RAM이 감소함에 따라 CMT 교체가 증가해 성능이 저하된다.
  • Logarithmic Gecko는 Lazy Gecko보다 훨씬 낮은 RAM 수준까지 확장 가능하며, 플래시에 저장된 LSM-트리 메타데이터 구조 덕분에 최소한의 RAM에서도 낮은 쓰기 앰플리피케이션을 유지한다.
  • Logarithmic Gecko의 LSM-트리로 인한 IO 오버헤드는 미미하며, RAM이 부족할 경우 읽기 앰플리피케이션의 3% 미만, RAM이 풍부할 경우 12% 미만을 차지한다.
  • 최악의 경우에도 LSM-트리 운영이 쓰기 앰플리피케이션에 기여하는 비율은 3% 미만으로 극히 낮아, IO 비용이 잘 통제되어 있음을 시사한다.
  • 가비지 컬렉션과 CMT 교체가 쓰기 앰플리피케이션의 주요 기여 요소이며, 매핑 및 역매핑 접근이 읽기 앰플리피케이션의 주요 원인이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.