ECC (Error Correcting Code) en Memorias Flash | RecuperoDatos.com
Inicio » Blog » Memorias » ECC (Error Correcting Code) en Memorias Flash

ECC (Error Correcting Code) en Memorias Flash

Debido a la naturaleza inherentemente poco fiables de la memoria NAND, los datos almacenados en Flash NAND no podrán mantener sus valores correctos. A medida que la cantidad de bits influenciados por esta estadísticamente pequeña y muy retratada, los controladores NAND Flash pueden utilizar un nivel de coordinación de Código de error correctivo (ECC) para lograr la dependencia y confianza requerida...

ECC Código de Correción de Error en chips de memoria flash NAND

En el momento en que los datos se escriben a Flash NAND, un ECC se registra y se almacena junto con los datos (normalmente en la región OOB). al llegar el punto en que los datos son leídos de vuelta, el ECC se vuelve a calcular y analizar en contra del que ya está almacenado en flash.

Cualquier error es una señal de error bit en los datos almacenados. Mirando un poco más allá a las inconsistencias entre los ECCs, el producto puede distinguir y alterar los errores de bit en los datos. (Esto espera que el número de discrepancias bits estñe dentro de los límites de la potencia ECC).

Cómo funciona el ECC en memorias NAND

En el punto en que una unidad de datos (o “word”) es restaurada en RAM o cualquier otro dispositivo de almacenamiento como un almacenamiendo periférico, un código que representa la secuencia de bit en el word se calcula y se almacena junto con la unidad de datos. Por cada word de 64-bit, se esperan que 7 bits adicionales almacenene este código.

Cuando la unidad de datos es requerida para leer, un código para el almacenado y word que será leído es de nuevo comprobada, usando el primer calculo. El código de recientemente creado es contrastado y el código producido cuando el word fue almacenado.

En el caso de que los códigos coincidan, los datos estára libre de fallas y se envíara.

Si los códigos no coinciden, los bits que faltan o son incorrectos son puestos a través de la correlación de código y el bit o bits son suministrados o ajustados.

No se hace ningún esfuerzo para corregir los datos que todavía están en el almacenamiento. A la larga, serán sobrescritos con nuevos datos, esperando que los errores fueran transitorios, los bits erróneos “desaparecerán.”

Cualquier lapso que se repite en el mismo almacenamiento después de que el marco ha sido apagado y encendido de nuevo muestra un error de hardware permanente y se envía un mensaje a un registro o a un administrador del marco que muestra el área con los errores intermitentes.

EEC en Memoria NAND

Los procesamiento de ECC, y la consiguiente detección y corrección de errores, pueden ser actualizados en la programación, hardware, o una mezcla de los dos. Las ejecuciones de programación dan la mejor capacidad de adaptación, y no obligan a ningún hardware especial para ejecutar, sin embargo devora recursos de la CPU. La cantidad de recursos necesarios para la CPU puede ser significativo para los esquemas de ECC más avanzado.

Hay dos algoritmos típicos utilizados para la ECC mayormente BCH y Hamming.

  1. BCH: BCH es más intenso que Hamming, el cumplimiento de los niveles configurables de detección multi-bit y posterior corrección. No obstante, el algoritmo BCH es computacionalmente exigente, y las ejecuciones de ECC de programación no son considerados como una opción razonable en la mayoría de las situaciones. Los esquemas de BCH además ponen demandas más prominentes en la capacidad de almacenamiento para los datos ECC.
  2. Hamming:  Código de Hamming es uno de los algoritmos más establecido utilizado para la ECC. Cumple con las expectativas mediante el cálculo de los bits de paridad que se aplican a toda la secuencia de superposición de datos. Esto implica que los bits de paridad tienen la capacidad de comprobar el uno al otro y, además, los datos en sí.

Tenga en cuenta que los esquemas de ECC, teniendo en cuenta el algoritmo de Hamming facultan a la corrección de los resbalones de 1 bit y la detección de los errores de 2-bits en cada sector.

Los algoritmos mencionados anteriormente son únicamente los usados habitualmente, aunque otros códigos de error correccionales (ECC) y memorias Flash NAND pueden ser usadas también.

Leer más sobre: 
¿Te resultó útil? : 
Sin votos aún

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.