IP Library Granted Patent US 8,386,580
Granted Patent B1
US 8,386,580 · App. 12/573,019 · Granted Feb 26, 2013

Shared buffer for data communications routed through hub

Inventor: Christopher Thomas (San Diego, CA)
Assignee: SMSC Holdings S.a.r.l.
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,386,580
App. No.
12/573,019
Granted
Feb 26, 2013
Kind
B1
Abstract

Various techniques are provided for selectively allocating a buffer adapted to be shared for storage media device data communications and downstream device data communications routed through a hub. For example, in one embodiment, a method includes detecting if one or more downstream devices are connected to one or more downstream device ports of the hub. The method also includes, if any downstream devices are detected: allocating a first portion of the buffer for a storage media device controller, allocating one or more second portions of the buffer for the detected downstream devices, wherein each of the second portions is associated with a corresponding one of the detected downstream devices, and passing the storage media device data communications between a host device and the storage media device controller through the first portion of the buffer and not the second portions of the buffer.

Claims (68)

1. A method of selectively allocating a buffer adapted to be shared for storage media device data communications and downstream device data communications routed through a hub, the method comprising:

detecting if one or more downstream devices are connected to one or more downstream device ports of the hub; and

if any downstream devices are detected:

allocating a first portion of the buffer for a storage media device controller,

allocating one or more second portions of the buffer for the detected downstream devices, wherein each of the second portions is associated with a corresponding one of the detected downstream devices, and

passing the storage media device data communications between a host device and the storage media device controller through the first portion of the buffer and not the second portions of the buffer.

2. The method of claim 1 , further comprising passing the downstream device data communications between the host device and the detected downstream devices through the second portions of the buffer and not the first portion of the buffer.

3. The method of claim 2 , wherein the first portion of the buffer and at least one of the second portions of the buffer overlap with each other, the method further comprising switching between:

using the first portion of the buffer to pass the storage media device data communications; and

using the at least one of the second portions of the buffer to pass the downstream device data communications.

4. The method of claim 2 , further comprising:

populating a route table with device identifiers associated with the detected downstream devices; and

routing the downstream device data communications using the route table.

5. The method of claim 1 , further comprising:

if no downstream devices are detected:

allocating a third portion of the buffer comprising substantially all of the buffer for the storage media device controller; and

passing the storage media device data communications between the host device and the storage media device controller through the third portion of the buffer.

6. The method of claim 1 , further comprising:

receiving a Universal Serial Bus (USB) enumeration request from the host device; and

delaying providing a response to the USB enumeration request to register the storage media device controller with the host device until at least after the buffer has been allocated.

7. The method of claim 1 , wherein the downstream device ports are Universal Serial Bus (USB) 3.0 ports and the detected downstream devices are USB 3.0 devices.

8. The method of claim 1 , wherein the hub further comprises a plurality of storage media device ports adapted to interface one or more storage media devices with the storage media device controller.

9. The method of claim 8 , wherein the hub is implemented in a storage media device enclosure and at least one of the storage media device ports is adapted to be connected to a storage media device in the storage media device enclosure.

10. The method of claim 8 , wherein the storage media device ports are Serial Advanced Technology Attachment (SATA) ports.

11. The method of claim 8 , wherein the storage media device ports are flash memory interface ports.

12. The method of claim 8 , further comprising operating the storage media devices such that the host device perceives the storage media devices as a single storage media device.

13. The method of claim 8 , further comprising transferring data between the storage media devices without intervention by the host device.

14. The method of claim 8 , further comprising operating at least a first one of the storage media devices as a cache for at least a second one of the storage media devices.

15. The method of claim 1 , wherein the storage media device controller is integrated with the hub.

16. A device comprising:

a host device port adapted to interface with a host device;

one or more downstream device ports adapted to interface with one or more downstream devices;

a storage media device controller;

a hub; and

a buffer adapted to be shared for storage media device data communications and downstream device data communications routed through the hub, wherein the hub is adapted to:

detect if one or more downstream devices are connected to the one or more downstream device ports, and

if any downstream devices are detected, allocate a first portion of the buffer for the storage media device controller, allocate one or more second portions of the buffer for the detected downstream devices, wherein each of the second portions is associated with a corresponding one of the detected downstream devices, and pass the storage media device data communications between the host device and the storage media device controller through the first portion of the buffer and not the second portions of the buffer.

17. The device of claim 16 , wherein the hub is further adapted to pass the downstream device data communications between the host device and the detected downstream devices through the second portions of the buffer and not the first portion of the buffer.

18. The device of claim 17 , wherein the first portion of the buffer and at least one of the second portions of the buffer overlap with each other, and wherein the hub is further adapted to switch between:

using the first portion of the buffer to pass the storage media device data communications; and

using the at least one of the second portions of the buffer to pass the downstream device data communications.

19. The device of claim 17 , wherein:

the hub comprises a route table adapted to store device identifiers associated with the detected downstream devices; and

the hub is adapted to populate the route table with the device identifiers and route the downstream device data communications using the route table.

20. The device of claim 16 , wherein the hub is further adapted to, if no downstream devices are detected:

allocate a third portion of the buffer comprising substantially all of the buffer for the storage media device controller; and

pass the storage media device data communications between the host device and the storage media device controller through the third portion of the buffer.

21. The device of claim 16 , wherein the hub is further adapted to:

receive a Universal Serial Bus (USB) enumeration request from the host device; and

delay a response to the USB enumeration request to register the storage media device controller with the host device until at least after the buffer has been allocated.

22. The device of claim 16 , wherein the downstream device ports are Universal Serial Bus (USB) 3.0 ports and the detected downstream devices are USB 3.0 devices.

23. The device of claim 16 , wherein the device further comprises a plurality of storage media device ports adapted to interface one or more storage media devices with the storage media device controller.

24. The device of claim 23 , wherein the device is a storage media device enclosure and at least one of the storage media device ports is adapted to be connected to a storage media device in the storage media device enclosure.

25. The device of claim 23 , wherein the storage media device ports are Serial Advanced Technology Attachment (SATA) ports.

26. The device of claim 23 , wherein the storage media device ports are flash memory interface ports.

27. The device of claim 23 , wherein the device is adapted to operate the storage media devices such that the host device perceives the storage media devices as a single storage media device.

28. The device of claim 23 , wherein the device is adapted to transfer data between the storage media devices without intervention by the host device.

29. The device of claim 23 , wherein the device is adapted to operate at least a first one of the storage media devices as a cache for at least a second one of the storage media devices.

30. The device of claim 16 , wherein the storage media device controller is integrated with the hub.

31. A device comprising:

a host device port adapted to interface with a host device;

one or more downstream device ports adapted to interface with one or more downstream devices;

a storage media device controller;

a buffer adapted to be shared for storage media device data communications and downstream device data communications;

means for detecting if one or more downstream devices are connected to the one or more downstream device ports;

means for allocating a first portion of the buffer for the storage media device controller;

means for allocating one or more second portions of the buffer for the detected downstream devices, wherein each of the second portions is associated with a corresponding one of the detected downstream devices, and

means for passing the storage media device data communications between a host device and the storage media device controller through the first portion of the buffer and not the second portions of the buffer.

Assignments (11)
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 Jun 2, 2011
From: SYMWAVE, INC.
To: SMSC HOLDINGS S.A.R.L.
Reel/Frame 026377/0519 →
SECURITY AGREEMENT Recorded Aug 13, 2010
From: SYMWAVE, INC.
To: STANDARD MICROSYSTEMS CORPORATION
Reel/Frame 024823/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2009
From: THOMAS, CHRISTOPHER
To: SYMWAVE, INC.
Reel/Frame 023322/0622 →