The memory device includes a floating gate which stores charge during programming. A program gate performs programming by injecting a charge carrier induced from outside during programming into the floating gate. An erasure gate emits the charge carrier which is stored in the floating gate during erasure. A control gate controls the amount of charge carrier provided from the program gate to the floating gate during programming. A verification portion verifies the amount of charge carrier provided from the program gate during programming.