Storage Device Direct Memory Access for Host Workload Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing protocols for data transfer between computers and data storage devices often require the computer to manage memory access, leading to potential bottlenecks that limit performance and efficiency, especially when handling multiple commands simultaneously.
Innovation Solution
The data storage device is empowered to directly access the computer's memory by receiving a list of commands and associated memory locations, allowing it to execute commands independently without relying on the host adaptor for memory access, thereby reducing the computer's workload and enabling it to perform other tasks while data transfer occurs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the computer manages memory access through host adaptor, then data transfer can be controlled, but system performance is limited due to bottlenecks
Solution Approach 1:
The patent inverts the traditional memory access control model by allowing the data storage device to directly access computer memory without requiring the host adaptor to mediate each memory access. This inversion of the control flow from host-centric to device-centric eliminates the bottleneck in the host adaptor and significantly improves data transfer speed while reducing the complexity of memory access management from the computer's perspective
2Productivity
If the computer performs memory access tasks, then data transfer can be managed, but the computer cannot perform other tasks simultaneously
Solution Approach 1:
The data storage device performs self-service by directly accessing computer memory to execute read and write commands without requiring the computer to actively manage each memory access operation. This enables the storage device to autonomously handle data transfer tasks, freeing the computer to perform other productive tasks simultaneously and eliminating time loss associated with waiting for memory access operations
3Productivity
If multiple commands are queued for execution, then data transfer speed increases, but the computer needs to manage command execution order
Solution Approach 1:
The data storage device autonomously manages command execution order by receiving a queue of commands from the computer and independently determining the optimal sequence for executing them. This eliminates the need for the computer to actively manage command execution order, allowing the storage device to optimize throughput while the computer simply needs to provide the command queue
Data Source
AI summary
A method for communicating between a computer and a data storage device comprises receiving, by a data storage device, information indicative of a plurality of commands and information indicative of a memory location in a computer associated with each of the plurality of commands. The method further comprises executing, by the data storage device, one of the plurality of commands. In one embodiment, executing the command comprises directly accessing the computer memory location associated with the command.


