Searching for packet identifiers
AssigneeSTMicroelectronics S.r.l.
InventorTom Thomas
Life of this patent
Estimating the term…
Abstract
A method of locating packet identifiers held in respective memory locations in a memory, the method comprising receiving a plurality of packets, each packet including a packet identifier, searching said memory locations in a sequence to compare an incoming packet identifier with packet identifiers stored in the memory until a match is found, incrementing one of a set of counters associated respectively with the memory locations, said incremented counter being the one associated with the memory location where the match packet identifier is held, and reading values of each of the counters and using said values to determine the sequence in which the memory locations are searched for subsequent incoming packet identifiers.
Claims16
A method of locating packet identifiers held in respective memory locations in a memory, the method comprising:
- receiving a plurality of packets, each packet including a packet identifier;
- searching said memory locations in a sequence to compare an incoming packet identifier with packet identifiers stored in the memory until a match is found;
- incrementing one of a set of counters associated respectively with the memory locations, said incremented counter being the one associated with the memory location where the match packet identifier is held;
- and
- reading values of each of the counters and using said values to determine the sequence in which the memory locations are searched for subsequent incoming packet identifiers.
A method of locating decryption keys for decrypting encrypted payloads in a packet stream wherein each packet includes at least a packet identifier associated with said decryption key for that packet, the method comprising:
- receiving a sequence of said packets;
- searching a set of memory locations in a sequence to compare an incoming packet identifier with packet identifiers stored in the memory locations until a match is found;
- incrementing one of a set of counters associated respectively with the memory locations, said incremented counter being the one associated with the memory location where the matched packet identifier is held;
- using the matched packet identifier to locate the decryption key for that packet;
- and
- reading values of each of the counters and using said values to determine the sequence in which the memory locations are searched for subsequent incoming packet identifiers.
A system for locating packet identifiers held in respective memory locations in a memory, the system comprising:
- an address generator for generating memory addresses to address said memory locations in a sequence thereby to recall packet identifiers stored in the memory;
- a packet identifier matcher which compares packet identifiers recalled from the memory with an incoming packet identifier until a match is found;
- a set of counters associated respectively with the memory locations;
- means for incrementing said counters, whereby the counter associated with the memory location for each matched packet identifier is incremented;
- and
- wherein the address generator is operable to read values of each of the counters and to use said values to determine the sequence in which the memory locations are searched for subsequent incoming packet identifiers.
A method of matching packet identifiers comprising the steps of:
- receiving a input packet stream wherein each packet contains an input packet identifier and a payload;
- searching in a sequence a plurality of locations in a memory, wherein each location stores a packet identifier, to find a matching memory location that stores a matching input packet identifier that matches;
- upon finding matching memory location, incrementing a selected counter of a plurality of counters wherein the selected counter is associated with the matching memory location;
- selecting an order of the sequence of the locations in the memory based on values contained in the counters of the plurality of counters;
- and
- searching the plurality of locations in the memory according to the selected order of the sequence.
Dependencies are inferred from the claim text.