查看: 6489|回复: 1
收起左侧

[技巧] 关注SATA的高级特性:AHCI

[复制链接]
8′灕b棄
发表于 2007-12-28 23:54:20 | 显示全部楼层 |阅读模式
这是我以前发在DRL论坛的的帖子,后来自己删除了
觉得发在这里也很合适,大家看看吧

一、何谓高级主机控制器接口(AHCI)? 引用:
高级主机控制器接口(AHCI)是一种接口技术指标,它允许存储驱动程序启用高级串行ATA功能,如本机命令队列和热插拔

这里提到,AHCI包含两个主要内容:本机命令队列(即NCQ)和热插拔 引用:
本机命令队列(NCQ)是由高级主机控制器接口(AHCI)支持的一项功能。它可使ATA驱动器一次性接受一个以上的命令,并动态重新排序命令以获得最大效率。当与支持NCQ的硬盘驱动器一起使用时,NCQ可提高随机负载的存储性能。
热交换(也称为热插拔)是由高级主机控制器接口(AHCI)和英特尔® 矩阵存储技术支持的一种功能。热交换可在系统运行时插入并移除设备。

二、AHCI所需硬件支持
硬盘方面,还没有哪个厂商的哪个型号声称完整支持AHCI,但大多都已支持NCQ,基本上只要选择支持NCQ的硬盘即可
购买了SATA硬盘的用户不少,但真正启用了AHCI的却并不多。首先看一下AHCI的特性之一:NCQ
NCQ很早就已经获得了应用,并且一直受到大家关注。想要启用NCQ,intel明确了所需的条件: 引用:
要利用NCQ,您需要:
英特尔® 矩阵存储技术软件
支持NCQ的硬盘驱动器
英特尔® 芯片组,使用支持AHCI的控制器集线器

很明显,需要主板芯片组(或磁盘控制器)、硬盘和驱动程序三者的配合
我们可以理解为,启用了AHCI,也就启用了NCQ
如果不采用独立磁盘控制芯片的话,直接支持AHCI的南桥芯片十分有限 引用:
英特尔® 82801HR/HH/HO I/O 控制器集线器 (ICH8R) - RAID 和 AHCI
英特尔® 631xESB/632xESB I/O 控制器集线器 - RAID 和 AHCI
英特尔® 82801GHM I/O 控制器集线器 (ICH7MDH) - 仅限 RAID
英特尔® 82801GBM I/O 控制器集线器 (ICH7M) - 仅限 AHCI
英特尔® 82801GR I/O 控制器集线器 (ICH7R) - RAID 和 AHCI
英特尔® 82801GH I/O 控制器集线器 (ICH7DH) - RAID 和 AHCI
英特尔® 82801FR I/O 控制器集线器(ICH6R)- RAID 和 AHCI
英特尔® 82801FBM I/O 控制器集线器 (ICH6M) - 仅限 AHCI
基于 ICH8、ICH7 和 ICH6 的芯片组,以及基于 ICH5 和 ICH5R 的芯片组,未使用 AHCI。

也就是说,intel的ich系列南桥芯片中,目前只有ICH6R、ICH6M、ICH7R、ICH7DH、ICH7M、ICH8R这几款支持AHCI
而ICH5、ICH5R、ICH6、ICH7、ICH8都不支持
intel的应用程序加速器(IAA)是个不错的驱动程序,但奇怪的是,ICH5和ICH5R推出之后,只有针对ICH5R的Intel® Application Accelerator RAID Edition,而没有供ICH5使用的驱动。现在看来,IAA RAID应该是只针对RAID模块的驱动,而不包含这个模块的南桥芯片可以直接使用xp内置的驱动程序。IAA的后续版本Intel® Matrix Storage Manager,最大的区别在于可以打开AHCI功能,而无论是选择AHCI还是RAID,驱动程序都是同一个sys文件,可见AHCI和RAID是同一模块的不同功能。

相比之下VIA的南桥就逊色得多,VT8237和VT8237R不仅不能支持AHCI,甚至接上SATA300的硬盘都无法识别。只有VT8251声称支持AHCI,但在官方网站的功能列表中却又难以找到AHCI字样。甚至白皮书中也只见NCQ、不见AH CI,令人生疑。

之前有文章称SiS 963/964/965可以支持NCQ,但我在其官方网站上查询的结果,是只有较新的SiS966和SiS966L支持AHCI。SiS965的介绍中找不到一点关于NCQ的资料。

总之,主板芯片组中可以支持AHCI的少之又少。

三、启用AHCI
AHCI真正成为一个问题,主要出在笔记本上。NAPA平台的笔记本,大多采用945PM/GM+SATA硬盘的搭配,其中用到了南桥芯片ICH7M。而笔记本SATA硬盘几乎都已经支持AHCI。这样一个平台,启用AHCI是理所应当的,所以BIOS中往往默认SATA Mode为AHCI。一个典型就是T60、X60。问题是原版Windows XP、Windows Server 2003并未自带AHCI驱动,甚至光盘启动时都无法识别设置为AHCI Mode的SATA硬盘。要想启用AHCI只有三种方法:
1.使用集成AHCI驱动的安装光盘。这是最好的方式,这样的安装盘有很多
2.光盘启动安装时F6载入驱动。这种方式没有问题,但需要软驱
3.BIOS中SATA Mode设置为Compatibility,兼容模式。待安装后再安装驱动、改回原设置。这种方式问题不少,不止一个同学反映之后改回AHCI模式时会出现错误。

