I. Introduction
The recent development of the Internet of Things (IoT) has increased the exchange of a large amount of data among networking devices. In the rapid exchange of data, a content-addressable memory (CAM) plays a critical role in improving the searching speed of the networking devices for route look-up, packet classification, or packet forwarding. A ternary CAM (TCAM), which provides the ‘X (don’t care)’ as well as ‘0’ and ‘1’, enables a more flexible search operation. The most typical structure of a TCAM is based on static random access memories (SRAMs). Although the SRAM TCAM supports fast writing and searching, it consumes a high static power for maintaining the data [1]. To resolve this problem, several nonvolatile TCAMs have been developed using magnetic tunnel junction (MTJ) or flash [2], [3], [4]. These nonvolatile TCAMs can maintain the stored data without power supply during standby mode, however, several drawbacks impede the practical use of nonvolatile TCAMs. First, the low on/off ratio of the MTJ [5], [6], [7] requires many transistors for ensuring enough sensing margin to distinguish match and mismatch accurately, resulting in a large area overhead. Second, since two-terminal devices like MTJ operate only as storage, they require a serially connected transistor as a switch, which also imposes area overhead. Third, current-based write operation of MTJ [8] or a large write voltage () and a long write time () of flash [9] cause a high write energy consumption.