Controller Command Concatenation for Storage Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data transfer protocols over databuses, such as USB, SCSI, and SATA, face inefficiencies due to the overhead associated with handling individual data access commands, particularly when accessing contiguous ranges of addresses, which slows down the transfer rate of storage data and commands.
Innovation Solution
A controller that analyzes a queue of data access commands and combines those specifying the same type of data access and contiguous ranges of addresses into a single concatenated data access command, reducing the number of commands transferred and thereby minimizing overhead, while maintaining transparency to the storage device and host apparatus without requiring modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple individual data access commands are transferred separately, then the storage device can process each command independently, but the overall transfer rate is reduced due to command handling overhead
Solution Approach 1:
The patent merges multiple individual data access commands that specify the same type of data access and contiguous ranges of addresses into a single concatenated data access command. This combining approach reduces the number of commands transferred over the databus, thereby minimizing the overhead associated with handling individual commands and improving the overall transfer rate of storage data
2Productivity
If the number of data access commands is reduced through concatenation, then the command transfer overhead is minimized, but the controller complexity increases due to queue analysis and command identification
Solution Approach 1:
The patent applies preliminary action by analyzing the queue of data access commands and identifying commands that can be concatenated before they are transferred to the storage device. The controller examines the queued commands, identifies those specifying the same type of data access and contiguous ranges of addresses, and prepares the concatenated command in advance, thereby reducing transfer overhead without requiring complex real-time processing during data transfer
Data Source
AI summary
A controller controls transfer of commands and storage data over a databus to a data storage device. The controller comprises a memory arranged to store a queue of commands prior to the commands being transferred over the databus. The controller identifies data access commands in the queue that specify the same type of data access and contiguous ranges of addresses. A concatenated data access command is transferred in place of so identified data access commands, the concatenated data access command specifying the same type of data access and the overall range of addresses. This improves the rate of data transfers.


