El rendimiento de lectura del disco duro es terrible después de ejecutar bloques defectuosos, ¿recuperable?

El rendimiento de lectura del disco duro es terrible después de ejecutar bloques defectuosos, ¿recuperable?

Tengo una colección de unidades nuevas, un amigo me recomendó que ejecutara badblocks en las unidades nuevas antes de usarlas. Ejecuté bloques defectuosos en algunas de las unidades nuevas antes de crear imágenes badblocks -v -s -w -b 4096 -o ./sda.log /dev/sda, otras unidades las imaginé nuevas sin bloques defectuosos. PD: También realicé pruebas de transporte inteligente en las unidades badblocks y las pasé.

Para las unidades en las que ejecuté badblocks, el rendimiento de lectura después de la creación de imágenes es muy bajo dd if=/dev/sda bs=4096 of=/dev/null count=1My los cachés disminuyeron en promedio 71,1 MB/s. Para las unidades que se acaban de grabar con una imagen de disco, la velocidad de lectura promedio es de 195 MB/s.

¿"Rompí" estas unidades ejecutando bloques defectuosos? ¿Puedo recuperarlos/restablecerlos?

Inteligente muestra un

  • alto tiempo de activación para los bloques defectuosos ~3000 (0 para unidades nuevas)
  • Error de lectura cero y reubicación de sector cero en todas las unidades.
  • aprobación de la autoprueba en todas las unidades
  • smartctl -apor lo demás informes casi idénticos

Respuesta1

Respuesta parcial:

badblock -wen realidad escribe cada bloque en lugar de simplemente leerlo, por lo que ha realizado una prueba "destructiva" en lugar de la prueba "no destructiva" normal.

EsopodríaPuede haber una diferencia, en particular si la imagen que has escrito es más pequeña que la capacidad total del disco duro. Los discos duros que solo tienen la imagen tienen los bloques con números más altos intactos, los discos duros con bloques defectuosos tienen un patrón en los bloques con números más altos.

Pero no veo cómo esto puede afectar el rendimiento.

alto tiempo de activación para los bloques defectuosos ~3000 (0 para unidades nuevas)

El giro 0 parece como si el valor aún no estuviera establecido: ningún disco duro puede girar en poco tiempo. ¿El valor permanece en 0 incluso después de haberlos encendido y apagado varias veces?

Incluir algunos informes SMART reales en la pregunta podría ayudar.

Error de lectura cero y reubicación de sector cero en todas las unidades.

¿Qué pasa con los errores de búsqueda? De hecho, pueden tener un impacto en el rendimiento.


Si desea experimentar (esto es un tiro en la oscuridad): tome uno o dos de los discos duros bloqueados incorrectamente, escriba cero en todos los bloques dd(eso sobrescribirá el patrón que badblkse usó), vuelva a crear una imagen del disco duro, vea si funciona una diferencia.

Si es así, entonces el firmware trata de alguna manera los bloques "cero" de manera diferente a los bloques con "datos". Por cualquier razón.


Otra idea es que el disco duro posiblemente tenga algún caché rápido, tal vez memoria flash, lo que serviría para que el disco duro luzca bien en pruebas que miden la velocidad de lectura y escritura de forma sencilla. Por lo tanto, podrían escribir grandes números en la hoja de datos para impulsar las ventas que en realidad no se logran en la operación real. Y al realizar las badblkescrituras se "desborda" el caché por lo que el firmware decide que ya no se puede utilizar.

información relacionada