Storage Controller Minimum Write Size Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If the storage device aggregates small commands to reach minimum write size, then programming efficiency increases, but the complexity of data management increases
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.
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.
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
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.
Data Source
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.


