Linux Adictos Darkcrizt  

KIOXIA dono a la Fundación Linux un SDK de Software Enabled Flash

SEF

Logo del proyecto SEF

Hace ya algunos días la Fundación Linux dio a conocer el primer lanzamiento de una plataforma abierta destinada al almacenamiento Flash impulsado por software, denominada SEF (Software Enabled Flash). El SDK asociado es una contribución generosa por parte de KIOXIA, una empresa de almacenamiento que se separó de Toshiba hace varios años.

Se destaca que el proyecto Software-Enabled Flash marca un hito transformador para los desarrolladores que buscan un acceso excepcional al potencial creativo de las aplicaciones de almacenamiento flash.

Sobre Software-Enabled Flash

Software-Enabled Flash está constituido por un conjunto de herramientas que comprende una serie de parches para el kernel de Linux, un controlador de bloque diseñado para dispositivos SEF (Software Enabled Flash), utilidades destinadas a la administración mediante línea de comandos, controladores SEF paravirtualizados para QEMU, una biblioteca que proporciona una API para el desarrollo de aplicaciones, parches para nvme-cli y FIO que incorporan soporte para SEF.

El hardware donado incluye el SDK del proyecto SEF, que ofrece a los desarrolladores de almacenamiento de centros de datos acceso a código de muestra y la capacidad de aprovechar todo el potencial del control de medios flash. Esto abarca reducción de WAF, control de latencia, soporte para múltiples protocolos como ZNS y FDP, o Block, y promete capacidades futuras a través de este enfoque de flash dinámico y programable definido por software.

Además, el SDK cuenta con una implementación de referencia de la capa de software FTL (Flash Translation Layer), encargada de traducir los comandos de dispositivos de bloque en accesos al chip de memoria Flash real. Esta capa se encarga también de la recolección de basura y la distribución de datos entre las celdas de memoria. La FTL implementa soporte para la ubicación flexible de datos (FDP – Flexible Data Placement), la zonificación (ZNS – Zoned Namespace) y cumple con la especificación NVMe.

Se menciona que en el caso del almacenamiento Flash convencional para sistemas externos, la unidad se percibe como una caja negra donde una porción de la memoria se destina a operaciones de limpieza, mientras que los indicadores de rendimiento tienden a ser inconsistentes, y se experimentan retrasos impredecibles debido a la actividad del controlador interno, como durante la recolección de basura.

«Estamos muy contentos de alcanzar este hito y lanzar el kit de desarrollo de software para el proyecto Software-Enabled Flash», dijo Eric Ries, vicepresidente senior de la División de Estrategia de Memoria y Almacenamiento de KIOXIA America, Inc. «Este lanzamiento ahora abre el camino hacia usos nuevos e innovadores de flash para aplicaciones de almacenamiento que aprovechan la creatividad y la inventiva de los usuarios, desarrolladores y las comunidades de código abierto».

A diferencia de las unidades flash convencionales, donde la distribución de datos, el aislamiento de bloques defectuosos y la recolección de basura son manejados por el firmware del controlador interno, las unidades con soporte SEF permiten transferir la lógica del trabajo de bajo nivel con el chip de memoria Flash al software y al sistema operativo.

SEF posibilita el control directo de la ubicación física de los datos, la modificación de algoritmos de distribución de carga, la gestión de prioridades y la calidad de servicio (QoS), la eliminación de una capa adicional de traducción de bloques, la utilización completa de la memoria disponible, el logro de un funcionamiento predecible de la unidad y la división de la unidad en dispositivos virtuales aislados en las operaciones de entrada/salida (E/S) con diferentes prioridades de procesamiento. El enfoque propuesto por SEF contribuye a la reducción de costos generales y al aumento de la eficiencia en la interacción con la unidad, adaptando la lógica de recolección de basura, la reserva de memoria y la asignación de bloques para satisfacer las necesidades actuales.

Por ejemplo, SEF permite normalizar el rendimiento al utilizar una variedad de unidades adquiridas en diferentes momentos con características distintas. En el caso de unidades que son principalmente de solo lectura, SEF puede emplear algoritmos de asignación de bloques más simples y reducir la cantidad de memoria reservada para propósitos generales.

Finalmente cabe mencionar que el SDK de SEF está escrito en C y es distribuido bajo la licencia BSD junto con la API y las especificaciones de comando. Puedes consultar el código de SEF en GitHub.

Fuente: https://www.linuxfoundation.org

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.