1. A method for changing and sensing data states for a nonvolatile memory cell, the method comprising: switching silicon or a silicon alloy, or germanium or a germanium alloy semiconductor material of a semiconductor diode from a first stable resistivity state to a second stable resistivity state, the second resistivity state lower resistivity than the first resistivity state; switching the silicon or a silicon alloy, or germanium or a germanium alloy semiconductor material of the semiconductor diode from the second stable resistivity state to a third stable resistivity state, the third resistivity state higher resistivity than the second resistivity state; and sensing the first resistivity state, the second resistivity state, or the third resistivity state as a data state of the memory cell, wherein: the semiconductor diode consists essentially of the silicon or silicon alloy, or germanium or germanium alloy semiconductor material; at least a portion of the silicon or silicon alloy, or germanium or germanium alloy semiconductor material is doped; the memory cell comprises a portion of a first conductor; a portion of a second conductor; and a switchable memory element comprising the silicon or silicon alloy, or germanium or germanium alloy semiconductor material of the semiconductor diode, the switchable memory element disposed between the first and second conductors; the semiconductor diode in the first stable resistivity state has a first resistivity when a read voltage is applied to the semiconductor diode; the semiconductor diode in the second stable resistivity state has a second resistivity when the read voltage is applied to the semiconductor diode; the semiconductor diode in the third stable resistivity state has a third resistivity when the read voltage is applied to the semiconductor diode; and the first resistivity, the second resistivity, and the third resistivity are different from each other.