Hybrid Hardware-Software LBA-PBA Binding for SSD Write Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solid-state data storage devices face challenges in fully exploiting NAND flash memory write bandwidth due to software-based logical block address (LBA) to physical block address (PBA) binding, leading to underutilization of flash memory bandwidth and reduced write throughput, especially when handling multiple threads.

Innovation Solution

Implementing a hybrid software/hardware-based LBA-PBA binding method, where a hardware engine in the device controller receives threads with data and LBAs, writes data into a write buffer, binds contiguous PBAs to LBAs, and writes data to memory once the buffer is full, enabling 'on-the-fly' binding and improved throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software-based LBA-PBA binding is used, then the system is easier to implement and maintain, but the write throughput and flash memory bandwidth utilization are reduced

Engineering Contradiction:
Improvewrite throughputVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller is segmented into distinct hardware components: a hardware engine for LBA-PBA binding, a write buffer for data staging, and a write manager for coordination. This segmentation allows the binding operation to be performed in hardware parallel to data writing, improving throughput without overwhelming controller complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A write buffer is introduced as an intermediary component between the host interface and the flash memory. The buffer allows data to be staged and bound to PBAs in parallel, decoupling the binding operation from the write operation and enabling higher throughput without proportionally increasing controller complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If software-based LBA-PBA binding is used, then the control logic is simpler, but the flash memory bandwidth is underutilized

Engineering Contradiction:
Improvebandwidth utilization efficiencyVSAvoidwrite waiting time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The hardware engine performs LBA-PBA binding in advance while data is being written to the flash memory. By binding LBAs to PBAs before the write operation completes, the system prepares the mapping information ahead of time, eliminating waiting time and ensuring full bandwidth utilization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The binding operation continues continuously alongside the write operation through parallel hardware execution. The hardware engine processes binding requests without idle waiting periods, maintaining continuous useful action that fully utilizes flash memory bandwidth

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If software-based LBA-PBA binding is used, then the processing logic is more flexible, but inter-thread speed variations cause performance bottlenecks

Engineering Contradiction:
Improvemulti-thread write performanceVSAvoidthread synchronization stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The hardware engine creates independent binding processing paths for multiple threads, with each thread having dedicated binding resources. This copying of binding functionality to hardware level allows parallel thread processing without synchronization bottlenecks, maintaining stable performance across varying thread speeds

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10901889B2Using hybrid-software/hardware based logical-to-physical address mapping to improve the data write throughput of solid-state data storage devices
Publication Date: 2021.01.26 SCALEFLUX INC
  • US10901889B2 patent drawing
  • US10901889B2 patent drawing
  • US10901889B2 patent drawing

AI summary

A method for providing logical block address (LBA) to physical block address (PBA) binding in a storage device includes: receiving at least one thread at a hardware engine of the device controller of the storage device, each thread including data and LBAs for the data; writing the data into a write buffer of the storage device; binding, by the hardware engine of the device controller, a sequence of contiguous PBAs for a section of the memory to the LBAs for the data in the write buffer; determining if the write buffer contains enough data for the section of the memory; and if the write buffer contains enough data for the section of the memory, writing the data to the section of the memory.