2024年2月22日发(作者:)

Legacy IDE, Native IDE and AHCI的区别

Legacy IDE是兼容模式。控制器的运作兼容模式模拟的原生IDE控制器,这是一个非标准扩展的ISA基于IDE控制器。在兼容模式,控制器需要2个ISA式专用的IRQ ( 14和15)表示,不能共享与其他装置。因为兼容模式,需要专门的资源, ATA控制器,为启动设备(通常是集成在芯片组的主板上的)是唯一的控制器的系统是可能的运作兼容模式。

Native IDE模式。在Native 模式下运行的控制器,作为一个实际的PCI设备不需要专门的传统(Legacy)资源, 并且可以配置在任何操作系统中。 ATA控制器运行在Native模式下时,为两个通道使用他们的PCI中断并且可以分享此中断与系统的其它装置,像其他一些PCI设备。添加-在ATA控制器,一般的运作在native模式。

AHCI模式,legacy和native的模式是用于那些不能识别SATA和AHCI设备的旧电脑上 。 AHCI是标准的SATA控制器,有扩展功能(例如NCQ) 。

NCQ(native commnad queuing全速命令队列)

SATA规范支持许多新的功能,其中之一就是NCQ(Native Command

Queuing全速命令排队)技术。它是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约。NCQ技术是SATAⅡ规范中的重要组成部分,也是SATAⅡ规范唯一与硬盘性能相关的技术。

首先让我们来看一下硬盘是怎样读写信息的。硬盘通过将信息写

入磁盘磁道上的特定位置进行信息存储,硬盘访问磁盘上信息的过程如下:

● 寻找存储数据的目标磁碟(platter),访问该磁碟。

● 寻找磁碟上存储数据的目标磁道(track),访问磁道。

● 寻找磁道上存储数据的目标簇(cluster),访问簇。

● 寻找簇上存书数据的目标扇区(sector),访问扇区。

● 寻找目标数据,读取数据。

通过上面的步骤,硬盘即可获取所需要的数据信息。硬盘写入数据的步骤也是如此,区别仅仅在于读操作变为写操作。大多数情况下数据存入硬盘并非是顺序存入,而是随机存入,甚至有可能一个文件被分配在不同盘片上。对于不支持NCQ的硬盘来说,大量的数据读写需要反复重复上面的步骤,而对于不同位置的数据存取,磁头需要更多的操作,降低了存取效率。支持NCQ技术的硬盘对接收到的指令按照他们访问的地址的距离进行了重排列,这样对硬盘机械动作的执行过程实施智能化的内部管理,大大地提高整个工作流程的效率:即取出队列中的命令,然后重新排序,以便有效地获取和发送主机请求的数据,在硬盘执行某一命令的同时,队列中可以加入新的命令并排在等待执行的作业中。显然,指令排列后减少了磁头臂来回移动的时间,使数据读取更有效。

如上图所示,如果新的命令恰好是处理起来机械效率最高的,那么它就是队列中要处理的下一个命令。举个例子:比如向硬盘下达一组数据传送指令,由于数据在磁盘上分布位不同,磁头可能会先读取260扇区,再读取7660扇区,然后又读取261扇区„„如果我们对指令进行优化排列,可以先读260扇区,接着依次读261扇区,最后读取7660扇区„„显然,指令排列后减少了磁头臂来回移动的时间,使数据读取更有效。并且有效的排序算法除了考虑目标数据的线性位置,也会考虑其角度位置,并且还要对线性位置和角度位置进行优化,以使总线的服务时间最小,这个过程也称做“基于寻道和旋转优化的命令重新排序”。

目前希捷、迈拓、日立等硬盘厂商已经在SATA硬盘中应用了NCQ技术。不过,要充分享用NCQ技术,光硬盘支持是不行的,还要对应的硬盘控制器(如南桥芯片中的磁盘控制器)支持才行。例如Intel从945芯片组的ICH7R南桥开始支持NCQ技术,nVidia从nForce4 SLI芯片组开始支持NCQ技术。

AHCI概念

AHCI,全称为Serial ATA Advanced Host Controller Interface(串行ATA高级主控接口),是在Intel的指导下,由多家公司联合研发的接口标准,其研发小组成员主要包括Intel、AMD、戴尔、Marvell、迈拓、微软、Red Hat、希捷和StorageGear等著名企业。AHCI描述了一种PCI类设备,主要是在系统内存和串行ATA设备之间扮演一种接口的角色,而且它在不同的操作系统和硬件中是通用的。

AHCI通过包含一个PCI BAR(基址寄存器),来实现原生SATA功能。由于AHCI统一接口的研发成功,使得支持串行ATA产品的开发工作大为简化,操作系统和设备制造商省去了单独开发接口的工作,取而代之的是直接在统一接口上进行操作,可以实现包括NCQ(Native

Command Queuing)在内的诸多功能。

一直以来SCSI硬盘在多任务负载下的表现能力为人称道,其根本的原因除了SCSI接口惊人的接口速率外,便是它的指令排序功能。以往的PATA、SATA硬盘也正是因为缺少一种指令优化执行功能而在性能上落后于SCSI硬盘。针对这一困境,Intel的AHCI 1.0规范首次引入的NCQ(Native Command Qu),它的应用能够大幅度减少硬盘无用的寻道次数和数据查找时间,这样就能显著增强多任务情况下硬盘的性能。

另外,作为SATA标准的改进版,Intel完善了Serial ATA II接口的详细规格,并表示串行ATA II的研发将属于AHCI统一接口的第二个阶段。而其中第一阶段从去年已经开始,不少厂商也推出Serial

ATA接口的产品,包括硬盘和主板。但这仅仅是作为过渡,在第二阶段,Serial ATA II将会凭借更高的信号传输速度直接取代SATA.

直白地说 Native IDE = SATA 原生模式,可以开启NCQ或AHCI;

Legacy IDE = SATA模拟模式,让把SATA当PATA用。

资料一:

Native IDE是指在操作系统中,可以直接将SATA设备识别为SATA HD,SATA刻录机,不需要模拟成IDE设备,通常SATA硬盘支持NCQ的话,开启此功能将可以享受到NCQ的好处。

Legacy IDE指的是一般IDE硬盘,IDE刻录机等。在传统DOS/Windows

9X环境下,是不能直接识别到SATA设备,只能将SATA设备模拟成IDE设备,但是这样就不能使用SATA的原生指令.

资料二:

“Legacy Mode”和“Native Mode”两种模式。Legacy Mode为延伸模式,即与以往的主板一样,南桥芯片只支持四个ATA设备,将两个SATA接口分别映射到某一个IDE通道的Master端和Slave端。当然,被映射的端口此时不能再连接IDE设备了。在Legacy Mode模式下,SATA设备是在PATA控制器控制之下,因此从设备管理器当中我们只能看到一个控制器。这样做的优点是在一些较旧版本的操作系统(Windows 98/Me)下,通过映射的方式使用SATA设备。