硬盘基础知识
一、容量
容量恐怕是最能体现硬盘发展速度的了,从当初IBM发布世界上第一款5MB容量的硬盘到现在,硬盘的容量已经从几十、几百MB增加到了上百GB,硬盘容量的增加主要通过增加单碟容量和增加盘片数来实现。单碟容量就是硬盘盘体内每张盘片的最大容量,每块硬盘内部有若干张碟片,所有碟片的容量之和就是硬盘的总容量。比如希捷酷鱼Ⅳ 60GB硬盘,其单碟容量为40GB,由两张碟片组成,其中一张为40GB(双面)、另一张为20GB(单面)。
1、 硬盘的发展突破了多次容量限制
单碟容量的增长可以带来三个好处:第一是硬盘容量的提高。由于硬盘盘体内一般只能容纳4到5张碟片,所以硬盘总容量的增长只能通过增加单碟容量来实现;二是传输速度的增加,因为盘片的表面积是一定的,那么只有增加单位面积内数据的存储密度。这样一来,磁头在通过相同的距离时就能读取更多的数据,对于连续存储的数据来说,性能提升非常明显;三是成本下降。举例来讲,同样是40GB的硬盘,若单碟容量为10GB,那么需要4张盘片和8个磁头,要是单碟容量上升为20GB,那么需要2张盘片和4个磁头,对于单碟容量达40GB的硬盘来说,只要1张盘片和2个磁头就够了,能够节约很多成本。目前硬盘单碟容量正在飞速增加,但硬盘的总容量增长速度却没有这么快,这正是增加单碟容量并减少盘片数的结果,出于成本和价格两方面的考虑,两张盘片是个比较理想的平衡点。
不过单碟容量的飞速增加也带来了两个问题:首先是AMR(Anisotropic Magneto Resistive,各项异性磁阻)的薄膜的电阻变化量有一定限度,所以AMR磁头的灵敏度也存在极限—— 476Mbit~794Mbit/平方厘米;其次是硬盘的总容量受到28bit寄存器的限制,最多只能达到137.4GB。
2、GMR巨磁阻磁头
GMR(Giant Magneto Resistive,巨磁阻)磁头与AMR磁头一样,核心是一片特殊金属材料,其电阻随磁场的变化而变化。磁阻元件连接着一个十分敏感的放大器,可以测出微小的电阻变化,通过这种微小的变化就可以读出盘片上记录的数据。只不过GMR磁头使用了磁阻效应更好的材料和多层薄膜结构,比AMR磁头更为敏感,相同的磁场变化能引起更大的电阻值变化,从而实现更高的存储密度,GMR磁头的存储密度能够达到1.55Gbit~6.2Gbit/平方厘米以上。
3、Big Drives
硬盘的容量及扇区地址与三个方面息息相关:柱面数(Cylinder)、磁头数(Head)和扇区数(Sector),统称CHS。这三个数值的寄存器位数决定了硬盘的最大容量,目前这3个寄存器的位数分别为16bit、8bit、4bit,总计28bit。这样即使是通过LBA寻址方式,也只能访问268,435,455个扇区,按每扇区512字节计算,总容量约为137.4GB。鉴于此种状况,迈拓(Maxtor)提出了一种叫做Big Drives的解决方案,为CHS的每个数值分配了一个16bit的寄存器,一共48bit,这样算来通过LBA寻址方式就能访问281,474,976,710,655个扇区,最大容量高达144PetaByte,合144,000,000GB。
二、转速
转速是指硬盘内盘片转动的速度,单位为RPM(Round Per Minute,转/分钟),有时也简写成“转”。目前市场上IDE硬盘的转速主要分5400RPM和7200RPM两种,当初昆腾曾经推出过两个转速分别为4400RPM和4500RPM的硬盘系列——lct15和lct20,但由于价格及发热量并没有比5400RPM硬盘降低多少,而性能却有所下降,因此没能得到市场的广泛认同。
从测试及实际应用等各个方面来看,5400RPM硬盘和7200RPM硬盘之间确实存在着一定性能差距,不过7200RPM硬盘的发热量、噪音以及性价比等方面均比5400RPM硬盘略逊一筹,而且现在的应用软件对于硬盘速度的要求并不很高,5400RPM硬盘完全能够满足绝大多数普通家庭的需要。况且随着单碟容量大幅度提升,转速对硬盘整体性能的影响已经不像以前那么大了,当初希捷U6系列硬盘推出之时,高达40GB的单碟容量使它在持续传输率等方面甚至比部分7200RPM的硬盘还要强。所以今后IDE硬盘的转速仍然会保持在现在的水平并维持一段时间。
三、缓存
缓存(Cache Buffer)的大小也是影响硬盘性能的重要因素之一。硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
硬盘缓存的大小决定了可存放数据的多少,但并不是说缓存越大性能就一定越好。目前主流硬盘的缓存多在2MB左右,没有配备更大容量的缓存主要是出于缓存算法的考虑,更大容量的缓存需要更有效率的算法,否则性能不会有多大提升。当然更大的缓存也是未来硬盘的一个发展方向,西部数据(WD)就推出了一款缓存容量高达8MB的硬盘产品,其性能表现请参考后面的评测部分文章,这里就不再赘述了。
四、平均寻道时间
平均寻道时间(Average Seek Time)是指当硬盘接受到系统指令后,磁头从开始移动到到达数据所在磁道的平均时间,单位为毫秒(ms)。不同品牌、不同型号的产品其平均寻道时间也不一样。一般来讲,硬盘的转速越高,其平均寻道时间就越低,但5400RPM硬盘与7200RPM硬盘之间平均寻道时间的差距并不仅仅是由于转速造成的,厂商出于市场定位以及噪音等方面的考虑,有时也会人为地降低硬盘的平均寻道时间。
ultra ata接口规格一览表
ultra ata接口
|
udma模式
|
时钟频率
|
接口数据传输率
|
数据连线
|
ultra ata33
|
mode 0
|
8.33mhz(120ns)
|
16.66mb/s
|
40针40线
|
mode 1
|
6.67mhz(150ns)
|
26.66mb/s
|
40针40线
|
mode 2
|
8.33mhz(120ns)
|
33.33mb/s
|
40针40线
|
ultra ata66
|
mode 3
|
11.11mhz(90ns)
|
44.44mb/s
|
40针80线
|
mode 4
|
16.67mhz(60ns)
|
66.66mb/s
|
40针80线
|
ultra ata100
|
mode 5
|
25mhz(40ns)
|
100mb/s
|
40针80线
|
ultra ata133
|
mode 6
|
33.3mhz(30ns)
|
133.3mb/s
|
40针80线
|
与平均寻道时间有关系的还有磁盘存取时间(Disk Access Time)和平均等待时间(Average Latency)。所谓平均等待时间是指硬盘把数据转到磁头下方所需要的时间,这个数字与转速是成反比的,但相对比较固定,5400RPM硬盘的平均等待时间一般为5.56ms,而7200RPM硬盘则是4.17ms。平均寻道时间加上平均等待时间就是磁盘存取时间。平均寻道时间的长短直接影响到磁盘在读写大量小文件以及非连续存储的数据时的性能表现,而要想提高存取大文件以及连续存储的大量数据时的性能,则可以通过提升单碟容量来实现。
五、接口
随着硬盘容量和速度的飞速增加,硬盘接口也经历了很多次革命性的改变,从最早的PIO模式到今天的串行ATA及UltraATA133,传输速率已经翻了几十倍。这里要说明一下,ATA(Advanced Technology Attachment)是一种接口,主要用于连接主板与各种存储设备,其实也就是IDE(Integrated Drive Electronics),只不过叫法不同罢了。随着硬盘内部传输率逐渐上升,外部接口也必须提高传输速率才不至于成为数据传输时的瓶颈,在这种环境下,串行ATA及UltraATA133规范诞生了。
SeaShell可以为硬盘提供全面保护
串行ATA规范是计算机行业工作组(Computer Industry's Working Group)制定的,这个工作组由迈拓(Maxtor)、APT、戴尔(Dell)、IBM、英特尔(Intel)以及希捷(Seagate)组成。串行ATA采用与并行ATA(也就是现在最常见的IDE)接口相同的传输协议,但硬件接口则不同,串行ATA接口的电压更低,而且数据线也更少。
UltraATA133是迈拓提出的,是UltraATA100的后续规范,但它并没有得到ATA官方组织T13的正式认可,所以严格说来,UltraATA133应该算是企业规范而非行业规范,或许直接叫它“Fast Dirves”更为妥当。
由于串行ATA并不能向下兼容并行ATA设备,所以从并行ATA全面过渡到串行ATA要相当长的一段时间,甚至可能会持续到2005年。在这期间,硬盘的发展速度不可能因此而停下来,UltraATA133等于是一种折中的解决方案,它很可能作为最后一种并行ATA接口规范,在计算机发展史上起到相当重要的作用。
六、保护技术
现在硬盘的容量越来越大,存储在上面的数据也越来越多,数据的安全性问题逐渐暴露出来。硬盘厂商们不可能没有意识到这一点,于是现在市场上的主流硬盘产品,全部都具有多种保护技术——从外到内、从软到硬,简直武装到了牙齿。
1、外包装
为了防止撞击或突然掉落造成的损坏,最简单最便宜的办法就是把硬盘多包几层。例如希捷就开发了一种专门用来包装硬盘的硬塑料盒——SeaShell,这是一种带抗冲击肋条的热成形蛤壳状外包装,能够明显降低硬盘在搬运和安装过程中可能受到的损坏。如果一个硬盘从30厘米的高度直接掉落到水泥地面上,所受到的冲击力将超过1000G,大多数情况下都会造成物理损伤。如果加上SeaShell包装的话,所受到的冲击力一般不会超过180G,对硬盘起到了非常明显的保护作用。与此类似的还有迈拓的全系列硬盘,迈拓的正品硬盘全部都有纸制的环保保护材料,起到的保护作用与SeaShell是相同的。
2、内部结构
在发生冲击或震动时,硬盘内部的元件可能会损坏,最容易损坏的四种元件是马达轴、磁头、磁头臂和盘片。从滚珠轴承的内部结构图中可以看出,在发生震动的时候,震动使滚珠和轨道互相挤压,滚珠和轨道就会发生变形,造成损坏,从而导致马达失灵。解决这个问题有两种办法:一是换用较大的滚珠,这样在震动时能够有更多的接触面积来吸收震动;二是干脆换用液动轴承。
另外,所有硬盘在不接通电源的时候,磁头都会停放在盘片最内圈的CSS(Contact Start/Stop,接触启/停)区,也叫“着陆区”,着陆区不会用来存储任何数据,即使震动也不会对存储数据的区域产生直接影响。但震动足够强就可能发生损坏现象,因为磁头是通过磁头臂固定的,如果磁头受到震动偏离盘片,磁头臂的弹力就会使磁头重新附着在盘片上,这个过程中可能会损坏盘片并留下颗粒。虽然盘片的数据区并没有受到直接影响,但遗留下的颗粒对于高速旋转的盘片来说无疑是致命的,盘片上很快就会出现各种划伤,进而完全报废。
厂商们通过以下几个方面的改进在一定程度上解决了这个问题:首先是增加了磁头、磁头臂等部件的紧密程度,这样一来在受到震动的时候,硬盘内部结构的变形程度就减小了,磁头受到的震动也会降低;另外就是减少磁头的重量,由于重量减少了,所以对磁头臂的推力也会减小,也就降低了磁头从盘片表面偏离的可能性。
3、自我检查
除了改进结构设计来加强硬盘的可靠性外,硬盘的自我检查能力也是必不可少的。现在市场上几乎所有的硬盘产品都具备基于S.M.A.R.T.技术的自检能力,这种技术的全称为Self Monitoring Analysis and Reporting Technology,即“自我监测分析及报告技术”。这种技术可以在BIOS的配合下自动监测硬盘的工作状态,由硬盘内部的监测电路和系统中运行的监测软件将硬盘当前的运行情况与历史记录和预设的安全值进行分析比较,当出现安全值范围以外的情况时,则自动向用户发出警告。通过S.M.A.R.T.技术可以对硬盘潜在故障进行有效预测,提高数据的安全性。不过S.M.A.R.T.技术并不是万能的,它只能对渐发性的故障进行监测,而对于一些突发性的故障,S.M.A.R.T.技术就无能为力了。