In a non-volatile memory system, the programming time period allocated for
the program pulse is adjusted as a function of the voltage level of the
pump pulse required so that the total number of pump pulses required to
program the charge storage element to the required threshold voltage is
reduced. For example, programming time period may be increased with an
increase in the voltage level of the pump pulse required. This allows the
programming time period of the program pulse to be increased to a value
that compensates for the increased charge-up time that is required for
the higher amplitude program pulses to reach the desired programming
voltage.