CompactFlash(CF)は、主に携帯電子機器で使用されるフラッシュメモリの大容量記憶装置です。フォーマットは1994年にSanDiskによって規定され、初めて製造されました。 [ 3 ]
CompactFlashは、初期のメモリーカードフォーマットの中で最も成功したものの1つとなり、 Miniature CardやSmartMediaを凌駕しました。その後、MMC / SD、各種メモリースティック、xDピクチャーカードなどのフォーマットが登場し、激しい競争を繰り広げました。これらのカードのほとんどはCompactFlashよりも小型でありながら、同等の容量と速度を実現しています。P2やSxSなど、プロフェッショナルなオーディオおよびビデオ用途向けの独自規格のメモリーカードは、より高速ですが、物理的に大きく、価格も高くなっています。
CompactFlashの人気はCFexpressの台頭により低下しています。2022年現在、Canon [ 4 ]とNikon [ 5 ]の最新のハイエンドカメラ、例えばCanon EOS R5、Canon EOS R3、Nikon Z9は、8Kビデオの記録に必要な高いパフォーマンスのためにCFexpressカードを使用しています。
従来の CompactFlash カードは、16 ビットPCMCIAインターフェースの小型版を使用しています。[ 6 ]この PCMCIA インターフェースは、どちらもISA バスに基づいているため、パラレル ATAインターフェースと密接に関連しています。CompactFlash リビジョン 2.0 (2003 年)では、 UDMA転送モードのサポートが追加されました。2008 年に、 CompactFlash の派生版であるCFast が後継として発表されました。CFast (CompactFast とも呼ばれる) は、シリアル ATAインターフェースに基づいています。
2010 年 11 月、SanDisk、Sony、Nikon は CompactFlash Association に次世代カード フォーマットを発表しました。この新しいフォーマットは CF/CFast と似たフォーム ファクタですが、Parallel ATA や Serial ATA ではなくPCI Expressインターフェースに基づいています。 [ 7 ] [ 8 ]読み書き速度は 1 Gbit/s (125 MB/s )、ストレージ容量は 2 TiBを超える可能性があり、この新しいフォーマットは高解像度ビデオカメラや高解像度デジタル カメラを対象としていますが、新しいカードは CompactFlash や CFast との下位互換性はありません。XQDカードフォーマットは、2011 年 12 月に CompactFlash Association によって正式に発表されました。 [ 9 ]

CFカードには、 厚さ3.3mmのタイプIと 厚さ5mmのタイプII(CF2)の2つの主要な区分があります。タイプIIスロットは、小型ハードドライブや、ハッセルブラッドシリーズの中判カメラ用のハッセルブラッドCFVデジタルバックなどの一部のデバイスで使用されます。カードの速度は、オリジナルのCF、CFハイスピード(CF+/CF2.0を使用)、より高速なCF3.0規格、そして2007年から採用されたさらに高速なCF4.0規格の4種類があります。
CompactFlashは当初、IntelのNORベースのフラッシュメモリをベースに構築されましたが、NANDテクノロジーに切り替わりました。[ 10 ] CFは最も古く、最も成功したフォーマットの1つであり、特にプロ用カメラ市場でニッチな地位を維持してきました。メモリサイズに対するコストの比率が優れていることと、フォーマットの歴史の大部分において、他のフォーマットよりも一般的に利用可能な容量が大きいことの両方から恩恵を受けています。
CFカードは、プラグアダプタを使用してPCカードスロットに直接挿入したり、パッシブアダプタまたはリーダーを使用してATA(IDE)またはPCMCIAストレージデバイスとして使用したり、USBやFireWireなどの他のタイプのポートに接続したりできます。一部の新しいカードタイプは小型化されているため、アダプタを使用してCFカードスロットに直接挿入できます。2005年現在、この方法で使用できるフォーマットには、タイプIスロットのSD / MMC、メモリースティックDuo、xDピクチャーカード、タイプIIスロットのSmartMediaなどがあります。一部のマルチカードリーダーは、入出力にもCFカードを使用します。
最初のコンパクトフラッシュカードの容量は2~10メガバイトでした。[ 11 ]これは 1996年に64MB、 1998年に128MB、 1999年に256MB、 2001年に512MB、 2002年に1GBに増加しました。 [ 12 ] [ 13 ]

