CA2291310A1 - Generating searchable data entries and applications therefore - Google Patents
Generating searchable data entries and applications therefore Download PDFInfo
- Publication number
- CA2291310A1 CA2291310A1 CA002291310A CA2291310A CA2291310A1 CA 2291310 A1 CA2291310 A1 CA 2291310A1 CA 002291310 A CA002291310 A CA 002291310A CA 2291310 A CA2291310 A CA 2291310A CA 2291310 A1 CA2291310 A1 CA 2291310A1
- Authority
- CA
- Canada
- Prior art keywords
- binary
- cams
- applications
- entries
- cam
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Abstract
New techniques for generating entries in a content addressable memory (CAM) capable of comparison operations such as "greater than" and "less than"
decisions are described. The techniques can be used with binary or ternary CAMS. The number of CAM entries needed to implement such decisions is drastically reduced for both binary and ternary CAMS. In the case of binary CAMS, one or multiple searches are needed to perform the comparisons, while in the case of ternary CAMS a tradeoff between the number of CAM entries and the number of searches can be found. As an example, a method of classifying data networking packets is implemented using the new techniques. A packet classifier based on subfields of a packet header is also described.
decisions are described. The techniques can be used with binary or ternary CAMS. The number of CAM entries needed to implement such decisions is drastically reduced for both binary and ternary CAMS. In the case of binary CAMS, one or multiple searches are needed to perform the comparisons, while in the case of ternary CAMS a tradeoff between the number of CAM entries and the number of searches can be found. As an example, a method of classifying data networking packets is implemented using the new techniques. A packet classifier based on subfields of a packet header is also described.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002291310A CA2291310C (en) | 1999-11-30 | 1999-11-30 | Generating searchable data entries and applications therefore |
US09/725,876 US6484170B2 (en) | 1999-11-30 | 2000-11-30 | Generating searchable data entries and applications therefore |
US10/272,949 US6697803B2 (en) | 1999-11-30 | 2002-10-18 | Generating searchable data entries and applications therefore |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002291310A CA2291310C (en) | 1999-11-30 | 1999-11-30 | Generating searchable data entries and applications therefore |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2291310A1 true CA2291310A1 (en) | 2001-05-30 |
CA2291310C CA2291310C (en) | 2007-04-10 |
Family
ID=4164755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002291310A Expired - Fee Related CA2291310C (en) | 1999-11-30 | 1999-11-30 | Generating searchable data entries and applications therefore |
Country Status (2)
Country | Link |
---|---|
US (2) | US6484170B2 (en) |
CA (1) | CA2291310C (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6768992B1 (en) * | 1999-05-17 | 2004-07-27 | Lynne G. Jolitz | Term addressable memory of an accelerator system and method |
US6789127B1 (en) * | 2000-02-15 | 2004-09-07 | Lucent Technologies Inc. | Preparation for network interface recognition of network packet portion with declarative notation for field thereof and constraint therefor |
US6718326B2 (en) * | 2000-08-17 | 2004-04-06 | Nippon Telegraph And Telephone Corporation | Packet classification search device and method |
US20020103925A1 (en) * | 2000-12-06 | 2002-08-01 | Sheth Siddharth C. | Generic programmable internet protocol classification technique for a broadband engine |
US6981077B2 (en) * | 2000-12-22 | 2005-12-27 | Nortel Networks Limited | Global access bus architecture |
JP2002237190A (en) * | 2001-02-07 | 2002-08-23 | Kawasaki Microelectronics Kk | Associative memory device and its constituting method |
US6732228B1 (en) * | 2001-07-19 | 2004-05-04 | Network Elements, Inc. | Multi-protocol data classification using on-chip CAM |
US7133409B1 (en) | 2001-07-19 | 2006-11-07 | Richard Willardson | Programmable packet filtering in a prioritized chain |
US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
US7187694B1 (en) * | 2002-03-29 | 2007-03-06 | Pmc-Sierra, Inc. | Generic packet parser |
US7610440B2 (en) * | 2002-10-23 | 2009-10-27 | Husby Donald E | Content addressable memory with automated learning |
GB2395395B (en) * | 2002-11-15 | 2004-11-10 | 3Com Corp | Classification search scheme and rules engine for network unit |
US7003625B2 (en) * | 2002-12-19 | 2006-02-21 | Mosaid Technologies, Inc. | Searching small entities in a wide CAM |
US7251651B2 (en) * | 2003-05-28 | 2007-07-31 | International Business Machines Corporation | Packet classification |
US7739445B1 (en) | 2004-06-11 | 2010-06-15 | Srinivasan Venkatachary | Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device |
US7461200B1 (en) | 2004-09-23 | 2008-12-02 | Netlogic Microsystems, Inc. | Method and apparatus for overlaying flat and tree based data sets onto content addressable memory (CAM) device |
US7554984B2 (en) * | 2004-11-30 | 2009-06-30 | Broadcom Corporation | Fast filter processor metering and chaining |
US7281085B1 (en) * | 2005-01-31 | 2007-10-09 | Netlogic Microsystems, Inc. | Method and device for virtualization of multiple data sets on same associative memory |
US9406381B2 (en) * | 2010-08-01 | 2016-08-02 | Gsi Technology Israel Ltd. | TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules |
US8775726B2 (en) * | 2012-07-27 | 2014-07-08 | International Business Machine Corporation | TCAM extended search function |
US9491083B2 (en) * | 2012-11-30 | 2016-11-08 | Fujitsu Limited | Systems and methods of test packet handling |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3320592A (en) | 1963-04-11 | 1967-05-16 | Trw Inc | Associative memory system |
US3389377A (en) | 1965-07-06 | 1968-06-18 | Bunker Ramo | Content addressable memories |
US5561429A (en) * | 1986-04-16 | 1996-10-01 | Raytheon Company | Content limit addressable memory |
US4996666A (en) | 1988-08-12 | 1991-02-26 | Duluk Jr Jerome F | Content-addressable memory system capable of fully parallel magnitude comparisons |
US5758148A (en) * | 1989-03-10 | 1998-05-26 | Board Of Regents, The University Of Texas System | System and method for searching a data base using a content-searchable memory |
US5920886A (en) | 1997-03-14 | 1999-07-06 | Music Semiconductor Corporation | Accelerated hierarchical address filtering and translation using binary and ternary CAMs |
-
1999
- 1999-11-30 CA CA002291310A patent/CA2291310C/en not_active Expired - Fee Related
-
2000
- 2000-11-30 US US09/725,876 patent/US6484170B2/en not_active Expired - Lifetime
-
2002
- 2002-10-18 US US10/272,949 patent/US6697803B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20030046500A1 (en) | 2003-03-06 |
US6484170B2 (en) | 2002-11-19 |
US20010002476A1 (en) | 2001-05-31 |
US6697803B2 (en) | 2004-02-24 |
CA2291310C (en) | 2007-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2291310A1 (en) | Generating searchable data entries and applications therefore | |
Van Lunteren et al. | Fast and scalable packet classification | |
Liu | Efficient mapping of range classifier into ternary-CAM | |
US6615336B1 (en) | Method for performing a medium access control address lookup in a network switch of an ethernet network | |
CN102377664B (en) | TCAM (ternary content addressable memory)-based range matching device and method | |
US6985483B2 (en) | Methods and systems for fast packet forwarding | |
AU2003228273A1 (en) | Vlan table management for memory efficient lookups and inserts in hardware-based packet switches | |
AU2002217593B2 (en) | Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables | |
US6778530B1 (en) | Method and apparatus for multiple field matching in network device | |
US6957215B2 (en) | Multi-dimensional associative search engine | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
US20020129086A1 (en) | Cluster-based aggregated switching technique (CAST) for routing data packets and information objects in computer networks | |
WO1997041708A3 (en) | Method and apparatus for detection of packet types in a communications network | |
EP1049298A3 (en) | Method for classifying data acording to quality of service | |
WO2000024159A3 (en) | Method and apparatus for address lookup | |
US20100158016A1 (en) | System and method of fast adaptive tcam sorting for ip longest prefix matching | |
DE602004018759D1 (en) | Icher | |
WO2011060436A1 (en) | Iterative parsing and classification | |
CN102487374A (en) | Access control list realization method and apparatus thereof | |
US6970971B1 (en) | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations | |
CN101039253B (en) | Method for realizing prefix extension of range matching of ternary content addressable memory | |
US7558775B1 (en) | Methods and apparatus for maintaining sets of ranges typically using an associative memory and for using these ranges to identify a matching range based on a query point or query range and to maintain sorted elements for use such as in providing priority queue operations | |
US20060198379A1 (en) | Prefix optimizations for a network search engine | |
CN112818185A (en) | Method for searching longest prefix matching hardware system based on SRAM | |
CN1805435A (en) | IPv6 multi-domain classification processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |