Storage Controller Minimum Write Size Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices, such as SSDs, face inefficiencies in programming time and throughput due to the need to write small commands, which can slow down operations and decrease overall efficiency.

Innovation Solution

The storage device is optimized by dividing its capacity into streams with dedicated dies for user data and parity data, and by restricting host devices to send write commands in a minimum write size calculated based on erase block and metadata considerations, ensuring efficient data aggregation and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the storage device writes small commands as they are received, then the host device can send data at its own pace, but the programming time increases and throughput decreases

Engineering Contradiction:
Improvehost device flexibilityVSAvoidprogramming throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The storage device performs preliminary actions by receiving and buffering multiple small write commands in the controller's memory before programming them to the non-volatile storage unit. This allows the host to send data at its own pace while the storage device accumulates enough data to fill complete wordlines, thereby maintaining host flexibility while improving programming throughput by avoiding partial wordline writes.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the storage device aggregates small commands to reach minimum write size, then programming efficiency increases, but the complexity of data management increases

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidcontroller data management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The non-volatile storage unit is segmented into multiple streams, with dedicated dies for user data and parity data. The controller manages aggregation separately for each stream, tracking the amount of user data received and determining when minimum write sizes are reached. This segmentation allows independent aggregation management per stream, reducing the overall complexity compared to managing a single large buffer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller acts as an intermediary between the host device and the non-volatile storage unit. It receives small write commands from the host, aggregates them in memory, manages the aggregation logic including tracking data amounts and determining when minimum write sizes are reached, and then programs the aggregated data to storage. This intermediary role simplifies the host's task while enabling efficient aggregation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the storage device uses dedicated dies for user data and parity data in streams, then data integrity and retrieval capability improve, but the device structure becomes more complex

Engineering Contradiction:
Improvedata integrityVSAvoidstorage unit structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The non-volatile storage unit is divided into multiple dies, with dedicated dies assigned for user data and parity data within each stream. This segmentation physically separates user data from parity data, ensuring that even if user data dies fail, the parity data can help retrieve and reconstruct the original information. The segmented structure with dedicated functional dies improves reliability while maintaining manageable complexity through clear functional assignment.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11537510B2Storage devices having minimum write sizes of data
Publication Date: 2022.12.27 SANDISK TECHNOLOGIES LLC
  • US11537510B2 patent drawing
  • US11537510B2 patent drawing
  • US11537510B2 patent drawing

AI summary

The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller and a storage unit divided into a plurality of streams. The storage unit comprises a plurality of dies, where each die comprises two planes. One erase block from each plane of a die is selected for stream formation. Each erase block comprises a plurality of wordlines. A stream comprises one or two dies dedicated to storing parity data and a plurality of dies dedicated to storing user data. The stream further comprises space devoted for controller metadata. The storage device restricts a host device to send write commands in a minimum write size to increase programming efficiency. The minimum write size equals one wordline from one erase block from each plane of each die in the stream dedicated to storing user data minus the space dedicated to metadata.