Improved circuitry and methods for programming memory cells of a memory
device are disclosed. The improved circuitry and methods operate to
protect the memory cells from potentially damaging electrical energy that
can be imposed during programming of the memory cells. Additionally, the
improved circuitry and methods operate to detect when programming of the
memory cells has been achieved. The improved circuitry and methods are
particularly useful for programming non-volatile memory cells. In one
embodiment, the memory device pertains to a semiconductor memory product,
such as a semiconductor memory chip or a portable memory card.