CompactFlashインターフェースは、68ピンPCMCIAコネクタ[ 14 ]の50ピンサブセットです。compactflash.org[15]によると、「PCMCIAの電気的および機械的インターフェース仕様を完全に満たすパッシブ68ピンPCMCIAタイプIIからCFタイプIアダプタに簡単に挿入できます」。このインターフェースは、電源投入時のモードピンの状態に応じて、16ビットPCカード(アドレス制限0x7FF)またはIDE(PATA)インターフェースとして動作します。[ 16 ]
PCカードインターフェースとは異なり、CompactFlashインターフェースには専用のプログラミング電圧(Vpp1とVpp2)は提供されていません。[ 17 ]
CompactFlash IDEモードは、 ATAインターフェースよりも小さいが電気的には同一なインターフェースを定義します。CFデバイスにはATAコントローラが内蔵されており、ホストデバイスからはハードディスクのように見えます。CFデバイスは3.3ボルトまたは5ボルトで動作し、システム間で交換可能です。CompactFlashはCHSと28ビット論理ブロックアドレッシング をサポートしています(CF 5.0ではLBA-48のサポートが導入されました)。フラッシュメモリを搭載したCFカードは、非常に急激な温度変化にも対応できます。産業用バージョンのフラッシュメモリカードは、-45 ℃~+85 ℃の範囲で動作可能です。
NORベースのフラッシュは、新しいNANDベースのシステムよりも密度が低いため、CompactFlash は、1990 年代初頭に導入された 3 つのメモリ カード フォーマットの中で物理的に最大であり、JEIDA/PCMCIA メモリ カード フォーマットから派生しています。他の 2 つはMiniature Card (MiniCard) とSmartMedia (SSFDC) です。ただし、CF は後に NAND タイプのメモリに切り替わりました。後に日立が製造したIBM Microdriveフォーマットは、CF Type II インターフェースを実装していますが、ソリッドステート メモリではなくハードディスク ドライブ(HDD) です。SeagateもCF HDD を製造しました。
CompactFlash IDE(ATA)のエミュレーション速度は、通常「x」の形式で表され、例えば8x、20x、133xなどと表記されます。これはCD-ROMで使用されているものと同じ方式で、元のオーディオCDのデータ転送速度(150kB/s)を基準とした乗数として、最大転送速度を示します 。
ここで、 Rは転送速度、Kは速度定格を表します。例えば、133x定格とは、133 × 150 kB/s = 19,950 kB/s ≈ 20 MB/sの転送速度を意味します。
これらはメーカーの速度定格です。実際の転送速度は、いくつかの要因によってカードに表示されている速度よりも高い場合も低い場合もあります[ 18 ]。記載されている速度定格はほぼ常に読み取り速度であり、書き込み速度はそれよりも遅い場合が多いです。
読み出しの場合、オンボードコントローラはまずメモリチップをスタンバイ状態から起動します。読み出しは通常並列で行われ、データに対してエラー訂正が行われた後、インターフェースを介して16ビットずつ転送されます。ソフトリードエラーが発生する可能性があるため、エラーチェックが必要です。書き込みの場合、スタンバイ状態から起動し、ウェアレベリング計算、書き込み対象領域のブロック消去、ECC計算、書き込み処理自体が行われます(個々のメモリセルの読み出しには約100ナノ秒かかりますが、チップへの書き込みには1ミリ秒以上、つまり1万倍以上の時間がかかります)。
USB 2.0インターフェースは35MB /秒に制限されており、バスマスタリングハードウェアも搭載されていないため、USB 2.0の実装ではアクセス速度が遅くなる。
最新のUDMA-7コンパクトフラッシュカードは最大145MB /秒のデータ転送速度を提供し[ 19 ]、USB 3.0のデータ転送速度を必要とします[ 20 ] 。
マザーボードへの直接接続は、 IDE-CFアダプタが高速ATA(66MB /s以上)ケーブルに対応していないため、多くの場合33MB/sに制限されます。スリープ/オフ状態からの電源投入は、スタンバイ状態からの電源投入よりも時間がかかります。
多くの1 インチ (25 mm)ハード ドライブ (商標名「Microdrive」と呼ばれることが多い) は通常 3600 RPM で回転するため、回転遅延は、スタンバイまたはアイドル状態からのスピンアップと同様に考慮する必要があります。Seagate の 8 GB ST68022CF ドライブ[ 21 ]は、数回転以内に完全にスピンアップしますが、消費電流は最大 350 ミリアンペアに達し、平均電流は 40〜50 mA で動作します。平均シーク時間は 8 msで、9 MB/s の読み書きを維持でき、インターフェース速度は 33 MB/s です。Hitachi の 4 GB Microdrive は、シーク時間が 12 ms、6 MB/s を維持します。
CF 5.0 仕様は、48 ビット論理ブロックアドレッシング(LBA) を使用して最大 128 PiB の容量をサポートしています。[ 22 ] 2006 年以前は、磁気メディアを使用した CF ドライブが最大の容量 (最大 8 GiB ) を提供していました。現在では、より大容量 (最大 512 GB) のソリッドステート カードがあります 。[ 23 ]
2011年現在、大容量ストレージのニーズにおいては、ソリッドステートドライブ(SSD)が両方のタイプのCFドライブに取って代わっている。
サンディスクは2006年9月のフォトキナ見本市で 16GBのExtreme IIIカードを発表した。[ 24 ]同じ月にサムスンは16、32、64GBのCFカードを発表した。[ 25 ] 2年後の2008年9月、PRETECは100GBカードを発表した。[ 26 ]
Seagateは 2004年6月に5GBの「1インチハードドライブ」を発表し[ 27 ] 、 2005年6月には8GBバージョンを発表した[ 28 ]。

