CompactFlash ( CF ) — это устройство хранения данных на основе флэш-памяти , используемое в основном в портативных электронных устройствах. Формат был определен, и устройства были впервые произведены компанией SanDisk в 1994 году. [3]
CompactFlash стал одним из самых успешных ранних форматов карт памяти, превзойдя Miniature Card и SmartMedia . Последующие форматы, такие как MMC / SD , различные форматы Memory Stick и xD-Picture Card , составили ему серьезную конкуренцию. Большинство этих карт меньше CompactFlash, но предлагают сопоставимую емкость и скорость. Фирменные форматы карт памяти для использования в профессиональном аудио и видео, такие как P2 и SxS , быстрее, но физически больше и дороже.
Популярность CompactFlash снижается, поскольку на смену ему приходит CFexpress . Начиная с 2022 года новейшие камеры Canon [4] и Nikon [5] , например 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 Association формат карт следующего поколения. Новый формат имеет форм-фактор, аналогичный CF/CFast, но основан на интерфейсе PCI Express вместо Parallel ATA или Serial ATA. [6] [7] С потенциальной скоростью чтения и записи 1 Гбит/с (125 МБ/с ) и возможностями хранения свыше 2 ТиБ , новый формат нацелен на видеокамеры высокой четкости и цифровые камеры высокого разрешения, но новые карты не имеют обратной совместимости ни с CompactFlash, ни с CFast. Формат карт XQD был официально анонсирован CompactFlash Association в декабре 2011 года. [8]
Существует два основных типа карт CF: тип I толщиной 3,3 мм и тип II толщиной 5 мм (CF2). Слот типа II используется миниатюрными жесткими дисками и некоторыми другими устройствами, такими как Hasselblad CFV Digital Back для серии среднеформатных камер Hasselblad. Существует четыре основных скорости карт: оригинальный CF, CF High Speed (использующий CF+/CF2.0), более быстрый стандарт CF 3.0 и более быстрый стандарт CF 4.0, принятый в 2007 году.
CompactFlash изначально был построен на основе флэш-памяти Intel NOR , но затем перешел на технологию NAND . [9] CF — один из старейших и наиболее успешных форматов, особенно хорошо занявший свою нишу на рынке профессиональных камер. Он выиграл как от лучшего соотношения цены и размера памяти, так и, на протяжении большей части жизни формата, как правило, от большей доступной емкости, чем другие форматы.
Карты CF можно использовать непосредственно в слоте PC Card с помощью адаптера-заглушки, использовать как устройство хранения ATA (IDE) или PCMCIA с помощью пассивного адаптера или с помощью считывателя, или подключать к другим типам портов, таким как USB или FireWire . Поскольку некоторые новые типы карт меньше, их можно использовать непосредственно в слоте CF-карты с помощью адаптера. Форматы, которые можно использовать таким образом, включают SD / MMC , Memory Stick Duo, xD-Picture Card в слоте Type I и SmartMedia в слоте Type II, по состоянию на 2005 год. Некоторые многокарточные считыватели также используют CF для ввода-вывода.
Первые карты CompactFlash имели емкость от 2 до 10 мегабайт. [10] Она увеличилась до 64 МБ в 1996 году, 128 МБ в 1998 году, 256 МБ в 1999 году, 512 МБ в 2001 году и 1 ГБ в 2002 году. [11] [12]
Интерфейс CompactFlash представляет собой 50-контактный подмножество 68-контактного разъема PCMCIA [13] . «Его можно легко вставить в пассивный 68-контактный адаптер PCMCIA Type II — CF Type I, который полностью соответствует электрическим и механическим спецификациям интерфейса PCMCIA», — сообщает compactflash.org. [14] Интерфейс работает, в зависимости от состояния контакта режима при включении питания, как 16-битная PC Card (ограничение адреса 0x7FF) или как интерфейс IDE (PATA). [15]
В отличие от интерфейса PC Card, на интерфейсе CompactFlash не предусмотрено специальных напряжений программирования (Vpp1 и Vpp2). [16]
Режим 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. Два других — это Miniature Card (MiniCard) и SmartMedia (SSFDC). Однако позже CF перешел на память типа NAND. Формат IBM Microdrive , позже созданный Hitachi , реализует интерфейс CF Type II, но является жестким диском (HDD) в отличие от твердотельной памяти. Seagate также производила CF HDD.
Скорость эмуляции CompactFlash IDE (ATA) обычно указывается в рейтингах "x", например, 8x, 20x, 133x. Это та же система, которая используется для CD-ROM и указывает максимальную скорость передачи в виде множителя, основанного на исходной скорости передачи данных аудио CD, которая составляет 150 кБ/с.
где R = скорость передачи, K = рейтинг скорости. Например, рейтинг 133x означает скорость передачи: 133 × 150 кБ/с = 19 950 кБ/с ≈ 20 МБ/с.
Это рейтинги скорости производителя. Фактическая скорость передачи данных может быть выше или ниже, чем указано на карте [17] в зависимости от нескольких факторов. Указанный рейтинг скорости почти всегда является скоростью чтения, тогда как скорость записи часто ниже.
Для чтения встроенный контроллер сначала включает чипы памяти из режима ожидания. Чтение обычно происходит параллельно, исправление ошибок выполняется в данных, затем данные передаются через интерфейс по 16 бит за раз. Требуется проверка ошибок из-за ошибок чтения soft. Для записи требуется включение питания из режима ожидания, расчет выравнивания износа, стирание блока области, в которую будет производиться запись, расчет ECC, сама запись (чтение отдельной ячейки памяти занимает около 100 нс, запись в чип занимает 1 мс+ или в 10 000 раз больше).
Поскольку интерфейс USB 2.0 ограничен скоростью 35 МБ/с и не имеет аппаратного обеспечения управления шиной, реализация USB 2.0 приводит к более медленному доступу.
Современные карты UDMA-7 CompactFlash обеспечивают скорость передачи данных до 145 МБ/с [18] и требуют скорости передачи данных USB 3.0. [19]
Прямое подключение к материнской плате часто ограничено 33 МБ/с, поскольку адаптеры IDE-CF не поддерживают высокоскоростной кабель ATA (66 МБ/с и более). Включение из спящего режима/выключения занимает больше времени, чем включение из режима ожидания.
Многие 1-дюймовые (25 мм) жесткие диски (часто называемые торговой маркой « Microdrive ») обычно вращаются со скоростью 3600 об/мин, поэтому задержка вращения является фактором, который следует учитывать, как и раскрутка из режима ожидания или простоя. Диск Seagate ST68022CF объемом 8 ГБ [20] полностью раскручивается за несколько оборотов, но потребляемый ток может достигать 350 миллиампер и работает при среднем токе 40-50 мА. Его среднее время поиска составляет 8 мс , он может поддерживать скорость чтения и записи 9 МБ/с и имеет скорость интерфейса 33 МБ/с. Диск Hitachi Microdrive объемом 4 ГБ имеет время поиска 12 мс, поддерживаемую скорость 6 МБ/с.
Спецификация CF 5.0 поддерживает емкость до 128 ПиБ с использованием 48-битной логической адресации блоков (LBA). [21] До 2006 года накопители CF, использующие магнитные носители, предлагали самую высокую емкость (до 8 ГиБ ). Теперь существуют твердотельные карты с большей емкостью (до 512 ГБ). [22]
Начиная с 2011 года твердотельные накопители (SSD) вытеснили оба типа накопителей CF в плане требований к большой емкости.
SanDisk анонсировала свою карту Extreme III на 16 ГБ на выставке Photokina в сентябре 2006 года. [23] В том же месяце Samsung анонсировала карты CF на 16, 32 и 64 ГБ. [24] Два года спустя, в сентябре 2008 года, PRETEC анонсировала карты на 100 ГБ. [25]
В июне 2004 года компания Seagate анонсировала «1-дюймовый жесткий диск» емкостью 5 ГБ [26] , а в июне 2005 года — версию на 8 ГБ [27].
В начале 2008 года CFA продемонстрировала карты CompactFlash со встроенным интерфейсом SATA . [28] Несколько компаний производят адаптеры, которые позволяют подключать карты CF к соединениям PCI , PCMCIA , IDE и SATA , [29] позволяя карте CF работать как твердотельный накопитель практически с любой операционной системой или BIOS и даже в конфигурации RAID .
Карты CF могут выполнять функцию ведущего или ведомого привода на шине IDE, но имеют проблемы с разделением шины. Более того, карты поздних моделей, которые обеспечивают DMA (используя UDMA или MWDMA), могут представлять проблемы при использовании через пассивный адаптер, который не поддерживает DMA. [30]
Оригинальные карты памяти PC Card использовали внутреннюю батарею для сохранения данных при отключении питания. Единственной проблемой надежности был номинальный срок службы батареи. Карты CompactFlash, которые используют флэш-память, как и другие устройства флэш-памяти, рассчитаны на ограниченное количество циклов стирания/записи для любого «блока». Хотя флэш-память NOR имеет более высокую выносливость, от 10 000 до 1 000 000, она не была адаптирована для использования с картами памяти. Большинство флэш-памятей массового использования основаны на NAND. По состоянию на 2015 год [update]флэш-память NAND была уменьшена до 16 нм. Обычно они рассчитаны на 500–3 000 циклов записи/стирания на блок до жесткого отказа. [31] Это менее надежно, чем магнитные носители. [32] Car PC Hacks [33] предлагает отключить файл подкачки Windows и использовать его расширенный фильтр записи (EWF) для устранения ненужных записей во флэш-память. [34] Кроме того, при форматировании флэш-накопителя следует использовать метод быстрого форматирования, чтобы записывать на устройство как можно меньше данных.
Большинство устройств флэш-памяти CompactFlash ограничивают износ блоков, изменяя физическое местоположение, в которое записывается блок. Этот процесс называется выравниванием износа . При использовании CompactFlash в режиме ATA вместо жесткого диска выравнивание износа становится критически важным, поскольку блоки с низкими номерами содержат таблицы, содержимое которых часто меняется. Современные карты CompactFlash распределяют выравнивание износа по всему диску. Более продвинутые карты CompactFlash будут перемещать данные, которые редко изменяются, чтобы обеспечить равномерный износ всех блоков.
Флэш-память NAND подвержена частым ошибкам чтения. [33] Карта CompactFlash включает проверку и исправление ошибок (ECC), которая обнаруживает ошибку и перечитывает блок. Процесс прозрачен для пользователя, хотя он может замедлить доступ к данным.
Поскольку устройство флэш-памяти является твердотельным , оно менее подвержено ударам, чем вращающийся диск.
Возможность электрического повреждения при перевернутом подключении предотвращается асимметричными боковыми слотами, при условии, что хост-устройство использует подходящий разъем.
Маленькие карты потребляют около 5% мощности, необходимой маленьким дисковым накопителям, и при этом имеют приемлемую скорость передачи данных более 45 МБ/с для более дорогих «высокоскоростных» карт. [35] Однако предупреждение производителя относительно флэш-памяти, используемой для ReadyBoost, указывает на потребление тока более 500 мА.
Карты CompactFlash для использования в потребительских устройствах обычно форматируются как FAT12 (для носителей до 16 МБ), FAT16 (для носителей до 2 ГБ, иногда до 4 ГБ) и FAT32 (для носителей больше 2 ГБ). Это позволяет персональным компьютерам читать устройства, но также подходит для ограниченной вычислительной мощности некоторых потребительских устройств, таких как камеры .
Существуют различные уровни совместимости между камерами, MP3-плеерами, КПК и другими устройствами, совместимыми с FAT32. Хотя любое устройство, которое заявляет о поддержке FAT32, должно без проблем считывать и записывать данные на карту, отформатированную в FAT32, некоторые устройства сталкиваются с картами объемом более 2 ГБ, которые полностью не отформатированы, в то время как другим может потребоваться больше времени для применения формата FAT32.
То, как многие цифровые камеры обновляют файловую систему при записи на карту, создает узкое место FAT32. Запись на карту в формате FAT32 обычно занимает немного больше времени, чем запись на карту в формате FAT16 с аналогичными возможностями производительности. Например, Canon EOS 10D записывает одну и ту же фотографию на карту CompactFlash объемом 2 ГБ в формате FAT16 несколько быстрее, чем на карту CompactFlash объемом 4 ГБ в формате FAT32 с той же скоростью, хотя чипы памяти на обеих картах имеют одинаковую спецификацию скорости записи. [36] Хотя FAT16 более расточительна по отношению к дисковому пространству из-за больших кластеров, она лучше работает со стратегией записи, которую требуют чипы флэш-памяти.
Сами карты могут быть отформатированы в любой файловой системе, например Ext , JFS , NTFS или в одной из специализированных файловых систем флэш-памяти . Их можно разделить на разделы, если хост-устройство может их прочитать. Карты CompactFlash часто используются вместо жестких дисков во встраиваемых системах, немых терминалах и различных ПК малого форм-фактора, которые созданы для низкого уровня шума или энергопотребления. Карты CompactFlash часто более доступны и меньше, чем специально созданные твердотельные накопители , и часто имеют более быстрое время поиска, чем жесткие диски.
Когда CompactFlash только стандартизировался, даже полноразмерные жесткие диски редко были больше 4 ГБ, поэтому ограничения стандарта ATA считались приемлемыми. Однако карты CF, произведенные после оригинальной спецификации Revision 1.0, доступны с емкостью до 512 ГБ. В то время как текущая версия 6.0 работает в режиме [P]ATA, ожидается, что будущие версии будут реализовывать режим SATA .
CE-ATA — это последовательный MMC-совместимый интерфейс, основанный на стандарте MultiMediaCard . [39] [40]
Вариант CompactFlash, известный как CFast, основан на интерфейсе Serial ATA (SATA), а не на шине Parallel 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-контактный разъем питания, [41] поэтому для подключения карт CFast вместо стандартных жестких дисков SATA, которые используют мужские разъемы, требуется адаптер.
Первые карты CFast появились на рынке в конце 2009 года. [42] На выставке CES 2009 компания Pretec представила карту CFast емкостью 32 ГБ и объявила, что она должна выйти на рынок в течение нескольких месяцев. [43] Компания 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, [44] позволяющая снимать со скоростью до 200 кадров в секунду; также был выпущен адаптер CFast 2.0 для камеры Arri Alexa/XT . [45]
7 апреля 2014 года компания Blackmagic Design анонсировала кинокамеру URSA, которая записывает на носитель CFast. [46]
8 апреля 2015 года Canon Inc. анонсировала видеокамеру XC10 , которая также использует карты CFast. [47] Blackmagic Design также объявила, что ее URSA Mini будет использовать CFast 2.0. [ необходима цитата ]
По состоянию на октябрь 2016 года растет число камер, видеорегистраторов и аудиорегистраторов, использующих более высокие скорости передачи данных, предлагаемые CFast media.
По состоянию на 2017 год в более широкой отрасли встраиваемой электроники переход с CF на CFast все еще происходит относительно медленно, вероятно, из-за соображений стоимости оборудования и некоторой инерции (знакомства с CF), а также потому, что значительная часть отрасли удовлетворена более низкой производительностью, обеспечиваемой картами CF, и поэтому не имеет причин для перехода. Сильным стимулом для перехода на CFast для компаний, занимающихся встраиваемой электроникой и использующих проекты на основе архитектуры Intel PC, является тот факт, что Intel удалила собственную поддержку интерфейса (P)ATA несколько платформ проектирования назад, а старые поколения CPU/PCH теперь имеют статус окончания срока службы.
В сентябре 2016 года Ассоциация CompactFlash анонсировала новый стандарт на основе PCIe 3.0 и NVMe, CFexpress . [48] В апреле 2017 года была опубликована версия 1.0 спецификации CFexpress с поддержкой двух линий PCIe 3.0 в форм-факторе XQD со скоростью до 2 ГБ/с. [49]
Единственное физическое различие между этими двумя типами заключается в том, что толщина устройств типа I составляет 3,3 мм, а толщина устройств типа II — 5 мм. [50] С точки зрения электротехники оба интерфейса одинаковы, за исключением того, что устройствам типа I разрешено потреблять до 70 мА тока питания от интерфейса, тогда как устройствам типа II разрешено потреблять до 500 мА.
Большинство устройств Type II — это устройства Microdrive (см. ниже), другие миниатюрные жесткие диски и адаптеры, такие как популярный адаптер, который принимает карты Secure Digital. [51] [52] Было произведено несколько устройств Type II на основе флэш-памяти, но карты Type I теперь доступны с емкостью, превышающей CF HDD. Производители карт CompactFlash, такие как Sandisk, Toshiba, Alcotek и Hynix, предлагают устройства только со слотами Type I. Некоторые из последних цифровых зеркальных камер, такие как Nikon D800 , также отказались от поддержки Type II. [53]
Microdrive — это бренд крошечных жестких дисков — шириной около 25 мм (1 дюйм) — в корпусе CompactFlash Type II. Первый был разработан и выпущен в 1999 году компанией IBM , с емкостью 170 МБ. IBM продала свое подразделение по производству дисководов, включая торговую марку Microdrive, компании Hitachi в 2002 году. Схожие жесткие диски также производили другие производители, такие как Seagate и Sony. Они были доступны с емкостью до 8 ГБ, но были вытеснены флэш-памятью по стоимости, емкости и надежности и больше не производятся. [54]
Как механические устройства, жесткие диски CF потребляли больше тока, чем 100 мА, максимум флэш-памяти. Ранние версии потребляли до 500 мА, но более поздние потребляли менее 200 мА для чтения и менее 300 мА для записи. Жесткие диски CF также были подвержены повреждениям от физического удара или перепадов температуры. Однако жесткие диски CF имели более длительный срок службы циклов записи, чем ранние флэш-памяти. [ необходима цитата ]
iPod mini , Nokia N91 , iriver H10 (модель на 5 или 6 ГБ), LifeDrive , Sony NW-A1000/3000 и Rio Carbon использовали Microdrive для хранения данных. [ требуется ссылка ]
Рынок CompactFlash обширен и включает подделки . Неоригинальные или поддельные карты могут иметь неправильную маркировку, могут не содержать фактический объем памяти, который их контроллеры сообщают хост-устройству, и могут использовать типы памяти, которые не рассчитаны на ожидаемое покупателем количество циклов стирания/перезаписи. [55] [56]
Поскольку интерфейс CompactFlash электрически идентичен 16-битной PC Card , форм-фактор CompactFlash также используется для различных устройств ввода-вывода и интерфейсов. Многие стандартные PC-карты имеют аналоги CF, вот некоторые примеры:
Показан смотрящим на карту.