¿Qué es la Administración de Bloques Defectuosos?
Administración de bloques defectuosos detecta y marca los bloques defectuosos, utiliza la capacidad adicional reservada para sustituir los bloques defectuosos, y evita que los datos se escriban dentro de los bloques defectuosos, lo que incrementa la fiabilidad del producto.
Dos tipos de Bloques Defectuoso
Hay dos tipos de bloques defectuosos en la memoria NAND Flash: Bloque Defectuoso Inicial (Early Bad Block) y Bloque Defectuoso Posterior (Late Bad Block). Bloques defectuoso inicial son esos creados durante el proceso de producción, y generalmente representan 1% de la capacidad. Estos bloques defectuosos son un resultado inevitable durante el proceso de producción. Por otra parte, Bloques Defectuoso Posterior son creados durante la vida útil de la memoria flash a lo largo del tiempo a medida que los ciclos de programación y borrado se ejecutan repetidamente durante el uso normal. Aproximadamente 7% de la capacidad de almacenamiento es reservada para eventualmente sustituir los bloques defectuosos posteriores.
¿Cómo funciona la Administración de Bloques Defectuosos?
Cuando un dispositivo NAND Flash es usado por primera vez, una Tabla de Bloque Defectuoso es creada; el controlador viene integrado con un programa de administración que verifica cada bloque. Cuando un Bloque Defectuoso Inicial es detectado, el programa marca el bloque como bloque defectuoso en la Tabla de Bloque Defectuoso para evitar que datos sean guardados en ese bloque. Cuando el controlador identifica un Bloque Defectuoso Posterior, el bloque defectuoso es registrado en la Tabla de Bloque Defectuoso, adicionalmente los datos en el bloque son transferidos a un bloque de estado valido para evitar la pérdida de datos. Ilustrado en la siguiente figura.
Como se observa en la figura, el controlador primero realiza los algoritmos de código de corrección de errores (ECC / Error Correction Code) en bloques en los que no puede escribir. Cuando el algoritmo falla en corregir el bloque, los datos validos son transferidos a un bloque reservado. Después de remover los datos, el bloque defectuoso se marca y se registra como tal en la Tabla de Bloques Defectuosos para evitar que datos se vuelvan a escribir en este bloque.
Conclusión
Los repetidos ciclos de programar/borrar gradualmente desgastan los bloques útiles, por lo cual el chequeo continuo de bloques defectuosos y sustituirlos por bloques útiles es una tarea esencial. Los dispositivos Flash modernos equipados con Administración de Bloques Defectuosos poseen una vida útil extendida, mejor fiabilidad, y una tasa interior de errores leer/escribir. Esta tecnología es indispensable para los productos Flash.