To provide a semiconductor nonvolatile memory in which a rewritable operation for a part of the data that are already written is conducted employing a simple method without conducting an erasing operation.
When a part of the data which are written in a main memory cell array of a semiconductor nonvolatile memory having main memory cell array 10 and submemory cell array 20, is to be changed, the data to be changed are written into the submemory cell array without erasing the information in the main memory cell array and correspondence information of a first address of the main memory cell array into which the change object data are stored, and a second address of the submemory cell array into which the data to be changed is stored, are recorded. During a reading, a reading address and the first address of the correspondence information are compared and data in the submemory cell array of the second address corresponding to the first address are read when the compared addresses are coincident with each other. When the compared addresses are not coincident with each other, the data in the main memory cell array corresponding to the reading address are read.
Hayashi Tsunetoku