IP Library Granted Patent US 7,787,378
Granted Patent B1
US 7,787,378 · App. 11/854,495 · Granted Aug 31, 2010

Method and apparatus for conversion of an arbitration table into count values to control the distribution of resources

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 7,787,378
App. No.
11/854,495
Granted
Aug 31, 2010
Kind
B1
Abstract

A method and apparatus for conversion of an arbitration table into count values to control the distribution of resources have been described.

Claims (88)

1. A method comprising:

examining a port arbitration table in a device capable of handling up to a number P of ports ( 0 , 1 , . . . , P), said port arbitration table capable of specifying a number of entries for each of said P ports, and determining a total number of entries E for each of said P ports (0E, 1E, . . . , PE);

loading into P table count registers (0TC, 1TC, . . . , PTC) each respective said total number of entries for said P ports (0E-->0TC, 1E-->1TC, . . . , PE-->PTC);

(a) copying each respective said P table count register (0TC, 1TC, . . . , PTC) into a corresponding P running counter (0TC-->0RC, 1TC-->1RC, . . . , PTC-->PRC);

(b) cycling through all P running counters (0RC, 1 RC, . . . , PRC) one at a time and determining if said one P running counter is at a count of zero; and

(b1) if not at a count of zero then;

decrementing the count of said P running counter;

transferring a packet through said P port;

repeating (b)

(b2) if at a count of zero then;

determining if all said P running counters are at a count of zero; and

(b2a) if not at a count of zero then;

 repeating (b)

(b2b) if at a count of zero then;

 repeating (a)-(b).

2. The method of claim 1 wherein said determining a total number of entries E for each of said P ports further comprises:

resetting a group of P counters all to a count of zero;

looking at each entry in said port arbitration table and for said each entry incrementing by one a counter in said group of P counters corresponding to a port in said entry.

3. The method of claim 2 wherein said group of P counters and said P table count registers are the same.

4. The method of claim 1 wherein said (a) copying, occurs during a transfer of a TLP (Transaction Layer Packet).

5. A non-tranistory machine-readable medium having stored thereon instructions, which when executed performs the method of claim 1 .

6. A system comprising a processor coupled to a memory, which when executing a set of instructions performs the method of claim 1 .

7. An apparatus comprising:

means for examining in a device a port arbitration table capable of handling up to a number P of ports ( 0 , 1 , . . . , P), said port arbitration table capable of specifying a number of entries for each of said P ports, and means for determining a total number of entries E for each of said P ports (0E, 1E, . . . , PE);

means for loading into P table count registers (0TC, 1TC, . . . , PTC) each respective said total number of entries for said P ports (0E-->0TC, 1E-->1TC, . . . , PE-->PTC);

(a) means for copying each respective said P table count register (0TC, 1TC, . . . , PTC) into a corresponding P running counter (0TC-->0RC, 1TC-->1 RC, . . . , PTC-->PRC);

(b) means for cycling through all P running counters (0RC, 1 RC, . . . , PRC) one at a time and means for determining if said one P running counter is at a count of zero; and

(b1) if not at a count of zero then;

means for decrementing the count of said P running counter;

means for transferring a packet through said P port;

means for repeating (b)

(b2) if at a count of zero then;

means for determining if all said P running counters are at a count of zero; and

(b2a) if not at a count of zero then;

 means for repeating (b)

(b2b) if at a count of zero then;

 means for repeating (a)-(b).

8. The apparatus of claim 7 wherein said means for determining a total number of entries E for each of said P ports further comprises:

means for resetting a group of P counters all to a count of zero;

means for looking at each entry in said port arbitration table and for said each entry means for incrementing by one a counter in said group of P counters corresponding to a port in said entry.

9. The apparatus of claim 8 wherein said group of P counters and said P table count registers are the same.

10. The apparatus of claim 7 wherein said (a) means for copying, occurs during a transfer of a TLP (Transaction Layer Packet).

11. A non-transitory machine-readable medium having stored thereon information, which when extracted represents the apparatus of claim 7 .

12. A method comprising:

