If the erase operation has been completed successfully, the program operation may be performed at operation S560. For the program operation, the source electrode 191 and the body electrode 160 may each be applied with a signal GND, and the drain electrode 193 and the control gate electrode 171 may each be applied with a positive voltage (VPP), but operation S560 is not limited to this approach, and other similar approaches may be used in other examples. The source electrode 191 may be applied with a voltage lower than the voltage for the program, for example, the positive voltage (VPP). In another example, the drain electrode 193 may be applied with the voltage that is much smaller than the voltage (VPP) applied to the control gate electrode 171. Herein, as one example, the VPP may be a voltage in the range of 3V to 10V. In such an example, the voltage applied to the control gate electrode 171 and the drain electrode 193 is maintained during a very short time period of 1?1000 μs. That is, electrons are not injected into the floating gate 180 all at once, but only a small amount of such electrons may be injected.