Distribuciones de voltaje umbral, observaciones de error y red de comprobación de paridad para explicar ECC en NAND
InicioRecursosIngeniería ECC en NAND: de RBER y UBER a BCH, LDPC y read retry
Conocimiento · Fiabilidad NAND

Ingeniería ECC en NAND: de RBER y UBER a BCH, LDPC y read retry

Por Equipo editorial de Kalstor 14 min de lectura
Puntos clave
  • RBER mide errores antes de la corrección; UBER mide datos de usuario incorrectos después de toda la ruta de lectura y recuperación. La relación depende del codeword, la estadística de errores y el decodificador.
  • BCH suele efectuar correcciones algebraicas acotadas con decisiones duras. LDPC puede usar iteraciones e información suave para operar con más ruido, a cambio de más sensado y una latencia de lectura variable.
  • Un dispositivo puede devolver datos correctos mientras pierde margen ECC. El nivel de corrección, la profundidad de retry y la distribución de latencia son indicadores adelantados; el error incorregible llega tarde.
  • La NAND cruda debe emparejarse con el requisito ECC y la geometría exactos. En flash administrada, la calificación debe cubrir fin de vida, retención, temperatura y cola de latencia de la configuración completa.

No se espera que la matriz NAND entregue un flujo de bits físicamente perfecto durante toda su vida. Se espera que el dispositivo entregue datos de usuario correctos después de sensado, corrección, reintentos y, en productos administrados, recuperación del controlador. Esa diferencia es la base de la ingeniería de fiabilidad flash.

Decir “el ECC corrige 80 bits” no basta. Hay que preguntar: ¿80 errores en qué longitud de codeword, con qué distribución, usando decisiones duras o suaves, con qué probabilidad de fallo y con qué coste de latencia? Este artículo construye la cadena desde el error de celda hasta el fallo visible por la aplicación.

Defina primero el punto de observación

CapaMagnitudPunto de observación
Canal NANDRaw bit error rate (RBER)Decisiones de bit antes de ECC
Codeword ECCProbabilidad de fallo del codewordÉxito, miscorrección o fallo del decoder
Dispositivo completoUncorrectable bit error rate (UBER)Datos incorrectos tras toda la recuperación

Definiciones de trabajo:

RBER = bits erróneos sin corregir / bits crudos leídos

UBER = errores de datos no corregidos / bits de usuario leídos

El evento y el denominador deben documentarse. ONFI normaliza la interfaz y la información de parámetros, incluida la correctabilidad ECC para NAND cruda, pero el host/controlador determina el comportamiento final [1]. En flash administrada, código, retry y telemetría suelen ser propietarios.

Por tanto, UBER no pertenece solo al die NAND. Pertenece al canal, sensado, código, decoder, firmware y condición de ensayo.

Modelo de corrección acotada

Suponga un código de decisión dura que corrige como máximo t bits erróneos en un codeword de n bits. Si los errores fueran independientes y cada bit tuviera probabilidad p = RBER, la probabilidad de superar el radio de corrección sería:

Pfallo = 1 - sum[k=0..t] C(n,k) p^k (1-p)^(n-k)

La cola binomial es útil para sensibilidad: un incremento modesto de RBER puede desplazar rápidamente muchos codewords más allá de t.

No es automáticamente el UBER del producto. Los errores cambian por página, capa, desgaste, edad de retención, temperatura y patrón; la correlación invalida la hipótesis independiente. Miscorrección, protección de metadatos, paridad interna y política de retiro también modifican el resultado [4]. Use la ecuación para hacer visibles las hipótesis y después mida la distribución real.

BCH y decisiones duras

Los códigos BCH son códigos algebraicos de bloque asociados a muchas generaciones NAND anteriores. El flujo convencional compara celdas con voltajes de referencia, produce bits duros y corrige hasta la capacidad diseñada.

Ofrecen corrección acotada y una implementación de hardware directa. Su límite aparece cuando las distribuciones de voltaje se estrechan y solapan: la decisión dura descarta cuánto margen tenía el bit. Dos celdas pueden producir el mismo valor aunque una esté centrada y otra apenas cruce el umbral.

KIOXIA resume la evolución desde códigos sencillos hacia BCH y LDPC a medida que crecen los requisitos ECC [2]. Es una tendencia de arquitectura, no permiso para elegir por la etiqueta SLC/MLC/TLC. Mandan la hoja de datos y los parámetros del dispositivo exacto.

LDPC e información suave

LDPC expresa relaciones de paridad mediante una matriz dispersa. Los decodificadores prácticos intercambian iterativamente probabilidades entre nodos de variable y comprobación. En vez de recibir solo cero o uno, pueden usar la confianza de cada observación.

En NAND, la confianza se obtiene con voltajes de referencia adicionales. Varios sensados localizan mejor la celda en el dominio de voltaje y producen información de verosimilitud cuantizada. Una ruta administrada puede escalar así:

  1. lectura por defecto y decodificación rápida;
  2. read retry con referencias ajustadas;
  3. sensados adicionales para información suave;
  4. más iteraciones o recuperación reforzada;
  5. reconstrucción por redundancia, retiro de bloque o error incorregible.

Zhao et al. mostraron que la potencia LDPC y la latencia deben diseñarse juntas: el sensado fino mejora la corrección, pero exige lecturas y cálculo adicionales [3]. Sus cifras corresponden al diseño estudiado; la lección transferible es el mecanismo de latencia variable.

Read retry mueve las fronteras de decisión

Una celda representa datos mediante una región de voltaje umbral. Desgaste, retención, interferencia y disturb ensanchan o desplazan la población. Si las referencias fijas dejan de coincidir con la frontera de mínimo error, RBER sube aunque los datos aún sean recuperables.

