您的位置:首页 > 其它

HDD&&SSD基础知识总结

2015-10-19 13:54 477 查看
Hard Disk Drive

一、硬盘的硬件结构

1、硬盘外部结构 :电源接口、和数据接口、 控制电路板、 固定面板



2、硬盘内部结构:磁头组件 、磁头驱动机构、 磁盘片 、主轴组件、 前端控制电路



3、硬盘控制电路:主控制芯片 、数据传输芯片 、高速数据缓存芯片



磁头

磁头是硬盘中最昂贵的部件,是硬盘技术最重要和关键的一环;采用了非接触式结构,加电后悬浮在高速旋转的磁盘表面。



读写合一式磁头与分离式磁头

传统的磁头是读写合一的电磁感应式磁头,但硬盘的读和写是两种截然不同的操作。因此,这种二合一磁头在设计时必须要同时兼顾到读、写两种特性,从而造成硬盘设计上的局限。针对这种情况,硬盘生产厂商改进技术,采用了分离式的磁头结构,即以MR磁头(磁阻磁头)作为读取磁头,而写入磁头仍采用传统的磁感应磁头。这样,在设计硬盘时就可以针对两者的不同特性分别进行优化,以得到最好的硬盘读写性能。采用MR磁头后,读取数据的准确性相应提高;而且由于读取的信号幅度与磁道宽度无关,使得盘片的密度大大提高。

磁道

当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。



盘片

盘片用来存储数据,被密封在硬盘内部,运用其上附着的磁性物质达到读写数据的目的。由于盘片在硬盘内部高速旋转(有5400rpm、7200rpm、10000rpm,15000rpm等不同型号),因此盘片材料的硬度和耐磨性要求很高,目前市场中的主流硬盘都是采用铝材料的金属盘片。

磁面

在一块硬盘中并不是只有一张盘片,而是有多个盘片,每个盘片的上、下两个面一般都会用来存储数据,即有效盘面,通常称为磁面。



柱面

硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的0开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。



扇区

早期的机械硬盘从圆心出发向四周发散出角间距相等的一系列直线(当然实际上没有直线存在),直线与同心圆线围成的最小区域就是一个扇区(如下图)。这样的划分,在硬盘的容量不大的年代还是简单易行,但是随着硬盘技术的进步,磁道的划分越来越密集,必然导致外圈的扇区物理长度远远大于内圈的扇区,造成浪费。所以现在的硬盘都不用圆心发散的直线来划分扇区了,而是从外圈磁道开始取一定长度作为一个扇区,然后从外向里一个一个编号下去。这个编号就是扇区的地址,要确定文件在哪里全靠这个地址。



电机主轴

电机主轴决定硬盘转数,它带动盘片高速旋转并产生浮力,使磁头飘浮在盘片上方,然后把磁头带到目标扇区上方,让其进行数据读/写操作。电机主轴的转速越快,磁头等待读/写时间也就越短,所以它在很大程度上决定了硬盘性能;理论上说电机主轴转速越快越好,但实际上,转速越快发热量,振动和噪音都会随之增大,这些对整个硬盘都非常不利。

二、硬盘的工作原理

硬盘利用特定的磁粒子的极性来记录数据,也就是说磁盘是利用了磁记录原理进行数据的读写操作。在读取数据时,磁头将磁粒子的不同极性转换成不同的电脉冲信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据;写数据时,正好与此相反。



三、硬盘的主要参数

1、容量(Capacity)

作为计算机系统的数据存储器,容量是硬盘最主要的参数 ;硬盘的容量以兆字节(MB)或千兆字节(GB)为单位

2、转速(Rotationl Speed)

转速是指硬盘盘片每分钟转动的圈数,单位为rpm(Revolutions Per Minute),rpm值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能也就越好。较高的转速可缩短硬盘传输数据的时间,但转速的不断提高也带来了一些负面影响,如硬盘温度升高、电机主轴磨损加大、工作噪音增大等。

3、平均寻道时间(Average Seek Time)

