[Paper Review] Garbage Collection Techniques for Flash-Resident Page-Mapping FTLs
This paper proposes two complementary garbage collection techniques—Lazy Gecko and Logarithmic Gecko—for flash-resident page-mapping flash translation layers (FTLs). Lazy Gecko uses a RAM-resident bitmap and flash-resident reverse map for efficient GC with moderate RAM; Logarithmic Gecko stores metadata in flash as an LSM-tree, drastically reducing RAM usage at the cost of minor IO overhead. The key contribution is enabling scalable, low-RAM garbage collection in flash devices with limited embedded memory.
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.
Motivation & Objective
- Address the challenge of maintaining garbage collection metadata in flash-resident page-mapping FTLs where RAM is limited.
- Overcome the problem of not knowing the before-image physical address at write time, which complicates metadata maintenance.
- Design scalable garbage collection techniques that minimize RAM usage without sacrificing performance, especially for devices like eMMCs with minimal embedded RAM.
- Provide two complementary solutions—Lazy Gecko for moderate RAM and Logarithmic Gecko for minimal RAM—suitable for a wide range of flash storage devices.
Proposed method
- Lazy Gecko uses a flash-resident reverse map and a RAM-resident bitmap to track valid pages and select victim blocks during garbage collection.
- Logarithmic Gecko replaces the RAM bitmap with an LSM-tree structure stored in flash, enabling efficient metadata storage with minimal RAM footprint.
- The LSM-tree in Logarithmic Gecko is used to reconstruct block validity bitmaps during garbage collection by searching through levels, incurring a worst-case IO cost of log_T(K·B/P).
- Both schemes perform garbage collection by reading and rewriting pages from the reverse map, incurring one flash read and one flash write per GC operation.
- The schemes are evaluated using the EagleTree SSD simulator with workloads involving uniformly random writes across the logical address space.
- Write amplification and read amplification are measured to evaluate performance, with contributions from LSM-tree operations, reverse map access, and mapping lookups isolated and quantified.
Experimental results
Research questions
- RQ1How can garbage collection metadata be efficiently maintained in flash-resident page-mapping FTLs when the before-image physical address is unknown at write time?
- RQ2What is the trade-off between RAM usage and IO overhead in garbage collection for flash devices with limited embedded memory?
- RQ3Can a garbage collection scheme be designed to scale effectively to very low RAM configurations, such as those found in eMMCs?
- RQ4To what extent do the proposed schemes reduce write and read amplification compared to theoretical and baseline implementations?
Key findings
- Logarithmic Gecko reduces RAM consumption to a level comparable to DFTL, achieving a significant reduction in RAM footprint relative to Lazy Gecko.
- Lazy Gecko achieves write amplification close to the theoretical optimum when sufficient RAM is available, but performance degrades as RAM is reduced due to increased CMT evictions.
- Logarithmic Gecko scales to much lower RAM levels than Lazy Gecko, maintaining low write amplification even with minimal RAM, due to its flash-stored LSM-tree metadata structure.
- The IO overhead introduced by Logarithmic Gecko's LSM-tree is minimal, contributing less than 3% to read amplification when RAM is scarce and less than 12% when RAM is plentiful.
- The contribution of LSM-tree operations to write amplification is negligible—under 3%—even in the worst-case scenario, indicating that the IO cost is well-contained.
- Garbage collection and CMT evictions remain the dominant contributors to write amplification, with mapping and reverse map accesses being major sources of read amplification.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.