CAM Array Range Control Circuitry for Search Engine Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Network Search Engines (NSEs) face inefficiencies in storage allocation and search operations due to the need to allocate storage on a Content Addressable Memory (CAM) block by block basis, leading to wasted storage and slow search speeds, especially when databases require only a fractional portion of the CAM array entries.
Innovation Solution
The implementation of range control circuitry that allows for the definition of a searchable range within a CAM array or across multiple arrays using start and end addresses, suppressing match indications outside this range, thereby enabling flexible allocation and prioritization of matching entries without the need for storage-consuming identifier bits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple databases are stored in separate CAM blocks, then database search capability is improved, but storage efficiency deteriorates due to wasted space when databases require only fractional portions of CAM array entries
Solution Approach 1:
The patent divides the CAM array into multiple banks, where each bank can independently store a portion of a database. This allows a single database to be fragmented across multiple banks, enabling efficient use of storage space while maintaining the ability to search the entire database. The segmentation principle resolves the contradiction by allowing flexible allocation of database portions to CAM banks without requiring entire banks to be dedicated to each database.
Solution Approach 2:
The CAM array is designed to serve multiple databases simultaneously through a universal search mechanism. The control logic can direct search operations to specific banks or combinations of banks, allowing the same physical CAM structure to function as multiple logical databases. This multi-functionality enables the system to adapt to different database size requirements without wasting storage capacity.
2Ease of operation
If entire CAM blocks are allocated to databases, then search operations are simplified, but storage capacity is reduced due to inability to allocate fractional portions
Solution Approach 1:
The CAM array is segmented into multiple banks that can be independently controlled and searched. This segmentation allows the system to search only the relevant banks containing the required database portions, maintaining operational simplicity while improving storage capacity utilization. The control logic manages the segmentation transparently, preserving ease of operation.
3Adaptability or versatility
If table identifier bits are stored in CAM array entries, then database-specific entries are designated, but storage capacity is reduced
Solution Approach 1:
Instead of adding identifier bits within the CAM array entries (horizontal dimension), the patent uses bank selection signals and control logic (vertical dimension) to identify which database a CAM entry belongs to. This dimensional shift allows database identification without consuming additional storage space within the CAM array itself, resolving the contradiction between identification capability and storage capacity.
Data Source
AI summary
Controlling a searchable range within a network search engine. A CAM array is provided within the network search engine to store data values in entries having respective addresses and to compare the data values with a search key. First address and a second addresses that define a range of the addresses are received at an interface of the network search engine, and range-control circuitry is provided within the network search engine to generate a hit signal having either a first state or a second state according to whether any of the entries having addresses within the range of addresses match the search key.


