Fichiers corrompus Seagate Momentus XT (Linux et Mac)

10

Mon disque dur hybride Seagate Momentus XT endommage des fichiers sous Linux. J'apprécierais l'aide de n'importe qui, mais j'aimerais particulièrement savoir si d'autres utilisateurs Momentus XT sont capables de reproduire ce problème; J'ai fourni des instructions étape par étape pour reproduire ce problème sur les forums communautaires Seagate .

Jusqu'à présent, quatre utilisateurs ont reproduit ce problème sur les ordinateurs portables et OS / distributions suivants:

  • Cinq ordinateurs portables: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 et MacBook Pro (15 "fin 2009).
  • Quatre systèmes d'exploitation / distributions: Ubuntu 11.04, Fedora 15, openSUSE et Mac OS X.

Les instructions pour reproduire le problème sont simples. Voici une brève description verbale:

  1. Créez un fichier de test volumineux, enregistrez-le sur un autre périphérique de stockage ( pas le Momentus XT) et calculez la somme de contrôle SHA-1.
  2. Écrivez le fichier de test sur le Momentus XT.
  3. Lisez le fichier de test du Momentus XT, calculez le SHA-1 et comparez cette somme de contrôle avec la somme de contrôle de l'original. Nous devrions avoir un match. Nous avons probablement reproduit le problème s'ils ne correspondent pas. (Seulement «probablement», car il est possible que d'autres problèmes provoquent une incompatibilité. Consultez le fil Seagate sur l'identification de ce problème spécifique en comparant les fichiers avec cmp -l.)
  4. Répétez à partir de l'étape (2).

Le fil Seagate a plus de détails. Voici quelques notes de mes tests (j'ai pu reproduire ce problème sur trois disques Momentus XT consécutifs; j'ai RMA deux fois et je suis maintenant sur le troisième):

  • Ce qui semble se produire, c'est que le Momentus XT néglige parfois d'écrire des données sur le lecteur, de sorte que lorsque je lis sur le lecteur, j'obtiens ce qui était à l'origine sur le secteur, et non les données correctes. Cela se produit dans des blocs de différentes tailles; les tailles typiques sont de 1 Mio et 512 Kio.
  • Le problème se produit sur ext2, ext4, Btrfs, NTFS et FAT32. Étrangement, je n'ai pas pu reproduire ce problème sur ext3.
  • L'écriture avec l' oflag=directindicateur de sortie dans ddévite ce problème. La validation rapide des données sur le disque avec while true; do sync; sleep 0.01; doneempêche également le problème.
  • Je n'ai pu reproduire ce problème que via une interface SATA et eSATA. Une connexion USB semble éviter le problème. (Je ne sais pas si cela est dû à la vitesse de transfert.)
  • Les problèmes surviennent plus souvent avec des fichiers volumineux (> 2 Go). Je n'ai pas pu produire de problèmes avec des fichiers inférieurs à environ 85 Mo.
  • Je n'ai pas pu reproduire le problème sur Windows XP avec NTFS.
  • Gazoi sur les forums Seagate n'a pas pu reproduire le problème sur FreeBSD 8.2 avec UFS2.
  • Le Momentus XT passe à la fois le test SMART étendu et badblocks -wsans aucun problème.
  • Mon ordinateur portable (MS-1656-ID1) a réussi 24 heures chacun de Memtest86 +, Memtest86, memtester et MPrime.
  • J'ai testé deux autres périphériques de stockage (un Seagate Momentus 7200.4 et un SSD Intel 320) avec la même procédure, et ils passent tous les deux sans problème.

Si vous avez un Momentus XT, essayez de reproduire ce problème et faites-moi savoir ce qui se passe.

Que puis-je faire d'autre pour diagnostiquer le problème?

Vincent Yu
la source
1
Redémarrez-vous entre l'écriture et la lecture? Videz-vous le cache pour vous assurer qu'il est effectivement relu à partir du disque au lieu du cache? Sinon, c'est peut-être pourquoi vous ne pouvez pas le reproduire avec des fichiers plus petits car ils sont plus susceptibles d'être toujours dans le cache
psusi
Je contourne le cache de page en lisant avec le iflag=directdrapeau d'entrée avec dd. Quand je n'utilise pas dd, je sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"
Je viens de réaliser que vous parliez peut-être du tampon de disque qui se trouve physiquement sur le Momentus XT, au lieu du cache de page Linux. Vous avez un point dans ce cas - je ne prends généralement pas de précautions contre la lecture du tampon du disque, et je lis également le fichier immédiatement après l'avoir écrit. Je devrais peut-être valider les écritures dans plusieurs fichiers, puis les lire sur une base FIFO. Cela dit, le cache du disque Momentus XT ne fait que 32 Mo, et j'ai également fait des tests dans le passé où j'ai écrit> 10 Go de petits fichiers (~ 64 Mo), et les ai lus ensuite sans trouver de corruption.
Peut-être y a-t-il un bogue dans le micrologiciel du lecteur (débordement d'entier?) Qui lui fait perdre la trace des blocs non écrits sous l'écriture à haute vitesse. Ou il y a des blocs défectueux sur le flash que le micrologiciel n'a pas pu détecter. NTFS vérifie les écritures (et ntfs-3g est très lent), il est donc peu probable que le problème apparaisse. Si vous ne trouvez pas de correctif, vous pouvez utiliser ZFS et activer la somme de contrôle.
billc.cn
@ billc.cn, j'ai reproduit le problème avec NTFS. Btrfs et ZFS avec des sommes de contrôle de données ne parviendront pas à lire les fichiers corrompus, mais les données corrompues seront irrécupérables. Plus de redondance (par exemple, la mise en miroir au niveau FS ou la mise en miroir RAID) sera nécessaire pour récupérer ces fichiers. Dans tous les cas, je n'utilise bien sûr pas le Momentus XT avant d'avoir compris ce qui se passe.
Vincent Yu

Réponses:

6

La mise à jour du firmware vers SD26 résout ce problème avec la corruption de fichiers sous Linux. Malheureusement, SD26 n'a pas été rendu public.

La meilleure façon d'obtenir le micrologiciel SD26 est de demander à Seagate une copie du CD de mise à jour amorçable ou de l'utilitaire de mise à jour Windows.

J'ai envoyé un e-mail au support technique de Seagate le 20 août pour poser des questions sur SD26, après avoir découvert qu'il avait résolu mon problème de corruption de fichiers. Voici les deux réponses que j'ai reçues du Seagate Global Customer Support le 23 août:

Merci d'avoir contacté Seagate aujourd'hui. Donnez-moi un peu de temps pour rencontrer les développeurs afin que je puisse voir ce qui se passe avec le firmware SD26. En raison de vos découvertes, nous devons faire un peu d'enquête. Nous faisons très peu de tests avec Linux. Laissez-moi voir ce que je peux savoir et si des tests supplémentaires et une version publique du firmware sont nécessaires. Je joins le fichier ISO. Je reviendrai avec vous dès que je vous répondrai. Seagate est très orienté vers le client et nous apprécions que vous portiez cela à notre attention.


Nous ne rendons généralement pas le micrologiciel accessible au public. Il peut faire plus de dégâts que de bien entre de mauvaises mains. Nous recevons beaucoup de lecteurs en brique de mises à jour incorrectes.Nous souhaitons que les consommateurs nous contactent, afin que nous puissions vérifier qu'une mise à niveau du firmware est nécessaire et bénéfique. Alan M. est notre modérateur pour les forums et il fera une annonce sur votre fil. Encore une fois, merci d'avoir porté cela à notre attention. Nos clients sont les meilleurs et une excellente source d'informations et généralement les premiers à nous faire savoir quand les choses ne fonctionnent pas comme elles le devraient. Donnez-nous la chance de résoudre le problème.

Comme je l'ai déjà dit, je pense qu'il est préférable d'obtenir le SD26 directement auprès de Seagate. Cependant, il existe également des copies divulguées de l'ISO amorçable et de l'utilitaire Windows qui sont facilement trouvées en effectuant une recherche sur Google. La somme de contrôle SHA-1 du CD de mise à jour amorçable SD26 (* .iso) que j'ai reçu de Seagate est b7b0c7e1b9529925b0364b2cf19a62d608b58082.

J'ai publié les informations dans cette réponse, et d'autres détails divers, dans le fil Seagate .

Vincent Yu
la source
3
Le firmware SD28 est maintenant disponible: seagate.custkb.com/seagate/crm/selfservice/…
madh
4

Toutes les mentions de ce problème ont été supprimées des forums Seagate. Ils pensent probablement que la discussion n'est plus nécessaire maintenant que l'on peut résoudre le problème en mettant à jour vers SD28.

Le seul problème avec cela est que les gens n'ont plus de moyen d'obtenir des informations faisant autorité décrivant le problème et / ou comment le résoudre, car toutes les références à toute corrélation entre le problème et sa solution ont été supprimées du site Seagate. Le téléchargement de la mise à jour du micrologiciel est toujours disponible, mais il n'y a aucune mention de ce que fait le micrologiciel, de sorte que les utilisateurs concernés peuvent avoir des difficultés à essayer de trouver une solution.

Pour aider les googleurs: le téléchargement du micrologiciel SD28 sur http://knowledge.seagate.com/articles/en_US/FAQ/215451en?language=en_US EST une solution au bogue de corruption de données qui se produit avec ces modèles de disques Seagate Momentus XT:

  • ST92505610AS

  • ST93205620AS

  • ST95005620AS

Michael
la source
2

Je viens de vérifier que cela se produit également sous OS X. : o (

J'avais soupçonné une corruption des données pour deux raisons:

1) le momentus XT est conçu pour mettre en cache les fichiers fréquemment utilisés dans les 4 Go de RAM flash, et ces fichiers sont le plus souvent de petits fichiers nécessaires pour charger des programmes lors du démarrage (fichiers de configuration, etc.). Avec une fréquence croissante, mes programmes configurés pour se charger à la connexion trouveraient soudain des paramètres par défaut, ou me donneraient le `` tutoriel de bienvenue '' sans avoir de paramètres programmés. Ceux-ci comprenaient mail.app (aucune information de compte stockée), petit vif d'or (moniteur de port sans règles), quicksilver (bienvenue) et autres. Cela m'amène à croire que les petits fichiers du cache sont corrompus.

2) Le lecteur a souffert de provoquer des `` roues tournantes '' là où le lecteur semblait avoir tourné vers le bas, et lorsque le système d'exploitation devait y accéder, j'ai dû attendre que le lecteur tourne à nouveau. L'attente est devenue plus fréquente et a duré plus longtemps. À plusieurs reprises, j'essuyais simplement le lecteur et j'utilisais du clone de copie carbone pour copier tout ce qui avait été sauvegardé précédemment. Cependant, après avoir copié les fichiers sur le momentus xt, de nombreux fichiers plus volumineux (films, images ISO, fichiers zip) étaient corrompus et ne se chargeaient pas ou ne s'ouvraient pas. Je pensais que le problème avec les ballons de plage et les ralentissements serait résolu lorsque je serais passé de Snow Leopard à Lion, comme l'ont récemment signalé quelques utilisateurs, mais le fichier ISO de prévisualisation 3.46Gb Dev que j'ai copié sur momentus XT sur une clé USB était corrompu donc je ne pouvais même pas installer Lion.

Je venais de tomber sur votre sujet sur les forums de Seagate et de venir ici pour poster:

J'ai utilisé un programme appelé «utilitaire intelligent» sous os x, qui a déclaré que le lecteur échouait. Je pense que l'erreur était pour le code 184, qui étaient des erreurs "de bout en bout". J'étais alarmé que le lecteur "tombe en panne" mais j'ai lu que d'autres recevaient cette erreur lorsqu'ils ont mis à niveau leur micrologiciel (comme je l'ai fait de SD23 à SD25), et que Seagate ne considérerait un lecteur comme défaillant que s'il échouait sous leurs SeaTools .

J'ai mis mon momentus xt dans un boîtier USB et j'ai exécuté SeaTools sur le disque à travers les fenêtres d'un autre ordinateur. SMART Check n'était pas un test autorisé. Exécution du «test de conduite court» et du «test générique long» Aucune erreur n'a été signalée? Maintenant, j'ai essayé de dupliquer vos méthodes sous OS X, et j'ai aussi constaté que les fichiers étaient corrompus. J'utilise un Macbook Pro 15 "fin 2009 et j'ai un Momentus XT de 500 Go sur SD25.

Fred

Fred
la source
Merci d'avoir signalé cela! Pouvez-vous exécuter la commande suivante pour comparer un fichier non corrompu avec sa copie corrompue? cmp -l <uncorrupted file> <corrupted copy> | headSi nous rencontrons le même problème, vous devriez voir trois colonnes de nombres et la colonne la plus à gauche devrait avoir dix nombres consécutifs. (Détails: la colonne la plus à gauche montre les nombres d'octets des octets différents, et les deux autres colonnes montrent les valeurs réelles des octets différents.)
Vincent Yu