展的速度大家是有目共睹的,在2005年,SATA接口的硬盘顺利代替了PATA硬盘,成为市场中主流的热点产品。而在2005年末,关于SATA硬盘的一项新的技术NCQ又进入了人们的视野。
  硬盘发展的速度大家是有目共睹的,在2005年,SATA接口的硬盘顺利代替了PATA硬盘,成为市场中主流的热点产品。而在2005年末,关于SATA硬盘的一项新的技术NCQ又进入了人们的视野。
  对于硬盘的NCQ技术,相信多数朋友还是是很了解吧。到底什么是主板的NCQ?硬盘的NCQ功能对硬盘本身会带来什么样的性能提升,小编通过搜索查找,整理收集了大量的资料,接下来就让我们一块来认识一下硬盘的NCQ功能和缓存?
   一、认识硬盘的NCQ
  NCQ(Native Command Queuing)是SATA规范支持的一种新的功能,它是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约,以发挥硬盘最高的效率、使延迟最小化。
  我们的硬盘是怎么写数据的?其过程很简单,从磁碟的最外圈开始往内圈写,一个圈叫做一个磁道track,所有碟(platter,即平时说的单碟),面(一个碟可能有两个面)上同一磁道组成一个柱面(cylinder),写硬盘就是按照从外到里一点点顺序写的。可惜我们读取的时候肯定不是按照这样的顺序的,我们一般是随机的读取分散在盘片上的数据,我们需要在快速转动的同时准确定位,可以想象这是多么不容易。
   
  暗红色的区域表示磁道,鲜红色的区域表示簇,而×××区域表示磁盘上的扇区。
  要精确定位,我们会遇到两个敌人:寻道延迟和转动延迟。
  寻道延迟是磁头找到磁道的时间。我们可以想象一下磁头反复地在一个个同心圆之间伸长,缩短,其延迟就是寻道延迟,或者在硬盘技术参数中称为寻道时间。
  我们可以将硬盘的存储数据的逻辑块地址(LBA,Logical Block Address)当作是一个地区内的不同的房子。如果要给这些房子送信,先送完第一间房子,然后再跑到2公里外的另一个房子,后再跑到第一个房子的邻居送信,最后把信送到附近不远的另一个房子,这是多么“愚蠢”的做法!显然,这浪费了大量的时间。下面的两个如分别表示了没有采用NCQ技术(non-NCQ)和采用了NCQ技术的两种不同的情况。
   
  第一个图为不支持NCQ技术的硬盘的工作情况。和前面提到的送信的“愚蠢”做法的一样的,但是在刚开始的硬盘中确实是采用了这种做法。
  第二个图是支持NCQ技术的硬盘的工作情况。这才是送信的最佳方式,它极大的提高了工作效率,节省了很多时间。
  支持NCQ技术的硬盘对接收到的指令按照他们访问的地址的距离进行了重排列,这样对硬盘机械动作的执行过程实施智能化的内部管理,大大地提高整个工作流程的效率:即取出队列中的命令,然后重新排序,以便有效地获取和发送主机请求的数据,在硬盘执行某一命令的同时,队列中可以加入新的命令并排在等待执行的作业中。
  转动延迟是找到准确磁道后,那个正确的地址所在位置转到磁头下面的时间。这里我们可以想象转得越快,这个时间就越短,对5400转硬盘,转一圈要11.1毫秒,7200转要8.3毫秒,而万转硬盘只要6毫秒。
  要减少转动延迟,一般的办法是提高转速,但是我们知道提高转速很难,否则我们不会到现在还在用7200转的硬盘。除了这个办法还有1.优化排序2.乱序执行。
  两个延迟加起来就是我们遇到的总延迟,我们希望总延迟越小越好。以前的做法是优化排序任务从而减少寻道时间,但是后来发现追求最小寻道时间会导致转动延迟变大,两者相加不一定是最小的。所以提出了一种综合考虑寻道和转动的优化方法,这种方法就称为“tagged command queuing”,而在SATA 300标准中使用的特殊的优化方法就叫做“Native Command Queuing”,就是NCQ。
  二、什么设备支持NCQ?SATAII等于300MB/S+NCQ吗?
  目前在市面上的硬盘中,由于技术SATA技术已经相当成熟并占据了市场的绝对主流,而从去年底,各大厂商生产的硬盘基本上都提供了对NCQ功能的支持,但仍有部分产品是不支持的,我们经常提到的希捷7200.7、7200.8和7200.9和Maxtor的金钻10系列支持NCQ。
    
  在支持的主板方面,目前只有Intel最新的9X5系列中使用的ICH6系列南桥支持NCQ,而NVIDIA NF4系列和VIA VT8251和SiS 963/964/965南桥也将支持NCQ,NVIDIA C51主板芯片组虽然提供对SATA II的支持,但并不支持NCQ功能。
  很多人都认为,不支持NCQ的硬盘就不能叫做"SATAII"。其实SATAII规范包含许多特性,在时间上分为两个阶段的,分别是Phase1和Phase2。第一阶段所具有的特性包括:加入NCQ的支持,增加风扇控制,温度控制,状态指示等特征,引入背板接口互联,并支持热插拨。(目前只有NCQ功能被应用在桌面硬盘产品,其他的应用在服务器硬盘上)。第二阶段所具有的特性包括:接口速度提高到300MB/S,提供多个硬盘同时连接到一个接口的功能,提供两个控制器沉余技术,实现完全的热插拨和交错启动(目前只有300MB/S功能被应用在桌面硬盘产品,其他的应用在服务器硬盘上)。
 
  这种发展过程结合硬盘厂商的行为在业界形成这样的理解:具有NCQ功能的SATA硬盘是SATAIIPhase1硬盘,而具有NCQ技术和300MB/S速度的SATA硬盘是SATAIIPhase2硬盘,即所谓的标准"SATAII"硬盘,这就让人产生SATAII等于300MB/S+NCQ的错误理解。
      
