Therefore, the 3Tr-NAND type flash memory 403 is an optimumsemiconductor memory for retaining the code data.An LSI with a NAND type flash memory conventionally requires such a controller as described below in order to prevent a rewrite operation from concentrating on particular blocks.