1. A non-volatile semiconductor device having a memory cell in which a threshold value voltage changes and the data corresponding to the threshold value voltage are written in response to application of the writing pulse having a predetermined width and voltage to word lines and bit lines, the device executing a verify operation for judging the data from the threshold value voltage every application of the writing pulse in the data writing operation, characterized in that: the writing condition is set which is capable of suppressing the writing failure rate than in the case of the first-time writing operation, when the writing failure is generated in the first-time writing operation and the writing operation is re-executed.