I have read that writing in Ferroelectric random access memory is not destructive. But in a WL||PL memory architecture, if I try to write a '0' in a cell and the adjacent cell holds a '1', shouldn't it damage the stored value of that adjacent cell? I mean, both the WL and the PL of the adjacent cell is high also and BL is floating, and due to the parasitic capacitance of the BL, shouldn't it affect the polarization and therefore, the stored value? I mean we perform the read operation based on the charge sharing of parasitic capacitance, right?
Electronic – Is writing in FeRAM memory cell destructive
integrated-circuitmemorynon-volatile-memoryramvlsi
Related Solutions
DRAM, as you said, basically consists of a storage capacitor and a transistor to access the voltage stored on that capacitor. Ideally, the charge stored on that capacitor would never decrease, but there are leakage components that allow the charge to bleed off. If enough charge bleeds off the capacitor, then the data cannot be recovered. In normal operation, this loss of data is avoided by periodically refreshing the charge in the capacitor. This is why it is called Dynamic RAM.
Decreasing the temperature does a few things:
- It increases the threshold voltages of MOSFETs and the forward voltage drop of diodes.
- It decreases the leakage component of MOSFETs and diodes
- It improves the on-state performance of the MOSFETs
Considering that the first two points directly reduce the leakage current seen by the transistors, it should be less of a surprise that the charge stored in a DRAM bit can last long enough for a careful reboot process. Once power is reapplied, the internal DRAM system will maintain the stored values.
These basic premises can be applied to many different circuits, such as microcontrollers or even discrete circuits, as long as there isn't an initialization on start-up. Many microcontrollers, for example, will reset several registers on start-up, whether the previous contents were preserved or not. Large memory arrays are not likely to be initialized, but control registers are much more likely to have a reset on start-up function.
If you increase the temperature of the die hot enough, you can create the opposite effect, of having the charge decay so rapidly that the data is erased before the refresh cycle can maintain the data. However, this should not happen over the specified temperature range. Heating the memory hot enough for the data to decay faster than the refresh cycle could also cause the circuit to slow down to the point where it couldn't maintain the specified memory timings, which would appear as a different error.
This is not related to bit-rot. Bit-rot is either the physical degradation of storage media (CD, magnetic tapes, punch cards) or an event causing the memory to become corrupted, such as an ion impact.
- Flash are non-volatile memory device, so you may want to save some system configurations or calibration data in it. And STM32 gives you opportunity to protected them from read/write, so this may save you from another EEPROM, or other external non-valatile memory devices.
- According to section 3.6.5
This feature allows to perform a read operation from one bank while an erase or program operation is performed to the other bank.
When you are executing/reading code/data from bank1, you can executing erasing/programming operations on bank2. For example, your code is running in bank1, and you execute some codes to start one "earas" operation on bank2, once the "erasing" start, you needn't wait the operation done, you can continue to do other things (but can't execute codes to do erasing/programing on bank2). Then, after some while, you check the BSY bit to see if the erasing done. So your code executing and erasing are doing at the same time, no waiting needed.
According to "Read from bank 1 while erasing bank 2":
While executing a program code from bank 1, it is possible to perform an erase operation on bank 2 (and vice versa). Follow the procedure below:
- Check that no Flash memory operation is ongoing by checking the BSY bit in the FLASH_SR register (BSY is active when erase/program operation is on going to bank 1 or bank 2)...
So, there is no "priority", you can't fire two "erasing/programming" operations at the same time. The first fired always be served first. And you must wait until one erasing/programming operation done, then fire a new one.
Best Answer
Some DRAM can be affected in that way, because storing a charge on a capacitor is a linear operation, and the effects of perturbations accumulate.
But the ferroelectric material used in FRAM is bistable, and requires a certain minimum energy to change state. If any individual perturbation isn't enough to change the state, then the effects of multiple perturbations do not accumulate.