本节书摘来异步社区《信息存储与管理(第二版):数字信息的存储、管理和保护》一书中的第2章,第2.11节,作者:【新加坡】g.somasundaram ,【美】alok shrivastava,更多章节内容可以访问云栖社区“异步社区”公众号查看。
信息存储与管理(第二版):数字信息的存储、管理和保护
命令排序是应用于磁盘驱动器的一项技术,它决定接收到的i/o请求的执行顺序,以减少不必要的磁盘头移动,提高磁盘性能。当磁盘控制器接收到i/o请求时,命令排序算法会为此i/o分配一个标签,确定该命令的执行次序。使用命令排序技术,命令按照数据在磁盘上的组织确定执行顺序,而非按照接收顺序依次执行。
最常用的命令排序算法叫做寻道时间优化(seek time optimization)。命令的执行以实现读写头移动的最优化为目的,可能会对命令重新排序。如果不使用寻道时间优化,命令会按接收顺序先后执行。如图2-16(a)所示,命!

令会按a,b,c,d的顺序执行。a之后马上执行c,所需的磁头半径移动幅度小于执行b。应用寻道时间优化技术,命令的执行顺序为a, c, b, d,如图2-16(b)所示。
访问时间优化(access time optimization)是另外一个命令排序算法。使用这种算法,命令的执行顺序会综合考虑寻道时间优化和对于旋转延迟的分析,以实现最佳性能。
命令排序技术也应用在现代存储阵列控制器中,有时候会与应用于磁盘的命令排序并用。