Title :
Scalable Ternary Content Addressable Memory implementation using FPGAs
Author_Institution :
Xilinx Res. Labs., San Jose, CA, USA
Abstract :
Ternary Content Addressable Memory (TCAM) is widely used in network infrastructure for various search functions. There has been a growing interest in implementing TCAM using reconfigurable hardware such as Field Programmable Gate Array (FPGA). Most of existing FPGA-based TCAM designs are based on brute-force implementations, which result in inefficient on-chip resource usage. As a result, existing designs support only a small TCAM size even with large FPGA devices. They also suffer from significant throughput degradation in implementing a large TCAM, mainly caused by deep priority encoding. This paper presents a scalable random access memory (RAM)-based TCAM architecture aiming for efficient implementation on state-of-the-art FPGAs. We give a formal study on RAM-based TCAM to unveil the ideas and the algorithms behind it. To conquer the timing challenge, we propose a modular architecture consisting of arrays of small-size RAM-based TCAM units. After decoupling the update logic from each unit, the modular architecture allows us to share each update engine among multiple units. This leads to resource saving. The capability of explicit range matching is also offered to avoid range-to-ternary conversion for search functions that require range matching. Implementation on a Xilinx Virtex 7 FPGA shows that our design can support a large TCAM of up to 2.4 Mbits while sustaining high throughput of 150 million packets per second. The resource usage scales linearly with the TCAM size. The architecture is configurable, allowing various performance trade-offs to be exploited. To the best of our knowledge, this is the first FPGA design that implements a TCAM larger than 1 Mbits.
Keywords :
content-addressable storage; field programmable gate arrays; integrated circuit design; memory architecture; random-access storage; FPGA-based TCAM designs; Xilinx Virtex 7 FPGA; deep priority encoding; explicit range matching; field programmable gate array; network infrastructure; on-chip resource usage; range-to-ternary conversion; reconfigurable hardware; scalable random access memory; scalable ternary content addressable memory; search functions; small-size RAM-based TCAM units; Clocks; Field programmable gate arrays; Hardware; Indexes; Memory management; Random access memory; Vectors; FPGA; RAM; TCAM;
Conference_Titel :
Architectures for Networking and Communications Systems (ANCS), 2013 ACM/IEEE Symposium on
Conference_Location :
San Jose, CA
Print_ISBN :
978-1-4799-1640-5
DOI :
10.1109/ANCS.2013.6665177