File corrotti Seagate Momentus XT (Linux e Mac)


10

Il mio disco rigido ibrido Seagate Momentus XT sta corrompendo i file su Linux. Gradirei l'aiuto di chiunque, ma mi piacerebbe in particolare sapere se altri utenti di Momentus XT sono in grado di riprodurre questo problema; Ho fornito istruzioni dettagliate per la riproduzione di questo problema nei forum della community di Seagate .

Finora, quattro utenti hanno riprodotto questo problema sui seguenti laptop e SO / distribuzioni:

  • Cinque laptop: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 e MacBook Pro (15 "fine 2009).
  • Quattro sistemi operativi / distribuzioni: Ubuntu 11.04, Fedora 15, openSUSE e Mac OS X.

Le istruzioni per riprodurre il problema sono semplici. Ecco una breve descrizione verbale:

  1. Crea un file di prova di grandi dimensioni, salvalo su un altro dispositivo di archiviazione ( non Momentus XT) e calcola il checksum SHA-1.
  2. Scrivi il file di prova su Momentus XT.
  3. Leggi il file di test da Momentus XT, calcola SHA-1 e confronta questo checksum con il checksum dell'originale. Dovremmo avere una partita. Probabilmente abbiamo riprodotto il problema se non corrispondono. (Solo "probabilmente", perché è possibile che altri problemi causino una mancata corrispondenza. Vedere il thread Seagate sull'identificazione di questo problema specifico confrontando i file con cmp -l.)
  4. Ripetere dal passaggio (2).

La discussione di Seagate ha maggiori dettagli. Ecco alcune note del mio test (sono stato in grado di riprodurre questo problema su tre unità Momentus XT consecutive; ho fatto RMA due volte e ora sono sul terzo):

  • Quello che sembra accadere è che Momentus XT a volte trascura di scrivere dati sull'unità, in modo che quando leggo dall'unità, ottengo ciò che era originariamente sul settore e non i dati corretti. Ciò si verifica in blocchi di diverse dimensioni; le dimensioni tipiche sono 1 MiB e 512 KiB.
  • Il problema si verifica su ext2, ext4, Btrfs, NTFS e FAT32. Stranamente, non sono stato in grado di riprodurre questo problema su ext3.
  • Scrivere con il oflag=directflag di output in ddevita questo problema. Anche il commit rapido dei dati su disco while true; do sync; sleep 0.01; doneimpedisce il problema.
  • Sono stato in grado di riprodurre questo problema solo attraverso un'interfaccia SATA e eSATA. Una connessione USB sembra prevenire il problema. (Non sono sicuro che ciò sia dovuto alla velocità di trasferimento.)
  • I problemi si verificano più spesso con file di grandi dimensioni (> 2 GB). Non sono stato in grado di produrre problemi con file di dimensioni inferiori a circa 85 MB.
  • Non sono riuscito a riprodurre il problema su Windows XP con NTFS.
  • Gazoi nei forum Seagate non è stato in grado di riprodurre il problema su FreeBSD 8.2 con UFS2.
  • Momentus XT supera sia il test SMART esteso che badblocks -wsenza problemi.
  • Il mio laptop (MS-1656-ID1) ha superato con successo 24 ore ciascuno di Memtest86 +, Memtest86, memtester e MPrime.
  • Ho testato altri due dispositivi di archiviazione (un Seagate Momentus 7200.4 e un Intel SSD serie 320) con la stessa procedura ed entrambi passano senza problemi.

Se hai un Momentus XT, prova a riprodurre questo problema e fammi sapere cosa succede.

Cos'altro posso fare per diagnosticare il problema?


1
Stai riavviando tra la scrittura e la lettura? Stai svuotando la cache per assicurarti che sia effettivamente riletta dal disco anziché dalla cache? In caso contrario, potrebbe essere questo il motivo per cui non è possibile riprodurlo con file più piccoli poiché è più probabile che siano ancora nella cache
psusi

Sto ignorando la cache della pagina leggendo con il iflag=directflag di input con dd. Quando non sto usando dd, sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"

