Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11624393
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-05-28 09:12:15

1、 转速与寻道时间:

        现在不少人都认为硬盘转速越快寻道时间就越快,但这是最常见的错误认识,事实上寻道速度根本不决定于转速,因为两者的控制设备就不一样。

        转速是由主轴马达控制,寻道则由音圈马达控制。寻道时间说白了就是体现了磁头臂径向运动的速度与控制能力,音圈马达与相应的伺服系统起着重要作用。另外,磁头的高灵敏度也有助于在高密度磁盘上准确捕获伺服标记,进而快速定位。很多情况下,我们都可以看到5400RPM硬盘的寻道时间与7200RPM硬盘一样(如三星的V40与P40)。之所以有些高速硬盘(如SCSI硬盘)的寻道时间更快,是因为厂商的有意设计,就好像一台Pentium4电脑只配 32MB内存让人觉得不平衡一样,厂商也会给高速硬盘配上更快的寻道时间(也意味着更好的元件与更高的成本,显然厂商要根据市场的需要权衡利弊)。实际上,通过上文有关平均访问时间的解释,大家应该明白,提高转速的主用意就是减少平均潜伏期,进而加快整体的访问速度,也许很多人不认同这是它最重要的用意,由此就又引出了下一个误区。

        2、 转速与数据传输率:

        在很多人的印象和厂商的宣传中,更高的转速的主要用意在于提高数据传输率,但这并不正确。持续数据传输率决定于很多指标,并不光只是转速。当然,有人会说转速更高,磁头单位时间划过的扇区就越多,不错,但前提是线密度一样。线密度可理解为每磁道扇区数(SPT,Sectors Per Track)。低速硬盘完全可以通过提高SPT来加大数据传输率, SCSI硬盘就是追求SPT的典型。事实上,很多厂商在相同单碟容量上对于不同的转速采用了不同的SPT设计,如金钻七的最外圈磁道扇区数为837个,而星钻三代则为896个。有人可能会问,那如何保证容量一致呢?这就涉及到每英寸磁道数(TPI,Tracks Per Inch),它代表了磁道密度。SPT高则TPI就会相应减少,如金钻七为60000TPI,星钻三代则是57000TPI。本次测试最典型的例子是 Caviar系列硬盘,WinBench测得的数据传输率与某些7200RPM产品相当。虽然我没有该系列硬盘最外圈SPT资料,但肯定不会低于1000 (若转速实为5400RPM),即使转速真的是6000RPM,也在900之上。因此5400RPM硬盘完全可以通过提高33%(7200RPM比 5400RPM转速高33%)的SPT来得到相同的数据传输率。

        综上所述,7200RPM相对于5400RPM硬盘的最大优势就在于更短的平均潜伏期,进而减少平均访问时间。毕竟转速是死的,5400RPM永远处于劣势。

        3、 真正的内部数据传输率:

        随着硬盘知识的普及,硬盘DTR这一指标也逐渐被人们所认识,但又出现了新的误区——拿以Mbps为单位的最高内部DTR说事,这其中某些厂商与所谓高手的误导有着不可推卸的责任,后果也是相当严重。由于内部DTR决定了硬盘的实际数据传输性能,所以很多人都在关心硬盘的内部DTR,而厂商也投其所好,在产品资料中基本都公布了最大内部传输率,但多是以Mbps为单位,不少人因此拿这个数值来预测硬盘的性能,甚至分析到接口速率的瓶颈(这些人通常将其换算成 MBPS,而目前最高的数值将近80MBPS,离Ultra ATA-100的最大速率已相差不远了)。但是,它恰恰不能通过除8来换算成MBPS,因为这个数值是磁头处理二进制0/1信号(即bit)的纯理论性能,而磁头处理的信号很大部分并不是用户需要的数据(存入的数据都是经过编码的,包含许多辅助信息),因此不能以字节为单位。很多硬盘这一数值都是相当高的,如以前的富士通硬盘,指标很好,但实际性能却是另一码事。完全可以说,这个Mbps值没有什么实际价值,给人的是一种假象。

        在硬盘中,真正重要的是内部持续DTR,它分为单磁道瞬间DTR与持续DTR两个指标,单磁道瞬间DTR的计算公式是“512字节×SPT×磁盘每秒所转圈数”或“512字节×SPT÷磁盘转一圈所用时间”,由于磁盘转一圈所用时间一般不能除尽,所以经常用前一种公式。持续DTR的计算公式则为“512字节 ×SPT×磁头数/总耗时”,其中“总耗时=(磁头数-1)×磁头切换时间+道间寻道时间+磁头数×磁盘转一圈的时间”。磁头切换时间一般在产品的用户手册中有标注,大约在1ms左右。单磁道瞬间DTR表明了硬盘实际上所能达到的最大内部DTR,持续DTR则体现了硬盘真正的数据传输能力。很遗憾的是,目前只有迈拓和IBM提供了内部持续DTR数据,其他厂商仍然用Mbps数值迷惑普通大众。但是,厂商心里是明白的,他们自己也不会混淆概念(只是没事偷着乐),在数据的说法上也是非常严谨,如果你哪天发现厂商公布的内部DTR使用了MB/s为单位,那么这很可能就是我们所真正需要的数据,而不要再用 Mbps去除8了。


        IBM 120GXP的技术资料,其中有两个内部DTR,我们只需关心第二个

