a write pulse generator is provided with an adjusting section which adjusts a width of write pulses to be generated , a plurality of registers in which control values of adjusting made by the adjusting section are set , a selecting section which selects a control value from the registers and supplies the control value to the adjusting section , and a timing generator . the registers are successively arranged in a plurality of stages so that the control values are successively copied to the registers in subsequent stages . the timing generator generates timings at which the control values are successively copied to the registers in the subsequent stages . the selecting section selects and supplies to the adjusting section the control value held by a register in a final stage .