希捷Momentus XT损坏文件(Linux和Mac)
我的Seagate Momentus XT混合硬盘驱动器损坏了Linux上的文件。我希望得到任何人的帮助,但是我特别想知道其他Momentus XT用户是否能够重现此问题。我在Seagate社区论坛上提供了重现此问题的分步说明。 到目前为止,已有四个用户在以下便携式计算机和操作系统/发行版上重现了此问题: 五台笔记本电脑:联想Thinkpad T60,T61,T510,MSI MS-1656-ID1和MacBook Pro(15英寸,2009年末)。 四种操作系统/发行版:Ubuntu 11.04,Fedora 15,openSUSE和Mac OSX。 重现该问题的说明很简单。以下是简短的口头描述: 创建一个大型测试文件,将其保存到另一个存储设备(不是 Momentus XT),然后计算SHA-1校验和。 将测试文件写入Momentus XT。 从Momentus XT读取测试文件,计算SHA-1,并将此校验和与原始校验和进行比较。我们应该有一场比赛。如果它们不匹配,我们可能会重现该问题。(仅“可能”,因为其他问题可能会导致不匹配。请参阅Seagate线程,以通过将文件与进行比较来识别此特定问题cmp -l。) 从步骤(2)重复。 在希捷线程有更多的细节。这是我测试中的一些注意事项(我已经能够在三个连续的Momentus XT驱动器上重现此问题;我RMA进行了两次,现在是第三次): 似乎正在发生的事情是,Momentus XT有时会忽略将数据写入驱动器,因此,当我从驱动器中读取数据时,会得到该扇区中原来的内容,而不是正确的数据。这发生在不同大小的块中。典型大小为1 MiB和512 KiB。 ext2,ext4,Btrfs,NTFS和FAT32出现问题。奇怪的是,我无法在ext3上重现此问题。 使用oflag=direct输出标志写入dd可以避免此问题。快速将数据提交到磁盘while true; do sync; sleep 0.01; done也可以防止该问题。 我只能通过SATA和eSATA接口重现此问题。USB连接似乎可以防止此问题。(不确定这是否是由于传输速度引起的。) 大文件(> 2 GB)时,问题经常发生。文件小于85 MB时,我无法产生问题。 我无法在带有NTFS的Windows XP上重现该问题。 希捷论坛上的Gazoi 无法在带有UFS2的FreeBSD 8.2上重现该问题。 Momentus XT通过了扩展的SMART测试badblocks -w,没有任何问题。 …