IP Library Granted Patent US 7,162,565
Granted Patent B1
US 7,162,565 · App. 10/796,872 · Granted Jan 9, 2007

Universal serial bus interface to mass storage device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,162,565
App. No.
10/796,872
Granted
Jan 9, 2007
Kind
B1
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.

Claims (41)

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.

3. The method recited in claim 1 wherein said USB connection operates in accordance with the USB 2.0 standard protocol.

4. The method recited in claim 2 wherein said USB connection operates in accordance with the USB 2.0 standard protocol.

5. The method recited in claim 1 wherein said storage device is a hard disk drive.

6. The method recited in claim 2 wherein said storage device is a hard disk drive.

7. The method recited in claim 1 wherein said host is a personal computer.

8. The method recited in claim 2 wherein said host is a personal computer.

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.

11. The bridge recited in claim 9 wherein said USB connection operates in accordance with the USB 2.0 standard protocol.

12. The bridge recited in claim 10 wherein said USB connection operates in accordance with the USB 2.0 standard protocol.

13. The bridge recited in claim 9 wherein said storage device is a hard disk drive.

14. The bridge recited in claim 10 wherein said storage device is a hard disk drive.

15. The bridge recited in claim 9 wherein said host is a personal computer.

16. The bridge recited in claim 10 wherein said host is a personal computer.

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.

18. The method recited in claim 17 wherein the data read by said speculative read command is discarded in the address in the next read command from the host does not match the address in said speculative read command.

19. The method recited in claim 17 wherein said USB connection operates in accordance with the USB 2.0 standard protocol.

20. The method recited in claim 17 wherein said storage device is a hard disk drive.

21. The method recited in claim 17 wherein said host is a personal computer.

22. The bridge recited in claim 9 wherein said storage device includes an address register and wherein said speculative read request pre-loads said address register and instructs said storage device to read data specified by the address register if the address loaded equals the address in said subsequent read command.

23. The bridge recited in claim 22 wherein said storage device includes a length register and said speculative read request also pre-loads said length register.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2025
From: MONTEREY RESEARCH LLC
To: SOUTHFORK IP HOLDINGS LLC
Reel/Frame 071299/0161 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2005
From: KOLOKOWSKY, STEPHEN HENRY; MCCOY, MARK
To: CYPRESS SEMICONDUCTOR CORP.
Reel/Frame 015708/0471 →