Archivos corruptos de Seagate Momentus XT (Linux y Mac)

10

Mi disco duro híbrido Seagate Momentus XT está corrompiendo archivos en Linux. Agradecería la ayuda de cualquier persona, pero me gustaría saber si otros usuarios de Momentus XT pueden reproducir este problema; He proporcionado instrucciones paso a paso para reproducir este problema en los foros de la comunidad de Seagate .

Hasta ahora, cuatro usuarios han reproducido este problema en las siguientes computadoras portátiles y distribuciones de SO /:

  • Cinco computadoras portátiles: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 y MacBook Pro (15 "a fines de 2009).
  • Cuatro sistemas operativos / distribuciones: Ubuntu 11.04, Fedora 15, openSUSE y Mac OS X.

Las instrucciones para reproducir el problema son simples. Aquí hay una breve descripción verbal:

  1. Cree un archivo de prueba grande, guárdelo en otro dispositivo de almacenamiento ( no el Momentus XT) y calcule la suma de verificación SHA-1.
  2. Escriba el archivo de prueba en el Momentus XT.
  3. Lea el archivo de prueba del Momentus XT, calcule el SHA-1 y compare esta suma de verificación con la suma de verificación del original. Deberíamos tener un partido. Probablemente hemos reproducido el problema si no coinciden. (Solo 'probablemente', porque es posible que otros problemas causen una falta de coincidencia. Consulte el hilo de Seagate sobre la identificación de este problema específico comparando los archivos cmp -l).
  4. Repita desde el paso (2).

El hilo de Seagate tiene más detalles. Aquí hay algunas notas de mis pruebas (he podido reproducir este problema en tres unidades Momentus XT consecutivas; RMA'd dos veces y ahora estoy en la tercera):

  • Lo que parece estar sucediendo es que el Momentus XT a veces deja de escribir datos en la unidad, de modo que cuando leo desde la unidad, obtengo lo que originalmente estaba en el sector y no los datos correctos. Esto ocurre en bloques de diferentes tamaños; Los tamaños típicos son 1 MiB y 512 KiB.
  • El problema ocurre en ext2, ext4, Btrfs, NTFS y FAT32. Curiosamente, no pude reproducir este problema en ext3.
  • Escribir con el oflag=directindicador de salida en ddevita este problema. El envío rápido de datos al disco while true; do sync; sleep 0.01; donetambién evita el problema.
  • Solo he podido reproducir este problema a través de una interfaz SATA y eSATA. Una conexión USB parece evitar el problema. (No estoy seguro si esto se debe a la velocidad de transferencia).
  • Los problemas ocurren con mayor frecuencia con archivos grandes (> 2 GB). No pude producir problemas con archivos de menos de 85 MB.
  • No pude reproducir el problema en Windows XP con NTFS.
  • Gazoi en los foros de Seagate no pudo reproducir el problema en FreeBSD 8.2 con UFS2.
  • El Momentus XT pasa la prueba SMART extendida y badblocks -wsin problemas.
  • Mi computadora portátil (MS-1656-ID1) ha pasado con éxito durante 24 horas cada una de Memtest86 +, Memtest86, memtester y MPrime.
  • He probado otros dos dispositivos de almacenamiento (un Seagate Momentus 7200.4 y un SSD serie Intel 320) con el mismo procedimiento, y ambos pasan sin problemas.

Si tiene un Momentus XT, intente reproducir este problema y dígame qué sucede.

¿Qué más puedo hacer para diagnosticar el problema?

Vincent Yu
fuente
1
¿Estás reiniciando entre la escritura y la lectura? ¿Va a vaciar el caché para asegurarse de que en realidad se vuelve a leer desde el disco en lugar del caché? Si no es así, que puede ser por qué no se puede reproducir con archivos más pequeños, ya que son más propensos a estar todavía en la memoria caché
psusi
Estoy pasando por alto el caché de la página leyendo con el iflag=directindicador de entrada con dd. Cuando no estoy usando dd, vacío el caché consudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"
Me acabo de dar cuenta de que podrías estar hablando del búfer de disco que está físicamente en el Momentus XT, en lugar del caché de la página de Linux. Tiene un punto en este caso: principalmente no estoy tomando precauciones contra la lectura del búfer de disco, y también estoy leyendo el archivo inmediatamente después de escribirlo. Tal vez debería comprometer las escrituras en varios archivos y luego leerlas en una base FIFO. Dicho esto, el caché de disco de Momentus XT tiene solo 32 MB, y también he realizado algunas pruebas en el pasado donde escribí> 10 GB de archivos pequeños (~ 64 MB), y los leí después sin encontrar ningún daño.
Tal vez hay un error en el firmware de la unidad (¿desbordamiento de enteros?) Que hace que pierda la pista de los bloques no escritos bajo escritura de alta velocidad. O hay algunos bloques defectuosos en el flash que el firmware no pudo detectar. NTFS verifica las escrituras (y ntfs-3g es muy lento), por lo que es poco probable que aparezca el problema. Si no puede encontrar una solución, puede usar ZFS y habilitar la suma de comprobación.
billc.cn
@ billc.cn, he reproducido el problema con NTFS. Btrfs y ZFS con sumas de comprobación de datos no podrán leer los archivos dañados, pero los datos dañados serán irrecuperables. Se necesitará más redundancia (p. Ej., Duplicación de nivel FS o duplicación RAID) para recuperar estos archivos. En cualquier caso, por supuesto no estoy usando el Momentus XT hasta que descubra lo que está sucediendo.
Vincent Yu

Respuestas:

6

La actualización del firmware a SD26 soluciona este problema con la corrupción de archivos en Linux. Desafortunadamente, SD26 no ha sido lanzado públicamente.

La mejor manera de obtener el firmware SD26 es pedirle a Seagate una copia del CD de actualización de arranque o la utilidad de actualización de Windows.

Envié un correo electrónico al Soporte técnico de Seagate el 20 de agosto para preguntar sobre SD26, después de descubrir que resolvió mi problema con la corrupción de archivos. Estas son las dos respuestas que recibí de Seagate Global Customer Support el 23 de agosto:

Gracias por contactar a Seagate hoy. Dame algo de tiempo para hablar con los desarrolladores para que pueda ver qué está pasando con el firmware SD26. Debido a sus descubrimientos, necesitamos investigar un poco. Hacemos muy pocas pruebas con Linux. Déjame ver qué puedo averiguar y si se necesitan más pruebas y una versión pública del firmware. Adjunto el archivo ISO. Volveré contigo tan pronto como tenga noticias. Seagate está muy orientado al cliente y le agradecemos que nos lo haya informado.


Por lo general, no hacemos que el firmware esté disponible públicamente. Puede hacer más daño que bien en las manos equivocadas. Recibimos muchas unidades bloqueadas por actualizaciones incorrectas. Nos gusta que los consumidores nos contacten, para que podamos verificar que una actualización de firmware es necesaria y beneficiosa. Alan M. es nuestro moderador para los foros y hará un anuncio en su hilo. Nuevamente, gracias por informarnos de esto. Nuestros clientes son los mejores y una gran fuente de información y, por lo general, los primeros en informarnos cuando las cosas no funcionan como deberían. Permítanos la oportunidad de solucionar el problema.

Como ya he dicho, creo que es mejor obtener SD26 directamente de Seagate. Sin embargo, también hay copias filtradas tanto del ISO de arranque como de la utilidad de Windows que se encuentran fácilmente al buscar en Google. La suma de comprobación SHA-1 del CD de actualización de arranque SD26 (* .iso) que recibí de Seagate es b7b0c7e1b9529925b0364b2cf19a62d608b58082.

He publicado la información en esta respuesta, y otros detalles diversos, en el hilo de Seagate .

Vincent Yu
fuente
3
El firmware SD28 ya está disponible: seagate.custkb.com/seagate/crm/selfservice/…
madh
4

Toda mención de este problema se ha eliminado de los foros de Seagate. Probablemente se dan cuenta de que la discusión es innecesaria ahora que se puede solucionar el problema actualizando a SD28.

El único problema con eso es que las personas ya no tienen un medio para obtener información autorizada que describa el problema y / o cómo solucionarlo, ya que todas las referencias a cualquier correlación entre el problema y su solución se han eliminado del sitio de Seagate. La descarga de la actualización del firmware todavía está disponible, pero no se menciona lo que hace el firmware, por lo que los usuarios afectados pueden tener dificultades para tratar de encontrar una solución.

Para ayudar a los googlers: la descarga del firmware SD28 en http://knowledge.seagate.com/articles/en_US/FAQ/215451en?language=en_US ES una solución al error de corrupción de datos que ocurre con estos modelos de unidades Seagate Momentus XT:

  • ST92505610AS

  • ST93205620AS

  • ST95005620AS

Miguel
fuente
2

Acabo de verificar que también está sucediendo en OS X. : o (

Sospeché corrupción de datos por dos razones:

1) el momentus XT está diseñado para almacenar en caché los archivos de uso frecuente en los 4 GB de RAM flash, y estos archivos suelen ser pequeños archivos necesarios para cargar programas durante el arranque (archivos de configuración, etc.). Con una frecuencia cada vez mayor, mis programas que están configurados para cargarse al iniciar sesión aparecerán de repente con la configuración predeterminada, o me darán el 'tutorial de bienvenida' y no tendrán configuraciones programadas. Estos incluyen mail.app (sin información de cuenta almacenada), snitch (monitor de puerto sin reglas), quicksilver (bienvenido) y otros. Esto me lleva a creer que los archivos pequeños en el caché están dañados.

2) La unidad sufrió problemas causando `` molinetes giratorios '' donde la unidad parecía haberse girado, y cuando el sistema operativo necesitaba acceder a ella, tuve que esperar a que la unidad volviera a girar. La espera se hizo más frecuente y duró más. En varias ocasiones, simplemente limpiaría el disco y usaría el clonador de copia al carbón para copiar sobre todo lo que se hizo anteriormente. Sin embargo, después de copiar los archivos a momentus xt, muchos de los archivos más grandes (películas, imágenes ISO, archivos zip) estaban dañados y no se cargaban ni se abrían. Pensé que el problema con las pelotas de playa y los spin-down se resolverían cuando actualizé de Snow Leopard a Lion, como algunos usuarios han publicado recientemente, pero el archivo ISO de vista previa de desarrollo de 3.46 Gb que copié en momentus XT desde una unidad USB estaba dañado, así que ni siquiera pude instalar Lion.

Acababa de encontrarme con su hilo en los foros de Seagate y vine a publicar:

Utilicé un programa llamado 'utilidad inteligente' en os x, que decía que la unidad estaba fallando. Creo que el error fue para el código 184, que fueron errores de "extremo a extremo". Me alarmó que la unidad estaba "fallando" pero leí que otros estaban recibiendo este error cuando actualizaron su firmware (como lo hice de SD23 a SD25), y que Seagate solo consideraría que una unidad fallaba si fallaba bajo sus SeaTools .

Puse mi momentus xt en un gabinete USB y ejecuté SeaTools en el disco a través de Windows en otra computadora. SMART Check no era una prueba permitida. Al ejecutar 'prueba de unidad corta' y 'prueba genérica larga', ¿no se informaron errores? Ahora he tratado de duplicar sus métodos en OS X, y también descubrí que los archivos se están corrompiendo. Estoy usando una Macbook Pro 15 "de finales de 2009, y tengo una Momentus XT de 500GB en SD25.

Fred

Fred
fuente
Gracias por informar esto! ¿Puede ejecutar el siguiente comando para comparar un archivo no dañado con su copia corrupta? cmp -l <uncorrupted file> <corrupted copy> | headSi tenemos el mismo problema, debería ver tres columnas de números, y la columna de la izquierda debería tener diez números consecutivos. (Detalles: la columna más a la izquierda muestra los números de bytes de los diferentes bytes, y las otras dos columnas muestran los valores reales de los diferentes bytes.)
Vincent Yu