收藏 分享(赏)

【硬件基础集训班】第七课存储篇.doc

上传人:ysd1539 文档编号:7388654 上传时间:2019-05-16 格式:DOC 页数:32 大小:858KB
下载 相关 举报
【硬件基础集训班】第七课存储篇.doc_第1页
第1页 / 共32页
【硬件基础集训班】第七课存储篇.doc_第2页
第2页 / 共32页
【硬件基础集训班】第七课存储篇.doc_第3页
第3页 / 共32页
【硬件基础集训班】第七课存储篇.doc_第4页
第4页 / 共32页
【硬件基础集训班】第七课存储篇.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、【硬件基础集训班】第七课存储篇大家好,今天我们要来讲讲计算机的存储系统了。按照经典理论,计算机的存储器大致可分为内存储器和外存储器,详细的存储层次如下:这里面,寄存器和高速缓存现在一般是集成在 CPU 上的(以前出现过板载的高速缓存) ,电子磁盘和磁带在 DIY 市场几乎没有,软盘已经被淘汰,而光盘颓废同学已经在前几天发过了,所以我们今天要讲的是内存、硬盘,还要说一说我们经常用到的 U 盘。一、 内存其实对于计算机来说,没有硬盘可以运行,没有内存就肯定完蛋了。内存是存储程序以及数据的地方。虽然硬盘也是存储数据的,但是由于速度原因,CPU 无法直接调用硬盘的数据进行处理,也就是说任何程序必须调入

2、内存才能被 CPU 执行,任何数据更改也必须先写道内存然后才能写道硬盘等外部设备。其实广义的说,内存的全称内部存储器包括随机存储器(RAM) ,只读存储器(ROM) ,寄存器( Register) ,以及高速缓存(CACHE) 。但是由于 RAM 我们大家接触的比较多,并且是比较重要的,所以内存就渐渐的也可以单指 RAM 了。而我们平常所说的内存,其实是指由 RAM 芯片和电路板等组成的内存条。先说说内存条的组成。内存条主要由印刷电路板、内存颗粒、SPD 芯片、金手指等组成。(1) 印刷电路板 PCB内存颗粒和其他原件的载体,和主板显卡类似,也是使用了多层 PCB,一般为4、6、8 层(一般内

3、存边缘可以看出来) ,PCB 的层数越多,成本越高,但干扰越少,工作越稳定。此外,PCB 上的走线和覆铜面积也影响内存的稳定性。(2)内存颗粒内存颗粒是内存条的关键部分。而它也有不同的封装形式。其结构和封装对速度、电气性能、散热效果及抗干扰等影响极大。现在比较普遍的封装形式有两种 BGA 和TSOP 两种。BGA 封装具有芯片面积小的特点,可以减少 PCB 板的面积,发热量也比较小,但是需要专用的焊接设备,无法手工焊接。另外一般 BGA 封装的芯片,需要多层 PCB 板布线,这就对成本提出了要求。此外, BGA 封装还拥有芯片安装容易、电气性能更好、信号传输延迟低、允许高频运作、散热性卓越等许

4、多优点。目前主流的DDR2 内存就使用的此种封装。而 TSOP 这种封装方式我们还会在一些老的 DDR 内存上看到。TSOP 封装方式中,内存芯片是通过芯片引脚焊接在 PCB 板上的,焊点和 PCB 板的接触面积较小,使得芯片向 PCB 办传热就相对困难。而且 TSOP 封装方式的内存在超过 150MHz 后,会产品较大的信号干扰和电磁干扰。(3)SPD 芯片它是用来保存内存生产厂家在内存出厂时所设定的有关内存的相关资料的,通常有内存条的容量、芯片模块的生产厂商、标称运行频率、是否具备 ECC 校验等基本信息。主板芯片组通过识别 SPD 内的信息,判断内存的相关性能并完成 BIOS 中内存的设

