Flat Relink Table in Host Memory Buffer for Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing data storage devices face performance degradation due to the large memory footprint of the relink table, which increases firmware overhead and search time, as they need to search for replacement blocks within the table for every command, even if a replacement is available.
Innovation Solution
A data storage device with a non-volatile memory (NVM) and a controller that creates a bad block table, sends it to a host memory location, and checks it to determine if a block is bad, with the option to retrieve information from a separate location if not available in the host memory, reducing the time to process host commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the relink table includes only blocks that have replacements and are ordered by block number, then the memory footprint is reduced, but the firmware overhead increases due to blocks needing to be searched inside the relink table for every command
Solution Approach 1:
The patent segments the relink table into multiple pages, where each page contains a subset of relink entries. This allows the firmware to search only within the relevant page rather than the entire relink table, reducing the search time and firmware overhead while maintaining the compact structure that reduces memory footprint.
Solution Approach 2:
The patent pre-organizes the relink table into pages during initialization or block retirement events, preparing the data structure in advance. This preliminary organization enables efficient page-based searching during command execution, avoiding the need to search the entire relink table for every command.
2Speed
If the relink table is stored in SRAM of the data storage device, then fast access is enabled, but the memory footprint becomes excessively large
Solution Approach 1:
The patent extracts the relink table from the device's internal SRAM and relocates it to the host's memory buffer (HMB). This extraction frees up valuable device SRAM for other purposes while utilizing the host's larger memory resources, thereby reducing the device's memory footprint while maintaining fast access through HMB.
Solution Approach 2:
The patent introduces the host memory buffer (HMB) as an intermediary storage location between the device and host memory. The HMB serves as a shared memory space that allows the device to access the relink table quickly without requiring large amounts of device-internal SRAM, effectively mediating between the conflicting requirements of fast access and small footprint.
3Reliability
If the controller checks the bad block table for every read or write command, then block reliability is ensured, but the processing time increases
Solution Approach 1:
The patent implements dynamic checking of the bad block table based on the command type and target block. Instead of uniformly checking every command, the system dynamically determines whether a check is necessary based on current operational context, reducing unnecessary checks and associated processing time while maintaining reliability for critical operations.
Solution Approach 2:
The patent applies partial checking by only examining relevant portions of the bad block table or using simplified check mechanisms for certain command types. This partial action approach maintains sufficient reliability for most operations while reducing the overall processing time compared to exhaustive checking of every command.
Data Source
AI summary
A data storage device includes a non-volatile memory (NVM) device and a controller coupled to the NVM device. The controller is configured to create a bad block table that tracks bad blocks of the NVM device, send the bad block table to a host memory location, and check the bad block table to determine whether a block to be read or written to is bad. The controller is further configured to request information on a bad block from the bad block table located in the host memory location, determine that the requested information is not available from the host memory location, and retrieve the requested information from a location separate from the host memory location. A sum of the times to generate a request to check the flat relink table, execute the request, and retrieve the requested information is less than a time to process a host command.


