This Article 
 Bibliographic References 
 Add to: 
Large-Capacity High-Throughput Low-Cost Pipelined CAM Using Pipelined CTAM
May 2006 (vol. 55 no. 5)
pp. 575-587
A novel approach toward realizing a large capacity high-throughput pipelined Content Addressable Memory (CAM) or Associative Memory (AM) at low cost has been described. It employs only commercial Random Access Memory (RAM) along with a simple Binary Search Pipeline (BSPL). In order to search a \rm (2^n-1){\hbox{-}} word Search Key Field (SKF) storage RAM, the BSPL employs n identical and simple Binary Search Processing Elements, each having its local copy of the SKF Storage RAM (SKFSR). The SKFSR stores, in an ordered manner, the SKFs of all the words in the CAM, whereas a Data Field Storage RAM (DFSR) stores the unordered CAM data words. The n-times replicated SKFSR, along with the n-processor BSPL, functions as a simple n-stage pipelined Content-to-Address Memory (CTAM). The CTAM, a new kind of memory that performs the inverse function of a RAM, serves as the first and the most important stage in the proposed 3-stage pipelined CAM architecture. In response to the stream of input query words (search keys) fed to the pipelined CAM, the pipelined CTAM first produces the corresponding stream of SKFSR addresses where the query words reside. These SKFSR addresses corresponding to the queries are next mapped back by the second stage, namely, the Address Mapping RAM, to their original addresses in the CAM, i.e., in the DFSR, which had been altered due to data ordering in the SKFSR. Now, the third stage of the pipelined CAM, namely, the DFSR, is read out at the mapped, i.e., the original CAM addresses, to obtain the desired stream of responses from the CAM. An augmented version of the pipelined CTAM has been designed to handle the presence of duplicate search keys in the CAM. A few illustrative examples of querying a simple database stored in the CAM have been included. The proposed pipelined CAM has a modular and highly scalable architecture. Its throughput rate, which is independent of the CAM size, is a little less than the RAM access rate and its latency is a little more than (n + 2) times the RAM access time.

[1] T. Cohonen, Content-Addressable Memories. Berlin: Springer-Verlag, 1980.
[2] L. Chisvin and R.J. Duckworth, “Content-Addressable and Associative Memory: Alternatives to the Ubiquitous RAM,” Computer, pp. 51-64, July 1989.
[3] C.E. Grosspietsch, “Associative Processors and Memories: A Survey,” IEEE Micro, vol. 12, no. 3, pp. 12-19, June 1992.
[4] S. Narang, “FPGA-Based Implementation of a Pipelined Content-to-Address Memory,” MCSE dissertation, Computer Science and Eng. Dept., Jadavpur Univ., 2004.
[5] S.K. Ray, S.C. Halder, S. Bandyopadhyay, and S. Nayak, “A Pipelined Binary Search Processor,” Proc. Seminar Parallel Processing Systems and Their Applications, pp. 153-158, Dec. 1988.
[6] J.G.D. de Silva and I. Watson, “Pseudoassociative Store with Hardware Hashing,” Proc. IEE (Part E), vol. 130, no. 1, pp. 19-29, Jan. 1983.
[7] D.E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Searching. Reading, Mass.: Addison-Wesley, 1973.
[8] J.L. Baer, H.C. Du, and R.E. Ladner, “Binary Search in a Multiprocessing Environment,” IEEE Trans. Computers, vol. 32, pp. 667-676, 1983.
[9] C.P. Kruskal, “Searching, Merging and Sorting in Parallel Computation,” IEEE Trans. Computers, vol. 32, pp. 942-946, 1983.
[10] T.A. Ottmal, A.L. Rosenberg, and L.J. Stockmeyer, “A Dictionary Machine (for VLSI),” IEEE Trans. Computers, vol. 31, pp. 892-897, 1982.
[11] M.J. Atallah and S.R. Kosaraju, “A Generalized Dictionary Machine for VLSI,” IEEE Trans. Computers, vol. 34, pp. 151-155, 1985.
[12] A.K. Somani and V.K. Agarwal, “An Efficient Unsorted VLSI Dictionary Machine,” IEEE Trans. Computers, vol. 34, pp. 841-852, 1985.
[13] N.J. Carey and C.D. Thompson, “An Efficient Implementation of Search Tree on lg N+1 Processor,” IEEE Trans. Computers, vol. 33, pp. 1038-1041, 1984.
[14] S.K. Ray, “A Fast Pipelined ADC Suitable for VLSI Implementation,” Proc. TENCON 87 (IEEE Region 10 Conf.), vol. 1, pp. 120-124, 1987.

Index Terms:
Content Addressable Memory (CAM), associative store, Associative Memory (AM), pipelined CAM, Content-To-Address Memory (CTAM), pipelined CTAM, Binary Search Processor (BSP), Pipelined Binary Search Processor (PBSP), pipelined binary search, Binary Search Pipeline (BSPL), pipelined search processor, pipelined search engine.
Swapan Kumar Ray, "Large-Capacity High-Throughput Low-Cost Pipelined CAM Using Pipelined CTAM," IEEE Transactions on Computers, vol. 55, no. 5, pp. 575-587, May 2006, doi:10.1109/TC.2006.78
Usage of this product signifies your acceptance of the Terms of Use.