嵌入式Linux环境下iSCSIHBA设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux环境下iSCSIHBA设计与实现

嵌入式Linux环境下iSCSIHBA设计与实现   摘要:采用Intel的IQ80321嵌入式平台设计实现了一个iSCSIHBA设备,实验证明该设备不仅能有效地缓解主机CPU的负载,而且能取得较好的性能。   关键词:主机总线适配器;嵌入式Linux;iSCSI;交叉编译;智能I/O;消息单元   中图法分类号:TP302文献标识码:A   文章编号:1001-3695(2006)09-0182-03      iSCSI[1,2]是由IETF批准的一种基于存储网络的新的Internet协议,iSCSI的原理是将SCSI命令通过IP网络传输,这样就可以使在网络上传送数据更加便利,而且可以实现远程存储管理。iSCSI协议是推动存储区域网络(SAN)技术快速发展的关键技术之一,因为它使数据存储的传送更加快捷。由于IP网络的灵活性,iSCSI可以在局域网(LANs)、广域网(WANs)或Internet上传输数据。??   iSCSI技术的实现主要有三种方式:??   (1)纯软件方式??   服务器采用普通以太网卡来进行网络连接,通过运行上层软件来实现iSCSI和TCP/IP协议栈功能层。   这种方式由于采用标准网卡,无须额外配置适配器,因此硬件成本最低。但是在这种方式中,服务器在完成自身工作的同时,还要兼顾网络连接,造成主机运行时间加长,系统性能下降。这种方式比较适合于预算较少,并且服务器负担不是很大的用户。??   (2)智能iSCSI网卡实现方式??   在这种方式中,服务器采用特定的智能网卡来连接网络,TCP/IP协议栈功能由智能网卡完成,而iSCSI层的功能仍然由主机来完成。这种方式较第一种方式部分提高了服务器的性能。??   (3)iSCSIHBA卡实现方式??   使用iSCSI存储适配器来完成服务器中的iSCSI层和TCP/IP协议栈功能。这种方式使得服务器CPU无须考虑iSCSI以及网络配置,对服务器而言,iSCSI存储器适配器是一个HBA(存储主机主线适配器)设备,与服务器采用何种操作系统无关。该方式性能最好。??   虽然采用HBA卡的方式在前期投入可能会比较大,但一旦我们借助开发板做成产品,就可以对其进行重新制版,从而实现批量生产,这样可明显降低成本,获得较好的性价比。??      1硬件结构介绍??      如图1所示,我们所选用的开发板为Intel的IQ80321[3,4],其内部采用Intel80321的I/O处理器,该处理器具有以下特点:??   (1)内部集成IntelXscale核心,支持ARMV5T指令集及扩展指令集V5EDSP。??   (2)PCI局部总线规范2.2及PCI局部总线PCI??X附加规范1.0a兼容PCI/PCI??X总线接口。可工作于64bits/66MHz(PCI模式)或64bits/133MHz(PCI??X位模式)。??   (3)内存控制器支持PC200DDRSDRAM,最大支持1GB64bitsDDRSDRAM或512MB32bitsDDRSDRAM,并具有ECC功能。??   (4)两个独立的DMA通道,基于描述符工作,支持数据的收集/发散功能。??   (5)应用加速单元以及性能监控单元分别提供对于特定应用的硬件加速功能和对于性能监控的硬件支持。??      因此,Intel80321I/O处理器特别适用于网络存储应用,其中包括RAID(独立磁盘冗余阵列)适配器卡、ROMB(主板集成RAID)和其他存储应用。它小巧的封装尺寸、较高的数据吞吐量和内置AAU/XOR,为这些存储应用提供最优化的解决方案。此外,IOP321也是在高度集成的环境中需要高性能I/O子系统的应用之理想选择。??      2嵌入式Linux操作系统平台的搭建??      为了让我们的Initiator端代码能够在我们的嵌入式平台上运行,我们首先需要在主机上创建一个基于ARM的交叉编译开发环境[5],用于编译我们需要装载在板卡上运行的所有程序,然后还需要在嵌入式平台上搭建一个嵌入式操作系统,由于考虑到成本及Initiator端代码的移植问题,我们选择了开源的Linux操作系统。??      2.1交叉编译开发环境的创建??   通常,程序是在一台计算机上编译,然后再分布到将要使用的其他计算机上。当主机系统(运行编译器的系统)和目标系统(产生的程序将在其上运行的系统)不兼容时,该过程就叫做交叉编译。??   除了兼容性这个明显的好处之外,交叉编译还由于以下两个原因而非常重要:①当目标系统对其可用的编译工具没有本地设置时;②当主机系统比目标系统要快得多,或者具有多得多的可用资源时。??   当提到交叉编译器时,

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档