SSD Bad Block Table Recovery via Spatially Coupled Journals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional solid state drive (SSD) controllers lack flexibility and customizability, leading to inefficiencies in managing SSDs, particularly in maintaining bad block tables and indirection mappings, which can result in data loss and increased storage costs due to large off-band storage requirements.
Innovation Solution
Decoupling SSD management features from the built-in controller and implementing them in an external controller, using spatially coupled journals to maintain indirection mappings and bad block tables, with a small seed stored in off-band storage to locate journals and rebuild the bad block table in case of issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If SSD management features are implemented in the built-in controller, then device integration is improved, but flexibility and customizability deteriorate
Solution Approach 1:
The patent segments SSD management functions by separating the bad block table maintenance from the built-in controller and implementing it in software on the host system. This allows the controller to remain simple while enabling flexible, customizable management through software configurations and journaling mechanisms.
Solution Approach 2:
The patent introduces an intermediary journaling mechanism that bridges the host system and the SSD. The journal stores metadata about bad blocks and indirection mappings, allowing the host system to manage SSD health without requiring complex controller logic, thus maintaining flexibility while ensuring reliable data tracking.
2Reliability
If large off-band storage is allocated for bad block table maintenance, then data reliability is improved, but storage cost and space requirements deteriorate
Solution Approach 1:
The patent creates a compact journal that copies only the essential bad block metadata and indirection mapping information, rather than storing complete bad block tables. This journal serves as a lightweight replica that enables reliable recovery without requiring large off-band storage allocations.
Solution Approach 2:
The patent implements partial action by storing only the critical portions of bad block information in the journal - specifically the metadata and mapping relationships - rather than maintaining complete copies of all bad block data. This reduces storage requirements while preserving sufficient information for data recovery.
3Ease of repair
If complete bad block tables are stored in external storage, then recovery capability is improved, but external storage size requirements deteriorate
Solution Approach 1:
The patent extracts only the essential recovery information from the complete bad block table and stores it in a compact journal format. The journal contains specifically the metadata and indirection mapping entries needed for recovery, eliminating the need to store entire bad block tables in external storage.
Solution Approach 2:
Instead of storing complete bad block tables and trying to manage their size, the patent inverts the approach by storing only the differential information - the journal entries that track bad block status changes - and reconstructing the full picture when needed. This dramatically reduces external storage requirements while maintaining recovery capability.
Data Source
AI summary
Spatially coupled journals include information for every portion of physical media, including defective, or “bad”, blocks. Because data cannot be stored to bad blocks, a bad block table is needed before a solid state drive (SSD) can be accessed. Using the information already stored in the journals, the bad block table can be rebuilt following a loss of power. To ensure the journals can be located, a small seed can be stored in off band storage. The seed can include information pointing to a boot catalog stored on the SSD. The boot catalog can be used to determine the locations of journals, which may vary from their predetermined locations depending on the bad blocks of the drive. By storing a small seed, rather than an entire bad block table, the size of external storage needed to maintain the bad block table is reduced.


