




免费预览已结束,剩余18页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一般的RAID HBA 有下面形态的硬件架构:IOP +IOC1.ASIC IOP +IOC2.FPGA ,CPLD 的IOP +ASIC IOCRoC (RAID on Chip)1.ASIC 的RoC2.FPGA的RoCASIC (Application-specific Ic) 这种要Tape out的(好像1000万起跳吧忘了价格.) ,要有量才合算。LSI 这种Fabless(无半导体工厂) SoC Designer 厂商当然都是ASIC 产品.FPGA or CPLD 可编程逻辑们阵列,这就比较有弹性了。比如说一些SSD RAID、DRAM RAID,都是用FPGA实现,但是如果量大是有点不合算。像H牌这类,部份XOR 就是用FPGA or CPLD,PH至于FPGA 做SAS PHY 仿真就不多了。从RAID Controller的观点来看,它是基于单纯的SAS/SATA HBA上提供了RAID功能(RAID 0, RAID 1, RAID 5, RAID 6,甚至是混合阵列等等.),有些RAID Controller在单个硬盘驱动器情况下可以直接被识别,有些则是必须要建立阵列(Array)才能使用,可能根据Option ROM载入的内容而有所差异。下面是一张AMCC/3ware早期的9690SA-8i RAID Controller,这是一款Hardware RAID,由PowerPC处理器、ASIC XOR Accelerator和Emulex IOC组成经典的StorSwitch分离式架构。在3ware还没被LSI买下以前,长年以来都是应用这种架构,3ware对于早期开发SATA产品中,面对SCSI产品这个架构有相当的优势性,不过现在颇老矣.最左边那块是存放韧体(Firmware)代码的flash,由于StorSwitch架构没有太多的详细资料,所以我的猜测是这样的:那颗PowerPC的处理器PPC405CR提供266MHz的时钟频率,这颗处理器一般的用途可能是一些平常I/O处理,例如中断执行、flow control、另外还包括了对于RAID code的执行,AMCC握有PowerPC的授权后,不用白不用。中间那颗是AMCC特制的ASIC XOR加速器G133 RAID engine,提供大量的DMA通道(32条,StorSwitch架构的特色之一)给更多的Storage使用,附加XOR和RAID 6所使用的GF硬件加速设计,PPC405CR加上G133 RAID engine应该就是一个完整的IOP(I/O 处理器)架构。根据AMCC/3ware之前相关产品资料来看,Cache Memory部分应该是从AMCC ASIC XOR加速器连接,IOC则是使用Emulex的IOC 500S,提供两个wide-port(各包含4条SAS通道)的连接。就我以前拿4颗Seagate的15k.6 146GB组成RAID 5后进行测试,最佳的情况都无法突破1GB/s的顺序读写传输速度,故此我是认为bottleneck应该是卡在host-bus(主机总线)的带宽问题,也许有可能的情况就是AMCC ASIC XOR加速器连接IOC 500S是用PCI-X bus。当然,这些仅仅是我的一些猜测,其实纵观3ware后期产品来看,并没有太多的改善,不管是9550系列或着9650系列,software部分我倒是认为作的不差。下面是一张LSI的SAS 9211-8i的HBA,提供了IT/IR双模式,在单个硬盘连接情况下,可以直接被识别使用:这块HBA使用了LSISAS2008芯片,是Hardware RAID架构,内置了一颗PowerPCPPC440 at 533MHz的处理器,LSISAS2008的特点是支持了6Gb/s介面的SAS 2.0规格,目前被广泛应用在HBA、ROMB方案下。这颗芯片提供了基础RAID功能,可以从官方文件来看是用来取代LSISAS1068/E的,仅拥有入门级(entry-level)的性能,他跟同门师兄LSISAS2108相比,可以说是差了一大截,他没有任何XOR硬件加速设计,没有内存控制器来连接外部内存作为Cache Memory,光缺少这两种特征,足以让RAID性能受到严重的打击。从Intel的一份文件显示,芯片里面整合了一块2MB的context RAM可以用来做为buffer;支持MSI-X特性、IRQ x15,对于SMP/CMP系统来说,在大量I/O的情况下会有所帮助。在HBA方案中,提供IT(Initiator and Target)模式作为原生SAS模式支持(thx 注这是很特别状况)。另一种IR(Integrated RAID)模式提供了基础RAID功能实现(RAID 0、RAID 1、RAID 10和RAID 1E),在LSI专有的Fusion-MPT架构,应用了子处理器(pRoCessor)来执行对I/ O的相关操作或着有关RAID的运算。另外ROMB设计方案中,提供一种RAID key的小块物理PCB插件,如下图所示:透过这个插件而外提供RAID 5模式,不过前面说过,由于没有了XOR硬件加速设计和内存控制器,因此RAID 5性能可以说是不堪入目。在使用RAID key的情况下,BIOS模式会切成IMR(Integrated MegaRAID)模式,这个模式就是MegaRAID产品系列所采用的,提供更多的特性,这与LSI SAS MegaRAID 9240系列是相同的。当切换成IMR模式后,就必须强制建立阵列才能使用,而且使用的IRQ数量只有4组,block size可以选择,但最高只能到64k,支持SSD Guard技术。下面是一张LSI MegaRAID SAS 9240-8i的RAID HBA,归属于MegaRAID产品线,所以可以提供对RAID 5模式的支持:一般RAID就设计上来说分成两种形式:Software RAID和Hardware RAID,我想这玩过或着熟悉相关RAID知识的人大致上都清楚,在说明这两种设计差异之前,并不包含一些特殊的设计,例如某家RAID厂商早期某款产品使用某种程度的XOR硬件加速设计(CPLD/FPGA)来提高性能。Hardware RAID比较好讲,基本的架构就是IOP+IOC的组合,IOC可以说是SAS/SATA HBA部分,IOP通常只是拿来加速运算用的。先来讲讲Software RAID,根据Adaptec早期提供的一份基础文献(Hardware RAID vs. Software RAID: Which Implementation is Best for my Application?),对于了解Software RAID和Hardware RAID差异是值得参考的,就Software RAID的特征,Software RAID拆成两个部分:纯软件模式 Operating System Software RAID和Hybrid Model Hardware-Assisted(硬件辅助) Software RAID。在纯软件模式下,这个模式是非常容易了解的,RAID功能完全取决于操作系统而定,此模式提供最低成本的考量,但是缺点不少,最大的缺点在于他I/O性能不佳,而且受到Software层级上的限制,意味着它容易被操作系统绑死,下图是一张纯软件模式的基础示意图:纯软件模式在一般情况下,是不会去应用的,尤其最近这几年来,Hybrid Model Hardware-Assisted Software RAID反而是最常被用到的,基本上就是SAS/SATA HBA with a RAID BIOS或着是RAID BIOS integrated onto the motherboard,例如Intel的ICHxR就是一个Hardware-Assisted Software RAID,透过额外的硬件加入RAID的支持(将RAID Option ROM写在BIOS里),RAID功能部份可以独立于操作系统,资料安全上也高于纯软件模式,通过系统启动BIOS初始化阶段,可以预先检测到RAID模式的状况,并且提供独立的GUI设定RAID类型,当然在某些RAID模式下,IO性能依然会受到限制,例如典型的RAID 5模式。下面是一张基本的示意图:这张描述的是以HBA with a RAID BIOS的模型,RAID Software与HBA部分包起来,RAID Software指的是将有关RAID代码部分写在NVRAM里,作为系统启动初始化的时候,获得RAID的相关功能,也包括专属的组态设定(dedicated GUI and software to build and maintain the RAID)。这张是我取自Dell网站加以修改的基本HBA with a RAID BIOS结构:另外这张表示图则是ICHxR实现RAID功能,将RAID Option ROM写到主机板上的System BIOS里,以提供RAID Configuration Utility建立RAID:Software RAID的相反就是Hardware RAID,如之前所提,典型就是IOP+IOC(A Discrete RAID Controller Card)的组合,IOP作为某些模式(例如RAID 5)的运算加速时,可以提供某种程度上的效益(得视该硬体处理性能而定),并且IOP会包含一些额外的硬件加速设计,当然Hardware RAID花费的组建成本都高于Software RAID,以下是来自Dell的IOP+IOC示意图:这种结构大多都会包含对Cache Memory的支持,借以提供Read/Write Cache算法来增强I/O性能,透过BBU来提供某种程度上的资料安全性。几年前IOP+IOC的分离设计代表最经典的就是Intel IOP333,也就是说IOC部分通过额外的RAID HBA芯片来连接,以下是IOP333的方块图:上述有一个AAU(Application Accelerator Unit),这个硬件加速设计可以增强RAID6的运算性能,但是IOP333面临到的最大瓶颈问题在于IOP与IOC之间的连接带宽,基本上是通过PCI-X连过去的,最大提供1GB/s的理论有效带宽,这反而成了I/O性能上的问题,原因很简单!就SAS 1.0规范来说好了,一条narrow link连接到驱动器所支持的理论带宽为3Gbps,而wide port包含4 narrow links,3Gbps x4=12Gbps=1.5GB/s x80%=1.2GB/s,在1.2GB/s的带宽下早就打爆PCI-X了,当然实际情况不是这样,一个wide port还不太容易冲爆,但是wide port x2的结果就不是如此了,PCI-X带宽不够使用也是迟早的事。如下图来自Dell PERC 5文件所示:可以看到使用IOP333与IOC接接,IOC是使用LSI1068控制芯片,LSI1068面对的Host Bus支持为PCI-X,IOP333与LSI1068之间的带宽只有1GB/s,导致连接多个驱动器后,性能上的问题会越来越严重。以下是经典的Dell PERC 5:IOC部分则是使用LSI1068(没盖散热片的那颗),提供SAS/SATA HBA功能,在另一款的LSI 8344ELP也是这样的设计,主要差别在于Connector连接规格不同与Cache Memory的可扩展性,如下图所示:下面这张是早期Adaptec优秀的IOP333产品4805SAS:IOC部分是采用与Vitesse合作的AIC-9410W晶片,提供wide port x2(4 narrow links/per port)。这张是相反的4800SAS,采用的IOP为IOP331:IOP331面向的Host Bus为PCI-X,结果跟4805SAS是一样的。另外3ware经典的StorSwitch结构也是IOP+IOC的分离设计,而且Firmware代码的操作交由独立的PPC来处理,下面是一张3ware的9650SE-2LP:最左边包含了PPC+固件部分,中间则是一颗IOP,最右边是Marvell的IOC,来提供对驱动器的连接,这张好几年前有玩过,实在不怎么样的玩意儿,Host Bus部分为PCIe Gen1 x1,带宽很小,提供Cache Memory支持,但是BBU功能被拿掉,且Connector是discrete的,也就是2个SATA ports,价格到现在还不便宜,因此可以列为最不划算的RAID产品之一XD。Intel从IOP33x之后,大幅改进推出IOP34x的优秀产品,这是一个RoC架构的产物,基本上IOP与IOC完全被整合,所以不必考虑之间的带宽问题,以下是IOP348的方块图:IOP34x是双处理器结构,并且整合IOC部分,提供wide port x2(4 narrow links/per port),Cache Memory支持DDR2-533规格。 RoC架构是这几年的发展趋势,虽然它不是创新的架构,不过这几年来的RAID硬件发展可以说是它们的天下。下面是Areca的优秀RAID产品ARC-1680ix-24:可以看到这款可以支持到2 wide ports以上,因此这绝对是通过SAS Expander方式(右边的那颗芯片)去扩展更多的wide port来连接大量的硬盘。RoC架构的一个经典产品是LSI的1078系列,下面可以看到一张来自Dell对PERC 6采用LSI1078的基本结构图,事实上它是用来跟IOP333产品PERC 5去做比较:PERC 6是前一两年当红的产品,因为它比LSI同期产品还要便宜不少,加了BBU也没多加少钱,要注意! LSI的BBU实在贵到翻掉=_=,一块就拥有跟LSI 8888ELP(LSI1078)差不多的性能,缺点是兼容性上的问题要注意。Dell PERC 6,Connector规格标准为非主流的SFF-8484标准,256MB DDR2-667 Cache Memory,后期的固件支持SSD Guard(印象中是要刷LSI的firmware.)。下图则是前几年LSI Internal/External RAID最高端的产品MegaRAID 8888ELP:Connector规格标准为现在主流的Internal SFF-8087 x2和External SFF-8088 x2,透过SAS Expander(扩展器)连接可以达到240个驱动器,Cache Memory可扩展,最高可以达到1GB,在当时无论如何都是非常强悍的RAID产品。而关于LSI1078的方块图如下:基本上加入一颗PPC440(500MHz)的IOP,还包含了XOR Engine的硬件加速设计。LSI1078目前的最大缺显在于Host Bus的带宽瓶颈,因为PCIe Gen1 x8最大仅能支持到2GB/s的理论有效带宽,明显略有不足,在后来的LSI2108就改善了这个问题,透过PCIe Gen2 x8提供了4GB/s的Host Bus理论有效带宽,可以说是大幅缓和!如下基本示意图所示:LSI2108不仅仅是提高了PCIe带宽的需求,并且提升了PPC440的性能(800MHz),Cache Memory的支持提供到DDR2-800。下面是一张性能极为优秀的LSI MegaRAID 9260-8i:当然价格也是相当难看,而且BBU这部分实在贵得离谱,一颗BBU07要将近9k(新台币?)=.=,性能是很好没错,不过整体价格实在是OOXX的。目前拿Intel和LSI的例子来举,仅是说明RoC成为这几年来发展的主流,当然并不单单是只有这两家,另外还包括了Marvell的88RC9580 和PMC-Sierria的PM8011。 另外Intel目前已舍弃ARM架构的Xscale IOP设计,转向以Nahalem架构为主的x86架构(Xeon C5500/C3500Jasper Forest),走的方向也比较与众不同,HBA部分透过SBB总线架构用来与Backplane(with SAS Expander),SBB连接至Backplane提供相当高的I/O传输带宽,对于一个mini-SAS Port的连结达到24Gbps的带宽(并不一定如此,得看硬件设计!),不过现阶段看到的通过x86 CPU仅能加速RAID 5/6运算性能,没有包含对SATA/SAS连接器上的支持,依然还是得通过外接SAS/SATA HBA来提供(例如使用LSISAS2008作为IOC上的支持),而且x86架构的情况下,整个配套的软体方案就显得更重要了,就个人询问得知目前比较完善在Linux部分,Windows部分还是有待加强,这是我所得知的部分。以下是自绘的SBB架构的一部分:可以看到,透过Intel C5500/C3500Jasper Forest提供了一种XOR/P+Q硬线加速设计,用来提升对RAID 5/RAID6的性能,由于并没有IOC的部分,必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司聚会赞助活动方案
- 公司现场宣传活动方案
- 公司营地团建活动方案
- 公司清远漂流活动方案
- 公司春茗策划方案
- 公司椅子清仓活动方案
- 公司新生产线策划方案
- 公司新春工会活动方案
- 公司组织云年会活动方案
- 公司端午感恩策划方案
- 人教版(2024)七年级下学期地理期末质量检测试卷(含答案)
- 2025年新能源汽车产业发展考试试卷及答案
- (2025)党校入党积极分子培训结业考试题库与答案
- 2025年中国超薄柔性玻璃(UTG)行业深度分析、投资前景及发展趋势预测报告(智研咨询)
- 交房期间业主维权突发事件应急预案
- 【专题训练】专题04三角形(考题猜想九大题型)(学生版+解析)-2025年七年级数学下学期期末总复习(北师大版)
- 2025年全国护士资格考试试卷及答案
- 难点01:总集篇·十三种简便计算巧算法【十三大考点】-2024年小升初数学典型例题系列(原卷版+解析)
- 三一挖机合同协议书
- 越秀地产合作协议书
- 上海市普陀区2024-2025学年八年级上学期期末考试物理试题(解析版)
评论
0/150
提交评论