Введение

Формат карты памяти CompactFlash (CF) — это устройство для хранения данных с использованием флэш-памяти, в основном применяемое в портативных электронных устройствах. Формат был разработан, а устройства впервые произведены компанией SanDisk в 1994 году. CompactFlash стал одним из наиболее успешных ранних форматов карт памяти, обогнав Miniature Card и SmartMedia. Последующие форматы, такие как MMC/SD, различные форматы Memory Stick и xD Picture Card, составили серьезную конкуренцию. Большинство этих карт меньше, чем CompactFlash, при этом предлагая сравнимую емкость и скорость. Фирменные форматы карт памяти для профессиональной аудио- и видеотехники, такие как P2 и SxS, быстрее, но физически больше и дороже. Популярность CompactFlash снижается, поскольку его вытесняет CFexpress. По состоянию на 2022 год новейшие камеры высокого класса Canon и Nikon, например Canon EOS R5, Canon EOS R3 и Nikon Z 9, используют карты CFexpress для обеспечения более высокой производительности, необходимой для записи 8K-видео. Традиционные карты CompactFlash используют интерфейс Parallel ATA, но в 2008 году был представлен вариант CompactFlash — CFast. CFast (также известный как CompactFast) основан на интерфейсе Serial ATA. В ноябре 2010 года компании SanDisk, Sony и Nikon представили Ассоциации CompactFlash формат карт следующего поколения. Новый формат имеет схожий форм-фактор с CF/CFast, но основан на интерфейсе PCI Express вместо Parallel ATA или Serial ATA. Благодаря потенциальной скорости чтения и записи 1 Гбит/с (125 МБ/с) и возможностям хранения данных объемом более 2 ТиБ, новый формат предназначен для видеокамер высокого разрешения и цифровых камер с высоким разрешением, однако новые карты не обеспечивают обратную совместимость с CompactFlash или CFast. Формат карт XQD был официально объявлен Ассоциацией CompactFlash в декабре 2011 года.

Описание

Существует два основных типа карт CF: тип I толщиной 3,3 мм и тип II (CF2) толщиной 5 мм. Слот типа II используется миниатюрными жесткими дисками и некоторыми другими устройствами, такими как цифровая задняя панель Hasselblad CFV Digital Back для камер среднего формата Hasselblad. Существует четыре основных скорости карт: оригинальная CF, CF High Speed (с использованием CF+/CF2.0), более быстрая CF 3.0 и еще более быстрая CF 4.0, принятая в 2007 году. Изначально CompactFlash была разработана на основе флеш-памяти Intel NOR, но впоследствии перешла на технологию NAND. CF – один из старейших и наиболее успешных форматов, особенно хорошо зарекомендовавший себя на рынке профессиональных камер. Она выигрывала за счет лучшего соотношения цены и объема памяти, а также, на протяжении большей части жизненного цикла формата, как правило, предлагала большую доступную емкость по сравнению с другими форматами. Карты CF можно использовать непосредственно в слоте PC Card с помощью переходника, в качестве устройства хранения ATA (IDE) или PCMCIA с пассивным адаптером или с помощью картридера, либо подключать к другим типам портов, таким как USB или FireWire. Поскольку некоторые новые типы карт меньше, их можно использовать непосредственно в слоте для карт CF с помощью адаптера. К таким форматам относятся SD/MMC, Memory Stick Duo, xD Picture Card в слоте типа I и SmartMedia в слоте типа II, по состоянию на 2005 год. Некоторые многокарточные считыватели также используют CF для ввода-вывода. Первые карты CompactFlash имели емкость от 2 до 10 мегабайт. В 1996 году она увеличилась до 64 МБ, в 1998 году – до 128 МБ, в 1999 году – до 256 МБ, в 2001 году – до 512 МБ, а в 2002 году – до 1 ГБ.

Технические детали

