Universal serial bus interface to mass storage device
First Claim
1. A method of operating a bridge which receives data read commands from a host via a USB connection and which issues read commands to a storage device, each of said read commands requesting data at a particular address, said method including,generating speculative read requests which request data from addresses that are sequential to the address specified in a previous read request,comparing the address in subsequent read request to the address in said speculative read request, andtransmitting to the host the data retrieved in response to said speculative read request if said addresses are the same.
5 Assignments
0 Petitions
Accused Products
Abstract
An improved bridge circuit for connecting a disk drive with an ATA interface to a computer via a USB bus. After the bridge receives the first data from the ATA interface, the bridge makes the assumption that the next read command will probably be for the next sequential data word and the interface issues a read command for the next sequential data word. After an accessing delay, the second data word is received by the bridge. When the bridge does in fact receive the next read command from the host, a check is made to see if the second read command is for the next sequential location from the first read command. If it is, the already fetched data is provided to the host without delay. If it is not, the process is handled as was the first read command.
28 Citations
23 Claims
-
1. A method of operating a bridge which receives data read commands from a host via a USB connection and which issues read commands to a storage device, each of said read commands requesting data at a particular address, said method including,
generating speculative read requests which request data from addresses that are sequential to the address specified in a previous read request, comparing the address in subsequent read request to the address in said speculative read request, and transmitting to the host the data retrieved in response to said speculative read request if said addresses are the same.
-
2. A method of operating a bridge device which receives data read commands from a host via a USB connection and which translates said read commands into commands in ATA format to a storage device, said method including two parts the first of which occur in response to the first read command which requests data at a first location and the second part of which occurs in response to read commands subsequent to said first command, each said subsequent commands requesting data at subsequent locations, said method including the steps of:
-
a) translating said first read command into an ATA format command and transmitting said ATA read command to said storage device where said storage device retrieves the data at said first location and transmits said data to said bridge device, b) transmitting said data from said bridge to said host via said USB connection, c) generating and transmitting to said ATA interface and to said storage device a second read command requesting data at the next sequential location to said first location, d) receiving and storing the data retrieved from said next sequential location, and e) when the a subsequent read command is received from said host, comparing the address in said subsequent command to said next sequential location address, and transmitting the data received from said storage device in response said request for data from the next location, if the address in said subsequent read command is the same as said next sequential address. - View Dependent Claims (4, 6, 8)
-
-
9. A bridge which receives data read commands from a host via a USB connection and which issues read commands to a storage device, each of said read commands requesting data at a particular address, said bridge including,
means for generating speculative read requests which request data from addresses that are sequential to the address specified in a previous read request, and means for comparing the address in subsequent read request to the address in said speculative read request, and transmitting to said host the data retrieved in response to said speculative read request if said addresses are the same.
-
10. A bridge device which receives data read commands from a host via a USB connection and which translates said read commands into commands in ATA format to a storage device, said bridge receiving a first read command which requests data at a first location and a subsequent commands requesting data at subsequent locations, said bridge including:
-
a) means for translating said first read command into an ATA format command and transmitting said ATA read command to said storage device where said storage device retrieves the data at said first location and transmits said data to said bridge device, b) means for transmitting said data from said bridge to said host via said USB connection, c) means for generating and transmitting to said ATA interface and to said storage device a second read command requesting data at the next sequential location to said first location, d) means for receiving and storing the data retrieved from said next sequential location, and e) means operable when the a subsequent read command is received from said host, for comparing the address in said subsequent command to said next sequential location address, and for transmitting the data received from said storage device in response said request for data from the next location, if the address in said subsequent read command is the same as said next sequential address. - View Dependent Claims (12, 14, 16)
-
-
17. A method of operating a bridge which connects a memory device to a host via a USB connection, said host being adapted to send a sequence of memory read commands to said bridge, said method including the following steps performed after data from a first read command is received from said memory device,
a) generating a speculative read command to read data from the next sequential address to the address specified in the previous read command from the host, c) after a read command is received by said bridge from said host, comparing the address in said read command to said next sequential address used by the previous speculative read command, and d) if said addresses match, sending the data received by said speculative read command to said host.
Specification