指磁头移动到数据所在磁道需要的时间,是衡量硬盘机械性能的重要指标;平均寻道时间越小硬盘的性能越高。而平均寻道时间实际上是由转速、单碟容量等多个因素综合决定的一个参数。一般来说,硬盘的转速越高,其平均寻道时间就越低;单碟容量越大,其平均寻道时间就越低。

4、平均潜伏期时间(Average Latency)

指当磁头移动到数据所在的磁道以后,等待指定的数据扇区转动到磁头下方的时间

5、平均访问时间(Average Access Time)

指从读/写指令发出到第一笔数据读/写实际开始所用的平均时间;平均访问时间 = 平均寻道时间 + 平均等待时间 + 电子信号消耗时间

由于寻道和等待属于机械操作,和光速的电子信号相比,电子信号消耗时间完全可以忽略不计,所以可以认为平均访问时间 = 平均寻道时间 + 平均潜伏时间 。而平均寻道时间占据了绝大部分的平均访问时间,所以说平均寻道时间是硬盘读写效率最重要指标。由于分散的碎片会引起较长的平均寻道时间,因此磁盘要定期做磁盘碎片整理。

6、缓冲存储器(Cache)

缓冲存储器的基本作用是平衡内部与外部的数据传输率 ;

为了减少主机的等待时间,硬盘会将读取的数据先存入缓冲区,等全部读完或缓冲区填满后再以接口速率快速向主机发送。

硬盘读取完指定扇区的数据之后、在接到系统的下一条指令之前,磁头接着读取相邻的若干扇区的数据并存入缓存中。如果系统接下来所需的数据正好就是相邻扇区的数据,那么便可以直接从缓存中读取而不用磁头再寻址(缓存命中),从而极大提高数据访问速度。

7、单碟容量(Storage per Disk)

单碟容量是硬盘重要的性能指标之一,它是指一个盘片上所存储的最大数据量。硬盘厂商在增加硬盘容量时,可以通过以下两种手段进行。

增加加盘片的数量:由于但到硬盘整体体积和生产成本的限制,盘片数量不能无限增加,一般在5片以内。

增加单碟容量:单碟容量越大,则相同容量硬盘所用的盘片就越少,系统可靠性也就越高。而且,在读取相同容量的数据时,高密度硬盘的访问速度高于低密度硬盘,这是因为磁头的寻道动作和移动距离减少,使平均寻道时间也减少,从而加快了硬盘的读写速度。

8、数据传输率(Data Transfer Rate )

指硬盘读写数据的速度,也称吞吐率,指磁头定位后硬盘读写数据的速度,以每秒可传输多少兆字节来衡量(MB/s或Mb/s)

内部数据传输率(Internal Transfer Rate)

指磁头与缓存之间的数据传输率,即硬盘将数据从盘片上读取出来,然后存储在缓存内的速度。它可以明确表现出硬盘的读写速度,也是评价一个硬盘整体性能的决定性因素。

外部数据传输率(External Transfer Rate)

也称为突发数据传输或接口传输率,指硬盘缓存与操作系统之间的数据传输率,即计算机通过硬盘接口从缓存中将数据读出并交给相应的控制器的速率,如SATAII接口的外部数据最大传输率可达300MB/s。

由于最大内部数据传输率比最大外部传输速率要小很多,所以内部数据传输率是系统真正的瓶颈,有效地提高硬盘的内部数据传输率,才能对硬盘子系统的性能有最直接、最明显的提升。目前为了提高硬盘性能,各硬盘生产厂家除了努力改进信号处理技术、提高转速以外,还在不断的提高单碟容量以提高线性密度。硬盘的转速相同时,单碟容量大的内部传输率高;在单碟容量相同时,转速高的硬盘的内部传输率高。

