硬盘NCQ功能使用详解

硬盘NCQ功能使用详解


2024年1月12日发(作者:)

本文能解答的问题: windows Server 2003下使用SATAII硬盘能够打开NCQ功能吗?会影响SATA接口的硬盘的NCQ功能不?带有NCQ功能的SATA硬盘等于SATA300(追加分数)?IDE接口的硬盘和SATA接口的在使用的效果上有什么明显差异?SATA硬盘使用AHCI模式与普通模式相比速度快多少?我用的是915的主板,可以使用SATA2硬盘么?主板不支持sata2.0的串口硬盘,我买了日立500Gsata2.0接口速...?技嘉780G-S2HP主板怎样才能使用ESATA移动硬盘?怎么样才能知道硬盘是否支持NCQ技术?硬盘串口和并口什么意思哪一种比较好!!!

NCQ是属于SATA 300规范中的一条,它是一项提升硬盘性能的技术,下面来具体解释它。

我们知道硬盘和内存不同,硬盘结构上有很大部分是机械的,其性能一定受到机械部件特性比如马达转速等等的影响,所以硬盘速度始终只能慢慢提高。

我们的硬盘是怎么写数据的?其过程很简单,从磁碟的最外圈开始往内圈写,一个圈叫做一个磁道track,所有碟(platter,即平时说的单碟),面(一个碟可能有两个面)上同一磁道组成一个柱面(cylinder),写硬盘就是按照从外到里一点点顺序写的。可惜我们读取的时候肯定不是按照这样的顺序的,我们一般是随机的读取分散在盘片上的数据,我们需要在快速转动的同时准确定位,可以想象这是多么不容易

上图中暗红的是就是一个磁道(track),黄色的是扇区(sector)。

要精确定位,我们会遇到两个敌人:寻道延迟和转动延迟。

寻道延迟是磁头找到磁道的时间。我们可以想象一下磁头反复地在一个个同心圆之间伸长,缩短,其延迟就是寻道延迟,或者在硬盘技术参数中称为寻道时间。

要减少寻道时间,一般的做法就是对任务的重新排序。因为如果我们的定位任务按照先来后到的顺序依次进行,那延迟肯定很大。这里可以举一个很好理解的例子。如果3个人同时乘电梯,A先按按钮要到10楼,B要到5楼,C到15楼,如果按照先按先送的顺序,电梯先到10楼,再下来到5楼,又上去到15楼,显然浪费了很多时间,而正常的顺序是从下往上的顺序排列的,这个例子很普通,但是可能大家乘电梯的时候从来不会考虑到吧:)当然寻道时间的优化比这个复杂得多,算法也聪明得多。

转动延迟是找到准确磁道后,那个正确的地址所在位置转到磁头下面的时间。这里我们可以想象转得越快,这个时间就越短,对5400转硬盘,转一圈要11.1毫秒,7200转要8.3毫秒,而万转硬盘只要6毫秒。

要减少转动延迟,一般的办法是提高转速,但是我们知道提高转速很难,否则我们不会到现在还在用7200转的硬盘。除了这个办法还有1.优化排序2.乱序执行。

两个延迟加起来就是我们遇到的总延迟,我们希望总延迟越小越好。以前的做法是优化排序任务从而减少寻道时间,但是后来发现追求最小寻道时间会导致转动延迟变大,两者相加不一定是最小的。所以提出了一种综合考虑寻道和转动的优化方法,这种方法就称为“tagged

command queuing”,而在SATA 300标准中使用的特殊的优化方法就叫做“Native

Command Queuing”,就是NCQ。

总算说到NCQ了,相信这样解释下来大家一定清楚它就是一种从寻道和转动两方面考虑的,目的在于减少总延迟的优化算法。关于TCQ和NCQ的具体区别和NCQ具体怎么操作就略过了,需要的可以查白皮书。SATA 300规范还引入3种新技术保证NCQ的效率。

Race-Free Status Return

在PATA里,如果控制器没有对硬盘发出下一个命令,硬盘是不能发回之前命令的执行状态的,这会造成额外的延迟。为此,SATA 300免除了这项限制,允许各硬盘端可以随时报告命令执行状态,所以命令执行完毕信息的回报可以达成高度的管道化,甚至做到数个命令同时回传的程度。

Interrupt Aggregation

在DMA传输模式下,硬盘通知传输结束,会引起一个中断(Interrupt),造成延迟。所以SATA 300提供中断聚集机制。如果硬盘同时间内完成多组命令,这些命令完成所引起的中断就可以聚集在一起,大幅减少中断的数目,这对于降低中断延迟有极大的贡献。

First Party DMA(FPDMA)

当PATA的硬盘准备要传输资料时,会发出中断讯号告知控制器,然后控制器对硬盘发出服务命令。当上述动作完成,控制器的驱动程式就进行直接记忆体存取(DMA)通道的设定,这过程会造成不小的延迟。SATA II允许硬盘端自行建立DMA传输通道,不需驱动程式介入,通过DMA setup FIS(Frame Information Block)直接对控制器送出需求通知,DMA引擎就可以进行资料传输。

