CompactFlash ( CF ) es un dispositivo de almacenamiento masivo de memoria flash que se utiliza principalmente en dispositivos electrónicos portátiles. El formato fue especificado y los dispositivos fueron fabricados por primera vez por SanDisk en 1994. [3]
CompactFlash se convirtió en uno de los formatos de tarjetas de memoria más exitosos, superando a Miniature Card y SmartMedia . Los formatos posteriores, como MMC / SD , varios formatos Memory Stick y xD-Picture Card , ofrecieron una dura competencia. La mayoría de estas tarjetas son más pequeñas que CompactFlash, pero ofrecen una capacidad y velocidad comparables. Los formatos de tarjetas de memoria propietarios para uso en audio y video profesional, como P2 y SxS , son más rápidos, pero físicamente más grandes y más costosos.
La popularidad de CompactFlash está disminuyendo a medida que CFexpress se hace cargo. A partir de 2022, las cámaras de gama alta más nuevas de Canon [4] y Nikon [5] , por ejemplo, Canon EOS R5 , Canon EOS R3 y Nikon Z 9, usan tarjetas CFexpress para obtener el mayor rendimiento necesario para grabar videos en 8K.
Las tarjetas CompactFlash tradicionales utilizan la interfaz Parallel ATA , pero en 2008 se anunció una variante de CompactFlash, CFast. CFast (también conocida como CompactFast) se basa en la interfaz Serial ATA .
En noviembre de 2010, SanDisk, Sony y Nikon presentaron un formato de tarjeta de próxima generación a la CompactFlash Association. El nuevo formato tiene un factor de forma similar al CF/CFast pero se basa en la interfaz PCI Express en lugar de Parallel ATA o Serial ATA. [6] [7] Con velocidades de lectura y escritura potenciales de 1 Gbit/s (125 MB/s ) y capacidades de almacenamiento superiores a 2 TiB , el nuevo formato está destinado a videocámaras de alta definición y cámaras digitales de alta resolución, pero las nuevas tarjetas no son compatibles con versiones anteriores ni con CompactFlash ni con CFast. El formato de tarjeta XQD fue anunciado oficialmente por la CompactFlash Association en diciembre de 2011. [8]
Existen dos subdivisiones principales de tarjetas CF: tipo I de 3,3 mm de grosor y tipo II de 5 mm (CF2). La ranura de tipo II se utiliza para discos duros en miniatura y otros dispositivos, como el respaldo digital Hasselblad CFV para la serie Hasselblad de cámaras de formato medio. Existen cuatro velocidades principales de tarjeta: CF original, CF High Speed (que utiliza CF+/CF2.0), el estándar CF 3.0 más rápido y el estándar CF 4.0 más rápido adoptado a partir de 2007.
CompactFlash se creó originalmente en torno a la memoria flash basada en NOR de Intel , pero luego cambió a la tecnología NAND . [9] CF es uno de los formatos más antiguos y exitosos, y ha mantenido un nicho en el mercado de cámaras profesionales especialmente bien. Se ha beneficiado tanto de una mejor relación costo-tamaño de memoria como, durante gran parte de la vida del formato, de una capacidad disponible generalmente mayor que otros formatos.
Las tarjetas CF se pueden utilizar directamente en una ranura para PC Card con un adaptador de enchufe, como dispositivo de almacenamiento ATA (IDE) o PCMCIA con un adaptador pasivo o con un lector, o acopladas a otros tipos de puertos como USB o FireWire . Como algunos tipos de tarjetas más nuevos son más pequeños, se pueden utilizar directamente en una ranura para tarjetas CF con un adaptador. Los formatos que se pueden utilizar de esta manera incluyen SD / MMC , Memory Stick Duo, xD-Picture Card en una ranura Tipo I y SmartMedia en una ranura Tipo II, a partir de 2005. Algunos lectores de múltiples tarjetas también utilizan CF para E/S.
Las primeras tarjetas CompactFlash tenían capacidades de 2 a 10 megabytes. [10] Esta capacidad aumentó a 64 MB en 1996, 128 MB en 1998, 256 MB en 1999, 512 MB en 2001 y 1 GB en 2002. [11] [12]
La interfaz CompactFlash es un subconjunto de 50 pines del conector PCMCIA de 68 pines [13] . "Se puede insertar fácilmente en un adaptador pasivo PCMCIA Tipo II a CF Tipo I de 68 pines que cumple totalmente con las especificaciones de interfaz mecánica y eléctrica de PCMCIA", según compactflash.org. [14] La interfaz funciona, dependiendo del estado de un pin de modo al encenderse, como una tarjeta PC de 16 bits (límite de dirección 0x7FF) o como una interfaz IDE (PATA). [15]
A diferencia de la interfaz de PC Card, no se proporcionan voltajes de programación dedicados (Vpp1 y Vpp2) en la interfaz CompactFlash. [16]
El modo CompactFlash IDE define una interfaz que es más pequeña que la interfaz ATA , pero eléctricamente idéntica a ella . El dispositivo CF contiene un controlador ATA y aparece ante el dispositivo anfitrión como si fuera un disco duro . Los dispositivos CF funcionan a 3,3 voltios o 5 voltios, y pueden intercambiarse de un sistema a otro. CompactFlash admite CHS y direccionamiento de bloques lógicos de 28 bits (CF 5.0 introdujo compatibilidad con LBA-48). Las tarjetas CF con memoria flash pueden hacer frente a cambios de temperatura extremadamente rápidos. Las versiones industriales de tarjetas de memoria flash pueden funcionar en un rango de −45 °C a +85 °C.
La memoria flash basada en NOR tiene una densidad menor que los sistemas más nuevos basados en NAND , y por lo tanto CompactFlash es el formato de tarjeta de memoria físicamente más grande de los tres que se introdujeron a principios de los años 90, ya que deriva de los formatos de tarjeta de memoria JEIDA/PCMCIA. Los otros dos son la tarjeta miniatura (MiniCard) y la SmartMedia (SSFDC). Sin embargo, CF cambió a la memoria de tipo NAND más tarde. El formato IBM Microdrive , fabricado posteriormente por Hitachi , implementa la interfaz CF Tipo II, pero es una unidad de disco duro (HDD) en lugar de una memoria de estado sólido. Seagate también fabricó HDD CF.
La velocidad de emulación de CompactFlash IDE (ATA) se suele especificar en valores "x", por ejemplo, 8x, 20x, 133x. Este es el mismo sistema que se utiliza para los CD-ROM e indica la velocidad de transferencia máxima en forma de multiplicador basado en la velocidad de transferencia de datos del CD de audio original, que es de 150 kB/s.
donde R = tasa de transferencia, K = índice de velocidad. Por ejemplo, el índice 133x significa una tasa de transferencia de: 133 × 150 kB/s = 19.950 kB/s ≈ 20 MB/s.
Estas son clasificaciones de velocidad del fabricante. La velocidad de transferencia real puede ser mayor o menor que la que se muestra en la tarjeta [17] dependiendo de varios factores. La clasificación de velocidad indicada casi siempre es la velocidad de lectura, mientras que la velocidad de escritura suele ser más lenta.
Para las lecturas, el controlador integrado primero enciende los chips de memoria desde el modo de espera. Las lecturas suelen realizarse en paralelo, se realiza la corrección de errores en los datos y luego se transfieren a través de la interfaz de 16 bits a la vez. Se requiere una comprobación de errores debido a errores de lectura de software. Las escrituras requieren el encendido desde el modo de espera, el cálculo de nivelación de desgaste, un borrado de bloque del área en la que se va a escribir, el cálculo de ECC y la escritura en sí (la lectura de una celda de memoria individual demora alrededor de 100 ns, una escritura en el chip demora 1 ms o más o 10 000 veces más).
Debido a que la interfaz USB 2.0 está limitada a 35 MB/s y carece de hardware de control de bus, la implementación de USB 2.0 da como resultado un acceso más lento.
Las modernas tarjetas CompactFlash UDMA-7 proporcionan velocidades de datos de hasta 145 MB/s [18] y requieren velocidades de transferencia de datos USB 3.0. [19]
La conexión directa a la placa base suele estar limitada a 33 MB/s porque los adaptadores IDE a CF no admiten cables ATA de alta velocidad (66 MB/s o más). El encendido desde el modo de suspensión/apagado lleva más tiempo que el encendido desde el modo de espera.
Muchos discos duros de 1 pulgada (25 mm) (a menudo denominados por el nombre de marca registrada " Microdrive ") normalmente giran a 3600 RPM, por lo que la latencia rotacional es un factor a tener en cuenta, al igual que el arranque desde el modo de espera o inactivo. La unidad ST68022CF de 8 GB de Seagate [20] gira por completo en unas pocas revoluciones, pero la corriente consumida puede alcanzar hasta 350 miliamperios y funciona a una corriente media de 40-50 mA. Su tiempo de búsqueda promedio es de 8 ms y puede sostener 9 MB/s de lectura y escritura, y tiene una velocidad de interfaz de 33 MB/s. El Microdrive de 4 GB de Hitachi tiene una búsqueda de 12 ms, 6 MB/s sostenidos.
La especificación CF 5.0 admite capacidades de hasta 128 PiB utilizando direccionamiento de bloque lógico (LBA) de 48 bits. [21] Antes de 2006, las unidades CF que utilizaban medios magnéticos ofrecían las capacidades más altas (hasta 8 GiB ). Ahora hay tarjetas de estado sólido con capacidades más altas (hasta 512 GB). [22]
A partir de 2011, las unidades de estado sólido (SSD) han reemplazado a ambos tipos de unidades CF para requisitos de gran capacidad.
SanDisk anunció su tarjeta Extreme III de 16 GB en la feria comercial Photokina , en septiembre de 2006. [23] Ese mismo mes, Samsung anunció tarjetas CF de 16, 32 y 64 GB. [24] Dos años después, en septiembre de 2008, PRETEC anunció tarjetas de 100 GB. [25]
Seagate anunció un "disco duro de 1 pulgada" de 5 GB en junio de 2004, [26] y una versión de 8 GB en junio de 2005. [27]
A principios de 2008, la CFA presentó tarjetas CompactFlash con una interfaz SATA incorporada . [28] Varias empresas fabrican adaptadores que permiten conectar tarjetas CF a conexiones PCI , PCMCIA , IDE y SATA , [29] lo que permite que una tarjeta CF actúe como una unidad de estado sólido con prácticamente cualquier sistema operativo o BIOS, e incluso en una configuración RAID .
Las tarjetas CF pueden realizar la función de unidad maestra o esclava en el bus IDE, pero tienen problemas para compartir el bus. Además, las tarjetas de modelos recientes que proporcionan DMA (mediante UDMA o MWDMA) pueden presentar problemas cuando se utilizan a través de un adaptador pasivo que no admite DMA. [30]
Las tarjetas de memoria PC Card originales utilizaban una batería interna para mantener los datos cuando se cortaba la energía. La vida útil nominal de la batería era el único problema de confiabilidad. Las tarjetas CompactFlash que utilizan memoria flash, al igual que otros dispositivos de memoria flash, están clasificadas para un número limitado de ciclos de borrado/escritura para cualquier "bloque". Si bien la memoria flash NOR tiene una mayor resistencia, que va desde 10 000 a 1 000 000, no se han adaptado para el uso de tarjetas de memoria. La mayoría de las memorias flash para uso en almacenamiento masivo se basan en NAND. A partir de 2015, [update]las memorias flash NAND se estaban reduciendo a 16 nm. Por lo general, están clasificadas para 500 a 3000 ciclos de escritura/borrado por bloque antes de una falla total. [31] Esto es menos confiable que los medios magnéticos. [32] Car PC Hacks [33] sugiere deshabilitar el archivo de intercambio de Windows y usar su filtro de escritura mejorado (EWF) para eliminar escrituras innecesarias en la memoria flash. [34] Además, al formatear una unidad de memoria flash, se debe utilizar el método de formato rápido, para escribir lo menos posible en el dispositivo.
La mayoría de los dispositivos de memoria flash CompactFlash limitan el desgaste de los bloques al variar la ubicación física en la que se escribe un bloque. Este proceso se denomina nivelación del desgaste . Cuando se utiliza CompactFlash en modo ATA para reemplazar la unidad de disco duro , la nivelación del desgaste se vuelve crítica porque los bloques de numeración baja contienen tablas cuyo contenido cambia con frecuencia. Las tarjetas CompactFlash actuales distribuyen la nivelación del desgaste en toda la unidad. Las tarjetas CompactFlash más avanzadas moverán datos que rara vez cambian para garantizar que todos los bloques se desgasten de manera uniforme.
La memoria flash NAND es propensa a errores de lectura de software frecuentes. [33] La tarjeta CompactFlash incluye un sistema de verificación y corrección de errores (ECC) que detecta el error y vuelve a leer el bloque. El proceso es transparente para el usuario, aunque puede ralentizar el acceso a los datos.
Como un dispositivo de memoria flash es de estado sólido , se ve menos afectado por los golpes que un disco giratorio.
La posibilidad de daños eléctricos debido a una inserción al revés se evita mediante ranuras laterales asimétricas, suponiendo que el dispositivo anfitrión utilice un conector adecuado.
Las tarjetas pequeñas consumen alrededor del 5% de la energía requerida por las unidades de disco pequeñas y aún tienen velocidades de transferencia razonables de más de 45 MB/s para las tarjetas de "alta velocidad" más caras. [35] Sin embargo, la advertencia del fabricante en la memoria flash utilizada para ReadyBoost indica un consumo de corriente superior a 500 mA.
Las tarjetas CompactFlash que se utilizan en dispositivos de consumo suelen tener el formato FAT12 (para medios de hasta 16 MB), FAT16 (para medios de hasta 2 GB, a veces hasta 4 GB) y FAT32 (para medios de más de 2 GB). Esto permite que los dispositivos puedan ser leídos por ordenadores personales, pero también se adapta a la capacidad de procesamiento limitada de algunos dispositivos de consumo, como las cámaras .
Existen distintos niveles de compatibilidad entre cámaras, reproductores MP3, PDA y otros dispositivos compatibles con FAT32. Si bien cualquier dispositivo que diga tener capacidad para FAT32 debería leer y escribir en una tarjeta formateada en FAT32 sin problemas, algunos dispositivos tienen problemas con tarjetas de más de 2 GB que no están formateadas en absoluto, mientras que otros pueden tardar más en aplicar un formato FAT32.
La forma en que muchas cámaras digitales actualizan el sistema de archivos a medida que escriben en la tarjeta crea un cuello de botella FAT32. Escribir en una tarjeta con formato FAT32 generalmente lleva un poco más de tiempo que escribir en una tarjeta con formato FAT16 con capacidades de rendimiento similares. Por ejemplo, la Canon EOS 10D escribe la misma foto en una tarjeta CompactFlash de 2 GB con formato FAT16 algo más rápido que en una tarjeta CompactFlash de 4 GB con formato FAT32 de la misma velocidad, aunque los chips de memoria en ambas tarjetas tienen la misma especificación de velocidad de escritura. [36] Aunque FAT16 desperdicia más espacio en disco con sus clústeres más grandes, funciona mejor con la estrategia de escritura que requieren los chips de memoria flash.
Las tarjetas se pueden formatear con cualquier tipo de sistema de archivos, como Ext , JFS , NTFS o uno de los sistemas de archivos flash dedicados . Se pueden dividir en particiones siempre que el dispositivo host pueda leerlas. Las tarjetas CompactFlash se utilizan a menudo en lugar de discos duros en sistemas integrados, terminales tontas y varias PC de formato pequeño que están diseñadas para una salida de ruido o un consumo de energía bajos. Las tarjetas CompactFlash suelen estar más disponibles y son más pequeñas que las unidades de estado sólido diseñadas específicamente y, a menudo, tienen tiempos de búsqueda más rápidos que los discos duros.
Cuando se empezó a estandarizar CompactFlash, incluso los discos duros de tamaño completo rara vez superaban los 4 GB, por lo que las limitaciones del estándar ATA se consideraban aceptables. Sin embargo, las tarjetas CF fabricadas después de la especificación original de la Revisión 1.0 están disponibles en capacidades de hasta 512 GB. Si bien la revisión actual 6.0 funciona en modo [P]ATA, se espera que las revisiones futuras implementen el modo SATA .
CE-ATA es una interfaz serial compatible con MMC basada en el estándar MultiMediaCard . [39] [40]
Una variante de CompactFlash conocida como CFast se basa en la interfaz Serial ATA (SATA), en lugar del bus Parallel ATA /IDE (PATA) para el que se diseñaron todas las versiones anteriores de CompactFlash. CFast también se conoce como CompactFast.
CFast 1.0/1.1 admite una velocidad de transferencia máxima más alta que las tarjetas CompactFlash actuales, utilizando la interfaz SATA 2.0 (300 MB/s), mientras que PATA está limitada a 167 MB/s utilizando UDMA 7 .
Las tarjetas CFast no son compatibles física ni eléctricamente con las tarjetas CompactFlash. Sin embargo, dado que SATA puede emular el protocolo de comandos PATA, se pueden utilizar los controladores de software CompactFlash existentes, aunque escribir nuevos controladores para utilizar AHCI en lugar de la emulación PATA casi siempre dará como resultado importantes mejoras de rendimiento. Las tarjetas CFast utilizan un conector de datos SATA hembra de 7 pines y un conector de alimentación hembra de 17 pines, [41] por lo que se requiere un adaptador para conectar tarjetas CFast en lugar de discos duros SATA estándar que utilizan conectores macho.
Las primeras tarjetas CFast llegaron al mercado a finales de 2009. [42] En el CES 2009, Pretec mostró una tarjeta CFast de 32 GB y anunció que debería llegar al mercado en unos pocos meses. [43] Delock comenzó a distribuir tarjetas CFast en 2010, ofreciendo varios lectores de tarjetas con puertos USB 3.0 y eSATAp (alimentación a través de eSATA) para soportar tarjetas CFast.
En busca de un mayor rendimiento y manteniendo un formato de almacenamiento compacto, algunos de los primeros en adoptar las tarjetas CFast se encontraban en la industria del juego (se utilizaban en máquinas tragamonedas), como una evolución natural de las ya consolidadas tarjetas CF. Entre los partidarios actuales del formato en la industria del juego se encuentran tanto empresas especializadas en juegos (por ejemplo, Aristocrat Leisure ) como fabricantes de equipos originales (OEM) como Innocore (ahora parte de Advantech Co., Ltd.).
La especificación CFast 2.0 se publicó en el segundo trimestre de 2012, actualizando la interfaz eléctrica a SATA 3.0 (600 MB/s). En 2014, el único producto que empleaba tarjetas CFast 2.0 era la cámara de producción digital Arri Amira, [44] que permitía velocidades de cuadro de hasta 200 fps; también se lanzó un adaptador CFast 2.0 para la cámara Arri Alexa/XT . [45]
El 7 de abril de 2014, Blackmagic Design anunció la cámara de cine URSA, que graba en formato CFast. [46]
El 8 de abril de 2015, Canon Inc. anunció la videocámara XC10 , que también utiliza tarjetas CFast. [47] Blackmagic Design también anunció que su URSA Mini utilizará CFast 2.0. [ cita requerida ]
A partir de octubre de 2016, hay un número creciente de cámaras, grabadoras de video y grabadoras de audio que utilizan las velocidades de datos más rápidas que ofrecen los medios CFast.
En 2017, en la industria de la electrónica integrada en general, la transición de CF a CFast sigue siendo relativamente lenta, probablemente debido a consideraciones de costo de hardware y cierta inercia (familiaridad con CF) y porque una parte significativa de la industria está satisfecha con el menor rendimiento que ofrecen las tarjetas CF, por lo que no tiene motivos para cambiar. Un fuerte incentivo para cambiar a CFast para las empresas de electrónica integrada que utilizan diseños basados en la arquitectura Intel PC es el hecho de que Intel ha eliminado el soporte nativo para la interfaz (P)ATA hace algunas plataformas de diseño y las generaciones anteriores de CPU/PCH ahora tienen el estado de fin de vida útil.
En septiembre de 2016, la CompactFlash Association anunció un nuevo estándar basado en PCIe 3.0 y NVMe, CFexpress . [48] En abril de 2017, se publicó la versión 1.0 de la especificación CFexpress, con soporte para dos líneas PCIe 3.0 en un factor de forma XQD para hasta 2 GB/s. [49]
La única diferencia física entre los dos tipos es que los dispositivos de tipo I tienen un espesor de 3,3 mm, mientras que los de tipo II tienen un espesor de 5 mm. [50] Eléctricamente, las dos interfaces son iguales, excepto que a los dispositivos de tipo I se les permite consumir hasta 70 mA de corriente de suministro de la interfaz, mientras que los de tipo II pueden consumir hasta 500 mA.
La mayoría de los dispositivos de Tipo II son dispositivos Microdrive (ver más abajo), otros discos duros en miniatura y adaptadores, como un adaptador popular que acepta tarjetas Secure Digital. [51] [52] Se fabricaron algunos dispositivos de Tipo II basados en flash, pero ahora hay tarjetas de Tipo I disponibles en capacidades que superan a los discos duros CF. Los fabricantes de tarjetas CompactFlash como Sandisk, Toshiba, Alcotek e Hynix ofrecen dispositivos con ranuras de Tipo I únicamente. Algunas de las cámaras DSLR más recientes , como la Nikon D800 , también han dejado de admitir el Tipo II. [53]
Microdrive era una marca de discos duros diminutos (de unos 25 mm (1 pulgada) de ancho) en un encapsulado CompactFlash Tipo II. El primero fue desarrollado y lanzado en 1999 por IBM , con una capacidad de 170 MB. IBM vendió su división de unidades de disco, incluida la marca registrada Microdrive, a Hitachi en 2002. Otros fabricantes también fabricaron discos duros comparables, como Seagate y Sony. Estaban disponibles en capacidades de hasta 8 GB, pero han sido reemplazados por la memoria flash en cuanto a costo, capacidad y confiabilidad, y ya no se fabrican. [54]
Como dispositivos mecánicos, los HDD CF consumían más corriente que el máximo de 100 mA de la memoria flash. Las primeras versiones consumían hasta 500 mA, pero las más recientes consumían menos de 200 mA para lecturas y menos de 300 mA para escrituras. Los HDD CF también eran susceptibles a sufrir daños por golpes físicos o cambios de temperatura. Sin embargo, los HDD CF tenían una vida útil más larga de ciclos de escritura que las primeras memorias flash. [ cita requerida ]
El iPod mini , el Nokia N91 , el iriver H10 (modelo de 5 o 6 GB), LifeDrive , Sony NW-A1000/3000 y Rio Carbon usaban un Microdrive para almacenar datos. [ cita requerida ]
El mercado de tarjetas CompactFlash es amplio e incluye falsificaciones . Las tarjetas falsificadas o de otras marcas pueden estar mal etiquetadas, no contener la cantidad real de memoria que sus controladores informan al dispositivo anfitrión y pueden utilizar tipos de memoria que no están clasificados para la cantidad de ciclos de borrado/reescritura que el comprador espera. [55] [56]
Dado que la interfaz CompactFlash es eléctricamente idéntica a la de la tarjeta PC Card de 16 bits , el formato CompactFlash también se utiliza para una variedad de dispositivos de entrada/salida e interfaz. Muchas tarjetas PC estándar tienen contrapartes CF, algunos ejemplos incluyen:
Se muestra mirando dentro de la tarjeta.