A hard disk drive write driver circuit is described that can change the
output impedance of the write driver by use of a lookup table of control
values. A control value is selected from the lookup table by using an
address based on a dynamic system variable and a program controlled
value. The dynamic system variable is converted to a digital
representation. The digital representation and a portion of the program
controlled value are used as an address to the lookup table to select a
control value. The write driver is responsive to the selected control
value to control overshoot current. A method to digitally program the
output impedance of a preamp write driver based on realistic operating
data is also discussed. An additional approach to controlling overshoot
current in a write driver through digital control of overshoot duration
is also described.