Multi-protocol data classification using on-chip CAM
AssigneeNetwork Elements, Inc.
InventorRichard Willardson
Life of this patent
Estimating the term…
Abstract
An apparatus is equipped with a content addressable memory (CAM) to store one or more key entries corresponding to a data class represented by the CAM. Each of the one or more key entries is associated with a key tag corresponding to one of one or more subclasses of the data class. The apparatus is further equipped with logic coupled to the CAM to extract a data key from a data stream, to compare all or part of the data key with the one or more key entries to determine if the data key is a member of the data class, and to classify the data key as belonging to one of the one or more subclasses of the data class if the data key is determined to be a member of data class.
Claims21
An apparatus comprising:
- a content addressable memory (CAM) to store key entries corresponding to one or more classes of data represented by the CAM, each of said key entries being associated with one of a plurality of key tags, wherein each key tag corresponds to one of a plurality of subclasses of data;
- and
- logic to extract a data key from a data stream, to compare at least a portion of the data key with said key entries to determine if the data key matches any of the key entries, and to output one or more key tags associated with matching ones of the key entries to form at least a portion of a categorization vector to facilitate classification of the data stream.
A method comprising:
- extracting a data key from a data stream;
- comparing at least a portion of the data key with one or more key entries stored within a first content addressable memory (CAM) representing one or more classes of data to determine if the data key matches any of the key entries, wherein each key entry is associated with one of a plurality of key tags each representing one of a corresponding first plurality of subclasses of data;
- outputting one or more of the plurality of key tags associated with matching ones of the key entries to form at least a first portion of a categorization vector;
- and
- classifying the data stream based at least in part upon the categorization vector.
An integrated circuit comprising:
- a plurality of content addressable memories (CAMs), each associated with one of a plurality of data classes and equipped to store one or more of a plurality of key entries and one or more of a plurality of key tags associated with said plurality of key entries, each of said plurality of key entries representing one of said plurality of data classes and each of said key tags representing one of a plurality of data subclasses;
- and
- logic coupled to the plurality of CAMs to extract a data key from a data stream, to compare at least a portion of the date key with said plurality of key entries to determine if the data key matches any of said plurality of key entries, and to output one or more key tags associated with matching ones of the key entries to format least a portion of a categorization vector to facilitate classification of the data stream.
An apparatus comprising:
- a first CAM to store a first plurality of key entries and an associated first plurality of key tags;
- a second CAM to store a second plurality of key entries and an associated second plurality of key tags;
- logic to extract a data key from a data stream, to compare at least a portion of the data key against the first and second pluralities of key entries in the first and second CAMs to determine if the data key matches any of the first and second pluralities of key entries,
- logic to output one or more of the first plurality of key tags from the first CAM, to form a first portion of a categorization vector designed to facilitate classification of the data stream, upon the data key matching a corresponding one or more of the first plurality of key entries;
- and
- logic to output one or more of the second plurality of key tags from the second CAM to form a second portion of the categorization vector upon the data key matching a corresponding one or more of the second plurality of key entries.
Dependencies are inferred from the claim text.