IP Library Granted Patent US 9,479,279
Granted Patent B2
US 9,479,279 · App. 13/915,586 · Granted Oct 25, 2016

Multiple protocol tunneling using time division operations

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 9,479,279
App. No.
13/915,586
Granted
Oct 25, 2016
Kind
B2
Abstract

Embodiments of the invention are generally directed to multiple protocol tunneling using time division operations. An embodiment of an apparatus includes an interface for communication with a second apparatus, the interface including a shared communication link; and a multiplexer to multiplex data of each of multiple protocols into time slots for transmission, the protocols including a first protocol. The time slots are distributed among the protocols, where the distribution of the time slots among the protocols includes assigning one or more time slots to the first protocol to enable the data of the first protocol to meet one or more performance requirements for the first protocol.

Claims (46)

1. An apparatus comprising:

an interface for communication with a second apparatus, via a time division multiplexing protocol, the interface including a shared communication link; and

a multiplexer to:

determine a time slot width based on both a latency requirement of a first protocol of a plurality of protocols and a maximum queuing delay imposed, in part, by traffic of other protocols of the plurality of protocols, the time slot width being a number of bits;

determine an allocation of time slots among the plurality of protocols to satisfy performance requirements of the first protocol, the performance requirements including the latency requirement of the first protocol; and

multiplex data of each of the plurality of protocols into time slots for transmission based on the time slot width and the allocation of time slots.

2. The apparatus of claim 1 , wherein the performance requirements of the first protocol include one or more of a bandwidth requirement and a Quality of Service (QoS) requirement.

3. The apparatus of claim 1 , wherein determining the allocation of time slots comprises:

determining a number of time slots, within a set of time slots, to allocate to the first protocol which will meet the performance requirements of the first protocol;

allocating at least that number of time slots, within the set of time slots, to the first protocol.

4. The apparatus of claim 1 , wherein determining the allocation of the time slots includes determining, based on the performance requirements of the first protocol, the allocation of a position of one more time slots.

5. The apparatus of claim 1 , wherein the number of bits of the time slot width is one of a single bit for traffic of a first speed, a nibble for traffic of a second speed, or a byte for traffic of a third speed, where the first speed is slower than the second and third speeds and the third speed is faster than the first and second speeds.

6. The apparatus of claim 1 , wherein the shared communication link is a bidirectional link including one or more wires or optical fibers.

7. The apparatus of claim 1 , wherein the first protocol is USB™ (Universal Serial Bus) protocol.

8. The apparatus of claim 1 , wherein the plurality of protocols includes USB and the shared communication link includes one or more conductors of a USB compatible connector.

9. The apparatus of claim 1 , wherein the plurality of protocols includes USB 3.0 and the shared communication link includes one or more conductors of a USB 2.0 compatible connector.

10. The apparatus of claim 1 , wherein the allocation of time slots includes allocation of time slots for packet communication in a first group and time slots including the first protocol in a second group.

11. The apparatus of claim 10 , wherein the first group includes USB 3.0 packet communication and wherein the first protocol includes one or more of USB Low Speed, Full Speed, and High Speed traffic.

12. The apparatus of claim 1 , wherein the first protocol is a protocol for a I 2 C serial bus.

13. The apparatus of claim 1 , wherein the first protocol is a protocol for PCIe (Peripheral Component Interconnect Express).

14. The apparatus of claim 1 , wherein the apparatus is enumerated as one more nodes in addition to nodes that are physically present.

15. A method comprising:

receiving data traffic for a plurality of protocols, including a first protocol, for transmission from a first device to a second device;

determining a time slot width based on both a latency requirement of the first protocol and a maximum queuing delay imposed, in part, by traffic of other protocols of the plurality of protocols, the time slot width being a number of bits;

dividing the data traffic for each protocol into portions that are no greater than the time slot width;

determining an allocation of time slots within each of a plurality of sets of time periods among the plurality of protocols to satisfy one or more performance requirements of the first protocol, the performance requirements including the latency requirement of the first protocol; and

inserting the portions of data for each of the plurality of protocols into time slots based on the allocation of time slots; and

transmitting, via a time division multiplexing protocol, data of each of the plurality of protocols over a shared communication link.

16. The method of claim 15 , wherein the one or more performance requirements include one or more of a bandwidth requirement and a Quality of Service (QoS) requirement.

17. The method of claim 15 , wherein determining the allocation of time slots comprises:

determining a number of time slots, within a set of time slots, to allocate to the first protocol which will meet the one or more performance requirements of the first protocol;

allocating at least that number of time slots, within the set of time slots, to the first protocol.

18. The method of claim 15 , wherein determining the allocation of the time slots to satisfy the one or more performance requirements for the first protocol constitutes determining an allocation of a position of one or more time slots.

19. The method of claim 15 , further comprising establishing synchronization by the first device with the second device, establishing synchronization including transmitting a first symbol in a first time slot of each set of time periods until synchronization is detected, and transmitting a second symbol in the first time slot of each set of time periods after synchronization is detected.

20. A method comprising:

determining a time slot width based on both a latency requirement of a first protocol of a plurality of protocols and a maximum queuing delay imposed, in part, by traffic of other protocols of the plurality of protocols, the time slot width being a number of bits;

determining an allocation of time slots among the plurality of protocols to satisfy one or more performance requirements of the first protocol, the one or more performance requirements including the latency requirement of the first protocol; and

insert data of each of the plurality of protocols into time slots for transmission from a first device to a second device based on the time slot width and the allocation of time slots.

21. The method of claim 20 , wherein the one or more performance requirements include one or more of a bandwidth requirement and a Quality of Service (QoS) requirement.

22. A non-transitory computer-readable storage medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving data traffic for a plurality of protocols, including a first protocol, for transmission, via a time division multiplexing protocol, from a first device to a second device;

determining a time slot width based on a latency requirement of the first protocol based on a maximum queuing delay imposed, in part, by traffic of other protocols of the plurality of protocols, the time slot width being a number of bits;

dividing the data traffic for each protocol into portions that are no greater than the time slot width;

determining an allocation of time slots within each of a plurality of sets of time periods among the plurality of protocols to satisfy one or more performance requirements of the first protocol, the performance requirements including the latency requirement of the first protocol; and

inserting the portions of data for each of the plurality of protocols into time slots based on the allocation of time slots; and

transmitting data of each of the plurality of protocols over a shared communication link.

Assignments (5)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
MERGER Recorded Aug 21, 2015
From: SILICON IMAGE, INC.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 036419/0792 →
SECURITY INTEREST Recorded Mar 18, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035223/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: GILBERT, JEFFREY M.; CHOI, HOON; HARRELL, CHANDLEE B.; KIM, GYUDONG; KIM, YOUNG IL; YI, JU HWAN
To: SILICON IMAGE, INC.
Reel/Frame 031063/0864 →