IP Library Granted Patent US 9,069,603
Granted Patent B2
US 9,069,603 · App. 14/287,012 · Granted Jun 30, 2015

Transactional memory that performs an atomic metering command

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 9,069,603
App. No.
14/287,012
Granted
Jun 30, 2015
Kind
B2
Abstract

A transactional memory (TM) receives an Atomic Metering Command (AMC) across a bus from a processor. The command includes a memory address and a meter pair indicator value. In response to the AMC, the TM pulls an input value (IV). The TM uses the memory address to read a word including multiple credit values from a memory unit. Circuitry within the TM selects a pair of credit values, subtracts the IV from each of the pair of credit values thereby generating a pair of decremented credit values, compares the pair of decremented credit values with a threshold value, respectively, thereby generating a pair of indicator values, performs a lookup based upon the pair of indicator values and the meter pair indicator value, and outputs a selector value and a result value that represents a meter color. The selector value determines the credit values written back to the memory unit.

Claims (28)

1. A transactional memory comprising:

a memory that stores a table including a plurality of meter pairs, each meter pair including a long term credit value and a short term credit value;

means for receiving an Atomic Metering Command (AMC) and in response performing an AMC operation such that the transactional memory does not fetch instructions, wherein a memory address is included in the AMC, wherein the memory address is used to read a word out of the memory, and wherein the word includes the long term credit value and the short term credit value; and

means for subtracting an input value from the long term credit value and the short term credit value, thereby generating a pair of decremented credit values.

2. The transactional memory of claim 1 , wherein the means include a hardware engine and a data bus interface, wherein the means is also for causing a result value to be output from the transactional memory via the data bus interface, and wherein the result value indicates a meter color.

3. A method comprising:

(a) receiving an Atomic Metering Command (AMC) from a first processor onto a second processor, wherein a memory unit is coupled to the second processor;

(b) receiving an input value (IV);

(c) using a memory address to read a word out of the memory unit, wherein the memory address is included in the AMC, and wherein the word includes a plurality of credit values;

(d) storing the plurality of credit values and the IV into a storage device coupled to the second processor;

(e) selecting a pair of credit values from the plurality of credit values;

(f) subtracting the IV from the pair of credit values, thereby generating a pair of decremented credit values;

(g) determining if each of the decremented credit values generated in (f) is greater than a threshold value; and

(h) determining a meter color based upon the determination in (g) and returning a result value representing the meter color to the first processor; wherein (b) through (h) are performed by the second processor.

4. The method of claim 3 , wherein the command information includes the memory address and a meter pair indicator value, wherein the IV is a byte count value that represents the number of bytes to be transmitted by the first processor, and wherein the meter pair indicator value identifies the pair of credit values within the plurality of credit values in the word.

5. The method of claim 3 , wherein the selecting of (e) is performed by the second processor, wherein the second processor receives the plurality of credit values and a meter pair indicator value, wherein the second processor selects the pair of credit values, and wherein the pair of credit values selected by the second processor is determined by the meter pair indicator value.

6. The method of claim 3 , wherein the subtracting of (f) is performed by the second processor, wherein the second processor receives the pair of credit values and the IV, and wherein the second processor generates the pair of decremented credit values.

7. The method of claim 3 , wherein the determining of (g) is performed by the second processor, wherein the second processor receives the pair of decremented credit values and the threshold value, wherein the second processor generates a pair of indicator values, and wherein the pair of indicator values are determined by the comparison of the threshold value with each of the decremented credit values.

8. The method of claim 3 , wherein the determining of (h) is performed by the second processor, wherein the second processor receives a pair of indicator values, wherein the second processor determines the meter color based upon the pair of indicator values, and wherein the second processor outputs the result value.

9. The method of claim 3 , wherein the determining of (h) is performed by the second processor, wherein the second processor receives the pair of indicator values and a packet color indicator value, wherein the second processor determines the meter color based upon the pair of indicator values and the packet color indicator value, and wherein the second processor outputs the result value.

10. The method of claim 3 , further comprising:

(i) selecting a plurality of selected credit values that are written back to the memory unit based upon the meter color determined in (h).

11. The method of claim 10 , wherein the selecting of (i) is performed by the second processor, wherein the second processor receives the plurality of credit values, the pair of decremented credit values, and a selector value, wherein the second processor selects a plurality of selected credit values that are selected from both the plurality of credit values and the pair of decremented credit values, and wherein the plurality of selected credit values are determined by the selector value.

12. The method of claim 3 , wherein the AMC is received onto the second processor via a bus, the method further comprising:

(j) outputting the result value onto the bus.

13. The method of claim 3 , wherein the IV of (b) is received onto the second processor via a bus in response to receiving the AMC.

14. The method of claim 3 , wherein the bus is a command/push/pull (CPP) bus, and wherein the second processor initiates a pull bus transaction and thereby receives the IV via the bus.

15. The method of claim 3 , wherein the storage device is taken from the group consisting of: a register, a plurality of registers.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Dec 31, 2020
From: KREOS CAPITAL V (UK) LIMITED
To: NETRONOME SYSTEMS, INC.
Reel/Frame 054883/0293 →
SECURITY INTEREST Recorded Jun 7, 2018
From: NETRONOME SYSTEMS, INC.
To: KREOS CAPITAL V (UK) LIMITED
Reel/Frame 046319/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2014
From: STARK, GAVIN J.
To: NETRONOME SYSTEMS, INC.
Reel/Frame 032960/0357 →