Abstract: Described are method and apparatus for protecting content of a semiconductor non-volatile memory and a semiconductor non-volatile memory itself, the semiconductor non-volatile memory being constituted by, for example, a flash memory, so that a reduction in a life time of the non-volatile memory due to an excess number of times a refresh (rewrite) operation can be prevented. For example, a first data deterioration determining voltage V.sub.1 is applied via a row decoder to one of word lines to which a selected bit is connected to determine whether the selected bit is turned on and a second data deterioration determining voltage V.sub.2 is applied to the same word line to determine whether the selected bit is turned off. The results of the determinations are stored in a second memory unit.