Improved architecture for storing and retrieving system data in a non-volatile memory system - Patents.com
The non-volatile memory system architecture addresses the challenge of data corruption by storing system data in redundant cells and using logical devices to process read currents, thereby ensuring high reliability and accuracy of system data.
Patent Information
- Application Number
- JP2023539289
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-11
- Filing Date
- 2021-03-30
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2041-03-30
AI Technical Summary
Existing non-volatile memory systems face challenges in protecting critical system data from charge loss, charge redistribution, and other physical changes that can invert memory cell states, leading to data corruption.
The proposed architecture involves storing each bit of system data in two redundant non-volatile memory cells, with a sense amplifier configured to receive and process currents from these cells independently during read operations. This architecture uses logical devices like AND or OR gates to generate final system data, ensuring that data corruption is minimized.
This approach significantly reduces the likelihood of data corruption by ensuring that system data remains accurate even if one of the redundant cells inverts, as the output is only affected if both cells invert, which is extremely low probability.
Smart Images

Figure 0007654797000004 
Figure 0007654797000005 
Figure 0007654797000006
Abstract
Description
[Technical field]
[0001] (Priority Claim) This application claims priority to U.S. Provisional Patent Application No. 63 / 131,624, filed December 29, 2020, entitled "Architectures for Storing and Retrieving System Data in a Non-Volatile Memory System," and U.S. Patent Application No. 17 / 199,383, filed March 11, 2021, entitled "Architectures for Storing and Retrieving System Data in a Non-Volatile Memory System."
[0002] FIELD OF THEINVENTION Numerous embodiments of an improved architecture for storing and retrieving system data in a non-volatile memory system are disclosed. [Background technology]
[0003] Non-volatile memory systems are well known in the prior art. Figure 1 shows a prior art non-volatile memory system 100. The non-volatile memory system 100 comprises an array 101, a row decoder 102, a column decoder 103, and a sense amplifier 104. The array 101 comprises an array of non-volatile memory cells arranged in rows and columns. The row decoder 102 is coupled to each row of non-volatile memory cells in the array 101 and typically enables one or more rows for read, erase, or program operations in response to a received row address. The column decoder 103 is coupled to each column of non-volatile memory cells in the array 101 and typically enables one or more columns for read, erase, or program operations in response to a received column address. If the non-volatile memory cells are flash memory cells, the row decoder 102 is typically coupled to a word line for each row of cells, and the column decoder 103 is typically coupled to a bit line for each column of cells. The sense amplifier 104 is used during a read operation to sense a value stored in a selected cell or cells.
[0004] Various designs of non-volatile memory cells are known in the prior art. For example, U.S. Pat. No. 5,029,130 ("the '130 patent"), incorporated herein by reference, discloses an array of split-gate non-volatile memory cells, which are a type of flash memory cell. Such a memory cell 210 is shown in FIG. 2. Each memory cell 210 includes a source region 14 and a drain region 16 formed in a semiconductor substrate 12, with a channel region 18 between the source region 14 and the drain region 16. A floating gate 20 is formed over and insulated from a first portion of the channel region 18 (and controls the conductivity of the first portion of the channel region 18) and over a portion of the source region 14. A word line terminal 22 (typically coupled to a word line) has a first portion disposed over and insulated from a second portion of the channel region 18 (and controls the conductivity of the second portion of the channel region 18) and a second portion extending upwardly above the floating gate 20. A floating gate 20 and a wordline terminal 22 are insulated from the substrate 12 by a gate oxide. A bitline 24 is coupled to the drain region 16.
[0005] The memory cell 210 is erased (in which case electrons are removed from the floating gate) by applying a high positive voltage to the word line terminal 22 with respect to the substrate region 12, which causes the electrons on the floating gate 20 to tunnel from the floating gate 20 through the intermediate insulator to the word line terminal 22 via Fowler-Nordheim tunneling.
[0006] The memory cell 210 is programmed (electrons are provided to the floating gate) by applying a positive voltage to the word line terminal 22 and a positive voltage to the source region 14. Electrons flow from the drain region 16 towards the source region 14. The electrons are accelerated and heated as they move through the channel region 18 under the gap between the word line terminal 22 and the floating gate 20 and through the channel region 18 under the floating gate 20. Some of the heated electrons will be injected through the gate oxide into the floating gate 20 due to electrostatic attraction from the floating gate 20 and the reduction in the oxide energy barrier caused by said attraction.
[0007] The memory cell 210 is read by applying a positive read voltage to the drain region 16 and word line terminal 22 (turning on the portion of the channel region 18 below the word line terminal) with respect to the source region 14. If the floating gate 20 is positively charged (i.e., erased with electrons), the portion of the channel region 18 below the floating gate 20 will also be turned on and current will flow across the channel region 18 to the source region 14, which is sensed as the erased or "1" state. If the floating gate 20 is negatively charged (i.e., programmed with electrons), the portion of the channel region below the floating gate 20 will be mostly or completely off and no (or very little) current will flow through the channel region 18 to the source region 14, which is sensed as the programmed or "0" state.
[0008] Table 1 shows typical voltage / current ranges that can be applied to the terminals of memory cell 210 to perform read, erase, and program operations. Table 1: Operation of the Flash Memory Cell 210 of FIG. [Table 1]
[0009] Other split-gate memory cell configurations are also known for other types of flash memory cells. For example, FIG. 3 shows a four-gate memory cell 310 including a source region 14, a drain region 16, a floating gate 20 above a first portion of a channel region 18, a select gate 22 (typically coupled to a word line, WL) above a second portion of the channel region 18, a control gate 28 above the floating gate 20, and an erase gate 30 above the source region 14. This configuration is described in U.S. Pat. No. 7,868,375, which is incorporated herein by reference for all purposes. Here, all gates, except for the floating gate 20, are non-floating gates, i.e., they are electrically connected or connectable to a voltage source. Programming is performed by heated electrons injecting themselves from the channel region 18 into the floating gate 20. Erasing is performed by electrons tunneling from the floating gate 20 to the erase gate 30.
[0010] Table 2 shows typical voltage / current ranges that can be applied to the terminals of memory cell 310 to perform read, erase, and program operations. Table 2: Operation of the Flash Memory Cell 310 of FIG. [Table 2]
[0011] Figure 4 shows another type of flash memory cell, a three-gate memory cell 410. Memory cell 410 is identical to memory cell 310 of Figure 3, except that memory cell 410 does not have a separate control gate. Erase operations (whereby erasure occurs through the use of the erase gate) and read operations are similar to those of Figure 3, except that no control gate bias is applied. Programming operations are also performed without a control gate bias, and as a result, a higher voltage must be applied to the source line during a program operation to compensate for the lack of control gate bias.
[0012] Table 3 shows typical voltage / current ranges that can be applied to the terminals of memory cell 410 to perform read, erase, and program operations. Table 3: Operation of Flash Memory Cell 410 of FIG. [Table 3]
[0013] The methods and means described herein may be applied to other non-volatile memory technologies such as, but not limited to, FINFET split-gate flash or stack-gate flash memory, NAND flash, SONOS (silicon-oxide-nitride-oxide-silicon, charge traps in nitride), MONOS (metal-oxide-nitride-oxide-silicon, metal charge traps in nitride), ReRAM (resistive random access memory), PCM (phase change memory), MRAM (magnetoresistive memory), FeRAM (ferroelectric memory), CT (charge trap) memory, CN (carbon nanotube) memory, OTP (bi-level or multi-level one-time programmable) and CeRAM (strongly correlated electron memory).
[0014] 5, a prior art non-volatile memory system 100 may create and maintain a protected area 501 within array 101. Protected area 501 may then be used to store configuration data, trim data, fuses, and other types of data essential to the operation of non-volatile memory system 100, referred to herein as "system data" or "system bits." No user data is stored in protected area 501, and, optionally, protected area 501 is not accessible for read, erase, and program operations initiated from sources external to non-volatile memory system 100.
[0015] Because the data stored in the protected area 501 is critical to the correct functioning of the non-volatile memory system 100, the data stored in the protected area 501 requires additional protection from low probability data loss events such as charge loss, charge migration, read disturb, radiation induced soft errors, and other mechanisms that cause changes in the read current / voltage of a small percentage of the cells.
[0016] One prior art approach is to store each system bit in protected region 501 in a redundant manner in two non-volatile memory cells. In one approach, the read currents from the two cells can be summed and compared to a reference value to determine the stored value.
[0017] However, even with redundancy, in some non-volatile memory cell designs, charge loss, charge redistribution, disturbance, or other physical changes in a non-volatile memory cell will cause the cell to flip primarily from a "1" state to a "0" state, or from a "0" state to a "1" state, depending on the architecture of the non-volatile memory cell.
[0018] This can corrupt system bits: for example, if one of the two non-volatile memory cells flips from a "0" state to a "1" state, the total read current will exceed the reference current and the sensed data will flip from "0" to "1".
[0019] What is needed is an embodiment for storing critical system data in a non-volatile memory array that is less likely to be corrupted from, including but not limited to, charge loss, charge redistribution, disturbance effects, or other physical changes in non-volatile memory cells that cause changes in read current or voltage. Summary of the Invention
[0020] Numerous embodiments of improved architectures for storing and retrieving system data in non-volatile memory systems are disclosed that, using these embodiments, make system data much less likely to become corrupted due to charge loss, charge redistribution, disturbance effects, and other phenomena that caused data corruption in prior art non-volatile memory systems.
[0021] In one embodiment, a non-volatile memory system includes an array of non-volatile memory cells arranged in a plurality of rows and a plurality of columns; a sense amplifier configured to receive a current from a first non-volatile memory cell in a first column of the array during a read operation to indicate a first value stored in the first non-volatile memory cell and to receive a current from a second non-volatile memory cell in a second column of the array to indicate a second value stored in the second non-volatile memory cell; and a logic circuit for receiving the first value and the second value from the sense amplifier and generating a data bit output based on the first value and the second value.
[0022] In another embodiment, a non-volatile memory system includes an array of non-volatile memory cells arranged in a plurality of rows and a plurality of columns, and a sense amplifier configured to receive a combined current from a first non-volatile memory cell and a second non-volatile memory cell in a selected column of the array during a read operation and generate a data bit output indicative of a value based on the combined current.
[0023] In another embodiment, a non-volatile memory system includes an array of non-volatile memory cells arranged in a plurality of rows and a plurality of columns, each row including a word of the non-volatile memory cells and error correction code data calculated from the word, the non-volatile memory system further includes a sense amplifier configured to receive current from the array and output the word and the error correction code data for the word during a read operation, and an error correction code engine for correcting one or more errors in the word using the error correction code data for the word.
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033] [Brief description of the drawings]
[0034] [Figure 1] 1 illustrates a prior art non-volatile memory system. [Diagram 2] 1 shows a prior art split-gate flash memory cell. [Diagram 3] 1 illustrates another prior art split-gate flash memory cell. [Figure 4] 1 illustrates another prior art split-gate flash memory cell. [Diagram 5] 1 illustrates a prior art non-volatile memory system having a protected domain. [Figure 6] 1 illustrates another embodiment of a system data architecture. [Figure 7] 1 illustrates another embodiment of a system data architecture. [Figure 8] 1 illustrates another embodiment of a system data architecture. [Figure 9] 1 illustrates another embodiment of a system data architecture. [Figure 10] 1 illustrates another embodiment of a system data architecture. [Figure 11] 1 illustrates another embodiment of a system data architecture. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] 6-8 show embodiments that are particularly suited to non-volatile memory (NVM) cell designs in which a charge loss, charge redistribution, disturbance, or other physical or electrical change in an NVM cell may pull the cell to the "1" state and flip a stored "0" to a "1," but have no effect on the stored "1."
[0036] 6 illustrates a system data architecture 600. Each bit of system data is written to two redundant NVM cells, such as cells 601 and 602, located in the same row accessible by the same word line, such as word line 601, and in different columns accessible by different bit lines, such as bit lines 604 and 605.
[0037] During a read operation, the currents from NVM cells 601 and 602 are simultaneously but independently sensed by sense amplifier 104 against a reference current to determine their respective logic states. The data read from the two cells as output by sense amplifier 104 (indicating a first value stored in one of the two NVM cells 601, 602 and a second value stored in the other of the two NVM cells 601, 602) is routed through AND device 603 (a logic device performing an AND function, which may be implemented using hardware logic or by firmware running on a controller or processor) to generate the final system data (indicated by "output").
[0038] If NVM cells 601 and 602 initially store a "0" and neither cell is flipped, the output will be a "0." If NVM cells 601 and 602 initially store a "0" and one of the two NVM cells 601, 602 flips from a "0" to a "1," the output will still be a "0" since the output of AND device 603 will be a "0." The probability of both NVM cells flipping from a "0" to a "1" is extremely low.
[0039] If NVM cells 601 and 602 initially stored a 1, then both NVM cells 601 and 602 are expected to still store a "1" because the underlying NVM cell architecture is assumed to be of a type where leakage or disturbances cause a "0" to flip to a "1," but not a "1" to flip to a "0." Bit line 606 and word line 603 are shown for completeness.
[0040] 7 illustrates a system data architecture 700. Each bit of system data is written into two redundant NVM cells. Each of the redundant NVM cells can be located in any row and any column. That is, there are no limitations on where a redundant NVM cell can be placed, and the redundant NVM cells do not have to be located in the same row or column or adjacent rows or columns. In this embodiment, a pair of redundant bits is NVM cell 701 accessible by word line 601 and bit line 604, and NVM cell 702 accessible by word line 603 and bit line 604. 7 06 and stored in NVM cell 702 accessible by . word Line 602 and bit Line 605 is shown for completeness.
[0041] During a read operation, the currents from NVM cells 701 and 702 are independently sensed by sense amplifier 104 against a reference current to determine their respective logic states. The read data from the two NVM cells output by sense amplifier 104 (indicative of a first value stored in one of the two NVM cells 701, 702 and a second value stored in the other of the two NVM cells 701, 702) is processed by AND device 603 (a logic device performing an AND function, which may be implemented using hardware logic or by firmware running on a controller or processor) to generate the final system data (indicated by "output").
[0042] If NVM cells 701 and 702 initially store a "0" and neither cell is flipped, the output will be a "0." If NVM cells 701 and 702 initially store a "0" and one of the two NVM cells 701, 702 is flipped from a "0" to a "1," the final data will still be a "0" since the output of the AND operation is a "0." The probability of both NVM cells 701 and 702 flipping from a "0" to a "1" is extremely low.
[0043] If NVM cells 701 and 702 initially stored a "1," then both are expected to still store a "1" because the underlying NVM cell architecture is assumed to be of a type in which leakage, disturbance, or other changes will cause a "0" to flip to a "1," but not a "1" to flip to a "0."
[0044] 8 illustrates a system data architecture 800. Each bit of system data is written to two redundant NVM cells, such as NVM cells 801 and 802, located in the same column accessible by the same bit line, such as bit line 604, but located in different rows accessible by different word lines, such as word lines 601 and 603. Bit lines 605, 606 and word line 602 are shown for completeness.
[0045] During a read operation, both word lines 601 and 603 are selected. The read currents from NVM cells 801 and 802 are combined at a common bit line 604. The summed current is sensed by sense amplifier 104 against a reference current to determine its logic state. The reference current is set to a level within a range that is higher than the sum of a typical 0-state read current of an NVM cell and the upper limit of a neutral floating gate (FG) read current (for NVM cells using charge storage in polysilicon FG, the upper limit refers to the upper limit of the range of neutral FG read currents of NVM cells in the array), or higher than the sum of a typical 0-state read current and the saturation point of the 0-state read current transfer (for NVM cells using other storage mechanisms). The reference level is also lower than twice the lower limit of the read current of a 1-state cell that is read immediately after being set to the 1-state.
[0046] During production test screening of a device according to system data architecture 800, a read using a reference current within the ranges described above is performed on protected area 501 to ensure that the two NVM cells 801 and 802 can be erased sufficiently to ensure that the combined read current exceeds the reference level under worst case erase and read conditions, where "worst case" is the weakest erase and read condition over a particular process / temperature / voltage range, which may vary from technology to technology. These conditions are typically captured during testing.
[0047] If the data stored in the selected NVM cells 801 and 802 is "0" and neither NVM cell flips, the final data output by the sense amplifier 104 (denoted by "output") is still "0". If the data stored in the selected NVM cells 801 and 802 is "0" and one of the two NVM cells 801, 802 flips from "0" to "1", the combined read current of the two NVM cells will saturate before exceeding the reference current and the final data will still be "0" by the sense amplifier 104. The probability that both NVM cells 801, 802 flip from "0" to "1" is extremely low.
[0048] If NVM cells 801 and 802 initially stored a "1," then both NVM cells 801, 802 are expected to still store a "1" because the underlying NVM cell architecture is presumed to be of a type in which leakage, disturbance, or other changes will cause a "0" to flip to a "1," but not a "1" to flip to a "0."
[0049] 9-10 show an embodiment that is particularly suited to NVM cell designs where charge loss, charge redistribution, or disturbances can pull the cell toward a "0" state and flip a stored "1" to a "0," but do not affect the stored "0."
[0050] 9 illustrates a system data architecture 900. Each bit of system data is written to two redundant NVM cells, such as cells 901 and 902, located in the same row accessible by the same word line, such as word line 601, but in different columns accessible by different bit lines, such as bit lines 604 and 605. Bit line 606 and word lines 602, 603 are shown for completeness.
[0051] During a read operation, the currents from NVM cells 901 and 902 are simultaneously but independently sensed against a reference current by sense amplifier 104 to determine a first value stored in NVM cell 901 and a second value stored in NVM cell 902. The read data from the two NVM cells output by sense amplifier 104 is processed by OR device 903 (a logic device that performs an OR function, which may be implemented using hardware logic or by firmware running on a controller or processor) to generate the final system data (denoted by "output").
[0052] If NVM cells 901 and 902 initially store a "1" and neither cell is flipped, the output will be a "1." If NVM cells 901 and 902 initially store a "1" and one of the two NVM cells flips from a "1" to a "0," the final data will still be a "1" because the output of OR device 903 will be a "0." The probability of both NVM cells 901, 902 flipping from a "1" to a "0" is extremely low.
[0053] If NVM cells 901 and 902 initially stored a "0," it is expected that both NVM cells 901, 902 would still store a "0" because this scheme is only used in NVM cell architectures where leakage, disturbances, or other changes can cause a "1" to flip to a "0," but not a "0."
[0054] 10 illustrates a system data architecture 1000. Each bit of system data is written to two redundant NVM cells. Each of the redundant NVM cells can be located in any row and column. That is, there are no restrictions on where the NVM cells can be placed, and the NVM cells do not have to be located in the same row or column or adjacent rows or columns.
[0055] In this embodiment, a pair of redundant bits are stored in NVM cell 1001, accessible by word line 601 and bit line 604, and in NVM cell 1002, accessible by word line 603 and bit line 606. Bit line 605 and word line 602 are shown for completeness.
[0056] During a read operation, the currents from NVM cells 1001 and 1002 are independently sensed against a reference current by sense amplifier 104 to determine a first value stored in NVM cell 1001 and a second value stored in NVM cell 1002. The read data from the two NVM cells output by sense amplifier 104 is processed by OR device 903 (a logic device that performs an OR function, which may be implemented using hardware logic or by firmware running on a controller or processor) to generate the final system data (denoted by "output").
[0057] If NVM cells 1001 and 1002 initially store a "1" and neither NVM cell is flipped, the output will be a "1." If NVM cells 1001 and 1002 initially store a "1" and one of the two NVM cells flips from a "1" to a "0," the final data will still be a "1" because the output of OR device 903 will be a "0." The probability of both NVM cells 1001, 1002 flipping from a "1" to a "0" is extremely low.
[0058] If NVM cells 1001 and 1002 initially stored a "0," it is expected that both NVM cells 1001, 1002 would still store a "0" because this scheme is only used in NVM cell architectures where leakage, disturbances, or other changes can cause a "1" to flip to a "0," but not a "0."
[0059] FIG. 11 illustrates an embodiment suitable for either (1) an NVM cell design in which a charge loss, charge redistribution, disturbance, or other physical change to the cell may cause the cell to be drawn toward a “0” state, flipping a stored “1” to a “0”, but not affecting a stored “0”; (2) an NVM cell design in which such a change may cause the cell to be drawn toward a “1” state, flipping a stored “0” to a “1”, but not affecting a stored “1”; or (3) an NVM cell design in which such a change causes the NVM cell to be drawn toward either state, may flip some stored “0”s to “1”, but may flip some stored “1”s to “0”.
[0060] 11 shows a system data architecture 1100, where each word of system data, such as word 1101, is stored in a row with associated error correction code data, such as error correction code (ECC) data 1102. Each system bit is stored in a word and is stored without redundancy. Multiple words can be stored in a row without exceeding range, with each word having associated error correction code data.
[0061] Here, ECC data 1102 is generated for word 1101 using ECC such as a Hamming code or a code generated by a majority voting algorithm (data is stored in N redundant physical cells and the value of the stored data is considered to be the value indicated by the majority of the N cells) to perform error detection and correction such as double-bit error detection and single-bit error correction schemes. Instead of ECC data 1102, a parity bit scheme can also be used to indicate error detection without correction. When a bit 1101 is read, the entire word 1101 and ECC data 1102 are read by the sense amplifier 104 and sent to the ECC engine 1103. That is, the sense amplifier 104 receives current from the array and outputs the word and the error correction code data of that word to the ECC engine 1103. If any single bit in word 1101 flips in either direction, the error is successfully detected and / or corrected by the ECC engine 1103. The probability of two or more bits flipping is extremely low.
[0062] In one embodiment, system data architecture 1100 is additionally implemented with redundancy, such as using multiple cells for each system bit, to further increase reliability, such as functional safety for automotive applications. For example, each system bit may be stored in two cells in two rows or columns, as described in the previous embodiment.
[0063] In one embodiment, the ECC engine 1103 is implemented using an external controller or firmware.
[0064] It should be noted that, as used herein, both the terms "over" and "on" are inclusive of "directly" (with no intermediate material, element, or gap disposed between them) and "indirectly" (with an intermediate material, element, or gap disposed between them). Similarly, the term "adjacent" includes "directly adjacent" (with no intermediate material, element, or gap disposed between them) and "indirectly adjacent" (with an intermediate material, element, or gap disposed between them), "attached" includes "directly attached" (with no intermediate material, element, or gap disposed between them) and "indirectly attached" (with an intermediate material, element, or gap disposed between them), and "electrically coupled" includes "directly electrically coupled" (without an intermediate material or element disposed between them that electrically connects the elements together) and "indirectly electrically coupled" (with an intermediate material or element disposed between them that electrically connects the elements together). For example, forming an element "above the substrate" can include forming the element directly on the substrate, with no intermediate materials / elements between them, and forming the element indirectly on the substrate, with one or more intermediate materials / elements between them.
Claims
[Claim 1] 1. A non-volatile memory system, comprising: an array of non-volatile memory cells arranged in a plurality of rows and a plurality of columns; a sense amplifier configured to simultaneously receive current from a bit line coupled to a first non-volatile memory cell in a first row and a second non-volatile memory cell in a second row during a read operation, and compare the combined current to a reference value to determine values redundantly stored in the first non-volatile memory cell and the second non-volatile memory cell, wherein the reference value is less than twice a lower limit of the read current of a non-volatile memory cell storing a "1".
Citation Information
Patent Citations
Non-volatile storage circuit and microcomputer
JP2001043691A
Semiconductor memory and data processing device
JP2003141881A
Nonvolatile semiconductor memory
JP2005085316A
Semiconductor flash memory
JP2005116145A
Memory device and data processing method of the memory device
JP2011090735A