CN103257941B - 多协议存储控制器和系统 - Google Patents

多协议存储控制器和系统 Download PDF

Info

Publication number
CN103257941B
CN103257941B CN201310133003.8A CN201310133003A CN103257941B CN 103257941 B CN103257941 B CN 103257941B CN 201310133003 A CN201310133003 A CN 201310133003A CN 103257941 B CN103257941 B CN 103257941B
Authority
CN
China
Prior art keywords
module
data
controller
request
end communications
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310133003.8A
Other languages
English (en)
Other versions
CN103257941A (zh
Inventor
蔺永杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201310133003.8A priority Critical patent/CN103257941B/zh
Publication of CN103257941A publication Critical patent/CN103257941A/zh
Application granted granted Critical
Publication of CN103257941B publication Critical patent/CN103257941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

多协议存储控制器和系统,涉及计算机系统及存储领域。解决了吸纳有技术无法将多种协议统一管理的问题,所述控制器包括:前端通信模块,用于接收用户发送过来的数据请求,将返回的数据发送至用户;多协议支持模块,用于对数据请求按照所支持的协议进行解析,分离出请求数据;将返回的数据发送至前端通信模块;卷管理模块,用于对请求数据进行识别,识别出请求数据对应的底层磁盘逻辑单元号,将返回的数据发送至多协议支持模块;后端通信模块,用于按照识别出的逻辑单元号查找到请求数据对应的底层磁盘,读出和/或写入数据。本发明可以无缝接入用户现有环境,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。

Description

多协议存储控制器和系统
技术领域
本发明涉及计算机系统及存储领域,尤其涉及多协议存储控制器和系统。
背景技术
过去的SAN(存储域网络,Storage Area Network)多半是以价格高昂的FC(光纤信道,Fibre Channel)作为基础,受限于光纤信道交换机与HBA(主机总线适配器,Host Bus Adapter)卡的价格,中小企业用户往往只能让少数关键应用的主机或服务器接上SAN。
后来,出现了以IP(互联网协议,Internet protocol)网络为基础的IP SAN技术,可在现有的IP网络上进行块数据应用,任何服务器只要装上以太网卡就能接上IP SAN,因此可将SAN的应用范围扩展到一般非关键应用的服务器上。但受到IP网络的频宽限制,IP SAN对于要求较高的关键应用来说可靠性和性能都有所不足,且与FC SAN不兼容。对中小企业用户来说,除非只选择其中之一,否则就必须分别购置专用设备。
传统的集群系统以计算节点为核心,性能差,结构复杂,扩展能力差,所以需要一种开放、高带宽、低延迟、高可靠以及满足集群无限扩展能力的以交换为核心的体系结构。
发明内容
为了将多种协议统一管理起来,向用户提供统一的块级存储资源,从而使SAN存储设备完整地兼容现有网络,满足客户对高带宽及高性能的差异化需求,本发明提出一种多协议存储控制器和系统。
为了解决上述技术问题,本发明提供了一种多协议存储控制器,所述控制器包括前端通信模块、多协议支持模块、卷管理模块和后端通信模块,
所述前端通信模块,用于接收用户发送过来的数据请求,并将所述数据请求发送至多协议支持模块,还用于将多协议支持模块返回的数据发送至用户;
所述多协议支持模块,用于对所述数据请求按照所支持的协议进行解析,分离出请求数据;还用于将卷管理模块返回的数据发送至前端通信模块;
所述卷管理模块,用于对所述请求数据进行识别,识别出所述请求数据对应的底层磁盘逻辑单元号,并将识别出的逻辑单元号提交给后端通信模块,还用于将后端通信模块返回的数据发送至多协议支持模块;
所述后端通信模块,用于按照识别出的逻辑单元号查找到请求数据对应的底层磁盘,读出和/或写入数据。
进一步地,所述多协议支持模块所支持的协议包括iSCSI协议、FCP协议、SRP协议和iSer协议。
进一步地,所述卷管理模块,还用于在用户发送数据请求之前,识别存储区域网络的底层磁盘,并将所述底层磁盘建立磁盘阵列组,将所述磁盘阵列组组织成逻辑卷,并向多协议支持模块提供所述逻辑卷的逻辑单元号。
进一步地,所述控制器还包括缓存管理模块和控制器管理模块,
所述缓存管理模块,用于加速多协议支持模块的请求数据和卷管理模块返回的数据,在控制器间进行数据镜像,并向控制器管理模块提供数据刷新接口;
所述控制器管理模块,用于提取所述多协议支持模块的请求数据,利用所述数据刷新接口读取卷管理模块返回的数据,并在控制器间进行数据的多路径输入输出管理。
进一步地,所述请求数据包括顺序读访问和随机写访问。
进一步地,所述多协议支持模块包括目标驱动模块、驱动解析模块和设备处理模块;
所述目标驱动模块,用于接收数据请求;
所述驱动解析模块,用于将接收到的数据请求按照不同协议的解析出来,并递交给设备处理模块;
所述设备处理模块,用于接收和管理驱动解析模块提交的请求数据。
进一步地,所述前端通信模块为万兆以太网卡、光纤信道卡或无限带宽卡。
进一步地,所述后端通信模块为串行连接小型计算机系统接口。
为了解决上述技术问题,本发明还提供了一种多协议存储系统,包括一个或多个多协议存储控制器和存储区域网络,所述控制器为权利要求1-8任意权利要求所述的控制器,所述存储区域网络包括多个底层磁盘。
进一步地,当有多个控制器时,所述控制器间通过无限带宽网络互相连接,通过数据镜像和数据的多路径输入输出管理,在控制器间进行数据传递。
与现有技术相比,本发明的控制器和系统将iSCSI协议、FCP协议、SRP协议及iSer协议统一管理起来,向用户提供统一的块级存储资源,从而使SAN存储设备完整地兼容以太网络、infiniband网络和光纤网络,用户通过以太网络、FC网络及IB网络连接到高端磁盘阵列,对导出的LUN(逻辑单元号,Logical Unit Number)进行数据读写访问,无缝接入用户现有环境,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。
附图说明
图1为本发明实施例的多协议存储系统的应用拓扑图;
图2为本发明实施例的多协议存储控制器的结构示意图;
图3为本发明实施例的多协议存储系统的结构示意图;
图4为本发明实施例的多协议存储控制器的工作流程图;
图5为本发明实施例的多协议存储控制器的数据解析流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提出了一种多协议存储控制器,应用于存储系统,如图2所示,所述多协议存储控制器包括前端通信模块、多协议支持模块、卷管理模块和后端通信模块,
所述前端通信模块,用于接收用户发送过来的数据请求,并将所述数据请求发送至多协议支持模块,还用于将多协议支持模块返回的数据发送至用户;
所述多协议支持模块,用于对所述数据请求按照所支持的协议进行解析,分离出请求数据;还用于将卷管理模块返回的数据发送至前端通信模块;
所述卷管理模块,用于对所述请求数据进行识别,识别出所述请求数据对应的底层磁盘逻辑单元号,并将识别出的逻辑单元号提交给后端通信模块,还用于将后端通信模块返回的数据发送至多协议支持模块;
所述后端通信模块,用于按照识别出的逻辑单元号查找到请求数据对应的底层磁盘,读出和/或写入数据。
其中,前端通信模块为万兆以太网卡、光纤信道卡或无限带宽卡,后端通信模块为串行连接小型计算机系统接口,支持的协议包括iSCSI协议、FCP协议、SRP协议和iSer协议。
在一个备选方案中,所述卷管理模块,还用于在用户发送数据请求之前,识别存储区域网络的底层磁盘,并将所述底层磁盘建立磁盘阵列组,将所述磁盘阵列组组织成逻辑卷,并向多协议支持模块提供所述逻辑卷的快照。
在一个备选方案中,所述控制器还包括缓存管理模块和控制器管理模块,
所述缓存管理模块,用于加速多协议支持模块的请求数据和卷管理模块返回的数据,在控制器间进行数据镜像,并向控制器管理模块提供数据刷新接口;
所述控制器管理模块,用于提取所述多协议支持模块的请求数据,利用所述数据刷新接口读取卷管理模块返回的数据,并在控制器间进行数据的多路径输入输出管理。
所述请求数据包括顺序读访问和随机写访问。
所述多协议支持模块包括目标驱动模块、驱动解析模块和设备处理模块;
所述目标驱动模块,用于接收数据请求;
所述驱动解析模块,用于将接收到的数据请求按照不同协议的解析出来,并递交给设备处理模块;
所述设备处理模块,用于接收和管理驱动解析模块提交的请求数据。
如图1和图3所示,多协议存储系统,包括一个或多个多协议存储控制器和存储区域网络,所述存储区域网络包括多个底层磁盘。
当有多个控制器时,所述控制器间通过无限带宽网络互相连接,通过数据镜像和数据的多路径输入输出管理,在控制器间进行数据传递。
多协议支持模块向iSCSI协议、FCP协议以及SRP协议的target驱动提供统一的注册接口,如图4所示从系统的总体结构的角度说明了多协议支持框架SCST所在的位置,远程客户端位于远程的主机上,它通过前端通信模块来与SCST建立连接,或逻辑驱动,它接收远程的连接,解释接收到的SCSI并请求到SCST,SCST调用device type driver解析scsi命令送给SCSI中间层,最终由底层驱动执行完并返回状态给SCST,最后由SCST调用targetdriver发送响应回远程客户端。
如图5所示,target(FC、iSCSI或者IB)驱动到相应封装格式的命令后通知scst,得到scst的响应后再通知scst对命令进行初始化并从中解析出scsi命令,scst会将此scsi命令放到相应的线程中处理。
处理线程调用dev handler的解析命令函数先对scsi命令解析,判断是读写或其他命令。如果是写命令,首先分配空间,然后通知target驱动开始传输数据(initiator到target);如果是读命令,只需要分配空间;如果是其他命令,则不需要分配空间。
下一步处理线程将具体的命令进行处理。如果是写命令,target驱动会把从initiator传输来的数据拷贝到之前分配好的空间里,然后调用dev handler的执行命令函数将数据写入lun的指定位置;如果是读命令,则调用devhandler的执行命令函数从lun的指定位置读取相应的数据到之前分配好的空间里;如果是其他命令,只调用scst本地的处理函数。命令处理完毕后,先通知dev handler,然后给target发送响应,如果数据则一并发送。
Target驱动处理完命令后,通知scst已经完成此命令,scst会通知devhandler释放此命令,紧接着通知target驱动也释放此命令。至此,一个命令的处理过程全部完毕。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种多协议存储控制器,其特征在于:所述控制器包括前端通信模块、多协议支持模块、卷管理模块和后端通信模块,
所述前端通信模块,用于接收用户发送过来的数据请求,并将所述数据请求发送至多协议支持模块,还用于将多协议支持模块返回的数据发送至用户;
所述多协议支持模块,用于按照所支持的协议对所述数据请求进行解析,分离出请求数据;还用于将卷管理模块返回的数据发送至前端通信模块;
所述卷管理模块,用于对所述请求数据进行识别,识别出所述请求数据对应的底层磁盘逻辑单元号,并将识别出的逻辑单元号提交给后端通信模块,还用于将后端通信模块返回的数据发送至多协议支持模块;
所述后端通信模块,用于按照识别出的逻辑单元号查找到请求数据对应的底层磁盘,读出和/或写入数据。
2.如权利要求1所述的控制器,其特征在于:所述多协议支持模块所支持的协议包括iSCSI协议、FCP协议、SRP协议和iSer协议。
3.如权利要求1所述的控制器,其特征在于:所述卷管理模块,还用于在用户发送数据请求之前,识别存储区域网络的底层磁盘,并将所述底层磁盘建立磁盘阵列组,将所述磁盘阵列组组织成逻辑卷,并向多协议支持模块提供所述逻辑卷的逻辑单元号。
4.如权利要求1所述的控制器,其特征在于:所述控制器还包括缓存管理模块和控制器管理模块,
所述缓存管理模块,用于加速多协议支持模块的请求数据和卷管理模块返回的数据,在控制器间进行数据镜像,并向控制器管理模块提供数据刷新接口;
所述控制器管理模块,用于提取所述多协议支持模块的请求数据,利用所述数据刷新接口读取卷管理模块返回的数据,并在控制器间进行数据的多路径输入输出管理。
5.如权利要求4所述的控制器,其特征在于:所述请求数据包括顺序读访问和随机写访问。
6.如权利要求1所述的控制器,其特征在于:所述多协议支持模块包括目标驱动模块、驱动解析模块和设备处理模块;
所述目标驱动模块,用于接收数据请求;
所述驱动解析模块,用于将接收到的数据请求按照不同协议的解析出来,并递交给设备处理模块;
所述设备处理模块,用于接收和管理驱动解析模块提交的请求数据。
7.如权利要求1所述的控制器,其特征在于:所述前端通信模块为万兆以太网卡、光纤信道卡或无限带宽卡。
8.如权利要求1所述的控制器,其特征在于:所述后端通信模块为串行连接小型计算机系统接口。
9.一种多协议存储系统,其特征在于:所述系统包括一个或多个多协议存储控制器和存储区域网络,所述控制器为权利要求1-8任意权利要求所述的控制器,所述存储区域网络包括多个底层磁盘。
10.如权利要求9所述的系统,其特征在于:当有多个控制器时,所述控制器间通过无限带宽网络互相连接,通过数据镜像和数据的多路径输入输出管理,在控制器间进行数据传递。
CN201310133003.8A 2013-04-17 2013-04-17 多协议存储控制器和系统 Active CN103257941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310133003.8A CN103257941B (zh) 2013-04-17 2013-04-17 多协议存储控制器和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310133003.8A CN103257941B (zh) 2013-04-17 2013-04-17 多协议存储控制器和系统

Publications (2)

Publication Number Publication Date
CN103257941A CN103257941A (zh) 2013-08-21
CN103257941B true CN103257941B (zh) 2015-09-23

Family

ID=48961871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310133003.8A Active CN103257941B (zh) 2013-04-17 2013-04-17 多协议存储控制器和系统

Country Status (1)

Country Link
CN (1) CN103257941B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486110B (zh) * 2014-12-09 2018-04-13 上海爱数信息技术股份有限公司 一种基于rpc协议的统一存储资源管理方法
CN105049411A (zh) * 2015-05-29 2015-11-11 浪潮集团有限公司 一种采用scst实现多协议通信的方法
CN105138336A (zh) * 2015-08-31 2015-12-09 浪潮集团有限公司 一种PowerPC平台实现融合式存储管理的方法
CN105243166A (zh) * 2015-11-10 2016-01-13 浪潮(北京)电子信息产业有限公司 一种数据管理装置、系统及其数据写入、读取方法
CN106708428B (zh) * 2016-11-21 2018-06-29 平安科技(深圳)有限公司 数据虚拟化存储方法和装置
CN108121600B (zh) * 2016-11-30 2022-11-29 中兴通讯股份有限公司 磁盘阵列控制器、输入输出io数据处理方法及装置
WO2019071431A1 (zh) 2017-10-10 2019-04-18 华为技术有限公司 处理i/o请求的方法、设备及主机
CN108845767B (zh) * 2018-06-08 2021-06-29 郑州云海信息技术有限公司 存储中的卷的缓存加速管理方法、系统、设备及存储介质
CN111338991B (zh) * 2020-02-20 2022-03-11 中国科学院自动化研究所 基于eMMC阵列的多模态存储系统
CN113810109B (zh) * 2021-10-29 2022-09-27 西安微电子技术研究所 一种多协议多业务光纤通道控制器及其工作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN1688982A (zh) * 2002-08-09 2005-10-26 网络装置公司 为文件和块存取协议提供综合支持的多协议存储设备
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器
CN102611754A (zh) * 2012-03-22 2012-07-25 浪潮电子信息产业股份有限公司 一种基于iSCSI的云存储中客户端管理方法
CN102843435A (zh) * 2012-09-10 2012-12-26 浪潮(北京)电子信息产业有限公司 一种在集群系统中存储介质的访问、响应方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366808B2 (en) * 2005-11-23 2008-04-29 Hitachi, Ltd. System, method and apparatus for multiple-protocol-accessible OSD storage subsystem

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1688982A (zh) * 2002-08-09 2005-10-26 网络装置公司 为文件和块存取协议提供综合支持的多协议存储设备
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器
CN102611754A (zh) * 2012-03-22 2012-07-25 浪潮电子信息产业股份有限公司 一种基于iSCSI的云存储中客户端管理方法
CN102843435A (zh) * 2012-09-10 2012-12-26 浪潮(北京)电子信息产业有限公司 一种在集群系统中存储介质的访问、响应方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Linux下iSCSI存储系统中逻辑卷管理的设计与实现;余胜生等;《计算机工程》;20040630;全文 *

Also Published As

Publication number Publication date
CN103257941A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN103257941B (zh) 多协议存储控制器和系统
CN103152397B (zh) 一种多协议存储系统设计方法
CN101651559B (zh) 一种存储服务在双控制器存储系统中故障切换的方法
US10423332B2 (en) Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands
US8190816B2 (en) Embedded scale-out aggregator for storage array controllers
EP3470984B1 (en) Method, device, and system for managing disk lock
EP2667296A1 (en) Method and apparatus of data processing
CN105677703A (zh) Nas文件系统及其访问方法和装置
US20240020247A1 (en) Mechanism to autonomously manage ssds in an array
US10372673B2 (en) Storage network element discovery method and apparatus
CN104750428A (zh) 块储存存取和网关模块、储存系统和方法与内容递送装置
CN105739930A (zh) 一种存储架构及其初始化方法和数据存储方法及管理装置
CN115080479B (zh) 传输方法、服务器、设备、裸金属实例及基板管理控制器
US9674312B2 (en) Dynamic protocol selection
WO2016101856A1 (zh) 数据访问方法及装置
CN103607429A (zh) 云计算业务实现方法和系统
WO2022057439A1 (zh) 裸金属服务器与弹性块存储的通信装置、智能网卡和系统
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
CN101291202B (zh) 数据传输路径的管理方法和主机服务器
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
US9396023B1 (en) Methods and systems for parallel distributed computation
CN102868684A (zh) 一种光纤通道目标器及光纤通道目标器实现方法
EP2300925B1 (en) System to connect a serial scsi array controller to a storage area network
CN109376135B (zh) 一种集群文件系统管理方法和系统
US10496305B2 (en) Transfer of a unique name to a tape drive

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant