Hybrydowy dysk twardy Seagate Momentus XT powoduje uszkodzenie plików w systemie Linux. Byłbym wdzięczny za pomoc od kogokolwiek, ale szczególnie chciałbym wiedzieć, czy inni użytkownicy Momentus XT są w stanie odtworzyć ten problem; Udostępniłem instrukcje krok po kroku dotyczące odtwarzania tego problemu na forach społeczności Seagate .
Do tej pory czterech użytkowników odtworzyło ten problem na następujących laptopach i systemach operacyjnych / dystrybucjach:
- Pięć laptopów: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 i MacBook Pro (15 "pod koniec 2009 r.).
- Cztery systemy operacyjne / dystrybucje: Ubuntu 11.04, Fedora 15, openSUSE i Mac OS X.
Te instrukcje odtworzenia problemu są proste. Oto krótki opis słowny:
- Utwórz duży plik testowy, zapisz go na innym urządzeniu pamięci masowej ( nie na Momentus XT) i oblicz sumę kontrolną SHA-1.
- Zapisz plik testowy w Momentus XT.
- Przeczytaj plik testowy z Momentus XT, oblicz SHA-1 i porównaj tę sumę kontrolną z sumą kontrolną oryginału. Powinniśmy mieć zapałkę. Prawdopodobnie odtworzyliśmy problem, jeśli się nie zgadzają. (Tylko „prawdopodobnie”, ponieważ inne problemy mogą powodować niedopasowanie. Zobacz wątek Seagate na temat identyfikowania tego konkretnego problemu poprzez porównanie plików
cmp -l
.) - Powtórz od kroku (2).
Gwint Seagate ma więcej szczegółów. Oto kilka uwag z moich testów (udało mi się odtworzyć ten problem na trzech kolejnych dyskach Momentus XT; dwukrotnie otrzymałem RMA i teraz jestem na trzecim):
- Wydaje się, że dzieje się tak, że Momentus XT czasami zaniedbuje zapisywanie danych na dysku, więc kiedy czytam z dysku, otrzymuję to, co pierwotnie było w sektorze, a nie prawidłowe dane. Dzieje się tak w blokach o różnych rozmiarach; typowe rozmiary to 1 MiB i 512 KiB.
- Problem występuje w systemach ext2, ext4, Btrfs, NTFS i FAT32. O dziwo, nie byłem w stanie odtworzyć tego problemu na ext3.
- Pisanie z
oflag=direct
flagą wyjściowądd
pozwala uniknąć tego problemu. Szybkie przesyłanie danych na dyskwhile true; do sync; sleep 0.01; done
również zapobiega problemowi. - Byłem w stanie odtworzyć ten problem tylko poprzez interfejs SATA i eSATA. Połączenie USB wydaje się zapobiegać problemowi. (Nie jestem pewien, czy wynika to z prędkości transferu).
- Problemy występują częściej w przypadku dużych plików (> 2 GB). Nie udało mi się stworzyć problemów z plikami mniejszymi niż około 85 MB.
- Nie mogłem odtworzyć problemu w systemie Windows XP z NTFS.
- Gazoi na forach Seagate nie był w stanie odtworzyć problemu na FreeBSD 8.2 z UFS2.
- Momentus XT przechodzi zarówno rozszerzony test SMART, jak i
badblocks -w
bez problemów. - Mój laptop (MS-1656-ID1) pomyślnie przeszedł 24 godziny każdego z Memtest86 +, Memtest86, memtester i MPrime.
- Przetestowałem dwa inne urządzenia pamięci masowej (Seagate Momentus 7200.4 i dysk SSD Intel serii 320) z tą samą procedurą i oba działają bezproblemowo.
Jeśli masz Momentus XT, spróbuj odtworzyć ten problem i daj mi znać, co się stanie.
Co jeszcze mogę zrobić, aby zdiagnozować problem?
iflag=direct
flagę wejściową za pomocą dd. Kiedy nie używam dd, sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"