一种新型软件硬件协同RAID改进系统的制作方法

文档序号:23761216发布日期:2021-01-29 18:53阅读:55来源:国知局
一种新型软件硬件协同RAID改进系统的制作方法
一种新型软件硬件协同raid改进系统
技术领域
[0001]
本发明属于硬盘阵列技术领域,具体涉及一种新型软件硬件协同raid改进系统。


背景技术:

[0002]
raid(redundant array of independent disks)技术也称为冗余独立硬盘阵列技术,其初衷是为了将较廉价的多个小硬盘进行组合来替代价格昂贵的大容量硬盘,同时保证单个硬盘损坏后不会影响到数据的正确性。raid技术经过不断的发展已经能够提供完善的存储设备解决方案,在提高硬盘容量的同时,还能够充分提高硬盘的速度,使数据更加安全,更加易于硬盘的管理。正是由于raid技术这种数据高可靠性高容错性特性,raid技术在军用存储系统中存在广泛的应用需求。
[0003]
raid板卡即是可进行raid计算的硬件板卡。电脑插入raid板卡,raid板卡上接入硬盘,即可实现raid功能。电脑与raid接口卡一般通过pcie接口接连,raid接口卡再外接组成raid阵列的硬盘,如图1所示。raid接口卡负责全部raid算法的实现,将外接的硬盘组织成raid阵列,减轻了电脑端主机的工作负担,提高了运行效率,电脑端看raid板卡及其外接硬盘就是一个完整的硬盘。
[0004]
传统借助raid板卡实现raid功能的数据流如图2所示。数据在电脑主机内存和硬盘之间流通。数据流通通路包括pcie接口、raid板卡数据处理通路、raid板卡的缓存模块以及sata接口。
[0005]
这种传统的raid实现方式具备不占用电脑主机运算资源的优点,raid性能的好坏只取决于raid板卡的硬件性能,而不取决于电脑主机的性能。但是这种传统的raid实现方式只能充分利用raid板卡的硬件能力,而无法借助电脑主机的剩余性能,限制了整套raid平台的硬件性能的充分利用,无法将raid性能最大化。


技术实现要素:

