IP Library Patent Application 14866199
Patent Application
App. No. 14/866,199

GLOBAL SHARED MEMORY SWITCH

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 None
App. No.
14/866,199
Filed
Sep 25, 2015
Art Unit
2465
USPC
370/417
Abstract

Embodiments of the present invention provide functionality, within a storage-shelf-router integrated circuit, an I/O-controller integrated circuit, or other integrated-circuit implementations of complex electronic devices, for interconnecting all possible pairs of communications ports, a first member of each pair selected from a first set of communications ports and a second member of each pair selected from a second set of communications ports. Embodiments of the present invention employ a time-division-multiplexed global shared memory in order to provide full cross-communications between two or more sets of serial-communications ports, using modest controlling clock rates and wide data-transfer channels.

Claims (33)

1 . A network device comprising:

a memory that stores a plurality of time slots as a block of data;

a data-transfer channel that couples a first physical port of a first plurality of physical ports with the memory for transfer of a block of data from the first physical port to the memory, the first physical port operating at a first frequency; and

a routing controller that provides a next time slot to a next port by selecting the next port from a second plurality of physical ports, and interconnecting the next port with the memory, the next port operating at a second frequency different from the first frequency, the routing controller being operable to provide a virtual interface via the next port, wherein following a port failure on the next port, the routing controller is operable to route the next time slot through one or more other ports of the second plurality of physical ports.

2 . The network device of claim 1 , wherein the memory, the data-transfer channel, and the routing controller operate at a third frequency, different from the first frequency and the second frequency.

3 . The network device of claim 1 , wherein the blocks of data are organized into virtual queues within the memory, each virtual queue associated with a port that receives data blocks from the memory.

4 . The network device of claim 2 , wherein a time slot is provided to a next port during each cycle of the third frequency.

5 . The network device of claim 1 , wherein a width of the data-transfer channel is chosen so that, when all of the ports of the second plurality of physical ports are exchanging data with the memory, the memory can be multiplexed among the ports of the second plurality of physical ports without any port of the second set of ports being blocked for lack of data-exchange bandwidth.

6 . The network device of claim 5 , wherein when each of the ports of the second plurality of physical ports can transfer n bytes of data per single cycle of the second frequency, and when there are m ports in the second plurality of ports, the virtual interface can transfer a block of n times m bytes per cycle of the third frequency.

7 . The network device of claim 2 , wherein the width of the data-transfer channel can be increased to decrease the third frequency.

8 . The network device of claim 2 , wherein the third frequency is chosen so that each port can transfer data at a maximum data-transfer rate for that port without blocking.

9 . The network device of claim 1 , wherein the logic selects, as the next port, a port for which a data block is queued to a virtual queue in memory.

10 . The network device of claim 1 , wherein the logic selects a next port on a round-robin basis.

11 - 14 . (canceled)

15 . A method for interconnecting a first plurality of ports operating at a first frequency with a second plurality of ports operating at a second frequency different from the first frequency, the method comprising:

providing a memory that stores blocks of data;

providing a data-transfer channel that interconnects a first port of the first plurality of ports with the memory for transfer of a block of data from the first port to the memory;

providing a next time slot to a next port by selecting the next port from the second plurality of ports, and interconnecting the next port with the memory; and

following a port failure on the next port, routing the next time slot through one or more other ports of the second plurality of ports.

16 . The method of claim 15 , wherein the method comprises operating the memory and the data-transfer channel at a third frequency, different from the first frequency and the second frequency.

17 . The method of claim 15 , wherein the method comprises organizing the blocks of data into virtual queues within the memory, each virtual queue being associated with a port that receives data blocks from the memory.

18 . The method of claim 16 , wherein the method comprises providing a time slot to a next port during each cycle of the third frequency.

19 . The method of claim 15 , wherein the method comprises choosing a width of the data-transfer channel so that, when all of the ports of the second plurality of ports are exchanging data with the memory, the memory can be multiplexed among the ports of the second plurality of ports without any port of the second plurality of ports blocked for lack of data-exchange bandwidth.

20 . (canceled)

21 . The method of claim 15 , wherein the method comprises increasing the width of the data-transfer channel to decrease the third frequency.

22 . The method of claim 16 , wherein the method comprises choosing the third frequency so that each port can transfer data at a maximum data-transfer rate for that port without blocking.

23 . The method of claim 15 , wherein the method comprises selecting, as the next port, a port for which a data block is queued to a virtual queue in memory for transfer to the port, the logic guaranteeing that no port is starved or blocked from transferring data.

24 . The method of claim 15 , wherein the method comprises selecting a next port on a round-robin basis.

25 . (canceled)

26 . A network device comprising:

a plurality of physical ports; and

a routing controller operable to provide a virtual disk interface via the plurality of physical ports;

wherein following a port failure on a particular port of the plurality of physical ports, the routing controller is operable to route data and commands through one or more other ports of the plurality of physical ports.

Assignments (2)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →