At least one junction
diode fabricated in standard
CMOS logic processes can be used as program selectors for memory cells that can be programmed based on direction of current flow. These cells are MRAM, RRAM, CBRAM, or other memory cells that have a programmable
resistive element coupled to a P terminal of a first
diode and to an N terminal of a second
diode. The diodes can be constructed by P+ and N+ active regions on an N well as the P and N terminals of the diodes. The memory cells can be used to construct a two-dimensional
memory array with the N terminals of the first diodes and the P terminals of the second diodes in a row connected as wordline(s) and the resistive elements in a column connected as a bitline. By applying a
high voltage to a selected bitline and a
low voltage to a selected wordline to turn on the first diode while disabling the second diode, a selected
cell can be programmed into one state. Similarly, by applying a
low voltage to a selected bitline and a
high voltage to a selected wordline to turn on the second diode while disabling the first diode, a selected
cell can be programmed into another state. The data in the resistive
memory cell can also be read by turning on a selected wordline to couple a selected bitline to a
sense amplifier. The wordlines may have high-resistivity local wordlines coupled to low-resistivity global wordlines through conductive contact(s) or via(s).