A search engine system including a memory bank coupled to a bank selection
signal, mask logic for receiving constructed keys and incoming key masks
and for providing masked keys, hash function blocks for receiving at
least two of the masked keys and for providing at least three hash
function outputs and multiplexers for receiving hash function outputs,
and for providing the bank selection signal is disclosed. Also, the
system can allow for local masking of the constructed keys using local
mask fields. The hash function can be a Cyclic Redundancy Code (CRC) type
function. The memory bank can be arranged as buckets of entries and can
be implemented as a standard static random access memory (SRAM). Further,
the system can be configured to operate in either a shared mode for
sharing hash function outputs or a non-shared mode whereby hash function
outputs can be designated for particular portions of the memory bank.