A non-volatile semiconductor memory device includes a memory cell array having a plurality of non-volatile memory cells, a decode circuit configured to decode address data as input thereto to select a memory cell from the memory cell array, and a data sense circuit configured to detect and amplify the data of the selected memory cell of the memory cell array. In this servo information writing method, the head is stopped when a write error is detected while the servo information is being written, and the head is then moved again at a constant speed and starts writing the servo information again, at the position where the write error has occurred. A difference between the output value detected and a value at reference process speed is calculated and based on the difference, a correction value is further calculated.