CN103257941B - 多协议存储控制器和系统 - Google Patents
多协议存储控制器和系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 16
- 239000000835 fiber Substances 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
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所述的系统,其特征在于:当有多个控制器时,所述控制器间通过无限带宽网络互相连接,通过数据镜像和数据的多路径输入输出管理,在控制器间进行数据传递。
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)
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)
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)
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 |
-
2013
- 2013-04-17 CN CN201310133003.8A patent/CN103257941B/zh active Active
Patent Citations (5)
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)
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 |