CompactFlash (CF) is a flash memory mass storage device used mainly in portable electronic devices. The format was specified and the devices were first manufactured by SanDisk in 1994.[5]

CompactFlash became the most successful of the early memory card formats, surpassing Miniature Card and SmartMedia. Subsequent formats, such as MMC/SD, various Memory Stick formats, and xD-Picture Card offered stiff competition. Most of these cards are smaller than CompactFlash while offering comparable capacity and speed. Proprietary memory card formats for use in professional audio and video, such as P2 and SxS, are faster, but physically larger and more costly.

CompactFlash remains popular and is supported by many professional devices and high end consumer devices. As of 2014, both Canon[6][7] and Nikon[8] use CompactFlash for their flagship digital still cameras. Canon also chose CompactFlash as the recording medium for its professional high-definition tapeless video cameras.[9] Ikegami professional video cameras can record digital video onto CompactFlash cards through an adaptor.[10]

In 2008, a variant of CompactFlash, was announced. CFast (also known as CompactFast) is based on the Serial ATA interface rather than the Parallel ATA interface used by the original CompactFlash cards.

In November 2010, SanDisk, Sony, and Nikon presented a next generation card format to the CompactFlash Association. The new format has a similar form factor to CF/CFast but is based on the PCI Express interface instead of Parallel ATA or Serial ATA.[2][2] With potential read and write speeds of 1 Gbit/s (125 MByte/s) and storage capabilities beyond 2 TiB the new format is aimed at high-definition camcorders and high-resolution digital cameras, but the new cards are not backward compatible with either CompactFlash or CFast. The XQD card format was officially announced by the CompactFlash Association in December 2011.[2]

Description

There are two main subdivisions of CF cards, 3.3 mm thick type I and 5 mm thick type II (CF2). The type II slot is used by miniature hard drives and some other devices, such as the Hasselblad CFV Digital Back for the Hasselblad series of medium format cameras. There are four main card speeds: original CF, CF High Speed (using CF+/CF2.0), faster CF 3.0 standard, yet faster CF 4.0 standard adopted as of 2007.

CompactFlash was originally built around Intel's NOR-based flash memory, but has switched to NAND technology.[2] CF is among the oldest and most successful formats, and has held a niche in the professional camera market especially well. It has benefited from both a better cost to memory-size ratio and, for much of the format's life, generally greater available capacity than other formats.

CF cards can be used directly in a PC Card slot with a plug adapter, used as an ATA (IDE) or PCMCIA storage device with a passive adapter or with a reader, or attached to other types of ports such as USB or FireWire. As some newer card types are smaller, they can be used directly in a CF card slot with an adapter. Formats that can be used this way include SD/MMC, Memory Stick Duo, xD-Picture Card in a Type I slot, and SmartMedia in a Type II slot, as of 2005. Some multi-card readers use CF for I/O as well.

Technical details

The CompactFlash interface is a 50-pin subset of the 68-pin PCMCIA[2] 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.[2] 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.[2]

Unlike the PC Card interface, no dedicated programming voltages (Vpp1 and Vpp2) are provided on the CompactFlash interface.[2]

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° 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 kByte/s.

where R = transfer rate, K = speed rating. For example, 133x rating means transfer speed of: 133 × 150 kByte/s = 19,950 kByte/s ≈ 20 MB/s.

These are manufacturer speed ratings. Actual transfer speed may be higher, or lower, than shown on the card[2] 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 MByte/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 Mbytes/sec[2] and require USB 3.0 data transfer rates.[3]

A direct motherboard connection is often limited to 33 MByte/s because IDE to CF adapters lack high speed ATA (66 MByte/s plus) cable support. Power on from sleep/off takes longer than power up from standby.

Magnetic media

Many 1-inch (25 mm) 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[3] 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 MByte/s read and write, and has an interface speed of 33 MByte/s. Hitachi's 4 GB Microdrive is 12 ms seek, sustained 6 MByte/s.

Capacities and compatibility

The CF 5.0 Specification supports capacities up to 128 PB using 48-bit logical block addressing (LBA).[3] Prior to 2006, CF drives using magnetic media offered the highest capacities (up to 8 GB). Now there are solid-state cards with higher capacities (up to 512 GB).[3]

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.[3] That same month, Samsung announced 16, 32 and 64 GB CF cards.[3] Two years later, in September, 2008, PRETEC announced 100GB cards.[3]

Magnetic media capacities

Seagate announced a 5 GB "1-inch hard drive" in June, 2004,[3] and an 8 GB version in June, 2005.[3]

Use in place of a hard disk drive

