Skip to Content

¿Qué es DirectFlash y cómo funciona?

collage speed highway and railways in communication supercomputer with binary code; Shutterstock ID 400031566; purchase_order: 0; job: ; client: ; other: Per Eric C request 11/7

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.

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.

¿Cómo funciona DirectFlash?

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:

  • En lugar de que cada unidad de estado sólido tome decisiones sobre la colocación de los datos y la gestión de los medios de manera aislada, Purity conoce todas las tareas del sistema que están en curso y previstas, como la actividad de E/S actual, las operaciones de reducción de datos, los ciclos de recolección de basura pendientes y la carga de trabajo y el estado de toda la cabina. Esto permite que Purity tome unas decisiones de colocación y programación mucho más inteligentes que las que una sola unidad podría tomar por sí misma.
  • Al tomar unas decisiones de colocación de los datos más acertadas, los datos con unos ciclos de vida útil prevista similares pueden colocarse en los mismos bloques, para minimizar los casos en los que hay bloques con datos “desechados”, mientras que otras páginas siguen siendo válidas. Purity sabe si ciertas páginas forman parte del mismo archivo u objeto o si proceden del mismo sistema host y, al agrupar esas páginas en bloques similares, cuando ese archivo u objeto se borra, el bloque completo puede liberarse de una vez, sin tener que reescribir otros datos activos y sin generar amplificación de escritura.
  • Como no hay una recolección de la basura y no se genera amplificación de escritura, los Módulos DirectFlash tienen un rendimiento superior y duran más que sus homólogos que están disponibles en el mercado. Menos escrituras significan menos desgaste y, por lo tanto, una mayor vida útil de la unidad. El hecho de que haya menos escrituras también conlleva que haya más ciclos de E/S disponibles para dar servicio a la E/S de cliente “real”. Y como Purity conoce la actividad de E/S actual y puede ver todo el sistema, nunca se lleva la sorpresa de que uno de esos ciclos de programación/borrado bloquee el acceso a los datos. En el peor de los casos, Purity puede simplemente reconstruir esos datos partiendo de la paridad, en lugar de esperar a que el ciclo de programación/borrado finalice. Esto reduce de manera significativa los peores casos de latencia de nuestros sistemas, incluso cuando se usa el flash QLC.
  • Como efectuamos todas esas tareas de gestión de los medios en el software, podemos mejorar dicho software con el paso del tiempo. Todos los sistemas de Pure Storage® conectados a Internet nos transmiten de manera segura los datos de telemetría y, como conocemos en profundidad el estado y la actividad de la memoria flash subyacente, agregamos y analizamos estos datos para mejorar el funcionamiento de nuestro software en el mundo real. Esto significa que con el tiempo la fiabilidad y el rendimiento de nuestros sistemas pueden mejorar con las actualizaciones periódicas del software.
  • Y, por último, al realizar todas estas actividades a nivel de la cabina en el software, nuestros Módulos DirectFlash no necesitan controladores complejos y grandes cantidades de RAM para hacer por si solos todo este trabajo. Por lo tanto, nuestros módulos son más sencillos y, gracias a ello, más fiables, además de ser más eficientes. También podemos escalar el tamaño de nuestras unidades con los avances en la tecnología de fabricación del flash NAND, sin tener que aumentar la complejidad o el coste de la unidad.

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.

CONTACTAR CON NOSOTROS
¿Preguntas, comentarios?

¿Tiene alguna pregunta o comentario sobre los productos o las certificaciones de Pure?  Estamos aquí para ayudarle.

Programe una Demostración

Programe una demostración en vivo y vea personalmente cómo Pure puede ayudarle a convertir sus datos en unos resultados potentes. 

Llámenos al: +34 51 889 8963

Medios de comunicaciónpr@purestorage.com

 

Castellana 81

28046 Madrid

Oficinas Pure: 1415 y 1417 (planta 14)

info@purestorage.com

CERRAR
Your Browser Is No Longer Supported!

Older browsers often represent security risks. In order to deliver the best possible experience when using our site, please update to any of these latest browsers.