高级主机控制器接口(AHCI)是一种接口的技术标准,使软件能够与串行ATA(SATA)设备通信。这些外围组件互连(PCI )类设备在系统内存和SATA存储介质之间移动数据。
高级主机控制器接口(AHCI)是一种接口的技术标准,使软件能够与串行 ATA(SATA)设备通信。这些外围组件互连(PCI )类设备在系统内存和 SATA 存储介质之间移动数据。
历史发展
2004 年,英特尔发布了 AHCI 规范,以定义 AHCI 的功能行为和软件接口。该规范还提供了编程 SATA-AHCI 适配器的标准方法。
该规范由 AHCI 贡献者集团开发,该集团由硬件,软件和 OEM 供应商组成,由英特尔担任主席。该集团的公司包括 AMD,戴尔,Marvell,迈拓,微软,红帽,希捷和 StorageGear。
AHCI 是构建 SATA II 技术发展势头的重要组成部分,提供标准控制器接口,优化了旧的集成驱动电子(IDE)标准接口所不具备的高级 SATA 功能。版本 1.3.1 是 AHCI 规范的最新版本。
AHCI 如何运作
默认情况下,大多数主板都在统一可扩展固件接口(UEFI)或 BIOS 中启用了 AHCI 。较旧的主板可能默认启用 IDE 模式,并且需要在安装操作系统(OS)之前切换到 AHCI。
Windows Vista 和更高版本的 Windows 支持 AHCI; Linux 自 2.6.19 版以来; OS X; 和各种开源操作系统,如 OpenBSD,NetBSD 和 FreeBSD。虽然 Windows Vista 和 Windows 7 包含 AHCI 驱动程序,但如果在启动驱动器的控制器上未启用 AHCI,则这些操作系统将不会安装 AHCI。
SATA 硬盘驱动器和固态驱动器(SSD)提供多种操作模式:IDE,AHCI 或 RAID,通常启用 AHCI。但是,安装操作系统后,将 BIOS 设置从 IDE 模式切换到 AHCI 并不容易。Windows 有一个注册表解决方法,允许在安装操作系统后启用 AHCI。较旧的 OS 版本需要特定于硬件的驱动程序来支持 AHCI。
作为为硬盘驱动器和磁带开发的传统存储协议,AHCI 旨在管理单个存储请求队列。对于 AHCI,此队列具有深度 – 可以保持等待在端口队列中服务的 I / O 请求的数量 – 32 个命令。
AHCI 的好处和缺点
AHCI 支持高级 SATA 功能,例如热交换和本机命令队列(NCQ)。热插拔可以在不关闭计算机的情况下切换 SATA 驱动器。
NCQ 优化了 SSD 和硬盘同时处理数据请求的方式,最大限度地减少了读写磁头的移动,并加快了使用 AHCI 在硬盘上的访问时间。在 SSD 上,NCQ 提高了大型文件传输的性能。
AHCI 的一个缺点是与 SSD 一起使用时的高延迟,因为该规范是为旋转存储介质而非闪存而开发的。此外,AHCI 的有限队列深度意味着 I / O 请求的数量很容易成为瓶颈。需要额外的管理以避免因 I / O 请求超出队列深度而导致 I / O 请求失败。
AHCI 与 NVMe
非易失性存储器(NVMe)是使用 PCI Express(PCIe)卡插槽技术为 NAND 闪存和高性能 SSD 开发的通信接口。