![Seagate ST160LM003 Momentus - Atmel 25DF041A-5420](https://upload.wikimedia.org/wikipedia/commons/c/c5/Seagate_ST160LM003_Momentus_-_Atmel_25DF041A-5420.jpg)
DataFlash is a low pin-count
serial interface
In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. T ...
for
flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
.
It was developed as an
Atmel
Atmel Corporation was a creator and manufacturer of semiconductors before being subsumed by Microchip Technology in 2016. Atmel was founded in 1984. The company focused on embedded systems built around microcontrollers. Its products included micr ...
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
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit Reduced instruction set computer, RISC single-chip microcontrollers. AVR was one of the f ...
, the
Microchip PIC
PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
or the
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
. The boot ROM of numerous Atmel ARM microcontrollers support downloading code from DataFlash chips after reset.
Examples
The AT45DB161D
Integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
(chip) is an example of a 2
MB (16
Mbit
The megabit is a multiple of the unit bit for digital information. The prefix mega (symbol M) is defined in the International System of Units (SI) as a multiplier of 106 (1 million), and therefore
:1 megabit = = = 1000 kilobits.
The megabit h ...
) dataflash product.
This comes in a 8x5 mm
small outline integrated circuit
A small outline integrated circuit (SOIC) is a surface-mounted integrated circuit (IC) package which occupies an area about 30–50% less than an equivalent dual in-line package (DIP), with a typical thickness being 70% less. They are generally ...
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
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
chips can be accessed from a microcontroller, using a 4-wire
Serial Peripheral Interface Bus
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a ...
(SPI bus). Both are available in small 8 pin packages. The protocol interfaces are very similar; in both cases,
byte
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
s 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
''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
are available for operating systems such as
BeRTOS, and
eCos
The Embedded Configurable Operating System (eCos) is a free and open-source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to preci ...
.
References
{{Reflist
Non-volatile memory