Host Device Data Access via Segmented I/O Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory-constrained host systems, the limited buffer capacity prevents the host device from issuing sufficient I/O commands to data storage devices, thereby underutilizing the capabilities of these devices.
Innovation Solution
The host device transmits data access requests to the data storage device in two parts: a first part with data access information and parameters, and a second part with buffer information, allowing for efficient data transfer even with limited buffer availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the host device transmits complete I/O commands with buffer information in limited buffer capacity, then the data transfer can be initiated, but the host device cannot issue sufficient I/O commands due to buffer exhaustion
Solution Approach 1:
The I/O command is divided into two separate parts: the first part contains data access information and parameters, while the second part contains buffer information. This segmentation allows the host device to transmit the smaller first part when buffer space is limited, enabling multiple command submissions without requiring the entire command structure to be present in buffer simultaneously.
Solution Approach 2:
The host device transmits the first part of the I/O command (data access information and parameters) in advance before the buffer information is ready or before the data is actually transferred. This preliminary action allows the storage device to prepare for the operation while the host can continue issuing other commands, improving overall productivity without requiring large buffer capacity.
2Productivity
If the host device waits for data to be ready before issuing I/O commands, then buffer management is simplified, but the data storage device capabilities are underutilized
Solution Approach 1:
The host device submits the first part of the I/O command (data access information and parameters) in advance to the storage device, allowing the storage device to begin preparation operations immediately. The host does not need to wait for data readiness before issuing the command structure, thereby utilizing the storage device's capabilities more effectively while managing buffer resources efficiently.
Solution Approach 2:
The storage device processes the first part of the command and provides feedback or notification when data is ready for transfer. This feedback mechanism allows the host device to issue subsequent commands or transmit the second part (buffer information) at appropriate times, optimizing both device utilization and buffer management without requiring the host to continuously monitor data readiness.
Data Source
AI summary
A method of accessing data from a data storage device includes transmitting a request including a first part to the data storage device, based on availability of memory in host device. The first part includes data access information and one or more parameters for accessing data from data storage device. The method further includes receiving a first notification from the data storage device, indicating a transfer of the data to a storage buffer associated with the data storage device. The method further includes accessing the data from the data storage device by transmitting second part of request to the data storage device. The second part includes buffer information associated with a host buffer of host device. The data is transferred by the data storage device from the storage buffer to the host buffer of host device using buffer information.


