用零覆盖硬盘会更快吗?

Dan*_*tov 52 hard-drive speed partitioning zero-write

我有一台安装了两个操作系统的 PC,我使用 UbuntuUSB 中的磁盘擦除了哪个硬盘。我选择了快速擦除。据我了解,它删除了分区表,但所有文件的 1 和 0 仍在硬盘上。然后我创建了新的分区表,并安装了 Win10。

问题:如果我用零覆盖它,HDD 现在会更快地工作(读/写)吗?
或者:将信息写入零覆盖硬盘是否比在“脏”硬盘上更快?

phy*_*fox 94

硬盘驱动器不会存储我怀疑您认为它们会存储的字面零和一。相反,它们以一种编码格式存储数据,以保证不会有太多的零位或一个位彼此相邻。由于数据编码所在物理介质的盘片速度、振动等的微小变化,在尝试读取数据时,长时间的零或一实际上可能会导致同步问题,因此它被限制在一定的容差范围内。

此外,硬盘驱动器总是一次编码整个扇区(通常为 512 字节或 4096 字节数据),而不仅仅是已更改的位(同样,因为它是编码数据)。这确保了整个扇区每次都被正确编码。因此,用全零填充驱动器没有实际好处,尽管它也不会损害任何东西,除了这样做会造成轻微的机械磨损。如果愿意,您可以选择用零覆盖所有内容,但这不会带来性能优势,而且您只会浪费时间等待写入所有这些零。

固态硬盘经历了类似的过程;它们会在写入新数据块之前自动擦除一个块的先前内容,因此将全零写入 SSD 会导致设备不必要的磨损,因为闪存技术只能在失败前擦除可变但有限的次数. 引入的磨损仅占总占空比的 0.01%,但您希望定期避免这样做。

  • @Ruslan 我猜用词选择不当。这不确定(只有死亡和税收似乎是确定的),但它绝对是有限的,制造商只保证性能达到“占空比”次数。 (20认同)
  • “只能擦除一定次数”——实际上,这个数字并不确定。可变性 [相当大](https://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead)。 (9认同)
  • 你的回答有两个问题;1)`固态驱动器经历类似的过程`。这是不正确的。硬盘驱动器不像 SSD 那样经历读/擦除/写周期。他们可以即时覆盖扇区,而无需先擦除它们。2) `尝试读取数据时,长时间的 0 或 1 实际上可能会导致同步问题` 也不正确。硬盘驱动器扇区在记录扇区号、同步位和 ECC 数据的扇区之间存在间隙。地址和同步数据可防止磁头在盘片上“丢失”。因此,4k 扇区实际上是 4211 字节长。 (6认同)
  • @WesSayeed“类似过程”意味着 SSD 也一次写入整个扇区。诚然,普通硬盘不会先擦除,但它仍然是一个类似的过程;两者都一次写入整个扇区。是的,我知道包含 ECC 等的扇区间差距,但他们仍然使用 MMFM/GCR 之类的东西来确保时钟不会在扇区内不同步,这意味着他们不能一行中有太多的零位。 (2认同)

Jam*_*han 54

不,它不会更快。无论被覆盖的数据如何,写入都需要相同的时间。

  • 对于磁性 HD 来说确实如此,但如果用零覆盖,使用内部压缩且不支持“TRIM”的 SSD 可能会更快。它们会在闪存上占用更少的实际空间,让闪存重映射层有更多的工作空间。所以它有点像修剪/丢弃。 (12认同)
  • @Jules 大部分 SSD 不支持 TRIM,主要是更简单的闪存,如 U 盘或 SD 卡,或 MMC。几乎任何不是 ATA 的东西。 (3认同)
  • @PeterCordes - 虽然是真的,但今天实际使用的 SSD 比例是多少*不*支持 TRIM?我知道我在多代产品和各种制造商(从高端一直到无品牌/商店品牌)中使用的几种类型中,我遇到的所有类型都可以。 (2认同)

Chr*_*tix 10

这取决于:

  • 无论是机械硬盘还是固态硬盘。

对于 SSD,正如其他答案所述,您不应使用零覆盖(这会对闪存单元造成不必要的磨损),而应使用安全擦除或全盘 TRIM。如果某些更新版本的格式化实用程序检测到 SSD,它们将自动执行 TRIM。这样做的原因是 SSD 对“空”扇区和“填充”了任何数据(包括零)的扇区进行了强烈区分。

  • 驱动器上是否有不可读的扇区。

如果硬使用几年,许多驱动器会产生少量“坏点”。任何已经遇到的将在 SMART 数据中显示为“待定无法纠正”。

如果没有不可读的扇区,机械硬盘不会从被覆盖中受益,尽管它除了预先消耗大量时间之外也没有坏处。

如果一些无法读取的扇区,尝试读取它们需要很长的时间,并且驱动将继续努力,以恢复在闲暇时刻,这将影响性能数据。覆盖它们会提示硬盘丢弃现有数据,测试物理位置是否还可以用于存储,否则分配一个备用扇区。这也将重置“Pending Uncorrectable”计数器。

TL;DR - 一般来说,不要这样做。


ale*_*ich 5

不,用零覆盖不会影响硬盘驱动器的速度。然而,对于固态驱动器,用零覆盖比进行修整操作更糟糕,修整操作将块标记为未使用。在安装操作系统之前修剪 SSD 的分区或整个驱动器可能会为 SSD 带来性能和使用寿命的好处。如果您已经安装了操作系统,则有一些技术可以减少文件系统中的可用空间以获得类似的好处。