Memory is an irreplaceable part of any device. Today, memories can be largely classified into many different categories, but are mainly narrowed down to two of their types i.e. Volatile and Non-volatile, which are then classified into further more types.
Let’s start from the beginning, from the time, methods for memory erasability came into the picture. Earlier the information placed in the chips used photolithographic or mechanical methods which could not be erased. But after some advancements, there came methods to erase the memory electronically. Two of which are EEPROM and Flash memory.
When EEPROM (Electrically Erasable Programmable Read-Only Memory) was introduced, it could only be cleared in a large quantity and could only be used in the circuitry for read operation. Later, some improvements made sure of its erasability capabilities to smaller regions if not individual bytes and also be used in for writing and not only read operations. Though Flash Memory came after EEPROM, it still was used when the need arises to erase large chunks of information and not on an individual byte level. Large quantity erasure was there as it allows for compactly storing information, which was not possible in EEPROM. This being said, though Flash is a type of EEPROM, the only major difference between these two is the read/write/erase logic.
In-depth understanding of EEPROM & Flash Memory
EEPROM is a type of non-volatile memory whose data does not get erased even when there is no power. About 99% of the EEPROMS today have a serial communication protocol such as I2C or SPI. EEPROM uses NOR gate, which is comparatively faster than of NAND gate used by the Flash memory. It is observed in a lot of data sheets that we can have up to 1 million read/writes per cell before damaging the memory. Also, it usually takes around 5ms to make the newly overwritten data non-volatile.
Initially, EEPROM was designed to read more than it is written. EEPROM is not suitable for storing media where data is very frequently written and read. Whereas, Flash memory is used in that case of storing media that to up to large GB of data. As said earlier, EEPROM was designed to be read more, it is typically reserved for permanent code storage in ICs.
A lot of EEPROM devices would take 1-10ms for a byte to be written and 5-50 ms to be erased. Whereas, flash devices would require less than 100us to write, but around hundreds of milliseconds to be erased.
As mentioned above, the major difference between EEPROM and Flash memory is their read/write/erase operations. Let us have a look at their individual architectures and understand the operations.
Architecture of EEPROM
In EEPROM, bytes are arranged into pages and the read, write and erase commands can be performed at the byte level. The image below shows how a byte is placed on different pages altogether. This comes as ease for a write operation, as old data can be written simply by overwriting with new data to the required address, which is not the case for Flash memory.
Whereas, if we see the architecture of flash memory below, we will observe that they are stacked in a block manner, Read more about it!
The architecture of Flash memory
In flash memory, all the memory information is stacked in blocks, and each block then stored in multiple pages. In flash memory, due to its block-like architecture, erase can only be done at the block level, and read or write can be done at block, page, or byte-level based upon the type of gate used.
In the above paragraph, we discussed that the write operation for EEPROM is comparatively easier, whereas, for write operations in Flash memory, it can only be performed in the erased state. This means Flash memory is erased in sections whose sizes and locations in chips are defined by the manufacturer. Due to this, if flash memory is programmed, the entire section containing that location must be erased in order to be programmed again.
Some Additional Pointers and Conclusions
- EEPROM and Flash memory both support the same commands, Erase, Write and Read operations.
- Write cycles are faster in Flash than EEPROM.
- Read cycles are faster in EEPROM than in Flash
- Erase cycles are faster in Flash than EEPROM.