1. A method of searching, wherein at least a portion of a value of an attribute of a data feature vector is programmed into a pair of multiple level memory cells in a string of cells of a memory, the method comprising: comparing an input feature vector to the data feature vector, wherein, while comparing the input feature vector to the data feature vector, each memory cell of the pair of memory cells is configured to receive a respective gate voltage selected from a plurality of gate voltages corresponding to more than two data states; wherein the more than two data states comprises N data states, N being an integer value greater than two and each of the N data states having a corresponding threshold voltage range; wherein the value of the attribute of the data feature vector is programmed into the pair of memory cells by programming a first memory cell of the pair of memory cells to a threshold voltage within the threshold voltage range corresponding to a data state X, X being an integer value from 1 to N, and by programming a second memory cell of the pair of memory cells to a threshold voltage within the threshold voltage range corresponding to a data state N−X+1.