- New blog series: One SSD Technology a Day
- A SSD Technology a Day (1) – Static Data Rotation
- A SSD Technology a Day (2) – What’s the difference between SLC and MLC?
- A SSD Technology a Day (3) – Program and Erase Cycle (P/E)
- A SSD Technology a Day (4) – Redundant Array of Independent Silicon Elements (RAISE)
- A SSD Technology a Day (5) – Wear Leveling
- A SSD Technology a Day (6) – CacheCade
- A SSD Technology a Day (7) – Intelligent Bad Block Management
- A SSD Technology a Day (8) – eMLC and MLC-HET
In previous posts I talked about the wear and RAISE algorithms implemented by SSD controllers. One of the inevitable issues solid state memory is how to gracefully deal with bad blocks.
Bad blocks are flash memory blocks that contain one or more invalid bits whose reliability is not guaranteed because of faulty dies, over-charge leaks or wear-out. Bad blocks may exist even on a new disk.
Bad Block Management or Intelligent Block Management is an algorithm that monitors and maintains bad blocks within the NAND device. The controller maintains tables of known bad blocks and can replace the new bad blocks with spare blocks that are reserved for use. typically 4-10% of the usable capacity is reserved for Bad Block Management This practice further enhances the overall SSD lifespan and ensures that a few bad blocks will not affect the integrity of the drive and the SSD device still operate.
Bad blocks are mapped as “do not use”and substituted with known good blocks from the percentage set aside for spare blocks. The percentage of bad blocks which can be accomodated is a product marketing decision and that is the reason why an 128GB SSD device will only present 120GB as available to use. The spare blocks come from over provisioning inside the SSD and using the capacity which is invisible to the user.
If the bad blocks exceed the remaining spare blocks for any reason- the SSD fails because the controller cannot safely substitute a block that has to be written on a new bad block and can result in data loss.
The measure for Bad Block Management is “Retired Block Count” but expect that count to go up as “SSD Life Left” nears 5-10%