After performing the erase operation that applies the voltage described above to the electrodes during a very short time period in operation S520, the read operation is performed in operation S530. For performing the read operation, the source electrode 191 and the body electrode 160 are applied with a GND voltage, and the control gate electrode 171 and the drain electrode 193 are applied with the voltage corresponding to a degree at which the holes injected into the floating gate 180 exit the floating gate 180 or a degree at which electrons or holes are not injected into the floating gate 180. That is, the drain electrode 193 may be applied with a first voltage for the sensing transistor to operate, and the control gate electrode 171 may be applied with a second voltage greater than the first voltage. In this example, the current flows between the drain and the source due to a potential difference applied between the drain electrode 193 and the source electrode 191. Therefore, it is possible to know whether or not the MTP cell has been programmed, based on the current amount flowing between the drain and the source when the read operation is performed. If there are many electrons emitted into the floating gate 180 or many holes injected into the floating gate 180, a much greater current value in the read operation is measured, and if there are many electrons injected into the floating gate 180, a much smaller current value is measured. Accordingly, if the measured current value of the MTP cell when the read operation is performed is greater than the first setting value, it is therefore determined that the MTP cell is successfully erased. If the current value of the MTP cell is smaller than the first setting value, it may be determined that electrons are not yet emitted sufficiently or too few holes are injected into the MTP cell, so it is therefore determined that the corresponding MTP cell has not been erased successfully.