Conventionally, a scheme that a value of plural bits is stored in a single memory cell transistor is known as a technique of increasing capacity of a NAND type flash memory. For example, a flash memory employing a multi level cell (MLC) scheme can store a value of two bits in a single memory cell transistor. For example, a flash memory employing a triple level cell (TLC) scheme can store a value of three bits in a single memory cell transistor.