5、定。SPD 方便了系统对内存的检测,确保内存处于正常的工作状态。(4)金手指内存与插槽的物理连接点,采用金、锡等金属材料制成的导电触片。说完内存条的结构,我们再讲讲内存的指标。影响内存性能的参数主要有 3 个容量、频率、延迟。首先是容量。它是内存能容纳数据量的大小,单位为 MB 和 GB(1GB=1024MB) 。容量也不是越大越好,大道一定程度再增加就不会再提升性能了。需要注意的是,很多老主板不支持 4G 以上内存。然后就是时钟频率了。它代表着该内存所能达到的最高工作频率(当然,和 CPU 一样,体质好的内存还可以超频) 。内存频率是以 MHz(兆赫)为单位来计量的。内存频率越高在一定程度上

6、代表着内存所能达到的速度越快。目前较为主流的内存频率是333MHz 和 400MHz 的 DDR 内存,以及 800MHz 和 667MHz 的 DDR2 内存。内存同显存一样,也分实际运行频率和等效工作频率。DDR 内存因为能在时钟的上升沿和下降沿都能传送数据,因此,在相同的时钟频率和数据位宽度的情况下内存带宽是 SDRAM内存的两倍。换句话说,在显存速度相同的情况下,DDR 内存的实际工作频率是普通SDRAM 内存的 2 倍。而现在的 DDR2 内存由于采用 4bit 预取设计,内核的频率只有接口频率的 1/4,DDR2-800 的核心工作频率只有 200MHz。延迟作为影响性能的重要指标

7、,往往被大家忽视。通常情况下,我们用 4 个连着的阿拉伯数字来表示一个内存延迟,例如 4-4-4-12。其中,第一个数字最为重要,它表示的是 CAS Latency,也就是内存存取数据所需的延迟时间,简单的说,就是内存接到 CPU的指令后的反应速度。第二个数字表示的是 RAS-CAS 延迟,接下来的两个数字分别表示的是 RAS 预充电时间和 Act-to-Precharge 延迟。而第四个数字一般而言是它们中间最大的一个。延迟自然是越低越好。一般来说,内存代数越高,由于技术原因,延迟也就越高。其实内存还有一个指标位宽。:位宽指的是在一个时钟周期之内能传送的 bit 数。不过现代内存的位宽都基本

8、相同,大家也就没必要关心了。我们再看看内存的类型。市面上可以见到的主要有 DDR/DDR2/DDR3,其中 DDR2是主流。每代内存的借口都是不同的,购买的时候千万要看清主板支持的类型和最大频率。DDR:SDRAM 在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而 DDR 内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR 内存可以在与 SDRAM相同的总线频率下达到更高的数据传输率。DDR2::它与上一代 DDR 内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式

9、,但 DDR2 内存却拥有两倍于上一代 DDR 内存预读取能力(即:4bit 数据读预取) 。换句话说,DDR2 内存每个时钟能够以 4 倍外部总线的速度读/写数据,并且能够以内部控制总线 4 倍的速度运行。此外,由于 DDR2 标准规定所有 DDR2 内存均采用 FBGA 封装形式,而不同于以前广泛应用的 TSOP/TSOP-II 封装形式,FBGA 封装可以提供了更为良好的电气性能与散热性,为 DDR2 内存的稳定工作与未来频率的发展提供了坚实的基础。DDR3:DDR3 采用 8bit 预取设计,而 DDR2 为 4bit 预取。采用点对点的拓朴架构,以减轻地址/命令与控制总线的负担。采用

10、 100nm 以下的生产工艺,将工作电压从 1.8V 降至1.5V,增加异步重置(Reset)与 ZQ 校准功能。它吸取了 DDR2 的教训,在控制成本的基础上减小了能耗和发热量,使得 DDR3 更易于被用户和厂家接受。显卡可以 SLI 和 CF,内存也可以用双通道来提升性能。双通道是在北桥芯片(或者CPU 内部)里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。在这两个内存通可分别寻址、读取数据,从而使内存的带宽增加一倍,数据存取速度也相应增加一倍(理论上) 。实际上由于主流 PC 的内存速度并不构成瓶颈,所以双通道对性能的提升很小。二、 硬盘硬盘是计算机储存

11、大量数据的设备,是计算机中最重要的部件之一。与内存不同,它储存的内容断电后不会消失。它由一个或者多个铝制或者玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。而我们平常所说的硬盘,其实是指硬盘和硬盘驱动器所组成的整体。先说说硬盘的结构吧。硬盘主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径

