This section covers SSD controller’s Garbage Collection algorithms.
Garbage Collection is the process to reclaim previously written blocks of
data so they can be rewritten with new data.
The reason there is a need for Garbage Collection is NAND’s requirement
to be erased prior to being written. A block is the smallest erasure unit of
NAND flash and it is typically made up of 32 to 64 Pages.
A page of data can be written as long as it is already erased, but it is very
inefficient to erase 32 or 64 pages in a block just to reclaim a single Page.
There are many challenges related to Garbage Collection algorithms and
efficiency, reliability and performance can be affected by its design.