|
详解硬盘技术<br/>现有的绝大多数的桌面系统――超过90%――都依赖ATA/IDE 硬盘接口在磁盘缓存和系统内存之间传递数据.而且这种统治地位在不久的将来是不可能改变的。在Ultra ATA出现之前,被称为FastATA的接口只能支持16.7MB/s的突发数据传输率 注 :此后本文如无特殊说明,均指接口数据传输率,即外部传输率),如果要避免顺序传输(比如系统引导,大程序的载入,特别是视频应用)时的瓶颈,就必须提高传输率,以适应磁盘内部速率的提高。<br/>现在,整个业界已经完全接纳了UltraATA这一标准。芯片制造商,包括该市场的霸主Intel,以及其他所有的硬盘生产商,包括IBM,Maxtor,昆腾(Quantum),希捷(Seagate Technology)和西部数据(WesternDigitial,WD)等早已宣布支持这个新的协议。随着昆腾推出支持Ultra ATA的火球ST系列之后,来自各家厂商的UltraATA硬盘 如雨后春笋般在市场上呈现出欣欣向荣之气 <p>不断增大的硬盘容量<br/>自PC出现以来,硬件和软件总是处在相互促进和相互制约的矛盾当中,而这种矛盾导 致的一个最直接的结果就是,应用软件动辄上百兆,而操作系统也是日趋庞大,从OS 6的十几兆到Windows3.x的几十兆,再到Windows95的上百兆,而且随着时间的推移, 那些蝗虫般的DLL 文件更是以难以想象的速度吞食掉你的硬盘空间,真有些让人消受 不了。与此同时,硬盘也从IBMAT时的十几兆,发展到了现在的几个GB,而IBM去年发布的Deskstar16GP更是达到了16.8GB的海量。虽然硬盘不断增大,但体积却没有什么改变,换句话说,硬盘中的单片容量在不断增大。在我们的这次测试中,单片容量都 在1.2GB以上,WD和昆腾的已经达到了2.1GB。据WD 的人士声称,在他们即将推出的8.4GB硬盘中,将达到2.8GB 的单片容量。可见,盘片越来越少,容量越来越大已经成为了一种趋势。<br/>要使得硬盘的容量不断增大,读写头的改进和读写记录技术的提高应该说是起着决定性的作用:<br/>磁头磁阻读写方式 <br/>硬盘容量大幅提升和所使用的读写磁头有着密不可分的关系。今天,高容量的硬盘几乎都使用新一代的磁阻磁头来读写数据。<br/>硬盘磁头利用磁场和电场的转换来记录盘片上的数据。磁头在硬盘主轴马达启动后很短的一段时间后,便会在盘片上以非常低的高度飞行。这种飞行的动力除了来自主轴马达转动时所产生的浮力外,磁头的构造与之也有很大的关系。<br/>传统的硬盘磁头是读写合一式的,也就是说不论是写入还是读取都使用同一个磁头。因此,就需要针对读写的不同特性做相应地调整,这必然会牺牲某些功能和性能。而磁阻磁头有两个元件,分别负责写入和读取的动作,所以可以针对他们的不同特性来做优化,以获得最好的存取性能。磁阻磁头有一个比较宽的传统的感应式写入磁头,他的宽度等于磁道的宽度。而磁阻式读取元件则相对较窄,这样在读取磁道时对于偏轨的容忍度就比较大了。而且,磁 道的密度也可以随之提高了。<br/>磁阻磁头读取元件工作时,电流会一直通过磁阻头,而磁阻头的电阻值会随着磁场强度的不同而变化,因此导致电流大小的改变。而传统方式则利用磁感应产生电流,这是两者最大的不同。因为磁阻磁头对于磁场的变化有相当高的灵敏度,加强了数据信号和噪音信号之间的差异,因此信噪比得到了相当大的提高。 PRML读取通道<br/>硬盘容量的提升和它的读取通道的改进也有着相当紧密的关系。传统的读取通道采用 的是“脉冲检测(PulseDetect)”方式,磁头从盘片上读取每一位信号以检测存储的数据。它会设定一个临界值来判断信号是否有效,当位信号比较微弱时,所获得的数据就可能有错误。另外,当记录信号强度达到某一程度时,也可能造成两个信号相互干扰的现。所以当磁密度到达某一程度后,这种现象就会更加严重。<br/>为了解决这一问题,人们在硬盘的设计中加入了PRML ――应用于太空通信的一种技术。当初发展PRML的目的是为了太空中数据通信之用,它最早是应用在维京号宇宙飞船从火星传送数据到地球的过程中,因为可以获得清楚的数据信号。<br/>所谓的PRML(部分响应、最大匹配,PartialResponseMaximumLikelihood)读取通道方式可以简单地分成两个部分来说。首先是将磁头从盘片上所读取信号加以数字化, 并将未达标准的信号加以舍弃,而没有直接将信号输出。这个部分便称之为“ 部分响应(PartialResponse)”。<br/>而“最大匹配(MaximumLikelihood)” 部分则是拿数字化后的信号模型与PRML芯片 本身的信号模型库加以对比,找出最接近、失真度最小的信号模型,再将这些信号重新组合而直接输出数据。<br/>使用PRML方式,不需要象脉冲检测方式那样高的信号强度,也可以避开因为信号记录太密集而产生相互干扰的现象,因此采用PRML 的方式可以大幅度提高磁盘表面密度。</p><p>不断加快的传输接口<br/>较早的硬盘使用的一种被称为ST506/412的接口。这是由希捷公司在1980年生产出第一台5.25 英寸硬盘ST506时提出的。使用这一接口的硬盘需要一条20 针的数据线和一条34针的控制线,而且还得插上一快价格不菲的控制卡。由于ST506/412 的表现并不尽如人意,再加上硬盘系统在整套设备中的成本中占了相当高的比重,因此出现了IDE 接口。<br/>IDE,正式名称为ATAttachment,ATA。这种接口将控制器和驱动器本身集成在了一起,因而有效地节省了接口费用,而且使得固件的实现变得更为简单。这种便宜而简单的集成随即在磁盘驱动器工业中呈现一片繁荣,而PC制造商也非常愿意采用这种低 廉的替代品。八十年代中,IDE已经成为普通购买者的首选。 </p><p>ATA-2和ATA-3<br/>当硬盘技术的发展和软件需要的不断提高终于使ATA 接口的容量变得相形见绌时,驱动器工业的代表SFFC(SmallFormFactor Commitee)制定了一种兼容ATA的扩展――ATA-2。这个标准不仅添加了比ATA更快的PIO 模式和DMA模式(见插文ATA 的两种传输模式”),而且还因提出了“驱动器识别” 命令而堪称巨大的飞跃。此时,驱动器可以更加准确地告知软件自己的属性,而这对于即插即用的实现是具有决定作用的。此外,在这个标准中,还提出了一种寻址硬盘上的扇区的新方式――LBA,它突破了著名的504MB极限。<br/>ATA-3是对ATA-2的一个修订。其中关键的部分包括 :改善了的可靠性,尤其是在PIO模式4下更是如此;一种简单的基于口令的安全方案 ;更为出色的电源管理;以及允许驱动器针对特定类型的错误发出警告的自监测,分析和报告技术(S.M.A.R.T)。ATA-3 并没有定义更快的模式,虽然某些厂商推出了所谓的“模式5” 设备,但其实根本没有ATA-2PIO模式4以上的PIO模式。</p><p>ATAPI<br/>ATA的的缺点之一就是它只是为硬盘设计的。如果回到 高档PC不过是带一个软驱和一个40MB硬盘的时代,这也 许已经足够了。但今天CD-ROM和磁带设备已经是相当普 通的设备了,而它们完全应该运行在同一个便宜的接 口之上。ATAPI,ATAPacketInterface就是设计用来把CD-ROM和磁带 机之类的设备插入到普通的ATA端口中。<br/>ATAPI硬件的主要好处在于它成本低而且适用于任何IDE 或EIDE适配器。APATI的磁带机所具备的性能和可靠性足 以和通用的QIC117“软”磁带机相媲美。<br/>有一点你必须弄清楚的是,虽然ATAPI可以插入IDE接口, 但它们还是和IDE硬盘有着相当大的区别。除非支持ATAPI, 否则硬盘的缓存控制器或其他智能接口根本不起作 用。而从ATAPICD-ROM引导也需要最新的BIOS支持。</p><p>Fast-ATA和EIDE<br/>首先,我们应该明确一点,这两个标准与其说是技术 上的术语,倒不如说是市场行销的产物。EIDE是由WD制 定的,它建立在两个现实标准之上:ATA-2和ATAPI。而Fast-ATA 则是由希捷提出,然后得到昆腾支持的,不过它只支 持ATA-2。<br/>快速的传输模式(PIO模式3和4,multiwordDMA模式1和2)是Fast-ATA 和EIDE的基石。除了这些,EIDE的主要内容有:支持LBA模 式,允许四台设备连接到ATA接口上,支持IDE的从端口, 在DOS下没有504MB的限制,可以通过ATAPI连接CD-ROM和磁带备 份设备。而Fast-ATA也支持LBA寻址方式。另外它还包括读/ 写复合命令(也被称作块模式),它通过增加传递的 扇区数来减少中断次数,从而降低处理器的占用率。</p><p>另外还有一种SCSI接口大家也一定听说过,不过这并不 在本次测试的范围之内。如果大家感兴趣,可以通过 插文"IDE和SCSI:不同应用的选择"了解一些情况。<br/>现在,大多数的主板都已经集成了IDE控制接口,因此 使用者根本不需要再费心去买一块专门的接口卡,曾 经有厂商说,如果SCSI控制芯片只要一美元,并把它集 成到主板上,那么IDE接口就只有靠边站了。这其实也 道出了为什么IDE接口广为流行的原因,因为从某种角 度来说,它几乎是完全免费的。</p><p>为什么要UltraATA?<br/>持续增长的处理器速度,不断膨胀的文件大小,多线 程的操作系统,更高带宽的总线,更高性能的硬盘― ―这些速度的需要充斥了我们的桌面系统。事实证 明,硬盘速度是随着驱动器的容量自然扩展的,传统 的磁盘驱动器工业每18个月将磁盘存储容量翻一番。 这是通过两种方式来实现的:一是让磁盘上的磁道 更加靠近(磁道密度);二是让写在磁道上的数据更 加紧密(线密度),通常它们是按相同的比例改进 的。这样做所导致的结果就是,线密度每三年翻一 番。而这接着就会使得磁盘内部数据传输率翻倍,因 为当磁盘每转动一圈时,会有更多的数据能够供传输 使用。此外,由于磁盘的内部数据传输率同时取决于 线密度和转速,所以不断地提高转速也会加快内部数 据传输率的提高。<br/>现在,越来越大的程序,对多媒体应用的集成,使得 文件的大小以令人瞠目结舌的速度增长。在一个无碎 片的硬盘上,这些文件通常都是顺序写入的――磁道 接着磁道。此时,大型文件的传输会受到外部传输速 度的很大影响。这是因为在顺序读取时,具有高内部 数据传输率的驱动器填满缓冲的速度可能要比主机 清空快得多。让我们看看这是为什么?</p><p>不够充分的总线利用<br/>现在许多高密驱动器可以保持以10MB/s的速度向缓存顺 序传输数据。你也许会说,既然外部传输速度能够达 到16.7MB/s,那么FastATA应该能够非常轻松地避免缓存溢 出。问题在于它还需要花费时间来处理宿主机(PC)的 指令。这种指令处理时间――此时总线出于空闲状态 ――对于总线来说肯定是一个消耗,并且是整体消耗 中一个非常重要的部分。<br/>因为有效的数据传输时间等于突发数据传输时间减 去指令处理时间,所以后者就是使得FastATA的有效传输 率利用不够充分的原因。归根到底,原因在于作为宿 主的PC无法充分地使用ATA总线。<br/>指令处理时间会随着主机向驱动器发送的命令的数 量而增长,而命令的数量又取决于数据请求的大小。 这些请求通常是4KB,而这和采用虚拟内存的操作系统 所支持的页面大小是相同的。下面,我们来作一个计 算。<br/>当以10.2MB/s的顺序数据传输速率从缓存中读取4KB的数据 时,驱动器大约需要400毫秒的时间。假设FastATA的突发 数据传输速率是16.7MB/s,那么主机清空4KB的缓存需要250 毫秒。这时,有150毫秒可以供指令使用――它用来在 缓存的清空和填充操作间进行平衡。遗憾的是,最快 的台式机也需要275毫秒的指令处理时间。这样一来, 清空4KB的缓存就需要525毫秒,这就将FastATA的有效传输 速率降低到了大约7.8MB/s(4096字节除以525毫秒)。比起16.7MB/s 的突发传输速率,这无疑就慢了许多。<br/>同时,7.8MB/s也只有10.2MB/s的顺序传输速率的75%――这意 味着每有三个字节发送给主机,就会有一个字节滞留 在缓存中。这样,每三个单位的缓存数据发送给主 机,就会有一个单位的缓存数据会被滞留,而驱动器 就必须“空转”一圈(让所需要的扇区再次经过磁 头)以允许主机清空缓存。考虑到典型的缓存大小是64KB, 因此每读写256KB就会空转一圈――这明显是对驱动器 利用率的浪费。</p><p>解决方案<br/>要使得ATA不再成为系统的瓶颈可以有几种方式。其中 有两种解决办法不是磁盘驱动器厂商所能够控制的 了的。最直接的,也是最困难的办法就是设法减少命 令处理时间。对于这种方式,提高处理器的速度是一 种行之有效的手段,但以现在的发展速度来看,我们 只有重新建立中断优先级的结构才能够在性能上得 到决定性的突破。另一个更简单的方法可能就是提高 主机向驱动器请求的数据块的大小。例如,将请求大 小从4KB翻倍到8KB就相当于把固定的指令处理时间减 半。如果通过未来的协议变更或硬件修改(例如减少 电缆长度,等等)无法把ATA扩展到33MB/s以上,那么增加 请求的大小可能就是最实际的方法了。<br/>最传统的方法是在系统级提高突发数据传输速率,这 样,实际用来从缓存传输数据的时间就会减少。而这 就是UltraATA所要做的。</p><p>UltraATA的解决方式<br/>具体来讲,在使用UltraATA的33MB/s的突发传输速率的情况 下,4KB的数据块只需要125毫秒的传输时间。这样就有275 毫秒可供消耗了。而这正是命令处理所需要的时间。 此时,缓存就不会再滞留数据,驱动器也无需“空 转”了。<br/>那么如何达到33MB/s,也就是使突发数据传输速率翻倍 呢?其中一个突破性的设计就是在STROBE脉冲的上升和 下降边缘同时传递数据。在过去,FastATA只是利用数据 的STROBE上升沿作为传输数据的时间脉冲。但为什么不 利用同样存在的下降沿呢?通过使用这两个边缘,Ultra ATA把传输率有效地增加了两倍――而且实际上根本 不用提高STROBE脉冲的频率(这种提高会导致噪声的出 现)――这样突发数据传输率也就得到了翻倍,也就 是达到33MB/s。<br/>不过,需要说明的是,33MB/s只是个理论数据,虽然我们 这次测试的几块硬盘都支持UltraDMA/33,但并没有谁能够 达到这一极限。在我们的资料中,内部数据传输率最 快的希捷“大灰熊”硬盘也只有24MB/s(192Mb/s除以8),而 外部数据传输率是不可能超过内部速率的,所以可以 说现在还没有任何一家厂商的硬盘能够达到33MB/s这一 速率。</p><p>IEEE1394:潜在的未来标准<br/>IEEE1394是在PC和消费类A/V产品之间建立一条联系的纽带 的技术。它允许A/V产品能够如同一台真正的多媒体外 设那样工作,而PC可以成为一台真正的消费类设备。 有了IEEE1394 ,OEM就可以满足客户把PC和音频、 视频和普通多媒体外设连接起来的需要了。<br/>IEEE1394使用很便宜的电缆和简单的连接器来支撑着互 联设备之间的几个数字音频、数字视频、以及控制信 息的信道。这种简单的连接都具备极高的传输率和稳 定性,以及实时数据处理能力,而且IEEE1394低廉的价格 使得它对于绝大多数的应用程序都非常理想。1394即插 即用的能力和无需掉电与重新启动的热插拔功能是 与消费产品集成的关键。<br/>IEEE1394的一个非常重要的功能就是对等通信,这使得 消费类产品在无需通过中心节点(如PC)获取路由信 息的情况下,就可以直接互相通信。更为重要的是, 现在只有IEEE1394能够实现如图所示的PC和消费类产品的 连接(如录像机)。<br/>1394连接的核心是一个物理层和一个链路层半导体芯 片。物理层芯片是一个支持多个1394端口的信号混合设 备。它包括执行总线仲裁和初始化功能的逻辑。链路 层芯片传送和接收经1394格式化过的数据包,并支持同 步和异步数据传输。同步传输能力使PC能够更为有效 地处理在多媒体应用中比较典型的高带宽数据流。而 当把A/V产品集成到使用PC硬盘做为数据存储设备的系 统中时,高级的异步数据处理则会非常有价值。 </p><p>ATA的两种传输模式 <br/>ATA硬盘有PIO模式和DMA模式两种传输方式。PIO是Programmed InputOutput(可编程输入输出)的缩写。顾名思义,它是 将数据传输的过程加以程序化,但这明显会加重CPU的 负担。因此在这种模式下,即便是CPU的效率很高,但 由于它必须全力去处理数据存取,因此无法再做别的 事情。目前的PIO有1、2、3、4四种模式。<br/>DMA大家都很熟悉,它是DirectMemoryAccess,直接内存访问的 缩写。而ATA的DMA模式自然就是通过DMA通道传输硬盘数 据了。DMA模式又分作SingleWord和MultiWord两种模式,它们和PIO 模式所对应的速率见表“ATA的传输模式和速率”。</p><p>IDE(ATA)总线的理论传输速率<br/>SinglewordDMA0<br/>2.1MB/s<br/>IOmode0<br/>3.3MB/s<br/>SinglewordDMA1,multiwordDMA0<br/>4.2MB/s<br/>IOmode1<br/>5.2MB/s<br/>IOmode2,singlewordDMA2<br/>8.3MB/s<br/>ATA-2总线的理论传输速率<br/>IOmode3<br/>11.1MB/s<br/>MultiwordDMA1<br/>13.3MB/s<br/>IOmode4,multiwordDMA2<br/>16.6MB/s<br/>Ultra-ATA的理论传输速率<br/>MultiwordDMA3<br/>33.3MB/s S.M.A.R.T:保护神还是看家狗</p><p>当人越来越依赖于一件事物时,就会逐渐在信任问题 上产生危机。硬盘是现代用户必备的存储设备,因为 与其他的存储设备比较起来,硬盘有着存取快速、使 用方便和价格低廉的优点。但是当所有这些优点都得 以实现时,人们便对它的可靠性产生了怀疑。与提高 硬盘容量、加快存取速度相比,人们更多地考虑的是 自己的数据在硬盘上到底有多安全。随着硬盘容量的 不断增大,人们在上面存放的数据就越来越多,这种 危机感也越发让人寝食不安。 <br/>S.M.A.R.T是自监测,分析和报告技术的简称。这种目前 的新型硬盘系统都具备的新功能可以说是暂时缓解 此类问题的一剂良药。这项技术可以应用在ATA或SCSI硬 盘上。它最早由Compaq提出,Compaq原先只是希望它的硬盘 供应商可以在硬盘的设计中加入可以自我监视与分 析各种参数的能力,藉此分析硬盘是否正常,以便事 先通知系统,针对各种可能的故障采取对应措施。后 来各大硬盘厂商在ATA-3的规格中正式将S.M.A.R.T列入标 准。</p><p>工作机理<br/>当硬盘启动后,硬盘上微控制器的程序便会自动、持 续、定期监控某些项目,一旦所监控的数值低于临界 值时,便会通知系统,警告可能会有问题发生。但它 所监视的范围大部分是机械上的磨损或是输出的信 号异常,而对于突发性的故障,比如机械零件突然断 裂或是失效时,S.M.A.R.T就束手无策了。也就是说,它所 能预测的故障是在长期的监视中,有迹可循的故障, 若是突发的类型,当然无法预测出来。</p><p>正确的认识<br/>虽然S.M.A.R.T技术的出现无疑使数据的安全性得到了很 大的提高。但并不是拥有这项技术,最终用户就可以 高枕无忧,不必再做什么备份了。正如我们上面所看 到的,这项技术并不能百分之百地预测出所有的故 障。因此,不要把S.M.A.R.T看成是硬盘系统的保护神,它 充其量不过是一条看家狗,保护神能够为你消灾免 祸,而看家狗只能对小偷小摸的梁上君子叫唤几声, 遇上凶狠蛮横的江洋大盗可能就只能变成一顿美味 佳肴了。 </p><p>IDE和SCSI,不同应用的选择 <br/>无需多说,你就会发现集成在主板上的EIDE控制器加上EIDE 硬盘要比SCSI驱动器便宜得多。要使用SCSI你还需要额外 的一个适配器(接口卡),这是因为大多数主板并不 集成SCSI控制器。这样一来,再加上昂贵的SCSI磁盘,SCSI 系统要比EIDE系统贵上许多。<br/>EIDE有一个主通道和一个从通道,每个都可以连接两 台设备,加起来总共四个。这可以是硬盘,也可以是CD-ROM。 现在已经有了带EIDE连接器的磁带机,但你需要特殊的 备份软件。<br/>在IDE通道中,两个设备是轮流控制总线的。如果在同 一条通道上有一个硬盘和一个CD-ROM,那么硬盘就必须 等待CD-ROM发出的请求得到完成。因为CD-ROM相对来说要慢 一些,因此这必定会导致性能上折衷。这就是为什么 每个人都会告诉你把CD-ROM连接到从通道,而把你的硬 盘设置为主设备的原因。主通道和从通道或多或少是 以相互独立的方式工作的(这归功于EIDE控制器芯 片)。<br/>SCSI接口有几种类型。8位(50针数据电缆)或者16位(68 针数据电缆,WideSCSI)。时钟频率有5MHz(SCSI1),10MHz(Fast SCSI),20MHz(Fast-20或者UltraSCSI)或者40MHz(Ultra-2SCSI)。它实 际是一种微型计算机总线,它将磁盘控制器的功能全 部集成到了设备当中,而且在设备中还增加了SCSI接口 控制电路。</p><p>SCSI总线的理论传输速率 SCSI总线时钟频率<br/>8位(50针数据电缆) 16位(68针数据电缆) <br/>5MHz(SCSI1) 5MB/s N/A <br/>10MZ(FastSCSI,SCSIII) 10MB/s 20MB/s <br/>20MHz(Fast-20,UltraSCSI) 20MB/s 40MB/s <br/>40MHz(Fast-40,UltraSCSI) 40MB/s 80MB/s </p><p>从下面的SCSI系统示意图你可以看出,SCSI接口是以主机 系统对外设的统一I/O总线的形式出现的,它处在主机 适配器(SCSI接口卡)与外设控制器之间,它不仅可以 控制磁盘驱动器,而且可以控制磁带机等外设,但有 个前提条件,就是这些外设中必须包含自己的控制 器。</p><p>扫描仪以及许多CD-W并没有EIDE接口,它们只能通过SCSI连 接。你可以在一条SCSI总线上连接7台设备,或者在Wide SCSI上连接15台设备。在标准的环境中,单个硬盘的性 能并不会因为使用SCSI接口而有太大的提高。SCSI的威力 在于多个设备可以同时使用总线,而不是在别人不需 要的情况下才使用。所以,当几个设备都同时使用同 一条总线时,你就会切身感受到SCSI的好处了。<br/>在多任务的环境下,SCSI的好处更是体现的淋漓尽致, 因为此时经常发生同时访问。如果你有一个服务器或 者要使用大尺寸的文件,如音频、视频或者磁盘密集 型的应用,SCSI就会体现出高出EIDE一等的大家风范。</p> |
|