A search engine method and apparatus can store and update status
information for each entry of a content addressable memory (CAM) array,
for a learn operation, or the like. A search engine can include a status
memory block external to and independent of the CAM array. A status
memory block (800) can include a number of memory sections (806-0 to
806-2) that each includes a number of bit locations for storing a
free/not-free status of CAM entries in a hierarchical fashion.
Corresponding control sections (808-0 to 808-2) can include priority
encoders (812-0 to 812-2) that determine a first free element in a memory
section for a next hierarchical level, as well as status aggregation
logic (814-0 to 814-2) that can generate an aggregated status that is
propagated to a previous hierarchical level.