EVENT TRACKING HARDWARE
First Claim
1. A method comprising the steps of:
- detecting multiple occurrences of a plurality of different kinds of events of interest;
upon each of said occurrences, invoking an event tracking hardware engine having N caches, N being at least two, using a key of a type corresponding to a corresponding one of said different kinds of events of interest, such that said event tracking hardware engine stores, for each of said different kinds of events of interest, a corresponding cumulative number of occurrences, by carrying out the following steps;
searching in said N caches for an entry for said key;
if an entry for said key is found, and no overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, incrementing said corresponding cumulative number of occurrences;
if said entry for said key is found, and overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, promoting said entry from a given one of said N caches in which said entry exists to a next highest one of said N caches; and
if said entry for said key is not found, entering said entry for said key in a zeroth one of said N caches with said corresponding cumulative number of occurrences being initialized.
6 Assignments
0 Petitions
Accused Products
Abstract
An event tracking hardware engine having N (≧2) caches is invoked when an event of interest occurs, using a corresponding key. The engine stores, for each of the different kinds of events, a corresponding cumulative number of occurrences, by carrying out additional steps. In some instances, the additional steps include searching in the N caches for an entry for the key; if an entry for the key is found, and no overflow of the corresponding cumulative number of occurrences for the entry for the key would occur by incrementing the corresponding cumulative number of occurrences, incrementing; if the entry for the key is found, and overflow would occur, promoting the entry to a next highest cache; and if the entry for the key is not found, entering the entry for the key in a zeroth one of the caches with the corresponding cumulative number of occurrences being initialized. In other instances, the additional steps include searching in a zeroth one of the caches for an entry for the key; if an entry for the key is found in the zeroth one of the caches, and no overflow of the corresponding cumulative number of occurrences for the entry for the key would occur by incrementing the corresponding cumulative number of occurrences, incrementing; if the entry for the key is found in the zeroth one of the caches, and overflow would occur, promoting the entry from the zeroth one of the caches in which the entry exists to a next highest cache; and if the entry for the key is not found, entering the entry for the key in the zeroth one of the caches with the corresponding cumulative number of occurrences being initialized. The engine includes a plurality of caches and a corresponding plurality of control circuits.
13 Citations
24 Claims
-
1. A method comprising the steps of:
-
detecting multiple occurrences of a plurality of different kinds of events of interest; upon each of said occurrences, invoking an event tracking hardware engine having N caches, N being at least two, using a key of a type corresponding to a corresponding one of said different kinds of events of interest, such that said event tracking hardware engine stores, for each of said different kinds of events of interest, a corresponding cumulative number of occurrences, by carrying out the following steps; searching in said N caches for an entry for said key; if an entry for said key is found, and no overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, incrementing said corresponding cumulative number of occurrences; if said entry for said key is found, and overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, promoting said entry from a given one of said N caches in which said entry exists to a next highest one of said N caches; and if said entry for said key is not found, entering said entry for said key in a zeroth one of said N caches with said corresponding cumulative number of occurrences being initialized. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising the steps of:
-
detecting multiple occurrences of a plurality of different kinds of events of interest; upon each of said occurrences, invoking an event tracking hardware engine having N caches, N being at least two, using a key of a type corresponding to a corresponding one of said different kinds of events of interest, such that said event tracking hardware engine stores, for each of said different kinds of events of interest, a corresponding cumulative number of occurrences, by carrying out the following steps; searching in a zeroth one of said N caches for an entry for said key; if an entry for said key is found in said zeroth one of said N caches, and no overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, incrementing said corresponding cumulative number of occurrences; if said entry for said key is found in said zeroth one of said N caches, and overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, promoting said entry from said zeroth one of said N caches in which said entry exists to a next highest one of said N caches; and if said entry for said key is not found, entering said entry for said key in said zeroth one of said N caches with said corresponding cumulative number of occurrences being initialized. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An event tracking engine apparatus comprising:
-
a plurality of caches; and a corresponding plurality of control circuits; said plurality of caches and said corresponding plurality of control circuits being cooperatively configured to; receive indications of multiple occurrences of a plurality of different kinds of events of interest, said indications being received as keys; store a corresponding cumulative number of occurrences for each of said different kinds of events of interest, by carrying out the following steps upon receipt of each given one of said keys; searching in said caches for an entry for given one of said keys; if an entry for given one of said keys is found, and no overflow of said corresponding cumulative number of occurrences for said entry for given one of said keys would occur by incrementing said corresponding cumulative number of occurrences, incrementing said corresponding cumulative number of occurrences; if said entry for given one of said keys is found, and overflow of said corresponding cumulative number of occurrences for said entry for given one of said keys would occur by incrementing said corresponding cumulative number of occurrences, promoting said entry from a given one of said caches in which said entry exists to a next highest one of said caches; and if said entry for given one of said keys is not found, entering said entry for given one of said keys in a zeroth one of said caches with said corresponding cumulative number of occurrences being initialized. - View Dependent Claims (22)
-
-
23. An event tracking engine apparatus comprising:
-
a plurality of caches; and a corresponding plurality of control circuits; said plurality of caches and said corresponding plurality of control circuits being cooperatively configured to; receive indications of multiple occurrences of a plurality of different kinds of events of interest, said indications being received as keys; store a corresponding cumulative number of occurrences for each of said different kinds of events of interest, by carrying out the following steps upon receipt of each given one of said keys; searching in a zeroth one of said caches for an entry for said given one of said keys; if an entry for said given one of said keys is found in said zeroth one of said caches, and no overflow of said corresponding cumulative number of occurrences for said entry for said key would occur by incrementing said corresponding cumulative number of occurrences, incrementing said corresponding cumulative number of occurrences; if said entry for said given one of said keys is found in said zeroth one of said caches, and overflow of said corresponding cumulative number of occurrences for said entry for said given one of said keys would occur by incrementing said corresponding cumulative number of occurrences, promoting said entry from said zeroth one of said caches in which said entry exists to a next highest one of said caches; and if said entry for said given one of said keys is not found, entering said entry for said given one of said keys in said zeroth one of said caches with said corresponding cumulative number of occurrences being initialized. - View Dependent Claims (24)
-
Specification