CA-RAM: A High-Performance Memory Substrate for Search-Intensive Applications

Sangyeun Cho, Joel R. Martin, Ruibin Xu, Mohammad H. Hammoud, Rami Melhem
2007 2007 IEEE International Symposium on Performance Analysis of Systems & Software  
This paper proposes a specialized memory structure called CA-RAM (Content Addressable Random Access Memory) to accelerate search operations present in many important real-world applications. Search operations can occupy a significant portion of total execution time and energy consumption, while posing a difficult performance problem to tackle using traditional memory hierarchy concepts. In essence, CA-RAM is a direct hardware implementation of the well-known hashing technique. Searchable
more » ... are stored in CA-RAM at a location determined by a hash function, defined on their search key. After a database has been built, looking up a record in CA-RAM typically involves a single memory access followed by a parallel key matching operation. Compared with a conventional CAM (Content Addressable Memory) solution, CA-RAM capitalizes on dense SRAM and DRAM designs, and achieves comparable search performance while occupying much smaller area and consuming significantly less power. This paper presents detailed design aspects of CA-RAM, to be integrated in future general-purpose and application-specific processors and systems. To further motivate and justify our approach, we present two real examples of using CA-RAM to build a high-performance search accelerator targeting: IP address lookup in core routers and trigram lookup in a large speech recognition system. This paper presents a specialized, yet generic memory structure called CA-RAM (Content Addressable Random Access Memory) to accelerate search operations. Searching is a fundamental computer operation used in many nontrivial applications [14] , often occupying a large portion of the total program execution time. Network packet filtering and routing applications, for example, require constant, high-bandwidth searching over a large number of IP addresses. Speech recognition applications spend over 24% of their CPU cycles dedicated to searching [9] . Traditionally, searching has been done through software algorithms such as list/tree traversal and hashing [14] or hardware schemes such as CAM (Content Addressable Memory) [15] . Content-Addressable Random Access Memory (CA-RAM) The three main design goals for CA-RAM are: (1) search performance (i.e., bandwidth and average latency) equivalent to that of conventional CAM; (2) area and power characteristics similar to those of conventional RAM; and (3)
doi:10.1109/ispass.2007.363753 dblp:conf/ispass/ChoMXHM07 fatcat:mbbovdjy7fg3jhoymyolvullki