12、方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。不像光盘和软盘,硬盘作为精密设备,尘埃是其大敌,必须完全密封。(一)硬盘的外部结构。目前市场上的常见的台式机硬盘基本为 3.25 英寸产品,其中又有半高型和全高型之分。 常用的 3.5 英寸硬盘外形大同小异,在没有元件的一面贴有产品标签,标签上是一些与硬盘相关的内容。在硬盘的一端有电源插座、硬盘主、从状态设置跳线器和数据线联接插座。1.接口包括电源插口和数据接口两部分,其中电源插口与主机电源相联,为硬盘工作提供电力保证。数据接口则是硬盘数据和主板控制器之间进行传输交换的纽带,根据联接方式的差异,分为

13、SATA 接口、 EIDE 接口和 SCSI 接口等。目前主流的接口为 SATA。2.控制电路板大多采用贴片式元件焊接,包括主轴调速电路、磁头驱动与伺服定位电路、读写电路、控制与接口电路等。在电路板上还有一块高效的单片机 ROM 芯片,其固化的软件可以进行硬盘的初始化,执行加电和启动主轴电机,加电初始寻道、定位以及故障检测等。在电路板上还安装有容量不等的高速缓存芯片。3.固定盖板就是硬盘的面板,标注产品的型号、产地、设置数据等,和底板结合成一个密封的整体,保证硬盘盘片和机构的稳定运行。固定盖板和盘体侧面还设有安装孔,以方便安装。(二) 硬盘的内部结构硬盘内部结构由固定面板、控制电路板、盘头组件

14、、接口及附件等几大部分组成,而盘头组件是构成硬盘的核心,封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片及主轴驱动机构、前置读写控制电路等。1.浮动磁头组件由读写磁头、传动手臂、传动轴三部分组成。磁头是硬盘技术最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用了非接触式头、盘结构,加电后在高速旋转的磁盘表面飞行,飞高间隙只有 0.10.3um ,可以获得极高的数据传输率。现在转速 7200rpm 的硬盘飞高都低于 0.3um,以利于读取较大的高信噪比信号,提供数据传输存储的可靠性。2.磁头驱动机构由音圈电机和磁头驱动小车组成,新型大容量硬盘还具有高效的防震动机构。高精

15、度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并在很短的时间内精确定位系统指令指定的磁道,保证数据读写的可靠性。3.盘片和主轴组件盘片是硬盘存储数据的载体,现在的盘片大都采用金属薄膜磁盘,这种金属薄膜较之软磁盘的不连续颗粒载体具有更高的记录密度,同时还具有高剩磁和高矫顽力的特点。以往 IBM 曾经采用过玻璃盘片,但是由于高故障率直接导致了作为硬盘发明者的 IBM卖掉了其硬盘部门。主轴组件包括主轴部件如轴瓦和驱动电机等。随着硬盘容量的扩大和速度的提高,主轴电机的速度也在不断提升,有厂商开始采用精密机械工业的液态轴承电机技术。4.前置控制电路前置放大电路控制磁头感应的信号、主轴电机调速、磁头

16、驱动和伺服定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内可减少外来信号的干扰,提高操作指令的准确性。下面讲讲硬盘的参数。硬盘的主要参数有容量、转速、平均访问时间、传输速率和缓存。作为计算机系统的数据存储器,容量是硬盘最主要的参数。硬盘的容量以兆字节(MB)或千兆字节(GB )为单位,1GB=1024MB。但硬盘厂商在标称硬盘容量时通常取 1G=1000MB,因此我们在 BIOS 中或在格式化硬盘时看到的容量会比厂家的标称值要小。硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越短。对于用户而言,硬盘的容量就象内存一样,永

17、远只会嫌少不会嫌多。近年来随着高清的流行和软件的发展,用户对硬盘的容量的要求不断地膨胀。现在一个游戏和高清电影动辄就占好几 G 的空间,1080P 的电影甚至要占掉好几十 G,并且对硬盘的需求还有不断增大的趋势。因此,在购买硬盘时适当的超前是明智的。近两年主流硬盘是 160G,而 500G 以上的大容量硬盘亦已开始逐渐普及。转速是指硬盘盘片每分钟转动的圈数,单位为 rpm。如今的硬盘基本都是 7200rpm的转速,而更高的企业级硬盘则达到了 10000rpm。平均访问时间是指磁头从起始位置到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。平均访问时间体现了硬盘的读写速度,它包括