Интерфейс CompactFlash представляет собой 50-контактное подмножество 68-контактного разъема PCMCIA. "Его можно легко установить в пассивный 68-контактный адаптер PCMCIA Type II для CF Type I, который полностью соответствует электрическим и механическим спецификациям интерфейса PCMCIA", – сообщает compactflash.org. Интерфейс работает, в зависимости от состояния пина режима при включении, либо как 16-битная PC Card (ограничение адресов 0x7FF), либо как интерфейс IDE (PATA). В отличие от интерфейса PC Card, на интерфейсе CompactFlash не предусмотрены специальные напряжения программирования (Vpp1 и Vpp2). Режим CompactFlash IDE определяет интерфейс, который меньше, но электрически идентичен интерфейсу ATA. Устройство CF содержит контроллер ATA и представляется хост-устройству как жесткий диск. Устройства CF работают от 3,3 или 5 вольт и могут быть перенесены между системами. CompactFlash поддерживает схему CHS и 28-битную логическую адресацию блоков (CF 5.0 представил поддержку LBA 48). Карты CF с флэш-памятью способны выдерживать экстремальные перепады температур. Промышленные версии флэш-памяти могут работать в диапазоне от -45 °C до +85 °C. Флэш-память NOR имеет меньшую плотность, чем более новые системы на основе NAND, и поэтому CompactFlash является физически самым крупным из трех форматов карт памяти, представленных в начале 1990-х годов, поскольку он произошел от форматов карт памяти JEIDA/PCMCIA. Другими двумя являются карты MiniCard и SmartMedia (SSFDC). Однако впоследствии CF перешел на использование памяти типа NAND. Формат IBM Microdrive, позже производившийся Hitachi, реализует интерфейс CF Type II, но представляет собой жесткий диск (HDD), а не твердотельную память. Компания Seagate также выпускала жесткие диски CF.

Скорость

Скорость эмуляции CompactFlash IDE (ATA) обычно указывается в рейтингах "x", например, 8x, 20x, 133x. Это та же система, что используется для CD-ROM, и она указывает максимальную скорость передачи данных в виде множителя, основанного на исходной скорости передачи данных аудио-CD, которая составляет 150 кБ/с. Где R – скорость передачи, K – рейтинг скорости. Например, рейтинг 133x означает скорость передачи: 133 × 150 кБ/с = 19 950 кБ/с ≈ 20 МБ/с. Это номинальная скорость, заявленная производителем. Фактическая скорость передачи может быть выше или ниже указанной на карте, в зависимости от ряда факторов. Указанный рейтинг скорости почти всегда относится к скорости чтения, в то время как скорость записи обычно ниже.

Твердое состояние

Для чтения, бортовой контроллер сначала выводит чипы памяти из режима ожидания. Чтения обычно выполняются параллельно, производится коррекция ошибок данных, после чего данные передаются через интерфейс блоками по 16 бит. Проверка на ошибки необходима из-за возможности возникновения случайных ошибок при чтении. Запись требует вывода из режима ожидания, вычисления выравнивания износа, стирания блока в области записи, вычисления ECC и, собственно, записи (чтение отдельной ячейки памяти занимает около 100 нс, а запись в чип – 1 мс и более, то есть в 10 000 раз дольше). Поскольку интерфейс USB 2.0 ограничен скоростью 35 МБ/с и не поддерживает аппаратную мастеризацию шины, реализация через USB 2.0 приводит к более медленному доступу. Современные карты CompactFlash UDMA 7 обеспечивают скорость передачи данных до 145 МБ/с и требуют пропускной способности USB 3.0. Прямое подключение к материнской плате часто ограничивается 33 МБ/с, поскольку адаптеры IDE-CF не поддерживают высокоскоростные кабели ATA (66 МБ/с и выше). Выход из состояния сна/выключения занимает больше времени, чем выход из режима ожидания.

Магнитные носители

Многие жесткие диски (часто называемые по товарному знаку "Microdrive") обычно вращаются со скоростью 3600 об/мин, поэтому необходимо учитывать задержку вращения, а также время разгона из режима ожидания или простоя. Жесткий диск Seagate объемом 8 ГБ ST68022CF полностью раскручивается всего за несколько оборотов, но потребляемый ток может достигать 350 мА, а средний ток составляет 40-50 мА. Его среднее время поиска составляет 8 мс, он обеспечивает скорость последовательного чтения и записи до 9 МБ/с, а скорость интерфейса – 33 МБ/с. Microdrive от Hitachi объемом 4 ГБ имеет время поиска 12 мс и скорость последовательной записи 6 МБ/с.

Пропускная способность и совместимость

Спецификация CF 5.0 поддерживает емкости до 128 PiB, используя 48-битную адресацию логических блоков (LBA). До 2006 года диски CF на магнитных носителях предлагали наибольшую емкость (до 8 GiB). В настоящее время доступны твердотельные карты с большей емкостью (до 512 ГБ). По состоянию на 2011 год твердотельные накопители (SSD) вытеснили оба типа дисков CF в приложениях, требующих большой емкости.

