SATA硬盘NCQ技术分析
程序员文章站
2022-05-11 21:36:46
SATA硬盘NCQ技术分析 对电脑配件有一定了解的人应该或多或少都听过“NCQ”这个词。那何谓“NCQ”呢,它是:“Native Command Queuing”的英文缩写,意思是“原生命令排序”,是属于SATA Rev 2.5规范中... 09-04-21...
对电脑配件有一定了解的人应该或多或少都听过“ncq”这个词。那何谓“ncq”呢,它是:“native command queuing”的英文缩写,意思是“原生命令排序”,是属于sata rev 2.5规范中比较重要的一条。
原生命令排序,指可以排列硬盘所接收到的指令以改进性能。具体来说是将所接收的指令以某种顺序进行重新排序,排序的目的在于让磁头能集中寻址,减少磁头不必要的来回寻址以缩短整体用时,有效改善硬盘的响应速度和总的传输速度。要减少寻道时间,一般的做法就是对任务的重新排序。因为如果我们的定位任务按照先来后到的顺序依次进行,那延迟肯定很大。这里可以举一个很好理解的例子。如果3个人同时乘电梯,a先按按钮要到10楼,b要到5楼,c到15楼,如果按照先按先送的顺序,电梯先到10楼,再下来到5楼,又上去到15楼,显然浪费了很多时间,而正常的顺序是从下往上的顺序排列的,这个例子很普通,但是可能大家乘电梯的时候从来不会考虑到吧。当然寻道时间的优化比这个复杂得多,算法也聪明得多。
ncq带给我们的是聪明的硬盘,这样的硬盘自己知道怎么安排任务。从最近的技术发展来看,硬件的发展已经不是纯粹提高工作频率了,各种优化算法和对架构的改革成了提高性能的新增长点。ncq更像是超线程技术,在单任务中表现不怎么样,但是在多任务环境下可以明显体会到对性能的提升作用,而平时我们一般都是多任务操作的。可以用对待超线程一样的态度对待ncq,而且ncq肯定将会是硬盘发展的方向。
目前想要享受ncq,只要买支持sataii的主版再加上一个支持ncq的硬盘就好了。
原生命令排序,指可以排列硬盘所接收到的指令以改进性能。具体来说是将所接收的指令以某种顺序进行重新排序,排序的目的在于让磁头能集中寻址,减少磁头不必要的来回寻址以缩短整体用时,有效改善硬盘的响应速度和总的传输速度。要减少寻道时间,一般的做法就是对任务的重新排序。因为如果我们的定位任务按照先来后到的顺序依次进行,那延迟肯定很大。这里可以举一个很好理解的例子。如果3个人同时乘电梯,a先按按钮要到10楼,b要到5楼,c到15楼,如果按照先按先送的顺序,电梯先到10楼,再下来到5楼,又上去到15楼,显然浪费了很多时间,而正常的顺序是从下往上的顺序排列的,这个例子很普通,但是可能大家乘电梯的时候从来不会考虑到吧。当然寻道时间的优化比这个复杂得多,算法也聪明得多。
ncq带给我们的是聪明的硬盘,这样的硬盘自己知道怎么安排任务。从最近的技术发展来看,硬件的发展已经不是纯粹提高工作频率了,各种优化算法和对架构的改革成了提高性能的新增长点。ncq更像是超线程技术,在单任务中表现不怎么样,但是在多任务环境下可以明显体会到对性能的提升作用,而平时我们一般都是多任务操作的。可以用对待超线程一样的态度对待ncq,而且ncq肯定将会是硬盘发展的方向。
目前想要享受ncq,只要买支持sataii的主版再加上一个支持ncq的硬盘就好了。