我们看到这些技术都是尽量减少了命令在控制器和硬盘之间的延迟,使得NCQ对命令的排序更加有效。

什么设备支持NCQ

目前在市面上可见的硬盘中,只有我们提到的7200.7和Maxtor的金钻10系列支持NCQ。其中带NCQ的7200.7在国内市场上有售,但金钻10虽说很早就出现在各地,但似乎只有那么几个,根本不可能买到。

在支持的主板方面,目前只有Intel最新的9X5系列中使用的ICH6系列南桥支持NCQ,而刚刚发布的NF4系列也将支持NCQ。独立的扩展卡中Silicon Image 3124是目前市场上唯一的支持NCQ的,相信其它厂家马上将推出同类产品,甚至可能对老产品推出新的驱动实现对NCQ的支持。

回答者:答案答案 - 经理 四级 11-30 15:43

NCQ(Native Command Queuing,原生命令队列)是被设计用于改进在日益增加

的负荷情况下硬盘的性能和稳定性的技术。当用户的应用程序发送多条指令到用户的硬盘,NCQ硬盘可以优化完成这些指令的顺序,从而降低机械负荷达到提升性能的目的。

NCQ是SATA硬盘的一项重要新特征。通过对硬盘命令队列进行优化,NCQ能有效提高硬盘效率和性能。目前高端主板和新推出的SATA硬盘都已支持NCQ。不过千万别以为有了好配置就可高枕无忧,要享受NCQ带来的好处,你还需……

一、哪些硬盘和主板支持NCQ?

目前支持NCQ的硬盘有3个系列,包括迈拓金钻10代SATA(DiamondMax10 SATA)、希捷酷鱼7200.8(Barracuda 7200.8)和希捷酷鱼7200.7 SATA NCQ版。其中,迈拓金钻10代目前已可在零售市场买到,包括PATA和SATA两种接口版本。希捷酷鱼7200.8也分为SATA和PATA两种版本。其中,只有SATA版本才能支持NCQ功能。希捷酷鱼7200.7系列则比较复杂,不仅有PATA和SATA接口之分,而且老版本的SATA产品也不支持NCQ,只有近期新推出的NCQ版才可支持,用户需从型号上加以区别。

目前支持NCQ的南桥芯片有Intel ICH6-R、VIA VT8251和SiS 963/964/965,凡采用这些南桥芯片的主板都支持NCQ功能。

购买硬盘时请留意表面编号,迈拓DiamondMax10 250GB SATA150具备NCQ功能。

二、必需设置不可少

即便主板和硬盘具备了NCQ功能,但NCQ功能在默认状况下并未自动打开,还需进行一番设置。首先,NCQ是AHCI(高级主控界面)所支持的一项技术,开启AHCI是第一步。AHCI属于SATA2的高级特征之一,支持SATA功能的主板并不一定支持AHCI。只有在主板BIOS中能找到AHCI选项才表明这款主板能支持NCQ。 字串8

进入主板BIOS,找到“Integrated Peripherals”→“OnChip Serial ATA Device”,查看此处是否有“AHCI”选项。

BIOS设置

下面以采用Intel ICH6-R南桥的主板为例介绍NCQ相关的BIOS设置。在BIOS的SATA工作模式选项中,除了RAID和IDE外,还多出了一个AHCI选项。大家知道IDE模式是指让SATA硬盘工作在普通IDE模式下,通常用于单个SATA硬盘,而RAID模式则是通过RAID控制器来管理SATA硬盘,适合建立SATA RAID。新增的AHCI模式则利用AHCI控制器来管理SATA硬盘。在某些主板的BIOS选择中,SATA工作模式和AHCI功能是两个选项,当SATA模式设置为RAID时,AHCI自动处于“支持”;当SATA模式设为IDE时,AHCI可选择“支持”或“不支持”,两种设置可能存在的选项有3种。

要支持NCQ功能,BIOS中的“SATA Mode”应设为“AHCI”

其实,AHCI和SATA模式的关系并不复杂。当开启SATA RAID控制器时,AHCI会同时生效;如果不使用SATA RAID,AHCI可设置为关(即普通IDE模式)或开(单独启用AHCI)。无论如何,只有AHCI设置为开时,方可支持NCQ。

Windows安装

综上所述,使用支持NCQ的主板时,通过BIOS可把SATA接口设置为3种不同模式:RAID、AHCI和IDE。IDE模式安装Windows的方法没有什么特别之处,而RAID模式需要在启动时按F6,并通过软盘载入RAID控制器的驱动程序。AHCI模式和RAID一样,在启动时也需按F6,通过软盘载入驱动程序。值得注意的是,在AHCI模式下,应选择AHCI驱动程序,而非RAID驱动,其它安装则与RAID模式完全相同。 字串4


发布者:admin,转转请注明出处:http://www.yc00.com/web/1705034366a1387375.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信