IP Library Granted Patent US 6,970,454
Granted Patent B1
US 6,970,454 · App. 09/927,306 · Granted Nov 29, 2005

Sliced crossbar architecture with inter-slice communication

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 6,970,454
App. No.
09/927,306
Granted
Nov 29, 2005
Kind
B1
Abstract

A method and apparatus includes identifying an address portion of a first message in an address slice of a switch, the first message associated with a first priority, the address portion of the first message including a first routing portion specifying a network resource; identifying an address portion of a second message in the address slice, the second message associated with a second priority, the address portion of the second message including a second routing portion specifying the same network resource; identifying a non-address portion of the first message in a non-address slice of the switch; identifying a non-address portion of the second message in the non-address slice, wherein neither of the non-address portions includes a routing portion specifying the network resource; selecting, independently in each slice, the same one of the first and second messages based on the first and second priorities; transferring the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message; sending the routing portion of the address portion of the selected message from the address slice to the non-address slice; transferring the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

Claims (121)

1. A method comprising:

identifying an address portion of a first message in an address slice of a switch, the first message associated with a first priority, the address portion of the first message including a first routing portion specifying a network resource;

identifying an address portion of a second message in the address slice, the second message associated with a second priority, the address portion of the second message including a second routing portion specifying the same network resource;

identifying a non-address portion of the first message in a non-address slice of the switch;

identifying a non-address portion of the second message in the non-address slice, wherein neither of the non-address portions includes a routing portion specifying the network resource;

selecting, independently in each slice, the same one of either the first message or the second message as a selected message, based on the first and second priorities;

transferring the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message;

sending the routing portion of the address portion of the selected message from the address slice to the non-address slice; and

transferring the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

2. The method of claim 1 , further comprising:

associating the first and second priorities with the first and second messages based on the ages of the first and second messages.

3. The method of claim 1 , further comprising:

dividing each message to create the address portions and non-address portions;

sending the address portions to the address slice; and

sending the non-address portions to the non-address slice.

4. The method of claim 1 , wherein the network resource is a memory resource.

5. The method of claim 1 , further comprising:

sending the selected address portion to a further address slice; and

sending the selected non-address portion to a further non-address slice.

6. The method of claim 1 , wherein the network resource is a processor.

7. The method of claim 1 , wherein the network resource is a crossbar.

8. A method for use in an address slice of a switch having the address slice and a non-address slice, comprising:

identifying an address portion of a first message, the first message associated with a first priority, the address portion of the first message including a first routing portion specifying a network resource, wherein a non-address portion of the first message resides in a non-address slice of the switch;

identifying an address portion of a second message, the second message associated with a second priority, the address portion of the second message including a second routing portion specifying the same network resource, wherein a non-address portion of the second message resides in the non-address slice, wherein neither of the non-address portions includes a routing portion specifying the network resource;

in a first of the two slices, selecting a selected message from either the first message or the second message based on the first and second priorities, wherein the selected message is also selected by the second of the two slices independently independently of the first of the two slices;

transferring the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message; and

sending the first and second routing portions from the address slice to the non-address slice, wherein the non-address slice sends the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

9. A method for use in a non-address slice of a switch having the non-address slice and an address slice, comprising:

identifying a non-address portion of a first message, the first message associated with a first priority, wherein an address portion of the first message resides in an address slice of the switch, the address portion of the first message including a first routing portion specifying a network resource;

identifying a non-address portion of a second message, the second message associated with a second priority, wherein an address portion of the second message resides in the address slice, the address portion of the second message including a second routing portion specifying the same network resource, wherein neither of the non-address portions includes a routing portion specifying the network resource;

in the address slice, selecting as a selected message one of the two messages based on the priorities, wherein the non-addres slice independently selects the same selected message from the two messages

receiving the first and second routing portions from the address slice; and

transferring the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message; and wherein the address slice sends the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

10. A method comprising:

identifying a first portion of a first message in a first slice of a switch, the first message associated with a first priority, the first portion of the first message including a first routing portion;

identifying a second portion of the first message in a second slice of the switch, the second portion of the first message including a second routing portion, the first and second routing portions together specifying a network resource;

