A read operation and a search operation are performed during the same cycle within a CAM system including a CAM array by: (1) forcing a non-matching condition to exist in the row of the CAM array selected for the read operation, (2) comparing the read data value with the search data value outside of the CAM array to determine whether a match exists, and (3) prioritizing the results of the search operation performed within the CAM array and the results of the comparison performed outside of the CAM array to provide a final search result.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of operating a content addressable memory (CAM) system comprising: receiving a signal for performing a read operation from a selected row of a CAM array; in response to receiving the signal, decoding the signal to activate a discharge signal from a plurality of discharge signals during a first cycle of the CAM system, wherein the discharge signal is associated with the selected row of the CAM array; performing the read operation from the selected row of a CAM array during the first cycle of the CAM system, wherein a read data value is read from the selected row; performing a search operation within each row of the CAM array except for the selected row of the CAM array during the first cycle of the CAM system, wherein a search data value is provided to the CAM array during the search operation; providing a first search result in response to the search operation; comparing the read data value with the search data value to provide a second search result, the comparison occurring outside of the CAM array; and providing a third search result in response to the first search result and the second search result.
2. The method of claim 1 , further comprising performing the read operation at the same time as performing the search operation.
3. The method of claim 1 , further comprising providing the first search result at the same time as providing the second search result.
4. The method of claim 1 , wherein the first search result identifies a first row of the CAM array that stores data matching the search data value.
5. The method of claim 4 , wherein providing the third search result comprises comparing a priority of the selected row with a priority of the first row to determine which of these rows has a higher priority.
6. The method of claim 1 , wherein the search operation comprises placing a match line associated with the selected row of the CAM array in a state associated with a non-matching condition.
7. The method of claim 6 , wherein the discharge signal discharges the match line associated with the selected row of the CAM array to place the selected row of the CAM array in the state associated with a non-matching condition.
8. The method of claim 6 , wherein the search operation further comprises placing match lines associated with the rows of the CAM array other than the selected row in a state associated with a matching condition.
9. The method of claim 8 , wherein a plurality of pre-charge lines pre-charges the match lines associated with the rows of the CAM array other than the selected row to place the rows of the CAM array other than the selected row in the state associated with a matching condition.
10. A method of operating a content addressable memory (CAM) system comprising: receiving a signal for performing a read operation from a selected row of a CAM array; in response to receiving the signal, decoding the signal to activate a discharge signal from a plurality of discharge signals, wherein the discharge signal is associated with the selected row of the CAM array; and simultaneously performing the read operation and a search operation in the CAM array, wherein the read operation comprises reading a read data value from the selected row of the CAM array and placing a match line associated with the selected row of the CAM array in a state associated with a non-match condition of the search operation.
11. The method of claim 10 , wherein the search operation comprises applying a search data value to the CAM array and placing match lines associated with all rows of the CAM array except for the selected row in a state associated with a match condition of the search operation.
12. The method of claim 11 , further comprising comparing the read data value with the search data value, the comparison occurring outside of the CAM array.
13. The method of claim 11 , further comprising: providing a first search result in response to the search operation; comparing the read data value with the search data value to provide a second search result; and providing a third search result in response to the first search result and the second search result.
14. A content addressable memory (CAM) system comprising: a CAM array including a plurality of CAM cells arranged in rows and columns, wherein each of the rows includes a corresponding match line for indicating a match or non-match condition during a search operation; a controller that initiates a read operation from a selected row of the CAM array and a search operation to the CAM array during a first cycle of the CAM system; and a match line pre-charge circuit that is configured to (i) receive one or more signals corresponding to the read operation and the search operation from the controller, and (ii) decode the one or more signals to activate a discharge signal associated with the selected row from a plurality of discharge signals and activate a plurality of pre-charge signals; wherein the discharge signal discharges the match line corresponding with the selected row of the CAM array, and the plurality of pre-charge signals pre-charges all other match lines of the CAM array during the first cycle of the CAM system.
15. The CAM system of claim 14 , wherein the CAM cells comprise dynamic random access memory (DRAM) cells.
16. The CAM system of claim 14 , wherein the CAM cells comprise static random access memory (SRAM) cells.
17. The CAM system of claim 14 , further comprising a priority encoder coupled to the match lines of the CAM array, wherein the priority encoder provides a first search result of the search operation.
18. The CAM system of claim 17 , further comprising a comparator that compares a read data value read from the selected row during the read operation with a search data value that is provided to the CAM array during the search operation, wherein the comparator provides a second search result.
19. The CAM system of claim 18 , further comprising a priority comparator that receives the first search result from the priority encoder, and the second search result from the comparator, and in response, provides a third search result.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 16, 2009
February 1, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.