2008 年初頭、CFA はSATAインターフェースを内蔵した CompactFlash カードを発表しました。[ 29 ]いくつかの企業は、CF カードをPCI、PCMCIA、IDE、SATA接続に接続できるようにするアダプタを製造しており、[ 30 ]事実上あらゆるオペレーティングシステムや BIOS、さらにはRAID構成でもCF カードをソリッドステート ドライブとして機能させることができます。
CFカードはIDEバス上でマスターまたはスレーブドライブの機能を果たすことができますが、バスの共有に問題があります。さらに、DMA(UDMAまたはMWDMAを使用)を提供する最新モデルのカードは、DMAをサポートしていないパッシブアダプタを介して使用すると問題が発生する可能性があります。[ 31 ]
初期のPCカードのメモリーカードは、電源が切れてもデータを保持するために内蔵バッテリーを使用していました。唯一の信頼性の問題は、バッテリーの定格寿命でした。他のフラッシュメモリーデバイスと同様に、フラッシュメモリーを使用するコンパクトフラッシュカードは、各「ブロック」の消去/書き込みサイクル数が制限されています。NORフラッシュは10,000~1,000,000回と耐久性が高いものの、メモリーカード用途には採用されていません。大容量ストレージ用途のフラッシュのほとんどはNANDベースです。2015年現在NANDフラッシュは16nmまで微細化されてきました 。通常、ハード障害が発生する前に、ブロックあたり500~3,000回の書き込み/消去サイクルが定格されています。[ 32 ]これは磁気メディアよりも信頼性が低くなっています。[ 33 ] Car PC Hacks [ 34 ]では、Windowsのスワップファイルを無効にし、拡張書き込みフィルタ(EWF)を使用してフラッシュメモリへの不要な書き込みを排除することを推奨しています。[ 35 ]さらに、フラッシュメモリドライブをフォーマットするときは、デバイスへの書き込みを最小限に抑えるために、クイックフォーマット方式を使用する必要があります。
ほとんどのコンパクトフラッシュ・フラッシュメモリデバイスは、ブロックの書き込み先となる物理的な位置を変化させることで、ブロックの摩耗を抑制します。このプロセスはウェアレベリングと呼ばれます。ATAモードでコンパクトフラッシュをハードディスクドライブの代わりに使う場合、番号の小さいブロックには内容が頻繁に変更されるテーブルが含まれているため、ウェアレベリングが非常に重要になります。現在のコンパクトフラッシュカードは、ドライブ全体にウェアレベリングを分散させています。より高度なコンパクトフラッシュカードは、ほとんど変更されないデータを移動させることで、すべてのブロックが均等に摩耗するようにします。
NANDフラッシュメモリは、ソフトリードエラーが頻繁に発生する傾向があります。[ 34 ] CompactFlashカードには、エラーを検出してブロックを再読み取りするエラーチェックおよび訂正(ECC)機能が搭載されています。このプロセスはユーザーには透過的ですが、データアクセスが遅くなる場合があります。
フラッシュメモリは固体素子であるため、回転ディスクよりも物理的な衝撃の影響を受けにくい。
ホストデバイスが適切なコネクタを使用している場合、非対称な側面スロットによって、上下逆さまに挿入することによる電気的損傷の可能性が防止されます。
小型カードは小型ディスクドライブに必要な電力の約5%を消費し、 より高価な「高速」カードでは45MB/秒を超える妥当な転送速度を実現しています。[ 36 ]ただし、 ReadyBoostで使用されるフラッシュメモリのメーカーの警告では、500mAを超える電流消費が示されています。
民生機器で使用されるコンパクトフラッシュカードは、一般的にFAT12(最大16MBのメディア用 )、FAT16(最大2GB 、場合によっては最大4GBのメディア用 )、FAT32(2GBを超えるメディア用)でフォーマットされています。これにより、パソコンで読み取れるだけでなく、カメラ などの一部の民生機器の限られた処理能力にも対応できます。
FAT32対応のカメラ、MP3プレーヤー、PDAなどのデバイス間には、互換性のレベルにばらつきがあります。FAT32対応を謳うデバイスであれば、FAT32形式でフォーマットされたカードへの読み書きは問題なく行えるはずですが、2GBを超える 未フォーマットのカードでは動作しないデバイスもあれば、FAT32フォーマットの適用に時間がかかるデバイスもあります。
多くのデジタルカメラがカードに書き込む際にファイルシステムを更新する方法は、FAT32 のボトルネックを生み出します。FAT32 フォーマットのカードへの書き込みは、同様の性能を持つ FAT16 フォーマットのカードへの書き込みよりも一般的に少し時間がかかります。たとえば、Canon EOS 10D は、同じ写真を FAT16 フォーマットの 2 GB CompactFlash カードに書き込む方が、同じ速度の 4 GB FAT32 フォーマットの CompactFlash カードに書き込むよりも若干速く書き込みます。ただし、両方のカードのメモリ チップの書き込み速度仕様は同じです。[ 37 ] FAT16 は、より大きなクラスタを持つためディスク スペースをより無駄にしますが、フラッシュ メモリ チップが必要とする書き込み戦略にはより適しています。
これらのカード自体は、Ext、JFS、NTFSなどの任意のファイルシステム、または専用のフラッシュファイルシステムでフォーマットできます。ホストデバイスが読み取れる限り、パーティションに分割することも可能です。CompactFlashカードは、低騒音または低消費電力で設計された組み込みシステム、ダム端末、および各種小型PCにおいて、ハードドライブの代わりに使用されることがよくあります。CompactFlashカードは、専用のソリッドステートドライブよりも入手しやすく小型であることが多く、ハードドライブよりもシークタイムが速い場合が多いです。
CompactFlashが初めて標準化された当時、フルサイズのハードディスクでさえ 容量が4GBを超えることは稀だったため、ATA規格の制限は許容範囲内と考えられていました。しかし、最初のリビジョン1.0仕様以降に製造されたCFカードは、最大512GBの容量のものも入手可能です 。現在のリビジョン6.0は[P]ATAモードで動作しますが、将来のリビジョンではSATAモードが実装される予定です。
ビデオパフォーマンス保証(VPG)は、CompactFlash Associationの規格であり、高品質のビデオを録画するための最低書き込み速度を保証します。[ 40 ]
CE-ATAは、 MultiMediaCard規格に基づいたシリアルMMC互換インターフェースです。[ 41 ] [ 42 ]