18、了硬盘的寻道时间和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。硬盘的平均寻道时间是指硬盘的磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好。硬盘的等待时间,又叫潜伏期,是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时间为盘片旋转一周所需的时间的一半,一般应在 4ms 以下。硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s) 。硬盘数据传输率又包括了内部数据传输率和外部数据传输率。内部传输率也称为持续传输率,它反映了硬盘缓冲区未用时的性能。内部传输率主要依赖于硬盘的旋转速度和硬盘的存储密度。外部传输率也称为突发数据传输率或接口传输

19、率,它标称的是系统总线与硬盘缓冲区之间的数据传输率,外部数据传输率与硬盘接口类型和硬盘缓存的大小有关。目前 PATA 接口硬盘的最大外部传输率为 133MB/s,而 SATA 4X 接口的硬盘甚至可以达到 600MB/s。使用 SATA(Serial ATA)口的硬盘又叫串口硬盘,已经越来越普及了。Serial ATA 采用串行连接方式,串行 ATA 总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。与主板上的高速缓存一样,硬盘缓存

20、的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度。目前,大多数 SATA 硬盘的缓存为 8M,16M 和 32M的缓存在大容量硬盘上也能经常看到。最后,我们还要提一下常见的 RAID 和 NCQ 技术。这两种技术都可以提高硬盘的性能。但是都必须有主板和系统的支持才可以。同内存和显卡并联对系统性能提升不算很大相比,硬盘的 RAID 不仅能提高至少一倍的速度,某些情况下还能增加系统的稳定性。RAID 是 “Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。简单地解释,就是将 N 块硬盘透过 RAID 控制器(分硬件和软件

21、)结合成虚拟单块大容量的硬盘使用,其特色是 N块硬盘同时读取速度加快及提供容错性。RAID 主要包含 RAID 0RAID 7 等数个规范,它们的侧重点各不相同,常见的 RAID 规范见附录 1。NCQ 被称为“全速命令队列(Native Command Queuing,NCQ) ”。支持 NCQ 技术的硬盘对接收到的指令按照他们访问的地址的距离进行了重排列,这样对硬盘机械动作的执行过程实施智能化的内部管理,大大地提高整个工作流程的效率:即取出队列中的命令,然后重新排序,以便有效地获取和发送主机请求的数据,在硬盘执行某一命令的同时,队列中可以加入新的命令并排在等待执行的作业中。显然,指令排列后

22、减少了磁头臂来回移动的时间,使数据读取更有效。此外,硬盘还有 OAW 技术、湿盘 ”(wetdisk)技术、PRML 读取通道技术、GMR(巨磁阻)磁头技术、SAN 技术、远程镜像技术 SRDF、以及众多的数据保护技术等,由于平日几乎用不到,所以不再提及。三、U 盘U 盘作为我们日常携带数据的重要工具,虽然不是计算机的组成部分,我们还是拿到存储篇来作以讲解。U 盘是 USB 盘的简称,是闪存的一种,因此也叫闪盘。最大的特点就是:小巧便于携带、存储容量大、价格便宜。是最常用的移动存储设备之一。并且,有时候我们还可以把它当作装饰物戴在身上。按照惯例,先讲 U 盘的组成。U 盘构造简单,其主要由外壳

23、、 USB 接口、主控芯片、FLASH 芯片、晶体振荡器组成。外壳的材料和形状千变万化,在此不再多讲。我们就从 USB 接口开始说。USB 接口大多有个金属壳,里面有四个触点,分为 5V、地线和两根数据线。当然,也有没有壳的接口。主控芯片主要起电脑与 FLASH 芯片之间数据交换的作用,分为全速(USB2.0 全速)和高速(USB2.0 高速) 。注: USB2.0 全速在以前被称为 USB1.1。这两类接口的区别是传输速率不同。USB1.1 最大传输速度为 12Mb/秒,USB2.0 最大传输速度为 480Mb/秒。FLASH 闪存芯片是 U 盘的心脏,我们的数据都保存在这里。它质量的好坏关

