JFFS
# JFFS

El "Sistema de Ficheros Flash con soporte a Transacciones" (o JFFS) es un sistema de ficheros basado en una estructura de registros para usarse sobre memorias Flash NOR por parte de la empresa Axis Communication AB. En la actualidad, ha sido sustituido por JFFS2.

## Diseño

Añadiendo un nivel de abstracción más, JFFS trata a las memorias flash como un fichero de registro circular. Todos los cambios en ficheros y directorios son escritos en la cabeza del registro en nodos. En cada nodo, una cabecera que contiene los metadatos son escritos primero y después los datos mismos. Los nodos están encadenados por un puntero desplazamiento en la cabecera. Todos los nodos comienzan como válidos para convertirse en obsoletos cuando una nueva versión de ellos es creada.

Entre la cabeza y la cola del registro queda el espacio libre restante del sistema de ficheros, cuando queda poco de éste, un recolector de basura copia los nodos válidos de la cabeza a la cola, saltando los obsoletos, por tanto obteniendo espacio.

## Desventajas

* En tiempo de montaje, el driver debe leer toda la cadena de nodos y guardarla en memoria, lo que lo puede hacer muy lento. El consumo de memoria es proporcional al número de ficheros en el sistema de ficheros.
* El diseño de registro circular significa que todo los datos del sistema de ficheros es reescrito, sin importar si es estático o no. Por tanto, genera muchos ciclos de borrado innecesarios y reduce la vida del medio Flash.
