Abstract
Ternary content addressable memories (TCAMs) perform high-speed search operation in a deterministic time. However, when compared with static random access memories (SRAMs), TCAMs suffer from certain limitations such as low-storage density, relatively slow access time, low scalability, complex circuitry, and higher cost. One fundamental question is that can we utilize SRAM to combine it with additional logic to achieve the TCAM functionality? This paper proposes an efficient memory architecture, called E-TCAM, which emulates the TCAM functionality with SRAM. E-TCAM logically divides the classical TCAM table along columns and rows into hybrid TCAM subtables and then maps them to their corresponding memory blocks. During search operation, the memory blocks are accessed by their corresponding subwords of the input word and a match address is produced. An example design of \(512\times 36\) of E-TCAM has been successfully implemented on Xilinx Virtex-\(5\), Virtex-\(6\), and Virtex-\(7\) field-programmable gate arrays (FPGAs). FPGA implementation results show that E-TCAM obtains \(33.33\) % reduction in block-RAMs, \(71.07\) % in slice registers, \(77.16\) % in lookup tables, \(53.54\) % in energy/bit/search, and offers \(63.03\) % improvement in speed, compared with the best available SRAM-based TCAM designs.
Similar content being viewed by others
References
I. Arsovski, T. Hebig, D. Dobson, R. Wistort, A 32 nm 0.58-fj/bit/search 1-GHz ternary content addressable memory compiler using silicon-aware early-predict late-correct sensing with embedded deep-trench capacitor noise mitigation. IEEE J. Solid-State Circuits 48(4), 932–939 (2013)
M. Becchi, P. Crowley, Efficient regular expression evaluation: theory to practice, in Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS ’08. ACM, New York, NY, USA (2008), pp. 50–59. http://doi.acm.org/10.1145/1477942.1477950
Y.J. Chang, Y.H. Liao, ybrid-type CAM design for both power and performance efficiency. IEEE Trans. Very Large Scale Integr. Syst. 16(8), 965–974 (2008)
S. Cho, J. Martin, R. Xu, M. Hammoud, R. Melhem, CA-RAM: a high-performance memory substrate for search-intensive applications, in IEEE International Symposium on Performance Analysis of Systems Software, 2007. ISPASS 2007, pp. 230–241 (2007).
S. Dharmapurikar, P. Krishnamurthy, D. Taylor, Longest prefix matching using bloom filters. IEEE/ACM Trans. Netw. 14(2), 397–409 (2006)
L. Frontini, S. Shojaii, A. Stabile, V. Liberali, A new XOR-based content addressable memory architecture. In 19th IEEE International Conference on Electronics, Circuits and Systems (ICECS), (2012), pp. 701–704.
W. Jiang, V. Prasanna, Parallel IP lookup using multiple SRAM-based pipelines. In IEEE International Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008, pp. 1–14 (2008).
W. Jiang, V.K. Prasanna, Large-scale wire-speed packet classification on FPGAs. In Proceedings of the ACM/SIGDA international symposium on Field programmable gate arrays, FPGA ’09, pp. 219–228 (2009).
W. Jiang, V. Prasanna, Scalable packet classification on FPGA. IEEE Trans. Very Large Scale Integr. Syst. 20(9), 1668–1680 (2012)
W. Jiang, V.K. Prasanna, N. Yamagaki, Decision forest: a scalable architecture for flexible flow matching on FPGA. In Proceedings of the 2010 International Conference on Field Programmable Logic and Applications, FPL ’10, pp. 394–399 (2010).
S.V. Kartalopoulos, RAM-based associative content-addressable memory device, method of operation thereof and atm communication switching system employing the same. U.S. Patent 6097724, 1 Aug 2000
P. Mahoney, Y. Savaria, G. Bois, P. Plante, Parallel hashing memories: an alternative to content addressable memories. In The 3rd, International IEEE-NEWCAS Conference, 2005, pp. 223–226 (2005).
N. Mohan, W. Fung, D. Wright, M. Sachdev, Design techniques and test methodology for low-power TCAMs. IEEE Trans. Very Large Scale Integr. Syst. 14(6), 573–586 (2006)
K. Pagiamtzis, A. Sheikholeslami, A low-power content-addressable memory (CAM) using pipelined hierarchical search scheme. IEEE J. Solid-State Circuits 39(9), 1512–1519 (2004)
K. Pagiamtzis, A. Sheikholeslami, Content-addressable memory (CAM) circuits and architectures: a tutorial and survey. IEEE J. Solid-State Circuits 41(3), 712–727 (2006)
R. Panigrahy, S. Sharma, Reducing TCAM power consumption and increasing throughput. In Proceedings of the 10th Symposium on High Performance Interconnects, 2002, pp. 107–112 (2002).
S.J. Ruan, C.Y. Wu, J.Y. Hsieh, Low power design of precomputation-based content-addressable memory. IEEE Trans. Very Large Scale Integr. Syst. 16(3), 331–335 (2008)
M. Somasundaram, Circuits to generate a sequential index for an input number in a pre-defined list of numbers. U.S. Patent 7155563 B1, 26 Dec 2006
M. Somasundaram, Memory and power efficient mechanism for fast table lookup. U.S. Patent 7296113 B2, 13 Nov 2007
D.E. Taylor, Survey and taxonomy of packet classification techniques. Tech. Rep. ACM Comput. Surv. 46, 3 (2004)
Z. Ullah, K. Ilgon, S. Baeg, Hybrid partitioned SRAM-based ternary content addressable memory. Circuits Syst. I 59(12), 2969–2979 (2012)
Xilinx: Xilinx FPGAs. http://www.xilinx.com. Accessed 2 Jan 2014
Xilinx: Xilinx Xpower Analyzer. http://www.xilinx.com. Accessed 2 Jan 2014
B.D. Yang, Y.K. Lee, S.W. Sung, J.J. Min, J.M. Oh, H.J. Kang, A low power content addressable memory using low swing search lines. Circuits Syst. I 58(12), 2849–2858 (2011)
S.H. Yang, Y.J. Huang, A low-power ternary content addressable memory with pai-sigma matchlines. IEEE Trans. Very Large Scale Integr. 20(10), 1909–1913 (2012)
Acknowledgments
This work was supported by the Croucher Startup Grant (Grant No. 9500015). The authors would like to thank the anonymous reviewers for the useful comments.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ullah, Z., Jaiswal, M.K. & Cheung, R.C.C. E-TCAM: An Efficient SRAM-Based Architecture for TCAM. Circuits Syst Signal Process 33, 3123–3144 (2014). https://doi.org/10.1007/s00034-014-9796-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00034-014-9796-3