24、系到数据的安全性。FLASH 芯片按类型又分为 SLC 和 MLC。SLC 全称是 Single-Level Cell,即单层单元闪存,而 MLC 全称则是 Multi-Level Cell,即为多层单元闪存。它们之间的区别,在于 SLC 每一个单元,只能存储一位数据,MLC 每一个单元可以存储两位数据, MCL 的数据密度要比 SLC 大一倍。SLC 因单一存储单元只能存放一个 Bit 的资料,所以成本高价格贵,但是效率高速度快,可靠性高,MLC 正相反。它们的主要差别:1.理论寿命:SLC 10 万次 MLC 1 万次2.写速度:SLC 8MB/S 、MLC 为 2MB/S3.耗电:SLC

25、 能耗比 MLC 低,在相同使用条件下比 MLC 少 15%左右的电流消耗。4.单片容量:由于 SLC 是使用单层的单元存储,相对与 MLC 的多层单元存储来说容量方面有限制,市面上也比较少见 2G 以上的 SLC 单颗闪存芯片。虽然与 SLC 相比,MLC 看起来缺点很多,但在单颗芯片容量方面,目前 MLC 还是占了绝对的优势。MLC 在架构上取胜 SLC,而且国内外厂商也针对 MLC 做了很多的优化和开发,未来很有可能取代 SLC 闪存芯片。U 盘中用的 FLASH 芯片的品牌主要有三星 Samsung、现代 Hynix、晟碟 SanDisk、镁光 Micron 等。晶体振荡器也是 U 盘

26、中的关键元件,而且是一个比较容易损坏的器件,特别是受到大的振动易坏,所以如果 U 盘被摔过后不能用了,一般都是它坏了。U 盘中的晶体有插件式的和贴片式的两种,很多正规名牌 U 盘中都使用贴片式的晶体。U 盘的参数相对来说更为简单。无非就是容量、持续读写速度、随机读写速度,这和主控芯片以及闪存芯片都有关,基本是越大越好,具体已在上文提及。很多 U 盘还支持诸如写保护、安全保护等实用功能。附录 1:RAID 发展至今共有 10 个主要的等级,下面我们就将依次介绍RAID-0 等级 Striped Disk Array without Fault Tolerance(没有容错设计的条带磁盘阵列)图中

27、一个圆柱就是一块磁盘(以下均是),它们并联在一起。从图中可以看出,RAID 0 在存储数据时由 RAID 控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘。如果发挥一下想象力,你会觉得数据象一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的。至于每个条带的深度则要看所采用的 RAID 类型,在 NT 系统的软 RAID 0 等级中,每个条带深度只有 64KB 一种选项,而在硬 RAID 0 等级,可以提供 8、16、32、64 以及 128KB 等多种深度参数。Striped 是 RAID 的一种典型方式,在很多 RAID 术语解释中,都把 Striped 指向 RA

28、ID 0。在读取时,也是顺序从阵列磁盘中读取后再由 RAID 控制器进行组合再传送给系统,这也是 RAID 的一个最重要的特点。RAID-0 结构图解这样,数据就等于并行的写入和读取,从而非常有助于提高存储系统的性能。对于两个硬盘的 RAID 0 系统,提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时缯加的数据分割与组合等与 RAID 相关的操作处理时间,但比单个硬盘提高 50%的性能是完全可以的。不过,RAID 0 还不能算是真正的 RAID,因为它没有数据冗余能力。由于没有备份或校验恢复设计,在 RAID 0 阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的。下面

29、总结一下 RAID 0 的特点:RAID-1 等级 Mirroring and Duplexing(相互镜像)对比 RAID 0 等级,我们能发现硬盘的内容是两两相同的。这就是镜像两个硬盘的内容完全一样,这等于内容彼此备份。比如阵列中有两个硬盘,在写入时,RAID 控制器并不是将数据分成条带而是将数据同时写入两个硬盘。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复。注意,这两个硬盘并不是主从关系,也就是说是相互镜像/恢复的。RAID-1 结构图解RAID 1 已经可以算是一种真正的 RAID 系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬

