为回报大家的支持,决定再发有用的经验。
硬盘结构之完全解析
目前大多数计算机上安装的硬盘,由于采用了温切斯特(Winchester)技术而被称为“温切斯特硬盘”,或简称“温盘”。关于“温切斯特”这个名字的起源有2种说法,一种是说硬盘驱动器最初的型号是3030,这使技术人员联想到温切斯特3030来福枪,此后就把这样的硬盘称为温切斯特盘;另一种是说这种技术的硬盘驱动器是在位于英国温切斯特的Hursley研究中心发明的,由此而得名。这2种说法无论孰是孰非都不重要,我想大家更关心的是我将如何把硬盘的五脏六腑展现在你们面前。好啦,话入正轨。
硬盘是一个高度精密的机电一体化产品,由头盘组件HDA(Head Disk Assembly)和印刷电路板组件PCBA(Printed Circuit Board Assembly)2大部分构成(见图1、图2,笔者同时拆解了两块硬盘供读者比较参考),再加上外部的机壳与机架就组成了整个硬盘驱动器。
一、头盘组件
头盘组件包括盘体、主轴电机、读写磁头、寻道电机等部件,它们被密封在一个超净体腔内。硬盘的选头电路及前置放大电路也密封在这里(见图3、图4)。
1.盘体
硬盘的盘体由多个重叠在一起并由垫圈隔开的盘片组成,盘片是表面极为平整光滑且涂有磁性物质的金属圆片。早期的盘片也有用陶瓷制成的,现在多为铝制。盘体从物理的角度分为“磁面”(Side)、“磁道”(Track)、“柱面”(Cylinder)、“扇区”(Sector)4个结构。第一个盘片的第一面为0磁面,下一个为1磁面;第二个盘片的第一面为2磁面,以此类推。由于每一个磁面都对应一个读写磁头,因此一般来说在对硬盘进行读写操作时,不称磁面0、1、2,而称其为磁头0、1、2。磁盘在格式化时被划分成许多同心圆,同心圆轨迹即为磁道。最外层的磁道为0道,并向着磁面中心增长。其中,在最靠近中心的部分不记录数据,称为着陆区(Landing Zone),是硬盘每次启动或关闭时,磁头起飞和停止的位置。整个盘体中所有磁面上半径相同的同心圆磁道称为“柱面”。一般情况下,我们称谓硬盘的逻辑盘容量划分时,往往用柱面数而不用磁道数。例如,我们说硬盘的某个逻辑盘有1000、1450个柱面,而不说有1000、1450个磁道。如果将每一个磁道视为一个圆环,再把每个圆环等分成若干个区,该等分的区就是磁盘存取数据最基本的单位“扇区”。每个磁道包含的扇区数目相等,一个扇区的容量往往是512字节。扇区的首部包含了扇区的唯一地址标识ID,扇区之间以空隙隔开,便于操作系统识别。扇区的编号不像磁面和磁道那样从0计起,而是从1计起。每个磁道分有26个或更多扇区的硬盘驱动器称为RLL(Run Length Limited),即运算长度受限制式;分有17个扇区的称为MFM(Modified Frequency Modulation),即改进调频制式。现在的硬盘驱动器多为RLL。
2.主轴电机
主轴电机是用来带动盘体做高速旋转的装置,其速度在每分钟3 600转至10 000转不等,有的甚至达到每分钟15 000转。主轴电机全部采用无刷直流电机,在高速轴承的支撑下机械磨损很小,可以长时间连续工作,平均寿命在10万小时左右。
3.读写磁头与寻道电机
读写磁头与寻道电机由驱动臂连接构成一个整体部件。为了长时间高速存储和读取信息,盘片的每一面都设有一个磁头,并且磁头质量很小,以便减小惯性;同时,寻道电机具有优越的电磁性能(如图5),可以用极短的时间定位磁头。
磁头在停止工作时与盘面接触,但在工作时呈飞行状态,与盘面相距0.2至0.5μm,不会造成机械磨损。新式的磁头甚至能保持在0.05μm,以便大大提高记录密度。
寻道电机驱动磁头的方式一般分为步进电机驱动式和音圈驱动式2种。在前一种方式中,驱动磁头的是一条缠绕在步进电机上的柔软金属带,靠金属带的缠绕或散开使磁头移动。这是一种开放性结构,无论金属带采用多好的材料,使用时间长了总会被拉长,造成磁头不能准确定位。此外,步进电机是机械结构,长时间使用亦会磨损,带来磁头移动距离的误差。所以,这种方式已被淘汰,取而代之的是后一种方式。音圈是一个中间插有一根与磁头相连的磁棒的线圈,当有电流通过时,磁棒就会移动,进而带动磁头。音圈驱动方式是一种密封的控制系统,它能够进行自动调整,在磁头移动的同时查看磁盘上的数据信息来确定准确的停止位置。这种方式的优点是快速、精确、安全。现在,绝大多数硬盘都使用这种方式。
顺便提一句,为了避免硬盘在移动时磁头对盘面造成物理损害,需要有磁头保护装置将停止工作的磁头进行锁定。各种品牌的硬盘使用的磁头锁定装置不尽相同。这次拆解的昆腾硬盘,使用的是一个极轻的塑料制锁定装置。当磁盘不工作时,它会将磁头卡住,使磁头不能自由移动。当硬盘工作时,盘片的高速旋转产生气流推动锁定装置旋转一个角度,使它不再卡住磁头,从而使磁头正常工作。而被拆解的三星硬盘的磁头锁定装置比较简单,仅仅是靠磁铁的磁力将磁头吸住,使其不能运动。当磁盘工作时,磁头会挣脱磁力的束缚,进行正常寻道(见图6)。
二、印刷电路板组件
印刷电路板组件集成了读写电路、磁头驱动电路、主轴电机驱动电路、接口电路、放大调制电路和Cache(高速缓存)等电子元件。随着科技的不断发展,集成电路的集成度大大提高,许多原来需要分立的电路,现在只用一小块大规模集成电路就可以完成。例如,将几种功能集中在一块叫做“主控芯片”的集成电路上,从而得到较高的稳定性并降低成本。下面,综合介绍一下各个电路的功能。
读写电路通过前面已经提到的选头与前置放大电路,和磁头相连接。顾名思义,读写电路的作用就是控制磁头进行读写操作。磁头驱动电路直接控制寻道电机,使磁头定位。主轴驱动电路是控制主轴电机带动盘体以恒定速率转动的电路。Cache的作用显而易见,不再多说了。值得一提的是接口电路和放大调制电路。
接口电路是计算机与硬盘之间交换信息的桥梁,常见的有ST506/412、IDE、EIDE、ESDI、SCSI等。ST506/412全称为Shugart Technologies 506/412,是一种由Seagate公司最早开发并首先用于ST506型硬盘的接口,可支持4个硬盘。这种接口所支持的硬盘最多不能超过16个磁头,因此这类接口硬盘的容量不超过150MB。并且,其硬盘驱动器使用2条信号电缆:一条34芯的命令电缆和一条20芯的数据电缆。输出数据是未分离的MFM制式或RLL制式编码脉冲,这大大降低了数据传输的可靠性及传输效率。介绍IDE和EIDE接口的文章颇多,这里不再重复。ESDI(Enhanced Small Disk Interface)即“增强型小型磁盘机接口”,是Maxtor、Shugart、CDC、XEBEC等公司联合开发的,它吸收了ST506/412和其它一些非标准接口的优点,使其更适应于大硬盘的工作状况。ESDI与ST506/412类似,也采用34条命令线和20条数据线,大部分命令与信号线和ST506/412也一致,只是增加了一些信号,并且数据信号的读写数据都改成了不归零制(NRZ)编码数据。ESDI同样支持4个硬盘。SCSI接口是小型计算机接口(Small Computer System Interface)的简称,是在Shugart公司开发的SASI(Shugart Associates System Interface)的基础上增加了磁盘管理功能而形成的。其本质是采用IBM公司提出的I/O通道结构方式,使一台智能外设能在单一总线上与多台主机进行通信。虽然SCSI接口方式当初是为磁盘设计的,目前使用SCSI接口最多的也是磁盘,但SCSI实质上是一种主机适配器和智能控制器界面上的统一的I/O总线,是一种多用途的输入输出接口。除适用于磁盘外,还广泛应用于CD-ROM、磁带机、扫描仪、打印机等设备。SCSI硬盘的信号线由一根50芯、68芯或80芯的电缆(含数据线和命令线)组成,它不关心磁头和柱面,以线性的方式对扇区进行编号。所以,它不知道,也不关心磁盘的分布。
下面再来说说放大调制电路。该电路的功能是将磁头读取的并经过前置放大电路放大的脉冲信号转化成计算机能够识别的二进制码,或将二进制码调制成模拟信号以供写入磁盘。这里有必要说一下硬盘的编码方式。FM(Frequency Modulation)制编码,即调频制编码,是早期磁盘最常用的编码方式。FM编码方式用1表示二个脉冲,用0表示在一个脉冲后跟一个无脉冲,例如:11001——即PPPPPNPNPP(P=脉冲,N=无脉冲)。这种编码方式实际上是:无论数据是“1”还是“0”,均在其前面加上一位非数据的时钟脉冲,这就保证了数据编码不会长时间出现没有脉冲的情况(如果数据编码中出现一长串“0”,则代表将有很长一段时间没有脉冲,这将导致控制器失控)。所以,同步能力强是FM编码方式的主要优点,其缺点是浪费较大,对应每一个数据位,至少要有一次脉冲翻转。为了克服FM编码制的缺陷,出现了MFM(Modified Frequency Modulation)制编码,也称为改进调频制编码。其设计思想为:在单元中写入一个脉冲(P)为逻辑“1”,无脉冲(N)为逻辑“0”;当“0”的前面还有一个“0”时,对当前的“0”编码为脉冲,然后跟一个无脉冲(PN)。MFM为双密度编码方式,只有在一数据位上计“0”,并且上一个数据位也计“0”时,才在这两个“0”单元之间写入一个脉冲。依照以上规则,每个单元磁化状态最多改变一次,大大提高了编码效率。例如,数据“101100”的FM编码为101100→PPPNPPPPPNPN(共9个脉冲),而MFM的编码为101100→PNPPNPN(共4个脉冲)。RLL(Run Length Limited)制编码,即运算长度受限制编码方式。这是现在硬盘普遍应用的一种编码方式,可分为RLL(2,7)和RLL(1,7)2种。RLL(2,7)规定,在记录序列中,2个“1”之间至少有2个“0”,最多有7个“0”。其编码规则如下表:
这种RLL(2,7)编码方式限制了两次翻转之间最小和最大距离,因而提高了单位面积内磁介质允许的翻转次数。由此方式制作的硬盘,每磁道扇区数可以很高。此外,由于数据以高密度方式存储,磁盘读取的速度就比较快。所以,采用RLL方式工作的硬盘既有较大的容量,也有较快的数据传输率。
小结
至此,对于硬盘的解析全部完成。考虑到广大DIYer并非高级技术人员,本文略去了一些极为复杂的技术性问题。例如,文章最后谈到的RLL技术,由于其编码方式不易理解,因此没有做过多阐述,仅供参考。希望本文能为DIYer们更好地利用和管理硬盘尽一些微薄之力。