Мощности твердого состояния

SanDisk анонсировала свою карту Extreme III объемом 16 ГБ на выставке photokina в сентябре 2006 года. В том же месяце Samsung анонсировала CF-карты объемом 16, 32 и 64 ГБ. Два года спустя, в сентябре 2008 года, PRETEC анонсировала карты объемом 100 ГБ.

Магнитные емкости носителей

Seagate анонсировала жесткий диск объемом 5 ГБ с форм-фактором "1 дюйм" в июне 2004 года и версию объемом 8 ГБ в июне 2005 года.

Использование вместо жесткого диска

В начале 2008 года CFA продемонстрировала карты CompactFlash со встроенным интерфейсом SATA. Несколько компаний производят адаптеры, позволяющие подключать карты CF к интерфейсам PCI, PCMCIA, IDE и SATA, что позволяет использовать карту CF как твердотельный накопитель практически с любой операционной системой или BIOS, и даже в конфигурации RAID. Карты CF могут функционировать как главный или ведомый диск на шине IDE, но возникают проблемы при совместном использовании шины. Более того, карты последних моделей, поддерживающие DMA (с использованием UDMA или MWDMA), могут вызывать проблемы при использовании через пассивный адаптер, не поддерживающий DMA.

Надежность

Оригинальные карты памяти PC Card использовали внутреннюю батарею для сохранения данных при отключении питания. Единственной проблемой надежности был заявленный срок службы батареи. Карты CompactFlash, использующие флэш-память, как и другие устройства на флэш-памяти, рассчитаны на ограниченное количество циклов стирания/записи для каждого "блока". Хотя NOR-флэш имеет более высокую стойкость к износу, от 10 000 до 1 000 000 циклов, он не был адаптирован для использования в картах памяти. Большинство флэш-памяти, используемой для массового хранения данных, основаны на NAND. По состоянию на 2015 год технология NAND-флэш масштабировалась до 16 нм. Обычно они рассчитаны на 500–3000 циклов записи/стирания на блок до полного выхода из строя. Это менее надежно, чем магнитные носители информации. Car PC Hacks рекомендует отключить файл подкачки Windows и использовать расширенный фильтр записи (EWF) для минимизации ненужных записей во флэш-память. Кроме того, при форматировании флэш-накопителя следует использовать метод быстрой очистки, чтобы записывать на устройство как можно меньше данных. Большинство устройств CompactFlash ограничивают износ блоков, меняя физическое расположение, в которое записывается блок. Этот процесс называется выравниванием износа. При использовании CompactFlash в режиме ATA в качестве замены жесткого диска выравнивание износа становится особенно важным, поскольку низконумерованные блоки содержат таблицы, содержимое которых часто изменяется. Современные карты CompactFlash распределяют выравнивание износа по всему диску. Более продвинутые карты CompactFlash перемещают редко изменяемые данные, чтобы обеспечить равномерный износ всех блоков. Флэш-память NAND подвержена частым случайным ошибкам при чтении. Однако предупреждение производителя на флэш-памяти, используемой для ReadyBoost, указывает на потребление тока более 500 мА.

Файловые системы

Компактные флэш-карты для использования в потребительских устройствах обычно форматируются в FAT12 (для носителей объемом до 16 МБ), FAT16 (для носителей объемом до 2 ГБ, иногда до 4 ГБ) и FAT32 (для носителей объемом более 2 ГБ). Это позволяет считывать их на персональных компьютерах, а также соответствует ограниченным вычислительным возможностям некоторых потребительских устройств, таких как камеры. Существуют различные уровни совместимости между FAT32-совместимыми камерами, MP3-плеерами, КПК и другими устройствами. Хотя любое устройство, заявляющее о поддержке FAT32, должно без проблем читать и записывать на карту, отформатированную в FAT32, некоторые устройства испытывают трудности с картами объемом более 2 ГБ, которые не отформатированы, в то время как другим может потребоваться больше времени для форматирования в FAT32. Способ, которым многие цифровые камеры обновляют файловую систему при записи на карту, создает узкое место, связанное с FAT32. Запись на карту, отформатированную в FAT32, обычно занимает немного больше времени, чем на карту, отформатированную в FAT16, с аналогичными характеристиками производительности. Например, Canon EOS 10D записывает одну и ту же фотографию на карту CompactFlash формата FAT16 объемом 2 ГБ несколько быстрее, чем на карту CompactFlash формата FAT32 объемом 4 ГБ, хотя чипы памяти в обеих картах имеют одинаковую скорость записи. Хотя FAT16 менее эффективно использует дисковое пространство из-за больших кластеров, она лучше работает со стратегией записи, необходимой для чипов флэш-памяти. Сами карты могут быть отформатированы в любой тип файловой системы, такой как Ext, JFS, NTFS, или в одну из специализированных файловых систем для флэш-памяти. Их можно разделить на разделы, если хост-устройство может их читать. Компактные флэш-карты часто используются вместо жестких дисков во встроенных системах, терминалах без экрана и различных малогабаритных ПК, предназначенных для малошумной работы или низкого энергопотребления. Компактные флэш-карты часто более доступны и меньше, чем специализированные твердотельные накопители, и часто имеют более быстрое время доступа, чем жесткие диски.

