AHCI 详解.docx
《AHCI 详解.docx》由会员分享,可在线阅读,更多相关《AHCI 详解.docx(10页珍藏版)》请在冰豆网上搜索。
![AHCI 详解.docx](https://file1.bdocx.com/fileroot1/2023-1/29/6e08b2dd-1581-413b-8d74-56c6e1b7d052/6e08b2dd-1581-413b-8d74-56c6e1b7d0521.gif)
AHCI详解
一、AHCI,你知道么?
好多朋友都知道SATA硬盘比IDE要好,不仅仅在外部接口的速率上有所提升,并且功能,特性上都有所提升。
但是很多朋友买回来的硬件,从主板到硬盘再小到硬盘数据线,都是完全符合SATA 3g规范的,却使用不了SATA硬盘的一些特性以及速度,就是因为没用真正使用AHCI接口。
AHCI是什么呢,请看下面的介绍:
AHCI,全称为SerialATAAdvancedHostControllerInterface(串行ATA高级主控接口),是在Intel的指导下,由多家公司联合研发的接口标准,其研发小组成员主要包括Intel、AMD、戴尔、Marvell、迈拓、微软、RedHat、希捷和StorageGear等著名企业。
AHCI描述了一种PCI类设备,主要是在系统内存和串行ATA设备之间扮演一种接口的角色,而且它在不同的操作系统和硬件中是通用的。
AHCI通过包含一个PCIBAR(基址寄存器),来实现原生SATA功能。
由于AHCI统一接口的研发成功,使得支持串行ATA产品的开发工作大为简化,操作系统和设备制造商省去了单独开发接口的工作,取而代之的是直接在统一接口上进行操作,可以实现包括NCQ(NativeCommandQueuing)在内的诸多功能。
一直以来SCSI硬盘在多任务负载下的表现能力为人称道,其根本的原因除了SCSI接口惊人的接口速率外,便是它的指令排序功能。
以往的PATA、SATA硬盘也正是因为缺少一种指令优化执行功能而在性能上落后于SCSI硬盘。
针对这一困境,Intel的AHCI1.0规范首次引入的NCQ(NativeCommandQueuing),它的应用能够大幅度减少硬盘无用的寻道次数和数据查找时间,这样就能显著增强多任务情况下硬盘的性能。
Intel的官方文档:
而另一方面,AHCI也是使得eSATA支持热插拔的条件,可以像硬盘像USB一样支持热插拔。
也就是说,目前SATA比较重要的特性,是通过打开AHCI才能去实现,换句话说,没有打开ACHI的SATA就只能说是单纯提高了外部传输率的IDE。
试想一下,你经常做一些I/O密集型的数据读写工作,或者小文件copy,delete,这种有NCQ技术就可以使性能提升50%甚至更高的操作并不乏应用。
又或者你不满USB的速度,喜欢使用eSATA但又要希望保留USB的热插拔性,这时候,你就需要AHCI。
其实,AHCI也不是那么重要,毕竟对于硬盘而言,质量,容量,速度才是更为重要的因素,但是我们不能容忍的,明明现在大部分的硬盘以及主板都支持AHCI,可我们却不能使用。
二、如何开启AHCI
我们知道AHCI是需要两个设备同时支持,也就是硬盘和主板都支持。
而硬盘无需要设置,只要主板这一段才能设置是否打开AHCI。
很不幸,我们现在大多数的系统,都只支持最常见的通用磁盘控制器,所以AHCI是没办法支持的。
而如果需要在WindowsXP/2K上安装AHCI的驱动,那必须有一个软驱,并且得在安装时按f6才能安装。
这么麻烦的事肯定会使得消费者非常反感,所以主板厂商肯定不会做这种让消费者抗拒的事,于是他们设计了一个比较折中的方法,所有SATA的设备可以模拟IDE,使用IDE的通用驱动,这样既保存了SATA的高传输率,也可以使得安装系统时非常简单,并且这个设计使得几乎所有主板的默认选项,都是使用IDE的驱动。
这个设计非常帖心,同时也非常令人惋惜的,因为它直接牺牲AHCI这个非常重要的特性,所以我们如何要想正确开启它,必须手动进BIOS里去调整,把SATA改成AHCI,如图。
只要打开AHCI,再装上正确的驱动,就可以打开ACHI功能了,这样才能摆脱IDE的阴影。
如下图就是正确打开了AHCI。
那么,要如何安装AHCI的驱动?
如果你要安装WINDOWS XP,那么恭喜你,你得准备一个软驱,如果是VISTA,最少也得一个U盘或者其它存储设备。
这种普通方法不是咱们今天要介绍的,笔者今天和大家介绍的,是无需任何设备,也无需重装,在原有系统上打开AHCI。
三、先来说WindowsXP/2K的开启AHCI方法
其实为何普通的方法,在打开AHCI之后要重装系统并且用那种麻烦的安装方法呢?
因为打开了AHCI之后,换了一种模式的磁盘控制器,对于WINDOWS就是一个新的设备了,而新的设备WINDOWS并不支持,那只能重装了。
我们下面的想法基本是这样,先强制让Windows安装上新的AHCI,然后再重启,重启的时候再进入Bios开启AHCI。
好,下面开始吧,以IntelP965 ICH8R为例子,Intel芯片组基本都一样,NV/AMD芯片组驱动会不一样,但原理是一样的。
首先,要确定安装主板驱动,我在这里安装的是Intel(R)ChipsetDeviceSoftware8.4.0.1010,版本无所谓,只要支持你的主板就ok。
换之前,我们要准备更换的驱动。
Intel的支持AHCI/Raid的驱动是Intel(R)MatrixStorageManager。
然后我们运行安装,注意的是因为你的主板并没有开启AHCI,而也没有RAID的话,MatrixStorageManager是没有办法安装上的,它会说不满足的最低要求,因为你现在还没有这个设备。
这没关系,我们也没指望他现在就可以装上这个驱动,我们只是希望能通过个安装来提取出我们所需要的驱动。
双击MatrixStorageManager,一直next到下图所示,就不能再继续,因为再继续就停止安装了(不满足最低安装要求)。
到了这一步,我们要查找刚才这个程序解压出来的临时文件放到哪里,所以我们用搜索的方法去查找,关键字为“AHCI”,这下我们知道,它在Windows\temp\iif\winall里面,这是一个临时文件,所以我们要把它Copy出来存起来以备以后安装使用。
由于笔者使用的32位XP,所以我们使用Driver里的驱动。
现在我们就来把刚才的Intel(R)ICH82PortSerialATAStorageController-2825以及Intel(R)ICH84PortSerialATAStorageController-2820的驱动按以下方法强制安装(两个都需要更换)。
从磁盘安装里选择刚才保存下来的Driver文件夹,选择Iaahci.inf。
然后到了选择Iaahci.inf里面所有包含的achi驱动,这里可以查一查自己的南桥芯片组对应的驱动,这个可以上google,baidu去查找,选错了没有多大问题,大不了恢复一下再重新来过。
当按下下一步的时候,如果你的系统硬盘正好挂在上面,有可能会蓝屏,因为你当前使用的系统盘突然变了一个驱动,导致Windows无法读写硬盘,自然就会蓝屏。
这没问题,只要你当前没有需要保存的操作即可,这时候蓝屏完后重启,我们就需要在Bios里打开AHCI,要不然再进去Windows还是会蓝屏,因为驱动已经是AHCI的了。
这里说一下,如果你选择错误还是其它什么别的原因导致既然BIOS里更改成了AHCI也没办法正常进入WINDOWS,不要惊慌,没啥大不了,可以在计算机启动时,不停按下f8,然后在启动界面里,选择“最后一次正确的配置(您的起作用的最近位置)”即可恢复成原来的样子,所以说这个做法并没有危险性。
如果成功之后,我们就可以进入Windows了,这时再查看驱动,ok,驱动已经正确装上了(其实选错,只要是其它南桥ahci的驱动,一般也能进入Windows)。
到这里面算完了么,NO,我们只是把驱动装好了,Intel(R)MatrixStorageManager我们并没有安装上呢,只是用了它里面的驱动,而其它功能要重新安装一次才能成功,而这个过程中,如果你的驱动重错了,它也会帮你更正过来。
这次因为我们有AHCI的设备了,所以它会老老实实的安装完毕,再也不会出来闹唤了。
我们在打开了IntelMatrixStorageConsole程序来查看,发现已经正确打开Sata2并且支持NCQ了,到此整个XP的安装结束,虽然有点麻烦,但却一劳永逸,以后有新驱动直接更新就是,不再需要这么麻烦了。
我再用文字把刚才XP安装的原理叙述一遍,以方便非Intel芯片组的安装:
首先准备好Ahci的驱动,部分驱动可以直接用Winrar解压,而不能解压的可以使用安装来解压,再用"ahci,ide,sata“等关键字来搜索解压出来的临时文件夹,再强制安装上驱动,随后重启,再在BIOS里打开AHCI,回到Windows下就已经安装成功,但最好再把软件再安装一次,确保可以使用到所有功能。
四、Vista的开启AHCI方法
说到Vista打开AHCI,那安装可就太简单了
根据
1.退出所有基于Windows的程序。
2.单击“开始”,在“开始搜索”框中键入regedit,然后按Enter。
3.如果显示“用户帐户控制”对话框,请单击“继续”。
4.找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
5.在右窗格中,右键单击“名称”列中的“Start”,然后单击“修改”。
6.在“数值数据”框中,键入0,然后单击“确定”。
7.在“文件”菜单上,单击“退出”以关闭注册表编辑器。
在Advanced选项中将SATAcontrollerMode中默认的IDE调整为AHCI
同样,也要把Intel(R)MatrixStorageManager安装一遍,其它的芯片组也是如此。
下面我们使用的ICH9,以及一个SATA150的硬盘,同样可以开启AHCI。
最后祝大家都顺利打开AHCI,加快速度。