IP Library Granted Patent US 7,215,675
Granted Patent B2
US 7,215,675 · App. 10/085,771 · Granted May 8, 2007

Processor with software-controlled programmable service levels

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,215,675
App. No.
10/085,771
Granted
May 8, 2007
Kind
B2
Abstract

A processor includes scheduling circuitry and a priority computation element associated with the scheduling circuitry. The scheduling circuitry schedules data blocks for transmission from a plurality of transmission elements, in accordance with a transmission priority established by the priority computation element. The priority computation element, which may be implemented as a script processor, is operative to determine a transmission priority for one or more constituent transmission elements in a specified group of such transmission elements. The group of transmission elements corresponds to a first level of an n-level hierarchy of transmission elements, with the constituent transmission elements corresponding to at least one lower level of the n-level hierarchy of transmission elements. The transmission priority is preferably made adjustable under software control so as to facilitate the maintenance of a desired service level for one or more of the transmission elements.

Claims (29)

1. A processor comprising:

scheduling circuitry for scheduling data blocks for transmission from a plurality of transmission elements; and

a priority computation element associated with the scheduling circuitry and operative to determine a transmission priority for one or more constituent transmission elements in a specified group of such transmission elements, the transmission priority being adjustable so as to facilitate the maintenance of a desired service level for one or more of the transmission elements;

wherein the priority computation element determines a transmission priority for the constituent transmission elements of the group by designating one or more of the constituent transmission elements as current high priority transmission elements, with the other constituent transmission elements in the group being arranged in order of decreasing priority relative to the one or more current high priority transmission elements.

2. The processor of claim 1 wherein the priority computation element operates under software control in at least one of determining and adjusting the transmission priority for the one or more constituent transmission elements.

3. The processor of claim 1 wherein the priority computation element comprises a script processor.

4. The processor of claim 1 wherein the group of transmission elements corresponds to a first level of an n-level hierarchy of transmission elements, the constituent transmission elements corresponding to at least one lower level of the n-level hierarchy of transmission elements.

5. The processor of claim 1 wherein each of the transmission elements comprises a queue.

6. A processor comprising:

scheduling circuitry for scheduling data blocks for transmission from a plurality of transmission elements; and

a priority computation element associated with the scheduling circuitry and operative to determine a transmission priority for one or more constituent transmission elements in a specified group of such transmission elements, the transmission priority being adjustable so as to facilitate the maintenance of a desired service level for one or more of the transmission elements;

wherein the priority computation element determines an initial transmission priority for the constituent transmission elements of the group by designating a given one of the constituent transmission elements as a current high priority transmission element, with the other constituent transmission elements in the group being arranged in a linear order of decreasing priority relative to the current high priority transmission element.

7. The processor of claim 6 wherein the priority computation element subsequently adjusts the transmission priority for the constituent transmission elements of the group by designating another of the constituent transmission elements as the current high priority transmission element, with the remaining constituent transmission elements in the group being arranged in a liner order of decreasing priority relative to the current high priority transmission element.

8. The processor of claim 1 wherein the scheduling circuitry is configurable for utilization of at least one time slot table in scheduling the data blocks for transmission.

9. The processor of claim 1 wherein the priority computation element is operative to determine periodically if the transmission priority requires adjustment in order to maintain the desired service level for one or more of the transmission elements.

10. The processor of claim 9 wherein the priority computation element makes a determination as to whether the transmission priority requires adjustment, after transmission of a specified number of the data blocks.

11. The processor of claim 9 wherein the priority computation element makes the determination as to whether the transmission priority requires adjustment after transmission of each of the data blocks.

12. The processor of claim 1 further comprising traffic shaping circuitry coupled to the scheduling circuitry, the traffic shaping circuitry comprising the priority computation element.

13. The processor of claim 12 further comprising transmit queue circuitry coupled to the scheduling circuitry, wherein the transmission elements comprise one or more queues associated with the transmit queue circuitry, the transmit queue circuitry supplying time slot requests from the transmission elements to the scheduling circuitry in accordance with a traffic shaping requirement established by the traffic shaping circuitry.

14. The processor of claim 1 wherein one or more of the data blocks comprise data packets.

15. The processor of claim 1 wherein at least a subset of the constituent transmission elements have identifiers configured such that a given one of the transmission element identifiers can be linked to another of the transmission element identifiers so as to form a linked list of the corresponding transmission elements.

16. The processor of claim 1 wherein the processor comprises a network processor configured to provide an interface for data block transfer between a network and a switch fabric.

17. The processor of claim 1 wherein the processor is configured as an integrated circuit.

18. A method for use in a processor, the method comprising:

scheduling data blocks for transmission from a plurality of transmission elements;

wherein the scheduling step schedules the data blocks for transmission in accordance with a transmission priority determined for one or more constituent transmission elements in a specified group of such transmission elements, the transmission priority being adjustable so as to facilitate the maintenance of a desired service level for one or more of the transmission elements; and

wherein a transmission priority is determined for the constituent transmission elements of the group by designating one or more of the constituent transmission elements as current high priority transmission elements, with the other constituent transmission elements in the group being arranged in order of decreasing priority relative to the one or more current high priority transmission elements.

19. An article of manufacture comprising a computer-readable storage medium for use in conjunction with a processor, the medium storing one or more software programs for use in scheduling data blocks for transmission from a plurality of transmission elements, the one or more programs when executed providing at least one of determination of a priority for one or more constituent transmission elements in a specified group of such elements and adjustment of the transmission priority so as to facilitate the maintenance of a desired service level for one or more of the transmission elements, wherein a transmission priority is determined for the constituent transmission elements of the group by designating one or more of the constituent transmission elements as current high priority transmission elements, with the other constituent transmission elements in the group being arranged in order of decreasing priority relative to the one or more current high priority transmission elements.

20. The method of claim 18 further comprising the step of determining an initial transmission priority for the constituent transmission elements of the group by designating a given one of the constituent transmission elements as a current high priority transmission element, with the other constituent transmission elements in the group being arranged in a linear order of decreasing priority relative to the current high priority transmission element.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 19, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034014/0846 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →