阿七
级别: 未验证会员
精华:
0
发帖: 909
威望: 0 点
金钱: 2161 RMB
贡献值: 0 点
在线时间:512(小时)
注册时间:2006-03-29
最后登录:2008-08-07
|
打开NCQ功能为硬盘性能提速
引:硬盘发展的速度大家是有目共睹的,在2005年,SATA接口的硬盘顺利代替了PATA硬盘,成为市场中主流的热点产品。而在2005年末,关于SATA硬盘的一项新的技术NCQ又进入了人们的视野。 DR/qe0D L7mN&Xr 硬盘发展的速度大家是有目共睹的,在2005年,SATA接口的硬盘顺利代替了PATA硬盘,成为市场中主流的热点产品。而在2005年末,关于SATA硬盘的一项新的技术NCQ又进入了人们的视野。 0m
,A`*o Pgg6(O9}B^ 对于硬盘的NCQ技术,相信多数朋友还是是很了解吧。到底什么是主板的NCQ?硬盘的NCQ功能对硬盘本身会带来什么样的性能提升,小编通过搜索查找,整理收集了大量的资料,接下来就让我们一块来认识一下硬盘的NCQ功能和缓存? ` =dD6r Z$0r+phQk= 一、认识硬盘的NCQ vJ>A
>RCB }GsZ)\!$4 NCQ(Native Command Queuing)是SATA规范支持的一种新的功能,它是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约,以发挥硬盘最高的效率、使延迟最小化。 CmR
n (?xGlV`n 我们的硬盘是怎么写数据的?其过程很简单,从磁碟的最外圈开始往内圈写,一个圈叫做一个磁道track,所有碟(platter,即平时说的单碟),面(一个碟可能有两个面)上同一磁道组成一个柱面(cylinder),写硬盘就是按照从外到里一点点顺序写的。可惜我们读取的时候肯定不是按照这样的顺序的,我们一般是随机的读取分散在盘片上的数据,我们需要在快速转动的同时准确定位,可以想象这是多么不容易。 ,T"pUe VJ PC/fb-J 2.}<VivT Ri4_zb v83uGEq(
>j
oGGT 暗红色的区域表示磁道,鲜红色的区域表示簇,而黄色区域表示磁盘上的扇区。 0~A<AF*t >OE.6)'Rm 要精确定位,我们会遇到两个敌人:寻道延迟和转动延迟。
wxsJB2 :7Rs$
-*Uk 寻道延迟是磁头找到磁道的时间。我们可以想象一下磁头反复地在一个个同心圆之间伸长,缩短,其延迟就是寻道延迟,或者在硬盘技术参数中称为寻道时间。 *x`z5_yfO "Na9Xea 我们可以将硬盘的存储数据的逻辑块地址(LBA,Logical Block Address)当作是一个地区内的不同的房子。如果要给这些房子送信,先送完第一间房子,然后再跑到2公里外的另一个房子,后再跑到第一个房子的邻居送信,最后把信送到附近不远的另一个房子,这是多么“愚蠢”的做法!显然,这浪费了大量的时间。下面的两个如分别表示了没有采用NCQ技术(non-NCQ)和采用了NCQ技术的两种不同的情况。 :tdx: J=*y>Zt-b Y::fcMJr;Q 9Q]v#&1 第一个图为不支持NCQ技术的硬盘的工作情况。和前面提到的送信的“愚蠢”做法的一样的,但是在刚开始的硬盘中确实是采用了这种做法。 XZcsx |C'w] QYm =t@m: 98Srn63O 第二个图是支持NCQ技术的硬盘的工作情况。这才是送信的最佳方式,它极大的提高了工作效率,节省了很多时间。 Q+mMpI Q[J,j+f< 支持NCQ技术的硬盘对接收到的指令按照他们访问的地址的距离进行了重排列,这样对硬盘机械动作的执行过程实施智能化的内部管理,大大地提高整个工作流程的效率:即取出队列中的命令,然后重新排序,以便有效地获取和发送主机请求的数据,在硬盘执行某一命令的同时,队列中可以加入新的命令并排在等待执行的作业中。 huvg'Yt Z<jRZH*L 转动延迟是找到准确磁道后,那个正确的地址所在位置转到磁头下面的时间。这里我们可以想象转得越快,这个时间就越短,对5400转硬盘,转一圈要11.1毫秒,7200转要8.3毫秒,而万转硬盘只要6毫秒。 _QvyFKAM 0
#K@^a 要减少转动延迟,一般的办法是提高转速,但是我们知道提高转速很难,否则我们不会到现在还在用7200转的硬盘。除了这个办法还有1.优化排序2.乱序执行。 P|h<|Gcp e7,iO#@:m 两个延迟加起来就是我们遇到的总延迟,我们希望总延迟越小越好。以前的做法是优化排序任务从而减少寻道时间,但是后来发现追求最小寻道时间会导致转动延迟变大,两者相加不一定是最小的。所以提出了一种综合考虑寻道和转动的优化方法,这种方法就称为“tagged command queuing”,而在SATA 300标准中使用的特殊的优化方法就叫做“Native Command Queuing”,就是NCQ。 ,EZ&n[%Ko e"r}I!. 二、什么设备支持NCQ?SATAII等于300MB/S+NCQ吗? x ?^c:`. 15yIPv+5 目前在市面上的硬盘中,由于技术SATA技术已经相当成熟并占据了市场的绝对主流,而从去年底,各大厂商生产的硬盘基本上都提供了对NCQ功能的支持,但仍有部分产品是不支持的,我们经常提到的希捷7200.7、7200.8和7200.9和Maxtor的金钻10系列支持NCQ。 }S#.Pw% > 7;JZuVo 7[D
0n7B@ N"r ;d+LTL EAY9~b6~c g!~j
Wn?A `4k;`a 6,@M0CX RLKO0 # 1Rczf (,aT 在支持的主板方面,目前只有Intel最新的9X5系列中使用的ICH6系列南桥支持NCQ,而NVIDIA NF4系列和VIA VT8251和SiS 963/964/965南桥也将支持NCQ,NVIDIA C51主板芯片组虽然提供对SATA II的支持,但并不支持NCQ功能。 iGha pD `Mjm/9+18 很多人都认为,不支持NCQ的硬盘就不能叫做"SATAII"。其实SATAII规范包含许多特性,在时间上分为两个阶段的,分别是Phase1和Phase2。第一阶段所具有的特性包括:加入NCQ的支持,增加风扇控制,温度控制,状态指示等特征,引入背板接口互联,并支持热插拨。(目前只有NCQ功能被应用在桌面硬盘产品,其他的应用在服务器硬盘上)。第二阶段所具有的特性包括:接口速度提高到300MB/S,提供多个硬盘同时连接到一个接口的功能,提供两个控制器沉余技术,实现完全的热插拨和交错启动(目前只有300MB/S功能被应用在桌面硬盘产品,其他的应用在服务器硬盘上)。 y:,{U*49 _p_F v>>: x _2]G' .s!:p pwl <!+o8z] xS(sR x+A 这种发展过程结合硬盘厂商的行为在业界形成这样的理解:具有NCQ功能的SATA硬盘是SATAIIPhase1硬盘,而具有NCQ技术和300MB/S速度的SATA硬盘是SATAIIPhase2硬盘,即所谓的标准"SATAII"硬盘,这就让人产生SATAII等于300MB/S+NCQ的错误理解。
|
|
[楼 主]
|
Posted: 2007-10-15 13:30 |
| |