The present invention relates to a data storage technique field, and more particularly to a memory and an operation method thereof.
Non-volatile memory is a type of memory capable of storing data without the need of external power supply. Thus, the non-volatile memory particularly is suitable for use in portable devices due to the power saving feature.
Basically, the non-volatile memory is categorized to have three operations: read, write and erase operations; wherein the write operation is the so-called program operation. Generally, the voltages required by the non-volatile memory for the performing of the read, write and erase operations are different. In particular, the programming voltage must be very accurate due to the higher demand of the accuracy of the voltage level of the programming voltage while the non-volatile memory is performing the program operation.
One object of the present invention is to provide a memory capable of stabilizing the programming voltage by dynamically providing various numbers of loads in response to the number of memory units required to be driven.
Another object of the present invention also is to provide an operation method of a memory applicable to be used with the aforementioned memory.
An embodiment of the present invention provides a memory, which includes a decoder, a memory array, a plurality of loads, a load detection circuit and a load control circuit. The decoder includes an input terminal and a plurality of output terminals; and the input terminal is configured to receive a power supply voltage. The memory array includes a plurality of source lines and a plurality of memory units. The source lines each are electrically coupled to the respective output terminal of the decoder and N number of memory units. The loads each are configured to have a load value equal to that of each one of the memory units. The load detection circuit is configured to obtain a N-bit input data of the memory, determine the number of the memory units required to update the content stored therein when the memory is performing a program operation based on the N-bit input data, and generate a first determination result accordingly. The load control circuit is configured to receive the first determination result, specifically, if the first determination result indicates that there are M number of the memory units required to update the content stored therein, the load control circuit provides (N−M) number of the loads to the decoder so as to parallel couple the (N−M) number of provided loads to a transmission path of the power supply voltage, wherein N and M are natural numbers.
Another embodiment of the present invention provides an operation method of a memory. The memory includes a decoder and a memory array. The decoder includes an input terminal and a plurality of output terminals; and the input terminal is configured to receive a power supply voltage. The memory array includes a plurality of source lines and a plurality of memory units. The source lines each are electrically coupled to the respective output terminal of the decoder and N number of memory units. The operation method includes the following steps: obtaining a N-bit input data of the memory, determining the number of memory units required to update the content stored therein when the memory is performing a program operation based on the N-bit input data and accordingly generate a first determination result; and providing (N−M) number of loads to the decoder if the first determination result indicates that there are M number of memory units required to update the content stored therein, and thereby parallel coupling the (N−M) number of the provided loads to a transmission path of the power supply voltage, wherein N and M are natural numbers.
In summary, the memory of the present invention further employs a plurality of loads, a load detection circuit and a load control circuit; wherein the loads each are configured to have a load value equal to that of each one of the memory unit. In addition, the load detection circuit is further configured to obtain N-bit input data of the memory, determine the number of memory units required to update the content stored therein when the memory is performing a program operation based on the N-bit input data and thereby generating a first determination result DS1 accordingly. If the first determination result indicates that there is M number of memory units required to update the content stored therein, the load control circuit provides (N−M) number of loads to the decoder electrically coupled to the source lines and thereby parallel coupling the (N−M) number of provided loads to a transmission path of the power supply voltage. Thus, the programming voltage can, through the aforementioned configuration of the memory of the present invention, be maintained at a stable value due to the loads are dynamically provided in response to the number of the memory unit required to be driven.
The present invention will become more readily apparent to those ordinarily skilled in the art after reviewing the following detailed description and accompanying drawings, in which:
The present invention will now be described more specifically with reference to the following embodiments. It is to be noted that the following descriptions of preferred embodiments of this invention are presented herein for purpose of illustration and description only. It is not intended to be exhaustive or to be limited to the precise form disclosed.
The power supply voltage switch 160, electrically coupled between an output terminal (not labeled) of the power supply voltage generation circuit 150 and the input terminal 171 of the decoder 170, is configured to receive a power supply voltage PV1 from the power supply voltage generation circuit 150 and a preset voltage PV2 and selectively output, according to a control command CM, either the power supply voltage PV1 or the preset voltage PV2 to the input terminal 171 of the decoder 170. In this embodiment, the power supply voltage generation circuit 150 can be realized by a low dropout regulator. In addition, the power supply voltage PV1 herein is used as a programming voltage, and the preset voltage PV2 herein is used as a readout voltage.
Each individual load 140 and each individual memory unit 182 are configured to have the same internal circuit structure, so that both have the same load value. In this embodiment, each of the loads 140 is realized by a redundant memory unit. Specifically, the memory units 182 and the redundant memory units in the memory 100 each includes a floating-gate transistor 141. In this embodiment, each one of the floating-gate transistors 141 in the redundant memory units is configured to have the first source/drain thereof electrically coupled to the input terminal 171 of the decoder 170 and the second source/drain electrically thereof electrically coupled to a reference voltage (e.g., the ground potential GND).
The load detection circuit 120 is configured to obtain N-bit input data of the memory 100, determine the number of the memory units 182 required to update the content stored therein when the memory 100 is performing a program operation based on the N-bit input data, and accordingly generate a first determination result DS1. The load control circuit 130, electrically coupled to the gate of each one of the floating-gate transistors 141 in the redundant memory units, is configured to determine the conducting state of the floating-gate transistors 141 in the redundant memory units according to the first determination result DS1. Specifically, if the first determination result DS1 indicates that there are M number of memory units 182 required to update the content stored therein, the load control circuit 130 turns on (N−M) number of floating-gate transistors 141 accordingly (or, provides (N−M) number of floating-gate transistors 141 to the decoder 180) so as to couple the (N−M) number of provided loads 140 to a transmission path of the power supply voltage PV1 in parallel; wherein M is a natural number, and the aforementioned transmission path will be described in detail later. It is to be noted that the number of loads 140 required to be coupled to the transmission path in parallel decreases with the increasing number of memory units 182 required to update the content stored therein; and the number of loads 140 required to be coupled to the transmission path in parallel increases with the decreasing number of memory units 182 required to update the content stored therein. In addition, it is to be noted that the sum of the number of memory units 182 required to update the content stored therein and the number of loads 140 required to be coupled to the transmission path in parallel is always N.
To obtain a better understanding of the present invention, the following is an example for illustrating an operation of the memory 100; wherein in this example, N is set to 8. Please refer to
In addition, if the program operation performed by the memory 100 is associated with the memory units 182 electrically coupled to the output terminal 172-1 of the decoder 170, the decoder 170 accordingly, when the memory 100 is performing the program operation, electrically couples the input terminal 171 and the output terminal 172-1 thereof to each other so as to form an electrical path 173 therein. Thus, the electrical path formed between the power supply voltage switch 160 and the input terminal 171, the input terminal 171, the electrical path 173, the output terminal 172-1 and the source line 181 electrically coupled to the output terminal 172-1 corporately form a transmission path of the power supply voltage PV1; and consequently the two loads 140 provided by the load control circuit 130 are coupled in parallel to the transmission path when the memory 100 is performing the program operation.
Therefore, when the decoder 170 uses the received power supply voltage PV1 as a programming voltage to perform the program operation, the programming voltage can, through the aforementioned configuration of the memory 100, be maintained at a stable value due to the loads 140 are dynamically provided in response to the varying number of the memory units 182 to be driven.
Furthermore, to verify whether the result of the program operation is correct, the load detection circuit 120 is further configured to determine the number of different bits existing between the N-bit output data of the memory 100 and the aforementioned N-bit input data, and accordingly generate a second determination result DS2 and output the second determination result DS2 to the load detection circuit 120; wherein the N-bit output data is the data stored in the memory units 182 after being performed by the program operation according to the aforementioned N-bit input data. Correspondingly, the load control circuit 130 is further configured to determine whether or not to provide the load 140 to the decoder 170 according to the second determination result DS2. It is to be noted that the number of the loads 140 provided to the decoder 170 is not limited as long as the loads to be driven by the programming voltage is maintained at the load value of N number of memory units 182. In addition, the aforementioned verification operation can be performed repeatly until the N-bit input data and the N-bit output data are the same completely.
In addition, the load detection circuit 120 is further electrically coupled to the data input/output interface 110 and thereby being capable of receiving the N-bit input data and the N-bit output data from the data input/output interface 110. In addition, the data input/output interface 110 is further configured to latch the N-bit input data. In this embodiment, the data input/output interface 110 includes an input data transmission unit 112, configured to transmit and latch the N-bit input data, and an output data transmission unit 114, configured to transmit the N-bit output data.
As shown in
For example, as illustrated in
As shown in
Each of the aforementioned embodiments is exemplified by the internal circuit structure of a flash memory; however, the present invention is not limited thereto. In other words, it is understood that the each one of the embodiments of the present invention can further apply to other types of memory.
Thus, an operation method of a memory can be summarized from the descriptions of the aforementioned embodiments by those ordinarily skilled in the art. The memory includes a decoder and a memory array. The decoder includes an input terminal and a plurality of output terminals; wherein the input terminal is configured to receive a power supply voltage. The memory array includes a plurality of source lines and a plurality of memory units. Specifically, the source lines are electrically coupled to the output terminals of the decoder, respectively; and each one of the source lines is electrically coupled to N number of memory units.
In summary, the memory of the present invention further employs a plurality of loads, a load detection circuit and a load control circuit; wherein the loads each are configured to have a load value equal to that of each one of the memory unit. In addition, the load detection circuit is further configured to obtain N-bit input data of the memory, determine the number of memory units required to update the content stored therein when the memory is performing a program operation based on the N-bit input data and thereby generating a first determination result DS1 accordingly. If the first determination result indicates that there is M number of memory units required to update the content stored therein, the load control circuit provides (N−M) number of loads to the decoder electrically coupled to the source lines and thereby coupling the (N−M) number of provided loads to a transmission path of the power supply voltage in parallel. Thus, the programming voltage can, through the aforementioned configuration of the memory of the present invention, be maintained at a stable value due to the loads are dynamically provided in response to the number of the memory unit required to be driven.
While the invention has been described in terms of what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention needs not be limited to the disclosed embodiment. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.
Number | Name | Date | Kind |
---|---|---|---|
3663828 | Low | May 1972 | A |
3818402 | Golaski | Jun 1974 | A |
4163944 | Chambers | Aug 1979 | A |
4245355 | Pascoe | Jan 1981 | A |
4409608 | Yoder | Oct 1983 | A |
4816784 | Rabjohn | Mar 1989 | A |
5159205 | Gorecki | Oct 1992 | A |
5208725 | Akcasu | May 1993 | A |
5212653 | Tanaka | May 1993 | A |
5406447 | Miyazaki | Apr 1995 | A |
5446309 | Adachi | Aug 1995 | A |
5583359 | Ng | Dec 1996 | A |
5637900 | Ker | Jun 1997 | A |
5760456 | Grzegorek | Jun 1998 | A |
5808330 | Rostoker | Sep 1998 | A |
5923225 | De Los Santos | Jul 1999 | A |
5959820 | Ker | Sep 1999 | A |
6008102 | Alford | Dec 1999 | A |
6081146 | Shiochi | Jun 2000 | A |
6172378 | Hull | Jan 2001 | B1 |
6194739 | Ivanov | Feb 2001 | B1 |
6246271 | Takada | Jun 2001 | B1 |
6285578 | Huang | Sep 2001 | B1 |
6291872 | Wang | Sep 2001 | B1 |
6370372 | Molnar | Apr 2002 | B1 |
6407412 | Iniewski | Jun 2002 | B1 |
6427226 | Mallick | Jul 2002 | B1 |
6448858 | Helms | Sep 2002 | B1 |
6452442 | Laude | Sep 2002 | B1 |
6456221 | Low | Sep 2002 | B2 |
6461914 | Roberts | Oct 2002 | B1 |
6480137 | Kulkarni | Nov 2002 | B2 |
6483188 | Yue | Nov 2002 | B1 |
6486765 | Katayanagi | Nov 2002 | B1 |
6509805 | Ochiai | Jan 2003 | B2 |
6518165 | Yoon | Feb 2003 | B1 |
6521939 | Yeo | Feb 2003 | B1 |
6545547 | Fridi | Apr 2003 | B2 |
6560306 | Duffy | May 2003 | B1 |
6574159 | Ohbayashi et al. | Jun 2003 | B2 |
6588002 | Lampaert | Jul 2003 | B1 |
6593838 | Yue | Jul 2003 | B2 |
6603360 | Kim | Aug 2003 | B2 |
6608363 | Fazelpour | Aug 2003 | B1 |
6611223 | Low | Aug 2003 | B2 |
6625077 | Chen | Sep 2003 | B2 |
6630897 | Low | Oct 2003 | B2 |
6639298 | Chaudhry | Oct 2003 | B2 |
6653868 | Oodaira | Nov 2003 | B2 |
6668358 | Friend | Dec 2003 | B2 |
6700771 | Bhattacharyya | Mar 2004 | B2 |
6720608 | Lee | Apr 2004 | B2 |
6724677 | Su | Apr 2004 | B1 |
6756656 | Lowther | Jun 2004 | B2 |
6795001 | Roza | Sep 2004 | B2 |
6796017 | Harding | Sep 2004 | B2 |
6798011 | Adan | Sep 2004 | B2 |
6810242 | Molnar | Oct 2004 | B2 |
6822282 | Randazzo | Nov 2004 | B2 |
6822312 | Sowlati | Nov 2004 | B2 |
6833756 | Ranganathan | Dec 2004 | B2 |
6841847 | Sia | Jan 2005 | B2 |
6847572 | Lee | Jan 2005 | B2 |
6853272 | Hughes | Feb 2005 | B1 |
6876056 | Tilmans | Apr 2005 | B2 |
6885534 | Ker | Apr 2005 | B2 |
6901126 | Gu | May 2005 | B1 |
6905889 | Lowther | Jun 2005 | B2 |
6909149 | Russ | Jun 2005 | B2 |
6927664 | Nakatani | Aug 2005 | B2 |
6958522 | Clevenger | Oct 2005 | B2 |
7009252 | Lin | Mar 2006 | B2 |
7027276 | Chen | Apr 2006 | B2 |
7205612 | Cai | Apr 2007 | B2 |
7262069 | Chung | Aug 2007 | B2 |
7365627 | Yen | Apr 2008 | B2 |
7368761 | Lai | May 2008 | B1 |
7405642 | Hsu | Jul 2008 | B1 |
7672100 | Van Camp | Mar 2010 | B2 |
20020019123 | Ma | Feb 2002 | A1 |
20020036545 | Fridi | Mar 2002 | A1 |
20020188920 | Lampaert | Dec 2002 | A1 |
20030076636 | Ker | Apr 2003 | A1 |
20030127691 | Yue | Jul 2003 | A1 |
20030183403 | Kluge | Oct 2003 | A1 |
20050068112 | Glenn | Mar 2005 | A1 |
20050068113 | Glenn | Mar 2005 | A1 |
20050087787 | Ando | Apr 2005 | A1 |
20060006431 | Jean | Jan 2006 | A1 |
20060108694 | Hung | May 2006 | A1 |
20060267102 | Cheng | Nov 2006 | A1 |
20070102745 | Hsu | May 2007 | A1 |
20070210416 | Hsu | Sep 2007 | A1 |
20070234554 | Hung | Oct 2007 | A1 |
20070246801 | Hung | Oct 2007 | A1 |
20070249294 | Wu | Oct 2007 | A1 |
20070296055 | Yen | Dec 2007 | A1 |
20080094166 | Hsu | Apr 2008 | A1 |
20080185679 | Hsu | Aug 2008 | A1 |
20080189662 | Nandy | Aug 2008 | A1 |
20080200132 | Hsu | Aug 2008 | A1 |
20080299738 | Hsu | Dec 2008 | A1 |
20080303623 | Hsu | Dec 2008 | A1 |
20090029324 | Clark | Jan 2009 | A1 |
20090201625 | Liao | Aug 2009 | A1 |
20100279484 | Wang | Nov 2010 | A1 |
Entry |
---|
U.S. Appl. No. 13/652,422, filed Oct. 15, 2012. |
Number | Date | Country | |
---|---|---|---|
20140146610 A1 | May 2014 | US |