TCAM Atomic Rule Updates via Maskable Update Bits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating a group of classification rules in TCAM devices is time-consuming and inefficient, as existing methods require updating entries one by one, which is not suitable for atomic updates needed in high-speed data networks where multiple rules need to be activated simultaneously.
Innovation Solution
Implementing a method that uses a ternary content-addressable memory (TCAM) with classification rules tagged by maskable bits, including an update bit, where data items are classified by constructing an extended key with an update-select bit, allowing for atomic replacement of rules by unmasking the update bit in the existing rules and setting it to a different value for new rules, enabling simultaneous activation of new rules without intermediate states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple TCAMs are run in tandem for rule updates, then rule update capability is improved, but device complexity increases
Solution Approach 1:
The TCAM entries are segmented into two distinct parts: the rule content (prefix, mask, action) and the update bit. This segmentation allows the system to manage rule updates efficiently by controlling which entries are active during updates without requiring multiple TCAM devices, thus resolving the contradiction between update capability and device complexity.
Solution Approach 2:
The patent introduces a temporal dimension to rule updates by using an update bit that transitions between masked and unmasked states. This dimensional approach allows atomic updates to be performed within a single TCAM by controlling the timing of bit unmasking, eliminating the need for parallel TCAM structures and reducing device complexity while maintaining high update capability.
2Device complexity
If rules are updated one by one in TCAM, then device complexity is reduced, but update time increases
Solution Approach 1:
The system performs preliminary actions by setting the update bit to unmasked state for all target entries before actually writing the new rule data. This preliminary preparation allows multiple rules to be updated in parallel within the same TCAM structure, significantly reducing update time while maintaining simple device architecture.
Solution Approach 2:
The patent implements periodic action through the update bit mechanism, where all rules within a group are updated simultaneously at specific update cycles. This periodic update approach enables atomic replacement of rule groups, reducing total update time compared to sequential updates while keeping the TCAM structure simple.
3Productivity
If update bit is unmasked during rule replacement, then atomic update capability is improved, but risk of intermediate states increases
Solution Approach 1:
The patent applies beforehand cushioning by maintaining the update bit in a masked state during normal operation, which acts as a protective barrier preventing accidental or partial rule activation. During atomic updates, the update bit is unmasked only after all new rules are properly written to the TCAM, ensuring that no intermediate states with mixed old and new rules can occur, thus maintaining reliability while achieving atomic update capability.
Data Source
AI summary
A method for classification includes storing in a TCAM classification rules comprising respective tags, each including an update bit. Data items are classified by extracting a respective key from each data item, appending an update-select bit to construct an extended key, and matching the extended key to one of the tags in the TCAM. In response to an instruction to atomically replace a group of existing rules in the TCAM with new rules, the update bit is unmasked and set to the first bit value in the group of the existing rules. The new rules are stored in the TCAM, with their update bit set to a second bit value. After storing the new rules in the TCAM, the update-select bit in the extended key of the received data items is set to the second bit value.


