收藏 分销(赏)

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

上传人:pc****0 文档编号:7821840 上传时间:2025-01-19 格式:DOC 页数:32 大小:858KB 下载积分:10 金币
下载 相关 举报
【硬件基础集训班】第七课存储篇.doc_第1页
第1页 / 共32页
【硬件基础集训班】第七课存储篇.doc_第2页
第2页 / 共32页


点击查看更多>>
资源描述
【硬件基础集训班】第七课-->-->存储篇   大家好,今天我们要来讲讲计算机的存储系统了。按照经典理论,计算机的存储器大致可分为内存储器和外存储器,详细的存储层次如下: 这里面,寄存器和高速缓存现在一般是集成在CPU上的(以前出现过板载的高速缓存),电子磁盘和磁带在DIY市场几乎没有,软盘已经被淘汰,而光盘颓废同学已经在前几天发过了,所以我们今天要讲的是内存、硬盘,还要说一说我们经常用到的U盘。 一、      内存 其实对于计算机来说,没有硬盘可以运行,没有内存就肯定完蛋了。内存是存储程序以及数据的地方。虽然硬盘也是存储数据的,但是由于速度原因,CPU无法直接调用硬盘的数据进行处理,也就是说任何程序必须调入内存才能被CPU执行,任何数据更改也必须先写道内存然后才能写道硬盘等外部设备。 其实广义的说,内存的全称——内部存储器包括随机存储器(RAM),只读存储器(ROM),寄存器(Register),以及高速缓存(CACHE)。但是由于RAM我们大家接触的比较多,并且是比较重要的,所以内存就渐渐的也可以单指RAM了。而我们平常所说的内存,其实是指由RAM芯片和电路板等组成的内存条。 先说说内存条的组成。内存条主要由印刷电路板、内存颗粒、SPD芯片、金手指等组成。 (1) 印刷电路板PCB 内存颗粒和其他原件的载体,和主板显卡类似,也是使用了多层PCB,一般为4、6、8层(一般内存边缘可以看出来),PCB的层数越多,成本越高,但干扰越少,工作越稳定。 此外,PCB上的走线和覆铜面积也影响内存的稳定性。 (2)内存颗粒 内存颗粒是内存条的关键部分。而它也有不同的封装形式。其结构和封装对速度、电气性能、散热效果及抗干扰等影响极大。现在比较普遍的封装形式有两种BGA和TSOP两种。BGA封装具有芯片面积小的特点,可以减少PCB板的面积,发热量也比较小,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的芯片,需要多层PCB板布线,这就对成本提出了要求。此外,BGA封装还拥有芯片安装容易、电气性能更好、信号传输延迟低、允许高频运作、散热性卓越等许多优点。目前主流的DDR2内存就使用的此种封装。 而TSOP这种封装方式我们还会在一些老的DDR内存上看到。TSOP封装方式中,内存芯片是通过芯片引脚焊接在PCB板上的,焊点和PCB板的接触面积较小,使得芯片向PCB办传热就相对困难。而且TSOP封装方式的内存在超过150MHz后,会产品较大的信号干扰和电磁干扰。 (3)SPD芯片 它是用来保存内存生产厂家在内存出厂时所设定的有关内存的相关资料的,通常有内存条的容量、芯片模块的生产厂商、标称运行频率、是否具备ECC校验等基本信息。主板芯片组通过识别SPD内的信息,判断内存的相关性能并完成BIOS中内存的设定。SPD方便了系统对内存的检测,确保内存处于正常的工作状态。 (4)金手指 内存与插槽的物理连接点,采用金、锡等金属材料制成的导电触片。 说完内存条的结构,我们再讲讲内存的指标。影响内存性能的参数主要有3个——容量、频率、延迟。 首先是容量。它是内存能容纳数据量的大小,单位为MB和GB(1GB=1024MB)。容量也不是越大越好,大道一定程度再增加就不会再提升性能了。需要注意的是,很多老主板不支持4G以上内存。 然后就是时钟频率了。它代表着该内存所能达到的最高工作频率(当然,和CPU一样,体质好的内存还可以超频)。内存频率是以MHz(兆赫)为单位来计量的。内存频率越高在一定程度上代表着内存所能达到的速度越快。目前较为主流的内存频率是333MHz和400MHz的DDR内存,以及800MHz和667MHz的DDR2内存。内存同显存一样,也分实际运行频率和等效工作频率。DDR内存因为能在时钟的上升沿和下降沿都能传送数据,因此,在相同的时钟频率和数据位宽度的情况下内存带宽是SDRAM内存的两倍。换句话说,在显存速度相同的情况下,DDR内存的实际工作频率是普通SDRAM内存的2倍。而现在的DDR2内存由于采用4bit预取设计,内核的频率只有接口频率的1/4,DDR2-800的核心工作频率只有200MHz。 延迟作为影响性能的重要指标,往往被大家忽视。通常情况下,我们用4个连着的阿拉伯数字来表示一个内存延迟,例如4-4-4-12。其中,第一个数字最为重要,它表示的是CAS Latency,也就是内存存取数据所需的延迟时间,简单的说,就是内存接到CPU的指令后的反应速度。第二个数字表示的是RAS-CAS延迟,接下来的两个数字分别表示的是RAS预充电时间和Act-to-Precharge延迟。而第四个数字一般而言是它们中间最大的一个。延迟自然是越低越好。一般来说,内存代数越高,由于技术原因,延迟也就越高。 其实内存还有一个指标——位宽。:位宽指的是在一个时钟周期之内能传送的bit数。不过现代内存的位宽都基本相同,大家也就没必要关心了。 我们再看看内存的类型。市面上可以见到的主要有DDR/DDR2/DDR3,其中DDR2是主流。每代内存的借口都是不同的,购买的时候千万要看清主板支持的类型和最大频率。 DDR: SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。 DDR2:: 它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据读预取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。此外,由于DDR2标准规定所有DDR2内存均采用FBGA封装形式,而不同于以前广泛应用的TSOP/TSOP-II封装形式,FBGA封装可以提供了更为良好的电气性能与散热性,为DDR2内存的稳定工作与未来频率的发展提供了坚实的基础。 DDR3: DDR3采用8bit预取设计,而DDR2为4bit预取。采用点对点的拓朴架构,以减轻地址/命令与控制总线的负担。采用100nm以下的生产工艺,将工作电压从1.8V降至1.5V,增加异步重置(Reset)与ZQ校准功能。它吸取了DDR2的教训,在控制成本的基础上减小了能耗和发热量,使得DDR3更易于被用户和厂家接受。 显卡可以SLI和CF,内存也可以用双通道来提升性能。双通道是在北桥芯片(或者CPU内部)里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。在这两个内存通CPU可分别寻址、读取数据,从而使内存的带宽增加一倍,数据存取速度也相应增加一倍(理论上)。实际上由于主流PC的内存速度并不构成瓶颈,所以双通道对性能的提升很小。 二、      硬盘 硬盘是计算机储存大量数据的设备,是计算机中最重要的部件之一。与内存不同,它储存的内容断电后不会消失。它由一个或者多个铝制或者玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。而我们平常所说的硬盘,其实是指硬盘和硬盘驱动器所组成的整体。 先说说硬盘的结构吧。硬盘主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。 硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。不像光盘和软盘,硬盘作为精密设备,尘埃是其大敌,必须完全密封。 (一)硬盘的外部结构。 目前市场上的常见的台式机硬盘基本为3.25英寸产品,其中又有半高型和全高型之分。 常用的3.5英寸硬盘外形大同小异,在没有元件的一面贴有产品标签,标签上是一些与硬盘相关的内容。在硬盘的一端有电源插座、硬盘主、从状态设置跳线器和数据线联接插座。 1.接口 包括电源插口和数据接口两部分,其中电源插口与主机电源相联,为硬盘工作提供电力保证。数据接口则是硬盘数据和主板控制器之间进行传输交换的纽带,根据联接方式的差异,分为SATA接口、EIDE接口和SCSI接口等。目前主流的接口为SATA。 2.控制电路板 大多采用贴片式元件焊接,包括主轴调速电路、磁头驱动与伺服定位电路、读写电路、控制与接口电路等。在电路板上还有一块高效的单片机ROM芯片,其固化的软件可以进行硬盘的初始化,执行加电和启动主轴电机,加电初始寻道、定位以及故障检测等。在电路板上还安装有容量不等的高速缓存芯片。 3.固定盖板 就是硬盘的面板,标注产品的型号、产地、设置数据等,和底板结合成一个密封的整体,保证硬盘盘片和机构的稳定运行。固定盖板和盘体侧面还设有安装孔,以方便安装。 (二) 硬盘的内部结构 硬盘内部结构由固定面板、控制电路板、盘头组件、接口及附件等几大部分组成,而盘头组件是构成硬盘的核心,封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片及主轴驱动机构、前置读写控制电路等。 1.浮动磁头组件 由读写磁头、传动手臂、传动轴三部分组成。磁头是硬盘技术最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用了非接触式头、盘结构,加电后在高速旋转的磁盘表面飞行,飞高间隙只有0.1~0.3um,可以获得极高的数据传输率。现在转速7200rpm的硬盘飞高都低于0.3um,以利于读取较大的高信噪比信号,提供数据传输存储的可靠性。 2.磁头驱动机构 由音圈电机和磁头驱动小车组成,新型大容量硬盘还具有高效的防震动机构。高精度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并在很短的时间内精确定位系统指令指定的磁道,保证数据读写的可靠性。 3.盘片和主轴组件 盘片是硬盘存储数据的载体,现在的盘片大都采用金属薄膜磁盘,这种金属薄膜较之软磁盘的不连续颗粒载体具有更高的记录密度,同时还具有高剩磁和高矫顽力的特点。以往IBM曾经采用过玻璃盘片,但是由于高故障率直接导致了作为硬盘发明者的IBM卖掉了其硬盘部门。主轴组件包括主轴部件如轴瓦和驱动电机等。随着硬盘容量的扩大和速度的提高,主轴电机的速度也在不断提升,有厂商开始采用精密机械工业的液态轴承电机技术。 4.前置控制电路 前置放大电路控制磁头感应的信号、主轴电机调速、磁头驱动和伺服定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内可减少外来信号的干扰,提高操作指令的准确性。 下面讲讲硬盘的参数。硬盘的主要参数有容量、转速、平均访问时间、传输速率和缓存。 作为计算机系统的数据存储器,容量是硬盘最主要的参数。硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,1GB=1024MB。但硬盘厂商在标称硬盘容量时通常取1G=1000MB,因此我们在BIOS中或在格式化硬盘时看到的容量会比厂家的标称值要小。硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越短。对于用户而言,硬盘的容量就象内存一样,永远只会嫌少不会嫌多。近年来随着高清的流行和软件的发展,用户对硬盘的容量的要求不断地膨胀。现在一个游戏和高清电影动辄就占好几G的空间,1080P的电影甚至要占掉好几十G,并且对硬盘的需求还有不断增大的趋势。因此,在购买硬盘时适当的超前是明智的。近两年主流硬盘是160G,而500G以上的大容量硬盘亦已开始逐渐普及。 转速是指硬盘盘片每分钟转动的圈数,单位为rpm。如今的硬盘基本都是7200rpm的转速,而更高的企业级硬盘则达到了10000rpm。 平均访问时间是指磁头从起始位置到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。硬盘的平均寻道时间是指硬盘的磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好。硬盘的等待时间,又叫潜伏期,是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时间为盘片旋转一周所需的时间的一半,一般应在4ms以下。 硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。硬盘数据传输率又包括了内部数据传输率和外部数据传输率。内部传输率也称为持续传输率,它反映了硬盘缓冲区未用时的性能。内部传输率主要依赖于硬盘的旋转速度和硬盘的存储密度。外部传输率也称为突发数据传输率或接口传输率,它标称的是系统总线与硬盘缓冲区之间的数据传输率,外部数据传输率与硬盘接口类型和硬盘缓存的大小有关。目前PATA接口硬盘的最大外部传输率为133MB/s,而SATA 4X接口的硬盘甚至可以达到600MB/s。使用SATA(Serial ATA)口的硬盘又叫串口硬盘,已经越来越普及了。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。 与主板上的高速缓存一样,硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度。目前,大多数SATA硬盘的缓存为8M,16M和32M的缓存在大容量硬盘上也能经常看到。 最后,我们还要提一下常见的RAID和NCQ技术。这两种技术都可以提高硬盘的性能。但是都必须有主板和系统的支持才可以。 同内存和显卡并联对系统性能提升不算很大相比,硬盘的RAID不仅能提高至少一倍的速度,某些情况下还能增加系统的稳定性。RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。简单地解释,就是将N块硬盘透过RAID控制器(分硬件和软件)结合成虚拟单块大容量的硬盘使用,其特色是N块硬盘同时读取速度加快及提供容错性。RAID主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的RAID规范见附录1。   NCQ被称为“全速命令队列(Native Command Queuing,NCQ)”。支持NCQ技术的硬盘对接收到的指令按照他们访问的地址的距离进行了重排列,这样对硬盘机械动作的执行过程实施智能化的内部管理,大大地提高整个工作流程的效率:即取出队列中的命令,然后重新排序,以便有效地获取和发送主机请求的数据,在硬盘执行某一命令的同时,队列中可以加入新的命令并排在等待执行的作业中。显然,指令排列后减少了磁头臂来回移动的时间,使数据读取更有效。 此外,硬盘还有OAW技术、湿盘”(wetdisk)技术、PRML读取通道技术、GMR(巨磁阻)磁头技术、SAN技术、远程镜像技术SRDF、以及众多的数据保护技术等,由于平日几乎用不到,所以不再提及。 三、U盘 U盘作为我们日常携带数据的重要工具,虽然不是计算机的组成部分,我们还是拿到存储篇来作以讲解。 U盘是USB盘的简称,是闪存的一种,因此也叫闪盘。最大的特点就是:小巧便于携带、存储容量大、价格便宜。是最常用的移动存储设备之一。并且,有时候我们还可以把它当作装饰物戴在身上。 按照惯例,先讲U盘的组成。 U盘构造简单,其主要由外壳、USB接口、主控芯片、FLASH芯片、晶体振荡器组成。外壳的材料和形状千变万化,在此不再多讲。我们就从USB接口开始说。 USB接口大多有个金属壳,里面有四个触点,分为5V、地线和两根数据线。当然,也有没有壳的接口。 主控芯片主要起电脑与FLASH芯片之间数据交换的作用,分为全速(USB2.0全速)和高速(USB2.0高速)。注:USB2.0全速在以前被称为USB1.1。这两类接口的区别是传输速率不同。USB1.1最大传输速度为12Mb/秒,USB2.0最大传输速度为480Mb/秒。 FLASH闪存芯片是U盘的心脏,我们的数据都保存在这里。它质量的好坏关系到数据的安全性。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/S 3.耗电:SLC能耗比MLC低,在相同使用条件下比MLC少15%左右的电流消耗。 4.单片容量:由于SLC是使用单层的单元存储,相对与MLC的多层单元存储来说容量方面有限制,市面上也比较少见2G以上的SLC单颗闪存芯片。 虽然与SLC相比,MLC看起来缺点很多,但在单颗芯片容量方面,目前MLC还是占了绝对的优势。MLC在架构上取胜SLC,而且国内外厂商也针对MLC做了很多的优化和开发,未来很有可能取代SLC闪存芯片。 U盘中用的FLASH芯片的品牌主要有三星Samsung、现代Hynix、晟碟SanDisk、镁光Micron等。 晶体振荡器也是U盘中的关键元件,而且是一个比较容易损坏的器件,特别是受到大的振动易坏,所以如果U盘被摔过后不能用了,一般都是它坏了。U盘中的晶体有插件式的和贴片式的两种,很多正规名牌U盘中都使用贴片式的晶体。 U盘的参数相对来说更为简单。无非就是容量、持续读写速度、随机读写速度,这和主控芯片以及闪存芯片都有关,基本是越大越好,具体已在上文提及。很多U盘还支持诸如写保护、安全保护等实用功能。 附录1:   RAID发展至今共有10个主要的等级,下面我们就将依次介绍 RAID-0等级 Striped Disk Array without Fault Tolerance(没有容错设计的条带磁盘阵列) 图中一个圆柱就是一块磁盘(以下均是),它们并联在一起。从图中可以看出,RAID 0在存储数据时由RAID控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘。如果发挥一下想象力,你会觉得数据象一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的。至于每个条带的深度则要看所采用的RAID类型,在NT系统的软RAID 0等级中,每个条带深度只有64KB一种选项,而在硬RAID 0等级,可以提供8、16、32、64以及128KB等多种深度参数。Striped是RAID的一种典型方式,在很多RAID术语解释中,都把Striped指向RAID 0。在读取时,也是顺序从阵列磁盘中读取后再由RAID控制器进行组合再传送给系统,这也是RAID的一个最重要的特点。 RAID-0结构图解 这样,数据就等于并行的写入和读取,从而非常有助于提高存储系统的性能。对于两个硬盘的RAID 0系统,提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时缯加的数据分割与组合等与RAID相关的操作处理时间,但比单个硬盘提高50%的性能是完全可以的。 不过,RAID 0还不能算是真正的RAID,因为它没有数据冗余能力。由于没有备份或校验恢复设计,在RAID 0阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的。下面总结一下RAID 0的特点: RAID-1等级 Mirroring and Duplexing(相互镜像) 对比RAID 0等级,我们能发现硬盘的内容是两两相同的。这就是镜像——两个硬盘的内容完全一样,这等于内容彼此备份。比如阵列中有两个硬盘,在写入时,RAID控制器并不是将数据分成条带而是将数据同时写入两个硬盘。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复。注意,这两个硬盘并不是主从关系,也就是说是相互镜像/恢复的。 RAID-1结构图解 RAID 1已经可以算是一种真正的RAID系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量。下面总结一下RAID 1的特点:   RAID-2等级 Hamming Code ECC(汉明码错误检测与修正) 现在我们要接触到RAID系统中最为复杂的等级之一。RAID 2之所以复杂就是因为它采用了早期的错误检测与修正技术——汉明码(Hamming Code)校验技术。因此在介绍RAID 2之前有必要讲讲汉明码的原理。 汉明码的原理: 针对4位数据的汉明码编码示意图   汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。以典型的4位数据编码为例,汉明码将加入3个校验码,从而使实际传输的数据位达到7个(位),它们的位置如果把上图中的位置横过来就是: 数据位 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+D1=2,为偶数,那么P2值为0,D4+D2+D1=2,为偶数,P3值为0。这样,参照上文的位置表,汉明码处理的结果就是1010101。在这个4位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。下面就是它们的对应表: 汉明码 编码用的数据码 P1 D8、D4、D1 P2 D8、D2、D1 P3 D4、D2、D1 从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。在这个例子中,通过对4个数据位的3个位的3次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。 还是刚才的1101的例子,正确的编码应该是1010101,如果第三个数据位在传输途中因干扰而变成了1,就成了1010111。检测时,P1+D8+D4+D1的结果是偶数4,第一位纠错代码为0,正确。P1+D8+D2+D1的结果是奇数3,第二位纠错代码为1,有错误。P3+D4+D2+D1的结果是奇数3,第三但纠错代码代码为1,有错误。那么具体是哪个位有错误呢?三个纠错代码从高到低排列为二进制编码110,换算成十进制就是6,也就是说第6位数据错了,而数据第三位在汉明码编码后的位置正好是第6位。 那么汉明码的数量与数据位的数量之间有何比例呢?上面的例子中数据位是4位,加上3位汉明码是7位,而2的3次幂是8。这其中就存在一个规律,即2P≥P+D+1,其中P代表汉明码的个数,D代表数据位的个数,比如4位数据,加上1就是5,而能大于5的2的幂数就是3(23=8,22=4)。这样,我们就能算出任何数据位时所需要的汉明码位数:7位数据时需要4位汉明码(24>4+7+1),64位数据时就需要7位汉明码(27>64+7+1),大家可以依此推算。此时,它们的编码规也与4位时不一样了。 另外,汉明码加插的位置也是有规律的。以四位数据为例,第一个是汉明码是第一位,第二个是第二位,第三个是第四位,1、2、4都是2的整数幂结果,而这个幂次数是从0开始的整数。这样我们可以推断出来,汉明码的插入位置为1(20)、2(21)、4(22)、8(23)、16(24)、32(25)…… 说完汉明码,下面就开始介绍RAID 2等级。  RAID 2等级介绍: RAID-2结构图解 由于汉明码是位为基础进行校验的,那么在RAID2中,一个硬盘在一个时间只存取一位的信息。没错,就是这么恐怖。如图中所示,左边的为数据阵列,阵列中的每个硬盘一次只存储一个位的数据。同理,右边的阵列(我们称之为校验阵列)则是存储相应的汉明码,也是一位一个硬盘。所以RAID 2中的硬盘数量取决于所设定的数据存储宽度。如果是4位的数据宽度(这由用户决定),那么就需要4个数据硬盘和3个汉明码校验硬盘,如果是64位的位宽呢?从上文介绍的计算方法中,就可以算出来,数据阵列需要64块硬盘,校验阵列需要7块硬盘。 在写入时,RAID 2在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统。通过上文的介绍,我们知道汉明码只能纠正一个位的错误,所以RAID 2也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2的数据就将受到破坏。但由于数据是以位为单位并行传输,所以传输率也相当快。 RAID 2是早期为了能进行即时的数据校验而研制的一种技术(这在当时的RAID 0、1等级中是无法做到的),从它的设计上看也是主要为了即时校验以保证数据安全,针对了当时对数据即时安全性非常敏感的领域,如服务器、金融服务等。但由于花费太大(其实,从上面的分析中可以看出如果数据位宽越大,用于校验阵列的相对投资就会越小,就如上面的4:3与64:7),成本昂贵,目前已基本不再使用,转而以更高级的即时检验RAID所代替,如RAID 3、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 0 1 0 1 0 1 1 1 1 0 这里的A与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校验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。读取时,则在调出条带的同时检查校验盘中相应的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(独立的数据硬盘与共享的校验硬盘) RAID 3 英文定义是Parallel transfer with parity,即并行传输及校验。与之相比,RAID 4则是一种相对独立的形式,这也是它与RAID 3的最大不同。 RAID-4结构图解 与RAID 3相比,我们发现关键之处是把条带改成了“块”。即RAID 4是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster)。RAID 4这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。 不过,在不同硬盘上的同级数据块也都通过XOR进行校验,结果保存在单独的校验盘。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过XOR校验值和其他硬盘上的同级数据进行恢复。由于RAID 4在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快。总之,RAID 4并不为速度而设计。下面我们总结一下RAID 4的特点: RAID-5等级 Independent Data disks with distributed parity blocks(独立的数据磁盘与分布式校验块) 今天我们将介绍在高级RAID系统中最常见的等级——RAID 5,由于其出色的性能与数据冗余平衡设计而被广泛采用。与RAID 3、4一样,它也是一种即时校验RAID系统,但设计更为巧妙,而管理也相对复杂。其结构见图: RAID-5结构图解 与RAID 4相对照,我们可以发现它仍采用了数据块的存储方式,但没有独立的校验硬盘,这是因为它在每个独立的数据盘中都开辟了单独的区域用于存储同级数据的XOR校验数据,至于什么是同级数据,在上一期中已经讲过了。在写入时,同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性。从图中可以发现,RAID 5的硬盘利用率较高,数据吞吐量比较容易得到发挥。 RAID 5是目前最常用的高级RAID等级,是RAID 3、4的理想替代者,许多高档RAID控制器都提供了对RAID 5的支持,并以此做为高档RAID系统的标志。 下面就来总结一下RAID 5的特点:   RAID-6等级 Independent Data disks with two independent distributed parity schemes(独立的数据硬盘与两个独立分布式校验方案) RAID 6等级是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。 RAID-6结构图解 这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID 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模式,因为它从组建方式上就已经和以往的方式有了重大的不同。基本成形式见图,你会发现在,以往一个硬盘是一个组成阵列的“柱子”,而在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道,效率也就不言自明了。 RAID-7结构图解 然而,RAID 7的设计与相应的组成规模注定了它是一揽子承包计划。总体上说,RAID 7是一个整体的系统,有自己的操作系统,有自己的处理器,有自己的总线,而不是通过简单的插卡就可以实现的。归纳起来,RAID 7的主要特性如下: · 所有的I/O传输都是异步的,因为它有自己独立的控制器和带有Cache的接口,与系统时钟并不同步 · 所有的读与写的操作都将通过一个带有中心Cache的高速系统总线,我们称之为X-Bus · 专用的校验硬盘可以用于任何通道 · 带有完整功能的即时操作系统内嵌于阵列控制微处理器,这是RAID 7的心脏,它负责各通道的通信以及Cache的管理,这也是它与其他等级最大不同之一 · 连通性:可增至12个主机接口 · 扩展性:线性容量可增至48个硬盘 · 开放式系统,运用标准的SCSI硬盘、标准的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 0则负责数据的读写阵列。其实,图1只是一种RAID 10方式,更多的情况是从主通路分出两路(以4个硬盘时为例),做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。这就是RAID 10名字的来历(也因此被很多人称为RAID 0+1),而不是像RAID 5、3那样的全新等级。 由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使R
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服