IP Library Granted Patent US 8,645,601
Granted Patent B2
US 8,645,601 · App. 13/149,103 · Granted Feb 4, 2014

Methods and systems for performing serial data communication between a host device and a connected device

Inventors: Juan Ortiz (Bellevue, WA); Biao Jia (Lake Elsinore, CA)
Assignee: SMSC Holdings S.A.R.L.
G06F13/385
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 8,645,601
App. No.
13/149,103
Granted
Feb 4, 2014
Kind
B2
Abstract

Various methods, devices, systems, and machine readable mediums are provided which may be used in accordance with a protocol, such as a protocol used to support the transfer of data and commands between a host and a device. In one embodiment, a driver on a host device may be used to implement a protocol to provide support for various features of the universal serial bus (USB) attached storage (UAS) protocol when interfacing the host device with one or more connected devices that are compatible with either the USB 2.0 standard or the USB 3.0 standard. In this regard, a single driver on the host device may be used to support USB 2.0 and USB 3.0 devices. In another embodiment, such a protocol may be used to support USB 3.0 devices without requiring USB 3.0 streaming capabilities to be supported by host devices or connected devices.

Claims (57)

1. A method of implementing serial data communication between a host device and a connected device, the method comprising:

issuing a plurality of commands from the host device to the connected device, wherein each command includes a unique tag corresponding to a unique universal serial bus (USB) stream identifier;

receiving, from the connected device, a first ready notification of a USB 3.0 standard, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

receiving, from the connected device, a second ready notification of a USB 2.0 standard, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

performing a data transfer associated with the one of the commands in response to the second ready notification.

2. The method of claim 1 , wherein the method further comprises:

performing said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer a plurality of times for remaining ones of the plurality of commands.

3. The method of claim 1 , wherein the first ready notification comprises a stream identification value, wherein the stream identification value is 0.

4. The method of claim 1 , wherein the data transfer is a streaming data transfer.

5. The method of claim 2 , wherein said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer for each command is not performed in a same order as issued from the host device.

6. A non-transitory, computer accessible memory medium storing program instructions for implementing serial data communication between a host device and a connected device, wherein the program instructions are executable to:

issue a plurality of commands from the host device to the connected device, wherein each command includes a unique tag corresponding to a unique serial bus stream identifier;

receive, from the connected device, a first ready notification of a first serial bus standard, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

receive, from the connected device, a second ready notification of a second serial bus standard, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

perform a data transfer associated with the one of the commands in response to the second ready notification.

7. The non-transitory, computer accessible memory medium of claim 6 , wherein the program instructions are further executable to:

perform said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer a plurality of times for remaining ones of the plurality of commands.

8. The non-transitory, computer accessible memory medium of claim 6 , wherein the first ready notification comprises a stream identification value, wherein the stream identification value is 0.

9. The non-transitory, computer accessible memory medium of claim 6 , wherein the first serial bus standard is USB 2.0 and wherein the second serial bus standard is USB 3.0, wherein the connected device is a USB 3.0 device.

10. The non-transitory, computer accessible memory medium of claim 7 , wherein said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer for each command is not performed in a same order as issued from the host device.

11. A method of implementing serial data communication between a host device and a connected device, the method comprising:

receiving a plurality of commands from the host device, wherein each command includes a unique tag corresponding to a unique universal serial bus (USB) stream identifier;

providing a first ready notification of a USB 3.0 standard to the host device, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

providing a second ready notification of a USB 2.0 standard to the host device, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

performing a data transfer associated with the one of the commands in response to the second ready notification.

12. The method of claim 11 , further comprising:

performing said providing the first ready notification, said providing the second ready notification, and said performing the data transfer a plurality of times for remaining ones of the plurality of commands.

13. The method of claim 11 , wherein the first ready notification comprises a stream identification value, wherein the stream identification value is 0.

14. The method of claim 11 , wherein the connected device comprises a USB 3.0 device.

15. The method of claim 12 , wherein said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer for each command is not performed in a same order as issued from the host device.

16. A device, comprising:

a controller; and

a one or more memories coupled to the controller;

wherein the controller is configured to implement serial data communication between a host device and the device, wherein the controller is configured to:

receive a plurality of commands from the host device, wherein each command includes a unique tag corresponding to a unique universal serial bus (USB) stream identifier;

store the plurality of commands in the one or more memories;

provide a first ready notification of a USB 3.0 standard to the host device, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

provide a second ready notification of a USB 2.0 standard to the host device, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

perform a data transfer associated with the one of the commands using the one or more memories in response to the second ready notification.

17. The device of claim 16 , wherein the controller is further configured to:

perform said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer a plurality of times for remaining ones of the plurality of commands.

18. The device of claim 16 , wherein the first ready notification comprises a stream identification value, wherein the stream identification value is 0.

19. The device of claim 16 , wherein the device comprises a USB 3.0 device.

20. The device of claim 17 , wherein said receiving the first ready notification, said receiving the second ready notification, and said performing the data transfer for each command is not performed in a same order as issued from the host device.

21. A host device comprising:

a processor;

a controller; and

a memory adapted to store a plurality of machine readable instructions comprising a driver, wherein the driver is executable by the processor to implement serial data communication between the host device and a connected device, wherein the driver is executable to:

issue a plurality of commands from the host device to the connected device, wherein each command includes a unique tag corresponding to a unique universal serial bus (USB) stream identifier;

receive, from the connected device, a first ready notification of a USB 3.0 standard, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

receive, from the connected device, a second ready notification of a USB 2.0 standard, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

perform a data transfer associated with the one of the commands in response to the second ready notification.

22. A method of implementing serial data communication between a host device and a connected device, the method comprising:

issuing a plurality of commands from the host device to the connected device, wherein each command includes a unique tag corresponding to a unique serial bus stream identifier;

receiving, from the connected device, a first ready notification of a first serial bus standard, wherein the first ready notification indicates that the connected device is prepared to execute a first command of the plurality of commands, wherein the first ready notification does not indicate the first command or the unique tag associated with the first command;

receiving, from the connected device, a second ready notification of a second USB standard, wherein the second ready notification indicates that the connected device is prepared to execute the first command, wherein the second ready notification indicates the unique tag associated with the first command to identify the first command to the host device; and

performing a data transfer associated with the one of the commands in response to the second ready notification.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2011
From: ORTIZ, JUAN; JIA, BIAO
To: SMSC HOLDINGS S.A.R.L.
Reel/Frame 026871/0436 →
Continuity (2)
Provisional Application 61354035 · Jun 11, 2010
Related Publication 20110314196A1 · Dec 22, 2011