CompactFlash


CompactFlash 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.
CompactFlash became one of 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 2017, both Canon and Nikon use CompactFlash for their flagship digital still cameras. Canon also chose CompactFlash as the recording medium for its professional high-definition tapeless video cameras. Ikegami professional video cameras can record digital video onto CompactFlash cards through an adaptor.
Traditional CompactFlash cards use the Parallel ATA interface, but in 2008, a variant of CompactFlash, CFast was announced. CFast is based on the Serial ATA interface.
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. With potential read and write speeds of 1 Gbit/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.

Description

There are two main subdivisions of CF cards, 3.3 mm-thick type I and 5 mm-thick type II. 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, faster CF 3.0 standard and the 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. 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 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 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 or as an IDE interface.
DSLR camera
Unlike the PC Card interface, no dedicated programming voltages 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 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 and SmartMedia. 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 as opposed to solid-state memory. Seagate also made CF HDDs.

Speed

CompactFlash IDE 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.
where R = transfer rate, K = speed rating. For example, 133x rating means transfer speed of: 133 × 150 kB/s = 19,950 kB/s ≈ 20 MB/s.
These are manufacturer speed ratings. Actual transfer speed 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.
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 cable support. Power on from sleep/off takes longer than power up from standby.

Magnetic media

Many hard drives 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. Prior to 2006, CF drives using magnetic media offered the highest capacities.
As of 2011, solid-state drives have supplanted both kinds of CF drive for large capacity requirements.

Solid state capacities

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

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 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 haven't 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 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. The CompactFlash card includes error checking and correcting 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.

Power consumption and data transfer rate

Small cards consume around 5% of the power required by small disk drives and still have reasonable transfer rates of over 45 MB/s for the more expensive 'high-speed' cards. 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, FAT16 and FAT32. 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 ATA mode, [|future revisions] are expected to implement SATA mode.
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 interface, rather than the Parallel ATA/IDE 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 interface, 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, 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 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, as a natural evolution from the by then well-established CF cards. Current gaming industry supporters of the format include both specialist gaming companies and OEMs such as Innocore.
The CFast 2.0 specification was released in the second quarter of 2012, updating the electrical interface to SATA 3.0. 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 medium to high-end professional devices making use of the faster data rates offered by CFast media. Examples include the Arri Amira and Arri Alexa Mini; the Hasselblad H6D-100C; the Canon C700, C300 Mark II, EOS 1D X II, and XC10; and the Blackmagic Ursa, Ursa Mini 4.6K and Ursa Mini 4K. Additional recording devices for video include Atomos Ninja Star and Atomos Shogun Studio 4K.
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 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 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, 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 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, PalmOne LifeDrive, and Rio Carbon used a Microdrive to store data.

Compared to other portable storage

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.

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: