多盘硬盘是不是全部磁头同时读取?

WiS*_*GaN 14 hard-drive

假设我们有一个带有 2 个盘片的硬盘,其特征如下:

旋转速率:10, 000 RPM
平均扇区/轨道:1000
表面:4
扇区大小:512 字节

当我发现它计算传输时间时,我正在阅读“计算机系统:程序员的视角 2ed”,就好像它只使用一个磁头读取一个扇区一样。
如果是这样,为什么不使用 4 个磁头在 4 个表面上写入(读取)?所以当我写一个 2K 字节的文件时,每个磁头只需要等待盘片旋转一个扇区长度而不是 4,从而将传输时间减少 4 倍。
甚至重新设计扇区,使每个扇区成为一个圆柱体,但在分别位于 4 个表面上的相同位置的 4 个轨道上。每一个 (512/4) 字节。所以当硬盘需要读取一个 512 字节的扇区时,我们只需要磁盘比原始时间旋转大约 1/4。
这个想法看起来像 RAID 0。

Mar*_*som 11

一次读取或写入所有磁头需要复制所有涉及的电路 - 磁头放大器、比特流解码器,甚至微处理器和高速缓存。我不知道磁盘实际上是如何设计的,但对我来说似乎不太可能,特别是考虑到行业的价格压力。此外,即使是来自单个盘片的流也可能接近接口限制 - 是搜索和旋转延迟会杀死您。


小智 5

我认为这已经是它的工作方式了:

气缸

柱面在每个盘片上包含相同的磁道编号,跨越能够存储数据的每个盘片表面上的所有此类磁道(不考虑磁道是否“坏”)。因此,它是一个三维结构。可以在执行器组件保持静止时写入和读取包含特定柱面一部分的任何磁道,硬盘制造商提高驱动器访问速度的一种方法是增加可以同时读取的盘片数量时间。

https://en.wikipedia.org/wiki/Cylinder-head-sector#Cylinders

编辑

来自维基百科的这句话并没有说明一切,来自pcguide.com 的人清楚地说:

在给定时间只有一个磁头可以读取或写入硬盘。特殊电路用于控制在任何给定时间哪个磁头处于活动状态。

所以这是针对低/中端硬盘驱动器,我在这里这里遇到了一些旧的讨论,他们指的是您所描述的“内部 RAID”技术,而我实际上对今天的硬盘驱动器技术知之甚少。

  • 从您的 [链接](http://discuss.fogcreek.com/joelonsoftware3/default.asp?cmd=show&ixPost=98440&ixReplies=23) 中,John Rose 说“也许是因为一定数量的硬盘扇区总是被标记为”坏”,因为任何驱动器都不会让其所有的数十亿个扇区都能完美运行。如果您执行“内部 RAID”操作,如果一个扇区出现故障,则驱动器需要在所有 2 或 3 个盘片上将其标记为坏。我猜测真的会开始减少可用的驱动器容量......”。我觉得也有道理。 (2认同)