USB Storage Data Access via Command Batching and Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current USB storage devices experience inefficiencies in data access due to the need for frequent CBW and CSW commands, leading to increased processing time and reduced data transmission rates, especially when handling large data volumes.
Innovation Solution
A method that determines whether the accessed memory space is above a threshold and if logical addresses are continuous, allowing for continuous data access procedures without sending CBW, and using buffer areas to combine write commands and store data for reduced CBW and CSW transmissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If one CBW command and one CSW command are sent for each packet during large data transmission, then data transmission reliability is ensured, but processing time increases and overall data transmission rate degrades
Solution Approach 1:
The patent combines multiple CBW commands into a single batch command and processes multiple data packets in one operation. Instead of sending one CBW and one CSW for each packet, the system batches multiple packets together and sends a single composite command, thereby reducing the total number of command exchanges and improving data transmission rate while minimizing processing time overhead.
Solution Approach 2:
The patent performs preliminary actions by pre-processing and batching multiple data packets before transmission. The system prepares a batch of packets in advance, validates them, and groups them into a single transmission unit. This preliminary organization reduces the need for repeated command exchanges during actual data transfer, thereby reducing processing time and improving overall transmission efficiency.
2Productivity
If frequent CBW and CSW commands are used for each data packet, then data transmission accuracy is maintained, but the number of command transmissions increases and data access speed decreases
Solution Approach 1:
The patent merges multiple individual CBW commands and CSW commands into a single batched command structure. Instead of transmitting commands packet-by-packet, the system consolidates multiple packets into one transmission unit with a single command exchange, thereby reducing the total number of command transmissions and simplifying the communication protocol overhead while maintaining data integrity.
Solution Approach 2:
The patent enables continuous data transmission by eliminating the stop-start nature of individual CBW-CSW exchanges. Once a batch command is initiated, the system continuously transmits multiple packets in sequence without requiring intermediate command interruptions, thereby maintaining continuous useful action and improving data access speed while reducing the frequency of command transmissions.
3Quantity of substance
If data transmission requires broad bandwidth for large data volumes, then data transmission capacity is improved, but the overhead of frequent command exchanges increases processing burden
Solution Approach 1:
The patent combines multiple data packets into a single batched transmission unit, allowing large data volumes to be transmitted through consolidated command structures. This merging approach reduces the processing burden by minimizing the number of individual command exchanges required, even when handling large quantities of data, thereby improving transmission capacity without proportionally increasing processing overhead.
Solution Approach 2:
The patent segments large data transmissions into manageable batches that can be processed efficiently. By dividing the overall data transfer into discrete batch units, the system optimizes the balance between data volume and processing burden, allowing broad bandwidth utilization while keeping command exchange overhead manageable through structured segmentation of transmission tasks.
Data Source
AI summary
A method for expediting data access of a Universal Serial Bus (USB) storage device is disclosed. In a first embodiment, a data transmission procedure without the need of sending command block wrappers (CBW) is executed if a read command for reading data of a large memory space is received, and the addresses of the read commands are continuous. In a second embodiment, several write commands of continuous addresses are stored in a buffer area and combined into a larger single request command before sending to the USB storage device, so as to reduce the number of times of sending CBW and command status wrapper (CSW) required for the data transmission. In a third embodiment, more data are read and stored in a buffer area in advance when a read command is received, such that the next command can read data from the buffer area to improve the speed of reading data.


