Solid State Drive Primer # 11 - Controller Functions - Garbage Collection
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 the efficiency, reliability and performance can be affected by its design.