发展才是硬道理——硬盘发展历史回顾 月林 1999年 第24期 20版   硬盘是计算机最重要的外部存储设备,包括操作系统在内的各种软件、程序、数据都需要保存到硬盘上。硬盘伴随着PC机的快速腾飞,无论速度与容量都有了飞速发展。一度还对几十上百兆容量的硬盘惊叹不已的我们,现在已经拥有了几G甚至几十G的硬盘。下面就让我们来回顾一下硬盘的发展历史,看看过去的低容量低速硬盘是如何一步步演变成今天的超大容量高速硬盘的。 #1PC时代之前的硬盘   说起硬盘的历史,我们不能不首先提到蓝色巨人IBM所发挥的重要作用,正是IBM发明了硬盘,并且在随后的历史中,又为硬盘的发展做出了一系列重大贡献。在发明磁盘系统之前,计算机使用穿孔纸带、磁带等来存储程序与数据,这些存储方式不仅容量低、速度慢,而且有个大缺陷:它们都是顺序存储,为了读取后面的数据,必须从头开始读,无法实现随机存取数据。   1956年9月,IBM的一个工程小组向世界展示了第一台磁盘存储系统IBM 350 RAMAC(Random Access Method of Accounting and Control),其磁头可以直接移动到盘片上的任何一块存储区域,从而成功地实现了随机存储,这套系统的总容量只有5MB,共使用了50个直径为24英寸的磁盘,这些盘片表面涂有一层磁性物质,它们被叠起来固定在一起,绕着同一个轴旋转。IBM 350 RAMAC的出现使得航空售票、银行自动化、医疗诊断和航空航天等领域引入计算机成为了可能。(^242001a^)   1973年,IBM又发明了Winchester(温氏)硬盘,其特点是工作时磁头悬浮在高速转动的盘片上方,而不与盘片直接接触,这便是现代硬盘的原型。IBM随后生产的3340硬盘系统即采用了温氏技术,共有两个30MB的子系统。1979年,IBM再次发明了薄膜磁头,为进一步减小硬盘体积、增大容量、提高读写速度提供了可能。   70年代末与80年代初是微型计算机的萌芽时期,包括希捷、昆腾、迈拓在内的许多著名硬盘厂商都诞生于这一段时间。1979年,IBM的两位员工Alan Shugart和Finis Conner决定要开发像5.25英寸软驱那样大小的硬盘驱动器,他们离开IBM后组建了希捷公司,次年,希捷发布了第一款适合于微型计算机使用的硬盘,容量为5MB,体积与软驱相仿。希捷当时的产品赢得了苹果和IBM等大客户的青睐,销量很不错,现在已成为全球存储设备工业的领导者之一。   PC时代之前的硬盘系统都具有体积大、容量小、速度慢和价格昂贵的特点,这是因为当时计算机的应用范围还太小,技术与市场之间是一种相互制约的关系,使得包括存储业在内的整个计算机产业的发展都受到了限制。(^242001b^) #1PC时代的硬盘 #1  ·ST-506接口   IBM于1981年推出了基于Intel 8088 CPU的个人计算机,从而揭开了PC机时代的序幕。最早的IBM PC并不带有硬盘,它的BIOS及DOS 1.0操作系统也不支持任何硬盘,这一点也不奇怪,因为这套系统的内存只有16KB,就连软驱和DOS都是可选件,系统中只内置了磁带机接口和ROM BASIC。后来DOS 2引入了子目录系统,并添加了对“大容量”存储设备的支持,于是一些公司开始出售供IBM PC使用的硬盘系统,这些硬盘与一块控制卡、一个独立的电源(IBM PC的电源只有63.5W,无法向硬盘供电)被一起装在一个外置的盒子里,并通过一条电缆与插在扩展槽中的一块适配器相连,为了使用这样的硬盘,必须从软驱启动,并加载一个专用设备驱动程序。   1983年,IBM推出了IBM PC的后继产品PC/XT,虽然XT仍然使用8088 CPU,但配置却要高得多,加上了一个10MB(随后的XT S机型为20MB)的内置硬盘,IBM把原本放在盒子里的控制卡的功能集成到一块接口控制卡上,构成了我们常说的硬盘控制器。但是XT的BIOS中仍然不带有硬盘读写例程,为此接口控制卡上有一块ROM芯片,其中存有硬盘读写例程,这种现象一直持续到基于80286处理器的PC/AT的推出,硬盘接口控制例程终于被加入到了主板的BIOS中。   PC/XT和PC/AT机器使用的硬盘被称为MFM硬盘或ST-506/412硬盘,MFM(Modified Frequency Modulation)是指一种编码方案,而ST-506/412则是希捷开发的一种硬盘接口,首先使用这种接口的硬盘为希捷的ST-506及ST-412。ST-506接口使用起来相当简便,它不需要任何特殊的电缆及接头,但是它支持的传输速度很低,因此到了1987年左右这种接口就基本上被淘汰了,采用该接口的老硬盘容量多数都低于200MB。 #1  ·ESDI接口   鉴于ST-506接口的低速度,迈拓于1983年开发了ESDI(Enhanced Small Drive Interface)接口。这种接口把编解码器放在了硬盘本身之中,而不是控制卡上,它的理论传输速度是ST-506的2~4倍,一般可达10Mbps。   ESDI接口并没有得到广泛应用,原因之一是它的成本比较高,经过了几个版本之后,它与后出现的低成本高性能的IDE接口相比已没有优势可言,因此在进入九十年代后就逐步被淘汰掉了。Windows 9x操作系统中有一个设备驱动程序叫ESDI_506.pdr,显然这个文件的名字来源于古老的ESDI和ST-506接口,但可笑的是ESDI_506.pdr却是一个IDE接口的驱动程序! #1  ·IDE与EIDE接口   IDE(Integrated Drive Electronics)的本意实际上是指把控制器与盘体集成在一起的硬盘驱动器,我们常说的IDE接口,也叫ATA(Advanced Technology Attachment)接口,现在PC机使用的硬盘大多数都是IDE兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。   把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容,对用户而言,硬盘安装起来也更为方便。   ATA接口最初是在1986年由CDC、康柏和西部数据共同开发的,他们决定使用40芯的电缆,最早的IDE硬盘大小为5英寸,容量为40MB,康柏早期的386系统使用了由西部数据制造的IDE硬盘,后来康柏创办了Conner来为自己生产硬盘,但很快又把Conner出售了。ATA接口的一大特点是成本低廉,非常符合PC机的发展特点,因此很快得到大家的认同,从80年代末期开始逐渐取代了其它老式接口,ANSI也专门制定了ATA-1标准,1990年后生产的PC机已经普遍采用ATA接口了。   80年代末期IBM对硬盘的发展做出另一项重大贡献——发明了MR(Magneto Resistive)磁阻磁头,这种磁头在读取数据时对信号变化相当敏感,使得盘片的存储密度能够比以往的20MB/in2提高数十上百倍。1991年,IBM生产的3.5英寸硬盘0663-E12使用了MR磁头,容量首次达到了1GB,从此硬盘容量开始进入了GB数量级,直到今天,大多数硬盘仍然采用MR磁头。   随着硬盘的容量和内部传输速率不断提高,人们对硬盘接口的传输速率要求也越来越高。   ATA接口最早支持的PIO(Programmed I/O)模式0只有3.3MB/s,而ATA-1标准一共规定了3种PIO(如^242001c^所示)和4种DMA模式(几乎没有得到实际应用)。SFF(Small Form Factor)委员会后来对ATA-1进行了扩展,制订了ATA-2标准,增加了2种PIO和2种DMA模式,把最高传输速率提高到16.6MB/s,并加入了LBA地址转换方式,用以突破老BIOS固有的504MB容量限制。   就在ATA-2成为标准之时,西部数据与希捷掀起了一场接口名称之争。西部数据提出了EIDE(Enhanced IDE)的概念,EIDE实际上包含了ATA-2和ATAPI(ATA Packet Interface)两种标准,后者是为了让CDROM、磁带机等其它设备使用ATA接口而制订的标准,因为ATA-1和ATA-2标准都只考虑了硬盘。希捷为了对付WD的市场策略,也提出了一个Fast-ATA的概念,并得到了昆腾的支持。Fast-ATA实际上就是ATA-2,相对而言,Fast-ATA比EIDE在概念上要更为清晰一些,但是由于CD-ROM驱动器的迅速发展,ATAPI标准得到了普遍应用,Fast-ATA和EIDE两种称呼都经常出现在各种场合,反而产生了很多混淆。ATA接口的最新标准是ATA-3,与ATA-2相比,ATA-3没有增加更高速率的工作模式,但改进了数据传输的可靠性,加入了一个简单的密码保护的安全方案,对电源管理方案进行了修改,并引入了S.M.A.R.T.技术,让硬盘在出错时能够向系统报告。   与很多其它计算机工业标准类似,硬盘接口技术也往往是实际应用走在了标准之前。ATA-4还未正式推出之前,昆腾联合其它一些厂商推出了Ultra-ATA/33(或称Ultra-DMA/33),并得到了广泛应用,成为事实上的标准。Ultra-ATA/33的传输速率可达33.3MB/s,它与ATA标准原来支持的DMA工作模式不一样,它需要一种特殊的BusMaster DMA工作方式。Intel从430TX芯片组开始加入了对Ultra-ATA/33的支持,现在的IDE硬盘基本上都支持Ultra-ATA/33,并且很多新型硬盘已经支持同样由昆腾开发的Ultra-ATA/66接口,传输速率可达66MB/s。目前正在制订的ATA-4可望把ATAPI和Ultra-ATA都纳入到正式标准中。(^242001d^) #1  ·SCSI接口   SCSI(Small Computer System Interface)是一种与ATA完全不同的接口,它不是专门为硬盘设计的,而是一种总线型的系统接口,每个SCSI总线上可以连接包括SCSI控制卡在内的8个SCSI设备。早期PC机的BIOS不支持SCSI,各个厂商都按照自己对SCSI的理解来制造产品,造成了一个厂商生产的SCSI设备很难与其它厂商生产的SCSI控制卡共同工作,加上SCSI的生产成本比较高,因此没有像ATA接口那样迅速得到普及。SCSI接口的优势在于它支持多种设备,传输速率比ATA接口高,独立的总线使得SCSI设备的CPU占用率很低,所以SCSI更多地被用于服务器等高端应用场合。   ANSI分别于1986年和1994年制订了SCSI-1和SCSI-2标准,一些厂商在这些标准的基础上开发了Fast SCSI、Ultra SCSI、Ultra2 SCSI(LVD)和Ultra160/m等事实上的标准,它们支持的传输速率如^242001e^所示。与Ultra ATA相似,Ultra SCSI、Ultra2 SCSI和Ultra160/m也是处于SCSI-2和SCSI-3(仍然还未正式确定)两种标准之间的产物。 昆腾、希捷、IBM等厂商都有自己的SCSI硬盘系列产品,由于目标市场不同,这些SCSI硬盘的转速、缓存大小等指标要比同时期的IDE硬盘高得多。   从硬盘的四十多年历史中,我们可以看出,自从进入了PC时代之后,硬盘也进入了一个飞速发展的阶段,接口、容量、转速、磁头等等都经历了数次更新换代,用更快、更大、更强来形容硬盘的发展始终适用,在今后的很长一段时间内也会如此。