Mxx Asked: 2012-09-26 08:18:44 +0800 CST2012-09-26 08:18:44 +0800 CST 2012-09-26 08:18:44 +0800 CST RAID 控制器是否同步 HDD 盘片旋转? 772 我在市场上寻找一种新的存储解决方案。在研究各种规格时,我的一位同事说,一些 raid 控制器可以同步 HDD 旋转,以影响所有驱动器的扇区/块 0 同时通过读取头。 我在网上搜索但未能找到证明/反驳这一说法的信息。 raid 4 个回答 Voted voretaq7 2012-09-26T08:29:53+08:002012-09-26T08:29:53+08:00 一般来说,我很确定答案是否定的(事实上我知道没有控制器这样做)。 进行这样的同步将非常困难——振动、温度、自然电源波动等都会对盘片转速产生很小的影响(如果你真的想挑剔的话,扇区的大小)。您需要不断地以无穷小的量改变磁盘主轴电机的速度以保持同步,这将需要非常精确(非常昂贵)的电机控制,并且需要大量磁盘控制器开销来确定每个驱动器的当前盘片位置。由于这样做几乎没有实际好处,因此不值得花费硅片和时间。 (如果你跳出旋转生锈介质的框框思考,这个想法也会完全崩溃——固态磁盘没有寻道时间或主轴速度:读取对于任何扇区来说都是有效的恒定时间,没有什么可以“同步”的。) Best Answer Ben Jackson 2012-09-26T12:10:08+08:002012-09-26T12:10:08+08:00 RAID 控制器没有(也不能)同步磁盘轴,但它是某些驱动器上的一个选项。给定一组带有主轴同步连接器的相同驱动器,您可以确保一组磁盘全部同步。我碰巧拥有一些 Seagate Elite 3(古老的、过时的 SCSI-2 驱动器),我记得它有这样一个连接器,所以我找到了Seagate ST43400N/ND Elite 3 用户指南,它在图 1 中有这个方便的插图(注意连接器从剩下): 图 14(此处未显示)说明了如何将驱动器连接在一起: 同步主轴 主轴同步功能使得同步一组磁盘驱动器的主轴旋转成为可能。这减少了启动器在多个磁盘驱动器之间切换时通常遇到的延迟。图 14 显示了两个系统配置。在一种类型的系统中,系统中的一个磁盘驱动器提供参考时钟。在另一种类型中,外部信号源提供参考时钟。 Posipiet 2012-09-27T00:44:03+08:002012-09-27T00:44:03+08:00 由于以下几个原因,同步驱动器不再有意义: 磁盘有坏扇区在生产时重新定位。磁盘很大,生产后有很多缺陷,重新定位。因此,同一生产运行的两个磁盘无论如何都不会 100% 同步。 磁盘在使用过程中会在内部重新定位坏扇区。这些扇区被移动到磁盘上的保留空间,使其更加不同步。 高速缓存、TCQ/NCQ 和重新定位的扇区使磁盘访问顺序在物理级别上具有不确定性。如果负载很高,如果一个磁盘出现故障,可能需要很长时间才能恢复正常。 多条带访问可以越过扇区(甚至盘片)边界,无论如何都会使读取不对齐。例如,如果您在 Raid 6 上访问 4x 条带大小,则某些条带可能位于不同磁盘的不同区域中。 Raids 中的读取访问通常不会针对所有磁盘,只要磁盘不抱怨它们的块校验和即可。这会使磁盘不在缓存同步中,并因此不在物理同步中。(除非你也关闭读取缓存) RAID 控制器上的读取缓存、操作系统中的读写缓存使问题进一步复杂化。我希望 raid 上没有交换空间,这可能会解决任何性能问题。 在早期,实现磁盘同步是为了使访问具有确定性,这在存储结果的 Memory 稀缺或 raid 的实现需要它时(Raid 2,Raid 3)很重要。 很难量化同步驱动器的优势。我想如果可以获得实质性的性能优势,则可以通过某种方式实现同步。 未来,对于 SSD,事情类似,但出于不同的原因,有块重定位、磨损均衡、修剪等。 现代驱动器有自己的操作系统,并在内部花费时间处理许多问题,无论是 HD 还是 SSD。即使您使它们在物理上同步,但从逻辑上讲它们无论如何都不会同步。 Rex 2012-09-26T09:04:50+08:002012-09-26T09:04:50+08:00 如果您曾经关闭并使用从未使用过的 RAID-2,其中数据在位级别进行条带化,则需要同步磁盘。我认识的人都没有用过它,但从技术上讲,如果 RAID 控制器支持 RAID2,它就需要能够同步盘片旋转。这将是现在唯一需要的。
一般来说,我很确定答案是否定的(事实上我知道没有控制器这样做)。
进行这样的同步将非常困难——振动、温度、自然电源波动等都会对盘片转速产生很小的影响(如果你真的想挑剔的话,扇区的大小)。您需要不断地以无穷小的量改变磁盘主轴电机的速度以保持同步,这将需要非常精确(非常昂贵)的电机控制,并且需要大量磁盘控制器开销来确定每个驱动器的当前盘片位置。由于这样做几乎没有实际好处,因此不值得花费硅片和时间。
(如果你跳出旋转生锈介质的框框思考,这个想法也会完全崩溃——固态磁盘没有寻道时间或主轴速度:读取对于任何扇区来说都是有效的恒定时间,没有什么可以“同步”的。)
RAID 控制器没有(也不能)同步磁盘轴,但它是某些驱动器上的一个选项。给定一组带有主轴同步连接器的相同驱动器,您可以确保一组磁盘全部同步。我碰巧拥有一些 Seagate Elite 3(古老的、过时的 SCSI-2 驱动器),我记得它有这样一个连接器,所以我找到了Seagate ST43400N/ND Elite 3 用户指南,它在图 1 中有这个方便的插图(注意连接器从剩下):
图 14(此处未显示)说明了如何将驱动器连接在一起:
由于以下几个原因,同步驱动器不再有意义:
在早期,实现磁盘同步是为了使访问具有确定性,这在存储结果的 Memory 稀缺或 raid 的实现需要它时(Raid 2,Raid 3)很重要。
很难量化同步驱动器的优势。我想如果可以获得实质性的性能优势,则可以通过某种方式实现同步。
未来,对于 SSD,事情类似,但出于不同的原因,有块重定位、磨损均衡、修剪等。
现代驱动器有自己的操作系统,并在内部花费时间处理许多问题,无论是 HD 还是 SSD。即使您使它们在物理上同步,但从逻辑上讲它们无论如何都不会同步。
如果您曾经关闭并使用从未使用过的 RAID-2,其中数据在位级别进行条带化,则需要同步磁盘。我认识的人都没有用过它,但从技术上讲,如果 RAID 控制器支持 RAID2,它就需要能够同步盘片旋转。这将是现在唯一需要的。