DataFlash
DataFlash is a low pin-count serial interface for flash memory. It was developed as an Atmel proprietary interface, compatible with the SPI standard. In October 2012, the AT45 series DataFlash product lines, related intellectual property, and supporting employee teams were purchased by Adesto Technologies. Information is written and read from a DataFlash device using any microcontroller, such as the Atmel AVR, the Microchip PIC or the ARM. The boot ROM of numerous Atmel ARM microcontrollers support downloading code from DataFlash chips after reset. Examples 
The AT45DB161D Integrated circuit (chip) is an example of a 2 MB (16 Mbit) dataflash product. This comes in a 8x5 mm small outline integrated circuit 8-pin package. This chip is used in a huge number of consumer electronic products. Any microcontroller can use this chip to store data. The AT45DCB008D card is an 8 MB (64 Mbit) flash memory card, which could be mistaken for an MMC or SD card. This DataFlash card packages an AT45DB642D flash chip, which is also available in 8x6 mm CASON 8-pin packages. The AT26 series DataFlash chips are software-incompatible with the original AT45 series chips. They use a simpler command set, supported by other vendors of serial flash but omitting SRAM buffers and other features that make AT45 chips simpler to support. Comparisons 
Both DataFlash and EEPROM chips can be accessed from a microcontroller, using a 4-wire Serial Peripheral Interface Bus (SPI bus). Both are available in small 8 pin packages. The protocol interfaces are very similar; in both cases, bytes are written or read, via SPI, one or more bytes at a time. DataFlash usually had higher capacities than EEPROM in the early days, and it still provides faster access times. DataFlash capacities in small packages range from 128 kB to 8 MB, while SPI EEPROM capacities in similar packages range from 1 kB to 8 MB . Flash chips are tuned for page access, rather than the byte access used with EEPROM. However, AT45 series chips have commands that let their drivers act more like EEPROM drivers. Leveraging the SRAM buffers exposed by AT45 chips to do more than support EEPROM-like access requires specialized software. DataFlash cards are more expensive than the consumer oriented MMC or SD cards, and have lower capacities, but have an extremely simple programming interface compared to MMC/SD. All these cards can be used in SPI mode. In summary, DataFlash enables use of more data storage and faster access times than EEPROM. DataFlash chips can leverage the AT45 SRAM buffers. EEPROMs, AT26 series chips, or MMC/SD cards permit use of second sources for parts. For cards used in field upgrades, DataFlash cards permit simple software support and compatibility with on-board flash chips; MMC/SD costs less. The programming code required to interface EEPROM to the DataFlash chip is simpler. Programming 
Examples of source code in the C programming language are available for operating systems such as  BeRTOS, and eCos. References

Non-volatile memory