硬盘驱动器如何存储如此多的数据,并且在发生故障之前能够如此可靠地返回所有位而不会出现任何错误?

non*_*ity 2 hard-drive

我还记得使用 Apple II 的软盘,每盘 143kb。

然后是 IBM PC 上的 20MB 硬盘......

现在每个硬盘驱动器容量为 1TB 或更多。我想知道在硬盘发生故障之前,它如何能够如此可靠地返回所有位而不出现任何错误?

硬盘实际上存储1位8次,这样如果有一点磁力不一致,那么第7次读取是“1”,第1次读取是“0”,就会告诉该位实际上是“1”而不是“0”并修复显示“0”的 1 读数?

电脑放在桌子上,我们打字并敲击键盘——这不会使桌面移动纳米米吗?在硬盘内部,纳米不会对磁头和盘片产生干扰吗?

Dma*_*tig 6

原因有很多,其中许多对我来说太复杂了,甚至无法理解。它们免受电磁辐射(嗯,无论如何,背景水平),并装在密封、无尘的容器中。

\n\n

至于错误处理:

\n\n
\n

错误处理

\n\n

现代驱动器还广泛使用纠错码 (ECC),尤其是Reed\xe2\x80\x93Solomon纠错。这些技术为每个数据块存储由数学公式确定的额外位。额外的位允许修复许多错误。虽然这些额外的位占用了硬盘驱动器上的空间,但它们允许采用更高的记录密度,从而为用户数据提供更大的存储容量。 [14] 2009 年,在最新的驱动器、\n 低密度奇偶校验码 (LDPC)\n 正在取代 Reed-Solomon。LDPC\n 代码可实现接近\n 香农极限的性能,从而实现\n 可用的最高存储密度。\n [15]

\n\n

典型的硬盘驱动器尝试\n将损坏的物理扇区中的数据\n“重新映射”到备用物理\n扇区\n\xe2\x80\x94,同时该坏扇区中的\n错误数量仍然\n足够小,以至于 ECC 可以完全恢复数据而不会丢失。SMART 系统会计算 ECC 修复的整个硬盘驱动器中的错误总数以及重新映射的总数,以尝试预测硬盘驱动器故障。

\n
\n\n

这里

\n\n

内部结构的刚性以及它是一个密封的固体单元这一事实意味着小的振动不会造成糟糕的写入,尽管它可能会带来潜在的灾难性结果。它利用密封容器内的气压来保持事物顺利运行。即使使用 ECC,问题也经常发生,这也是硬盘恢复工具、冗余等的部分原因。

\n