(转载请注明出处)
AHCI(Advanced Host ControllerInterface),即高级主控接口,它是用来实现原生SATA功能的,并且只有当开启AHCI后,才能启用NCQ功能。NCQ(NativeCommandQueuing),即原生命令队列,它的能够大幅度减少硬盘无用的寻道次数和数据查找时间,这样就能显著增强多任务情况下硬盘的性能。
这里用技嘉GA-H55M-D2H主板和希捷1T的SATA-2硬盘为例,说明怎么在不重装系统的情况下开启AHCI和NCQ。这里只说Win7系统。
在开启AHCI之前,从设备管理器中可以看到,IDEATA/ATAPI控制器里显示如下图:
用HD Tune硬盘工具查看,硬盘的信息如下图:
此时硬盘工作在UDMA Mode5模式,从支持特性上看,该硬盘是支持NCQ的。在开启AHCI之前,硬盘的基准曲线如下图:
可见基准曲线上有很多峰值,这些峰值会导致磁盘“顿卡”现象。
再用everest查看硬盘属性,也可以看到,该硬盘支持NCQ功能和SATA-2模式,如下图:
下面开始一步步开启AHCI。首先我们需要修改Win7的注册表。Win7是自带AHCI驱动的,只是默认是关闭,修改注册表的目的就是让Win7打开AHCI驱动。打开注册表,找到:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMsahci
点开之后右边键值如下图:
找到里面的Start,系统默认是3。现在我们把它改成0,关闭注册表。
然后重新启动电脑,按DEL键进入BIOS,打开AHCI。技嘉GA-H55M-D2H主板的BIOS里,只需要把IntegratedPeripherals --> SATA RAID/AHCIMode改成AHCI就可以了。有的技嘉主板还需要修改下图的属性:
修改完BIOS后,保存退出,重启电脑,Win7会自动检测硬盘,并安装一些驱动,如下图:
安装完成后,重启电脑。再进入系统之后,你会发现设备管理器中的一些属性变了,如下图:
这是系统自动安装了Wi n7自带的AHCI驱动,对于Intel主板,我们还需要安装一个南桥芯片的驱动,其中包含了SATA驱动。这个驱动可以去官网下载。该驱动在以前叫做IntelMatrix Storage Technology,即英特尔矩阵存储技术,只支持老的芯片组;现在叫做Intel RapidStorage Technology,即英特尔快速存储技术,安装如下图:
安装好该驱动和英特尔控制中心之后,重启电脑,AHCI就算完全开启了。此时你会发现很多东西都悄悄发生了变化。首先看设备管理器:
此时,IDE ATA/ATAPI控制器里变成了SATA AHCI Controller。下面用HDTune工具查看,硬盘传输模式变成了UDMA Mode 6,如下图:
重新测试基准曲线,可以发现曲线已经平滑了不少,没有之前的峰值出现了,如下图。
我们再打开英特尔快速存储技术的控制中心,查看状态,可以看到已经启用高级SATA功能:
在管理里面还可以看到,原生命令排队为“是”,SATA传输模式为“世代2”:
至此,我们就已经开启了AHCI/NCQ功能。
最后,我还要澄清几点网上普遍的错误认知,这些地方,在网上很多关于AHCI/NCQ的文章里都容易搞混淆的:
1) 有人说“开启NCQ后,用HDTune是测不出硬盘参数和支持特性的,并且支持特性里所有的勾都变成方块”,因此这才是开启了NCQ的标志。其实这种说法是不对的。之所以检测不出硬盘参数,是因为HDTune的版本太低。我用4.6版本的HD Tune就可以检测出开启后的硬盘参数和支持特性,但是换成3.5版本的HDTune就检测不出了。因此这不是开启NCQ的标志。
2)有人说“开启AHCI后,硬盘传输模式才是SATA-2”,这种说法也是不对的。其实硬盘的传输模式并不是由AHCI开启与否决定的,AHCI只是SATA-2标准的一个高级特性。只要主板和硬盘都支持SATA-2接口,并且主板安装了SATA驱动,那么即便不开AHCI,也默认是以SATA-2传输的。这一点可以从本文一开始的HDTune测试图就看出来,在开始那张图上,已经是SATA-2标准了。开启AHCI,只是为了开启NCQ而已。