Мой гибридный жесткий диск Seagate Momentus XT портит файлы в Linux. Я был бы признателен за помощь от любого, но я особенно хотел бы знать, могут ли другие пользователи Momentus XT воспроизвести эту проблему; Я предоставил пошаговые инструкции по воспроизведению этой проблемы на форумах сообщества Seagate .
Пока что четыре пользователя воспроизвели эту проблему на следующих ноутбуках и ОС / дистрибутивах:
- Пять ноутбуков: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 и MacBook Pro (15 "в конце 2009 года).
- Четыре ОС / дистрибутива: Ubuntu 11.04, Fedora 15, openSUSE и Mac OS X.
В инструкции для воспроизведения проблем проста. Вот краткое устное описание:
- Создайте большой тестовый файл, сохраните его на другом устройстве хранения ( не Momentus XT) и вычислите контрольную сумму SHA-1.
- Запишите тестовый файл в Momentus XT.
- Прочитайте тестовый файл из Momentus XT, рассчитайте SHA-1 и сравните эту контрольную сумму с контрольной суммой оригинала. Мы должны иметь матч. Возможно, мы воспроизвели проблему, если они не совпадают. (Только «вероятно», потому что другие проблемы могут вызвать несоответствие. См. Ветку Seagate об определении этой конкретной проблемы путем сравнения файлов с
cmp -l
.) - Повторите с шага (2).
Нить Seagate имеет больше деталей. Вот некоторые заметки из моего тестирования (я смог воспроизвести эту проблему на трех последовательных дисках Momentus XT; я RMA сделал два раза, а теперь на третьем):
- Кажется, что происходит то, что Momentus XT иногда пренебрегает записью данных на диск, поэтому, когда я читаю с диска, я получаю то, что изначально было в секторе, а не правильные данные. Это происходит в блоках разных размеров; типичные размеры 1 МБ и 512 КБ.
- Проблема возникает на ext2, ext4, Btrfs, NTFS и FAT32. Странно, я не смог воспроизвести эту проблему на ext3.
- Запись с
oflag=direct
выходным флагомdd
позволяет избежать этой проблемы. Быстрая передача данных на дискwhile true; do sync; sleep 0.01; done
также предотвращает проблему. - Я смог воспроизвести эту проблему только через интерфейс SATA и eSATA. Соединение USB, кажется, предотвращает проблему. (Не уверен, если это связано со скоростью передачи.)
- Проблемы чаще возникают с большими файлами (> 2 ГБ). Мне не удалось создать проблемы с файлами размером менее 85 МБ.
- Я не смог воспроизвести проблему на Windows XP с NTFS.
- Газой на форумах Seagate не смог воспроизвести проблему на FreeBSD 8.2 с UFS2.
- Momentus XT проходит расширенный тест SMART и
badblocks -w
без проблем. - Мой ноутбук (MS-1656-ID1) успешно прошел через 24 часа каждый из Memtest86 +, Memtest86, memtester и MPrime.
- Я протестировал два других устройства хранения данных (Seagate Momentus 7200.4 и твердотельный накопитель Intel серии 320) с помощью одной и той же процедуры, и они оба прошли без проблем.
Если у вас есть Momentus XT, попробуйте воспроизвести эту проблему и дайте мне знать, что происходит.
Что еще я могу сделать, чтобы диагностировать проблему?
iflag=direct
флагом ввода с помощью dd. Когда я не использую dd, я sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"