identifying a first portion of a second message in the first slice, the second message associated with a second priority, the first portion of the second message including a third routing portion;

identifying a second portion of the second message in the second slice, the second portion of the second message including a fourth routing portion, the third and fourth routing portions together specifying the network resource;

selecting, independently in each slice, the same selected message as between the first and second messages based on the first and second priorities;

transferring the one of the first and third routing portions corresponding to the selected message from the first slice to the second slice;

sending the second portion of the selected message from the second slice to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message;

transferring the one of the second and fourth routing portions corresponding to the selected message from the second slice to the first slice; and

sending the first portion of the selected message from the first slice to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message.

11. The method of claim 10 , further comprising:

associating the first and second priorities with the first and second messages based on the ages of the first and second messages.

12. The method of claim 10 , further comprising:

dividing each message to create the first and second portions;

sending the first portions to the first slice; and

sending the second portions to the second slice.

13. The method of claim 10 , wherein the network resource is a memory resource.

14. The method of claim 10 , wherein the network resource is a processor.

15. The method of claim 10 , wherein the network resource is a crossbar.

16. A method for use in a first slice of a switch having first and second slices, comprising:

identifying a first portion of a first message in the first slice, the first message associated with a first priority, the first portion of the first message including a first routing portion, wherein a second portion of the first message resides in the second slice of the switch, the second portion of the first message including a second routing portion, the first and second routing portions together specifying a network resource;

identifying a first portion of a second message in the first slice, the second message associated with a second priority, the first portion of the second message including a third routing portion, wherein a second portion of the second message resides in the second slice, the second portion of the second message including a fourth routing portion, the third and fourth routing portions together specifying the network resource;

selecting either the first or the second messages based on the first and second priorities, as a message, wherein each slice performs the selecting independently of the other and the same selected message is selected by each slice;

receiving the one of the second and fourth routing portions corresponding to the selected message from the second slice;

sending the first portion of the selected message to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message; and

transferring the one of the first and third routing portions corresponding to the selected message to the second slice; and wherein

the second slice sends the second portion of the selected message to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message.

17. An apparatus comprising:

means for identifying an address portion of a first message in an address slice of a switch, the first message associated with a first priority, the address portion of the first message including a first routing portion specifying a network resource;

means for identifying an address portion of a second message in the address slice, the second message associated with a second priority, the address portion of the second message including a second routing portion specifying the same network resource;

means for identifying a non-address portion of the first message in a non-address slice of the switch;

means for identifying a non-address portion of the second message in the non-address slice, wherein neither of the non-address portions includes a routing portion specifying the network resource;

means for selecting, independently in each slice, the same selected message as between the first and second messages based on the first and second priorities;

means for transferring the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message;

means for sending the routing portion of the address portion of the selected message from the address slice to the non-address slice; and

means for transferring the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

18. The apparatus of claim 17 , further comprising:

means for associating the first and second priorities with the first and second messages based on the ages of the first and second messages.

19. The apparatus of claim 17 , further comprising:

means for dividing each message to create the address portions and non-address portions;

means for sending the address portions to the address slice; and

sending the non-address portions to the non-address slice.

20. The apparatus of claim 17 , wherein the network resource is a memory resource.

21. The apparatus of claim 17 , further comprising:

means for sending the selected address portion to a further address slice; and

means for sending the selected non-address portion to a further non-address slice.

22. The apparatus of claim 17 , wherein the network resource is a processor.

23. The apparatus of claim 17 , wherein the network resource is a crossbar.

24. An apparatus for use in an address slice of a switch having the address slice and a non-address slice, comprising:

means for identifying an address portion of a first message, the first message associated with a first priority, the address portion of the first message including a first rotating portion specifying a network resource, wherein a non-address portion of the first message resides in a non-address slice of the switch;

means for identifying an address portion of a second message, the second message associated with a second priority, the address portion of the second message including a second routing portion specifying the same network resource, wherein a non-address portion of the second message resides in the non-address slice, wherein neither of the non-address portions includes a routing portion specifying the network resource;

