stringtranslate.com

sistema de archivos flash

Un sistema de archivos flash es un sistema de archivos diseñado para almacenar archivos en dispositivos de almacenamiento basados ​​en memoria flash . Si bien los sistemas de archivos flash están estrechamente relacionados con los sistemas de archivos en general, están optimizados para la naturaleza y las características de la memoria flash (como para evitar la amplificación de escritura ) y para su uso en sistemas operativos particulares .

Descripción general

Si bien una capa de dispositivo de bloque puede emular una unidad de disco para que se pueda utilizar un sistema de archivos de propósito general en un dispositivo de almacenamiento basado en flash, esto no es óptimo por varias razones:

Los sistemas de archivos estructurados en registros tienen todas las propiedades deseables para un sistema de archivos flash. [1] Dichos sistemas de archivos incluyen JFFS2 y YAFFS .

Debido a las características particulares de la memoria flash, se utiliza mejor con un controlador para nivelar el desgaste y corregir errores o con sistemas de archivos flash diseñados específicamente , que distribuyen las escrituras en los medios y se ocupan de los largos tiempos de borrado de los bloques flash NAND. El concepto básico detrás de los sistemas de archivos flash es: cuando se va a actualizar el almacén flash, el sistema de archivos escribirá una nueva copia de los datos modificados en un bloque nuevo, reasignará los punteros del archivo y luego borrará el bloque anterior más tarde cuando se haya actualizado. tiempo.

En la práctica, los sistemas de archivos flash se utilizan sólo para dispositivos de tecnología de memoria (MTD), que son memorias flash integradas que no tienen un controlador. Las tarjetas de memoria flash extraíbles y las unidades flash USB tienen controladores integrados para administrar MTD con algoritmos dedicados, [2] [3] como nivelación de desgaste, recuperación de bloques defectuosos, recuperación de pérdida de energía, recolección de basura y corrección de errores , por lo que se utiliza un archivo flash. El sistema tiene un beneficio limitado.

Los dispositivos de memoria flash son cada vez más frecuentes a medida que aumenta el número de dispositivos móviles, disminuye el costo por tamaño de memoria y aumenta la capacidad de los chips de memoria flash.

Orígenes

El primer sistema de archivos flash, que gestionaba una serie de archivos flash como un disco de libre escritura, fue TrueFFS de M-Systems de Israel, presentado como un producto de software en la PC-Card Expo en Santa Clara, California , en julio de 1992 y patentado en 1993. [4]

Uno de los primeros sistemas de archivos flash fue el FFS2 de Microsoft , para uso con MS-DOS , lanzado en otoño de 1992. [5] FFS2 fue precedido por un producto anterior, llamado "FFS", que sin embargo no llegó a ser un archivo flash. sistema, administrando una matriz flash como espacio de escritura una vez y lectura múltiple (WORM) en lugar de como un disco de libre escritura.

Alrededor de 1994, PCMCIA , un grupo industrial, aprobó la especificación Flash Translation Layer (FTL), basada en el diseño de TrueFFS de M-Systems. La especificación fue escrita y propuesta conjuntamente por M-Systems y SCM Microsystems, quienes también proporcionaron las primeras implementaciones funcionales de FTL. Respaldado por Intel, [6] FTL también se convirtió en un diseño de sistema de archivos flash popular en medios que no son PCMCIA.

Sistemas de archivos flash de Linux

JFFS, JFFS2 y YAFFS
JFFS fue el primer sistema de archivos específico para flash para Linux , pero fue rápidamente reemplazado por JFFS2 , desarrollado originalmente para flash NOR. Luego se lanzó YAFFS en 2002, que se ocupa específicamente de flash NAND, y JFFS2 se actualizó para admitir también flash NAND.
UBIF
UBIFS se ha fusionado desde Linux 2.6.22 [7] en 2008. UBIFS se ha desarrollado activamente desde su fusión inicial. [8] UBIFS tiene documentación alojada en infradead.org junto con los controladores JFFS2 y MTD. Algunas comparaciones iniciales muestran UBIFS con una compresión más rápida que F2FS. [9]
RegistroFS
LogFS , otro sistema de archivos flash específico de Linux, se está desarrollando actualmente para abordar los problemas de escalabilidad de JFFS2.
F2FS
F2FS (Sistema de archivos compatible con Flash) se agregó al kernel de Linux 3.8. [10] En lugar de estar destinado a hablar directamente con dispositivos flash sin formato, F2FS está diseñado para usarse en dispositivos de almacenamiento basados ​​en flash que ya incluyen una capa de traducción flash, como tarjetas SD . [11]

Sistemas de archivos de unión

Overlayfs, Unionfs y aufs son sistemas de archivos de unión que permiten combinar múltiples sistemas de archivos y presentarlos al usuario como un solo árbol. Esto permite al diseñador del sistema colocar partes del sistema operativo que nominalmente son de solo lectura en medios diferentes a las áreas normales de lectura y escritura. OpenWrt generalmente se instala en chips flash sin FTL. Utiliza overlayfs para combinar un SquashFS comprimido de solo lectura con JFFS2 .

Capas de traducción

Ver también

Referencias

  1. ^ Arnd Bergmann (18 de febrero de 2011). "Optimización de Linux con unidades flash económicas". LWN.net . Consultado el 26 de enero de 2013 .
  2. ^ "Controlador de llave USB PS2251-63 de Phison". Archivado desde el original el 28 de julio de 2011 . Consultado el 26 de mayo de 2011 .
  3. ^ OpenNFM: un NAND FTL de código abierto para SSD y módulo de almacenamiento integrado
  4. ^ Patente estadounidense 5404485, "Sistema de archivos Flash, Amir Ban" 
  5. ^ Patente de Microsoft FFS2
  6. ^ "Comprensión de la especificación de la capa de traducción Flash (FTL)" (PDF) . Intel . Diciembre de 1998. Archivado desde el original (PDF) el 19 de julio de 2014 . Consultado el 27 de julio de 2015 .
  7. ^ Jonathan Corbet (2 de abril de 2008). "UBIFS". LWN.
  8. ^ Richard Weinberger (24 de septiembre de 2012). "UBI: Solicitud de inclusión de Fastmap". LKML.
  9. ^ Neil Brown (11 de diciembre de 2012). "JFFS2, UBIFS y el crecimiento del almacenamiento flash". LWN.
  10. ^ "Sistemas de archivos y almacenamiento". Registro del kernel: disponible en 3.8 . El h . 2013-01-21 . Consultado el 23 de enero de 2013 .
  11. ^ Neil Brown (10 de octubre de 2012). "Un desmontaje de f2fs". LWN.net . Consultado el 9 de abril de 2014 .

enlaces externos