Mi sono appena reso conto che potresti parlare del buffer del disco che si trova fisicamente su Momentus XT, anziché sulla cache delle pagine di Linux. In questo caso hai un punto: per lo più non prendo alcuna precauzione contro la lettura del buffer del disco e sto anche leggendo immediatamente il file dopo averlo scritto. Forse dovrei commettere le scritture su più file e poi leggerle su base FIFO. Detto questo, la cache del disco Momentus XT ha solo 32 MB e in passato ho anche fatto alcuni test in cui ho scritto> 10 GB di file di piccole dimensioni (~ 64 MB) e li ho letti in seguito senza trovare corruzione.

Forse c'è un bug nel firmware dell'unità (overflow intero?) Che lo fa perdere traccia di blocchi non scritti durante la scrittura ad alta velocità. Oppure ci sono alcuni blocchi danneggiati sul flash che il firmware non è riuscito a rilevare. NTFS verifica le scritture (e ntfs-3g è molto lento), quindi è improbabile che appaia il problema. Se non riesci a trovare una correzione, potresti voler utilizzare ZFS e abilitare il checksum.
billc.cn,

@ billc.cn, ho riprodotto il problema con NTFS. Btrfs e ZFS con checksum dei dati non riusciranno in modo evidente a leggere i file danneggiati, ma i dati danneggiati non saranno recuperabili. Sarà necessaria una maggiore ridondanza (ad es. Mirroring a livello di FS o mirroring RAID) per recuperare questi file. In ogni caso, ovviamente non sto usando Momentus XT fino a quando non avrò capito cosa sta succedendo.
Vincent Yu,

Risposte:


6

L'aggiornamento del firmware su SD26 risolve questo problema con la corruzione dei file su Linux. Sfortunatamente, SD26 non è stato rilasciato pubblicamente.

Il modo migliore per ottenere il firmware SD26 è chiedere a Seagate una copia del CD di aggiornamento di avvio o dell'utilità di aggiornamento di Windows.

Ho inviato un'e-mail all'assistenza tecnica di Seagate il 20 agosto per chiedere informazioni su SD26, dopo aver scoperto che risolveva il mio problema con la corruzione dei file. Ecco le due risposte che ho ricevuto dall'assistenza clienti globale di Seagate il 23 agosto:

Grazie per aver contattato Seagate oggi. Dammi un po 'di tempo per ottenere con gli sviluppatori in modo da poter vedere cosa sta succedendo con il firmware SD26. A causa delle tue scoperte, dobbiamo fare un po 'di indagine. Facciamo pochissimi test con Linux. Fammi vedere cosa posso scoprire e se sono necessari ulteriori test e una versione pubblica del firmware. Allego il file ISO. Tornerò con te non appena avrò risposta. Seagate è molto orientato al cliente e ti ringraziamo per averlo portato alla nostra attenzione.


Di solito non rendiamo il firmware disponibile pubblicamente. Può fare più danni che bene nelle mani sbagliate. Riceviamo molte unità in muratura da aggiornamenti impropri. Desideriamo che i consumatori ci contattino, in modo da poter verificare che un aggiornamento del firmware sia necessario e vantaggioso. Alan M. è il nostro moderatore per i forum e farà un annuncio sulla tua discussione. Ancora una volta, grazie per averlo segnalato alla nostra attenzione. I nostri clienti sono i migliori e una grande fonte di informazioni e di solito i primi a farci sapere quando le cose non funzionano come dovrebbero. Concedici la possibilità di risolvere il problema.

Come ho già detto, penso che sia meglio ottenere SD26 direttamente da Seagate. Tuttavia, ci sono anche copie trapelate sia dell'ISO di avvio che dell'utilità di Windows che si trovano facilmente cercando su Google. Il checksum SHA-1 del CD di aggiornamento di avvio SD26 (* .iso) che ho ricevuto da Seagate è b7b0c7e1b9529925b0364b2cf19a62d608b58082.

Ho pubblicato le informazioni in questa risposta e altri dettagli vari nel thread di Seagate .


3
Firmware SD28 è ora disponibile: seagate.custkb.com/seagate/crm/selfservice/...
Madh

4

Tutte le menzioni di questo problema sono state rimosse dai forum di Seagate. Probabilmente immaginano che la discussione non sia necessaria ora che si può risolvere il problema aggiornando a SD28.