综上所述,机械硬盘要读出数据,必须要磁头找到对应的磁道和扇区(对于多碟的机械硬盘首先需要确定柱面),这全部依靠磁头的驱动马达来驱动(磁头本身是依靠盘片旋转产生的气流来悬浮的)。马达等等机械装置的反应速度毕竟不快,所以机械硬盘会浪费大量的时间用于寻道操作(每次寻道大约10ms左右)。尤其是对于零碎的小文件读写来说,由于文件所在扇区不连续,需要不断地要进行寻道,其他硬件不得不停下来等待,这样就产生很悲剧的性能。但是对于持续读写来说,由于不需要进行不断地寻道,所以不存在寻道时间。所以机械硬盘的随机读写能力很差(不超过0.1MB每秒),但是持续读写能力并不差(而且随着单碟容量的提升和磁盘阵列的组建,持续读写速度可以比固态硬盘更快)。使用固态硬盘的电脑普遍比使用机械硬盘的电脑反应快正是因为系统分区在日常中进行的读写操作绝大部分都是随机文件读写。如果使用机械硬盘作为非系统盘,那么性能和固态硬盘的差别什么区别——比如一部电影放在SSD和HDD上去播放。

四、硬盘的接口种类

IDE(Integrated Drive Electronics):电子集成驱动器的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器,优点是价格低廉 ,兼容性好

SCSI(Small Computer System Interface ):小型计算机系统接口是一种与IDE完全不同的接口,它不是专门为硬盘设计的,而是一种总线型的系统接口。优点是多任务、带宽大、CPU占用率低、支持热插拔,高性能, 同时具备内、外置等,但较高的价格,以及在使用时必须另外购买SCSI接口卡的问题,使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

FC(Fibre Channel ):FC最初是专门为网络系统设计的 随着存储系统对速度的需求,逐渐应用到硬盘系统中。 优点是带宽高 ,连接距离长, 连接设备数量大。

SATA(Serial ATA ):串行ATA是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。优点是一对一连接,独享带宽 ,支持热插拔 ,低电压信号 ,带宽升级潜力大。

SAS(Serial Attached SCSI ):和SATA相同,都是采用串行技术以获得更高的传输速度,并通过缩短连接线改善内部空间 。优点是兼容性好 ,数据传输率高 。

五、SCSI基础

1、SCSI的基本概念

SCSI最初是一种专门为小型计算机系统设计的I/O技术,但由于其架构和协议自身的优点,后被广泛应用于实现DAS以及作为SAN的底层技

术。SCSI规范了一种并行的I/O总线和相关的协议; SCSI的数据传输是以块的方式进行的

2、SCSI的特点

设备无关性、 多设备并行、 高带宽、 低系统开销

3、SCSI总线

SCSI总线(又被称作SCSI通道 )是SCSI设备之间传输数据的通路



4、SCSI终结器

SCSI终结器位于SCSI总线的末端,用来减小相互影响的信号,维持SCSI链上的电压恒定;只有 SCSI链的最后一个SCSI设备需要使用终结器

SCSI总线通过SCSI控制器来和硬盘之类的设备进行通信 ;SCSI控制器逻辑上可分为一个任务管理单元和多个逻辑单元(LU)



5、LUN(Logical Unit Number)

逻辑单元号是为了使用和描述更多设备及对象而引进的一个方法, 每个SCSI ID上最多有32个LUN,一个LUN对应一个逻辑设备

6、SCSI ID

一个独立的SCSI总线有宽窄两种规格,窄SCSI总线最多允许8个、宽SCSI总线最多允许16个不同的SCSI设备和它进行连接,设备的地址需要通过SCSI ID来进行标识; 系统中每个设备的SCSI ID必须唯一,SCSI ID同时也定义了设备的优先权,优先权由高到低的顺序排列为7-6-5-4-3-2-1-0-15-14-13-12-11-10-9-8

7、SCSI的发展历史



8、SCSI的体系结构

SCSI体系结构是SCSI I/O系统的一个抽象模型;直到SCSI-3的出现,SCSI的体系结构才有了清晰的描述



9、SCSI连接示意图



SCSI通信模型:C/S架构



SCSI通信过程



