本节书摘来异步社区《信息存储与管理(第二版):数字信息的存储、管理和保护》一书中的第2章,第2.11节,作者:【新加坡】G.Somasundaram ,【美】Alok Shrivastava,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.11 磁盘原生命令排序(disk native command queuing)
信息存储与管理(第二版):数字信息的存储、管理和保护
命令排序是应用于磁盘驱动器的一项技术,它决定接收到的I/O请求的执行顺序,以减少不必要的磁盘头移动,提高磁盘性能。当磁盘控制器接收到I/O请求时,命令排序算法会为此I/O分配一个标签,确定该命令的执行次序。使用命令排序技术,命令按照数据在磁盘上的组织确定执行顺序,而非按照接收顺序依次执行。
最常用的命令排序算法叫做寻道时间优化(seek time optimization)。命令的执行以实现读写头移动的最优化为目的,可能会对命令重新排序。如果不使用寻道时间优化,命令会按接收顺序先后执行。如图2-16(a)所示,命!
![eb4de45a7ce49549588d505e9333705a746f597b](https://i-blog.csdnimg.cn/blog_migrate/5db5033a82828933f289b3d938b14b2e.png)
令会按A,B,C,D的顺序执行。A之后马上执行C,所需的磁头半径移动幅度小于执行B。应用寻道时间优化技术,命令的执行顺序为A, C, B, D,如图2-16(b)所示。
访问时间优化(Access Time Optimization)是另外一个命令排序算法。使用这种算法,命令的执行顺序会综合考虑寻道时间优化和对于旋转延迟的分析,以实现最佳性能。
命令排序技术也应用在现代存储阵列控制器中,有时候会与应用于磁盘的命令排序并用。