1. A method comprising: temporarily storing write-data that are to be written into a plurality of non-volatile memory cells, respectively, the non-volatile memory cells being divided into a plurality of cell groups each comprising at least one non-volatile memory cell; performing a first operation, the first operation comprising a plurality of first write-phases that are carried out in series, each of the first write-phases being carried out on an associated one of the cell groups and comprising, applying a first write-voltage to the nonvolatile memory cell or cells belonging to the associated one of the cell groups in response to associated one or ones of the write-data that are to be written into the nonvolatile memory cell or cells belonging to the associated one of the cell groups; and performing a second operation after the first operation is completed, the second operation comprising a plurality of first read-phases that are carried out in series, each of the first read-phases being carried out on an associated one of the cell groups and comprising: applying a first read-voltage to the nonvolatile memory cell or cells belonging to the associated one of the cell groups to produce first read-data therefrom; and comparing the first read-data with the associated one or ones of the write-data that are to be written into the nonvolatile memory cell or cells belonging to the associated one of the cell groups to produce first comparison result data.