A program unit includes two program cells having an electric resistance
varying according to a magnetization direction thereof. These program
cells are magnetized in the same direction in initial state, that is,
non-program state. In program state, the magnetization direction of one
of the program cells selected according to program data is changed from
the initial state. One-bit program data and information of whether the
program unit stores program data or not can be read based on two program
signals generated according to the electric resistances of the two
program cells.