我在 Western Digital WD20SPZX 2.5 英寸 2 TB 硬盘上得到了这些看起来很奇怪的 HD Tune 基准测试结果。
第一张照片是我收到它那天拍摄的,其他照片则是标明的较晚日期拍摄的。
问题是:
这是坏磁盘吗?我应该停止使用它吗?
我希望这已经足够明确了。从现在开始,我对这些磁盘的了解还不足以提出任何精确的问题,但是:我应该如何理解第一张(2022 年 3 月)的图片,其中速度保持恒定的 200 MB/s。我敢肯定这个旋转磁盘没有那么好。
我应该如何理解剩余的图片(2023 年 3 月和 5 月),其中速度不均匀但在最后突然加速,再次达到 200 MB/s。
有人告诉我,我的声誉不够,无法嵌入图片。所以你必须点击链接才能嵌入图片。很抱歉。谢谢。
2022 年 3 月:
2023 年 3 月:
2023 年 5 月:
稍后添加
请参阅下面我自己的回答,了解基准测试发生了什么变化
- 按照 Gronostag 的答案,用零填充磁盘,并且
- 随后将数据复制到磁盘
上面的问题 1 现在应该意味着这些连续的基准测试对于 SMR 磁盘而言是否正常,或者表明这个特定的磁盘出了问题。(我认为在最终基准测试中出现深谷的 CMR 磁盘有问题。)谢谢。
答案1
根据 WD 网站,WD20SPZX 是一款 SMR 硬盘。SMR 代表叠瓦式磁记录技术,该技术将硬盘盘片上的数据像叠瓦一样稍微重叠。这使得生产高容量硬盘变得更容易,但代价是硬盘会表现出各种奇怪的性能特征。
SMR 驱动器通常在用零覆盖、TRIM 或发出安全擦除命令后恢复正常特性。所有这些都意味着数据丢失。
对于 SMR 驱动器来说,您所看到的情况并不意外。如果您对此不满意,则必须购买 CMR 驱动器。可能很难找到具有这种容量和外形尺寸的驱动器。
关于您在评论中提出的问题。
采用瓦片排列后,数据仍可从驱动器随机读取,但写入则不然:写入任何瓦片都会破坏与其重叠的瓦片中的数据。因此,如果要覆盖任何单个字节,必须先将其后面的所有字节读入内存,然后覆盖该字节并从内存中恢复其后面的字节。为了控制此问题的影响,驱动器被划分为“区域”。区域开头和结尾的瓦片不会与其他瓦片重叠,也不会相互重叠。因此,要修改字节,驱动器只需重写该区域的其余部分,而不是整个驱动器的其余部分。
由于某些原因(我不完全理解,因此我不会尝试在这里解释它们),SMR 驱动器还具有“Shingle Translation Layer”,这是 SSD 中闪存转换层 (FTL) 的 SMR 等效物。两者本质上做同样的事情:它们让驱动器实际将数据存储在不同的位置和顺序上,而不是使用该驱动器的计算机所认为的位置和顺序。因此,当计算机认为它正在读取大量连续的数据时,该数据块实际上可能分散在驱动器的各处 - 本质上是碎片化的,但操作系统并不知道这一点。在 SSD 上,碎片化在大多数情况下不是问题,但 HDD 受到严重影响,因为驱动器磁头必须在分散的数据块之间来回移动。
这解释了您所看到的情况:您的 SMR 驱动器内部可能存在碎片,除了使用较少的外部。
我可以格式化驱动器并写入新数据,而不是用零覆盖吗?(如果输入全零有效,为什么输入零和一就不行?)
“快速”格式化不会覆盖大部分驱动器。它只会创建一个新的空文件系统,使驱动器的其余部分看起来未使用(注:这就是为什么格式化后有时可以恢复数据的原因)。文件系统只是结构化数据,从驱动器的角度来看,创建文件系统与将文件写入驱动器没有什么不同。
“完整”格式将执行此操作+将零写入驱动器,基本实现您的目标。
写入零是特殊的,因为 STL 可以识别您正在做的事情,并且它可以将这些地址标记为零,而不是将这些地址映射到磁盘上的某个随机位置。从某种意义上说,它会在 STL 中“重置”该地址。TRIM 可以实现相同的目的,但更明确。请注意,TRIM 支持或对零的特殊处理不是强制性的(尽管 TRIM 至少是标准化的,尽管设计用于不同的目的)。安全擦除是最后的手段:它具有相当广泛的支持,并且在此过程中重置 STL 是有意义的。
如果(尽管基准测试看起来很奇怪)实际使用中的读写速度是可以接受的,我可以继续我的正常使用模式吗?(或者这会导致性能越来越差?)。
真的没人知道。在我看来,除非你知道 SMR 适合你的用例,否则应该避免使用 SMR。
我的第一张图表(恒定的 200 或 250 MB/s)对于 SMR 在其原始或保存良好的条件下是正常的吗?令我惊讶的是,这种分层或交错如何能给你带来这种速度。但我只是想确保 200 MB/s 不是其他问题的信号,例如 HD Tune 无法正确测量 SMR。
以下是推动家庭。SMR 型号的标称速度为 149-150 MB/s,而 CMR 驱动器的标称速度为 147 MB/s。我认为您在第一天获得的结果只有在未使用(或重置)的驱动器上才能达到,因为“清除”STL 使其具有优势。
答案2
这也许只是部分答案。我认为我们看到的是:
我假设这是一个“原始”驱动器。我的意思是尚未写入任何数据,因此“转换器”为空。
“转换器”是一个固件目录,它将逻辑块地址映射到物理地址。有点像 MFT 将文件映射到簇。“转换器”的其他部分是“缺陷列表”。
因此假设您从原始驱动器读取 LBA 1000,那么:
- 驱动器在转换器中查找此 LBA,以确定哪个物理地址映射到它
- 发现还没有
- 它返回一个扇区值为零,而没有读取驱动器
因此,基准测试并未显示驱动器末端读取时间的典型增加,因为它实际上并未读取驱动器。事实上,解释这种“平坦线”的唯一方法是假设驱动器并未进行实际读取。
要在驱动器使用一段时间后再次获得相同的图表,您需要 TRIM 该驱动器,因为它将再次从物理地址“取消映射” LBA 地址。
写入零不会达到效果,因为将零写入 LBA 仍会将 LBA 映射到物理地址。事实上,在用零填充整个驱动器后,除了一些过度配置的区域外,所有 LBA 地址都将映射到物理地址。
实际上,在 TRIM 和写入零之后,一旦读取驱动器,我们就会读回零。但在归零之后,我们从盘片上读取的是真正的零,在“修剪”之后,驱动器会返回零填充的扇区,而不会像大多数 SSD 那样读取驱动器(假设驱动器在 TRIM 之后处于 RZAT 状态,请参阅https://en.wikipedia.org/wiki/Trim_(计算))。
修剪还应对写入速度产生积极的影响,事实上,修剪的设计目的就是为了让驱动器在分配区域来写入新数据时不会遇到太多麻烦。
请注意,并非所有 SMR 驱动器都支持 TRIM。
例如,
我们需要考虑的是,即使我们读取一个具有较低 LBA 地址的扇区,而该扇区在 CMR 驱动器上物理上位于更靠外和更快的轨道中,SMR 驱动器也可以将较低范围的 LBA 地址“映射”到驱动器的另一个物理(可能更慢)部分。尽管固件可能会尝试避免“碎片化”,但理论上 LBA 101 - 200 可能与 LBA 201 - 300 完全不同,这可能会影响顺序读取(如果我们忽略预读缓存)。换句话说,SMR 驱动器的 HD Tune 基准测试比 CMR 驱动器的基准测试更难以预测。因此,在处理 SMR 而不是 CMR 驱动器时,“看看这个基准测试,我的驱动器还好吗?”这个问题更难回答,因为变量更多。
不支持 TRIM 且不允许空闲时间的常用 SMR 驱动器将逐渐成为熵的牺牲品,读取和写入将变得更慢,基准图将随着时间的推移变得更加不稳定。这与我们之间唯一的区别是驱动器将尝试缓存读取和写入。只要缓存能够跟上,这可能对我们来说是隐藏的。
这些 SMART 值对我来说看起来不错。
答案3
这个答案补充了 gronostaj 的答案,因为它报告了那里建议的解决方案的实施,即
SMR 驱动器通常在用零覆盖、TRIM 或发出安全擦除命令后恢复正常特性
我使用了一个叫做磁盘擦除。
“擦除”过程由“格式化”(花费数小时)和单独的“安全擦除”组成(同样花费数小时,因此合并过程对于这个 2 TB 磁盘来说必须花费大约 15 到 20 小时,尽管完成时我已经睡觉了)。在下图中,我相信 09:40:49 的耗时只是“安全擦除”阶段。
结果如下。
2023 年 5 月 #2:
观察。
- 我很高兴“恢复正常特性”并不意味着 2022 年 3 月人为保持的 200 MB/s 的恒定速度。
- 很高兴2023年3月和2023年5月的深谷已经过去了。
- 我无法向自己解释为什么最后会达到 125 MB/s 的峰值。(这似乎与之前日期的峰值不一样。段和速度都不同。)
上述结果很好(再次感谢 gronostaj),但我不能说它们让我对这款 SMR 驱动器感到满意。我不想定期这样做。
该磁盘未安装在任何计算机上,但它是备份磁盘。我“使用”它的次数肯定不到 30 次(插入、备份、拔出)。请参阅下文了解使用情况。当我拿到它并进行擦除时,大部分通电时间计数都在测试坏扇区。
也许我会先将一些东西填入这个磁盘(这样擦除后就不会重写)并再次进行基准测试。如果结果有趣,我会用它来修改这个答案。
稍后添加
这是我将大约 800 GB 的内容复制到受影响磁盘后的基准测试,包括小文件(几 KB 的文本)和大文件(最大 20 GB 的磁盘映像)。
2023 年 5 月 #3:
您会看到磁盘已经“坏”了。前 100 GB 的段非常“坏”,有很深的谷底,其中的数据包括许多小文件。后面的段是大多数大文件(磁盘映像、虚拟驱动器)。
这又引出了另一个问题。即:
- 根据新的结果,这是否是坏磁盘,或者这是 SMR 驱动器的预期结果?
我不知道如何根据网站规则来管理这个问题,是修改现有问题还是发布新问题。