1. A non-volatile memory cell comprising a programmable bipolar resistive sense memory element connected in series with a programmable unipolar resistive sense switching element, wherein the switching element facilitates programming of the memory cell by application of a first current through the respective memory and switching elements in a first direction to program the switching element in a low resistance state, followed by application of a second current through the respective memory and switching elements in an opposing second direction to program the memory element in a selected resistance state, wherein the memory cell is adapted to store at least three distinct data states in relation to the memory and switching elements being programmed in resistance states of high/high, low/high and high/low, respectively.