一种实现单控制器存储的方法技术

技术编号:12099633 阅读:94 留言:0更新日期:2015-09-23 17:24
本发明专利技术涉及单控制器的存储技术领域,特别涉及一种实现单控制器存储的方法。本发明专利技术通过IET模块实现的Cache模块对iSCSI读写操作进行缓存和优化,使用NVDIMM模块实现系统异常掉电状态下的数据保护和恢复。本发明专利技术的实现方法简单、可靠、成本低、性能优异,可实现高性能、高可靠性的单控制器存储。

【技术实现步骤摘要】

本专利技术涉及单控制器的存储
,特别涉及。
技术介绍
iSCSI 是 internet Small Computer System Interface 的缩写,又称为 IP-SAN,iSCSI技术是一种由IBM公司研宄开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。该存储技术通过在IP网上传送SCSI命令和数据,实现数据在网络之间的传递。由于其出色的数据传输能力,iSCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。iSCSI能够在LAN、WAN甚至Internet上进行数据传送,使得数据的存储不再受地域的限制。iSCSI技术的核心是在TCP/IP网络上传输SCSI协议,即使用TCP/IP报文和iSCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输。IET (iSCSI Enterprise Target)是 Linux 下的 iSCSI Target 实现,open-1scsi是Linux下的iscsi initiator实现。使用iet和open-1scsi就可以方便的实现简单的IPSAN,同时iet也可以和其他系统的iscsi initiator配合使用。Linux系统中使用Page Cache用来缓存文件数据,Buffer Cache用来缓存磁盘数据。Cache (缓存)的存在提高了读写性能,也会引入系统掉电时数据丢失的风险。NVDMM集成了 DRAM,闪存以及超级电容技术,可作为非易失系统主存或者高速内存盘使用。NVDIMM继承了 DRAM技术带宽高,成本低,寿命长的特性,又能够在系统完全掉电时保存完整数据。在高性能计算,大数据处理以及存储局域网等关键性领域能够发挥作用。目前,单控制器的存储领域存在着存储单元不足的技术问题。
技术实现思路
为了解决现有技术的问题,本专利技术提供了,其基于IET+Cache+NVDMM实现单控制器存储,该方法简单、可靠、成本低、性能优异,可实现高性能、高可靠性的单控制器存储。本专利技术所采用的技术方案如下: ,包括: A、单控制器存储通过IET模块创建iSCSITarget端,iSCSI Initiator端通过网络对所述的iSCSI Target端访问;B、单控制器存储通过Cache模块实现与IET模块的接口、与NVDIMM模块的接口; C、单控制器存储使用NVDIMM模块实现系统掉电时的数据保护和恢复,NVDIMM模块与Linux系统、IET模块和Cache模块实现对接; D、单控制器存储使用SATA/SAS控制器连接磁盘设备。Cache模块实现读写操作的缓存和优化。IET模块对iSCSI Initiator接收到的SCSI命令进行解析,将磁盘的读写命令交给Cache模块来处理,Cache模块的socket thread线程接收并管理IET模块传来的命令。Cache模块分配独立且连续的物理内存空间用作磁盘读写缓存。Cache模块的缓存数据页采用基数树进行维护,数据会首先被缓存到Page页,一旦数据被写入Page之后,会将该页标识成dirty,每个逻辑卷都有自己的写回线程writeback,写回线程执行磁盘缓存的刷新任务,周期性的将dirty page刷新到磁盘。Cache模块使用双链表LRU算法实现页的替换和更新,根据页在一段时间内的访问频率,将页放在不同的LRU链表中。本专利技术的,其使用IET实现单控制器存储的iSCSITarget端。对IET源码进行简单的二次开发,即可满足系统功能要求,并达到稳定的性能。其在IET软件中实现Cache模块,Cache模块实现读写操作的缓存和优化。Cache模块包含与IET的接口、数据读写、与用户空间接口、与NVDIMM接口等部分。使用NVDIMM实现异常掉电状态下的数据保护和恢复。本专利技术提供的技术方案带来的有益效果是: 本专利技术通过IET中实现的Cache模块对iSCSI读写操作进行缓存和优化,使用NVDIMM实现系统异常掉电状态下的数据保护和恢复。本专利技术的实现方法简单、可靠、成本低、性能优异,可实现高性能、高可靠性的单控制器存储。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的的系统实现原理图。图2为本专利技术的的系统内部接口实现原理图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一 如图1所示,单控制器存储的功能实现如下: 1、单控制器存储使用IET创建iSCSI Target端(iSCSI目标端),iSCSI Initiator端(iSCSI发起端)通过网络对其访问。实现了 SCSI协议在TCP/IP网络上的传输,实现了数据在网络之间的传递。2、单控制器存储的IET使用自主开发的Cache模块,该模块实现了与IET的接口、与NVDMM的接口,提高了数据读写的性能和可靠性。3、单控制器存储使用NVDMM实现系统掉电时的数据保护和恢复,NVDMM要与Linux系统、IET模块和Cache模块实现对接。4、单控制器存储使用SATA/SAS控制器连接磁盘设备。如图2所示,单控制器存储的系统内部接口实现如下: UIET模块对iSCSI Initiator接收到的SCSI命令进行解析,将磁盘的读写命令交给Cache模块来处理,Cache模块的socket thread线程接收并管理IET传来的命令。2、Cache模块分配独立且连续的物理内存空间用作磁盘读写缓存,与Linux内核缓存不同,该缓存不受Linux内核的管理,而是由Cache模块独立分配管理,并且该物理内存空间位于NVDIMM中,通过Cache与NVDIMM、Linux系统与NVDIMM的接口实现系统掉电时数据的保护和恢复。3、Cache模块的缓存数据页采用radix tree (基数树)进行维护。数据会首先被缓存到Page页,一旦数据被写入Page之后,会将该页标识成dirty。每个逻辑卷都有自己的写回线程writeback,写回线程执行磁盘缓存的刷新任务,周期性的将dirty page刷新到磁盘。4、Cache模块使用双链表LRU (Least Recently Used近期最少使用算法)实现页的替换和更新,根据页在一段时间内的访问频率,将页放在不同的LRU链表中。5、使用1ctl机制实现用户态管理组件ietadm_cache对Cache模块的访问,实现如强制刷新,查看Cach状态等功能。以上所述仅为本专利技术的较佳实施例,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。【主权项】1.,包本文档来自技高网
...

【技术保护点】
一种实现单控制器存储的方法,包括:A、单控制器存储通过IET模块创建iSCSI Target端,iSCSI Initiator端通过网络对所述的iSCSI Target端访问;B、单控制器存储通过Cache模块实现与IET模块的接口、与NVDIMM模块的接口;C、单控制器存储使用NVDIMM模块实现系统掉电时的数据保护和恢复,NVDIMM模块与Linux系统、IET模块和Cache模块实现对接;D、单控制器存储使用SATA/SAS控制器连接磁盘设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:李公臣刘强金长新
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1