A search engine for a network switch reads a routing table for an entry
with a matching MAC or IP address. The routing table is contained in an
embedded DRAM. The search engine and the embedded-DRAM routing table are
integrated together on the same integrated circuit chip, allowing a very
wide data path between the search engine and the routing table. A
free-running sequencer outputs addresses to the routing table so that each
entry is read in a continuous-loop sequence. The same entry is sent to
comparators for all active searches. Destination addresses for different
input ports are compared to the entry read from the table. A match ends
the search for a port while searches for other ports continue. Since ports
can begin and end searches at any point in the continuous-loop sequence, a
same low latency is provided for all input ports, even when other searches
are in progress. The wide data path from the embedded-DRAM allows several
entries to be read and compared for each cycle and for each port. Thus
multiple entries are compared in parallel for each port, and ports are
searched in parallel.
Um Search Engine para um interruptor da rede lê uma tabela de roteamento para uma entrada com um MAC ou um IP address combinando. A tabela de roteamento é contida em um DRAM encaixado. O Search Engine e a tabela de roteamento de encaix-embedded-DRAM são integrados junto na mesma microplaqueta do circuito integrado, permitindo um trajeto de dados muito largo entre o Search Engine e a tabela de roteamento. Um sequencer free-running outputs endereços à tabela de roteamento de modo que cada entrada seja lida dentro uma seqüência do contínuo-laço. A mesma entrada é emitida aos comparadores para todas as buscas ativas. Os endereços de destino para portos diferentes da entrada são comparados à entrada lida da tabela. Um fósforo termina a busca para um porto quando as buscas para outros portos continuarem. Desde que os portos podem começar e a extremidade procurara em algum ponto na seqüência do contínuo-laço, uma mesma latência baixa está fornecida para todos os portos da entrada, mesmo quando outras buscas são em andamento. O trajeto de dados largo do encaix-embedded-DRAM permite que diversas entradas sejam lidas e comparadas para cada ciclo e para cada porto. Assim as entradas múltiplas são comparadas na paralela para cada porto, e os portos são procurarados na paralela.