The Community for Technology Leaders
Green Image
Issue No. 06 - June (2013 vol. 62)
ISSN: 0018-9340
pp: 1111-1126
Salvatore Pontarelli , University of Rome, Rome
Marco Ottavi , University of Rome, Rome
A content addressable memory (CAM) is an SRAM-based memory that can be accessed in parallel to search for a given search word, providing as a result the address of the matching data. Like conventional memories, a CAM can be affected by the occurrence of single event upsets (SEUs) that can alter the content of one of more memory cells causing different effects such as pseudo-HIT or pseudo-MISS events. It is well known that, because of the parallel search performed by a CAM during the query of a word, a standard error correction code could not defend it against SEU events. In this paper, we propose a method that does not require any modification to a CAM's internal structure and, therefore, can be easily applied at system level. Error detection is performed by using a probabilistic structure called "Bloom filter,” which can signal if a given data is present in the CAM. Bloom filters permit to efficiently store and query the presence of data in a set. But, while a CAM suffers from SEU induced errors, the probabilistic nature of Bloom filters has as a consequence the so called false-positive effect. This paper shows that, by combining the use of a Bloom filter with a CAM, the complementary limitations of these modules can be compensated. The combined use of a CAM and a Bloom filter is analyzed in different cases, showing that the proposed technique can be implemented with a low penalty in terms of area and power consumption.
Computer aided manufacturing, Random access memory, Error correction codes, Single event upset, Power demand, Associative memory, Arrays, error detection and correction, Bloom filter, content addressable memories

S. Pontarelli and M. Ottavi, "Error Detection and Correction in Content Addressable Memories by Using Bloom Filters," in IEEE Transactions on Computers, vol. 62, no. , pp. 1111-1126, 2013.
98 ms
(Ver 3.3 (11022016))