examining a port arbitration table in a device capable of handling up to a number P of ports ( 0 , 1 , . . . , P), said port arbitration table capable of specifying a number of entries for each of said P ports, and determining a total number of entries E for each of said P ports (0E, 1E, . . . , PE);

loading into P table count registers (0TC, 1TC, . . . , PTC) each respective said total number of entries for said P ports (0E-->0TC, 1E-->1TC, . . . , PE-->PTC);

(a) copying each respective said P table count register (0TC, 1TC, . . . , PTC) into a corresponding P running counter (0TC-->0RC, 1TC-->1RC, . . . , PTC-->PRC);

(b) determining a first port requesting service;

(c) decrementing a count of said first port corresponding running counter;

(d) transferring a packet through said first port requesting service;

(e) determining if all said P running counters are at a count of zero: and

(e1) if all said P running counters are at a count of zero then; going to (a);

(e2) if all said P running counters are not at a count of zero then;

(e2a) determining if any of said ports P with a respective not at zero count are requesting service; and

(e2a1) if any of said ports P are requesting service then;

decrementing the count of said P running counter;

transferring a packet through said P port;

going to (e2a);

(e2a2) if none of said ports P are requesting service then;

(e2a2a) determining if any of said P ports with a respective running count of zero are requesting service; and

 (e2a2a1) if any of said ports P with a respective running count of zero are requesting service then;

 going to (a);

 (e2a2a2) if none of said ports P with a respective running count of zero are requesting service then;

 going to (e2a).

13. The method of claim 12 wherein said (e) determining further comprises cycling through all P running counters (0RC, 1 RC, . . . , PRC) one at a time.

14. An apparatus comprising:

means for examining in a device a port arbitration table capable of handling up to a number P of ports ( 0 , 1 , . . . , P), said port arbitration table capable of specifying a number of entries for each of said P ports, and means for determining a total number of entries E for each of said P ports (0E, 1E, . . . , PE);

means for loading into P table count registers (0TC, 1TC, . . . , PTC) each respective said total number of entries for said P ports (0E-->0TC, 1E-->1TC, . . . , PE-->PTC);

(a) means for copying each respective said P table count register (0TC, 1TC, . . . , PTC) into a corresponding P running counter (0TC-->0RC, 1TC-->1 RC, . . . , PTC-->PRC);

(b) means for determining a first port requesting service;

(c) means for decrementing a count of said first port corresponding running counter;

(d) means for transferring a packet through said first port requesting service;

(e) means for determining if all said P running counters are at a count of zero: and

(e1)) if all said P running counters are at a count of zero then;

means for going to (a);

(e2) if all said P running counters are not at a count of zero then;

(e2a) means for determining if any of said ports P with a respective not at zero count are requesting service; and

(e2a1) if any of said ports P are requesting service then;

means for decrementing the count of said P running counter;

means for transferring a packet through said P port;

means for going to (e2a);

(e2a2) if none of said ports P are requesting service then;

(e2a2a) means for determining if any of said P ports with a respective count of zero are requesting service; and

 (e2a2a1) if any of said ports P with a respective count of zero are requesting service then;

 means for going to (a);

 (e2a2a2) if none of said ports P with a respective count of zero are requesting service then;

 means for going to (b2a).

15. The apparatus of claim 14 wherein said (e) means for determining further comprises means for cycling through all P running counters (0RC, 1 RC, . . . , PRC) one at a time.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (US), INC.
Reel/Frame 038016/0493 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING AND RECEIVING PARTIES PREVIOUSLY RECORDED ON REEL 030832 FRAME 0604. ASSIGNOR(S) HEREBY CONFIRMS THE CONVEYING PARTY DATA: INTEGRATED DEVICE TECHNOLOGY, INC. TECEIVING: PMC-SIERRA US, INC. Recorded Jul 23, 2013
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: PMC-SIERRA US, INC.
Reel/Frame 030919/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2013
From: PMC-SIERRA US, INC.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 030832/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2007
From: LAKHIA, ALIASGAR
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 019819/0297 →