For faster navigation, this Iframe is preloading the Wikiwand page for 原生命令队列.

原生命令队列

此条目没有列出任何参考或来源。 (2021年6月10日)维基百科所有的内容都应该可供查证。请协助补充可靠来源改善这篇条目。无法查证的内容可能会因为异议提出而被移除。
本图阐述一颗硬盘在没有NCQ及有NCQ的存取顺序分别。两颗硬盘所要求的内容顺序均为1、2、3、4,但NCQ硬盘可以透过改变读写次序而增加效率。

原生命令队列(英语:Native Command Queuing,简称:NCQ),原先是改善伺服器硬盘存取控制技术,应用在SCSISATA 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):
    硬盘在完成任一指令后,可以无须再进行Handshake即可继续另一个指令,以便让多个指令快速接序或同时执行。
  • 中断聚合(Interrupt aggregation):
    硬盘由于以NCQ模式执行多个指令,所以原本每一个指令完成后必须中断(interrupt)以便让系统接续处理的模式,转成可以在多个指令完成后再一次提出(interrupt),故接口控制器(host controller)对于多个指令只须处理一次中断即可。
  • First party (第一方)DMA(FPDMA):
    硬盘完成资料读取后,无须靠host controller的DMA动作获取特定存储器位置,而是由硬盘本身建立DMA安装FIS(Frame Information Structure;框架资讯结构)直接对主控提交存储器存取通知,如此无须驱动程式的运作,可以有效提升存取效率。

条件

开启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
  • ALiULi
    • M1573
    • M1575
    • M1567
    • M1697
  • SiS
    • SiS966/SiS966L
    • SiS968
  • Marvell
    • 88SE9130

参看

  • TCQ(Tagged Command Queuing)
  • Intel组合存储技术软件(Intel Matrix Storage Manager)
{{bottomLinkPreText}} {{bottomLinkText}}
原生命令队列
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?