SCSI卡:连接和控制多个SCSI设备 ,种类:通道卡、单通道卡和双通道卡



10、SCSI 硬盘

SCSI硬盘是仅次于SCSI卡的关键设备,各大硬盘厂家都有SCSI硬盘产品

转速:5400RPM、7200RPM、10K RPM、15K RPM

容量:9.1GB、18.2GB、36.4GB、73GB、146GB、300GB

接口类型:50针、68针、80针

传输速率:4MB/s、10MB/s、20MB/s、40MB/s、80MB/s、160MB/s、320MB/s

11、SCSI的产品和应用

广泛应用于小型机上,实现高速数据传输;正在成为PC 服务器的标准接口

常见的SCSI设备:硬盘、磁带机、磁带库、磁盘阵列、光驱、扫描仪、打印机、光盘刻录机等

SCSI在RAID中的应用



Solid State Drives

1、简介

固态硬盘是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。新一代的固态硬盘普遍采用SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口和SFF-8639接口。

2、分类方式:

基于闪存类:

基于闪存的固态硬盘( IDEFLASH DISK、Serial ATA Flash Disk):采用 FLASH芯片作为存储介质,这也是通常所说的SSD。它的外观可以被制作成多种模样,例如: 笔记本硬盘、 微硬盘、 存储卡、 U盘等样式。这种SSD固态硬盘最大的优点就是可以移动,而且数据保护不受 电源控制,能适应于各种环境,适合于个人用户使用。



基于DRAM类:

基于DRAM的固态硬盘:采用DRAM作为存储介质,应用范围较窄。它仿效传统硬盘的设计,可被绝大部分操作系统的文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机或者服务器。应用方式可分为SSD硬盘和SSD硬盘阵列两种。它是一种高性能的存储器,而且使用寿命很长,但是需要独立电源来保护数据安全。DRAM固态硬盘属于比较非主流的设备。

3、NANS的SSD

基于闪存的固态硬盘是固态硬盘的主要类别,其内部构造十分简单,主体其实就是一块PCB板,而这块PCB板上最基本的配件就是控制芯片,缓存芯片(部分低端硬盘无缓存芯片)和用于存储数据的闪存芯片。



主控制芯片

任何存储设备都有主控制器芯片(大多数都是一个ARM处理器)的,否则主板南桥芯片(或者intel现在使用的单芯片组)无法直接与存储层进行通信。目前固态硬盘上普遍使用的主控制器主要有SandForce、Indilinx、JMicron、 Marvell、Phison、Goldendisk、 Samsung 、Intel等。主控芯片是固态硬盘的大脑,其作用一是合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,连接闪存芯片和外部接口。不同的主控制器在数据处理能力、算法,对闪存芯片的读取写入控制上会有非常大的不同,直接会导致固态硬盘产品在性能上差距高达数十倍。

缓存芯片

主控芯片旁边是缓存芯片,固态硬盘和传统 硬盘一样需要高速的缓存芯片辅助主控芯片进行数据处理。这里需要注意的是,有一些廉价固态硬盘方案为了节省成本,省去了这块缓存芯片,这样对于使用时的性能会有一定的影响。

闪存芯片

除了主控芯片和缓存芯片以外,PCB板上其余的大部分位置都是NAND Flash闪存芯片了。这些闪存芯片的之间关系类似于RAID 0,那么固态硬盘可以看做是“由U盘组成的RAID 0”。主控读入数据会分散到各个NAND颗粒上去,多个颗粒共同读写,这样的话速度自然就快了。NAND Flash闪存芯片又分为SLC、MLC以及TLC。http://www.2ic.cn/html/10/t-432410.html

4、NAND闪存

NAND是半导体存储颗粒的一种(还有其他的种类,比如NOR), 简单来说,NAND可以视作是由很多很多个电容器组成的集成电路。制造NAND和制造CPU处理器类似,都是使用高纯度硅,切割成晶圆之后使用光刻机和化学溶剂将设计好的电路蚀刻上去,然后用金属材料“镶嵌”制作而成的。这样做出来的是一个布满NAND芯片的晶圆。将晶圆切开,然后对切割后的芯片精心挑选测试,封装后就可以出厂了。虽然整个工艺虽然和制造CPU类似,但是电路等方面还是简单不少的。

