Garbage Collection
Storage garbage collection reclaims physical space occupied by stale or unreachable data; in log-structured and flash-backed systems it is inseparable from write amplification, fragmentation, and foreground latency.
核心思想
Unlike language-runtime GC, storage GC commonly identifies stale ranges or segments, migrates live data when necessary, and returns reclaimable capacity to a filesystem or device. The maintenance work competes with user I/O and may trigger further device-level relocation, so a reclaim policy must balance immediate capacity pressure against future write and read costs.
为什么重要
GC determines whether append-heavy systems can sustain their advertised capacity and latency. It connects metadata/indexing decisions to SSD behavior: a policy that minimizes host copying can still leave device fragmentation, while aggressive compaction can reduce fragmentation at the cost of write amplification.
关键观察 / 隐含假设
- 观察:stale-data geometry matters. DisCoGC-FAST26 uses long contiguous stale ranges for discard and retains compaction for fragments that discard cannot reclaim efficiently.
- 观察:zone size and write-order constraints change where GC is paid. ZUFS-FAST26 moves part of the problem to host-side proactive GC for zoned mobile storage.
- 假设:background maintenance can be scheduled without harming foreground SLOs. PolarStore-FAST26 and DOGI-FAST26 show that device and workload conditions can make this assumption fragile.
设计空间与取舍
- Copy/compaction vs discard/reset:copying live data can consolidate space; discard/reset avoids copying where stale ranges and device semantics allow it.
- Reactive vs proactive policy:reactive GC preserves short-term work but risks foreground stalls; proactive GC consumes background resources to avoid emergencies.
- Host vs device reclamation:host knowledge can improve placement, while device firmware retains hidden wear-leveling and media-management constraints.
引用本概念的论文
- DisCoGC-FAST26 — combines discard and compaction in distributed log-structured storage.
- ZUFS-FAST26 — adds proactive filesystem GC for zoned mobile storage.
- DOGI-FAST26 — relates device behavior to storage-system reclamation.
- PolarStore-FAST26 — treats GC and storage-management policy as coupled controls.
- WARP-FAST26 — evaluates storage behavior involving reclamation paths.
已知局限 / 开放问题
- A host-level metric cannot fully expose device-level GC, wear, or firmware queueing.
- Policies need workload-aware validation under sustained write pressure, not only steady-state microbenchmarks.