Patent Publication Number: US-6912598-B1

Title: Non-volatile memory with functional capability of simultaneous modification of the content and burst mode read or page mode read

Description:
TECHNICAL FIELD 
   The present invention relates to the field of semiconductor memories, in particular non-volatile memories, and still more particularly memories the content of which is electrically alterable (programmable or both programmable and erasable), such as EPROMs, EEPROMs and Flash EEPROMs. 
   BACKGROUND OF THE INVENTION 
   A normal read operation (hereinafter, standard read) in a memory provides for supplying to the memory an address which identifies a corresponding location of the memory. After a specific time interval has elapsed, termed access time, the datum stored in said location is available at the output of the memory. 
   Memories are known in which, besides the standard reading operation, it is possible to carry out a page mode read operation which, in the case where only the less significant bits of the address supplied at the input of the memory vary, makes it possible to obtain valid data at the output of the memory in a shorter time than the standard access time. 
   Other known memories, however, in addition to the possibility of carrying out a standard read, have the possibility of carrying out a burst mode read. By supplying to the memory an external clock signal and an address corresponding to an initial memory location, the memory internally increments the address automatically and delivers at the output new data corresponding to the successive memory addresses at each cycle of the clock signal. This read mode makes it possible to reduce the access time significantly in all those cases where, instead of accessing memory locations distributed randomly in the memory space, it is necessary to access a certain number of contiguous memory locations. 
   Also known are electrically programmable and erasable non-volatile memories having a possibility of simultaneous operation in erasure or programming (more generally in the mode of modification of their content), and in read. This functional capability is obtained by means of subdivision of the memory into two independent banks, such that while in one of the two memory banks a programming or erasure operation is carried out in the background, it is possible to carry out a simultaneous read operation in the other memory bank. The read is however a standard type read, therefore does not benefit from the possibilities of a reduction in the access time offered by the two particular read modes described previously. Rapid access to the memory with a burst mode read or page mode read is permitted only on completion of the background programming or erasure of the other bank, or, in memories which provide it, by temporarily suspending the background operation. 
   SUMMARY OF THE INVENTION 
   An embodiment of the present invention provides a memory that has the functional capability of simultaneous modification of its own content and burst mode read or page mode read. The memory includes two memory banks that are substantially independent of each other; a first control circuit that controls operations of electrical alteration of content of the memory and permits the selective execution of an operation of electrical alteration of the content of a first one of the two memory banks; and a second control circuit that permits, simultaneously with said operation of electrical alteration of content of one of said two memory banks, a burst mode, page mode, or standard read operation of content of the other memory bank. In one embodiment, the memory also includes respective scanning circuits for the memory bank. Each scanning circuit scans memory locations of the corresponding memory bank in order to allow plural memory locations of one memory bank to be read in parallel while plural memory locations of the other memory bank are written to or erased in parallel. 

   
     DETAILED DESCRIPTION OF THE INVENTION 
     The features and advantages of the present invention will become clear from the following detailed description of one of its embodiments, illustrated by way of non-limiting example in the appended drawings, in which: 
       FIG. 1  shows diagrammatically, at the level of the principal functional blocks, a memory according to the present invention; 
       FIG. 2  is a block diagram of a logic circuit for controlling the memory in  FIG. 1 ; 
       FIG. 3  is a more detailed block diagram of part of the memory in  FIG. 1 ; and 
       FIGS. 4 and 5  are simplified diagrammatic views, in terms of logic gates, of the operation of a circuit for controlling the operations of burst mode read or page mode read of the memory in FIG.  1 . 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   With reference to the drawings, a non-volatile memory  1  with electrically alterable content, for example an EPROM, or EEPROM, or Flash EEPROM memory, comprises two independent memory banks  1 A,  1 B, of either the same size or different sizes. The two memory banks  1 A,  1 B respectively have associated circuits (SEL)  9 A,  9 B for selection of memory locations of the respective memory banks, and respective read (“sense”) circuits S 1 A, S 1 B for reading the memory locations of the respective banks. 
   A block  10  identifies a control logic circuit internal to the memory  1 . The block  10  receives external address signals ADD from an address signal bus external to the memory  1 , DAT signals from a data bus also external to the memory  1 , an external signal CEN (Chip Enable) for enabling the memory  1 , an external signal OEN (Output Enable) for enabling output circuits  11  of the memory  1 , an external signal WEN for controlling an operation of modification of the content of the memory  1  (Write Enable), an external clock signal CK, and an external signal AD which is activated externally, for example by a microprocessor which manages the memory  1 , when a new address valid for the memory  1  is present at the address bus. 
   As shown in greater detail in  FIG. 2 , the control logic circuit  10  comprises a decoder  12  which receives a subset MSB(ADD) of the external address signals ADD; the subset MSB(ADD) comprises the more significant bits of the set of bits constituting the external address supplied to the memory  1 . The decoder  12  decodes the signals MSB(ADD) and generates signals BANKA, BANKB for selection of the memory banks  1 A,  1 B, which identify which of the two memory banks is to be accessed. 
   The signals CEN, WEN, the external address signals ADD and the signals of the data bus DAT are supplied to a logic circuit  13  for the interface and interpretation of external commands, for example produced by means of a PLA (Programmable Logic Array). The logic circuit  13  interprets the sequences of commands which are presented to it by means of the signals ADD and DAT and, in response to the fact that the memory is enabled (CEN signal active) and that the content thereof is to be modified (or is brought into “write mode” by activation of the signal WEN), activates a signal MODIF. 
   The MODIF signal is supplied, together with the signals BANKA, BANKB, to a multiplexer  14  which generates two signals MODIFA, MODIFB. The signals MODIFA, MODIFB are activated to indicate that the respective memory banks  1 A,  1 B are to be subjected to an operation of modification of their content. 
   The control logic circuit  10  further comprises a block  15  revealing the burst read or page read mode. The block  15  receives the signals OEN, AD and CK. If the clock signal CK is present, the activation of the signal AD determines the activation of the signal BURST/PAGE which in turn determines the entry into the burst read or page read mode. 
   The control logic circuit  10  also comprises a read revealing block  19 , which receives the signals ADD, CK and AD and generates a signal RD which, if active, indicates that a read should be carried out. The signal RD is activated when the external clock signal CK is absent. 
   Returning to  FIG. 1 , a block  2  identifies a circuit for controlling the electrical alteration of the content of the memory  1 , for example, in the case of a Flash EEPROM memory, of the programming and erasure operations. The circuit  2  receives the signals MODIFA and MODIFB, which, as has been seen, are activated when, a content modification operation is to be conducted on the bank  1 A or, respectively, on the bank  1 B. 
   The circuit  2  has two (groups of) output signals  3 A,  3 B which respectively control a first address counter  4 A and a second address counter  4 B. The address counter  4 A, associated with the memory bank  1 A, makes possible internal scanning of the addresses of the memory bank  1 A, by supplying first internal address signals  5 A to the respective selection circuit  9 A. The address counter  4 B is associated with the memory bank  1 B and makes possible the internal scanning of the addresses of the memory bank  1 B, by supplying second internal address signals  5 B to the respective selection circuit  9 B. The address counters  4 A,  4 B are used both during the operations of modification of the content, for example erasure, of the respective memory banks, and during the burst mode read operations, since in both cases the memory  1  should make provision autonomously for the scanning of a specific number of memory locations. 
   The address counter  4 A further receives the signals MODIFA, BANKA and BURST/PAGE, and the address counter  4 B receives the signals MODIFB, BANKB and BURST/PAGE. Both the address counters  4 A,  4 B further receive the address signals ADD. 
   A block  6  identifies a circuit for controlling the burst mode read or page mode read operations. The circuit  6  receives the signals BANKA, BANKB, MODIFA, MODIFB, BURST/PAGE, the external clock signal CK, the external signal AD, the signal RD and a subset LSB(ADD) of the address signals ADD which comprises the less significant bits of the address supplied to the memory  1 . The block  6  supplies to the address counters  4   a ,  4   b  respective (groups of) control signals  7 A,  7 B, and further controls the read circuits S 1 A, S 1 B through respective (groups of) control signals  8 A,  8 B. 
   The outputs WORDA, WORDB of the read circuits S 1 A, S 1 B, each one bearing the content of a memory location of the respective bank, are supplied to a multiplexer  16  operated by the signals BANKA, BANKB. Depending on which of the two signals BANKA, BANKB is active, the circuit  16  supplies to the output circuits  11  one of the two outputs WORDA, WORDB of the read circuits. The output circuits  11  then supply the selected output WORDA, WORDB to the data bus DAT external to the memory  1 . 
   The two control circuits  2  and  6 , which respectively control the content alteration operation (programming or erasure), and the read operation (burst mode read or page mode read), operate simultaneously and can each control a respective memory bank. 
     FIG. 3  shows in more detail, still in terms of a block diagram, the control operated by the block  6  on the address counters  4 A,  4 B and on the read circuits S 1 A, S 1 B, of which latter a more detailed illustration is also provided. The signals  7 A,  7 B respectively comprise a signal ADA, ADB which is activated by the circuit  6  so that the respective address counter  4 A,  4 B loads the address currently present on the address signals ADD, and a signal INCA, INCB which is activated to command the respective address counter  4 A,  4 B to increment the internal address  5 A,  5 B to be supplied to the selection circuits  9 A,  9 B of the memory banks. 
   The read circuits S 1 A, S 1 B shown diagrammatically in  FIG. 1  each comprise a plurality of actual read circuits  17 A,  17 B, of a type which is known per se, which provide for the reading in parallel of a respective plurality of locations in the respective memory banks  1 A,  1 B, for example four locations in parallel for each memory bank. The read circuits  17 A,  17 B receive from the block  6  signals  21 A,  21 B necessary for their operation, for example, signals for the starting of a phase of discharge of the selected bit lines, signals for the starting of a phase of pre-charge of the selected bit lines, and signals for storing of the data read. The outputs of the read circuits  17 A,  17 B are supplied to a decoder  18 A,  18 B which, on the command of a signal  22 A,  22 B supplied by the block  6 , provides for selecting one of the outputs of the plurality of read circuits  17 A,  17 B, and for supplying said selected output to a latch bank  19 A,  19 B operated by a signal LOADA, LOADB supplied by the block  6 . The latch outputs  19 A,  19 B form the signals WORDA, WORDB to be supplied to the multiplexer  16 . 
     FIGS. 4 and 5  show diagrammatically, in terms of logic gates, the operation of the block  6 . With reference to  FIG. 4 , the signal ADA is activated to cause the address counter  4 A to load the address currently present on the signals ADD. The signal ADA is activated at the activation of the signal RD by the control logic circuit  10 , or at the activation of the external signal AD (valid address at address bus ADD) by the microcontroller which manages the memory  1 . The signal ADA is activated only if there is not an operation of modification of the content of the memory bank  1 A taking place (signal MODIFA deactivated). The signal ADB is activated similarly, except that the signal MODIFB is used to signal that an operation of modification of the content of the memory bank  1 B is taking place. In other words, apart from when a modification operation is taking place, in the event of any new read in the address counter  4 A or  4 B, the address present on the external address signals ADD is loaded. 
   The signal INCA, which determines the incrementation of the internal address  5 A by the address counter  4 A, is generated in synchrony with the external clock signal CK, but only if the BURST/PAGE signal is active and there is no operation of modification of the content of the memory bank  1 A taking place (signal MODIFA deactivated). If an operation of modification of the content of the memory bank  1 A is taking place (signal MODIFA active), the signal INCA is generated in synchrony with an internal clock signal INTCK, generated by a logic circuit for controlling the algorithms for modification of the memory content, for example by the block  2  in FIG.  1 . Similarly, with the control on the signal MODIFB, a signal INCB is generated which determines the incrementation of the internal address  5 B by the counter  4 B. As for the signal INCA, the signal INCB is generated in synchrony with the signal CK if the BURST/PAGE signal is active and there is no operation of modification of the content of the bank  1 B taking place (signal MODIFB deactivated); if, instead, the signal MODIFB is active, the signal INCB is generated in synchrony with the internal clock signal INTCK. 
   With reference to  FIG. 5 , there is shown the generation of the signals  21 A,  21 B,  22 A,  22 B, LOADA, LOADB for the control of the read circuits of the two memory banks in the burst read or page read mode. The external clock signal CK is used as a time base for the reading of the memory, therefore for the generation of the signals  21 A,  21 B,  22 A,  22 B, LOADA, LOADB, through suitable delays T. The activation of the signals  21 A,  21 B, LOADA, LOADB, are conditioned by the signal for selection of the respective memory bank (BANKA or BANKB), and by the fact that the respective memory bank is not at the moment occupied in an operation of modification of its own content (signals MODIFA, MODIFB). The signals  22 A,  22 B are further generated from the less significant address signals LSB(ADD), by scanning in synchrony with the external clock signal CK all the possible combinations of said signals, so that the multiplexers  18 A,  18 B supply at the output, in sequence, the outputs of the read circuits  17 A,  17 B. 
   Assuming that on the bank  1 A an operation of modification of its content is being carried out, for example an erasure operation (bank  1 A in erase mode), and at the same time it is desired to access the memory  1  in order to carry out a burst mode read. Since the memory bank  1 A is busy in the operation of modification of its own content, the signal MODIFA is activated. 
   The control circuit  2 , which controls the progress of the programming and erasure operations, will control through the (group of) control signal(s)  3 A the progress of the operation of erasure of the bank  1 A. 
   To the memory  1  there is supplied on the signals ADD an initial address, and the signal AD is activated. Moreover, the external clock signal CK is supplied. The presence of the signal CK and the activation of the signal AD determines, from the block  15  in  FIG. 2 , the activation of the BURST/PAGE signal, while the block  12  in  FIG. 2 , decoding the subset MSB(ADD) of the address signals ADD, determines the memory bank in which the burst mode read is to be carried out and consequently activates one of the signals BANKA, BANKB. 
   If the address present on the signals ADD corresponds to a memory location of the bank  1 A, the signal BANKA is activated. However, as shown in  FIGS. 4 and 5 , the simultaneous activation of the signal MODIFA will prevent the block  6  for control of the burst mode read or page mode read operations from assuming control of the address counter  4 A and of the read circuits S 1 A associated with the bank  1 A. The burst mode read will not therefore be able to be carried out as long as the bank  1 A is busy in the operation of modification of its own content. 
   If, instead, the address present on the signals ADD corresponds to a memory location of the bank  1 B, which is not busy in the operation of modification of its own content and is therefore available for read access, the signal BANKB is activated, the activation of which, in combination with the activation of the signal AD and the inactive state of the signal MODIFB, determines the activation of the signal ADB. In the address counter  4 B there is therefore loaded the address currently present on the signals ADD, constituting the address of the memory location from which to initiate the burst mode read. Said address is supplied to the selection block  9 B, which selects the memory location of the bank  1 B to be read. The reading takes place in parallel on several locations of the bank  1 B constituting a page, by means of the read circuits  17 B. By means of the multiplexer  18 B, the content of the plurality of locations read in parallel is supplied in succession, synchronously with the clock signal CK, to the latch bank  19 B and therefore to the output circuits  11  of the memory  1 , to be placed on the external data bus DAT. In synchrony with the clock signal CK, the address counter  4 B increments the internal address  5 B which is supplied to the selection block  9 B, so as to access the successive memory page, and so on until the end of the burst mode read. 
   Owing to the presence of the two address counters  4 A,  4 B, and of two independent read circuits S 1 A, S 1 B for each memory bank, the address counter  4 B and the read circuits S 1 B of the bank  1 B are used for the burst mode read or page mode read, while the address counter  4 A and the read circuits S 1 A of the bank  1 A can be utilized for the operations of verifying the erasure (or programming) of the content of the bank  1 A. 
   The memory according to the invention has the advantage of permitting, during the background execution of an operation of modification, for example erasure or programming, on a memory bank, rapid access in burst mode or page mode to the other memory bank (faster access than that which would occur with a standard read), without having to wait for the completion of the erasure or programming of the other bank, or having to execute a command for suspension of the erasure. 
   Obviously, the memory  1  can also operate in standard mode reading of a memory bank while in the background an operation of modification of the content of the other bank is taking place: in this case, the address signals ADD coming from outside will be loaded in the address counters  4 A,  4 B on activation of the signals ADA, ADB, and will therefore be supplied to the selection circuits  9 A,  9 B of the memory bank. Obviously, in the case of a standard read, the signals INCA, INCB will not be generated, therefore the address counters  4 A,  4 B will not increment the address; the reading will thus be limited to a single memory location. 
   It is clear that variants or additions may be made to what has been described and illustrated above, without thereby departing from the scope of the present invention defined in the appended claims.