A differential non-volatile
content addressable memory array has a differential non-volatile
content addressable memory cell which uses a pair of non-volatile storage elements. Each of the non-volatile storage elements can be a split-gate floating gate
transistor or a stack gate floating gate
transistor having a first terminal, a second terminal, a channel therebetween and a floating gate over at least a portion of the channel to control the conduction of electrons in the channel, and a control gate. The floating gate storage
transistor can be in one of two states: a first state, such as erase, in which current can flow between the first terminal and the second terminal, and a second state, such as programmed, in which substantially no current flows between the first terminal and the second terminal. A pair of differential compare
data lines connects to the control gate of each of the pair of non-volatile floating gate transistors. A
match line connects to the first terminal of each of the pair of non-volatile floating gate transistors to a first
voltage. Finally, the second terminals of each storage element is connected to a second
voltage, different from the first
voltage. A current passing through the
memory cell is indicative of a mis-match between the contents of the compare
data lines and the contents of the storage elements.