Monday, 23 September 2019

Why does flash memory have a lifespan?


I've read that flash memories can "only" be reprogrammed 100000 to 1000000 times, until the memory storage "deteriorates"


Why exactly does this happen with flash and not other memory types, and what does "deteriorate" refer to, internally?


EDIT: Since it's not only flash that this happens, I'd like to generalize a bit and inquire about the memories that have this problem. Also, does the wearing out between these memory types occur due to the same phenomenon?



Answer



I can't speak about FRAM (ferroelectric memory), but any technology that uses floating gates to store charge — any form of EPROM, including EEPROM and Flash — relies on electrons "tunneling" through a very thin insulating silicon oxide barrier to change the amount of charge on the gate.


The problem is that the oxide barrier is not perfect — since it is "grown" on top of the silicon die, it contains a certain number of defects in the form of crystal grain boundaries. These boundaries tend to "trap" the tunneling electrons more or less permanently, and the field from these trapped electrons interferes with the tunneling current. Eventually, enough charge is trapped to make the cell unwritable.


The trapping mechanism is very slow, but it is enough to give the devices a finite number of write cycles. Obviously, the number quoted by the manufacturer is a statistical average (padded with a safety margin) measured over many devices.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...