30、盘并不能增加整个阵列的有效容量。下面总结一下 RAID 1 的特点:RAID-2 等级 Hamming Code ECC(汉明码错误检测与修正)现在我们要接触到 RAID 系统中最为复杂的等级之一。RAID 2 之所以复杂就是因为它采用了早期的错误检测与修正技术汉明码(Hamming Code)校验技术。因此在介绍 RAID 2之前有必要讲讲汉明码的原理。汉明码的原理:针对 4 位数据的汉明码编码示意图汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。以典型的4 位数据编码为例,汉明码将加入 3 个校验码,从而使实际传输的数据位达到 7 个(位),它们的位置如果把上图中的位

31、置横过来就是:数据位 1 2 3 4 5 6 7代码 P1 P2 D8 P3 D4 D2 D1说明第 1 个汉明码第 2 个汉明码第 1 个数据码第 3 个汉明码第 2 个数据码第 3 个数据码第 4 个数据码注:Dx 中的 x 是 2 的整数幂(下面的幂都是指整数幂)结果,多少幂取决于码位,D1 是 0次幂,D8 是 3 次幂,想想二进制编码就知道了现以数据码 1101 为例讲讲汉明码的编码原理,此时 D8=1、D4=1、D2=0、D1=1,在 P1 编码时,先将 D8、D4、D1 的二进制码相加,结果为奇数 3,汉明码对奇数结果编码为 1,偶数结果为 0,因此 P1 值为 1,D8+D2+

32、D1=2,为偶数,那么 P2 值为 0,D4+D2+D1=2,为偶数,P3 值为 0。这样,参照上文的位置表,汉明码处理的结果就是 1010101。在这个 4 位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。下面就是它们的对应表:汉明码 编码用的数据码P1 D8、D4、D1P2 D8、D2、D1P3 D4、D2、D1从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。在这个例子中,通过对 4 个数据位的 3 个位的 3 次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。在校验时则把每个

33、汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为 0)就是正确,如果为奇数(纠错代码为 1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。还是刚才的 1101 的例子,正确的编码应该是 1010101,如果第三个数据位在传输途中因干扰而变成了 1,就成了 1010111。检测时,P1+D8+D4+D1 的结果是偶数 4,第一位纠错代码为 0,正确。P1+D8+D2+D1 的结果是奇数 3,第二位纠错代码为 1,有错误。P3+D4+D2+D1的结果是奇数 3,第三但纠错代码代码为 1,有错误。那么具体是哪个位有错误呢?三个纠错

34、代码从高到低排列为二进制编码 110,换算成十进制就是 6,也就是说第 6 位数据错了,而数据第三位在汉明码编码后的位置正好是第 6 位。那么汉明码的数量与数据位的数量之间有何比例呢?上面的例子中数据位是 4 位,加上 3位汉明码是 7 位,而 2 的 3 次幂是 8。这其中就存在一个规律,即 2PP+D+1,其中 P 代表汉明码的个数,D 代表数据位的个数,比如 4 位数据,加上 1 就是 5,而能大于 5 的 2 的幂数就是 3(2 3=8,2 2=4)。这样,我们就能算出任何数据位时所需要的汉明码位数:7 位数据时需要 4 位汉明码(2 44+7+1),64 位数据时就需要 7 位汉明码

35、(2 764+7+1),大家可以依此推算。此时,它们的编码规也与 4 位时不一样了。另外,汉明码加插的位置也是有规律的。以四位数据为例,第一个是汉明码是第一位,第二个是第二位,第三个是第四位,1、2、4 都是 2 的整数幂结果,而这个幂次数是从 0 开始的整数。这样我们可以推断出来,汉明码的插入位置为 1(2 0)、2(2 1)、4(2 2)、8(2 3)、16(2 4)、32(2 5)说完汉明码,下面就开始介绍 RAID 2 等级。RAID 2 等级介绍:RAID-2 结构图解由于汉明码是位为基础进行校验的,那么在 RAID2 中,一个硬盘在一个时间只存取一位的信息。没错,就是这么恐怖。如图

36、中所示,左边的为数据阵列,阵列中的每个硬盘一次只存储一个位的数据。同理,右边的阵列(我们称之为校验阵列)则是存储相应的汉明码,也是一位一个硬盘。所以 RAID 2 中的硬盘数量取决于所设定的数据存储宽度。如果是 4 位的数据宽度(这由用户决定),那么就需要 4 个数据硬盘和 3 个汉明码校验硬盘,如果是64 位的位宽呢?从上文介绍的计算方法中,就可以算出来,数据阵列需要 64 块硬盘,校验阵列需要 7 块硬盘。在写入时,RAID 2 在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统。通过上文的介绍,我们知道汉明码只能纠正一个位的错误,所以 R

37、AID 2 也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2 的数据就将受到破坏。但由于数据是以位为单位并行传输,所以传输率也相当快。RAID 2 是早期为了能进行即时的数据校验而研制的一种技术(这在当时的 RAID 0、1 等级中是无法做到的),从它的设计上看也是主要为了即时校验以保证数据安全,针对了当时对数据即时安全性非常敏感的领域,如服务器、金融服务等。但由于花费太大(其实,从上面的分析中可以看出如果数据位宽越大,用于校验阵列的相对投资就会越小,就如上面的 4:3 与 64:7),成本昂贵,目前已基本不再使用,转而以更高级的即时检验 RAID 所代替,如 RAID 3、

38、5 等。现在让我们总结一下 RAID 2 的特点:RAID-3 等级Parallel transfer with parity(并行传输及校验)RAID 2 等级的缺点相信大家已经很明白了,虽然能进行即时的 ECC,但成本极为昂贵。为此,一种更为先进的即时 ECC 的 RAID 等级诞生,这就是 RAID 3。RAID 3 是在 RAID 2 基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR,eXclusive OR)校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。XOR 的校验原理如下表:A 值 B 值 XOR 结果0 0 01 0 10 1 11 1 0这里的 A 与

39、B 值就代表了两个位,从中可以发现,A 与 B 一样时,XOR 结果为 0,A 与B 不一样时,XOR 结果就是 1,而且知道 XOR 结果和 A 与 B 中的任何一个数值,就可以反推出另一个数值。比如 A 为 1,XOR 结果为 1,那么 B 肯定为 0,如果 XOR 结果为 0,那么 B 肯定为 1。这就是 XOR 编码与校验的基本原理。RAID 3 的结构图如下:RAID-3 结构图解从图中可以发现,校验盘只有一个,而数据与 RAID 0 一样是分成条带(Stripe)存入数据阵列中,这个条带的深度的单位为字节而不再是 bit 了。在数据存入时,数据阵列中处于同一等级的条带的 XOR 校

40、验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。读取时,则在调出条带的同时检查校验盘中相应的 XOR 编码,进行即时的 ECC。由于在读写时与 RAID 0 很相似,所以 RAID 3 具有很高的数据传输效率。RAID 3 在 RAID 2 基础上成功地进行结构与运算的简化,曾受到广泛的欢迎,并大量应用。直到更为先进高效的 RAID 5 出现后,RAID 3 才开始慢慢退出市场。下面让我们总结一下 RAID 3 的特点:注:主轴同步是指阵列中所有硬盘的主轴马达同步RAID-4 等级 Independent Data disks with shared Parity disk(独立的数据

41、硬盘与共享的校验硬盘)RAID 3 英文定义是 Parallel transfer with parity,即并行传输及校验。与之相比,RAID 4 则是一种相对独立的形式,这也是它与 RAID 3 的最大不同。RAID-4 结构图解与 RAID 3 相比,我们发现关键之处是把条带改成了“块”。即 RAID 4 是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster)。RAID 4 这样按块存储可以保证块的完整,不受因

42、分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。不过,在不同硬盘上的同级数据块也都通过 XOR 进行校验,结果保存在单独的校验盘。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID 就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过 XOR 校验值和其他硬盘上的同级数据进行恢复。由于 RAID 4 在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快。总之,RAID