三、硬盘NCQ功能使用详解(以下内容来自微型计算机)
  即便主板和硬盘具备了NCQ功能,但NCQ功能在默认状况下并未自动打开,还需进行一番设置。
  首先,NCQ是AHCI(高级主控界面)所支持的一项技术,开启AHCI是第一步。AHCI属于SATA2的高级特征之一,支持SATA功能的主板并不一定支持AHCI。只有在主板BIOS中能找到AHCI选项才表明这款主板能支持NCQ。
  
  进入主板BIOS,找到“Integrated Peripherals”→“OnChip Serial ATA Device”,查看此处是否有“AHCI”选项。
   BIOS设置
  下面以采用Intel ICH6-R南桥的主板为例介绍NCQ相关的BIOS设置。在BIOS的SATA工作模式选项中,除了RAID和IDE外,还多出了一个AHCI选项。大家知道IDE模式是指让SATA硬盘工作在普通IDE模式下,通常用于单个SATA硬盘,而RAID模式则是通过RAID控制器来管理SATA硬盘,适合建立SATA RAID。新增的AHCI模式则利用AHCI控制器来管理SATA硬盘。
  在某些主板的BIOS选择中,SATA工作模式和AHCI功能是两个选项,当SATA模式设置为RAID时,AHCI自动处于“支持”;当SATA模式设为IDE时,AHCI可选择“支持”或“不支持”,两种设置可能存在的选项有3种。
  
要支持NCQ功能,BIOS中的“SATA Mode”应设为“AHCI”
  其实,AHCI和SATA模式的关系并不复杂。当开启SATA RAID控制器时,AHCI会同时生效;如果不使用SATA RAID,AHCI可设置为关(即普通IDE模式)或开(单独启用AHCI)。无论如何,只有AHCI设置为开时,方可支持NCQ。
  Windows安装
  综上所述,使用支持NCQ的主板时,通过BIOS可把SATA接口设置为3种不同模式:RAID、AHCI和IDE。IDE模式安装Windows的方法没有什么特别之处,而RAID模式需要在启动时按F6,并通过软盘载入RAID控制器的驱动程序。AHCI模式和RAID一样,在启动时也需按F6,通过软盘载入驱动程序。值得注意的是,在AHCI模式下,应选择AHCI驱动程序,而非RAID驱动,其它安装则与RAID模式完全相同。
  
选择正确的AHCI驱动程序
   软件支持
  不同的南桥都有各自的硬盘驱动程序,ICH6-R南桥在RAID和AHCI模式时,均需配合IAA RAID版(应用程序加速器RAID版)驱动。驱动安装好后,在IAA RAID版控制界面中能够看到NCQ的状态。
  
IAA RAID控制界面中可以查看NCQ的工作状态
四、打开NCQ前后的性能对比
    
  笔者使用金钻8代搭配富士康925XE主板,分别在IDE模式(未启用NCQ)和AHCI模式(启用NCQ)下安装Windows,并用PCMark04测试硬盘性能,硬盘性能得分分别为5286和5682,可见该测试中NCQ带来了7%的硬盘性能提升。事实上,在频率读取数据的实际应用中,NCQ的好处表现得更加明显。
   购买建议
    
  目前市场中希捷的7200.7系列硬盘中有很多已经提供了对NCQ功能的支持,迈拓金钻十代和日立、西部数据、三星等硬盘大厂的部分产品也提供了对NCQ功能的支持,虽然在目前家用台式机中NCQ性能的表现并不算太令人惊喜,但在频率读取数据应用中,NCQ的表现还是令人满意的。在价格方面,支持NCQ功能的硬盘比不支持此项功能的硬盘之间仅有20余元的差价,所以小编还是非常建议用户在选购硬盘时,多花点钱买一款具备NCQ功能的硬盘。