第2章 现代硬盘的结构揭秘
2.1 现代硬盘的物理结构揭秘
硬盘是一个集机、电、磁于一体的精密设备,也是目前使用最为普及的一种存储介质,它的发展已经有50多年的历史了。1956年IBM公司推出了世界上第一个硬盘驱动器RAMAC(Random Access Method for Accounting and Control),其体积相当于两个并排放置的200L的大冰箱,容量为5MB,价格超过5万美元,按比例计算后相当于每1GB容量的价格超过1000万美元。而现在,一个普通3.5英寸硬盘的容量能达到2000GB (2TB)以上,市场售价仅为一千多元人民币,折合成美元,平均每1GB容量的价格仅为0.1美元左右。从这里就可以看出50多年来硬盘的发展速度是多么快。
硬盘有其固有的物理结构,而为了方便程序对硬盘的访问,人们又会给硬盘虚拟出一些逻辑结构来。首先看看硬盘的物理结构。
2.1.1 硬盘的外壳及盘标信息
硬盘从品牌上分类,有希捷、西部数据、迈拓(已被希捷收购)、三星、日立等,从尺寸上分类,有3.5英寸、2.5英寸、1.8英寸等。不管是哪一种品牌和尺寸的硬盘,都会有一个金属的外壳保护着硬盘内部的重要构造,并且在外壳上贴有一个盘标,注明该硬盘的品牌、型号、容量、产地、序列号等信息。
来看几个实际的例子。
一块希捷3.5英寸硬盘的外壳如图2-1所示。该硬盘的盘标信息如图2-2所示。
图2-1 希捷3.5英寸硬盘外观
图2-2 希捷3.5英寸硬盘的盘标信息
盘标信息的含义如下。
[1]Seagate:硬盘的品牌,即“希捷”。
[2]S/N:9QM3SMCW:硬盘的序列号。
[3]ST3500320AS:硬盘的型号。
[4]P/N:9BX154-303:硬盘的部件号。
[5]Firmware:8D15:硬盘的固件版本号。
[6]Barracuda 7200.11:硬盘的属系,即“酷鱼11代”。
[7]500Gbytes:硬盘的容量。
[8]Products of Thailand:硬盘的产地。
一块三星3.5英寸硬盘的外壳如图2-3所示。该硬盘的盘标信息如图2-4所示。盘标信息的含义如下。
图2-3 三星3.5英寸硬盘外观
图2-4 三星3.5英寸硬盘的盘标信息
[1]SAMSUNG:硬盘的品牌,即“三星”。
[2]SP0822N:硬盘的型号。
[3]S/N:SO6QJ1OY877371:硬盘的序列号。
[4]LBA 156,368,016 80.0GB:硬盘的LBA总值及容量。
[5]80GB/7200rpm/2M/PATA:硬盘的容量/转速/缓存大小/接口类型。
[6]2005.08:硬盘的出厂日期。
一块迈拓3.5英寸硬盘的外壳及盘标信息如图2-5所示。盘标信息的含义如下。
图2-5 迈拓3.5英寸硬盘的外壳及盘标信息
[1]Maxtor:硬盘的品牌,即“迈拓”。
[2]DiamondMax Plus 9:硬盘的代号,即“金钻9代”。
[3]120GB ATA/133:硬盘的容量及接口类型。
[4]LBA240121728:硬盘的LBA值。
[5]Code:YAR41BWO:硬盘的固件版本号。
[6]K,M,B,D:硬盘的电机代号。
[7]SN:Y3PR18LE:硬盘的序列号。
[8]TLA:6Y120L0132611:硬盘的型号。
[9]Made in Singapore:硬盘的产地。
[10]Mfg.Date 05OCT2005:硬盘的出厂日期。
一块西部数据3.5英寸硬盘的外壳及盘标信息如图2-6所示。
图2-6 西部数据3.5英寸硬盘的外壳及盘标信息
盘标信息的含义如下。
[1]Western Digital:硬盘的品牌,即“西部数据”。
[2]WD Caviar:硬盘的系列代号,即“鱼子酱”。
[3]Enhanced IDE Hard Drive:硬盘的接口类型。
[4]LBA 488397168 250.0GB:硬盘的LBA值及容量。
[5]WD P/N:WD2500JB-0DGVA0:硬盘的部件号。
[6]SN:WCAL73810610:硬盘的序列号。
[7]MDL:WD2500JB-0DGVA0:硬盘的型号。
[8]DATE:15 MAR 2005:硬盘的出厂日期。
[9]DCM:HSBHCT2AH:硬盘的组件配置参数。
[10]Products of Thailand:硬盘的产地。
一块东芝2.5英寸硬盘的外壳及盘标信息如图2-7所示。盘标信息的含义如下:
图2-7 东芝2.5英寸硬盘的外壳及盘标信息
[1]MK2018GAS:硬盘的型号。
[2]S/N 42FC0198T:硬盘的序列号。
[3]20.00GB:硬盘的容量。
[4]LBA 39,070,080Sectors:硬盘的LBA值。
[5]TOSHIBA CORPORATION:硬盘的厂商名称。
[6]MADE IN PHILIPPINES:硬盘的产地。
硬盘的整个结构都是基于保护其内部灵敏的机械部件不受环境因素的影响而设计的,硬盘的外壳通过螺钉与盘腔紧密连接,与盘腔一起构成一个相对密闭的硬盘内部空间。
在硬盘外壳上往往还有一个填充有紧密的空气过滤材料的开口,叫做“通气孔”,用于平衡硬盘内外的空气压力。硬盘盘腔中的空气是不能有灰尘的,因此机械部分的组件是在每立方米少于100个微尘粒子的工作间(也就是所谓的“100级清洁空间”)装配完成的。
2.1.2 硬盘的电路结构
在硬盘的背面安装着一块电路板,用来实现硬盘电路的控制和信息的传输。硬盘通常有两个接头与电路板连接。其中,一个是为主轴电机供电的三相中心抽头电缆接头;另一个是与前置放大器/转接器及音圈电缆传递信号的电缆接头。
硬盘的电路板上分布了多个高集成度的芯片,它们的结构如图2-8所示。
图2-8 硬盘的电路板结构图
图2-8中虚线内的部分是硬盘盘腔内部的结构,虚线外是电路板的芯片结构,整个电路设计基于四种芯片:
[1]系统控制芯片,包括读/写信道、磁盘控制器和RISC(精简指令计算机)控制处理器(微处理器);
[2]Flash ROM芯片(内含硬盘固件);
[3]主轴电机和音圈控制芯片;
[4]RAM芯片(用做缓存)。
由于以上各部分的功能存在根本的差别,所以更进一步的集成不太可能实现。
硬盘的微处理器(主控芯片)采用RISC架构,当加电后硬盘的Reset电路向微处理器发出“Reset”信号,使微处理器执行ROM中的自检程序,清空存储器和磁盘控制器及其他连接到内部数据总线的可编程芯片的工作数据区,然后微处理器检查硬盘运转时使用的内部信号,如果没有发现紧急警告,就启动主轴电机。
接下来一步是硬盘内部测试:检查数据缓冲RAM、磁盘控制器和输入微处理器的信号的状态,之后微处理器开始分析脉冲信号直到主轴电机达到规定的转速。当电机达到规定的转速后,微处理器就开始操作定位电路和磁盘控制器,将磁头移动到固件数据区,并将固件数据载入到RAM中以供进一步操作。最后微处理器切换到准备就绪状态,并等待计算机主机命令。在等待模式下,从计算机主机CPU发来的命令会引起硬盘的所有电子部件的一连串动作以完成指定操作。
硬盘读/写信道由前置放大器/转接器(位于盘腔内)、读电路、写电路和同步时钟等组成。硬盘的前置放大器具有多个通道,每个通道连接到一个磁头。各通道的切换由硬盘微处理器的信号控制。前置放大器中含有写入电流开关和写入出错传感器,当磁头短路或断路时就会发出出错信号。当集成的读/写信道处于写入模式时,它从磁盘控制器接收数据,同时接收写时钟信号,对数据进行编码、预补偿后将数据传送到前置放大器写入磁盘。当读/写信道处于读取模式时,从前置放大器/转接器来的信号传送到自动控制电路,然后通过可编程的滤波器、校正补偿电路和脉冲检测电路将信号转换为数据脉冲,再发送到磁盘控制器进行解码,最后传送到外部接口。
磁盘控制器是硬盘中最复杂的部件,它决定了硬盘和主机之间的数据交换速度。
磁盘控制器拥有四个端口分别连接到主机、微处理器、缓冲RAM和数据交换信道。磁盘控制器是由微处理器驱动的自动部件,在主机中只有标准的任务文件可以访问磁盘控制器的寄存器。磁盘控制器初始化阶段由微处理器控制:设置数据编码方法,选择纠正错误的方法,定义可变的或固定的扇区划分,等等。
缓冲管理器是磁盘控制器功能的一部分,用于管理缓冲RAM。现代硬盘缓冲RAM的容量一般为8~32MB。缓冲管理器将缓冲RAM分割成独立的缓冲片断,微处理器使用专门的寄存器保存这些缓冲片断的地址以供存取操作。当主机使用其中一个缓冲片断交换数据时,读/写信道可以使用另外的缓冲片断交换数据。这样系统可以实现多通道处理从/向磁盘读/写数据或与主机之间的数据交换。
主轴电机控制器控制三相电机的运转,它由硬盘微处理器控制。主轴电机的运转有三种模式:启动模式、加速模式和稳定模式。先分析一下启动模式,加电后一个Reset信号被发送到微处理器,对主轴电机控制器初始化内部寄存器,硬盘微处理器产生相位切换信号,主轴电机低速旋转产生自感应电动势(EMF),硬盘微处理器检测到自感应电动势(EMF)并根据此信号控制转速。在加速模式下微处理器加快相位切换并测量主轴电机的转速,直到主轴电机达到额定转速。当达到额定转速后主轴电机进入稳定模式,在此模式下,微处理器根据相位信号计算主轴电机的旋转周期并据此调整转速。在磁头从停泊区移走后,硬盘电路使用伺服标记跟踪旋转稳定性。
音圈控制器产生控制电流以移动位置调节器并使磁头定位于指定的磁道上。电流值由微处理器根据磁头位置与相关磁道的数字误差信号(位置误差信号或PES)来计算。电流值以数字形式传送给微处理器,计算后发回的模拟信号被放大后提供给音圈。
以上就是电路板的工作原理,下面看几个实际的硬盘电路板结构图。
图2-9所示的是一块迈拓3.5英寸硬盘的电路板结构图。
图2-9 迈拓3.5英寸硬盘的电路板结构图
图2-10所示的是一块三星3.5英寸硬盘的电路板结构图。
图2-10 三星3.5英寸硬盘的电路板结构图
图2-11所示的是一块希捷3.5英寸硬盘的电路板结构图。
图2-11 希捷3.5英寸硬盘的电路板结构图
图2-12所示的是一块日立3.5英寸硬盘的电路板结构图。
图2-12 日立3.5英寸硬盘的电路板结构图
该硬盘的缓存芯片在电路板背面。
2.1.3 硬盘的磁头定位驱动系统
在前两节中学习了硬盘的外壳和电路板结构,下面对硬盘内部构造做详细讲解。
首先看一幅硬盘内部结构图,如图2-13所示。
图2-13 硬盘内部结构图
本节主要讲解硬盘的磁头定位驱动系统。
硬盘中驱动磁头沿盘面径向位置运动以寻找目标磁道的系统叫磁头定位驱动系统。精密、快速的磁头驱动定位系统是实现高密度存储高速存取的最基本的技术保障。
定位驱动系统由驱动部件和运载部件(也称为磁头臂)组成。在硬盘存取数据时,磁头臂的运动驱动磁头进入指定磁道的中心位置,并精确地跟踪该磁道。
定位驱动系统的驱动方式主要有步进电机驱动和音圈电机驱动两种。
步进电机驱动系统的结构紧凑,控制简单,但是整个驱动定位系统是开环控制。步进电机靠脉冲信号驱动,因此定位精度比较低,一般用于软磁盘驱动器和道密度不高的硬盘驱动器,其道密度在300TPI左右。步进电机驱动的另一个问题是寻道时间比较长,因此,存取时间较长。
图2-14所示的是一块使用步进电机的硬盘内部结构图。
图2-14 使用步进电机的硬盘内部结构图
现在的磁盘普遍采用音圈电机驱动和伺服盘定位。音圈电机是线性电机,可以直接驱动磁头作直线运动。整个驱动定位系统是一个带有速度和位置反馈的闭环调节自动控制系统,驱动速度快,而且定位精度高。
图2-13中硬盘的磁头定位驱动系统使用的就是音圈电机。
图2-15所示的是一块硬盘的音圈电机结构图。
图2-15 音圈电机结构图
图中的“[1]”就是音圈电机部分,由磁铁和线圈组成。
硬盘的磁头定位驱动系统在工作时各部分作用如下:
[1]位置检测电路检出磁头当前所在位置。
[2]由控制器送来要求磁头寻找的目的磁道的位置。
[3]逻辑电路求出目标位置与磁头当前所在位置的差值。
[4]模拟控制电路根据差值及磁头现在运行速度求出磁头运动方向和速度。
[5]功率放大器把信号放大为驱动磁头运动的电流。
[6]音圈电机推动磁头臂到预定位置。
为使磁头快速精确地定位,磁头定位驱动系统必须采用四环控制方式。除了有电机驱动系统以外,还应有位置检测系统和速度控制系统反馈磁头当前所在位置及运动速度,根据磁头当前位置和目标位置的差值控制磁头运动的速度和方向,以逐步精确定位到目标磁道。
位置检测的方法很多,有光栅位置检测、感应同步器检测、伺服盘定位检测及嵌入式伺服检测等。在伺服盘定位检测机构中,伺服盘就是在盘片组中设置一个用做位置传感的专用盘面,在该盘面上记录有磁道位置信息,定位时由一个专用的伺服磁头读出,便得到反映磁道位置的信号。
硬盘寻道定位一般采用嵌入式伺服,这就要求磁头既能读取记录数据,又能读取磁道伺服信息。
2.1.4 硬盘的主轴系统
主轴系统也就是主轴电机系统,其作用是安装盘片,并驱动它们以额定转速稳定旋转。它的主要部件是主轴电机和有关控制电路。主轴电机在硬盘的盘腔内部,控制电路主要指硬盘电路板上的“音圈/主轴电机控制芯片”。
主轴电机的结构如图2-16所示。
图2-16 主轴电机的结构
主轴电机的运转有三种模式:启动模式、加速模式和稳定模式。硬盘通电后,主轴电机首先启动,然后进加速模式,最后稳定下来,进入了稳定模式。
为了减少变形和获得很高的转速,生产商必须在主轴电机上使用特殊的轴承,如滚珠轴承或改良的液态轴承(使用专门的润滑油以增强电机耐久力)。液态轴承具有低噪声和热量少的特点。
主轴电机的旋转带动盘片旋转,我们平时说的“硬盘转速”就是指盘片每分钟旋转的圈数。目前的硬盘转速主要有5400rpm、7200rpm、10 000rpm和15 000rpm等。
2.1.5 硬盘的数据控制系统
数据控制系统的作用是控制数据的写入和读出。该系统包括磁头、磁头选择电路、读/写电路和索引区标电路等。
磁头也是一种非常精密的部件,磁头与芯片一样使用光刻技术生产,磁头的陶瓷表面与盘片一样光滑。磁头的驱动臂是由铜线制成的平直的电磁线圈,悬浮在永久磁铁的磁极间。驱动臂一端固定在轴承的转动杆上,另一端连接到磁头支架。磁头支架是有弹性的,允许磁头以一定的高度“飞行”在盘片表面,飞行的高度通常为几十分之一微米。
图2-17所示的就是硬盘的磁头。
图2-17 硬盘的磁头
该硬盘只有一组磁头,再看一个多组磁头的示意图,如图2-18所示。
图2-18 硬盘的多组磁头
磁头电路在磁头臂的侧面,如图2-19所示。
图2-19 磁头电路
2.1.6 硬盘的盘片
盘片是一种铝制的圆盘(少量是陶瓷或特殊玻璃制成的),它拥有最高精度等级的光滑表面(除了停泊区)。由于分子吸引力的缘故,如此光滑的表面会将磁盘和磁头粘连在一起。为了防止磁盘与磁头粘连在一起,盘片生产商在磁头和磁盘接触的区域使用了特殊的激光防滑齿。盘片具有特殊的磁性质,因为在盘片上覆盖了由真空沉积工艺生成的氧化铬(磁性物质)或钴,氧化铬覆盖层具有更高的硬度和抗磨损性;而以前的硬盘则使用氧化铁做磁性物质,然后在上面覆盖一层软涂层,这种盘片非常容易损坏。
硬盘中的盘片个数有多又少,最少一个,多则可以达到十个以上,如图2-20所示的硬盘中有两个盘片。
图2-20 两个盘片的硬盘
图2-21所示的是从一个硬盘中拆出来的盘片,该硬盘共有十张盘片。
图2-21 从硬盘中拆出来的十张盘片
盘片在硬盘中负责记录数据,是硬盘最重要的组成部分之一。
2.1.7 硬盘的区段及物理C/H/S
硬盘是用来保存数据的设备,而盘片则是真正存放数据的地方。硬盘厂家会在每张盘片的每个面上都划分出一个一个的磁道(Track,简写为T),每个磁道还要划分为若干个扇区(Sector,简写为S),硬盘就是以扇区为单位来存放数据的。
在老式硬盘中,每个磁道的扇区数相等,所以外磁道的记录密度要远低于内磁道,因此会浪费很多硬盘空间。这种扇区的划分方法如图2-22所示。
图2-22 老式硬盘的扇区划分方式
从图中可以看出盘片上每个磁道包含的扇区数都是一样的。
为进一步提高硬盘的容量,现在的硬盘厂家扇区的划分方式做了改进。他们首先在盘片上划分出若干个区段(Zone,简写为Z),进一步在区段中划分磁道,在同一个区段中的磁道上,扇区数是相等的,如图2-23所示。
图2-23 新式硬盘的扇区划分方式
从图2-23中可以看出,该盘面被划分为5个区段,在图中分别用[1]、[2]、[3]、[4]、[5]来表示。其中,[1]号区段有5个磁道,在这个区段中的每个磁道包含16个扇区;[2]号区段有5个磁道,在这个区段中的每个磁道包含14个扇区;[3]号区段有4个磁道,在这个区段中的每个磁道包含12个扇区;[4]号区段有3个磁道,在这个区段中的每个磁道包含11个扇区;[5]号区段有3个磁道,在这个区段中的每个磁道包含9个扇区。这种扇区的划分方式有效地增加了盘片上空间的利用率。如果按照老式硬盘的扇区划分方式对该盘片进行扇区划分,则所有磁道都只能包含9个扇区,这就大大降低了硬盘的容量。
图2-23是现代硬盘的扇区划分示意图。在实际的硬盘中,每个区段有几百到一千多个磁道,每个磁道也会有几百到一千多个扇区。下面看一个实际的例子,表2-1中的数值是一块IBM 40GB硬盘的实际区段、磁道和扇区数。
表2-1 IBM 40GB硬盘的实际区段、磁道和扇区数
硬盘中一般会有多个盘片,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头(Head,简写为H),每个盘面上都同样被划分成相同的磁道和扇区结构并且进行编号。所有盘面上的同一编号的磁道构成一个圆柱形结构,称为柱面(Cylinder,简称为C),所以硬盘中某一个具体扇区的地址就有该扇区所在的盘面号(由磁头号H替代)、柱面号C及扇区号S三个参数组成,即C/H/S,这就是硬盘的物理C/H/S。
2.1.8 硬盘的接口技术
硬盘接口是硬盘与计算机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度。在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。
从整体的角度上,硬盘接口分为IDE、SATA、SCSI、SAS和FC五种。每种接口协议拥有不同的技术规范,具备不同的传输速度,存取效率差异很大,所面对的实际应用和目标市场也各不相同。
1.IDE接口
IDE的英文全称为Integrated Drive Electronics,即电子集成驱动器,其本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其他厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。在过去的很长一段时间都是主流的硬盘接口,它经过数年的发展变得很成熟、廉价、稳定。
IDE代表着硬盘的一种类型,它的接口标准为ATA(AT Attachment),最早出现的IDE类型硬盘为ATA-1。这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。
IDE硬盘的传输模式有以下三种:PIO(Programmed I/O)模式、DMA(Direct Memory Access)模式、Ultra DMA(简称UDMA)模式。
PIO(Programmed I/O)模式的最大弊端是耗用极大量的CPU资源。以PIO模式运行的IDE接口,数据传输速率达3.3MB/s(PIO mode 0)~16.6MB/s(PIO mode 4)不等。
DMA(Direct Memory Access)模式分为Single-Word DMA及Multi-Word DMA两种。Single-Word DMA模式的最高传输速率达8.33MB/s,Multi-Word DMA(Double Word DMA)则可达16.66MB/s。
DMA模式同PIO模式的最大区别:DMA模式并不用过分依赖CPU的指令而运行,可达到节省处理器运行资源的效果。但由于Ultra DMA模式的出现和快速普及,这两种模式立即被UDMA所取代。
Ultra DMA模式是Ultra ATA制式下所引用的一个标准,以16位Multi-Word DMA模式作为基准。UDMA的其中一个优点是它除了拥有DMA模式的优点外,更应用了CRC (Cyclic Redundancy Check)技术,加强了数据在传送过程中侦错及除错方面的性能。
UDMA接口又分为UDMA/33、UDMA/66、UDMA/100、UDMA/133等。1996年底,昆腾和Intel公司宣布共同开发了Ultra DMA/33的新型EIDE接口,因其数据传输速率为33MB/s,故称UDMA/33,后面的UDMA/66、UDMA/100、UDMA/133命名原因同上。
所有的IDE硬盘接口都使用相同的40针连接器,如图2-24所示。
图2-24 IDE硬盘接口
IDE接口使用一根40芯或80芯的扁平电缆连接硬盘与主板,每条线最多连接两个IDE设备(硬盘或者光驱)。IDE电缆接口如图2-25所示。
图2-25 IDE电缆接口
IDE硬盘的接口如图2-26所示。
图2-26 IDE硬盘的接口
IDE接口属于并行的ATA标准,所以也称为PATA(Parallel ATA)。
2.SATA接口
SATA是Serial ATA的简称,它是Intel和APT、Dell、IBM、Maxtor及Seagate等几家厂商共同制定的新一代硬盘传输接口标准。从字义上来看是一套“序列式”架构,用来对应ATA内接磁盘驱动器总线相对应。其传输方式是将许多数据位封装成一组封包,然后以比平行模式快30倍的速度在来源与目的地之间来回传送数据封包。
与PATA相比,SATA有许多优势。
首先,SATA以连续串行的方式传送数据,可以在较少的位宽下使用较高的工作频率来提高数据传输的带宽。SATA一次只会传送1位数据,这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,SATA仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。
其次,SATA的起点更高、发展潜力更大,ATA 1.0定义的数据传输速率可达150MB/s,这比目前最快的并行ATA(即ATA/133)所能达到133MB/s的最高数据传输速率还高,而在已经发布的Serial ATA 2.0的数据传输速率将达到300MB/s,最终Serial ATA 3.0将实现600MB/s的最高数据传输速率。
在此有必要对SATA的数据传输速率作一下说明。就串行通信而言,数据传输速率是指串行接口数据传输的实际比特率,SATA 1.0的传输速率是1.5Gb/s,SATA 2.0的传输速率是3.0Gb/s。与其他高速串行接口一样,SATA接口也采用了一套用来确保数据流特性的编码机制,这套编码机制将原本每字节所包含的8位数据(即1B=8b)编码成10位数据(即1B=10b),这样一来,SATA接口的每字节串行数据流就包含了10位数据,经过编码后的SATA传输速率就相应地变为SATA实际传输速率的十分之一,所以1.5Gb/s=150MB/s,而3.0Gb/s=300MB/s。
SATA的物理设计可说是以Fibre Channel(光纤通道)作为蓝本,所以采用四芯接线,需求的电压则大幅度减低至250mV(最高500mV),是传统PATA接口的5V的1/20。因此,厂商可以给SATA硬盘附加上高级的硬盘功能,如热插拔(Hot Swapping)等。更重要的是,在连接形式上,除了传统的点对点(Point-to-Point)形式外,SATA还支持“星形”连接,这样就可以给RAID这样的高级应用提供设计上的便利。在实际的使用中,SATA的主机总线适配器(Host Bus Adapter,HBA)就好像网络上的交换机一样,可以实现以通道的形式和单独的每个硬盘通信,即每个SATA硬盘都独占一个传输通道,所以不存在像PATA那样的主/从控制的问题。
SATA规范不仅立足于未来,而且还保留了多种向后兼容方式,在使用上不存在兼容性的问题。在硬件方面,SATA标准中允许使用转换器提供同PATA设备的兼容性,转换器能把来自主板的PATA信号转换成SATA硬盘能够使用的串行信号,这在某种程度上保护了我们的原有投资,降低了升级成本;在软件方面,SATA和PATA保持了软件兼容性,这意味着厂商丝毫也不必为使用SATA而重写任何驱动程序和操作系统代码。
另外,SATA电缆较传统的PATA电缆要简单得多,而且容易收放,对机箱内的气流及散热有明显改善。
SATA电缆与PATA电缆的对比如图2-27所示。
图2-27 SATA电缆与PATA电缆的对比
SATA硬盘的接口如图2-28所示。
图2-28 SATA硬盘的接口
SATA相比PATA可谓优点很多,已经成为PATA的廉价替代方案。
3.SCSI接口
SCSI的英文全称为Small Computer System Interface(小型计算机系统接口),是同ATA完全不同的接口。ATA接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如ATA硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。
SCSI接口从诞生到现在已经历了二十多年的发展,先后衍生出了SCSI-1、Fast SCSI、Fast-WIDE-SCSI-2、Ultra SCSI、Ultra 2 SCSI、Ultra 160 SCSI、Ultra 320 SCSI等,现在市场中占据主流的是Ultra 160 SCSI、Ultra 320 SCSI接口产品。
在系统中应用SCSI必须要有专门的SCSI控制器,也就是一块SCSI控制卡,才能支持SCSI设备,这与IDE硬盘不同。在SCSI控制器上有一个相当于CPU的芯片,它对SCSI设备进行控制,能处理大部分的工作,降低了中央处理器的负担(CPU占用率)。在同时期的硬盘中,SCSI硬盘的转速、缓存容量、数据传输速率都要高于IDE硬盘,因此更多是应用于商业领域。
SCSI控制卡如图2-29所示。
图2-29 SCSI控制卡
SCSI最早是1979年由美国的Shugart公司(希捷公司前身)制定的,在1986年获得了ANSI(美国标准协会)的承认,称为SASI(Shugart Associates System Interface,施加特联合系统接口),也就是SCSI-1。SCSI-1是第一个SCSI标准,支持同步和异步SCSI外围设备;使用8位的通道宽度;最多允许连接7个设备;异步传输时的速率为3MB/s,同步传输时的速率为5MB/s;支持WORM外围设备。它采用25针接口,因此在连接到SCSI卡(SCSI卡上接口为50针)上时,必须要有一个内部的25针对50针的接口电缆。该种接口已基本被淘汰,在相当古老的设备上或个别扫描仪设备上还能看到。
SCSI-1接口如图2-30所示。
图2-30 SCSI-1接口
SCSI-2又被称为Fast SCSI,它在SCSI-1的基础上做出了很大的改进,还增加了可靠性,数据传输速率被提高到了10MB/s,仍旧使用8位的并行数据传输,还是最多7个设备。后来又进行了改进,推出了支持16位并行数据传输的Wide-SCSI-2(宽带)和Fast-Wide-SCSI-2(快速宽带),其中Wide-SCSI-2的数据传输速率并没有提高,只是改用16位传输;而Fast-Wide-SCSI-2则是把数据传输速率提高到了20MB/s。
SCSI-3标准版本是在1995年推出的,也习惯称为Ultra SCSI,其同步数据传输速率为20MB/s。若使用16位传输的Wide模式时,数据传输速率更可以提高至40MB/s。允许接口电缆的最大长度为1.5m。
1997年推出了Ultra 2 SCSI(Fast-40)标准版本,其数据通道宽度仍为8位,但其采用了LVD(Low Voltage Differential,低电平微分)传输模式,传输速率为40MB/s,允许接口电缆的最长为12m,大大增加了设备的灵活性,支持同时挂接15个装置。随后推出了Wide Ultra 2 SCSI接口标准,它采用16位数据通道带宽,最高传输速率可达80MB/s,允许接口电缆的最长为12m,同样支持同时挂接15个装置,大大增加了设备的灵活性。
Ultra 160 SCSI,也称为Ultra 3 SCSI LVD,是一种比较成熟的SCSI接口标准,是在Ultra 2 SCSI的基础上发展起来的,采用了双转换时钟控制、循环冗余码校验和域名确认等新技术。双转换时钟控制在不提高接口时钟频率的情况下使数据传输速率提高了一倍,这是Ultra 160 SCSI接口速率大幅提高的关键。采用Ultra 160 SCSI,实现起来简单容易,风险小。在增强了可靠性和易管理性的同时,Ultra 160 SCSI的传输速率为Ultra 2 SCSI的2倍,达到160MB/s。
Ultra 160 SCSI接口具备如下特点:
[1]Ultra 2和Ultra 160的设备可以同时安装在一条总线上,Ultra 160设备性能不会下降;
[2]通过提高检纠错能力增强了产品的可靠性;
[3]具有监控接口性能和较高可靠传输速率的能力;
[4]用于单个设备的电缆长度可达25m,用于两个或多个设备的电缆长度可达12m;
[5]在1个通道上支持多达15个SCSI设备。
Ultra 320 SCSI,也称为Ultra 4 SCSI LVD,是比较新型的SCSI接口标准。Ultra 320 SCSI是在Ultra 160 SCSI的基础上发展起来的,Ultra 160 SCSI的优势得以继续发扬, Ultra 160 SCSI的3项关键技术,即双转换时钟控制、循环冗余码校验和域名确认,都得到保留。在以往的SCSI接口标准中,SCSI接口支持两种传输模式:异步和同步。Ultra 320 SCSI引入了调步传输模式,在这种传输模式中,简化了数据时钟逻辑,使Ultra 320 SCSI的高传输速度成为可能。Ultra 320 SCSI传输速率可以达到320MB/s。
Ultra 320 SCSI主要具有以下特点:
[1]双倍速率数据传输,数据传输速率比Ultra160SCSI提高了一倍;
[2]分组化的SCSI,支持分组协议;
[3]快速仲裁和选择,大大提高了总线的利用率;
[4]读/写数据流,把数据传输的开销降到最低;
[5]流控制,提高总线利用率。
SCSI接口连接器分为内置和外置两种:内置数据线的外形和IDE数据线一样,只是针数和规格稍有差别,主要用于连接光驱和硬盘,40针ATA 33线有40根导线,40针ATA 66有80根导线,而SCSI内置接口则分为50针、68针和80针,如图2-31所示。
图2-31 SCSI 50针、68针和80针接口
图2-32所示的是两块80针的SCSI接口硬盘。
图2-32 两块80针的SCSI接口硬盘
SCSI外置数据线的密度均不相同,有以下6种规格:
[1]Apple SCSI,共有25针,分为两排,8位,常用于Mac机和旧式Sun工作站。
[2]Sun Microsystem的DD-50SA,共有50针,分为三排。
[3]SCSI-2,共有50针,分为两排,8位。
[4]Centronics,共有50针,分为两排,8位,有点像并行口,它可以连接的设备数目更多。
[5]SCA,共有80针,分为两排。
[6]SCSI-3和Wide SCSI-2,共有68针,分为两排,16位。旧式DEC单终结SCSI使用68针高密接口。
ID(Identify)作为SCSI设备在SCSI总线的唯一识别符,绝对不允许重复,可选范围0~15。SCSI主控制器通常占用ID7,可以用在设备上的ID号共有15个。总线终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作一个终结信号才能使用SCSI总线。常见的错误是把终结设置在ID号最高或最低的地方,而不是设置在物理终端的SCSI设备上。SCSI设备总是以链形来连接的,按顺序就能分辨出哪一个是终结设备。
终结的方式有三种:自终结设备、物理总线终结器和自终结电缆。
大多数新型SCSI设备都有自终结跳线,只要把非终结设备的自终结跳线设置成OFF即可避免冲突问题。
物理总线终结器是一种硬件接头,又分为主动型和被动型两种:主动型使用电压调整器来进行操作;被动型利用总线上的能源信号来操作,被动型比主动型更为精确。
自终结电缆可以代替物理总线终结器,也是一种硬件,它的价格非常昂贵,常用于两台主机连接同一个物理设备,如两台服务器存取同一个物理SCSI硬盘。
通过检查SCSI ID和总线终结器,可以找出大多数冲突现象的解决方法,这是SCSI设备用户应该重视的一点。
4.SAS接口
SAS是Serial Attached SCSI的缩写,即串行连接SCSI。2001年11月26日, Compaq、IBM、LSI逻辑、Maxtor和Seagate联合宣布成立SAS工作组,其目标是定义一个新的串行点对点的企业级存储设备接口。
SAS是新一代的SCSI技术,和现在流行的SATA硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的性能、可用性和扩充性,并且提供与SATA硬盘的兼容性。
SAS的接口技术可以向下兼容SATA。具体来说,二者的兼容性主要体现在物理层和协议层的兼容。在物理层,SAS接口和SATA接口完全兼容,SATA硬盘可以直接使用在SAS的环境中。从接口标准上而言,SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制。在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行SCSI协议(SSP)用于传输SCSI命令;SCSI管理协议(SMP)用于对连接设备的维护和管理;SATA通道协议(STP)用于SAS和SATA之间数据的传输。因此在这3种协议的配合下,SAS可以和SATA及部分SCSI设备无缝结合。
表面上SAS接口看上去和SATA好像没有什么区别,针数完全相同,其实还是有很大区别的。首先SATA的数据口和供电接口不相连,而SAS是相连的,如图2-33所示;其次SAS接口背面还有触点(冗余接口)如图2-34所示。
图2-33 SAS接口的硬盘
图2-34 SAS接口背面的触点
图2-35所示是一块2.5英寸的SAS接口硬盘。
图2-35 2.5英寸的SAS接口硬盘
SAS系统的背板(Backplane)既可以连接具有双端口、高性能的SAS驱动器,也可以连接大容量、低成本的SATA驱动器。所以SAS驱动器和SATA驱动器可以同时存在于一个存储系统之中。但需要注意的是,SATA系统并不兼容SAS,所以SAS驱动器不能连接到SATA背板上。由于SAS系统的兼容性,使用户能够运用不同接口的硬盘来满足各类应用在容量上或性能上的需求,因此在扩充存储系统时拥有更多的弹性,让存储设备发挥最大的投资效益。
在系统中,每一个SAS端口理论上最多可以连接16 128个外部设备,并且SAS采取直接的点到点的串行传输方式,传输的速率高达3Gb/s,以后可能会有6Gb/s乃至12Gb/s的高速接口出现。SAS的接口也做了较大的改进,它同时提供了3.5英寸和2.5英寸的接口,因此能够适合不同服务器环境的需求。SAS依靠SAS扩展器来连接更多的设备,目前的扩展器以12端口居多,不过根据板卡厂商产品研发计划显示,未来会有28、36端口的扩展器引入来连接SAS设备、主机设备或者其他的SAS扩展器。
和传统并行SCSI接口比较起来,SAS不仅在接口速度上得到显著提升(现在主流Ultra 320 SCSI速度为320MB/s,而SAS才刚起步速度就达到300MB/s,未来会达到600MB/s甚至更多),而且由于采用了串行线缆,不仅可以实现更长的连接距离,还能够提高抗干扰能力,并且这种细细的线缆还可以显著改善机箱内部的散热情况。
5.FC接口
FC即Fibre Channel,是“光纤通道”的意思。
和SCIS接口一样,光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有热插拔性、高速带宽、远程连接、连接设备数量大等。
光纤通道标准已经被美国国家标准协会(ANSI)采用,是业界标准接口。通常人们认为它是系统与系统或者系统与子系统之间的互连架构,它以点对点(或是交换)的配置方式在系统之间采用了光缆连接。因为当初的这种设想,所以在众多为它制订的协议中,只有IPI(智能外设接口)和IP(网际协议)在这些配置里是理想的。
后来光纤通道的发展囊括了电子(非光学)实现,并且可以用成本相对较低的方法将包括硬盘在内的许多设备连接到主机端口。对这个较大的光纤通道标准集有一个补充称为光纤通道仲裁环(FC-AL)。FC-AL使光纤通道能够直接作为硬盘连接接口,为高吞吐量性能密集型系统的设计者开辟了一条提高I/O性能水平的途径。目前高端存储产品使用的都是FC接口的硬盘。
FC硬盘由于通过光学物理通道进行工作,因此起名为光纤硬盘,现在也支持铜线物理通道。就像是IEEE—1394,Fibre Channel实际上定义为SCSI-3标准一类,属于SCSI的同胞兄弟。作为串行接口,FC-AL峰值速度可以达到2Gb/s甚至是4Gb/s。而且通过光学连接,设备最大传输距离可以达到10km。通过FC-Loop可以连接127个设备,也就是为什么基于FC硬盘的存储设备通常可以连接几百块甚至千块硬盘提供大容量存储空间。
光纤硬盘以其的优越的性能、稳定的传输,在企业存储高端应用中担当重要角色。业界普遍关注的焦点在于光纤接口的带宽。最早普及使用的光纤接口带宽为1Gb/s,随后2Gb/s带宽光纤产品统治市场已经长达三年时间。现在新的带宽标准是4Gb/s,目前厂商普遍都已经推出4Gb/s相关新品。
事实上,4Gb/s光纤信道传输协议早在2002年就已经通过美国国家标准协会(ANSI)的光纤信道实体接口(Fibre Channel-Physical Interfaces,简称FC-PI)规范。而与此同时,10Gb/s光纤标准也在同一年发表,但由于10Gb光纤并不具备向下兼容的能力,用户如果希望升级到10Gb/s光纤平台,则必须更换所有基础设施,成本过于昂贵,一直无人问津。
相比之下,4Gb/s是以2Gb/s为基础延伸的传输协议,可以向下兼容1Gb/s和2Gb/s,所使用的光纤线材、连接端口也都相同,意味着使用者在导入4Gb/s设备时,不需为了兼容性问题更换旧有的设备,不但可以保护既有的投资,也可以采取渐进式升级的方式,逐步淘汰旧有的2Gb/s设备。
FC接口是为服务器这样的多硬盘系统环境而设计的,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通信等系统对高数据传输速率的要求。
图2-36是一块FC接口的硬盘。
图2-36 FC接口的硬盘
2.1.9 硬盘的主要性能指标
硬盘的综合性能是由很多指标共同决定的,比较重要的有以下指标。
1.平均寻道时间
平均寻道时间,即average seek time,指硬盘磁头移动到数据所在磁道时所用的时间,单位为毫秒(ms)。寻道时间由硬盘寻道电机速度决定,这个时间越短越好。
2.平均潜伏期
平均潜伏期,即average latency,指当磁头移动到数据所在的磁道后,等待所要的数据块继续转动(半圈或多些、少些)到磁头下的时间,单位为毫秒(ms)。平均潜伏期当然也是越短越好了,潜伏期短代表硬盘读取数据的等待时间短,这就等于具有更高的硬盘数据传输速率。
3.道至道时间
道至道时间,即single track seek,指磁头从一磁道转移至下一磁道的时间,单位为毫秒(ms),也是越短越好。
4.旋转速度
转速是指驱动硬盘盘片旋转的主轴电机的旋转速度,目前IDE和SATA硬盘常见的转速为7200rpm(revolutions per minute,每分钟旋转转数),SCSI硬盘、SAS及FC硬盘的主轴转速一般为10 000~15 000rpm。这也是一个非常需要注意的参数,因为旋转速度越高,数据就可以越快速地被送到驱动器读/写磁头能够接触的位置。但转速提高也带来一些弊端,如噪声和发热量明显增大,工作状态下的抗冲击能力也有所下降等。
5.全程访问时间
全程访问时间,即max full seek,指磁头开始移动直到最后找到所需要的数据块所用的全部时间,单位为毫秒(ms)。
6.平均访问时间
平均访问时间,即average access,指磁头找到指定数据的平均时间,单位为毫秒(ms)。通常是平均寻道时间和平均潜伏时间之和。
7.最大内部数据传输速率
最大内部数据传输速率,即internal data transfer rate,也叫持续数据传输速率(sustained transfer rate),单位为Mb/s(注意不是MB/s)。它指磁头至硬盘缓存间的最大数据传输速率,一般取决于硬盘的盘片转速和盘片数据线密度(指同一磁道上的数据间隔度)。
8.外部数据传输速率
外部数据传输速率,即external data transfer rate,通称突发数据传输速率(burst data transfer rate),指从硬盘缓冲区读取数据的速率,单位为MB/S。
9.缓存大小
缓存英文名为Cache,单位MB,是硬盘内部的高速存储器。目前硬盘的高速缓存一般为8~32MB,数据缓存大的硬盘在存取零散文件时具有很大的优势。硬盘的缓存主要起三种作用。
一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据时,硬盘就不需要再次读取数据了,只需直接把缓存中的数据传输到内存中就可以了。由于缓存的速度远远高于磁头读/写的速度,所以能够达到明显改善性能的目的。
二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然这样做对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患,如果数据还在缓存里时突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入到目的地。
三是临时存储最近访问过的数据。有时,某些数据会是经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中传输。
10.硬盘表面温度
硬盘表面温度是指硬盘工作时产生的热量使硬盘密封壳温度上升的情况。这项指标厂家并不提供,一般只能在各种媒体的测试数据中看到。硬盘工作时产生的温度过高将影响薄膜式磁头(包括GMR磁头)的数据读取灵敏度,因此硬盘工作表面温度较低的硬盘有更好的数据读、写稳定性。对于高转速的SCSI、SAS、FC硬盘来说,一般应该加一个硬盘冷却装置,这样硬盘的工作稳定性才能得到保障。
11.MTBF
MTBF,即连续无故障工作时间,指硬盘从开始运行到出现故障的最长时间,单位是小时(h),时间越长说明硬盘的性能越好。