硬盘绝密维修资料
第一章 硬盘的物理结构和原理
一、引言
自1956年IBM推出第一台硬盘驱动器IBM RAMAC 350至今已有四十多年了,其间虽没有CPU那种令人眼花缭乱的高速发展与技术飞跃,但我们也确实看到,在这几十年里,硬盘驱动器从控制技术、接口标准、机械结构等方面都进行了一系列改进。正是这一系列技术上的研究与突破,使我们今天终于用上了容量更大、体积更小、速度更快、性能更可靠、价格更便宜的硬盘。
如今,虽然号称新一代驱动器的JAZ、DVD-ROM、DVD-RAM、CD-RW、MO、PD等纷纷登陆大容量驱动器市场,但硬盘以其容量大、体积小、速度快、价格便宜等优点,依然当之无愧地成为桌面电脑最主要的外部存储器,也是我们每一台PC必不可少的配置之一。
二、硬盘磁头技术
1、磁头
磁头是硬盘中最昂贵的部件,也是硬盘技术中最重要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是,硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局限。而MR磁头(Magnetoresistive heads),即磁阻磁头,采用的是分离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR磁头不能进行写操作),读取磁头则采用新型的MR磁头,即所谓的感应写、磁阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以得到最好的读/写性能。另外,MR磁头是通过阻值变化而不是电流变化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做得很窄,从而提高了盘片密度,达到200MB/英寸2,而使用传统的磁头只能达到20MB/英寸2,这也是MR磁头被广泛应用的最主要原因。目前,MR磁头已得到广泛应用,而采用多层结构和磁阻效应更好的材料制作的GMR磁头(Giant Magnetoresistive heads)也逐渐普及。
2、磁道
当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。一张1.44MB的3.5英寸软盘,一面有80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千上万个磁道。
3、扇区
磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。1.44MB3.5英寸的软盘,每个磁道分为18个扇区。
4、柱面
硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。所谓硬盘的CHS,即Cylinder(柱面)、Head(磁头)、Sector(扇区),只要知道了硬盘的CHS的数目,即可确定硬盘的容量,硬盘的容量=柱面数×磁头数×扇区数×512B。
三、硬盘接口技术
硬盘接口是连接硬盘驱动器和计算机的专用部件,它对计算机的性能以及在扩充系统时计算机连接其他设备的能力都有很大影响。硬盘驱动器接口的类型主要有:
1、 ST506/412接口与ESDI接口
ST506/412是PC/XT、AT时代的标准接口标准。ST506/412最多可安装4个硬盘驱动器,允许最大硬盘空间为150MB。而ESDI(Enhanced Small Device Interface,增强型小型设备接口)是ST506/412接口的改进版,但与ST506/412接口互不兼容。ESDI支持的硬盘容量上增加到300MB,最大数据传输率为2MB/sec。目前这两种接口均已遭淘汰。
2、SCSI接口
SCSI(Small Computer System Interface)即“小型计算机系统接口”是一种系统级的接口,支持硬盘的容量突破了528MB的限制,可以同时挂接7个不同的设备。目前SCSI接口有二个标准:SCSI-2和SCSI-3。SCSI-2又称为Fast SCSI,在8bit总线下能达到10M/s的数据传输率。而SCSI-3包括Ultra SCSI(8bit)、Ultra wide SCSI(含16bit和32bit)和Ultra2 SCSI。其中Ultra2 SCSI在8bit数据宽度下提供40M/s的数据传输率,在16位总线下最高能达到80M/s。SCSI接口的硬盘被广泛应用于网络服务器、工作站和小型计算机系统上,但由于SCSI接口硬盘的价格要比IDE接口硬盘高,而且使用时还必须另外购买SCSI接口卡,因而在家用电脑上仍以IDE接口的硬盘为主流。
3、IDE接口
IDE(Integrated Drive Electronics)接口是Compaq公司为解决老式的ST506/412接口速度慢、成本高而开发出硬盘接口标准,亦即ATA(AT Attachment)接口标准。由于IDE接口的硬盘具有价格低廉、稳定性好、标准化程度高等优点,因此得到广泛的应用。ATA接口标准亦已由ATA、ATA-2、ATA-3发展到今天的Ultra ATA。
Ultra ATA(也称为Ultra DMA/33)是由Intel和Quantum公司共同提出的硬盘接口标准,与Fast ATA相比,Ultra ATA有以下几个优点:
外部数据传率由Fast ATA的16.6MB/s提高到33.3MB/s;
采用CRC循环冗余检验,通过两个寄存器的重复测试来提高数据传输的可靠性;由硬盘直接产生选通信号,并且同时将数据传送到总线上,从而减少数据传输的延迟时间。
要发挥Ultra ATA的威力,除了要有一块Ultra ATA接口的硬盘外,还需要有操作系统和芯片组的支持。目前支持Ultra ATA的芯片组包括Intel的430TX、440LX,SiS 5597/5581,VIA的VP2、VP3,ALi的Aladdin IV+,AMD-640以及所有100Mhz的芯片组。虽然,Ultra ATA向下兼容于Fast ATA,两者都是使用40pin的接口,但如果芯片组或操作系统不支持,即使是Ultra ATA硬盘也只能达到16.6MB/s的外部传输率。
4、IEEE 1394接口
IEEE 1394并不是硬盘专用接口,但它却可以方便地连接包括硬盘在内的63个不同设备,并支持即插即用和热插拨。在数据传输率方面,IEEE 1394可以提供100MB/s、400MB/s、1.2GB/s三档高速传输率,是现时所有硬盘望尘莫及的。虽然目前市面上仍未能见到IEEE 1394接口的硬盘,但由于IEEE 1394接口的先进性,它必然会取代SCSI和IDE而成为明日的硬盘接口。目前Windows 98已支持IEEE 1394。
二. Boot Sector 结构简介
1. Boot Sector 的组成
Boot Sector 也就是硬盘的第一个扇区, 它由 MBR (MasterBoot Record),DPT (Disk Partition Table) 和 Boot Record ID 三部分组成.
MBR 又称作主引导记录占用 Boot Sector 的前 446 个字节( 0 to 0x1BD ),存放系统主引导程序 (它负责从活动分区中装载并运行系统引导程序).
DPT 即主分区表占用 64 个字节 (0x1BE to 0x1FD),记录了磁盘的基本分区信息. 主分区表分为四个分区项, 每项 16 字节,分别记录了每个主分区的信息(因此最多可以有四个主分区).
Boot Record ID 即引导区标记占用两个字节 (0x1FE and0x1FF), 对于合法引导区, 它等于 0xAA55, 这是判别引导区是否合法的标志.
Boot Sector 的具体结构如下图所示:
0000 |---------------------------------------------|
| |
| |
| Master Boot Record |
| |
| |
| 主引导记录(446字节) |
| |
| |
| |
01BD | |
01BE |---------------------------------------------|
| |
01CD | 分区信息 1(16字节) |
01CE |---------------------------------------------|
| |
01DD | 分区信息 2(16字节) |
01DE |---------------------------------------------|
| |
01ED | 分区信息 3(16字节) |
01EE |---------------------------------------------|
| |
01FD | 分区信息 4(16字节) |
|---------------------------------------------|
| 01FE |01FF |
| 55 | AA |
|---------------------------------------------|
2. 分区表结构简介
分区表由四个分区项构成, 每一项的结构如下:
BYTE State : 分区状态, 0 =未激活, 0x80 = 激活 (注意此项)
BYTE StartHead : 分区起始磁头号
WORD StartSC : 分区起始扇区和柱面号,底字节的低6位为扇区号,
高2位为柱面号的第 9,10 位, 高字节为柱面号的低 8 位
BYTE Type : 分区类型, 如0x0B = FAT32, 0x83 = Linux 等,
00 表示此项未用,07 = NTFS
BYTE EndHead : 分区结束磁头号
WORD EndSC :分区结束扇区和柱面号, 定义同前
DWORD Relative :在线性寻址方式下的分区相对扇区地址
(对于基本分区即为绝对地址)
DWORD Sectors : 分区大小 (总扇区数)
注意: 在 DOS / Windows 系统下,基本分区必须以柱面为单位划分( Sectors * Heads 个扇区), 如对于 CHS 为 764/255/63 的硬盘,分区的最小尺寸为 255 * 63 * 512 / 1048576 = 7.844 MB.
3. 扩展分区简介
由于主分区表中只能分四个分区, 无法满足需求,因此设计了一种扩展分区格式. 基本上说, 扩展分区的信息是以链表形式存放的,但也有一些特别的地方.首先, 主分区表中要有一个基本扩展分区项,所有扩展分区都隶属于它,也就是说其他所有扩展分区的空间都必须包括在这个基本扩展分区中.对于DOS / Windows 来说, 扩展分区的类型为 0x05. 除基本扩展分区以外的其他所有扩展分区则以链表的形式级联存放, 后一个扩展分区的数据项记录在前一个扩展分区的分区表中,但两个扩展分区的空间并不重叠.
扩展分区类似于一个完整的硬盘, 必须进一步分区才能使用.但每个扩展分区中只能存在一个其他分区. 此分区在 DOS/Windows环境中即为逻辑盘.因此每一个扩展分区的分区表(同样存储在扩展分区的第一个扇区中)中最多只能有两个分区数据项(包括下一个扩展分区的数据项).
第四章 硬盘的物理安