Memory has been an issue since the earliest days of the computer. All types of devices that rely on computing have one form of memory or another in order to store data for a long time or just until the device powers off.
In the past, electronic devices needed to have some sort of non-volatile method of storage to hold all the data it needs to do its functions. The development led to the creation of EPROM and its successor the EEPROM (Electrically Erasable Programmable Memory). The predominant feature of EEPROM is that the programmer can change the data embedded on the memory one byte at a time, giving him more control on how he enters the data. But this method takes a very long time especially when erasing the data in it. The EEPROM was used largely in electronics that are programmed only a few times before shipping but can then be updated via patches. An example of this would be the chip that holds the BIOS (Basic Input Output System) of our computer. It can be reprogrammed with updates from the manufacturer in order to add further functionalities or to fix a bug that wasn’t discovered at the time of shipping.
Flash memory is an offshoot of the EEPROM, which ties the sections of memory into blocks. Although writing data into the flash memory is still done at the byte level, erasing the content would mean erasing the block as a whole. This feature gave flash memory the advantage of speed over EEPROM. Flash memory became very popular because it takes so much less power compared to a hard disk and is much more durable; capable of surviving excessive heat, pressure, and even being submerged in water. Flash memory became the instant successor of the aging Floppy disks not only for its durability but also for its great capacity and relatively small size. The only drawback of flash memory is that like EEPROM, it can only last a certain amount of data cycles before failing.
EEPROM and Flash are two memory types that are still very widely used today. Though it might not seem likely, flash is only a specialized version of EEPROM that allows the user to erase large blocks of data to improve the overall speed of the device. Despite the difference, it is clear that both forms of memory would still be existent for the foreseeable future.