IP Library Patent Application 11824511
Patent Application
App. No. 11/824,511

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.
11/824,511
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 (36)

1 . A global shared memory switch that interconnects a first set of ports operating at a first frequency with a second set of ports operating at a second frequency different from, and less than, the first frequency, the global shared memory switch comprising:

a memory that stores blocks of data;

a data-transfer channel that interconnects a port with the memory for transfer of a block of data from the memory to the port or transfer of a block of data from the port to the memory; and

logic that continuously provides a next time slot to a next port by

selecting the next port, and

interconnecting the port with the memory.

2 . The global shared memory of claim 1 wherein the memory, data-transfer channel, and logic operate at a third frequency, different from the first and second frequencies.

3 . The global shared memory of claim 2 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 global shared memory of claim 2 wherein a time slot is provided to a next port during each cycle of the third frequency.

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

6 . The global shared memory of claim 5 wherein, when each of the ports of the second set of ports can transfer n bytes of data per single cycle of the second frequency, and when there are m ports in the second set of ports, the data-transfer channel can transfer a block of n times m bytes per cycle of the third frequency.

7 . The global shared memory of claim 5 wherein the width of the data-transfer channel can be increased to decrease the third frequency.

8 . The global shared memory 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 global shared memory of claim 1 wherein the logic selects, as the next port, a port with data to transfer to the memory or 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.

10 . The global shared memory of claim 1 wherein the logic selects next ports on a round-robin basis.

11 . The global shared memory of claim 1 wherein each port in the first set of ports is one of an FC-port receiver or FC-port transmitter.

12 . The global shared memory of claim 1 wherein each port in the second set of ports is an SATA or SAS port.

13 . The global shared memory of claim 1 included in a storage-shelf router, I/O controller, or other complex, electronic device implemented as a single integrated circuit.

14 . The global shared memory of claim 1 wherein the logic is implemented as one or more state machines.

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

providing a memory that stores blocks of data;

providing a data-transfer channel that interconnects a port with the memory for transfer of a block of data from the memory to the port or transfer of a block of data from the port to the memory; and

continuously providing a next time slot to a next port by

selecting the next port, and

interconnecting the port with the memory.

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

17 . The method of claim 16 further including organizing the blocks of data into virtual queues within the memory, each virtual queue associated with a port that receives data blocks from the memory.

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

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

20 . The method of claim 19 wherein, when each of the ports of the second set of ports can transfer n bytes of data per single cycle of the second frequency, and when there are m ports in the second set of ports, the data-transfer channel transfers a block of n times m bytes per cycle of the third frequency.

21 . The method of claim 19 further comprising increasing the width of the data-transfer channel to decrease the third frequency.

22 . The method of claim 19 further comprising 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 further including selecting, as the next port, a port with data to transfer to the memory or 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 further including selecting next ports on a round-robin basis.

25 . The method of claim 15 wherein each port in the first set of ports is one of an FC-port receiver or FC-port transmitter.

26 . The method of claim 15 wherein each port in the second set of ports is an SATA or SAS port.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2007
From: STEINMETZ, JOSEPH H.; KOMPELLA, MURTHY
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 019966/0949 →