The invention relates to a memory circuit arrangement and a method for reading and/or verifying the status of memory cells of a memory cell array.
Modern non-volatile mass storage in NAND-architecture, as well as in NOR-architecture, provides higher and higher memory capacity and performance together with a low power consumption. However, there is a continuous need in the improvement of all three above-mentioned features. In order to improve these three features, which are highly relevant for the market, innovations are necessary in the design and layout of memory cell arrays.
In a common flash memory cell array, when changing of the status of the memory cells in the memory cell array, the status of the memory cells are usually read multiple times during the status change process in order to ensure that the desired status of the respective memory cell is achieved. In particular each read operation, for example each erase verify operation or each program verify operation causes a current flow through the memory cell array and the usually provided sense amplifiers. This current flow contributes to the undesired power consumption of the chip comprising the flash memory. In flash memories having a high volume, for example in flash memories having a storage capacity of 512 MB and more, a high number of corresponding sense amplifiers is provided. By way of example, 64 to 256 sense amplifiers are provided on the chip and are driven simultaneously.
As shown in the process flow diagram 800 in
In a first programming step, a first program pulse for programming the memory cells of memory cell word “w” is provided by means of the program control unit (step 804) in order to provide the memory cells of word “w” of the memory cell array with an electrical voltage pulse provided for programming the memory cells according to a predetermined programming instruction.
After having finished the first (in general the i-th) program pulse for word “w”, a verify read step is executed on the memory cell word “w” in the i-th iteration, as shown in step 805.
Then, it is determined as to whether all memory cells of memory cell word “w” have been programmed in a satisfactory manner, in other words, it is determined as to whether all memory cells of memory cell word “w” satisfy a predetermined programming criterion. By way of example, it is determined as to whether each one of the memory cells of memory cell word “w” shows the desired respective threshold voltage (determination step 806).
In case that not all memory cells of memory cell word “w” are finally programmed (“No” in step 806), i.e., in case that they do not have the desired threshold voltage, respectively, a further program pulse is provided, which is shown in
This iterative provision of a program pulse and a respective subsequent verify read operation is repeated until all memory cells of the memory cell word “w” are programmed, in other words, until all memory cells of memory cell word “w” fulfill the predefined programming criterion.
In case that all memory cells of memory cell word “w” are considered to be programmed in step 806 (“Yes” in step 806), another determination step is executed (step 808), in which it is determined as to whether all memory cells of the memory cell array have been programmed. In case that not all memory cells have already been programmed (“No” in step 808), the program operation is executed for the next memory cell word “w+1” in the memory cell array, which is shown in
If all memory cells are programmed (“Yes” in step 808), the programming operation is finished and ends in step 810.
It is to be noted that in the common verify read operation, all memory cells of a memory cell word “w” are read, irrespective as to whether one or a plurality of memory cells of this memory cell word “w” has already been successfully programmed or not. This leads to an undesirably high power consumption in read operations.
What is therefore needed is an improved memory device architecture and a corresponding method for reading and/or verifying the status of memory cells of a memory cell array, which provides less power consumption.
Embodiments of the present invention provide a new memory circuit arrangement and a method for improved reading and/or verifying the status of memory cells of a memory cell array, which saves power consumption.
The memory circuit arrangement and the method for reading and/or verifying the status of memory cells of a memory cell array, can be designed such that only those memory cells are read and/or verified that have not yet reached the desired memory cell status, in general, which still have to be read and/or verified according to a memory cell read and/or memory cell verify instruction.
In an exemplary embodiment of the invention, the memory circuit arrangement comprises a memory cell array comprising a plurality of memory cells and a memory read/verify control circuit for controlling a read operation and/or a verify operation on one or a plurality of memory cells of the memory cell array, wherein the memory read/verify control circuit is adapted to read and/or verify the status of each memory cell of the memory cell array according to a read and/or verify instruction information on memory cell level.
In an exemplary embodiment of the invention, a method for reading and/or verifying the status of memory cells, of a memory cell array, is provided. A read and/or verify instruction information identifies the memory cells of the memory cell array, which are to be read and/or verified, on memory cell level. The identified memory cells of the memory cell array are read and/or verified according to the instruction information.
Furthermore, an exemplary flash memory circuit arrangement comprises a flash memory cell array that includes a plurality of flash memory cells. A flash memory read/verify control circuit controls a read operation and/or a verify operation on one or a plurality of memory cells of the memory cell array. The memory read/verify control circuit is adapted to read and/or verify the status of each memory cell of the memory cell array according to a bit-level mask including bits. Each of the bits of the bit-level mask is assigned to one memory cell of the memory cell array, respectively. Each bit represents the information as to whether the status of the assigned memory cell should be read and/or verified or not. A memory region stores the bits of the bit-level mask.
These and other features of the invention will be better understood when taken in view of the following drawings and a detailed description.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
Corresponding numerals and symbols in the different figures refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the preferred embodiments and are not necessarily drawn to scale.
The following list of reference symbols can be used in conjunction with the figures:
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
According to one aspect of the invention, the memory circuit arrangement comprises a determination unit for determining those memory cells, on which the read operation and/or the verify operation should be performed.
Furthermore, the read and/or verify instruction information may be a bit-level mask including bits, wherein each bit of the bit-level mask is assigned to one memory cell of the memory cell array, respectively, and wherein each bit is representing the information as to whether the status of the assigned memory cell should be read and/or verified or not. This feature allows a very easy and fast approach in order to instruct the memory read/verify control circuit as to which memory cells should be read and/or verified and correspondingly, which components of the memory read/verify control circuit are to be activated and which are to be deactivated.
According to another aspect of the invention, the memory circuit arrangement further comprises a memory region for storing the read and/or verify instruction information, wherein the memory region can be implemented as a random access memory, e.g., as a static random access memory (SRAM). However, it should be noted that any other kind of memory can be used for storing the read and/or verify instruction information, e.g., a non-volatile memory like a flash memory, like a floating gate memory, or a nitrided read only memory (NROM), a magnetoresistive random access memory (MRAM), a phase change memory (PCM), a ferroelectric random access memory (FeRAM) or a dynamic random access memory (DRAM). Storing the read and/or verify instruction information provides the advantage that the read and/or verify instruction information can be read a plurality of times and can also be changed, thereby providing an efficient way of bitwise adapting the read and/or verify instruction information to the respective current status of the memory cell array.
In accordance with another aspect of the invention, a plurality of amplifier circuits is provided, which are coupled to the memory cells of the memory cell array for amplifying the signals read from the memory cell. In an exemplary embodiment of the invention, the amplifier circuits are sense amplifier circuits, wherein each sense amplifier circuit is assigned to one or a predetermined number of memory cells in the memory cell array.
The memory cells may be arranged in columns and rows within the memory cell array, wherein each amplifier circuit may be respectively assigned to all memory cells of one row or to all memory cells of one column, alternatively, to a predetermined number (plurality) of memory cells of a predetermined number (plurality) of rows or to a predetermined number (plurality) of memory cells of a predetermined number (plurality) of columns, e.g., to a respectively predetermined page of memory cells.
In accordance with another aspect of the invention, the memory circuit arrangement further comprises a plurality of storage elements, wherein each storage element is assigned to one amplifier circuit, wherein each storage element stores a portion of the read and/or verify instruction information on the memory cell level.
The storage elements may be arranged as latches or as flipflops. This embodiment provides a very easy and low cost implementation, which achieves a direct control of the respective amplifier circuit in a non-volatile manner, i.e., the control signals on the respective control lines of the data bus do not need to be at high voltage level during the entire operation.
The memory circuit arrangement may be arranged as a flash memory circuit arrangement like a floating gate memory or a nitrided read only memory (NROM), as a magnetoresistive random access memory (MRAM), as a phase change memory (PCM), or as a ferroelectric random access memory (FeRAM).
The flash memory circuit arrangement may thus be arranged as NROM (nitrided read only memory) flash memory circuit arrangement, in other words, the memory cells of the memory cell arrangement may in this case be NROM memory cells.
Generally speaking, the invention is applicable to any memory cell arrangement in which the status of the memory cells of the memory cell array of the memory circuit arrangement is to be determined and in which, without the invention, all memory cells of the group of memory cells are read and/or verified without taking into account, which memory cells already have been programmed, generally speaking, already fulfill a predetermined criterion.
In accordance with one aspect of the method for reading and/or verifying the status of memory cells of a memory cell array, the method further comprises the following steps:
a) executing a programming step on the memory cells of the memory cell according to a programming instruction;
b) executing a verification step on the memory cells of the memory cell array, thereby determining those memory cells, which are sufficiently programmed in the programming step;
c) storing the determined memory cells in the read and/or verify instruction information;
d) executing an additional programming step on the memory cells of the memory cell array according to the programming instruction;
e) executing an additional read and/or verification step on the memory cells of the memory cell array only on the memory cells, which are not yet sufficiently programmed according to the read and/or verify instruction information, thereby determining the memory cells, which are sufficiently programmed in the additional programming step.
In accordance with another aspect of the invention, the steps d) and e) mentioned above, are repeatedly executed and the read and/or verify instructions information is updated after each read and/or verification step.
The NROM memory cells 102 of one row 103 are respectively connected to a read circuit 105 via read lines 106. The read circuit 105 is connected to a multiplicity of sense amplifiers 107 by means of sense amplifier lines 108, wherein each one of the sense amplifiers 107 is respectively connected to the NROM memory cells 102 of a respective one of the rows 103 with a first of its inputs and to a reference unit providing a reference current with a second of its inputs.
The sense amplifiers 107 are connected via its respective outputs to a databus 109 by means of databus lines 110.
Furthermore, a memory region 111 is coupled to the read circuit 105, for storing the bit-level mask, as will be described below in more detail.
Furthermore, the memory region 111 comprises a multiplicity of flipflops or latches 202, wherein the number of flipflops or latches 202 corresponds to the number of provided sense amplifiers 107.
In a program operation, a first program pulse (step 302) is executed on the memory cell word “w” by raising the electrical voltage at the respective word line to activate the respective NROM memory cells 102 to be programmed (corresponding to a logic value “0” as shown in
After having finished the application of the program pulse, it is assumed in this exemplary embodiment that some of the NROM memory cells 102 are programmed, i.e., some of the NROM memory cells 102 have been provided with enough electrons in their ONO (silicon oxide-silicon nitride-silicon oxide) layer arrangement by means of the first program pulse, so that their threshold voltage has been raised sufficiently over a predetermined minimum program threshold voltage. If the respective NROM memory cell 102 is programmed and thus has a high threshold voltage, which corresponds to a logic state “0” as shown in
As can be seen from
Therefore, a second program pulse is applied to the yet non-programmed NROM memory cells 102 as will be shown and described in more detail below, symbolized in
After the application of the second program pulse 304, it is assumed that even more NROM memory cells 102 have a sufficiently high threshold voltage and are therefore considered to be programmed.
The status of the memory cell word after the application of the second program pulse is shown in
Since there are still not all NROM memory cells 102 of the memory cell word “w” programmed yet, a third program pulse is applied to the NROM memory cells 102 (block 306), which results in even more programmed NROM memory cells 102 as denoted with reference numeral 307.
In accordance with this exemplary embodiment of the invention, a predetermined number of program pulses is successively applied to the NROM memory cells 102 or alternatively as many program pulses are applied to the NROM memory cells 102 of the memory cell word “w” as necessary (in
In the following, the process flow of an exemplary programming operation, that is executed on the NROM memory cells 102 of the memory cell array 101, will be described with reference to the process flow diagrams 400 (as shown in
After having started the programming operation (start step 401) a memory cell word index “w” is set to an initial value, in accordance with this embodiment of the invention, the memory cell word index “w” is set to the value “1” (step 402).
Then, a programming operation (A) is applied on the respective memory cell word “w” as shown in the process flow diagram 500 in
After the programming operation has been applied on the respective memory cell word, which is assigned by the memory cell word index “w” (B), it is determined as to whether all memory cells 102 of the memory cell array 101 has now been programmed (determination step 403).
In case that all memory cells have already been programmed (“No” in step 403), the memory cell word index “w” is increased by the value “1” (step 404) and the program pulse operation for the next memory cell word “w+1” will be executed as shown in
However, if all NROM memory cells 102 of the memory cell array 101 are programmed (“Yes” in determination step 403) the programming operation is finished and the process flow enters into the end programming step 405.
As shown in
In the next step, a program pulse index “i” is initialized (step 502) to a predetermined value, in accordance with the present embodiment of the invention to the value “1”.
In the next step, (the first, generally speaking i-th) program pulse (step 503), is applied to the NROM memory cells 102 of the memory cell word “w”.
After having applied the i-th program pulse for the NROM memory cells 102 of the memory cell word “w”, a program verify read operation is carried out to the NROM memory cells 102 of memory cell word “w” according to the stored bit-level mask, in a first iteration, to all NROM memory cells 102 of the memory cell word “w,” which are to be programmed (step 504).
Then, it is determined as to whether all NROM memory cells 102 of the memory cell word “w” are programmed (step 505) and in case that not all NROM memory cells 102 of the memory cell word “w” are programmed (“No” in step 505), the bit-level mask (bit-read mask) of memory cell word “w” is updated (step 506) by changing the state of the memory cells of the SRAM 201, such that those memory cells of the SRAM 201 being assigned to already programmed NROM memory cells 102 of the memory cell word “w” as determined in the determination step 505, are changed to a logic value “0”.
Then, the program pulse index “i” is increased by a value “1” (step 507) and the process flow is continued in step 503, in other words, a next programming iteration is carried out. In each program pulse iteration, a program pulse is applied to the not yet programmed memory cells and a verify read operation is performed on the not yet programmed NROM memory cells 102 of the memory cell word “w,” in accordance of the respectively updated bit level mask of memory cell word “w”.
This process loop is repeated until it is determined in step 505 that all memory cells 102 of the memory cell word “w” are programmed (“Yes” in step 505).
Thus, this method achieves a reduction of power consumption during verify reads in the memory cell array 101. However, it should be noted that in other embodiments of the invention, this method could be applied also to an erase verify read operation or to a depleted verify operation to verify as to whether the memory cells of a memory cell array are all erased or depleted, respectively.
The above-described exemplary embodiment of the invention can be summarized in that in a verify read operation, the device checks whether a bit reached its final desired level (during a read operation). These read operations are carried out to a full page every time according to the prior art. However, some of the bits in a page are already verified, but in accordance to the prior art, they are also re-checked. This consumes time and power. The idea in accordance with the above-described embodiment is to skip the verify read operation of bits that are already verified from previous verify read operations, which leads to a power consumption reduction and a time reduction.
In this context, it should be noted that a desired group of memory cells 102 can be subject of a verify read, that is a memory cell word can be verified together or the memory cells 102 of a full memory cell page, a predetermined number of memory cells 102 of a memory cell array 101 all grouped into, can be subject of one program pulse iteration.
In the following, additional embodiments of the invention will be described.
With regard to the following embodiments, it is assumed, that not all memory cells achieve the desired status at the same time. Those memory cells, which already have achieved the desired status, however, do not need to be read in future iterations. This means, that the number of the sense amplifiers being working at the same time is decreased in each iteration, which leads to power saving. By means of additional electronic circuits, the performance can be increased by addressing only those memory cells via the sense amplifier, the status of which have not achieved the desired (target) status. All other cells are clearly skipped, which leads to an acceleration of the entire read operation.
In this context, it is to be mentioned that either the sense amplifiers of their respective memory cells that do not need to be read, may be deactivated or other or all components usually involved in the read/verify operation and being implemented in the read circuit 105 may be deactivated in accordance with the stored bit-level mask.
The portion 600 in accordance to
The memory cells of each column of each memory cell array 601 are respectively connected to a bit line decoder 602 by means of bit lines 603.
Each bit line decoder 602, wherein one bit line decoder 602 is provided for each memory cell array 601, is provided with a sense amplifier 604. In case that 64 to 256 memory cell arrays 601 are provided in the memory circuit arrangement 600, 64 to 256 sense amplifiers 604 are provided, respectively.
The inputs 605 of the sense amplifier are connected to the outputs of the bit line decoder 602 and the output of each sense amplifier 604 is coupled to a data bus (not shown) and provides data signals DQ1, DQ2, DQm-1, DQm, respectively, thereto.
Furthermore, one bit line address generator unit 606 is provided for each memory cell array 601, wherein a first input 607 of the bit line address generator unit 606 is connected to an address counter line 608, by means of which the bit line address generator unit 606 is connected to an address counter unit (not shown), which generates the respective address of the memory cells to be read.
Furthermore, a second input 609 of the bit line address generator unit 606 is coupled to a mask data line 610, which is connected to a mask data generation unit (not shown) providing mask data information, for example the data for mask data.
Further, the output of the bit line decoder 602 is coupled to a third input 615 of the bit line address generator unit 606.
The bit line address generator unit 606 is adapted to generate only those bit addresses of those memory cells in the respective memory cell array 601 that still have to be read. The bit line address generator unit 606 is coupled to an input of the bit line decoder 602 by means of n bit line address lines 611, wherein n denotes the bit line address depth. A second output 612 of each bit line address generator unit 606 is coupled to an AND gate 613 by means of a ready line 614. The bit line address generator unit 606 generates a signal logic “1” in case all memory cells of their respective memory cell array 601 have been read and/or verified, thereby indicating that the entire memory cell array 601 has been completely read and/or verified.
Thus, in case that all bit line address generator units 606 indicate that they have read/verified all memory cells of its respective memory cell array 601, the AND gate 613 provides a high level ready signal 615, thereby indicating that the read/verify operation has been performed from all memory cells of all memory cell arrays 601 in the memory circuit arrangement 600.
A data input of the voltage regulator unit 703 is connected to a first terminal 704, at which a programming step voltage VpStep can be applied representing a voltage in accordance with the respective programming step.
A second terminal 705 of the voltage regulator unit 702 is connected to, for example, a charge pump (not shown) or a booster circuit (not shown) and receives the respectively required programming voltage Vpp for programming the memory cells of the respective memory cell arrays 601.
The bit line drivers 701 are adapted to provide the respective program pulses to the sense amplifier lines 605 and via those to the bit line decoder 602 and thereby to the respective memory cells of the memory cell array 601, which are to be programmed.
The further unit of the memory circuit arrangement 700 are similar to those components of the memory circuit arrangement 600 as shown in
By means of the memory circuit arrangement in accordance to
The foregoing description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously many modifications and variations are possible in light of the disclosed teaching. The described embodiments were chosen in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.