我相信您要寻找的术语是“磁畴”,“磁性材料中具有均匀磁化强度的区域”(wp)。硬盘设计人员一直在努力减小磁畴的大小。
但。
首先,使用“通道代码”:驱动器上记录的0和1与您写入并最终将读取的0和1不同。锯末关于如何记录1s和0s是正确的,但是还有更多:驱动器从磁通极性反转中恢复时钟脉冲(因此,如果有磁通反转,它可以知道在哪里期望磁通反转),但不能从延伸位置恢复时钟脉冲没有逆转。
这可能是个问题。有人可能会写一个整个扇区-4096位和512字节扇区-全部为0,这完全是合理的!哪一个(如果简单记录)将没有磁通反转。除其他因素外,由于转速不规则,驱动器很可能在该扇区结束之前很久就“失去了位置”。
因此,使用通道代码可以将要写入的数据实际上扩展为更多的位,以确保连续写入的非助焊剂反转不会超过一定数量。
我没有现代硬盘驱动器中使用的通道代码的参考,但是通过查找CD上使用的“八到十四调制”(“ EFM”),您可以了解其工作原理。在EFM下,每组八个位(具有256个可能的0和1的组合)将转换为一个14位的序列(16384个组合,但其中只有256个是有效代码)。选择每个14位代码中的序列,以使连续的非磁通反转(0)不超过几个-我认为是三个。还选择了它们以减小信号带宽。听起来很奇怪,但事实是这样:通过记录更多的位,您可以减少磁通过渡的次数。例如,全1的八位将需要八次磁通反转而没有通道代码,
现在,考虑写入扇区的第一部分。假设它是0。它在哪里?多亏了通道代码,实际写入该扇区的第一位很可能是1!
顺便说一句,谈论CD并不像看起来那样离题。CD使用与锯末描述的方案类似的方案:“凹坑”的开始或结束标记为1,凹坑可以开始或结束但不能凹坑的位置为0。就像磁通反转一样。
然后是错误纠正。纠错涉及每个扇区存储的其他数据。过去,驱动器将读取主要数据字段+扇区的ECC数据,并且如果检测到任何错误(例如,通过读取许多“不应存在”的通道代码之一),它将使用ECC数据更正错误。
不再。现代的数据密度使错误或多或少地被预期。因此,ECC机制得到了加强,从而可以纠正更多的错误。
是的,这确实意味着您必须记录更多的位,但这在容量方面是一个净赢。
但是,结果是我们不能说一个位,甚至是一个通道代码的一个位,都记录在特定的位置,因为ECC数据对于恢复该位与通道代码一样重要。ECC的工作方式是,ECC数据上每个位的“影响力”分布在ECC数据的很多位上。(该原理称为“扩散”。)
那么,在哪里呢?好吧,它散布在周围。更改输入中的一位,则该扇区中许多位置的通量反转都会发生变化。
如果这看起来很奇怪,请等到了解PRML(代表“可能的最大响应可能性”)为止:即使从磁头恢复的波形(驱动器在其中寻找磁通反转)也要进行统计解释。但这与“位在哪里”没有多大关系。
I'm talking about the spot that stores 1 bit of data, the tiny little area that stores either a 1 or a 0 magnetically.
...而将其称为“位”有什么问题?