A data processing system (1) has an erasable and programmable non-volatile
memory (5) and a central processing unit (2). The central processing
unit allows only a specified partial storage area (20Ba) of the non-volatile
memory to be intended for a software ECC process. Since ECC codes are added to
the partial storage area alone and an error correction is made thereto to thereby
increase the number of rewrite assurances, substantially needless waste of each
storage area by ECC codes can be avoided as compared with a configuration in which
the ECC codes are added to all the write data without distinction regardless of
the storage areas. Further, since software copes with ECC processing, ECC correcting
capability matched with a device characteristic of the non-volatile memory can
easily be selected.