Patent ID: 7907432

Claim:
A content addressable memory (CAM) device configured to process multiple flows, comprising: an array including a plurality of rows of CAM cells, each row configured to simultaneously compare first and second search keys with data stored in the row to generate first and second match results, respectively; flow select logic having a plurality of first match inputs to receive the first match results from all of the rows, a plurality of second match inputs to receive the second match results from all of the rows, a control input to receive a flow select signal, and a plurality of outputs; and a priority encoder having a plurality of inputs coupled to corresponding outputs of the flow select logic, and having an output to generate an index of a highest priority match in response to the match results, wherein when the flow select signal is in a first state, the flow select logic forwards the first match results to the priority encoder only if at least one of the first match results indicates a match condition, and forwards the second match results to the priority encoder if none of the first match results indicates a match condition.