Bloque defectuoso en el sistema operativo

Bad Block es un área de almacenamiento de medios que ya no es confiable para el almacenamiento de datos porque está completamente dañado o corrompido. 

Sabemos que el disco tiene partes móviles y pequeñas tolerancias, por lo que es propenso a fallar. En caso de que la falla sea completa, entonces se debe reemplazar el disco y restaurar su contenido desde el medio de copia de seguridad al nuevo disco. Más frecuentemente, uno o más sectores se vuelven defectuosos. Incluso vienen más discos de fábrica llamados Bad blocks

Esto también se conoce como sector defectuoso. 

Causa del bloque defectuoso : 

Las unidades de almacenamiento pueden enviarse de fábrica con bloques defectuosos que se originaron en el proceso de fabricación. El dispositivo con bloques defectuosos se marca como defectuoso antes de salir de fábrica. Estos se reasignan con las celdas de memoria adicionales disponibles. 

Un daño físico al dispositivo también hace que un dispositivo sea un bloque defectuoso porque a veces el sistema operativo no puede acceder a los datos. Dejar caer una computadora portátil también dañará el plato de los HDD. A veces, el polvo también causa daños a los discos duros. 

Cuando falla el transistor de memoria, causará daños a la unidad de estado sólido. Las celdas de almacenamiento también pueden volverse poco confiables con el tiempo, ya que el sustrato flash NAND en una celda se vuelve inutilizable después de una cierta cantidad de ciclos de borrado de programa. 

Para el proceso de borrado en la unidad de estado sólido, se requiere una gran cantidad de carga eléctrica a través de las tarjetas flash. Esto degrada la capa de rust que separa los transistores de puerta flotante del sustrato de silicio de la memoria flash y aumentan las tasas de error de bit. El controlador de la unidad puede utilizar mecanismos de detección y corrección de errores para solucionar estos errores. Sin embargo, en algún momento, los errores pueden superar la capacidad del controlador para corregirlos y la celda puede volverse poco confiable. 

Los sectores defectuosos blandos son causados ​​por problemas de software. Por ejemplo, si una computadora se apaga inesperadamente, debido a esto, el disco duro también se apaga en medio de la escritura en un bloque. Debido a esto, los datos contenidos en el bloque no coinciden con el código de error de detección de CRC y se marcaría como sector defectuoso. 

Tipos de bloques defectuosos : 

Hay dos tipos de bloques defectuosos:

  1. Bloque defectuoso físico o duro : Proviene del daño al medio de almacenamiento.
  2. Bloque defectuoso blando o lógico : un bloque defectuoso blando o lógico se produce cuando el sistema operativo (SO) no puede leer los datos de un sector.

Ejemplo – 

Un bloque defectuoso suave incluye cuando la verificación de redundancia cíclica (CRC) o el código de corrección de errores (ECC) para un bloque de almacenamiento en particular no coincide con los datos leídos por el disco.

Cómo se manejan los bloques malos : 

Estos bloques se manejan de varias maneras, pero depende del disco y del controlador. 

En discos simples, como algunos discos con controlador IDE, los bloques defectuosos se manejan manualmente. Una estrategia es escanear el disco para encontrar bloques defectuosos mientras se formatea el disco. Cualquier bloque defectuoso que se descubra como marcado como inutilizable para que el sistema de archivos no los asigne. Si los bloques se estropean durante el funcionamiento normal, se debe ejecutar manualmente un programa especial (como el comando badblocks de Linux) para buscar los bloques defectuosos y bloquearlos. 

Los discos más sofisticados son más inteligentes en cuanto a la recuperación de bloques defectuosos. El trabajo del controlador es mantener la lista de bloques defectuosos. La lista formada por el controlador se inicializa durante el formateo de bajo nivel en la fábrica y se actualiza durante la vida útil del disco. El formateo de bajo nivel contiene los sectores de repuesto que no son visibles para el sistema operativo. La última tarea la realiza el controlador, que consiste en reemplazar cada sector defectuoso lógicamente con los sectores de repuesto. Este esquema también se conoce como ahorro y reenvío de sectores

Una transacción típica de sector defectuoso es la siguiente:

  • Supongamos que el sistema operativo quiere leer el bloque lógico 80.
  • Ahora, el controlador calculará EEC y supondrá que encontró el bloque como malo. Informa al sistema operativo que el bloque solicitado es malo.
  • Siempre, la próxima vez que se reinicie el sistema, se utiliza un comando especial que le indicará al controlador que este sector debe reemplazarse con el sector de repuesto.
  • En el futuro, siempre que haya una solicitud para el bloque 80, el controlador traduce la solicitud a la dirección del sector de reemplazo.

Nota 

La redirección por parte del controlador (es decir, la solicitud traducida a reemplazo) podría invalidar cualquier optimización por parte del algoritmo de programación del disco del sistema operativo. Por esta razón, la mayoría de los discos están formateados para proporcionar algunos sectores de repuesto en cada cilindro y cilindro de repuesto también. Siempre que el bloque defectuoso se vaya a reasignar, el controlador usará el sector de repuesto del mismo cilindro, si es posible; de lo contrario, el cilindro de repuesto también está presente. 

Algunos controladores usan el sector de repuesto para reemplazar el bloque defectuoso, también existe otra técnica para reemplazar el bloque defectuoso que es el deslizamiento del sector

Ejemplo de deslizamiento del sector 

Suponga que el bloque lógico 16 se vuelve defectuoso y el primer sector de repuesto disponible sigue al sector 200. El deslizamiento del sector luego comienza a reasignarse. Todos los sectores del 16 al 200, moviéndolos todos hacia abajo en un lugar. Es decir, el sector 200 se copia en el repuesto, luego el sector 199 en el 200, luego el 198 en el 199, y así sucesivamente, hasta que el sector 17 se copia en el sector 18. 

De esta forma, al deslizar los sectores se libera el espacio del sector 17 para que el sector 16 pueda asignarse a él. 

La sustitución del bloque defectuoso no es totalmente automática, porque los datos del bloque defectuoso normalmente se pierden. Los errores de software desenstringn un proceso en el que se realiza una copia de los datos del bloque y el bloque se salva o se desliza . El error duro que es irrecuperable perderá todos sus datos. Cualquiera que sea el archivo que estaba usando ese bloque debe repararse y eso requiere intervención manual.

Publicación traducida automáticamente

Artículo escrito por itskawal2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *