Abstract:
An address sequencer circuit for generating addresses for accessing a memory device. The address sequencer includes a plurality of address stages that are coupled together, and also includes a first clock generation circuit that receives an input clock and generates a first clock signal that is coupled to a first portion of the address stages. A second clock generation circuit is provided that receives the input clock and a toggle signal and generates a second clock signal that is coupled to a second portion of the address stages, thereby allowing the first and second portions of address stages to be clocked at different rates.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims priority from a U.S. Provisional Patent Application entitled, “HIGH SPEED ADDRESS SEQUENCER” Application No. 60/294,386 invented by Mr. Takao Akaogi and filed on May 30, 2001. The disclosure of which in incorporated herein in its entirety for all purposes. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to address sequencers, and more particularly, to a high speed address sequencer for generating addresses to access a memory device. 
     BACKGROUND OF THE INVENTION 
     Memory circuits, such as FLASH memory, require address generation or sequencer circuits to generate address values for various memory functions. For example, during burst mode operation of a flash memory, an address sequencer generates sequential addresses in response to a clock signal. Since memory densities have become higher and memory speeds faster, it has become necessary to have faster address sequencers. 
     FIG. 1 shows a portion of a typical address sequencer  100  that provides address generation for use with a memory device. The sequencer  100  includes address stages  102 ,  104  and  106  that are coupled together to allow address toggle signals (Tgl) to propagate from one stage to the next stage. A clock signal (CLK) and an inverted version of the clock signal (CLK*) are provided to the address stages to provide timing for address generation and the propagation of the Tgl signals. During operation, sequential address signals (Ad) are generated by the address stages and used to access the memory device. 
     FIG. 2 shows a detailed view of the address stage  106 . During operation of the address stage  106 , an address signal Ad n * is received and used to set an initial value of A n . As shown in a detailed circuit  108 , during the initialization, an address load signal (Aload) goes to a high state so that the signal Ad n * can propagate to the node “a”. This occurs while the CLK signal stays at a low state. 
     When the CLK signal goes to a high state, the address stage output changes states dependant upon the state of the Tgl (n−1)  signal. If the signal A n  is in a high state and the toggle signal Tgl (n−1)  is in a high state, then the signal Tgl (n)  will be in a high state, which makes the signal A n+1  of the next stage change states. Since the Tgl signals are connected in series (i.e. stage to stage) and have to change states within one CLK cycle, the propagation time of the Tgl signals through all the address stages may limit what the maximum CLK cycle speed can be. 
     FIG. 3 shows a timing diagram  300  that illustrates the signal timing of signals associated with the address stage  106  of FIG.  2 . If Tgl (n−1)  goes to the high state at cycle T −1 , the signal A n  will go to the high state at cycle T(o). Furthermore, A n  will not change its state until clock cycle T 2   n . As a result, the typical address sequencer limits the usable clock speed, since all stages must toggle within one clock cycle, and as a result, the propagation delay associated with the toggle signals begins to limit the usable clock speed. 
     Therefore, it would be desirable to have an address sequencer that overcomes the clock speed limitations present in current address sequencers. 
     SUMMARY OF THE INVENTION 
     The present invention includes an address sequencer system that overcomes limitations on usable clock speeds present in typical address sequencers. The sequencer design includes the generation of a secondary clock signal that is used to clock selected stages of the address sequencer. The cycle time of the secondary clock is longer than that of a main clock. Thus, the stages of the address sequencer driven by the secondary clock have a longer time to propagate address state changes. 
     In one embodiment of the invention, an address sequencer circuit for generating sequential addresses for accessing a memory device is provided. The address sequencer includes a plurality of address stages that are coupled together, and also includes a first clock generation circuit that receives an input clock and generates a first clock signal that is coupled to a first portion of the address stages. A second clock generation circuit is provided that receives the input clock and a toggle signal and generates a second clock signal that is coupled to a second portion of the address stages. 
     In anther embodiment of the invention, a method for generating sequential addresses from an address sequencer is provided. The address sequencer is used to access a memory device and the address sequencer includes a plurality of address stages that are coupled together. The method includes steps of receiving an input clock signal, generating a first clock signal from the input clock signal, wherein the first clock is coupled to a first portion of the address stages, and generating a second clock signal from the input clock signal and a toggle signal, wherein the second clock signal is coupled to a second portion of the address stages. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The forgoing aspects and the attendant advantages of this invention will become more readily apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein: 
     FIG. 1 shows a block diagram of a typical address sequencer circuit; 
     FIG. 2 shows a detailed diagram of an address stage of the address sequencer of FIG. 1; 
     FIG. 3 shows a timing diagram of the address stage of FIG. 2; 
     FIG. 4 shows an address stage circuit for use in an address sequencer in accordance with the present invention; 
     FIG. 5 shows a timing diagram illustrating signal timing of signals associated with the address stage circuit of FIG. 4; 
     FIG. 6 shows a timing diagram illustrating signal timing of address signals associated with the address stage circuit of FIG. 4; and 
     FIG. 7 shows a circuit for an address sequencer constructed in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention includes an address sequencer circuit that overcomes limitations on clock speeds present in typical address sequencers. 
     FIG. 4 shows one embodiment of an address stage circuit  400  constructed in accordance with the present invention and suitable for use in an address sequencer. The address stage  400  includes XOR gate  402 , transistors  404 ,  406 , AND gate  408 , latch circuits  410 ,  412  and initialization circuit  414 . The address stage  400  includes clock circuit  420  that generates timing clocks used by the address stage  400 . The clock circuit includes NOR gate  422 , transistor  424 , inverters  426 ,  428 , NAND gate  430  and latch circuit  432 . An additional inverter  434  is used to provide an inverter clock (ACLK*) signal. A power down (PD) signal is coupled to the clock circuit  420 , however, this signal is used for power down operation only and will not be described in detail here. It will be assumed that the PD signal is held in a state that allows normal operation of the clock circuit  420 . 
     For the following description it will be assumed that the maximum number of address stages in the address sequencer is equal to M, and that n is an address stage index that ranges from n=0 to n=M−1, and that p is a particular address stage that is pre-selected. Each of the address stages prior to stage p uses a fast clock (CLK), and may be implemented by the circuit shown in FIG.  2 . Each of the address stages p and beyond uses the slower clock ACLK, and is implemented by circuit  400 . For address stage n=p, the toggle signal ATg1 (n−1)  to XOR gate  402  is designated as ATg1 (p−1) , and is set to a logic high value, as indicated in FIG.  4 . The toggle signal Tg1 (p−1)  is provided by address stage n=p−1, which may be implemented by an instance of the circuit shown in FIG.  2 . In the address stage  400  the cycle time of ACLK is 2 p  times as long as the cycle time of the CLK signal. This is true since the CLK signal is gated by toggle signal Tgl (p−1)  at the NAND gate  430  to produce the ACLK signal. For example, assuming the maximum number of address stages (M) is 21 and address stage 1 is picked as the particular address stage “p”, then the cycle time of ACLK is 2 times as long as CLK. This means that the address sequencer can operate with 2 times as fast a clock speed than the conventional address buffer. If the ACLK signal is then used to clock the address stages form stage p and beyond, there is enough time for the toggle signals (Tgl) to propagate from address stage p to address stage m. As a result, address stages prior to stage p use a first clock signal and address stages p and beyond use a second clock signal that is slower than the first clock signal. 
     FIG. 5 shows timing diagram  500  that includes the ACLK signal provided by the clock circuit  420  of FIG.  4 . The ACLK signal is generated (by the clock circuit  420 ) by gating the CLK signal with a signal derived from the toggle signal Tgl (p−1) . The ACLK signal is applied to address buffers which are indexed by p and greater. For example: 
     
       
         
           ACLK 
           (T0) 
           =Tgl 
           (p−1)(T−1) 
           *CLK 
           (T0).  
         
       
     
     As a result, the address stage Ap toggles with the ACLK signal and those address stages subsequent to stage p will have additional time to toggle. 
     FIG. 6 shows an exemplary timing diagram  600  of timing signals associated with one embodiment of the present invention. The signal timing represented in FIG. 6 is representative of signal timing that occurs as a result of selecting p to equal to 1. For example, a rising edge of the CLK signal generates a change in state of address zero (Ad 0 ) as shown at  602 ,  604 ,  606  and so on. The ACLK signal has twice the cycle time of the CLK signal and is used to clock address stages beyond (Ad 0 ). Therefore, a rising edge of the ACLK signal generates a change of state of address one (Ad 1 ) as shown at  608  and  610 . Since all address stages beyond (Ad 0 ) use the ACLK, there will exist additional time for the toggle signals of successive address stages to propagate through the address stages. This allows the use of a very high speed clock to clock the least significant and fast changing address stages, while a slower clock is used to clock the more significant address stages found at stages p and beyond. 
     As a result, the address sequencer circuit included in the present invention is capable of running at higher clock speeds than conventional circuits. It is also possible to select which address stages will receive the higher speed clock and which will receive the lower speed clock. By selecting the desired value of p, it is possible to select the desired address stage that acts as the first stage to receive the lower speed clock. Furthermore, selecting the desired value for p determines the rate of the low clock, since it is derived from the high speed clock gated by the toggle signal Tgl (p−1) . 
     FIG. 7 shows one embodiment of an address sequencer  700  constructed in accordance with the present invention. The address sequencer  700  includes a clock buffer circuit  702  that generates the CLK signal and the ACLK signal as described above. Assuming a value of p is chosen to indicate the address stage where the low speed clock (ACLK) will first be introduced. As a result, the address stage  704  is used for all address stages having an index reference less than p. These address stages use the CLK signal having a higher clocking speed. The toggle output of the n=(p 1 ) stage (Tgl (p−1)  is provided as an input to clock buffer  702 , as shown in FIG.  7 . The address stage  706  is used for all address stages having an index reference greater than or equal to p. For address stage n=p, the toggle signal ATgl (n−1) , and is set to a logic high value, as indicated in FIG.  7 . These address stages use the ACLK signal having a lower clocking speed. Therefore, by combining the address stages clocked with the CLK signal and the address stages clocked with the ACLK signal, a high-speed address sequencer is formed that does not have the clock speed limitations of conventional sequencers. 
     The present invention includes an address sequencer that overcomes limitations on clock speeds present in typical address sequencers. The embodiments described above are illustrative of the present invention and are not intended to limit the scope of the invention to the particular embodiments described. Accordingly, while several embodiments of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit or essential characteristics thereof. Accordingly, the disclosures and descriptions herein are intended to be illustrative, but not limiting, of the scope of the invention which is set forth in the following claims.