CE-ATA

CE ATA — это последовательный интерфейс, совместимый с MMC и основанный на стандарте MultiMediaCard.

Спрятаться

Вариант CompactFlash, известный как CFast, основан на интерфейсе Serial ATA (SATA), а не на параллельной шине ATA/IDE (PATA), для которой разработаны все предыдущие версии CompactFlash. CFast также известен как CompactFast. CFast 1.0/1.1 поддерживает более высокую максимальную скорость передачи данных, чем существующие карты CompactFlash, используя интерфейс SATA 2.0 (300 МБ/с), в то время как PATA ограничена 167 МБ/с при использовании UDMA 7. Карты CFast физически и электрически несовместимы с картами CompactFlash. Однако, поскольку SATA может эмулировать командный протокол PATA, существующие драйверы программного обеспечения CompactFlash могут быть использованы, хотя разработка новых драйверов для использования AHCI вместо эмуляции PATA почти всегда приведет к значительному увеличению производительности. Карты CFast используют 7-контактный SATA-разъем (гнездо) для передачи данных и 17-контактный разъем (гнездо) для питания, поэтому для подключения карт CFast вместо стандартных жестких дисков SATA, использующих штыревые разъемы, требуется адаптер. Первые карты CFast появились на рынке в конце 2009 года. На выставке CES 2009 компания Pretec представила карту CFast емкостью 32 ГБ и объявила о ее скором появлении в продаже в течение нескольких месяцев. Delock начала распространять карты CFast в 2010 году, предлагая несколько картридеров с портами USB 3.0 и eSATAp (питание через eSATA) для поддержки карт CFast. В стремлении к более высокой производительности и сохранению компактного формата хранения, одними из первых пользователей карт CFast стали представители игровой индустрии (используемые в игровых автоматах), что стало естественной эволюцией от уже хорошо зарекомендовавших себя карт CF. Среди текущих сторонников формата в игровой индустрии как специализированные игровые компании (например, Aristocrat Leisure), так и OEM-производители, такие как Innocore (в настоящее время часть Advantech Co., Ltd.). Спецификация CFast 2.0 была выпущена во втором квартале 2012 года, обновив электрический интерфейс до SATA 3.0 (600 МБ/с). По состоянию на 2014 год единственным продуктом, использующим карты CFast 2.0, была цифровая кинокамера Arri Amira, обеспечивающая частоту кадров до 200 кадров в секунду; также был выпущен адаптер CFast 2.0 для камеры Arri Alexa/XT. 7 апреля 2014 года Blackmagic Design представила кинокамеру URSA, которая записывает данные на носители CFast. 8 апреля 2015 года компания Canon Inc. анонсировала видеокамеру XC10, которая также использует карты CFast. Blackmagic Design также объявила, что URSA Mini будет использовать CFast 2.0. По состоянию на октябрь 2016 года растет число камер, видеорегистраторов и аудиорегистраторов, использующих более высокие скорости передачи данных, предлагаемые носителями CFast. По состоянию на 2017 год в более широкой индустрии встраиваемой электроники переход от CF к CFast все еще происходит относительно медленно, вероятно, из-за соображений стоимости оборудования и некоторой инерции (привычки к CF), а также потому, что значительная часть индустрии удовлетворена более низкой производительностью, обеспечиваемой картами CF, и поэтому не видит необходимости в изменениях. Веским стимулом для перехода на CFast для компаний, занимающихся встраиваемой электроникой и использующих конструкции на основе архитектуры Intel PC, является тот факт, что Intel отказалась от собственной поддержки интерфейса (P)ATA несколько поколений платформ назад, а более старые поколения процессоров/чипсетов достигли конца срока службы.

