为啥硬盘的访问时间是旋转延迟和寻道时间的总和,而不是它们的最大值?

Posted

技术标签:

【中文标题】为啥硬盘的访问时间是旋转延迟和寻道时间的总和,而不是它们的最大值?【英文标题】:Why is the access time of a hard disk the sum of rotational delay and seek time rather than their maximum?为什么硬盘的访问时间是旋转延迟和寻道时间的总和,而不是它们的最大值? 【发布时间】:2011-08-07 00:26:28 【问题描述】:

旋转延迟是磁头旋转到磁头组件到达正确扇区所需的时间。寻道时间是磁头组件移动到正确位置所需的时间。

如果它们同时移动,则只有两者中最大的一个才应计为访问时间(我相信通常是寻道时间)。但我读到的每一篇关于该主题的文字都表明它们必须被添加——这意味着它们不能同时移动。

那么哪个是正确的?总和,还是最大值?

【问题讨论】:

【参考方案1】:

磁头可能就位,但此时磁盘可能不在正确位置。所以想象一下,首先头部必须移动,然后等待主轴旋转。它可能在头部到达时就在那里,但很有可能它必须等待至少半个旋转才能到达正确的扇区。因此,将它们相加允许两者兼而有之。

编辑:

所以把它想象成一个旋转木马。你也许可以在 2 秒内跑到旋转木马(你是头)。但是您可能需要等待 5 到 10 秒,让您的特定马匹在您到达后向您靠近(马匹是您想要进入的区域)。

【讨论】:

好的,我想我明白了。我做了一个错误的假设。鼓一直在转动,如果它在磁头仍在移动时恰好处于正确的位置,它不会像我假设的那样停下来等待磁头;它一直在打开,所以我们必须等待它出现才能阅读。考虑到所涉及的速度,我应该明白这一点。【参考方案2】:

最坏的情况是最大寻道时间加上最大旋转时间,因为在最坏的情况下,当磁头到达正确位置时,所需的扇区刚刚错过了。

【讨论】:

以上是关于为啥硬盘的访问时间是旋转延迟和寻道时间的总和,而不是它们的最大值?的主要内容,如果未能解决你的问题,请参考以下文章

如何计算硬盘的延迟时间?

Linux 磁盘IO

硬盘的结构

硬盘io性能

I/O延迟

查找读取 1000 字节文件所需的时间 [关闭]