SSD Background Write Segmentation for Faster Read Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solid-state drives (SSDs) face increased host read latencies due to the requirement that earlier-initiated background writes must be completed before later-received read commands can be transmitted, particularly in NAND SSDs where only one command can be sent to the physical media at a time.
Innovation Solution
Mechanisms are introduced to split background writes into smaller commands, tailored to the SSD's physical medium page size, allowing read commands to proceed without waiting for larger background writes to finish, especially during pure read workloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If background writes are transmitted to physical media before read commands, then write operations can be performed, but read command processing time increases
Solution Approach 1:
The patent segments background write operations into multiple smaller write commands that can be interleaved with read commands in the command queue. Instead of transmitting a single large background write command that blocks read operations, the write data is divided into smaller units that can be processed in smaller time increments, allowing read commands to be inserted and executed in between, thereby reducing read command processing time while still completing the background write operation.
2Device complexity
If only one command is transmitted to physical media at a time, then command transmission is simplified, but read and write operations cannot be performed simultaneously
Solution Approach 1:
The patent implements a dynamic command queue management system that adapts the transmission sequence based on command type and priority. The system dynamically adjusts the command transmission mechanism by allowing multiple commands to be queued and transmitted in an interleaved manner, with read commands potentially prioritized over background write commands. This dynamic approach enables simultaneous read-write operations while maintaining a relatively simple underlying transmission mechanism.
Data Source
AI summary
Mechanisms for improving read command processing times in a solid-state drive (SSD) are provided, the mechanisms comprising: determining a workload type of an SSD; in response to determining that the workload type is a pure read workload type: determining at least one command size into which an original background write is to be split-up using at least one hardware processor; and splitting-up the background write into a plurality of split background writes, each having one of the determined at least one command size. In some embodiments, the at least one command size accounts for a page of the physical medium of the SSD. In some embodiments, the at least one command size includes at least two different sizes. In some embodiments, the mechanisms further comprise combining two or more split background writes. In some embodiments, the original background write is split-up before being placed in a channel queue.


