1. A hybrid method of programming a non-volatile memory cell to a final programmed state, comprising: using a first programming mechanism to program said non-volatile memory cell to a first programmed state; and using a second programming mechanism to program said non-volatile memory cell from said first programmed state to a final programmed state.