原生命令队列
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此条目没有列出任何参考或来源。 (2021年6月10日) |
![](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/NCQ.svg/250px-NCQ.svg.png)
原生命令队列(英语:Native Command Queuing,简称:NCQ),原先是改善伺服器硬盘存取控制技术,应用在SCSI和SATA 1.0/2.0/3.0接口硬盘读写加速技术,其接口开启磁盘阵列RAID亦能加速。透过硬盘固件、硬盘控制器以及操作系统三者的互相配合,改善硬盘内部扇区的读取顺序,可以提高硬盘性能,亦能够轻微减轻硬盘损耗的速率。NCQ对用于伺服器上的硬盘的效率提升尤为明显。
原理
一般硬盘使用的硬盘格式通常为Windows 98核心所使用的FAT32系列,或是Windows NT所使用的NTFS,此种硬盘格式在存取资料时,时常会出现散乱的情况,导致一个文件被不规则的分散成许多的区块存放于磁碟上面,时间一久,文件散乱的程度会日趋严重,由于传统的硬盘读取方式,会从文件的开头依序读取到结尾,若文件散乱的程度愈严重,则读取头需要来回移动的距离就越长,导致硬盘读写性能逐渐下降。一旦发生这样的问题,解决方案便是使用磁盘碎片整理软件来进行硬盘重组,将散乱的文件重新排列为连续的区块,但由于执行磁盘碎片整理可能会需要搬动大量的卷块,如果太常执行磁盘碎片整理,除了会提高系统负载,亦将会缩短磁盘驱动器的使用寿命,NCQ即为了解决此种情况而诞生。NCQ的概念原本是应用在伺服器上常见的SCSI接口上,在SCSI的规格中即包含此项技术,只是不叫做NCQ,将此项技术经过些许修改后称为NCQ,并将其应用在SATA接口上,后来的SAS接口也支持此项技术。激活NCQ技术的硬盘,在读取文件时,会依照文件在硬盘上的分布,将存取的顺序作最有效率的排序,以减少机械臂移动的距离,进而达到省时以及延长硬盘寿命的效果。
优势
于SATA II NCQ协议中,新增3个功能,分别是:
- 无竞争状态返回机制(Race-free status return mechanism):
- 中断聚合(Interrupt aggregation):
- First party (第一方)DMA(FPDMA):
条件
开启NCQ,除硬盘本身必须支持NCQ外,操作系统(OS)与接口控制器(controller)的支持也是不可或缺的条件。举例说,在Microsoft Windows平台上,从Windows Vista开始才支持NCQ,而Windows XP若要使用NCQ,则要额外安装支持软件。
支持晶片
(旧资料) 以下是支持NCQ的硬盘控制器,曾经被广泛使用,然而一些现在已经被淘汰:
- JMicron
- JMB360
- JMB361
- JMB362
- JMB363
- JMB365
- JMB366
- Silicon Image
- SiI 3124
- SiI 3132
- SiI 3531
- nVIDIA
- nForce 4 Ultra, nForce 4 SLI
- nForce 410
- nForce 430
- nForce 550
- nForce 570 Ultra, nForce 570 SLI
- nForce 590 SLI
- nForce 650i Ultra, nForce 650i SLI
- nForce 680i SLI
- nForce 780i SLI
- Intel [1] (页面存档备份,存于互联网档案馆)
- ESB2
- ICH6M, ICH6R
- ICH7DH, ICH7M, ICH7MDH, ICH7R
- ICH8DH, ICH8DO, ICH8M, ICH8M-E, ICH8R
- ICH9DO, ICH9M, ICH9M-E, ICH9R
- ICH10D, ICH10DO, ICH10R
- 5 Series
- 6 Series
- 7 Series
- 3400 Series
- VIA
- VT 8237S
- VT 8251
- ATI
- SB 600
- SB 700
- SB 750
- ALi/ULi
- M1573
- M1575
- M1567
- M1697
- SiS
- SiS966/SiS966L
- SiS968
- Marvell
- 88SE9130
参看
- TCQ(Tagged Command Queuing)
- Intel组合存储技术软件(Intel Matrix Storage Manager)