5、数据在NAND中的组织

类似于机械硬盘的扇区,固态硬盘也有最小的文件存储单位——Page。目前的NAND颗粒Page的大小有两种:4KB或者8KB(1KB=1024字节)。Page相当于一组规律化组合的“电容器”。机械硬盘上的文件必须占用整数个扇区;固态硬盘也是类似,任何文件占用的空间必须是整数个Page。这个与文件系统无关,属于硬件层面。

Page上面的一层组织是Block,由128个或者256个Page组成一个Block。拿CrucialM4-CT128M4SSD2来说,它的NAND颗粒的一个Page是4KB,128个Page组成一个Block(一组固定的规律性组合的Page),所以一个Block是512KB。Block是擦除的最小单位,也就是说任何的擦除(“电容器”放电)都必须是正整数个Block。擦除一个Block就是把所有的位(bit)设置为“1”(而所有字节(byte)设置为FFh)。一定数量(2的幂次方)的Block构成更高一级的结构Plane,然后一般是两个Plane组成一个Die,这个就是我们看到的一个芯片了。

图中的这个NAND的Block由256个Page组成,所以一个Block是1024KB:



目前NAND有以下三种

SLC(Single Level Cell):1bit/cell(一个浮动栅存储的信息),单层式储存,分别将电容器的充电状态(有电荷)和放电状态(无电荷)视为0和1;速度快寿命长,价格超贵(约MLC3倍以上的价格),约10万次擦写寿命

MLC(Multi-Level Cell):2bit/cell,多层式储存,将电荷全满、电荷2/3、电荷1/3、无电荷这四种状态定义成00、01、10、11;速度一般寿命一般,价格一般,约3000—10000次擦写寿命

TLC(Trinary-Level Cell):3bit/cell,三重式存储,也有Flash厂家叫8LC,增加了几个中间值,有000至111这八种定义;速度慢寿命短,价格便宜,约500次擦写寿命,目前还没有厂家能做到1000次。

可以看出,SLC可以很清楚地判断一个cell里面到底是0还是1;但是MLC就不太容易判断了,因为不同量的电荷表示不同的数据,电荷稍有流失就会导致出错;TLC出错的几率更大。所以从稳定性而言,SLC最佳,MLC次之,TLC最差。另外这些Cell都是有“惰性”的,连续充电放电若干次之后就无法保存电荷了,造成数据出错;从这个方面而言,SLC是最耐充放电的,MLC次之,TLC最差。所以SLC使用寿命最长,MLC次之,TLC最差。就充放电速度而言,SLC最简单,速度也最快;结构越复杂速度也越慢,所以MLC次之,TLC最慢。

因此,无论是速度还是稳定性,SLC都是最佳的选择,MLC次之,TLC最差。但是同样的一个“电容器”,SLC存储的信息只有MLC的1/2,也是TLC的1/4,所以SLC的成本也是最高,而且无法做成容量很大的芯片。目前SLC的NAND产品大多数用于企业级的半导体存储器上,民用以MLC和TLC为多。

NAND有个特性:读取NAND中的信息,速度会很快;但是如果往NAND写入数据,尤其是NAND原有的信息需要覆盖的时候,速度会非常非常慢。但是无论是读还是写,操作系统本身甚至于电脑本身都是无法控制NAND芯片的。操作NAND芯片需要借助于主控制器芯片。主控芯片也是影响SSD性能的最重要因素之一。

参考文档:

http://bbs.pcbeta.com/viewthread-1043654-1-1.html

http://www.baike.com/wiki/NAND&prd=so_1_doc

http://www.baike.com/wiki/%25E9%2597%25AA%25E5%25AD%2598&prd=so_1_doc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息