在台式机上也有类似的问题,但好在默认设置大多为IDE Mode或兼容模式。我整理了gigabyte主板的bios设置,供参考。 引用:
---------------------------
ICH6R
SATA RAID/AHCI Mode
RAID 设定SATA模式为一般RAID功能(预设值)
AHCI 在Windows XP/2000下,支持热插拔功能
Disabled 设定SATA模式为一般IDE功能

On-Chip SATA Mode
Disabled 关闭此功能
Auto 由BIOS自动侦测(预设值)
Combined 设定On-Chip SATA mode为Combined,最多可支援4个硬碟
Enhanced 设定On-Chip SATA mode为Enhanced,最多可支援6个硬碟
Non-Combined 设定On-Chip SATA mode为Non-Combined,可将SATA模式模拟成PATA模式
---------------------------
ICH7
On-Chip SATA Mode
Disabled 关闭此功能
Auto 由BIOS自动侦测(预设值)
Combined 设定On-Chip SATA mode为Combined,最多可支援4个硬碟
(2个为SATA模式,另外2个为PATA模式)
Enhanced 设定On-Chip SATA mode为Enhanced,最多可支援4个硬碟
(2个SATA硬碟,再加上2个PATA硬碟)
Non-Combined 设定On-Chip SATA mode为Non-Combined,可将SATA模式模拟成PATA模式
此选项最多可支援2个SATA硬碟,若接满2个SATA硬碟时,PATA硬碟将会被
忽略
---------------------------
ICH7R
SATA RAID/AHCI Mode
RAID 设定SATA模式为RAID功能(预设值)
AHCI 设定SATA模式为AHCI功能。Advanced Host Controller Interface(AHCI)
为一种介面规格,可以让储存驱动程式启动例Native Command Queuing及
热插拔(Hot Plug)等进阶Serial ATA功能。若需AHCI的详细资料,请至
Intel官方网站查询
Disabled 设定SATA模式为一般IDE功能

On-Chip SATA Mode
Disabled 关闭此功能
Auto 由BIOS自动侦测(预设值)
Combined 设定On-Chip SATA mode为Combined,最多可支援4个硬碟
Enhanced 设定On-Chip SATA mode为Enhanced,最多可支援6个硬碟
Non-Combined 设定On-Chip SATA mode为Non-Combined,可将SATA模式模拟成PATA模式
---------------------------
ICH7DH
SATA RAID/AHCI Mode
RAID 设定SATA模式为RAID功能
AHCI 设定SATA模式为AHCI功能。Advanced Host Controller Interface(AHCI)
为一种介面规格,可以让储存驱动程式启动例Native Command Queuing及
热插拔(Hot Plug)等进阶Serial ATA功能。若需AHCI的详细资料,请至
Intel官方网站查询
Disabled 设定SATA模式为一般IDE功能(预设值)

On-Chip SATA Mode
Disabled 关闭此功能
Auto 由BIOS自动侦测(预设值)
Combined 设定On-Chip SATA mode为Combined,最多可支援4个硬碟
Enhanced 设定On-Chip SATA mode为Enhanced,最多可支援6个硬碟
Non-Combined 设定On-Chip SATA mode为Non-Combined,可将SATA模式模拟成PATA模式
---------------------------

分析:
支持AHCI和RAID模式的,可以设置为相应模式
ICH6R支持AHCI和RAID,可以设置为AHCI、RAID、IDE(兼容模式)三种
ICH7不支持AHCI和RAID,只能作为IDE(兼容模式),不需要驱动
ICH7R 同ICH6R
ICH7DH 同ICH6R
ICH7M 即T60、X60采用的,支持AHCI但不支持RAID,所以可以设置为AHCI和IDE(兼容模式)两种

四、台式机装xp需要SATA驱动的问题
之前有过很多的讨论和总结,相互矛盾的地方也不少,但可以总结出几条事实:
1.启用RAID需要驱动。支持AHCI的话,启用RAID也自动启用AHCI
2.启用AHCI需要驱动。所以说原版安装盘、没装驱动的话,一定没有启用AHCI
3.SATA都可以设置为IDE模式(或称兼容模式),这对ICH5(R)、VT8237(R)、SiS964、SiS965都适用
个人认为,如果没有启用RAID和AHCI,只要在BIOS中设置为IDE模式(或称兼容模式),安装xp是不需要SATA驱动的
因为是以模拟IDE硬盘方式工作的,原有IDE驱动就可以使用
dipsey
发表于 2007-12-29 13:33:08 | 显示全部楼层
呵学习下了。。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-28 02:56 , Processed in 0.132787 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表