SSD Payload Spill Boundary Table Assisted Read

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidpayload storage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata transfer throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvestorage space utilizationVSAvoiddata management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedata integrity under high BERVSAvoidpayload capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11481151B2Payload spill boundary table assisted read in solid state drives
Publication Date: 2022.10.25 KIOXIA CORP
  • US11481151B2 patent drawing
  • US11481151B2 patent drawing
  • US11481151B2 patent drawing

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.