一种新型RAID阵列卡工作方法、计算机设备及存储介质与流程

文档序号:37113200发布日期:2024-02-22 21:12阅读:12来源:国知局
一种新型RAID阵列卡工作方法、计算机设备及存储介质与流程

本发明属于软件,尤其涉及一种新型raid阵列卡工作方法、计算机设备及存储介质。


背景技术:

1、raid(redundant array of independent disks)技术也称为冗余独立硬盘阵列技术,其初衷是为了将较廉价的多个小硬盘进行组合来替代价格昂贵的大容量硬盘,同时保证单个硬盘损坏后不会影响到数据的正确性。raid技术经过不断的发展已经能够提供完善的存储设备解决方案,在提高硬盘容量的同时,还能够充分提高硬盘的速度,使数据更加安全,更加易于硬盘的管理。正是由于raid技术这种数据高可靠性高容错性特性,raid技术在存储系统中存在广泛的应用需求。

2、raid技术的硬件核心是一块raid阵列卡,raid阵列卡上集成了raid控制器芯片和一些板上接口和存储设备。raid控制器板卡与外界交互主要是两个接口,一个是pcie接口,一个是sata接口。其中sata接口用来连接外部磁盘阵列,pcie接口连接电脑主板或其他设备的pcie接口。所以raid控制器板卡通过sata接口管理外部磁盘阵列,通过pcie接口完成与用户的命令与数据的交互。如图1所示。

3、传统raid阵列卡的技术方案是计算机将raid阵列卡识别为scsi设备,将raid卡可识别的scsi命令发送至raid阵列卡,raid板卡对scsi命令进行处理并将处理的结果通过中断信号返回给计算机。对于计算机下发的命令,完全由raid阵列卡上的处理器进行相关的任务调度和处理,并将结果反馈给计算机。对于数据的读写,raid阵列卡需要具备高速缓存模块,将数据从计算机或者硬盘中读取到raid阵列卡的高速缓存模块,然后对高速缓存模块中的数据进行raid计算,得到校验值。由于存在高速缓存模块,所以目前raid阵列卡都需要配备掉电保护模块(常用电容或电池,由连接线与raid阵列卡进行连接),用来保证突然掉电时,raid阵列卡可以仍然供电,保证高速缓存模块中的数据可以写入非易失性器件进行保存,避免数据的丢失。如图2所示。

4、目前的raid阵列卡处理器性能受限于raid阵列卡的体积和散热,无法做到特别高的性能,而raid阵列卡需要处理器进行处理和调度的任务又特别繁多,需要加入多种中断处理和任务优先级才可保证任务得到妥善处理,所以导致传统的raid阵列卡的处理器长期处于重负荷状态且影响任务处理效率。


技术实现思路

1、为克服相关技术中存在的问题,本发明公开实施例提供了一种新型raid阵列卡工作方法、计算机设备及存储介质。

2、所述技术方案如下:一种新型raid阵列卡工作方法,在计算机驱动端增加scsi设备虚拟模块和任务调度处理模块,将raid阵列卡端的部分工作转移到计算机驱动进行处理,将raid阵列卡的raid计算校验值功能保留在raid阵列卡,同时去掉raid阵列卡上的高速缓存模块和掉电保护模块,降低raid阵列卡的发热量,同时使用raid阵列卡上的raid计算模块进行校验值计算,具体包括以下步骤:

3、s1,计算机加载raid阵列卡驱动,在驱动中使用任务调度处理模块查询raid阵列卡存储的阵列信息,确定当前raid阵列卡连接硬盘组成的raid级别和阵列个数,并使用scsi设备虚拟模块将raid阵列卡虚拟为scsi存储设备;

4、s2,当前计算机检测到raid阵列卡对应的scsi存储设备,若对scsi存储设备进行写操作,启动raid阵列卡的raid计算模块进行计算;

5、s3,raid计算模块完成计算后,调用任务调度处理模块控制raid阵列卡的sata控制器完成写操作;

6、s4,若对scsi存储设备进行数据读取操作,则用任务调度处理模块计算出数据处于硬盘的位置,并将数据读出到电脑ddr中,完成读操作;

7、s5,若raid阵列卡处于降级或未重建状态下,绕过处于丢失状态或者未重建状态的硬盘,完成写、读操作。

8、进一步的,在步骤s1前需进行:对raid阵列卡处理器、pcie控制器和sata控制器的初始化。

9、进一步的,在步骤s2中,当前计算机检测到raid阵列卡对应的scsi存储设备,启动raid阵列卡的raid计算模块进行计算包括:

10、若对scsi存储设备进行数据写入,则驱动程序接收到写入数据的命令后,在计算机空闲ddr空间中申请空间1,然后将scsi存储设备需要写入数据的地址的长度、空间1地址和raid级别写入raid阵列卡的raid计算模块,然后启动raid计算模块进行计算。

11、在步骤s3中,调用任务调度处理模块控制raid阵列卡的sata控制器完成写操作包括:调用任务调度处理模块计算出当前raid阵列卡需要将数据和校验值写入的硬盘编号和对应的地址,然后控制raid阵列卡的sata控制器将ddr中的数据和空间1中的数据写入硬盘中,完成写操作。

12、在步骤s4中,对scsi存储设备进行数据读取操作包括:驱动程序接收到需要读取的数据在scsi存储设备中的地址和长度,并且得到等待放入读取数据的计算机空闲ddr中空间2地址后,调用任务调度处理模块,基于当前raid阵列卡的级别和硬盘成员,计算得到数据所在的磁盘和对应的长度,并控制raid阵列卡的sata控制器将数据从对应的硬盘中读取到计算机空闲ddr中的空间2中,完成读操作。

13、在步骤s5中,若raid阵列卡处于降级或未重建状态下,绕过处于丢失状态或者未重建状态的硬盘,完成写操作包括:若raid阵列卡处于降级或未重建状态下,raid计算模块完成计算后,驱动调用任务调度处理模块计算出当前raid阵列需要将数据和校验值写入的硬盘编号和对应的地址,然后控制raid阵列卡的sata控制器将ddr中的数据和空间1中的数据写入到raid阵列剩余的硬盘中,绕过处于丢失状态或者未重建状态的硬盘,完成写操作。

14、在步骤s5中,若raid阵列卡处于降级或未重建状态下,绕过处于丢失状态或者未重建状态的硬盘,完成读操作包括:若对存储设备进行数据读取,则驱动程序接收到需要读取的数据在scsi设备中的地址和长度,并且得到等待放入读取数据的计算机空闲ddr中的空间2地址后,调用任务调度处理模块,控制raid计算模块将丢失状态或处于未重建状态的硬盘数据计算出来,放入计算机空闲ddr中的空间2中,完成读操作。

15、进一步的,调用任务调度处理模块中,需进行:基于当前raid阵列卡的级别和硬盘成员,计算得到数据所在的磁盘和对应的长度,并控制raid阵列卡的sata控制器将数据从对应的硬盘中读取到计算机空闲ddr中的空间2中。

16、本发明的另一目的在于提供一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述新型raid阵列卡工作方法。

17、本发明的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述所述新型raid阵列卡工作方法。

18、结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提出了一种新型的raid阵列卡工作方法,相比传统raid阵列卡,在raid阵列卡端去掉了高速缓存模块、用于存储缓存模块数据的非易失性存储器件和外接掉电保护模块,并且将处理器更换为性能功耗更低的低级处理器,而在计算机驱动端增加了scsi设备虚拟模块和任务调度处理模块,将raid阵列卡端的一部分工作转移到计算机驱动进行处理,简化了raid阵列卡的架构并且不影响阵列卡的性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1