Internal timing method and circuit for programmable memories

Abstract: A circuit (1) generates flexible timing permitting a slow or fast overall timing configuration, and two configurations of the precharge and detecting intervals by providing both with two (short or long) duration levels. For this purpose, the circuit (1) includes a variable, asymmetrical propagation line (5, 37) composed of a succession of elementary delay elements (6-8, 38, 40) enabled or disabled on the basis of memorized logic signals (TIMS, PCS, DETS), the state of which is determined when debugging the memory (100) in which the circuit (1) is implemented.

Description: The present invention relates to an internal timing method and circuit for programmable, particularly flash, memories. As is known, an essential part of the design of a memory is the approach adopted as regards internal timing control, e.g. for timing the read operations. At present, for devices requiring timing, two approaches are adopted: static and dynamic. In the static approach, each internal control signal is composed of a succession of events which propagate naturally as of a given external stimulus. Generally speaking, the static approach provides solely for temporal signal propagation, and is not an actual internal timing, thus greatly simplifying the amount of design work involved. On the other hand, the fully static approach invariably presents drawbacks in terms of high consumption and low speed. In the dynamic approach, which is normally adopted for memories to overcome the above drawbacks, timing consists in generating appropriate timing signals of given duration, for enabling and disabling corresponding operating steps and so reducing consumption and permitting the use of intrinsically faster circuits. The dynamic approach, however, also presents drawbacks substantially in terms of rigidity and the fact that it fails to allow for any deviation in the reaction rate of the memory elements. As such, in the event of one location deviating noticeably with respect to the average performance of the others, it must be replaced by resorting to redundancy. Alternatively, provision may be made at the design stage for a more relaxed timing, to allow for even considerable differences in the reaction times of the memory elements. Neither solution, however, is wholly satisfactory, in that both waste resources which may be otherwise employed, and slow down the memory considerably. US-A-4,687,951 discloses a dynamic internal timing circuit of a RAM memory comprising enable generating means including duration adjusting means on a propagation line for adjusting the duration of the enable signals to the speed characteristic of the memory. US-A-4,425,633 discloses a dynamic interval timing circuit as indicated in the preamble of claim 6. It comprises a variable delay circuit including selectively enabled delay elements and delay enabling means connected to and selectively enabling the delay elements. It is an object of the present invention to provide a timing system designed to overcome the drawbacks typically associated with known solutions. According to the present invention, there are provided an internal timing method for programmable memories as claimed in Claim 1, and a timing circuit as claimed in Claim 6. A preferred, non-limiting embodiment of the present invention will be described by way of example with reference to the accompanying drawings, in which: Figure 1 shows a block diagram of the timing circuit according to the present invention; Figure 2 shows a time graph of a number of quantities in the Figure 1 diagram. Number 1 in Figure 1 indicates an internal timing circuit forming part of a programmable, e.g. flash-EEPROM, memory 100, and which provides for generating two signals essential to a dynamically timed memory: a precharge (or equalizing) signal, and a detecting signal. In the embodiment shown, circuit 1 provides for flexible timing permitting a slow or fast overall timing configuration, and a dual configuration of the precharge (or equalizing) and detecting intervals by providing each with two (short or long) duration levels. More specifically, circuit 1 comprises a timing logic block 2, here in the form of a flip-flop, having a set input S supplied with a signal ATD (e.g. a signal having a predetermined logic state, e.g. high, indicating a change in the memory location addresses), and a reset input R. Block or flip-flop 2 presents an output 3 connected to one input of an AND gate 60, the other input of which is connected to the output of an inverter 61 supplied with signal ATD. The output of AND gate 60, which supplies a synchronizing signal SYNC, is connected to both an inverter 4 and an adjustable delay line 5. More specifically, adjustable delay line 5 comprises three identical, cascade connected, asymmetrical delay blocks 6, 7, 8, each supplying a unitary delay τ (e.g. 7 ns) when the SYNC signal switches from a first to a second logic state (e.g. from "0" to "1"), and each presenting a much smaller delay (ideally zero) for rapid resetting when the signal switches in the opposed way. Blocks 6-8 being identical, only the circuit diagram of delay block 6 is shown in Figure 1, which comprises a pair of cascade connected inverters 10, 11 output-connected to respective capacitors 12, 13. For achieving the required asymmetrical switch delay, the inverters are formed in known manner by CMOS transistors differing appropriately in size so as to vary the current through them and charge or discharge capacitors 12, 13. The input and output nodes 15, 16 of block 7 are connected to a switching element or switch 17 for connecting node 15 or 16 to a line 18. Switching element 17 (which may be formed in any known manner, e.g. by a pair of push-pull switches) presents a control terminal 19 supplied with a digital signal PCS, the logic state of which indicates whether the precharge (or equalizing) time interval is to be short or long. Signal PCS is generated in a fuse block 20 comprising a timing fuse 21, a precharge fuse 22, and a detecting fuse 23. Fuses 21-23 constitute digital memory elements, the content of which is set at the memory debugging phase, taking into account the characteristics of memory 100. In practice, fuses 21-23 generate logic signals (TIMS, DETS, and PCS already mentioned), the state of which provides for establishing slow or fast timing, long or short detecting time, and, as already stated, a long or short precharge interval. Line 18 and output node 26 of delay block 8 are connected to a second switching element 27, similar to 17, for connecting node 26 or line 18 to a node 28; and, like switching element 17, element 27 presents a control terminal 29 supplied with digital signal TIMS generated by fuse 20. Node 28 is connected to one input of a NOR gate 30, the other input of which is connected to the output of inverter 4, and the output of which is connected to an output node 31 supplying a precharge signal PC. Output node 31 is connected to one input of a further NOR gate 33, the other input of which is connected to the output of inverter 4, and the output of which is connected to an output node 34 supplying a detecting signal DET. Node 34 is also connected to a second adjustable delay line 37 comprising three cascade connected delay blocks 38-40 similar to blocks 6-8 of delay line 5. The input node 42 of delay block 39 (also constituting the output of block 38) and the output node 43 of block 39 (also constituting the input of block 40) are connected to a third switching element 44 similar to elements 17, 27 and presenting a control terminal 45 supplied with logic signal DETS which determines which of nodes 42, 43 is to be connected to a bypass line 48. A similar switching element 50 is interposed between line 48 and the output node 51 of block 40, on the one hand, and a circuit output node 52 on the other, and presents a control terminal 53 supplied with signal TIMS which determines whether line 48 or node 51 is to be connected to node 52 by switching element 50. Output node 52, which supplies an output enabling signal OE, is connected to a first input of an AND gate 63, a second input of which is supplied with an enabling signal EN. The output of AND gate 63 is connected to a block 55 for generating external read enabling signals (not shown) at a first output 64. Block 55 also presents a second output 56 at which an END pulse signal is generated upon completion of the external data reading. More specifically, block 55 takes into account the propagation and storage time of the data read from the memory array cells to the output circuits of the memory, and, for the purpose of the present description, may be considered equivalent to a single-shot circuit which, a certain time after detection of low-to-high switching of the output signal of AND gate 63 (corresponding to the external read phase), generates the END pulse signal at output 56. Output 56 is connected to one input of an OR gate 66 which is also supplied with inverted enabling signal ENN, and the output of which is connected to reset input R of flip-flop 2. When debugging memory 100 and on the basis of tests to determine the typical delay times of the memory components, the logic value of signals PCS, TIMS and DETS, which determines the position of the switching elements and hence the type of timing, is set by means of fuses 21-23. In the first tests, the logic value corresponding to slow timing and long precharge and detecting intervals is conveniently selected for the timing logic signals, but, if testing indicates the presence of fast memory elements, the settings are changed to achieve faster timing. Figure 1 shows the minimum delay situation wherein switches 17, 27, 44 and 50 are so positioned as to connect node 28 to node 15, and node 52 to node 42, and each delay line 5, 37 generates a delay τ. Conversely, if logic signal PCS presents the opposite logic state, switch 17 is so positioned as to connect line 18 to node 16, and delay line 5 generates a delay of 2τ. Similarly, if logic signal DETS presents the opposite logic state, the switch is so positioned as to connect line 48 to node 43, and delay line 37 generates a delay of 2τ. Conversely, if switches 27 and 50 are set to the opposite position to that shown (corresponding to long timing), the position of switches 17 and 44 is negligible, and delay lines 5 and 37 both supply a delay of 3τ. Delay lines 5, 37 are therefore capable of supplying a total delay of 2τ, 3τ, 4τ or 6τ. Operation of the Figure 1 circuit will now be described with reference also to Figure 2, assuming zero switch times of the logic circuits, and with reference, initially, to the minimum delay situation, i.e. with switches 17, 27, 44 and 50 in the positions shown, corresponding to the continuous-line signal graphs in Figure 2. In the reset state and circuit enabling condition (signal EN high, signal ENN low), the output of flip-flop 2, the SYNC signal, the outputs of delay blocks 6-8 and 38-40, and signals PC, DET and OE are all low. On receiving a predetermined edge of signal ATD (in this case, the leading edge, instant t 0 ), output 3 of logic block 2 switches, but the SYNC signal remains high by virtue of the high output of inverter 61. At the end of the ATD pulse (instant t 1 ), the output of inverter 61 switches to high, thus switching the SYNC signal to high. Pending switching of the SYNC signal being transmitted along delay line 5, NOR gate 30 receives two low signals determined by the output of inverter 4 which has switched immediately, and the signal at node 28 which has not yet switched. Consequently, signal PC switches to high, whereas NOR gate 33 still presents a high signal at its input (connected to node 31) and therefore does not change state. Upon switching of the SYNC signal being transmitted along the delay line, after delay τ determined by block 6, NOR gate 30 again switches, and this time also NOR gate 33 (instant t 2 ), so that signal PC switches back to low and signal DET switches to high. After delay τ corresponding to the transmission time of the switching edge of signal DET to block 38, signal OE also switches to high (instant t 3 ); and, after a given time determined by block 55, the END signal presents a pulse, one edge (e.g. the leading edge) of which resets logic block 2 and switches the SYNC signal to low (instant t 5 ). Since delay lines 5, 37, as already stated, are asymmetrical, the trailing edge of the SYNC signal is transmitted extremely rapidly to restore circuit 1 to the reset state, wherein all the signals are low, with a negligible delay not shown in Figure 2. Conversely, if a long precharge interval is set (switch 17 connecting node 16 to line 18) while at the same time maintaining a short detecting interval, signal PC switches to low with a delay 2τ with respect to instant t 1 , i.e. at instant t 3 , as shown by the dotted line in Figure 2. Consequently, signal DET also switches to high at instant t 3 , signal OE switches to high at instant t 4 , delayed by τ with respect to t 3 , and the END pulse is generated with the same delay so as to present its leading edge at instant t 6 at which circuit 1 is reset. Similarly, in the case of a short precharge interval and a long detecting interval (switch 44 connecting line 48 to node 43), signal PC again switches to low at instant t 2 (continuous-line curve) together with low-to-high switching of signal DET, whereas signal OE switches to high with a delay 2τ with respect to t 2 , i.e. at instant t 4 (dotted line). As such, generation of the END pulse is also delayed so that reset occurs at instant t 6 . Conversely, in the case of a slow timing setting (switches 27, 50 connecting node 28 to node 26 and node 52 to node 51), signal PC switches to low and signal DET to high with a delay 3τ with respect to instant t 1 , i.e. at instant t 4 , as shown by the dot-and-dash line; and signal OE switches to high with a delay 3τ with respect to t 4 , i.e. at instant t 7 , so that the leading edge of the END pulse and reset of circuit 1 occur at instant t 8 . Signals EN and ENN provide for preventing signal OE from being transmitted to block 55, and for resetting the circuit in the event circuit 1 is disabled, e.g. in the event reading of the memory is not required. When low, in fact, signal EN prevents block 55 from being enabled, while signal ENN, when high, resets flip-flop 2 (and hence the whole of circuit 1) by switching output 3 of flip-flop 2 and the SYNC signal to low. The advantages of the circuit described are as follows. Firstly, despite being a dynamic type for reducing consumption and maximizing operating speed, it also provides for flexible timing, adaptable to the characteristics of the memory, which timing may be adjusted at various phases for selectively modifying the precharge and detecting phases as required, or may be so set as to provide for slow timing in all the phases, while still providing the best solution, in terms of speed and consumption, compatible with the characteristics of the memory. Secondly, the circuit is easily adaptable to various conditions by merely setting one or more fuses or other permanent memory elements. Lastly, the modularity of the delays determined by the delay lines provides for achieving a simple, reliable configuration composed of various identical and therefore similarly operating parts, while at the same time permitting different delays according to the application involved. Clearly, changes may be made to the circuit as described and illustrated herein without, however, departing from the scope of the present invention. In particular, changes may be made to the number of delay stages on each line, and to the unitary delay determined by each stage; or, as stated, the stages may provide for different delays. Moreover, though specific reference is made herein to the memory read phases, the circuit may also be used for generating other dynamic phases requiring flexibility to adapt to different requirements. Finally, though the circuit described provides for modifying the duration of the SYNC clock signal pulses according to the delays along the propagation lines, hybrid solutions with a timing circuit generating a fixed-frequency SYNC clock signal may be formed for simply modulating partition of the precharge and detecting phases within the fixed duration of the clock pulse. Similarly, the invention may also be implemented in a timing circuit generating a SYNC clock signal with only two pulse duration values corresponding respectively to a slow and fast timing configuration, each configuration, or at least one of them, providing for modulating partition of the precharge and detecting phases.

Claims: A dynamic internal timing method in a memory, comprising the steps of generating enabling signals (PC, EQ, DET, OE) for operating steps of said memory; propagating said enabling signals along at least one propagation line (5); said step of propagating said enabling signals comprising the steps of: selectively enabling unitary delay elements (6-8) along said at least one propagation line (5) so as to obtain enabling signals of predetermined duration, adjustable to the speed characteristics of said memory; characterized further by the steps propagating one (DET) of said enabling signals along a delay feedback line (37) and generating an end signal (END); receiving said end signal (END) from said delay feedback line; and resetting said at least one propagation line (5) upon receiving said end signal, said dynamic interval filming method being provided in a programmable memory. A dynamic internal timing method according to claim 1, characterized in that said step of propagating one (DET) of said enable signals comprises the step of selectively enabling said unitary delay elements (38-40) along said delay feedback line (37) so as to obtain an end signal of predetermined duration, adjustable to the speed characteristics of said memory. A method as claimed in Claim 1 or 2, characterized in that it comprises the steps of setting the duration of said enabling signals (PC, DET, OE) to a predetermined value, debugging the memory (100) to determine speed levels of said memory, and adjusting said set duration to said determined speed levels. A method as claimed in Claim 3, characterized in that said step of setting said duration comprises the step of setting a maximum duration of said enabling signals (PC, DET, OE). A method as claimed in any one of the foregoing Claims, characterized in that said enabling signals comprise the precharge (PC), detecting (DET) and storing (OE) signals for reading said memory (100). A dynamic internal timing circuit of a memory, comprising enable generating means (2-52) for generating enable signals (PC, DET, OE) for operating steps of said memory (100); said enable generating means (2-52) comprising: duration adjusting means (7, 8, 17, 27, 39, 40, 44, 50) for adjusting the duration of said enable signals to the speed characteristics of said memory (100) and so generating enable signals of predetermined, adjustable duration, said duration adjusting means comprising at least one propagation line (5) comprising selectively enabled delay elements (7, 8) and delay enabling means (17, 20, 27) connected to and selectively enabling said delay elements; characterized by a delay feedback path (37) connected to said propagation line (5) and generating a reset signal (END) upon receiving one (DET) of said enable signal; reset means (2) connected to said delay feedback path and resetting said at least one propagation line (5) upon receiving said end signal, said dynamic interval timing circuit being provided in a programmable memory. A dynamic internal timing circuit according to claim 5, characterized in that said delay feedback path (37) comprises selectively enabled delay elements (7, 8) and delay enabling means (17, 20, 27) connected to and selectively enabling said delay elements so as to obtain an end signal (END) of predetermined duration, adjustable to the speed characteristics of said memory. A circuit as claimed in Claim 7, characterized in that said delay elements comprise a number of cascade connected, selectively enabled unitary delay blocks (6-8, 38-40). A circuit as claimed in Claim 8, characterized in that said delay blocks (6-8, 38-40) present an asymmetric propagation delay. A circuit as claimed in any one of the foregoing Claims from 7 to 9, characterized in that it comprises bypass lines (18, 48) for said delay elements (7, 8, 39, 40); said bypass lines comprising controlled switching means (17, 27, 44, 50) for enabling/disabling said bypass lines. A circuit as claimed in Claim 10, characterized in that said delay enabling means (17, 20, 27, 44, 50) comprise memory elements (21-23) connected to control terminals (19, 29, 45, 53) of said controlled switching means (17, 27, 44, 50). A circuit as claimed in any one of the foregoing Claims from 6 to 11, characterized in that said enable generating means (2-52) are read step generating means, and comprise a precharge enabling section (5-31) for generating a precharge enabling signal (PC) of predetermined, adjustable duration; a detecting enabling section (33, 34) for generating a detecting enabling signal (DET) of predetermined, adjustable duration; and a storing enabling section (37-52) for generating a storing enabling signal (OE) of predetermined, adjustable duration. A circuit as claimed in Claim 12, characterized in that it comprises timing duration setting means (21), precharge duration setting means (22) and detection duration setting means (23) connected to said precharge (5-31), detecting (33, 34) and storing (37-52) enabling sections, for generating slow or fast overall timing signals (TIMS) and short or long precharge (PCS) and detecting (DETS) signals.

Inventors: GOLLA CARLA MARIA, OLIVO MARCO, PASCUCCI LUIGI, GOLLA, CARLA MARIA, OLIVO, MARCO, PASCUCCI, LUIGI
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1994
Main classification: G11C16
IPC codes: G11C16, G11C7, G11C17