基于FPGA的RAID控制卡实现及仿真研究

基于FPGA的RAID控制卡实现及仿真研究摘要:首先介绍了基于FPGA的一种RAID控制卡的原理及系统设计、印刷电路板(PCB)的具体实现。由于板卡运行在66MHz总线时钟之上,必须考虑高频下电路的性能及电路的信号完整性等,因而在PCB设计阶段对电路的仿真显得尤为重要。还将介绍基于IBIS模型的信号完整性仿真分析,并利用信号噪声分析软件(Hyperlynx)对高速电路设计中的PCB布局布线、匹配电阻设计和并行线串扰分析进行深入研究。根据仿真分析结果调整原设计,从而提高了信号质量,减少开发成本。关键词:现场可编程逻辑阵列;磁盘阵列;仿真;输入/输出缓冲器信息标准;信号完整性中图法分类号:TP302.2文献标识码:A:1001-3695(2007)01-0261-03本项目是针对RAID5系列的高性能光纤磁盘阵列系统[1],采用FPGA技术设计一款RAID系统控制卡,实现磁盘阵列启动、数据缓存(Cache)以及数据XOR校验等功能。??廉价冗余磁盘阵列(RedundantArrayofInexpensiveDisks,RAID)通过将数据分布在多个通道的多个磁盘上,利用并行处理机制使多个独立磁盘协调工作,达到提高存取速度和增大存储容量的目的。此外,磁盘阵列通过增加数据的冗余度提高数据的安全性。但计算出冗余信息却需要消耗系统大量的处理资源。以RAID5为例,在数据的写操作和数据的恢复过程中需要执行大量异或运算,过多的校验计算任务占用了大量的CPU资源,这将导致磁盘阵列服务器对用户请求的响应时间增加,系统的整体性能被削弱。因而采用扩展的硬件电路实现XOR运算,能够将CPU从繁重的校验任务中解脱出来,从而提高阵列服务器整体性能。传统的软件实现RAID系统需要操作系统的支持,RAID的配置信息存在系统信息中,而不是存在硬盘上。当系统崩溃需重新安装时,RAID的信息也会丢失。因此目前广泛采用专用的硬件控制卡方式实现RAID系统。RAID控制卡实现系统的启动及自身初始化及配置等工作。RAID控制卡是一个PCI从设备,接收并执行来自系统的命令,主要实现磁盘阵列系统的初始化、配置及系统的启动、阵列管理等工作。另外,在磁盘阵列中采用Cache,其作用主要是加速读操作和缓存小写,解决RAID5中小写效率低下的问题。因此,RAID控制卡使用NVRAM(NonVolatileRAM)即非易失性随机存储器来增强阵列Cache的性能。??在板卡设计过程中,由于PCB板上电子元器件密度较大,走线较密,信号频率最高达到66MHz,因此不可避免地要出现EMC(电磁兼容)和EMI(电磁干扰)问题。另外,RAID控制卡在进行PCB设计时由于要满足PCI协议、集成电路芯片及其他元件的布线要求,其PCB设计要注意的问题更多。本文从项目系统设计、印刷电路板(PCB)设计等方面对整个电路作详细介绍,并对基于高速数字电路仿真的信号完整性、并行线串扰以及EMC等问题进行深入研究分析,提出基于PCI总线的FPGA的PCB设计中需注意的问题及解决方法,相信对高速电子电路设计有很好的参考作用。??1系统原理及硬件电路设计??本设计中采用PCI总线来作为控制卡与RAID之间数据传输的桥梁[2]。控制卡PCI接口工作在32位数据宽度、33MHz~66MHz的总线时钟之上,数据最大传输率高达266Mbps。系统原理如图1所示。??系统工作原理:系统上电后,FPGA由其专用的配置芯片进行主动配置,10秒钟内控制卡完成自身初始化工作。在磁盘阵列BIOS的Init功能执行过程中,控制卡截获中断Int19H,并将Flash中的阵列控制代码作为新的中断服务程序执行。至此,控制卡即实现对磁盘阵列的主动控制,从而接管数据校验、数据缓存等操作。控制卡启动后控制和协调整个系统,管理数据的流动。当数据用户请求写入数据时,控制卡缓存数据、计算数据的校验和,并命令阵列存储数据及校验和。读出数据时,控制卡命令阵列提取数据和相应的校验信息,并缓存数据、校验数据有效性。最近写入或读出的信息由控制卡缓存在本地的非易失的Cache中,以便进行数据保护和快速提取。??1.1数据缓存的控制功能模块设计??本设计采用NVRAM实现磁盘阵列Cache。NVRAM由小型锂电池和低功耗的SRAM(StaticRAM,静态随机存储器)组成。当系统断电后,由此锂电池对SRAM供电,所以NVRAM既继承ROM(ReadOnlyMemory,只读存储器)的优点――具有非易失性,又摒...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?