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.
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:
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.
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:
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.
Sin embargo, como ahora está escribiendo nuevas versiones de los datos en diferentes páginas flash, al final acaba acumulando datos en esos bloques que podrían considerarse “basura”, ya que los datos se han sobrescrito o borrado lógicamente.
Para recuperar esa capacidad física, un proceso del “recolector de basura” en el firmware de la unidad coge los datos que siguen siendo válidos y los traslada a una nueva ubicación, para así poder borrar luego todo el bloque que contiene los datos “desechados”. Para que este recolector de basura funcione, cada unidad necesita tener una memoria flash adicional, que se conoce como “espacio sobreaprovisionado”, y cada evento de recolección de basura consume un ciclo de la cantidad limitada de ciclos de programación-borrado del flash. La cantidad de escrituras físicas en la unidad que cada escritura lógica consume se conoce como “amplificación de escritura”.
El sobreaprovisionamiento y la amplificación de escritura provocan un desgaste prematuro y hacen que las unidades de estado sólido tengan una vida útil más corta. Este diseño también repercute en el rendimiento, porque cada vez que uno de estos dados flash realiza una recolección de basura, no está disponible para las lecturas o las escrituras. Por lo tanto, el rendimiento de una unidad de estado sólido fluctúa de un modo imprevisible, en función de si el recolector de basura está más o menos activo.
Además, lo que complica aún más las cosas es el hecho de que la unidad de estado sólido no tiene ninguna manera de comunicar esta actividad de recolección de basura al sistema que accede a ella. En lugar de ello, la unidad de estado sólido tiene que seguir aparentando que es igual que un disco duro. Y a medida que el número de bits por celda del flash NAND aumenta, estas anomalías en el rendimiento no hacen sino empeorar, ya que los ciclos de programación/borrado tardan cada vez más, lo que genera unos periodos más largos de inaccesibilidad a los datos.
DirectFlash adopta un enfoque diferente de la gestión de los medios flash. En lugar de encomendar a cada unidad de estado sólido que realice su propia nivelación de desgaste, recolección de basura y sobreaprovisionamiento, el sistema operativo Purity realiza esas funciones en el software a nivel de la cabina. Esto significa que cada Módulo DirectFlash es más sencillo que un disco de estado sólido tradicional, ya que solo tiene que proporcionar acceso a los propios medios y manejar datos de bajo nivel y tareas de señalización.
Las ventajas que esto ofrece son numerosas:
Esto permite que los clientes dispongan de unos sistemas que ofrecen un mayor rendimiento, de un modo más constante, y más fiabilidad y longevidad que los de otros sistemas totalmente flash o híbridos que utilizan las unidades de estado sólido en su diseño.
Pure se fundó con la convicción de que el futuro del centro de datos era totalmente flash y hemos desarrollado nuestra tecnología DirectFlash con el objetivo de hacer que esa visión sea una realidad. Creemos que la mejor manera de desarrollar los sistemas totalmente flash es creando el sistema desde cero para el flash. Eso significa que eliminamos las partes del sistema diseñadas teniendo en cuenta las interfaces y los paradigmas tradicionales y que permitimos que la tecnología muestre todo su potencial.