[ 0012 ] fig1 shows a computer system 100 including a memory 110 , a power supply 130 and a processor 140 . memory 110 includes a memory array 112 of nonvolatile memory cells ( which can be flash memory cells ), an on - chip reference voltage source 200 for providing stable reference voltages for operation of the memory and a controller 120 that controls detailed operations of memory 110 such as the various individual steps necessary for carrying out writing , reading , and erasing operations . memory 110 also includes an address decoder circuit 122 for decoding and selecting addresses provided by processor 140 to access appropriate memory cells in memory array 112 , and an i / o circuit 124 for providing bi - directional communications between processor 140 and memory circuit 110 . [ 0013 ] fig2 shows a simplified block diagram of a vref source circuit 200 according to one example of the invention . the circuit includes low voltage bandgap reference 210 , low current trimmable vref source 212 , differential sensing device 214 , track control 216 , clock generator 218 and astable circuit 220 . low voltage bandgap reference 210 is preferably a high precision bandgap reference voltage source that is set to a predetermined voltage . in operation , it may draw relatively high current , for example , in the range of 200 μa . low current trimmable ( adjustable ) vref source 212 is a relatively low current consumption vref source that has relatively low precision over changes in vcc , temperature , and process parameters . differential sensing device 214 compares two input voltages and outputs a result that indicates which voltage is higher . differential sensing device 214 may be a comparator or a differential amplifier or other differential voltage sensing device . its inputs are the voltage reference outputs of low voltage bandgap reference 210 and of trimmable vref source 212 . track control 216 includes logic circuitry for supervising the operation of vref source circuit 200 and is clocked by a high frequency clock signal provided by clock generator 218 . [ 0014 ] fig3 shows trimmable vref source 212 in more detail . in this example , trimmable vref source 212 includes current source 302 , rc filter 310 and decoder 308 . current source 302 is powered by vcc and feeds resistor ladder 304 . individual resistors of resistor ladder 304 are selected by switches 306 . switches 306 are activated by the output of decoder 308 . in the example shown in fig3 decoder 308 is a 7 - bit decoder . resistor ladder 304 thus includes a series of 128 resistors selectively tapped so that the resistors can be shunted to ground by any one of the switches 306 . fig3 shows 128 transistor switches , t 1 - t 128 , only one of which at any one time are selected by decoder 308 according to the value of the 7 bits of vtrim . tolerance of the resistors of resistor ladder 304 corresponds to a vref trimming resolution of 5 mv , more than adequate for all practical purposes in a flash memory . other tolerances can , of course , be selected depending on the needs of a particular circuit design . rc filter 310 may be included to filter any relatively high frequency vcc noise from reaching current source 302 . vref source circuit 200 operates , in general , as follows ., at power - up , a reset signal resets track control 216 to an initial state . the logic signal track_enable input to track control 216 is , however , initially at “ 0 ” preventing operation of track control 216 immediately following the reset . the output vbg of the low voltage bandgap is also disabled by the bg_enable signal provided by track controller 216 , which is at “ 0 ” following reset . trimmable vref source 212 activates , providing its output vref to one input of differential sensing device 214 . differential sensing device 214 is also initially disabled by the comp_enable signal provided by track controller 216 , which is at “ 0 ” the track_enable signal input to track controller 216 is a periodic , relatively low frequency short pulse , of 1 khz , for example , generated by low current astable circuit 220 . astable circuit 220 can be implemented as a current controlled oscillator , known to those of ordinary skill in the art . for example , a 4 μs period low current oscillator followed by a frequency divider ( f / 256 ), can be employed in order to reduce capacitance area . in the example , astable circuit 220 provides a 4 μs pulse every 1 ms . this duty cycle provides good tracking with minimal power consumption . the maximum time in which the tracking circuit is active , tactive , in the worst case , can be calculated as follows : where tclock is the clock period ; n is number of bits of the vtrim signal and k is the number of latency clock cycles , which will depend on the particular implementation . in the present example , k is 3 , tclock is 100 ns and n is 7 . if the current consumption of low voltage bandgap reference 210 plus the current consumption of differential sensing device 214 plus the current consumption of track control 216 is ipeak , then the average current consumption can be determined by : where ilcr is the current of low current trimmable vref source 212 , ilcr is 5 μa , iav is 10 μa , ipeak is 200 μa , and tactive is 128 μs . thus , in this example , ttrk_enbl is 5 . 12 ms . this example is based , of course , on the worst case . if , during normal tracking , tactive is 5 times tclock , then track_enable will be 20 μs . for this reason , a 1 khz cycle for astable circuit 220 is sufficient . the track_enable pulse also enables track control 216 to turn on clock generator 218 which runs at a much higher frequency than astable circuit 220 , in the range of about 10 mhz , for example . after track_enable has transitioned to logic “ 1 ” clock generator 218 begins to run . the first clock pulse is received by track controller 216 . vref_start also by now has reached logic “ 1 .” track control 216 switches bg_enable to “ 1 ”, enabling power to low voltage bandgap reference 210 . track control 216 also switches comp_enable to “ 1 ” thus enabling differential sensing device 214 . low voltage bandgap reference 210 takes some time to stabilize its output voltage , vbg , after power - up . track control 216 will not actually start the tracking operation until bg_start goes to “ 1 ”, signaling that low voltage bandgap reference 210 has a stable output . once bg_start is “ 1 ”, and , as soon as the next next clock pulse is received , track control 216 starts to analyze the comp_out signal of differential sensing device 214 . if vref is lower than vbg , comp_out is “ 0 ” and the digital 7 bit output vtrim is incremented by 1 . the vtrim signals trims or adjusts trimmable vref source 212 to a higher vref value . at the next clock cycle , comp_out is again evaluated by track control 216 , and , if vref is still too low , vtrim is again incremented by 1 . this operation repeats until vref is higher than vbg . when comp_out transitions from “ 0 ” to “ 1 ” signaling that the tracking operation has been completed , comp_enable , clock_enable , and bg_enable go to “ 0 ” shutting off the differential sensing device 214 , low voltage bandgap reference 210 and clock generator 218 . trimmable vref source 212 is now trimmed essentially to the same value as the low voltage bandgap reference 210 and provides vref to the whole flash memory , as needed . after about 1 ms , at the first clock pulse after the track_enable rising edge , track control 216 resumes its operation . first , bg_enable and comp_enable to go “ 1 ” powering low voltage bandgap reference 210 and differential sensing device 214 . as soon as the output vbg is stable , bg_start goes to “ 1 ,” again enabling operation of track control 216 . comp_out is then evaluated by track control 216 . if adjustment of vref is needed , vtrim signals are increased or decreased by 1 every clock pulse , thus fine - tuning trimmable vref source 212 . as the trimming is completed , ( i . e ., the device is calibrated ) differential sensing device 214 , low voltage bandgap reference 210 and clock generator 218 are again powered down . the operation of the present invention is illustrated in the timing diagrams of fig4 and 5 . fig4 shows an example where vref is greater than vbg . fig5 shows an example where vref is less than vbg . at t 1 , vref_start is already active . track_enable transitions from “ 0 ” to “ 1 ,” and comp_enable , clock_enable , and bg_enable activate comparator 214 and low voltage bandgap source 210 , respectively . vbg ramps in response to bg_enable and then stabilizes . at t 2 , bg_start goes to “ 1 ” signaling that vbg is now stable . as soon as the next clock pulse comes in , track control 216 starts to analyze the comp_out signal . adjustment will take place ( trimming vref down is shown in fig4 and trimming verf up is illustrated in fig5 ) until comp_out transitions at t 3 . after trimming has been completed , comp_enable , clock_enable , bg_enable and bg_start transition to zero to conserve power . considerable power savings can be achieved with the present invention . allowing for example 600 ns from the shut off state to stabilize vbg , and an average of 2 clock cycles ( 200 ns , for example ) for trimming , the trimming operation may require 1 μs . since the period of the track_enable pulses is 1 ms , low voltage bandgap reference 210 and differential sensing device 214 are active and require power only for 1 μs every ms ( duty cycle 1 / 1000 ). if their total operating current is 200 μa , for example , then the actual average current is 200 / 1000 = 0 . 2 μa . considering that trimmable vref source 212 typically draws 10 μa , the increment of 0 . 2 μa , ( 2 % of the trimmable vref source 212 ) is practically negligible . current consumption may no doubt be even less in many instances . since low voltage bandgap reference 210 is stable over changes in temperature and vcc voltage , as well as process spread , its stability is effectively transferred to the trimmable vref source 212 , with an additional power consumption penalty of only 0 . 2 μa . of course , during the gap of 1 ms between track_enlable pulses there is no tracking control . this is not likely to present problems . since process variations occur only at the time of fabrication of the memory they should not be a factor . likewise , temperature variations are also negligible because they occur relatively slowly compared to the speed at which the invention operates . slow vcc variations can also be tracked without a problem . thus , the only variations potentially affecting the stability of trimmable vref source 212 would be any noise on vcc occurring during the 1 ms time frame where there is no tracking control . if such noise is a problem , the trimmable vref source 212 can easily be designed to be stable with fast vcc variation occurring in the 1 ms time frame without consuming additional power , by means of a simple rc filter on its power supply vcc . in conclusion , exceptional vref stability is accomplished by embodiments of the invention with inexpensive additional circuitry and practically negligible current consumption .