43、 4 并不为速度而设计。下面我们总结一下 RAID 4 的特点:RAID-5 等级 Independent Data disks with distributed parity blocks(独立的数据磁盘与分布式校验块)今天我们将介绍在高级 RAID 系统中最常见的等级RAID 5,由于其出色的性能与数据冗余平衡设计而被广泛采用。与 RAID 3、4 一样,它也是一种即时校验 RAID 系统,但设计更为巧妙,而管理也相对复杂。其结构见图:RAID-5 结构图解与 RAID 4 相对照,我们可以发现它仍采用了数据块的存储方式,但没有独立的校验硬盘,这是因为它在每个独立的数据盘中都开辟了单独的区

44、域用于存储同级数据的 XOR 校验数据,至于什么是同级数据,在上一期中已经讲过了。在写入时,同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性。从图中可以发现,RAID 5 的硬盘利用率较高,数据吞吐量比较容易得到发挥。RAID 5 是目前最常用的高级 RAID 等级,是 RAID 3、4 的理想替代者,许多高档 RAID 控制器都提供了对 RAID 5 的支持,并以此做为高档 RAID 系统的标志。下面就来总结一下 RAID 5 的特点:RAID-6 等级 Independent Data disks with two independent distri

45、buted parity schemes(独立的数据硬盘与两个独立分布式校验方案)RAID 6 等级是在 RAID 5 基础上,为了进一步加强数据保护而设计的一种 RAID 方式,实际上是一种扩展 RAID 5 等级。与 RAID 5 的不同之处于除了每个硬盘上都有同级数据 XOR 校验区外,还有一个针对每个数据块的 XOR 校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。RAID-6 结构图解这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此 RAID 6 的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAI

46、D 5 还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。由于 RAID 6 相对于 RAID 5 在校验方面的微弱优势和在性能与性价比方面的较大劣势,RAID 6 等级基本没有实际应用过,只是对更高级的数据的冗余进行的一种技术与思路上的尝试,下面我们就做一个总结:RAID-7 等级 Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates(最优化的异步高 I/O 速率和高数据传输率)RAID 7 等级是至今为止,理论上性能最高的 RAID 模式,因为它从组建方式上就已经和以往的

47、方式有了重大的不同。基本成形式见图,你会发现在,以往一个硬盘是一个组成阵列的“柱子”,而在 RAID 7 中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在 RAID 7 中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道,效率也就不言自明了。RAID-7 结构图解然而,RAID 7 的设计与相应的组成规模注定了它是一揽子承包计划。总体上说,RAID 7 是一个整体的系统,有

48、自己的操作系统,有自己的处理器,有自己的总线,而不是通过简单的插卡就可以实现的。归纳起来,RAID 7 的主要特性如下: 所有的 I/O 传输都是异步的,因为它有自己独立的控制器和带有 Cache 的接口,与系统时钟并不同步 所有的读与写的操作都将通过一个带有中心 Cache 的高速系统总线,我们称之为X-Bus 专用的校验硬盘可以用于任何通道 带有完整功能的即时操作系统内嵌于阵列控制微处理器,这是 RAID 7 的心脏,它负责各通道的通信以及 Cache 的管理,这也是它与其他等级最大不同之一 连通性:可增至 12 个主机接口 扩展性:线性容量可增至 48 个硬盘 开放式系统,运用标准的 S

49、CSI 硬盘、标准的 PC 总线、主板以及 SIMM 内存 高速的,集成 Cache 的数据总线(就是上文提到的 X-bus) 在 Cache 内部完成校验生成工作 多重的附加驱动可以随时热机待命,提高冗余率和灵活性 易管理性:SNMP(Simple Network Management Protocol,简单网络管理协议) 可以让管理员远程监视并实现系统控制按照 RAID 7 设计者的说法,这种阵列将比其他 RAID 等级提高 150-600%写入时的 I/O 性能,虽然这引起了不小的争议。RAID 7 已经被 SCC 公司(Storage Computer Corporation)注册了商标,下面就让我们做一个总结:RAID-10 等级 Very High Reliability combined with High Performance(高可靠性与高性能的组合)现在我们将进入对组合 RAID 等级的介绍,所谓组合 RAID 是指在这个 RAID 等级中是由多个RAID 等级(一般是两个)组合而成,RAID 10 即是如此。RAID 10 是建立在 RAID 0 和 RAID 1 基础上的,具体的组合结构看图:RAID-10 结构图解从中可以看出,RAID 1 在这里就是一个冗余的备份阵列,而 RAID

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报