[0006]
(一)要解决的技术问题
[0007]
本发明要解决的技术问题是如何提供一种新型软件硬件协同raid改进系统,以解决现有的raid实现方式无法借助电脑主机的剩余性能,限制了整套raid平台的硬件性能的充分利用,无法将raid性能最大化的问题。
[0008]
(二)技术方案
[0009]
为了解决上述技术问题,本发明提出一种新型软件硬件协同raid改进系统,该系统包括电脑主机端、raid板卡和组成raid阵列的硬盘,所述电脑主机端与所述raid板卡通过pcie接口连接,所述raid板卡外接所述组成raid阵列的硬盘;从主机内存到硬盘之间有一条数据流通路,该数据流通路包括pcie接口、存储模块和数据计算模块组成的raid板卡数据通路1及raid板卡的缓存模块;所述电脑主机端还包括raid软件计算模块和监测模块,所述raid板卡还包括一条数据通路2和一个计数模块,从主机内存到硬盘之间形成第2条数据流通路,该数据流通路包括raid软件计算模块、pcie接口、raid板卡数据通路2及raid板
卡的缓存模块;同时,所述raid软件计算模块连接到所述监测模块,所述计数模块与所述raid板卡的数据计算模块连接,所述计数模块还与raid板卡的缓存模块连接,通过pcie接口与所述raid软件计算模块连接。
[0010]
进一步地,所述监测模块用于监测模块衡量当前cpu负载,若有cpu核处于在低负载状态下,则通知所述raid软件计算模块进行raid计算处理。
[0011]
进一步地,所述raid软件计算模块用于接收所述监测模块的通知,从addr+l地址的数据开始反向进行raid计算处理,并将处理完成的数据通过pcie接口、数据通路2送达raid板卡缓存模块中;其中,电脑主机端需发送的数据的地址为addr,长度为l+1。
[0012]
进一步地,所述计数模块计算所述缓存模块中的数据量是否大于等于总数据量l+1,若大于等于总数据量l+1,则向主机电脑端的所述raid软件计算模块和所述raid板卡端的所述数据计算模块发信号,停止所述主机电脑端的所述raid软件计算模块和所述raid板卡端的所述数据计算模块,并将数据写入硬盘中,否则继续等待。
[0013]
进一步地,所述数据流通路和所述第2条数据流通路中,在所述raid板卡的所述缓存模块之后还包括sata接口。
[0014]
(三)有益效果
[0015]
本发明提出一种新型软件硬件协同raid改进系统,通过在电脑主机端增加了raid软件计算模块和监测模块,在raid板卡端增加了一条数据通路2和一个计数模块,可通过监测模块监测当前cpu负载,当cpu负载较低时,可使用raid软件计算模块进行raid计算处理,为了避免与raid板卡的数据计算模块进行的raid计算处理冲突,raid软件计算模块从主机内存的尾部开始计算,并将计算结果通过数据通路2输送到缓存模块,由于通过raid板卡的数据计算模块和raid软件计算模块同时计算,加快了raid计算处理的速度,而且利用了剩余的cpu资源。另外,通过计数模块计算缓存模块中的数据量是否大于等于总数据量(l+1),若大于等于总数据量(l+1),则停止计算,防止重复计算。本发明通过软件配合raid板卡,实现更快的raid性能,并且不会造成电脑端cpu资源紧张。
附图说明
[0016]
图1为传统的raid板卡连接图;
[0017]
图2为传统的raid板卡设计图;
[0018]
图3为本发明的新型软件硬件协同raid改进图。
具体实施方式
[0019]
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0020]
如图3所示,本专利提出一种新型软件硬件协同raid系统,此系统可通过软件配合raid板卡,实现更快的raid性能,并且不会造成电脑端cpu资源紧张。
[0021]
本专利提出的新型软件硬件协同raid系统如图3所示。电脑主机端插入raid板卡,raid板卡上接入硬盘,电脑主机端与raid板卡通过pcie接口连接,raid板卡外接组成raid阵列的硬盘。从主机内存到硬盘之间有一条数据流通路,该数据流通路包括pcie接口、raid板卡数据通路1、raid板卡的缓存模块以及sata接口。raid板卡数据通路1包括存储模块和
数据计算模块。
[0022]
本技术框架在电脑主机端增加了raid软件计算模块和监测模块,在raid板卡端增加了一条数据通路2和一个计数模块。从主机内存到硬盘之间形成第2条数据流通路,该数据流通路包括raid软件计算模块、pcie接口、raid板卡数据通路2、raid板卡的缓存模块以及sata接口。同时,所述raid软件计算模块连接到所述监测模块,所述计数模块与所述raid板卡的数据计算模块连接,所述计数模块还与raid板卡的缓存模块连接,通过pcie接口与所述raid软件计算模块连接。
[0023]
所述监测模块用于监测模块衡量当前cpu负载,若有cpu核处于在低负载状态下,则通知所述raid软件计算模块进行raid计算处理;
[0024]
所述raid软件计算模块用于接收所述监测模块的通知,从(addr+l)地址的数据开始反向进行raid计算处理,并将处理完成的数据通过pcie接口、数据通路2送达raid板卡缓存模块中;
[0025]
所述计数模块计算缓存模块中的数据量是否大于等于总数据量(l+1),若大于等于总数据量(l+1),则向主机电脑端的raid软件计算模块和raid板卡端的数据计算模块发信号,停止主机电脑端的raid软件计算模块和raid板卡端的数据计算模块,并将数据写入硬盘中,否则继续等待。
[0026]
通过这些模块的增加,配合软件算法,可以实现一种性能更优的raid技术方案。
[0027]
本专利提出一种新型软件硬件协同raid算法,此算法可通过软件配合raid板卡,实现更快的raid性能,并且不会造成电脑端cpu资源紧张。
[0028]
本专利提出的新型软件硬件协同raid算法策略的数据流如图3所示。
[0029]
本专利提出的新型软件硬件协同raid改进方法步骤如下:
[0030]
电脑主机将需发送的数据的地址addr和长度l+1的相关信息的存储地址传输到raid板卡,raid板卡接收到信息地址后通过pcie接口去内存中从(addr)地址取数据;
[0031]
raid板卡将数据存储于板卡上的存储模块中,然后raid板卡的数据计算模块开始对数据进行raid运算,结果存入raid板卡的缓存模块中;
[0032]
电脑主机端的监测模块衡量当前cpu负载,若有cpu核处于在低负载状态下,则通知raid软件计算模块从(addr+l)地址的数据开始反向进行raid计算处理,处理完成的数据通过pcie接口、数据通路2到达raid板卡缓存模块中;
[0033]
raid板卡的计数模块计算缓存模块中的数据量是否大于等于总数据量(l+1),若大于等于总数据量(l+1),则停止主机电脑端的raid软件计算模块和raid板卡端的数据计算模块,并将数据写入硬盘中,否则继续等待。
[0034]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1