DirectFlash® es la innovadora solución de administración del flash de Pure, que incluye nuestro software Purity y los Módulos DirectFlash —dos componentes que pueden actualizarse de manera independiente y no disruptiva—.
A continuación le explicamos cómo funciona, por qué es diferente y por qué la necesita.
Descripción general del almacenamiento flash
Inventada por Toshiba en 1980, la memoria flash, también conocida como almacenamiento flash, es un tipo de memoria no volátil (lo que significa que no necesita un suministro de energía continuado) que puede borrarse y reprogramarse electrónicamente.
Hay dos tipos principales de memoria flash —NOR y NAND—, que se diferencian a nivel de circuito por el tipo de puerta lógica que utilizan. Actualmente, el flash NAND supone más del 95% del mercado de memoria flash y se utiliza en casi todos los dispositivos flash no integrados.
Dentro de la categoría NAND, existen varios tipos de memoria, que se clasifican por el número de bits almacenados por celda de memoria:
- SLC: un (único) bit por celda
- MLC: dos (o múltiples) bits por celda
- TLC: tres bits por celda
- QLC: cuatro bits por celda
DirectFlash es el enfoque integral de Pure Storage para el desarrollo de sistemas totalmente flash. Utilizamos el flash “bruto” para construir nuestros Módulos DirectFlash, en lugar de basarnos en las unidades de estado sólido (SSD) que podemos comprar en el mercado. Con ello, obtenemos nuestra memoria flash en un punto distinto de la cadena de suministro del de los otros proveedores de cabinas de estado sólido. Sin embargo, las ventajas de DirectFlash son mucho mayores que las que se derivan de los aspectos económicos de la cadena de suministro.
¿Por qué DirectFlash es diferente?
Otras cabinas totalmente flash o híbridas que utilizan unidades de estado sólido que se venden comercialmente hablan a sus unidades flash básicamente de la misma manera en que lo harían a una unidad de disco duro tradicional: como si se tratara de un conjunto contiguo de bloques idénticos.
Los discos duros tenían pistas y sectores y al colocar todos esos sectores unidos por sus extremos se obtenía una larga lista de bloques. Las unidades de estado sólido reproducen esa misma geometría al integrar unos sistemas complejos entre el sistema y el flash, denominados capa de traducción flash (FTL por sus siglas en inglés).
DirectFlash utiliza un enfoque distinto que habla directamente a la memoria flash, lo que permite maximizar las capacidades del flash y proporcionar más rendimiento, uso de la potencia y eficiencia.
En concreto, DirectFlash ofrece:
- Gestión de los medios a nivel del sistema, en lugar de a nivel de la unidad, lo que significa que las unidades trabajan de forma concertada con el propio sistema, lo que permite:
- Tomar decisiones más inteligentes sobre la colocación de los datos partiendo de un contexto más amplio.
- Entender la actividad del sistema desde el nivel de bloque, archivo u objeto hasta llegar a una celda flash individual.
- Maximizar la eficiencia, al disponer los datos de una forma optimizada para los medios, lo que evita la amplificación de escritura y aumenta la resistencia.
- Evitar el trabajo duplicado, al centralizar funciones como la recolección de la basura, la reserva y la nivelación de desgaste.
- Reducción de los costes totales de los medios, al eliminar los esfuerzos y procesos duplicados que se producen en todas las unidades de un sistema tradicional. Los sistemas con una escala de petabytes que utilizan unidades de estado sólido pueden tener terabytes de DRAM en las propias unidades —sin tan siquiera incluir la memoria del sistema— para mantener sus asignaciones de FTL y metadatos. Cada unidad contiene también su propio espacio de reserva sobreaprovisionado, que es necesario para que la FTL gestione los medios. Cada uno de estos componentes tiene un coste añadido, que a medida que aumenta el tamaño de las unidades representa una porción cada vez mayor del coste total de los medios. El coste por bit de DRAM no ha mejorado en los últimos años, por lo que el uso eficiente de la DRAM será un factor cada vez más crucial.
- Aumento de la fiabilidad de los módulos, ya que el índice de fallos es mucho menor (3-4 veces) en comparación con las unidades de estado sólido, debido principalmente al uso de un firmware más sencillo.
¿Cómo funcionan las unidades de estado sólido?
Una unidad de estado sólido se compone de chips flash NAND, también conocidos como dados flash NAND, cada uno de los cuales está formado a su vez por unos elementos más pequeños llamados bloques, que están constituidos por páginas.
Sin embargo, los bloques flash no admiten las sobreescrituras aleatorias. Una vez que se han escrito datos en una página, es necesario borrar el bloque entero para poder escribir datos nuevos en él. Al mismo tiempo, cada unidad de estado sólido se ha creado para admitir una interfaz de sector de disco retrocompatible.
Esta contradicción se resuelve incluyendo algo en el firmware que se conoce como “capa de traducción flash” (o FTL por sus siglas en inglés), que implementa una interfaz de sector de disco virtual que le permite escribir datos en diferentes páginas flash sin importar el bloque lógico al que iban dirigidos los datos. La FTL realiza un seguimiento de todos estos metadatos de asignación en su propia memoria y su propio almacenamiento de metadatos.