SSD Payload Spill Boundary Table Assisted Read
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As solid-state drives (SSDs) experience increased bit error rates over time, the growing number of error correction code (ECC) bits required to maintain data integrity reduces the available space for payload data, leading to data spillage across multiple memory units during read and write operations, which complicates efficient data management.
Innovation Solution
A method implemented by the SSD controller to dynamically manage data by identifying and assembling portions of data from adjacent codewords, using look-up tables to determine spill offsets and assemble read data, ensuring efficient data transfer while adapting to changing code rates and bit error rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of ECC bits is increased to maintain data integrity as bit error rates increase, then data reliability is improved, but the available storage space for payload data decreases
Solution Approach 1:
The patent divides the payload data into multiple segments that can be distributed across different memory pages. When ECC requirements reduce available space on a single page, the segmentation allows the payload to spill over to adjacent pages while maintaining data integrity through proper segmentation and reconstruction mechanisms.
Solution Approach 2:
The patent transitions from a single-dimension storage model (one payload per page) to a multi-dimensional model where payloads can span multiple pages. This dimensional change allows the system to accommodate variable ECC requirements by distributing payload data across multiple pages in a structured manner, effectively utilizing available storage space while maintaining reliability.
2Reliability
If more ECC bits are allocated per data unit, then error correction capability is improved, but the throughput and efficiency of data transfer deteriorates
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing spill boundary information in lookup tables during system initialization or less critical operations. This allows the runtime data transfer operations to proceed efficiently by simply querying pre-computed boundaries rather than performing complex calculations, thus maintaining high throughput while supporting enhanced ECC capabilities.
Solution Approach 2:
The patent introduces spill boundary lookup tables as an intermediary structure that mediates between the ECC requirements and data transfer operations. These tables store pre-computed boundary information that guides the data transfer process, allowing the system to handle variable ECC bit allocations without directly impacting the speed of data transfer operations.
3Quantity of substance
If payload data is allowed to spill across multiple codewords, then storage space utilization is improved, but the complexity of data management increases
Solution Approach 1:
The patent performs preliminary action by pre-calculating spill boundaries and storing them in lookup tables before actual data operations. This eliminates the need for complex runtime calculations when determining where payload data should spill across codeword boundaries, significantly reducing data management complexity while maintaining high storage utilization.
Solution Approach 2:
The patent uses lookup tables that contain copied and pre-processed boundary information. Instead of computing spill boundaries dynamically during data operations, the system copies pre-computed boundary values from lookup tables, simplifying the data management process while enabling efficient multi-codeword payload handling.
4Reliability
If the code rate is adjusted to accommodate higher bit error rates, then data reliability is improved, but the amount of payload data that can be stored decreases
Solution Approach 1:
The patent implements dynamic adaptation by allowing the code rate to vary based on observed bit error rates and storage conditions. The spill boundary lookup tables are generated and updated based on current code rate settings, enabling the system to dynamically adjust between reliability and capacity trade-offs without requiring fixed parameters, thus optimizing both data integrity and payload capacity under varying conditions.
Data Source
AI summary
A method performed by a controller of a solid state drive comprising receiving from a host a read request for read data stored in nonvolatile semiconductor storage devices of the solid state drive. The method also comprises identifying a first codeword and a second codeword, the first codeword and the second codeword comprising the read data corresponding to the read request. Responsive to the read request, the method comprises reading a first portion of the read data contained in the first codeword and reading a second portion of the read data contained in the second codeword, assembling the first portion and the second portion as assembled read data, and transferring the assembled read data to the host responsive to the read request. The first and second codewords are adjacently stored, and the assembled read data has a length that is greater than the length of the first and second codewords.