Read retry ajusta referencias y vuelve a sensar. Luo et al. describen el modelado de canal y read retry para adaptarse a distribuciones cambiantes [5]. No se repara carga durante el sensado; se formula una mejor decisión sobre el estado analógico.

Después de recuperar los datos, el firmware puede reescribirlos en una ubicación sana. Separe conceptos:

  • read retry: nuevo sensado con condiciones distintas;
  • decodificación ECC: reconstrucción usando observaciones y paridad;
  • refresh/read reclaim: reescritura para recuperar margen futuro;
  • retiro de bloque: exclusión del bloque físico.

Datos correctos pueden ocultar margen decreciente

Un checksum solo observa el final. No distingue una lectura al primer intento de otra recuperada tras muchos retries. Ambas son correctas, pero no tienen el mismo margen ni riesgo temporal.

Indicadores adelantados útiles:

  • bits corregidos o nivel normalizado de corrección;
  • número de retries y paso de referencia que tuvo éxito;
  • uso de decisión dura o suave;
  • iteraciones o nivel de recuperación;
  • latencia mediana, p99, p99,9 y máxima;
  • bloques refrescados o retirados;
  • eventos incorregibles y errores de checksum extremo a extremo.

Los dispositivos administrados rara vez exponen todo. Que un contador no exista no demuestra que el mecanismo no opere. Si la interfaz solo da salud gruesa, la calificación debe reforzar carga controlada, distribuciones de latencia y evidencia del proveedor.

La calificación debe cubrir estados

VariableMotivo
DesgasteLos ciclos P/E ensanchan distribuciones y consumen margen
Edad de retenciónLa fuga de carga mueve referencias óptimas
Temperatura de datosProgramación y lectura cambian con temperatura
Temperatura sin energíaEl calor acelera la degradación de retención
Página/capaEl error puede depender de ubicación
Intensidad de lecturaDisturb y retry dependen de la carga
FirmwareSelección de referencias y decoder viven en firmware

Para NAND cruda, verifique identificación, tamaño de codeword, correctabilidad, área spare, reglas de bad block y estado de PROGRAM/ERASE [1][6]. Un controlador homologado con una revisión NAND no soporta automáticamente un die sustituto.

Para eMMC, UFS, SSD o tarjetas, homologue número de parte y firmware completos. Acondicione muestras, incluya fin de vida y retención, y registre exactitud y latencia en lecturas repetidas. Los ciclos de energía deben confirmar que mapeo y retiro de bloques sobreviven a interrupciones.

Redacte un requisito defendible

Evite “se requiere ECC fuerte”. Use un requisito por capas:

El proveedor identificará la configuración controlada de NAND, controlador y firmware y aportará la declaración de integridad al fin de vida con condiciones de temperatura, retención y carga. Para NAND cruda, aportará correctabilidad y codeword requeridos. Para flash administrada, describirá indicadores disponibles y comportamiento ante lectura corregida, reintentada e incorregible. La calificación incluirá distribuciones de latencia y verificación de datos tras acondicionamiento de desgaste y retención.

No exija matrices LDPC propietarias si el sistema no las necesita. Exija evidencia en la interfaz controlable: datos correctos, latencia de recuperación acotada, manejo visible de errores, configuración fija y notificación de cambios.

Límites de la investigación pública

Gran parte de la caracterización abierta usa MLC/TLC planar porque permitía acceso al comportamiento crudo. La NAND 3D moderna, los algoritmos y el cribado de producción son distintos. Los trabajos explican mecanismos y métodos; no publican un umbral universal de retry, RBER o vida para cualquier producto actual [4][5].

Aplique el mecanismo y obtenga evidencia de la configuración concreta. Esa es la diferencia entre usar investigación y tomar prestado su vocabulario.

Conclusión

ECC es una frontera probabilística, no un número mágico. RBER describe el canal antes de corregir; el fallo depende del código y de la población de errores; UBER describe lo que escapa a la recuperación completa. BCH y LDPC intercambian fuerza, complejidad y latencia, mientras read retry convierte margen analógico en nuevas oportunidades de decodificación.

Para aprobar, mida no solo si los datos acabaron correctos, sino cuánta recuperación y cuánto tiempo exigieron. Ate la evidencia a NAND, controlador y firmware exactos y conéctela con bad blocks y ECC, calificación de retención y control de BOM fija.

Preguntas frecuentes

¿Se puede convertir RBER directamente en UBER?
Solo después de definir código, longitud de codeword, regla de decodificación, distribución de errores, interleaving y criterio de fallo. Un modelo binomial sirve como primera aproximación cuando la independencia es defendible, pero los errores NAND no siempre son independientes ni estacionarios. El UBER del producto corresponde a la implementación completa.
¿LDPC siempre es mejor que BCH?
LDPC puede corregir más y aprovechar información suave cuando el margen NAND se estrecha. También consume cálculo, memoria y energía; las lecturas difíciles pueden exigir más sensados e iteraciones. La elección correcta es la validada con la NAND, el rendimiento y la vida útil concretos.
¿Por qué un SSD envejecido puede leer lento antes de fallar?
Una página débil puede necesitar voltajes de referencia ajustados, sensados repetidos y más iteraciones LDPC antes de reconstruir datos válidos. Esto preserva la corrección, pero aumenta la latencia. Temperatura, garbage collection, interfaz y host pueden producir síntomas parecidos, por lo que hay que correlacionar telemetría y pruebas controladas.
¿Abasteciendo por volumen?

Publicamos la capacidad utilizable medida y aceptamos verificación de lote de prueba — grado automotriz, directo de la fábrica de origen.