Los ECC y los bloques de memoria vacíos ayudan a proteger de errores los datos de los SSD Kingston

Protección de extremo a extremo de los datos

Todas las unidades SSD de Kingston incorporan la protección de extremo a extremo de los datos, que protege los datos del cliente inmediatamente después de ser transferidos desde el sistema host hasta la unidad SSD, y de vuelta desde la SSD hasta el ordenador host.

Transferencia interna de datos en las unidades SSD

Todas las SSD incorporan un controlador que permite la comunicación entre la unidad y el sistema host que la aloja. La escritura y lectura de datos a la unidad SSD se hace a través de dicho controlador, sin importar el formato de la unidad (2.5", tarjeta interna en ranura, M.2, etc.) ni el protocolo utilizado (por ejemplo SATA o NVMe).

Actualmente están disponibles muchos diseños distintos de controladores SSD. Aunque algunos incorporan memoria caché (generalmente de módulos SRAM) como parte de su diseño, otros podrían utilizar uno o varios chips autónomos de memoria DRAM. La DRAM se utiliza para almacenar temporalmente las tablas de asignación de la memoria Flash y los datos de usuario que estén siendo procesados. Algunos diseños de controlador no utilizan módulos individuales de memoria DRAM, sino que en cambio utilizan una porción de la memoria Flash NAND para el almacenamiento de las tablas de asignación.

Las unidades SSD utilizan chips de memoria Flash NAND para el almacenamiento de datos. Los chips NAND son del tipo de memoria no volátil, que mantienen almacenados los datos aunque no reciban electricidad. Cuando el controlador SSD necesita almacenar o recuperar datos debe escribirlos o leerlos de los chips de memoria Flash NAND.

Detección y corrección de errores

Las unidades SSD deben preservar la integridad de los datos en el trayecto entre la PC host y su almacenamiento en módulos NAND, a través del controlador SSD. A menudo se hace referencia a las transferencias de datos entre el host y la SSD antes de que sean realmente escritas al almacenamiento en memoria Flash NAND como “datos en tránsito”. Los controladores SSD incorporan tecnologías de corrección de errores (denominadas ECC por las siglas en inglés de "código de corrección de errores") a efectos de detectar y corregir la mayoría de los errores que pudieran afectar a los datos en su trayecto. Los chips de memoria Flash almacenan información adicional de corrección de errores cuando escriben cada uno de los bloques de datos a la unidad; dicha información permite al controlador SSD corregir de manera simultánea muchos errores durante la lectura de bloques. Los chips de memoria Flash NAND, al igual que los discos duros, se enfrentan a errores de bit durante su operación normal. Dichos errores son detectados y corregidos sobre la marcha a partir de los datos de ECC.

En casos poco comunes no es posible corregir los errores en los datos de un bloque que esté siendo leído. El controlador SSD detecta esos casos como de errores no corregibles por ECC (UECC) e informa del error al ordenador host. Las unidades SSD están diseñadas para ser extremadamente fiables. En el caso de las SSD de categoría cliente, los errores UECC usualmente están en un nivel de 1 por cada 10

-15 bits leídos, y las de categoría empresarial están en un nivel de 1 por cada 10-16 bits leídos. Con el uso de las relaciones UBER (relación de errores de bit irrecuperables) de los estándares JEDEC JEDS218A y JESD219 para unidades SSD, se espera que una unidad SSD de categoría empresarial se vea afectada por 1 error irrecuperable de bit en una relación de 1 error por cada 10 mil billones de bits (~1,11 Petabytes) leídos, en comparación con las de categoría cliente cuya cifra equivalente es de 1 error por cada 1 mil billones de bits (~0,11 Petabytes) leídos.

Las unidades SSD de Kingston también incorporan bloques de reserva en sus módulos Flash NAND. Esas zonas de almacenamiento generalmente se encuentran en el espacio de sobredotación (OP) de las unidades, y no son accesibles por el usuario. Si un módulo NAND presenta una cantidad excesiva de errores en un bloque de datos, se marcará el bloque como defectuoso, se sacará del servicio y se pasará a servicio un bloque de reserva como sustituto. Durante ese proceso se utilizará, de ser necesaria, la corrección ECC de errores de los datos. El uso de bloques de reserva prolonga la vida útil y la resistencia de las unidades SSD.