CFexpress

В сентябре 2016 года Ассоциация CompactFlash объявила о новом стандарте CFexpress, основанном на PCIe 3.0 и NVMe. В апреле 2017 года была опубликована версия 1.0 спецификации CFexpress, поддерживающая две линии PCIe 3.0 в форм-факторе XQD и обеспечивающая скорость до 2 ГБ/с.

Тип I и тип II

Единственное физическое различие между этими двумя типами устройств заключается в том, что устройства типа I имеют толщину 3,3 мм, а устройства типа II — 5 мм. Электрически эти два интерфейса идентичны, за исключением того, что устройства типа I могут потреблять от интерфейса ток питания до 70 мА, в то время как устройства типа II — до 500 мА. Большинство устройств типа II — это устройства Microdrive (см. ниже), другие миниатюрные жесткие диски и адаптеры, например, популярный адаптер для карт Secure Digital. Некоторое количество устройств типа II на основе флэш-памяти было выпущено, но карты типа I теперь доступны в объемах, превышающих объемы жестких дисков CF. Производители карт CompactFlash, такие как Sandisk, Toshiba, Alcotek и Hynix, предлагают устройства, оснащенные только слотами типа I. Некоторые из новейших зеркальных камер, например Nikon D800, также отказались от поддержки типа II.

Микроприводы

Microdrive — это марка крошечных жестких дисков шириной около 25 мм в корпусе CompactFlash Type II. Первый был разработан и выпущен в 1999 году компанией IBM, его емкость составляла 170 МБ. В 2002 году IBM продала свое подразделение по производству дисков, включая торговую марку Microdrive, компании Hitachi. Аналогичные жесткие диски также выпускались другими производителями, такими как Seagate и Sony. Они были доступны в емкости до 8 ГБ, но уступили место флэш-памяти по стоимости, емкости и надежности и больше не производятся. Как механические устройства, CF HDD потребляли больше тока, чем максимальное значение для флэш-памяти — 100 мА. Первые модели потребляли до 500 мА, но более поздние — менее 200 мА при чтении и менее 300 мА при записи. CF HDD также были чувствительны к повреждениям от физических ударов или перепадов температуры. Однако срок службы CF HDD в циклах записи был больше, чем у ранних флэш-памятей. iPod mini, Nokia N91, iriver H10 (модель 5 или 6 ГБ), LifeDrive, Sony NW A1000/3000 и Rio Carbon использовали Microdrive для хранения данных.

По сравнению с другими портативными устройствами хранения

Карты CompactFlash, использующие флэш-память, более надежны, чем некоторые решения с жесткими дисками, поскольку они являются твердотельными. (См. также раздел «Надежность» выше.) Помимо этого, карты CompactFlash толще других форматов карт, что может снизить их подверженность поломкам при небрежном обращении. Поскольку карты CompactFlash поддерживают командный протокол IDE/ATA для взаимодействия с хост-устройством, пассивный адаптер позволяет им функционировать как жесткий диск персонального компьютера, как описано выше. В CompactFlash отсутствуют встроенные механизмы DRM или криптографические функции, которые встречаются в некоторых USB-накопителях и других форматах карт. Отсутствие таких функций способствует открытости стандарта, поскольку стандарты карт с подобными функциями могут регулироваться ограничительными лицензионными соглашениями. Изначальная спецификация CompactFlash предусматривала более высокую максимальную емкость по сравнению с другими форматами карт. Благодаря этому многие ранние устройства для работы с CompactFlash совместимы с современными многогигабайтными накопителями, в то время как пользователям других семейств, например Secure Digital, приходилось переходить на SDHC и SDXC. В CompactFlash отсутствует механический переключатель защиты от записи, который есть в некоторых других устройствах, как показано в сравнении карт памяти. CompactFlash физически больше других форматов карт. Это ограничивает его применение, особенно в миниатюрных потребительских устройствах с ограниченным внутренним пространством, таких как компактные цифровые фотоаппараты. (В качестве компенсации за больший размер, карту легче вставлять и извлекать, а также сложнее потерять.)

Подделка

Рынок карт CompactFlash огромен и включает в себя контрафактную продукцию. Карты неизвестных брендов или подделки могут иметь неверную маркировку, не соответствовать заявленному объему памяти, который их контроллер сообщает устройству, и использовать типы памяти, не рассчитанные на то количество циклов стирания/перезаписи, на которое рассчитывает покупатель.