LBA Scatter Lists for Fine-Grained SSD I/O Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solid-state drives (SSDs) face limitations in achieving high input/output operations per second (IOP/s) due to context switching overhead, especially when targeting smaller data granularities like 512 or 256 bytes, which current solutions either perform too slowly or require excessive drives, and graphics processing units (GPUs) struggle with efficient data throughput using traditional 4K sector sizes.

Innovation Solution

Implementing a logical block addressing (LBA) scatter list to calculate addresses for finer granularity I/O operations, allowing for smaller block sizes and batch processing of read requests, thereby increasing throughput and reducing interconnect bandwidth consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional 4K sector size is used for SSD I/O operations, then the SSD hardware pipeline logic operates efficiently, but the IOP/s is constrained by context switching overhead and cannot achieve higher throughput for smaller data granularities

Engineering Contradiction:
ImproveIOP/sVSAvoidcontext switching overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the I/O processing by introducing an LBA scatter list that divides data access into multiple 256-byte granularities within a single 4K sector. This allows the SSD to process smaller data units without requiring separate context switches for each access, thereby increasing IOP/s while maintaining hardware efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the address calculation by implementing an offset mechanism that operates within the 4K sector boundary. The LBA scatter list includes offset fields that enable addressing specific bytes within a sector, effectively creating a two-level addressing scheme (sector + offset) that bypasses the need for additional context switches.

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

2Productivity

If smaller block sizes (512 or 256 bytes) are targeted to increase IOP/s, then finer granularity access is achieved, but the number of drives required increases excessively

Engineering Contradiction:
ImproveIOP/sVSAvoidnumber of drives
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple small read requests into a single command by using the LBA scatter list to batch several 256-byte accesses within one 4K sector into one I/O operation. This consolidation allows the system to achieve fine-grained access patterns without proportionally increasing the number of drives, as multiple logical operations are executed through a single physical drive interaction.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If L2P table size is increased to support finer granularity addressing, then more address entries are available, but the design cost and memory requirements increase

Engineering Contradiction:
Improveaddressing granularityVSAvoidL2P table size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-calculating and storing offset information in the LBA scatter list structure. Instead of requiring the L2P table to maintain separate entries for every possible byte offset, the system pre-computes the offsets and stores them in the scatter list, allowing the L2P table to remain compact while still supporting fine-grained addressing through the offset mechanism.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12393358B1Use of an LBA scatter list to calculate an address corresponding to an entry in the LBA scatter list
Publication Date: 2025.08.19 MICROCHIP TECHNOLOGY INC
  • US12393358B1 patent drawing
  • US12393358B1 patent drawing
  • US12393358B1 patent drawing

AI summary

Systems and methods for using a logical block addressing (LBA) scatter list to calculate an address corresponding to an entry in the LBA scatter list are disclosed. A system may include a non-transitory memory including machine-readable instructions that, when executed by a processor, cause the processor to allocate an LBA scatter list array and send an initializing command to a target storage device to provide to the target storage device an address to the LBA scatter list array. The instructions cause the processor to gather a plurality of read requests and select an available LBA scatter list index. The instructions cause the processor to populate a LBA list indicated by the selected LBA scatter list index and send a subsequent command to the target storage device to cause the target storage device to calculate an address corresponding to a given entry in the selected LBA scatter list index.