means for selecting one of the first or second messages, as a selected message, based on the first and second priorities, wherein each slice performs the selecting independently of the other slice and selects the same selected message;

means for transferring the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message; and

means for sending the first and second routing portions from the address slice to the non-address slice, wherein the non-address slice sends the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

25. An apparatus for use in a non-address slice of a switch having the non-address slice and an address slice, comprising:

means for identifying a non-address portion of a first message, the first message associated with a first priority, wherein an address portion of the first message resides in an address slice of the switch, the address portion of the first message including a first routing portion specifying a network resource;

means for identifying a non-address portion of a second message, the second message associated with a second priority, wherein an address portion of the second message resides in the address slice, the address portion of the second message including a second routing portion specifying the same network resource, wherein neither of the non-address portions includes a routing portion specifying the network resource;

means for selecting as a selected message the first or second messages based on the first and second priorities, wherein each slice independently selects the same selected message;

means for receiving the first and second routing portions from the address slice; and

means for transferring the non-address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message; and wherein

the address slice sends the address portion of the selected message to the network resource specified by the routing portion of the address portion of the selected message.

26. An apparatus comprising:

means for identifying a first portion of a first message in a first slice of a switch, the first message associated with a first priority, the first portion of the first message including a first routing portion;

means for identifying a second portion of the first message in a second slice of the switch, the second portion of the first message including a second routing portion, the first and second routing portions together specifying a network resource;

means for identifying a first portion of a second message in the first slice, the second message associated with a second priority, the first portion of the second message including a third routing portion;

means for identifying a second portion of the second message in the second slice, the second portion of the second message including a fourth routing portion, the third and fourth routing portions together specifying the network resource;

means for selecting, independently in each slice, the same selected message from among the first and second messages based on the first and second priorities;

means for transferring the one of the first and third routing portions corresponding to the selected message from the first slice to the second slice;

means for sending the second portion of the selected message from the second slice to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message;

means for transferring the one of the second and fourth routing portions corresponding to the selected message from the second slice to the first slice; and

means for sending the first portion of the selected message from the first slice to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message.

27. The apparatus of claim 26 , further comprising:

means for associating the first and second priorities with the first and second messages based on the ages of the first and second messages.

28. The apparatus of claim 26 , further comprising:

means for dividing each message to create the first and second portions;

means for sending the first portions to the first slice; and

means for sending the second portions to the second slice.

29. The apparatus of claim 26 , wherein the network resource is a memory resource.

30. The apparatus of claim 26 , wherein the network resource is a processor.

31. The apparatus of claim 26 , wherein the network resource is a crossbar.

32. An apparatus for use in a first slice of a switch having first and second slices, comprising:

means for identifying a first portion of a first message in the first slice, the first message associated with a first priority, the first portion of the first message including a first routing portion, wherein a second portion of the first message resides in the second slice of the switch, the second portion of the first message including a second routing portion, the first and second routing portions together specifying a network resource;

means for identifying a first portion of a second message in the first slice, the second message associated with a second priority, the first portion of the second message including a third routing portion, wherein a second portion of the second message resides in the second slice, the second portion of the second message including a fourth routing portion, the third and fourth routing portions together specifying the network resource;

means for selecting a selected message from among the first and second messages based on the first and second priorities, wherein the same selected message is selected in each slice independently of the other slices;

means for receiving the one of the second and fourth routing portions corresponding to the selected message from the second slice;

means for sending the first portion of the selected message to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message; and

means for transferring the one of the first and third routing portions corresponding to the selected message to the second slice; and wherein

the second slice sends the second portion of the selected message to the network resource specified by the combination of the one of the first and third routing portions corresponding to the selected message and the one of the second and fourth routing portions corresponding to the selected message.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 036684 FRAME: 587. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 2, 2015
From: PASTERNAK SOLUTIONS LLC
To: ZARBAÑA DIGITAL FUND LLC
Reel/Frame 036745/0324 →
MERGER Recorded Sep 29, 2015
From: PASTERNAK SOLUTIONS LLC
To: ZARBAÑA DIGITAL FUND LLC
Reel/Frame 036684/0587 →