En informática , el control de recuperación de errores ( ERC ) ( Western Digital : recuperación de errores limitada en el tiempo ( TLER ), Samsung / Hitachi : límite de tiempo de finalización de comando ( CCTL )) es una característica de los discos duros que permite a un administrador de sistemas configurar la cantidad de tiempo que el firmware de una unidad puede pasar recuperándose de un error de lectura o escritura. Limitar el tiempo de recuperación permite un mejor manejo de errores en entornos RAID de hardware o software . En algunos casos, existe un conflicto sobre si el manejo de errores debe ser realizado por el disco duro o por la implementación RAID, lo que lleva a que las unidades se marquen como inutilizables y a una degradación significativa del rendimiento, cuando esto podría haberse evitado de otra manera.
Los discos duros modernos tienen la capacidad de recuperarse de algunos errores de lectura/escritura mediante la reasignación interna de sectores y la realización de otras formas de autoprueba y recuperación. El proceso para esto a veces puede tardar varios segundos o (en caso de uso intensivo) minutos, durante los cuales el disco no responde. Los controladores RAID de hardware y las implementaciones RAID de software están diseñados para reconocer un disco que no responde en unos pocos segundos y marcarlo como no confiable, lo que indica que debe retirarse del uso y reconstruir la matriz a partir de los datos de paridad . Este es un proceso largo, degrada el rendimiento y, si fallan más discos bajo la carga de trabajo adicional resultante, puede ser catastrófico.
Si la unidad en sí es confiable por naturaleza pero tiene algunos sectores defectuosos, TLER y otras funciones similares evitan que un disco se marque innecesariamente como "fallido" al limitar el tiempo que se dedica a corregir los errores detectados antes de avisar al controlador de matriz sobre una operación fallida. El controlador de matriz puede entonces manejar la recuperación de datos de la cantidad limitada involucrada, en lugar de marcar toda la unidad como defectuosa.
En efecto, TLER y otras características similares limitan el rendimiento del manejo de errores en la unidad, para permitir que los controladores RAID de hardware y las implementaciones RAID de software manejen el error si es problemático.
Generalmente, las unidades empresariales Western Digital como Raptor , Caviar RE2 y RE2-GP (RAID Edition) vienen con TLER Read "Enabled" (7 segundos) y TLER Write "Enabled" (7 segundos), mientras que las unidades de escritorio como Caviar SE, SE16 y GP vienen con TLER Read y Write Disabled (configurado como 0 segundos, para deshabilitar).
Es mejor que TLER esté "habilitado" cuando se está en una matriz RAID para evitar que el tiempo de recuperación de un error de lectura o escritura de disco supere el umbral de tiempo de espera de la implementación RAID. Si una unidad se queda sin tiempo, será necesario volver a agregar el disco duro a la matriz manualmente, lo que requiere una reconstrucción y resincronización del disco duro. La habilitación de TLER busca evitar esto interrumpiendo la corrección de errores antes del tiempo de espera, para informar fallas solo para segmentos de datos. El resultado es una mayor confiabilidad en una matriz RAID.
En una configuración independiente, se debe desactivar TLER. Como la unidad no es redundante, informar segmentos como fallidos solo aumentará la intervención manual. Sin un controlador RAID de hardware o una implementación RAID de software para eliminar el disco, la capacidad de recuperación normal (sin TLER) es más estable.
En una configuración RAID de software, la utilidad o no de TLER depende del sistema operativo. Por ejemplo, en FreeBSD, la pila ATA/CAM controla los tiempos de espera y está configurada para aumentarlos progresivamente a medida que ocurren. Por lo tanto, si un disco de escritorio sin TLER comienza a demorar una respuesta a una lectura de sector, FreeBSD volverá a intentar la lectura con tiempos de espera cada vez más largos para evitar que el disco se salga prematuramente de la matriz.
El sistema de archivos ZFS fue diseñado para escribir datos inmediatamente en un sector que se informa como defectuoso o que tarda excesivamente tiempo en leerse (como las unidades que no son TLER); esto generalmente forzará una reasignación inmediata del sector en un sector débil en la mayoría de las unidades. [ cita requerida ]
Los valores de tiempo de espera de desconexión para diferentes controladores RAID de hardware pueden variar entre proveedores; por lo tanto, TLER debe activarse antes de que el controlador agote el tiempo de espera de la unidad. Por ejemplo, 3ware 9650SE utiliza 20 segundos como tiempo de espera, [1] mientras que para LSI Logic utilizado en IBM x-series es de 10 segundos. [2]
La tecnología Intel Matrix RAID / Intel Rapid Storage Technology , ampliamente disponible e integrada en las placas base de servidores Intel y en las placas base de escritorio modernas, es un controlador de pseudohardware, no un verdadero controlador RAID de hardware.
El comando mdadm de Linux simplemente espera y permite que la unidad complete su recuperación; sin embargo, el tiempo de espera del comando predeterminado para la capa de disco SCSI (/sys/block/sd?/device/timeout) es de 30 segundos [3] , después de lo cual intentará reiniciar la unidad y, si eso falla, pondrá la unidad fuera de línea. [4]
El estándar ATA-8 de 2006 define un comando de control de recuperación de errores SCT . [5] Para los discos duros que implementan esta interfaz, se puede utilizar la utilidad smartctl (parte del paquete smartmontools ) para cambiar el tiempo de espera de recuperación de errores a través de . [6] En 2018, ACS-4 agregó una funcionalidad para que la configuración persista después de reiniciar; ahora es compatible con smartctl. [7]-l scterc
Es posible que el control del comportamiento del tiempo de espera a través de la utilidad smartctl no funcione en todas las unidades de disco duro debido a que algunos fabricantes han modificado sus unidades de escritorio para que no incluyan el soporte para el parámetro ERC, [8] [9] supuestamente para forzar las ventas de sus modelos RAID/empresariales más costosos. [ cita requerida ] Richard Gregory, quien escribió el parche ERC original para smartctl, informa que Western Digital retiró el soporte ERC al lanzar un nuevo modelo sin previo aviso. [6]
En Windows, el programa HDAT2 está disponible además de smartctl (que es multiplataforma). [6]
SBC-4 describe un campo LÍMITE DE TIEMPO DE RECUPERACIÓN en la página del modo de recuperación de errores de lectura y escritura que se utiliza para definir cómo la unidad realiza la recuperación de errores. [10] El programa sdparm puede cambiar esta configuración con --set=RTL
. [11]
La utilidad WDTLER.EXE permite habilitar o deshabilitar el parámetro TLER en los discos duros Western Digital. Esta utilidad está escrita para DOS . La utilidad funciona y realiza cambios en todos los discos duros Western Digital compatibles conectados a la computadora. El cambio sobrevive al apagado y encendido. Western Digital solía mencionar la herramienta en una sección de preguntas frecuentes. [12]
La utilidad incluye tres archivos por lotes: TLERSCAN.BAT para obtener el estado actual de la configuración de TLER en todos los discos duros, TLER-ON.BAT para habilitar TLER y TLER-OFF.BAT para deshabilitar TLER. El archivo TLER-ON.BAT incluido establecerá el tiempo de lectura y escritura de TLER en siete segundos. Es posible utilizar la utilidad WDTLER.EXE directamente con los parámetros para un tiempo de espera personalizado.-r# -w#
Western Digital afirma que el uso de la utilidad WDTLER.EXE en unidades más nuevas puede dañar el firmware y dejar el disco inutilizable. La utilidad ya no está disponible en Western Digital y no se podrá cambiar la configuración TLER en las unidades nuevas. Los discos RE solo son adecuados para matrices RAID y los Caviar solo son adecuados para usos que no sean RAID. La utilidad aún funciona para unidades más antiguas [ ¿cuál? ] .
El servicio de atención al cliente de Hitachi declaró en 2009 que existe una herramienta de funciones para cambiar el ERC (conocida como CCTL). [12]
Seagate ofrece una utilidad openSeaChest que le permite consultar y cambiar muchas configuraciones de firmware, incluido el TLER. Si no puede usarla para configurar el TLER, los comandos de línea de comandos relevantes son y .smartctl -l scterr,x,y
openSeaChest_Configure -d /dev/sg0 --sctReadTimer
openSeaChest_Configure -d /dev/sg0 --sctWriteTimer