When to a memory cell array 21 a read/write operation is performed of the
7-bit data in which parity bits of 3 bits are added to data of 4 bits, an
error correction is carried out in concern to each of the 7-bit data. The
memory cell array is divided into memory units 31 to 37 each of which has
four bits which are arranged along a direction of a word line. On writing
the 7-bit data in the memory cell array, bits of the 7-bit data that are
different from one another are written as written bit data along the
direction of the word line in the memory units 31 to 37, respectively. In
the 7-bit data, the written bit data has an interval of four bits. Error
correcting circuits performs an error correction of the 7-bit data in
each of the 7-bit data.