DSLR camera The CompactFlash interface is a 50-pin subset of the 68-pin
PCMCIA connector. "It can be easily slipped into a passive 68-pin PCMCIA Type II to CF Type I adapter that fully meets PCMCIA electrical and mechanical interface specifications", according to compactflash.org. The interface operates, depending on the state of a mode pin on power-up, as either a 16-bit
PC Card (0x7FF address limit) or as an
IDE (PATA) interface. Unlike the PC Card interface, no dedicated programming voltages (Vpp1 and Vpp2) are provided on the CompactFlash interface. CompactFlash IDE mode defines an interface that is smaller than, but electrically identical to, the
ATA interface. The CF device contains an ATA controller and appears to the host device as if it were a
hard disk. CF devices operate at 3.3
volts or 5 volts, and can be swapped from system to system. CompactFlash supports
C-H-S and 28-bit
logical block addressing (CF 5.0 introduced support for LBA-48). CF cards with flash memory are able to cope with extremely rapid changes in temperature. Industrial versions of flash memory cards can operate at a range of −45 °C to +85 °C.
NOR-based flash has lower density than newer
NAND-based systems, and CompactFlash is therefore the physically largest of the three memory card formats introduced in the early 1990s, being derived from the JEIDA/PCMCIA Memory Card formats. The other two are
Miniature Card (MiniCard) and
SmartMedia (SSFDC). However, CF did switch to NAND type memory later. The
IBM Microdrive format, later made by
Hitachi, implements the CF Type II interface, but is a
hard disk drive (HDD) as opposed to solid-state memory.
Seagate also made CF HDDs.
Speed CompactFlash
IDE (ATA) emulation speed is usually specified in "x" ratings, e.g. 8x, 20x, 133x. This is the same system used for
CD-ROMs and indicates the maximum transfer rate in the form of a multiplier based on the original audio CD data transfer rate, which is 150 kB/s. : R = {K \cdot 150}\ \text{kB/s} where
R = transfer rate,
K = speed rating. For example, 133x rating means transfer rate of: 133 × 150 kB/s = 19,950 kB/s ≈ 20 MB/s. These are manufacturer speed ratings. Actual transfer rate may be higher, or lower, than shown on the card depending on several factors. The speed rating quoted is almost always the read speed, while write speed is often slower.
Solid state For reads, the onboard controller first powers up the memory chips from standby. Reads are usually in parallel, error correction is done on the data, then transferred through the interface 16 bits at a time. Error checking is required due to soft read errors. Writes require powerup from standby, wear leveling calculation, a block erase of the area to be written to, ECC calculation, write itself (an individual memory cell read takes around 100 ns, a write to the chip takes 1ms+ or 10,000 times longer). Because the USB 2.0 interface is limited to 35 MB/s and lacks bus mastering hardware, USB 2.0 implementation results in slower access. Modern UDMA-7 CompactFlash Cards provide data rates up to 145 MB/s and require USB 3.0 data transfer rates. A direct motherboard connection is often limited to 33 MB/s because IDE to CF adapters lack high speed ATA (66 MB/s plus) cable support. Power on from sleep/off takes longer than power up from standby.
Magnetic media Many hard drives (often referred to by the trademarked name "
Microdrive") typically spin at 3600 RPM, so rotational latency is a consideration, as is spin-up from standby or idle. Seagate's 8 GB ST68022CF drive spins up fully within a few revolutions but current drawn can reach up to 350 milliamps and runs at 40-50 mA mean current. Its average seek time is 8
ms and can sustain 9 MB/s read and write, and has an interface speed of 33 MB/s. Hitachi's 4 GB Microdrive is 12 ms seek, sustained 6 MB/s.
Capacities and compatibility The CF 5.0 Specification supports capacities up to 128 PiB using 48-bit
logical block addressing (LBA). Prior to 2006, CF drives using magnetic media offered the highest capacities (up to 8
GiB). Now there are solid-state cards with higher capacities (up to 512 GB). As of 2011,
solid-state drives (SSDs) have supplanted both kinds of CF drive for large capacity requirements.
Solid state capacities SanDisk announced its 16 GB
Extreme III card at the
photokina trade fair, in September, 2006. That same month,
Samsung announced 16, 32 and 64 GB CF cards. Two years later, in September, 2008,
PRETEC announced 100 GB cards.
Magnetic media capacities Seagate announced a 5 GB "1-inch hard drive" in June, 2004, and an 8 GB version in June, 2005.
Use in place of a hard disk drive adapter with a card inserted In early 2008, the CFA demonstrated CompactFlash cards with a built in
SATA interface. Several companies make adapters that allow CF cards to be connected to
PCI,
PCMCIA,
IDE and
SATA connections, allowing a CF card to act as a
solid-state drive with virtually any operating system or BIOS, and even in a
RAID configuration. CF cards may perform the function of the master or slave drive on the IDE bus, but have issues sharing the bus. Moreover, late-model cards that provide
DMA (using UDMA or MWDMA) may present problems when used through a passive adapter that does not support DMA.
Reliability Original PC Card memory cards used an internal battery to maintain data when power was removed. The rated life of the battery was the only reliability issue. CompactFlash cards that use flash memory, like other flash-memory devices, are rated for a limited number of erase/write cycles for any "block." While NOR flash has higher endurance, ranging from 10,000 to 1,000,000, they have not been adapted for memory card usage. Most mass storage usage flash are NAND based. NAND flash were being scaled down to 16 nm. They are usually rated for 500 to 3,000 write/erase cycles per block before hard failure. This is less reliable than magnetic media.
Car PC Hacks suggests disabling the Windows swap file and using its
Enhanced Write Filter (EWF) to eliminate unnecessary writes to flash memory. Additionally, when formatting a flash-memory drive, the Quick Format method should be used, to write as little as possible to the device. Most CompactFlash flash-memory devices limit wear on blocks by varying the physical location to which a block is written. This process is called
wear leveling. When using CompactFlash in ATA mode to take the place of the
hard disk drive, wear leveling becomes critical because low-numbered blocks contain tables whose contents change frequently. Current CompactFlash cards spread the wear-leveling across the entire drive. The more advanced CompactFlash cards will move data that rarely changes to ensure all blocks wear evenly. NAND flash memory is prone to frequent soft read errors. However, the manufacturer's warning on the flash memory used for
ReadyBoost indicates a current draw in excess of 500 mA.
File systems CompactFlash cards for use in consumer devices are typically formatted as
FAT12 (for media up to 16 MB),
FAT16 (for media up to 2 GB, sometimes up to 4 GB) and
FAT32 (for media larger than 2 GB). This lets the devices be read by personal computers but also suits the limited processing ability of some consumer devices such as
cameras. There are varying levels of compatibility among FAT32-compatible cameras, MP3 players, PDAs, and other devices. While any device that claims FAT32-capability should read and write to a FAT32-formatted card without problems, some devices are tripped up by cards larger than 2 GB that are completely unformatted, while others may take longer to apply a FAT32 format. The way many digital cameras update the file system as they write to the card creates a FAT32 bottleneck. Writing to a FAT32-formatted card generally takes a little longer than writing to a FAT16-formatted card with similar performance capabilities. For instance, the
Canon EOS 10D writes the same photo to a FAT16-formatted 2 GB CompactFlash card somewhat faster than to a same speed 4 GB FAT32-formatted CompactFlash card, although the memory chips in both cards have the same write speed specification. Although FAT16 is more wasteful of disk space with its larger clusters, it works better with the write strategy that flash memory chips require. The cards themselves can be formatted with any type of file system such as
Ext,
JFS,
NTFS, or by one of the dedicated
flash file systems. It can be divided into partitions as long as the host device can read them. CompactFlash cards are often used instead of hard drives in embedded systems,
dumb terminals and various small form-factor PCs that are built for low noise output or power consumption. CompactFlash cards are often more readily available and smaller than purpose-built
solid-state drives and often have faster
seek times than hard drives.
CF+ and CompactFlash specification revisions When CompactFlash was first being standardized, even full-sized hard disks were rarely larger than 4 GB in size, and so the limitations of the ATA standard were considered acceptable. However, CF cards manufactured after the original Revision 1.0 specification are available in capacities up to 512 GB. While the current revision 6.0 works in [P]ATA mode,
future revisions are expected to implement
SATA mode. • CompactFlash Revision 1.0 (1995), 8.3 MB/s (PIO mode 2), support for up to 128 GB storage space. • CompactFlash+ aka CompactFlash I/O (1997) • CF+ and CompactFlash Revision 2.0 (2003) added an increase in speed to 16.6 MB/s data-transfer (PIO mode 4). At the end of 2003,
DMA 33 transfers were added as well, available since mid-2004. • CF+ and CompactFlash Revision 3.0 (2004) added support for up to a 66 MB/s data transfer rate (
UDMA 66), 25 MB/s in PC Card mode, added password protection, along with a number of other features. CFA recommends usage of the FAT32 filesystem for storage cards larger than 2 GB. • CF+ and CompactFlash Revision 4.0 (2006) added support for IDE Ultra DMA Mode 6 for a maximum data transfer rate of 133 MB/s (UDMA 133). • CF+ and CompactFlash Revision 4.1 (2007) added support for Power Enhanced CF Storage Cards. • CompactFlash Revision 5.0 (2010) added a number of features, including 48-bit addressing (supporting 128 petabyte of storage), larger block transfers of up to 32 megabytes, quality-of-service and video performance guarantees, and other enhancements • CompactFlash Revision 6.0 (November 2010) added UltraDMA Mode 7 (167 MB/s), ATA-8/ACS-2 sanitize command,
TRIM and an optional card capability to report the
operating temperature range of the card.
Video Performance Guarantee The Video Performance Guarantee (VPG) is a standard of the CompactFlash Association, which guarantees a minimum write speed for recording high-quality videos.
CE-ATA CE-ATA is a serial MMC-compatible interface based on the
MultiMediaCard standard.
CFast A variant of CompactFlash known as
CFast is based on the
Serial ATA (SATA) interface, rather than the
Parallel ATA/IDE (PATA) bus for which all previous versions of CompactFlash are designed. CFast is also known as CompactFast. CFast 1.0/1.1 supports a higher maximum transfer rate than current CompactFlash cards, using
SATA 2.0 (300 MB/s) interface, while PATA is limited to 167 MB/s using
UDMA 7. CFast cards are not physically or electrically compatible with CompactFlash cards. However, since SATA can emulate the PATA command protocol, existing CompactFlash software drivers can be used, although writing new drivers to use
AHCI instead of PATA emulation will almost always result in significant performance gains. CFast cards use a female
7-pin SATA data connector, and a female 17-pin power connector, so an adaptor is required to connect CFast cards in place of standard SATA hard drives which use male connectors. The first CFast cards reached the market in late 2009. At
CES 2009, Pretec showed a 32 GB CFast card and announced that they should reach the market within a few months. Delock began distributing CFast cards in 2010, offering several card readers with
USB 3.0 and
eSATAp (power over eSATA) ports to support CFast cards. Seeking higher performance and still keeping a compact storage format, some of the earliest adoptors of CFast cards were in the gaming industry (used in slot machines), as a natural evolution from the by then well-established CF cards. Current gaming industry supporters of the format include both specialist gaming companies (e.g.
Aristocrat Leisure) and OEMs such as Innocore (now part of
Advantech Co., Ltd.). The CFast 2.0 specification was released in the second quarter of 2012, updating the electrical interface to
SATA 3.0 (600 MB/s). As of 2014, the only product employing CFast 2.0 cards was the
Arri Amira digital production camera, allowing frame rates of up to 200 fps; a CFast 2.0 adapter for the
Arri Alexa/XT camera was also released. On 7 April 2014,
Blackmagic Design announced the URSA cinema camera, which records to CFast media. On 8 April 2015,
Canon Inc. announced the
XC10 video camera, which also makes use of CFast cards. Blackmagic Design also announced that its URSA Mini will use CFast 2.0. As of October 2016, there are a growing number of cameras, video recorders, and audio recorders that use the faster data rates offered by CFast media. As of 2017, in the wider embedded electronics industry, transition from CF to CFast is still relatively slow, probably due to hardware cost considerations and some inertia (familiarity with CF) and because a significant part of the industry is satisfied with the lower performance provided by CF cards, thus having no reason to change. A strong incentive to change to CFast for embedded electronics companies using designs based on Intel PC architecture is the fact that Intel has removed native support for the (P)ATA interface a few design platforms ago and the older CPU/PCH generations now have end-of-life status.
CFexpress In September 2016, the CompactFlash Association announced a new standard based on PCIe 3.0 and NVMe,
CFexpress. In April 2017, the version 1.0 of the CFexpress specification was published, with support for two PCIe 3.0 lanes in an XQD form-factor for up to 2 GB/s.
Type I and Type II The only physical difference between the two types is that Type I devices are 3.3 mm thick while Type II devices are 5 mm thick. Electrically, the two interfaces are the same except that Type I devices are permitted to draw up to 70 mA supply current from the interface, while type II devices may draw up to 500 mA. Most Type II devices are Microdrive devices (see
below), other miniature hard drives, and adapters, such as a popular adapter that takes Secure Digital cards. A few flash-based Type II devices were manufactured, but Type I cards are now available in capacities that exceed CF HDDs. Manufacturers of CompactFlash cards such as Sandisk, Toshiba, Alcotek and Hynix offer devices with Type I slots only. Some of the latest
DSLR cameras, like the
Nikon D800, have also dropped Type II support.
Microdrives Microdrive was a brand of tiny
hard disks—about 25 mm (1 inch) wide—in a CompactFlash Type II package. The first was developed and released in 1999 by
IBM, with a capacity of 170 MB. IBM sold its disk drive division, including the Microdrive trademark, to
Hitachi in 2002. Comparable hard disks were also made by other vendors, such as Seagate and Sony. They were available in capacities of up to 8 GB but have been superseded by flash memory in cost, capacity, and reliability, and are no longer manufactured. As mechanical devices, CF HDDs drew more current than flash memory's 100 mA maximum. Early versions drew up to 500 mA, but more recent ones drew under 200 mA for reads and under 300 mA for writes. CF HDDs were also susceptible to damage from physical shock or temperature changes. However, CF HDDs had a longer lifespan of write cycles than early flash memories. The
iPod mini,
Nokia N91,
iriver H10 (5 or 6 GB model),
LifeDrive,
Sony NW-A1000/3000 and
Rio Carbon used a Microdrive to store data. ==Compared to other portable storage==