L'unico problema è che le persone non hanno più un mezzo per ottenere informazioni autorevoli che descrivono il problema e / o come risolverlo, poiché tutti i riferimenti a qualsiasi correlazione tra il problema e la sua soluzione sono stati rimossi dal sito Seagate. Il download dell'aggiornamento del firmware è ancora disponibile, ma non si fa menzione di ciò che fa il firmware, quindi gli utenti interessati potrebbero avere difficoltà a cercare una soluzione.

Per aiutare i googler: Il download del firmware SD28 su http://knowledge.seagate.com/articles/en_US/FAQ/215451en?language=en_US È una soluzione al bug di corruzione dei dati che si verifica con questi modelli di unità Seagate Momentus XT:

  • ST92505610AS

  • ST93205620AS

  • ST95005620AS


2

Ho appena verificato che sta accadendo anche in OS X. : O (

Avevo sospettato il danneggiamento dei dati per due motivi:

1) momentus XT è progettato per memorizzare nella cache i file utilizzati di frequente nei 4 GB di RAM flash e questi file sono spesso piccoli file necessari per caricare i programmi durante l'avvio (file di impostazione, ecc.). Con l'aumentare della frequenza, i miei programmi che sono configurati per il caricamento all'accesso improvvisamente presentano impostazioni predefinite, o mi danno il "tutorial di benvenuto" e non hanno alcuna impostazione programmata. Questi includevano mail.app (nessuna informazione sull'account memorizzata), boccino (monitor delle porte senza regole), argento vivo (benvenuto) e altri. Questo mi ha portato a credere che i file di piccole dimensioni nella cache siano danneggiati.

2) L'unità ha sofferto causando "girandole rotanti" in cui l'unità sembrava essersi spenta e, quando il sistema operativo doveva accedervi, ho dovuto attendere il riavvio dell'unità. L'attesa divenne più frequente e durò più a lungo. In diverse occasioni avrei semplicemente cancellato l'unità e avrei usato Carbon Copy Cloner per copiare su tutto ciò di cui era stato precedentemente eseguito il backup. Tuttavia, dopo aver copiato i file nel momento xt molti dei file più grandi (filmati, immagini ISO, file zip) erano corrotti e non si caricavano né si aprivano. Ho pensato che il problema con i palloni da spiaggia e le spin-down sarebbe stato risolto quando sono passato da Snow Leopard a Lion, come alcuni utenti hanno pubblicato di recente, ma il file ISO di anteprima Dev 3.46Gb che ho copiato su momentus XT da un'unità USB era danneggiato, quindi non riuscivo nemmeno a installare Lion.

Mi ero appena imbattuto nella tua discussione nei forum di Seagate e sono venuto qui per pubblicare:

Ho usato un programma chiamato "utility intelligente" sotto os x, che diceva che il disco non funzionava. Penso che l'errore fosse per il codice 184, che erano errori "end-to-end". Ero allarmato per il fatto che l'unità stava "guastando" ma ho letto che altri stavano ricevendo questo errore quando hanno aggiornato il loro firmware (come ho fatto da SD23 a SD25) e che Seagate considererebbe un'unità guasta solo se si guasta sotto SeaTools .

Ho messo il mio momento xt in un contenitore USB e ho eseguito SeaTools sull'unità attraverso Windows su un altro computer. SMART Check non è stato un test consentito. Eseguendo "test dell'unità breve" e "test generico lungo" non sono stati segnalati errori? Ora ho provato a duplicare i tuoi metodi su OS X e anche io ho scoperto che i file si stanno corrompendo. Sto usando un Macbook Pro 15 "della fine del 2009 e ho un Momentus XT da 500 GB su SD25.

Fred


Grazie per aver segnalato questo! Puoi eseguire il comando seguente per confrontare un file non corrotto con la sua copia danneggiata? cmp -l <uncorrupted file> <corrupted copy> | headSe stiamo riscontrando lo stesso problema, dovresti vedere tre colonne di numeri e la colonna più a sinistra dovrebbe avere dieci numeri consecutivi. (Dettagli: la colonna più a sinistra mostra i numeri di byte dei byte diversi e le altre due colonne mostrano i valori effettivi dei byte diversi.)
Vincent Yu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.