CompactFlashの派生版であるCFastは、従来のCompactFlashが設計対象としていたパラレルATA /IDE(PATA)バスではなく、シリアルATA (SATA)インターフェースに基づいています。CFastはCompactFastとも呼ばれます。
CFast 1.0/1.1 は、 SATA 2.0 (300 MB/s) インターフェースを使用して、現在の CompactFlash カードよりも高い最大転送速度をサポートしています が、PATA はUDMA 7 を使用して 167 MB/sに制限されています。
CFast カードは、物理的にも電気的にも CompactFlash カードと互換性がありません。ただし、SATA は PATA コマンド プロトコルをエミュレートできるため、既存の CompactFlash ソフトウェア ドライバを使用できますが、PATA エミュレーションの代わりにAHCIを使用する新しいドライバを作成すると、ほぼ確実にパフォーマンスが大幅に向上します。CFast カードは、メスの7 ピン SATA データ コネクタとメスの 17 ピン電源コネクタを使用するため[ 43 ]、オス コネクタを使用する標準の SATA ハード ドライブの代わりに CFast カードを接続するにはアダプタが必要です。
最初の CFast カードは 2009 年後半に市場に出回りました。[ 44 ] CES 2009では、Pretec が 32 GB の CFast カードを発表し、数か月以内に市場に出回る予定であると発表しました。[ 45 ] Delock は 2010 年に CFast カードの販売を開始し、 CFast カードをサポートするUSB 3.0およびeSATAp (eSATA 経由の電源) ポートを備えたカード リーダーをいくつか提供しました。
より高いパフォーマンスを追求しつつ、コンパクトなストレージフォーマットを維持しようとしたCFastカードの初期採用者の中には、当時すでに広く普及していたCFカードからの自然な進化として、ゲーム業界(スロットマシンで使用)が含まれていました。現在、このフォーマットを支持するゲーム業界には、専門のゲーム会社(例:Aristocrat Leisure )と、Innocore(現在はAdvantech Co., Ltd.の一部)などのOEM企業が含まれます。
CFast 2.0 仕様は 2012 年第 2 四半期にリリースされ、電気インターフェースがSATA 3.0 (600 MB/s) に更新されました。2014 年時点では、CFast 2.0 カードを採用している唯一の製品はArri Amira デジタルプロダクションカメラ[ 46 ]で、最大 200 fps のフレームレートが可能でした。また、 Arri Alexa/XTカメラ用の CFast 2.0 アダプタもリリースされました。[ 47 ]
2014年4月7日、Blackmagic DesignはCFastメディアに記録するURSAシネマカメラを発表した。[ 48 ]
2015年4月8日、キヤノン株式会社はCFastカードを使用するビデオカメラXC10を発表しました。 [ 49 ] Blackmagic DesignもURSA MiniがCFast 2.0を使用することを発表しました。
2016年10月現在、CFastメディアが提供する高速データ転送速度を利用するカメラ、ビデオレコーダー、オーディオレコーダーの数は増加傾向にある。
2017年現在、組み込みエレクトロニクス業界全体では、CFからCFastへの移行は依然として比較的緩やかです。これはおそらく、ハードウェアコストの考慮や慣性(CFへの慣れ)に加え、業界の大部分がCFカードの低いパフォーマンスに満足しており、変更する理由がないためです。Intel PCアーキテクチャに基づいた設計を使用している組み込みエレクトロニクス企業にとって、CFastへの移行を促す大きな動機は、Intelが数世代前の設計プラットフォームで(P)ATAインターフェースのネイティブサポートを終了し、旧世代のCPU/PCHが既にサポート終了となっていることです。
2016年9月、CompactFlash AssociationはPCIe 3.0とNVMeに基づく新しい規格CFexpressを発表しました。[ 50 ] 2017年4月には、CFexpress仕様のバージョン1.0が公開され、XQDフォームファクタで最大2GB/sの2つのPCIe 3.0レーンをサポートしました。 [ 51 ]
2つのタイプの物理的な違いは、タイプIデバイスの 厚さが3.3mmであるのに対し、タイプIIデバイスの 厚さが5mmであることだけです。[ 52 ]電気的には、タイプIデバイスはインターフェースから最大70mAの電源電流を引き出すことが許可されているのに対し、タイプIIデバイスは最大500mAを引き出すことができる点を除いて、2つのインターフェースは同じです。
ほとんどのタイプ II デバイスは、マイクロドライブ デバイス (下記参照)、その他の小型ハード ドライブ、および Secure Digital カードを受け入れる人気のアダプタなどのアダプタです。[ 53 ] [ 54 ]フラッシュベースのタイプ II デバイスもいくつか製造されましたが、現在ではタイプ I カードは CF HDD を超える容量で入手可能です。Sandisk、Toshiba、Alcotek、Hynix などの CompactFlash カードのメーカーは、タイプ I スロットのみを備えたデバイスを提供しています。Nikon D800などの最新のDSLRカメラの一部も、タイプ II のサポートを終了しています。[ 55 ]

Microdriveは、CompactFlash Type IIパッケージに収められた、幅約25mm (1インチ)の小型ハードディスクのブランドでした。最初の製品は1999年にIBMによって開発・発売され、容量は170MBでした。IBMは2002年にMicrodriveの商標を含むディスクドライブ部門を日立に売却しました。SeagateやSonyなどの他のベンダーからも同様のハードディスクが製造されていました。最大8GBの容量で入手可能でしたが、コスト、容量、信頼性の面でフラッシュメモリに取って代わられ、現在は製造されていません。[ 56 ]
機械式デバイスであるCF HDDは、フラッシュメモリの最大消費電流100mAを超える電流を消費しました。初期のバージョンでは最大500mAを消費しましたが、最近のバージョンでは読み出し時200mA未満、書き込み時300mA未満となっています。また、CF HDDは物理的な衝撃や温度変化による損傷を受けやすいという欠点もありました。しかし、書き込みサイクル寿命は初期のフラッシュメモリよりも長かったという利点がありました。
iPod mini、Nokia N91、iriver H10(5GBまたは 6GBモデル)、LifeDrive、Sony NW-A1000/3000、Rio Carbonは、データの保存にMicrodriveを使用していた。
CompactFlash の市場は広範で、偽造品も含まれています。ノーブランドまたは偽造カードはラベルが間違っている場合があり、コントローラがホスト デバイスに報告する実際のメモリ容量が含まれていない場合があり、購入者が期待する消去/書き換えサイクル数に対応していない種類のメモリを使用している場合があります。[ 57 ] [ 58 ]

CompactFlashインターフェースは16ビットPCカードと電気的に同一であるため、CompactFlashフォームファクタはさまざまな入出力デバイスやインターフェースデバイスにも使用されています。多くの標準的なPCカードにはCF版があり、例としては以下のようなものがあります。
カードの中を覗き込んでいる様子が写っている。