En qué consiste el sobreaprovisionamiento (OP) de los SSD

Porcentaje de sobre-aprovisionamiento =

Capacidad física - Capacidad del usuario


Capacidad del usuario

Formula del porcentaje de sobre-aprovisionamiento.

Mientras las unidades de estado sólido (SSDs) son frecuentemente similares a los discos duros mecánicos (HDDs) en cuanto a las dimensiones físicas (por ejemplo, altura, ancho y longitud), y la interfaz externa (por ejemplo, interfaz SATA o SAS), la operación interna a bajo nivel y los componentes de un SSD difieren enormemente del diseño de plato magnético giratorio de un HDD.

Después de que se ensambla un SSD, el fabricante del SSD puede reservar un porcentaje adicional de la capacidad total del dispositivo durante la programación del firmware para sobre-aprovisionamiento (OP). El sobre-aprovisionamiento mejora el rendimiento, y frecuentemente aumenta la durabilidad del SSD, ayudando a que el dispositivo dure más gracias a que el Controlador SSD tiene más almacenamiento NAND Flash disponible para aliviar el desgaste de la memoria NAND Flash a lo largo de su vida útil.

Capacidad física:Capacidad del usuario% de sobre-aprovisionamiento:Clase de aplicación
64GB 60GB 7% Lectura intensiva
96GB 90GB 7% Lectura intensiva
128GB 120GB 7% Lectura intensiva
128GB 100GB 28% More Write Intensive
256GB 240GB 7% Lectura intensiva
256GB 200GB 28% More Write Intensive
512GB 480GB 7% Lectura intensiva
512GB 400GB 28% More Write Intensive
1024GB 960GB 7% Lectura intensiva
1024GB 800GB 28% More Write Intensive
2048GB 1800GB 14% Lectura intensiva
2048GB 1600GB 28% More Write Intensive
Exceso de sobre-aprovisionamiento basado en capacidad y clase de aplicación

Las aplicaciones pueden ser de lectura intensiva, por ejemplo, las cargas de trabajo cliente típicas donde el usuario usará un 20% de escritura contra un 80% de lectura. Las aplicaciones empresariales que usan un dispositivo de almacenamiento para lectura en caché serán de lectura intensiva; si estas aplicaciones escriben más datos a un dispositivo de almacenamiento, entonces serán más lectura intensiva.

La capacidad de OP fijada por el fabricante del SSD puede variar en tamaño, dependiendo de la clase de la aplicación del SSD y la capacidad de la memoria total NAND Flash.

Dispositivos para otras clases de aplicación y de mayor capacidad son configurados típicamente con una sobre-aprovisionamiento proporcionalmente mayor, debido a los requerimientos de recursos para el manejo de una mayor NAND Flash debido al uso del recolector de basura, bloques de repuesto y funciones de protección de datos mejoradas.

Esta capacidad de OP no es accesible al usuario y es invisible para el sistema operativo huésped. Está estrictamente reservada para el uso del controlador del SSD.

Ventajas de sobre-aprovisionamiento (OP)

Como el OP mejora la durabilidad de la SSD.

Cada matriz de memoria NAND Flash se compone de varios bloques que contienen una gran cantidad adicional de páginas.

La NAND Flash puede ser leída y escrita a nivel de la página, pero sólo puede ser borrada a nivel de bloque.

Si una sola página tiene que ser modificada o borrada en una página ya programada dentro de un bloque, entonces la totalidad del contenido del bloque, compuesto de varias páginas, deben ser leídos primero a una memoria temporal y luego borrados, antes que el nuevo contenido del bloque se pueda programar para la misma dirección del bloque.

El único escenario en el que una página se puede escribir directamente a un bloque dentro de la memoria NAND Flash sin este tedioso ciclo de leer-modificar-escribir, es cuando la página ya está vacía.

Mantener una gran cantidad de bloques vacíos y en reserva por medio del exceso de sobre-aprovisionamiento ayuda a mantener un rendimiento coherente, sobre todo en escenarios de escritura aleatoria que presentan el mayor factor de amplificación de escritura (WAF).1

Como el OP mejora la durabilidad del SSD.

Para entender por qué la unidad de estado sólido (SSD) se configura con sobre-aprovisionamiento y la forma en que esto beneficia al controlador SSD, tenemos que profundizar en el funcionamiento normal de un SSD y las limitaciones de la memoria NAND Flash no volátil.

Cada celda NAND Flash tiene una esperanza de vida finita, sobre la base de su resistencia a la programación y al borrado (P/B), que se caracteriza durante el proceso de fabricación por parte del fabricante de NAND Flash, porque cada función de programación o de borrado ejecutados en una celda NAND flash reduce la capacidad de la celda de almacenar confiablemente una carga eléctrica, y por lo tanto puede poner en peligro la integridad de los datos.

Sin embargo, a medida que la geometría de la NAND migra de 2D a 3D, la durabilidad de la NAND mejorará, las densidades aumentarán y los costos de producción se reducirán, haciendo los SSDs más asequibles.

En resumen, los tres factores principales que afectan la resistencia del SSD son:
  • Resistencia de la NAND Flash ante la programación/borrado y complejidad de la lectura/programación/borrado relacionada con la geometría (En este caso la geometría incluye tecnología de fabricación en 2 y 3 dimensiones)
  • Capacidad de la unidad SSD
  • Capacidad y eficiencia del controlador SSD (Recolección de basura, amplificación de escritura, gestión de bloques, nivelación de desgaste, código de corrección de errores).

Sosteniendo el rendimiento y la durabilidad por medio del sobre-aprovisionamiento (OP)

Para evitar un escenario donde el SSD esté lleno en su capacidad máxima con páginas no válidas, el exceso de spbre-aprovisionamiento es utilizado por la función de recolección de basura del controlador SSD como un espacio de trabajo temporal para gestionar fusiones programadas de páginas válidas y recuperar bloques llenos de páginas no válidas (o eliminadas).

Cualesquiera páginas/bloques recuperados se añaden a continuación a la capacidad sobre-aprovisionada, para dar cabida a las operaciones de escritura desde el controlador SSD, y para maximizar el rendimiento durante la carga de tráfico pico, ya que el impacto en el rendimiento a partir de la lectura, borrado, modificación y escritura de todas las páginas válidas de nuevo en un bloque ya parcialmente lleno de páginas no válidas, hacen de este un ejercicio lento.

La recolección de basura funciona de forma independiente del sistema operativo, y es activada automáticamente durante los períodos de baja actividad, periódicamente o mediante la emisión del respectivo comando para el TRIM Gestión de conjunto de datos (Data Set Management) de ATA, para programar una recolección de basura.

Un número siempre disponible de bloques vacíos a través de la capacidad sobre-aprovisionada ayuda a mantener una nivelación de desgaste en la NAND Flash efectiva, a medida que el controlador SSD redistribuye inteligentemente las operaciones de escritura por todas las celdas de memoria NAND flash de manera uniforme, sin afectar el rendimiento general del SSD durante cargas de tráfico pico.

Adicionalmente, el comando para el TRIM Gestión de conjunto de datos (Data Set Management) de ATA puede adicionar al espacio disponible en el SSD, al reclamar cualquier página invalida o capacidad de usuario no utilizado.

Capacidad de la unidad formateadaTamaño del sobre-aprovisionamientoAncho de banda de lectura/escritura secuencial4k de IOPS aleatorios de Lectura/escritura constantesTBW (JEDEC Enterprise1)DWPD2
480GB (DC500R) 7% 550/500MB/seg 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/seg 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/seg 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/seg 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/seg 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/seg 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/seg 98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/seg 98,000/75,000 IOPS 9110  1.3
Exceso de sobre-aprovisionamiento basado en capacidad y clase de aplicación

Para entender los efectos del OP, vamos a examinar los SSDs empresariales de Kingston, los SSDsDC500R, para ilustración. Los SSDs se envían en capacidades de hasta 3.84TB, y le permiten a los usuarios usar la herramienta Kingston SSD Manager para ajustar el sobre-aprovisionamiento. Al ajustar el tamaño del OP, usando niveles de OP de 7% o mayores, podemos ver los efectos sobre el rendimiento y la durabilidad.

Cuando comparamos las capacidades emparejadas, podemos ver los siguiente:
  1. Las unidades de más alta capacidad (menos OP) en cada pareja pueden mantener las mismas velocidades (Banda ancha), pero la escritura aleatoria de IOS por segundo (IOPS) se reduce significativamente. Esto quiere decir que las unidades con menos OP se desempeñarán bien para aplicaciones de lectura intensiva, pero pueden ser más lentas para aplicaciones de escritura intensiva, comparadas con dispositivos con 32% de OP.
  2. Un menor sobre-aprovisionamiento quiere decir también que el Total de bytes escritos (TBW) en Terabytes en cada unidad será menor. Entre más grande el porcentaje de OP, más puede durar un SSD. Un DC500R de 960GB puede acomodar hasta 876TB de datos escritos, mientras que una DC500R de 800GB puede alcanzar los 860TBW. Los números de los TBW se derivan del uso de Kingston de las cargas de trabajo JEDEC como referencia1.
  3. Cuando los números de TBW se traducen a Operaciones de escritura a la unidad por día (DWPD) a lo largo del período de garantía, podemos ver que las unidades con 32% de OP casi alcanzan el doble de cantidad de escrituras por día. Por esta razón, un 32% de OP es recomendado para aplicaciones de escritura más intensiva.