1. A method of performing a write operation, the method comprising: selecting a voltage signal from between or among a plurality of voltage signals corresponding to a plurality of predetermined memory states of a non-volatile memory device based, at least in part, on a particular memory state of the plurality of predetermined memory states, wherein a first of the plurality of voltage signals comprises a first voltage and a first current, and a second of the plurality of voltage signals comprises a second voltage and a second current; and applying across terminals of the non-volatile memory device a programming signal based, at least in part, on the selected voltage signal to place the memory device in the particular memory state, wherein the selecting the voltage signal from between or among the plurality of voltage signals further comprises: receiving the plurality of voltage signals at a multiplexer; and selecting, at the multiplexer, the selected voltage signal in response to a data signal representative of the particular memory state, wherein the selecting the current level from between or among the plurality of current levels further comprises selecting one or more of a plurality of conductive elements to conduct the voltage signal to the non-volatile memory device in response to the data signal, and wherein the plurality of conductive elements comprise a plurality of transistors, and further comprising applying voltages at gates of the plurality of the transistors based, at least in part, on the data signal, one or more of the transistors conducting one or more portions of the programming signal at the selected current level to the non-volatile memory device.