4、 缓冲区容量与性能:

        上文说过内部DTR决定了外部DTR的实际表现,但为了将内部DTR对外部DTR的影响降至最低,产生了缓冲区设计。理论上讲,缓冲区越大,即使内部DTR 不变,硬盘的性能也会更好,这就好比CPU中的缓存一样。不过,要做到缓冲区容量的增加并提高性能还是有一定难度的。这主要体现在缓存功能管理与数据安全两个方面。缓存功能管理决定了缓冲区智能化与缓存效果,简单的说就是一种管理算法与替换策略,负责这一任务的就是缓存控制器。上文已经讲到目前都将缓冲区做分段处理,并且是动态的,根据数据流情况自动划分。以120GXP为例,在读操作时可最多划分12个数据段(平均容量约155KB),在写操作时数据段可高达52个(平均容量约35KB)。那么怎么去动态的划分区段,怎么去选择最不常用的区段以替换成新的数据,都将影响最终的性能表现。比如区段划分不合理将影响缓冲区空间的利用率和预读效果,数据替换不合理将影响缓存命中率,这样一来说不定与小容量缓冲区性能差不多。讲到这,大家肯定会想到了CPU缓存的算法(比如N路级联与更新策略等),的确两者有相同之处。对于更大容量的缓冲区,肯定就不能照搬小容量缓冲区的缓存管理算法。因此,缓冲区越大性能越好是有前提的,这对厂商的缓存管理技术水平提出了更高的要求。

        大容量缓冲区的数据安全性主要是指在突然断电的情况下,缓冲区中的待写数据将如何处理的问题。这方面笔记本电脑硬盘就有了得天独厚的优势,因为有电池为后盾,笔记本电脑硬盘的缓冲区容量已经提升到了16MB。但对于台式机,这是个不小的考验。WD公司在这方面做出了有意义的探索,主要方法是通过将数据暂时保存在最外圈暂存区(因为最外圈的写入速度最快),下次开机再写入原目的地址的方法来保证缓冲区中待写数据的安全,显然这需要特殊的管理机制,也是厂商的自由发挥了。

        最后我们再谈谈目前普遍流行的说法——大容量缓冲区对零散数据非常有利,这是很片面的认识。当然,这种说法可以理解,也没有什么根本性错误,但容易误导人们对大容量缓冲区的认识。从分段式缓存结构可以看出,更大的缓冲区理论上可以划分出更多的数据段,能容纳更多的互不相干的小数据块。而这种随机的、不连贯的、小数据量的读取行为在Web服务、数据库服务与日常办公应用中很常见。如在Web服务中,经常出现对一个网页同时有多个请求的情况,而一个网页的大小也就是几十到几百KB的容量,如果缓冲区能缓存更多的页面,那么服务器的表现也会越好。因此大容量缓冲区在这方面的贡献,我们完全肯定。但另一方面,对于大容量,连续读写的数据操作,大容量缓冲区同样能发挥重要的作用。更大的缓冲区此时意味可一次缓冲更多的数据(硬盘会根据数据量将区段合并),即能在相同的时间内向主机或磁头发送更多的数据,而磁头的连续读写扇区的能力更容易发挥。所以,在音频、视频处理等经常用到大数据量连续读写的场合,大容量缓冲区硬盘是最佳之选。在下面的测试中,大家也会发现8MB缓冲区硬盘相对于2MB缓冲区硬盘的整体优势。

阅读(718) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~