IP Library Granted Patent US 8,250,231
Granted Patent B2
US 8,250,231 · App. 11/722,470 · Granted Aug 21, 2012

Method for reducing buffer capacity in a pipeline processor

Assignee: Marvell International Ltd.
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 8,250,231
App. No.
11/722,470
Granted
Aug 21, 2012
Kind
B2
Abstract

A method to reduce buffer capacity in a processor includes giving the data packets admittance to the processor through at least one interface, storing the data packets in at least one input buffer, and using a packet rate shaper outside of a processing pipeline to control flow of the data packets to the pipeline before the data packets enter the pipeline. First and second data packets are given admittance to the pipeline in dependence on cost information per packet that is dependent upon an expected time period of residence of the first data packet in the pipeline. Cost information dependent upon an expected time period of residence of the second data packet in the pipeline differs from said cost information dependent upon the expected time period of residence of the first data packet in the pipeline.

Claims (34)

1. A method to reduce buffer capacity in a processor comprising a processing pipeline and at least one interface for data packets, wherein the processing pipeline comprises of a plurality of processing elements and a plurality of processing element buffers, wherein each corresponding processing element buffer precedes each corresponding processing element, comprising the steps of:

giving the data packets admittance to the processor through the at least one interface;

storing the data packets in at least one input buffer;

using a packet rate shaper outside of the pipeline to control flow of the data packets to the pipeline in dependence of cost information per packet, wherein the flow of the data packets is controlled before the data packets enter the pipeline, wherein the controlling of the flow of the data packets in dependence of the cost information is based on capacity constraints in the processing pipeline;

giving a first data packet admittance to the pipeline;

giving a second data packet admittance to the pipeline in dependence on the cost information per packet, wherein the cost information per packet is dependent upon an expected time period of residence of the first data packet in at least a part of the pipeline, and wherein cost information dependent upon an expected time period of residence of the second data packet in at least a part of the pipeline differs from said cost information dependent upon the expected time period of residence of the first data packet in at least a part of the pipeline;

storing the data packets in the plurality of processing element buffers;

processing the data packets in the plurality of processing elements;

storing the data packets in at least one output buffer in the processor; and

transmitting the data packets through at least one output port in the processor.

2. A method according to claim 1 , wherein the first data packet is identical with the second data packet.

3. A method according to claim 1 , wherein the first data packet enters the pipeline before the second data packet.

4. A method according to claim 3 , wherein a step of giving the first data packet admittance to the pipeline is performed by the use of a token bucket algorithm, whereby a first data packet is admitted when a credit of the token bucket has reached a predetermined value, and whereby the token bucket credit is reduced by an amount corresponding to the cost of the first data packet.

5. A method according to claim 1 , wherein the cost information is stored in a header of the respective data packet.

6. A method according to claim 1 , wherein the cost information corresponds to interface-specific predetermined information, dependent upon an assumption of the cost of a plurality of data packets.

7. A method according to claim 6 , wherein the interface-specific predetermined information corresponds to an estimation of a maximum cost for a plurality of packets.

8. A method according to claim 1 , comprising inspecting a plurality of packets, determining packet costs and storing, for packets having costs exceeding a predetermined value, cost information as packet-specific cost information.

9. A method according to claim 1 , whereby giving a second data packet admittance to the pipeline is performed at a first interface with use of a token bucket algorithm, whereby a credit of the token bucket is adjusted based on said cost information, whereby an overflow of credit from the token bucket of the first interface is transferred to an overflow token bucket for admittance of at least one packet at a second interface.

10. A processor in which buffer capacity is reduced, comprising:

a processing pipeline, wherein the processing pipeline comprises of a plurality of processing elements and a plurality of processing element buffers, wherein each corresponding processing element buffer precedes each corresponding processing element;

at least one interface for data packets, wherein the interface is adapted to provide the data packets admittance to the processor;

an input buffer in the processor, wherein the input buffer is adapted to store the data packets;

a shaper in the processor; wherein the shaper is outside of the pipeline, wherein the shaper is adapted to give a second data packet admittance to the pipeline in dependence on cost information per packet, wherein the cost information per packet is dependent upon an expected time period of residence of a first data packet in at least a part of the pipeline, wherein the shaper is adapted to control flow of the data packets to the pipeline in dependence of the cost information per packet, such that cost information dependent upon an expected time period of residence of the second data packet in at least a part of the pipeline differs from said cost information dependent upon the expected time period of residence of the first data packet in at least a part of the pipeline, such that the flow of the data packets is controlled before the data packets enter the pipeline, and such that the controlling of the flow of the data packets in dependence of the cost information per packet is based on capacity constraints in the processing pipeline;

an output buffer in the processor, wherein the output buffer stores the data packets; and

an output port in the processor, wherein the output port transmits the data packets out of the processor.

11. A processor according to claim 10 , wherein the first data packet is identical with the second data packet.

12. A processor according to claim 10 , wherein the first data packet enters the pipeline before the second data packet.

13. A processor according to claim 12 , wherein the shaper is adapted to give the first data packet admittance to the pipeline by use of a token bucket algorithm, whereby the first data packet is admitted when a credit of the token bucket has reached a predetermined value, and whereby the token bucket credit is reduced by an amount corresponding to the cost of the first data packet.

14. A processor according to claim 10 , wherein the cost information is stored in a header of the respective data packet.

15. A processor according to claim 10 , wherein the cost information corresponds to interface-specific predetermined information, dependent upon an assumption of the cost of a plurality of data packets.

16. A processor according to claim 15 , wherein the interface-specific predetermined information corresponds to an estimation of a maximum cost for a plurality of packets.

17. A processor according to claim 10 , comprising a classifier, adapted to inspect a plurality of packets, determine packet costs and store, for packets having costs exceeding a predetermined value, cost information as packet-specific cost information.

18. A processor according to claim 10 , whereby the shaper is adapted to give the second data packet admittance to the pipeline at a first interface with use of a token bucket algorithm, whereby a credit of the token bucket is adjusted based on said cost information, whereby an overflow of credit from the token bucket of the first interface is transferred to an overflow token bucket for admittance of at least one packet at a second interface.

19. A router or a computer unit comprising a processor according to claim 10 .

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2012
From: MARVELL TECHNOLOGY SWEDEN AB
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 027919/0053 →
CHANGE OF NAME Recorded Mar 23, 2012
From: XELERATED NEWCO AB
To: MARVELL TECHNOLOGY SWEDEN AB
Reel/Frame 027921/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2011
From: XELERATED AB
To: XELERATED NEWCO AB
Reel/Frame 027387/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2007
From: BODEN, THOMAS; CARLSTROM, JAKOB
To: XELERATED AB
Reel/Frame 020168/0494 →
Priority Claims (1)
SE 0403128 · Dec 22, 2004 · national
Continuity (2)
Provisional Application 60643580 · Jan 14, 2005
Related Publication 20080209186A1 · Aug 28, 2008