In early 2008 the CFA demonstrated CompactFlash cards with a built in SATA interface.[3] Several companies make adapters to allow CF cards to be connected to PCI, PCMCIA, IDE, 44-pin laptop mini-IDE, and SATA connections,[4] 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.[4]

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 haven't been adapted for memory card usage. Most mass storage usage flash are NAND based. At the time of this update (2015), NAND flash are being scaled down to 16 nm. They are usually rated for 500 to 3,000 write/erase cycles per block before hard failure.[33] This is less reliable than magnetic media.[4] Car PC Hacks suggests disabling the Windows swap file and using its Enhanced Write Filter (EWF) to eliminate unnecessary writes to flash memory.[4] 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. The CompactFlash card includes error checking and correcting (ECC) that detects the error and re-reads the block. The process is transparent to the user, although it may slow data access.

As a flash memory device is solid-state, it is less affected by shock than a spinning disk.

The possibility for electrical damage from upside-down insertion is prevented by asymmetrical side slots, assuming that the host device uses a suitable connector.

Small cards consume around 5% of the power required by small disk drives and still have reasonable transfer rates of over 45 MByte/s for the more expensive 'high-speed' cards.[4] 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.[4] 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, are expected to implement SATA mode.

  • CompactFlash Revision 1.0 (1995), 8.3 MByte/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 MByte/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 MByte/s data transfer rate (UDMA 66), 25 MByte/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 MByte/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 [4]
  • CompactFlash Revision 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, TRIM and an optional card capability to report the operating temperature range of the card.[4]

CE-ATA

CE-ATA is a Serial ATA interface based on the MultiMediaCard standard.[5][5]

CFast

A variant of CompactFlash known as CFast is based on the Serial ATA bus, rather than the Parallel ATA/IDE bus for which all previous versions of CompactFlash are designed. CFast is also known as CompactFast.

CFast supports a higher maximum transfer rate than current CompactFlash cards. As of 2011, SATA 3.0 supports transfer rates up to 600 MByte/s while PATA is limited to 167 MByte/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,[5] 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.[5] At CES 2009, Pretec showed a 32 GB CFast card and announced that they should reach the market within a few months.[5] 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.

The CFast 2.0 specification was released in the second quarter of 2012. As of 2014, the only product employing CFast 2.0 cards was the Arri Amira digital production camera,[5] allowing frame rates of up to 200 fps; a CFast 2.0 adapter for the Arri Alexa/XT camera was also released.[5]

On 7 April 2014 Blackmagic Design announced the URSA cinema camera, which records to CFast media.[5]

On 8 April 2015 Canon Inc. announced the XC10 video camera, which also makes use of CFast cards.[5] Blackmagic Design also announced that its URSA Mini will use CFast 2.0.

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.[5] 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 ), other miniature hard drives, and adapters, such as a popular adapter that takes Secure Digital cards.[6][6] 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.[6]

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 MByte. 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.[52]

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. (Some devices used for high speed—such as Readyboost, which had no low-power standby mode—exceeded the 500 mA maximum of the Type II standard.) 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), PalmOne LifeDrive, and Rio Carbon used a Microdrive to store data.

Compared to other portable storage

  • CompactFlash cards that use flash memory are more rugged than some hard drive solutions because they are solid-state. (See also above.) Separately, CompactFlash cards are thicker than other card formats, which may render them less susceptible to breakage from harsh treatment.
  • As CompactFlash cards support the IDE/ATA command protocol with the host device, a passive adapter lets them function as the hard disk drive of a personal computer, as described .
  • CompactFlash does not have any built in DRM or cryptographic features found on some USB flash drives and other card formats. The absence of such features contributes to the openness of the standard, as card standards with such features may be subject to restrictive licensing agreements.
  • The initial CompactFlash specification envisaged a higher maximum capacity than other card formats. For this reason, many early CompactFlash host devices are usable with modern multi-gigabyte memories, where users of other families such as SecureDigital have had to migrate to SDHC and SDXC.
  • CompactFlash lacks the mechanical write protection switch that some other devices have, as seen in a comparison of memory cards.
  • CompactFlash is physically larger than other card formats. This limits its use, especially in miniature consumer devices where internal space is limited, such as point-and-shoot digital cameras. (An offsetting benefit of larger size is that the card is easier to insert and remove, and harder to misplace.)

Counterfeiting

The marketplace for CompactFlash is extensive and includes counterfeits. Off-brand or counterfeit cards may be mislabeled, might not contain the actual amount of memory their controllers report to the host device, and may use types of memory that are not rated for the number of erase/rewrite cycles that the purchaser expects.[6][6]

Other devices in the CF form factor

Since CompactFlash interface is electrically identical to the 16-bit PC Card, the CompactFlash form factor is also used for a variety of Input/Output and interface devices. Many standard PC cards have CF counterparts, some examples include: