Host DMA Read Path Switching for Lower SSD Read Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage devices experience high read latency and require large buffer sizes, which lead to increased costs and inefficient random read operations.
Innovation Solution
A controller that selectively performs either a 1-stage or 2-stage DMA operation based on the read path attribute, allowing direct data transfer from the error correction circuit's output buffer to the host device, thereby optimizing read operations and reducing buffer size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a 2-stage DMA operation is used for random read operations, then data can be buffered and managed flexibly, but read latency increases and buffer size requirements increase
Solution Approach 1:
The patent segments the DMA operation into two distinct paths: a 1-stage DMA path for sequential reads that bypasses the buffer, and a 2-stage DMA path for random reads that uses the buffer. This segmentation allows the system to optimize for speed in sequential operations while maintaining buffering capabilities for random operations, thereby reducing read latency without unnecessarily increasing buffer size for all operations.
Solution Approach 2:
The patent implements dynamic path selection based on read request attributes. The controller dynamically determines whether to use the 1-stage or 2-stage DMA path depending on whether the read operation is sequential or random. This dynamic adaptation allows the system to minimize buffer usage for sequential reads (reducing latency) while maintaining full buffering for random reads when needed.
2Reliability
If a 2-stage DMA operation is used, then data buffering capability is improved, but the buffer memory size increases leading to higher costs
Solution Approach 1:
The patent applies local quality by providing different buffering capabilities for different read operation types. The 1-stage DMA path for sequential reads uses minimal or no buffering, while the 2-stage DMA path for random reads utilizes the full buffer. This localized optimization ensures that buffer memory is allocated and used only where it provides actual benefit, reducing overall buffer size requirements while maintaining data buffering capability for operations that need it.
Solution Approach 2:
The buffer memory serves multiple functions: it acts as a data staging area for 2-stage DMA operations, provides caching for random reads, and can be bypassed entirely for sequential reads. This multi-functionality allows the buffer to provide reliability benefits when needed without requiring excessive buffer size for all operation types, thereby reducing cost while maintaining buffering capability.
3Productivity
If a 1-stage DMA operation is used for sequential reads, then read latency is reduced, but buffer size can be minimized
Solution Approach 1:
The patent performs preliminary action by pre-determining the read path based on read request attributes before the actual data transfer begins. The controller examines the read request to identify whether it is sequential or random, and accordingly selects the 1-stage or 2-stage DMA path in advance. This preliminary path selection enables the system to optimize for read speed using the 1-stage path for sequential reads without adding buffer management complexity during the actual data transfer phase.
Solution Approach 2:
The host DMA manager acts as an intermediary that coordinates between the host controller and the buffer memory. It manages the path selection logic and coordinates data flow between the non-volatile memory interface, buffer, and host interface. This intermediary simplifies buffer management by centralizing the path selection and data routing logic, allowing the 1-stage DMA path to achieve high read speed without imposing complexity on the buffer management subsystem.
Data Source
AI summary
An operating method of a storage device is provided. The operating method includes: receiving a host read command from a host device; identifying whether a read path corresponding to the host read command corresponds to a first direct memory access (DMA) read path; and directly outputting, by a host DMA manager, read data stored in an output buffer of an error correction circuit to the host device based on the read path corresponding to the first DMA read path.


