What Is Non-Volatile Memory?
Non-volatile memory (English: non-volatile memory, abbreviated as NVM) refers to computer memory where the stored data will not disappear when the current is turned off. In the non-volatile memory, according to whether the data in the memory can be rewritten at any time when the computer is used, it can be divided into two categories, namely ROM and Flash memory.
- Read-only memory ( R ead- Only Memory , ROM ) is a
- Flash memory (English: flash memory ), is a form of electronic erasable programmable read-only memory, which allows memory to be erased or written multiple times during operation. This technology is mainly used for general data storage and data exchange between computers and other digital products, such as
Erase non-volatile memory blocks
- One limitation of flash memory is that even if it can be read or written in a single byte, erasure must be an entire block. In general, all bits in a certain area are set to "1", and all parts in the initial block can be written. However, when any bit is set to "0", only by using Clear the entire block to restore the state of "1". In other words, flash memory (especially NOR Flash) can provide random read and write operations, but cannot provide arbitrary random rewrite. However, the block above can write a message as long as the existing "0" value (0 bits of the new value is a superset of 0 bits of the old value). For example: the value of a small block has been erased to 1111, and then a message of 1110 is written. The next block can also be written in order of 1010, 0010, and finally 0000. But in fact, few algorithms can benefit from this continuous write compatibility. Generally speaking, it is erased and rewritten. Although the data structure of the flash memory cannot be completely updated in the usual way, this allows it to delete messages in a "marked as unavailable" manner. This technique must be slightly modified in MLC devices that store more than 1 bit of data per unit.
Nonvolatile memory memory loss
- Another limitation of flash memory is that it has a limit on the number of erase cycles (most commercial SLC flash memory guarantees 100,000 times of erasure capability in the "0" area, but other blocks do not guarantee it). This result is partially offset by the number of calculated writes and dynamic remapping performed by some firmware or file systems to distribute write operations between disparate blocks; this technique is called wear leveling. Another method is called Bad Block Management (BBM). This method is to verify and dynamically retest when writing. If there is a block that fails verification, it will be removed. For most mobile devices, these wear management technologies can extend the life of their internal flash memory (even beyond the useful life of these devices). In addition, the loss of some data may be acceptable on these devices. For high-reliability data storage applications that perform a large number of data read and write cycles, flash memory is not recommended. However, this restriction does not apply to read-only applications such as routers and thin clients. These devices often only write once or only a few times during the service life.
Non-volatile memory read interference
- The flash memory read method used over time will cause the contents of similar memory cells in the same block to change (become a write operation). This is the so-called read disturbance. The threshold of the number of reads that can cause read interference is between the erasure of the block, usually 100,000 times. If read continuously from a memory unit, the memory unit will not be damaged, but the damaged is the surrounding memory unit that is read next. To avoid read interference, the flash memory controller usually counts the total number of block read operations since the last erase operation. When the count value exceeds the set target value threshold, the affected block will be copied to a new block, and then the original block will be erased and then released into the block recovery area. The original block will look like the new one after the erase action. If the flash memory controller does not intervene immediately, a read disturb error will occur, and if there are too many errors that cannot be repaired by the ECC mechanism, there may be a possible data loss.
Nonvolatile memory write (program) interference
- Write interference (programming interference) means that when a page is written, due to the approach of the threshold voltage, adjacent bits are also raised, which causes errors in adjacent bits. Flash charge is very unstable, and adjacent floating gates that store charges will interfere with each other, causing bit errors between adjacent floating gates. MLC is more susceptible to interference than SLC due to the existence of 4 groups of close voltages. [3]
- Non-volatile memory mainly has the following types: