Difference data reception unit receives difference data for all segments
and stores it in nonvolatile memory. Restoration processing unit stores
restoration process segment number indicative current process segment in
the nonvolatile memory, and then restores segment data from difference
data and stores it in nonvolatile memory. Overwrite processing unit
stores overwrite processing segment number indicative of immediately
preceding process segment nonvolatile memory, and then reads restored
data which is restored on the immediately preceding segment from
nonvolatile memory and overwrites it onto the data to be written of the
volatile memory. If the power supply is interrupted during restoration
process of segment data, a resuming processing unit resumes restoration
process from the head of the segment of the restoration process segment
number and if the power supply is interrupted during the overwriting
process of the segment data, resumes the overwriting process from the
head of the overwrite processing segment number.