程序员计算机相关每天写1000字

机械硬盘的I/O请求服务时间模型

2018-09-06  本文已影响28人  晚夜星辰

    传统的机械硬盘一般由盘片和磁头组成,而盘片上又被进一步划分成磁道和扇区,以方便数据的管理与存储。系统在读写磁盘时,需要先将磁头移动到数据所在的磁道上。此时由于盘片旋转,会将数据所在的扇区旋转到磁头下方,从而进行数据的读取或写入。现在的机械硬盘一般包含多个盘片,因此也就有了所谓柱面的概念,本文只是阐述I/O请求服务时间的概念,因此不再概述讨论磁道、扇区和柱面相关的细节。

磁盘结构

    因此普通的I/O请求主要包括以下三个步骤:寻道操作、磁盘旋转操作和数据传输操作。因此假设此时有n个I/O请求,其请求队列如下所示:

请求队列

    以上为请求队列,假设请求 Ri 是请求 Rj 的前一个请求,Dij 为请求 Ri 和请求 Rj 之间的距离,Bj 为请求 Rj 的数据块长度。Lj 为请求 Rj 的扇区起始位置。则请求 Rj 的服务时间 Tj 可以通过如下公式求得:

请求 Rj 服务时间 Tj

    其中函数seek表示寻道延迟,rot表示旋转延迟,trans表示传输延迟。rot延迟与硬盘的转速有关,速度越快旋转延迟越小。trans延迟与硬盘接口和传输速度有关,速度越快,传输时延越小。而seek时延则可以根据文献[1]给出的模型通过距离Dij求出,其公式如下所示:

请求Rj的寻道延迟

 [1] Ruemmler C, Wilkes J. An introduction to disk drive modeling[M]. IEEE Computer Society Press, 1994.  

上一篇 下一篇

猜你喜欢

热点阅读