一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种RAID控制卡和计算设备的制作方法

2022-11-16 16:35:15 来源:中国专利 TAG:

一种raid控制卡和计算设备
技术领域
1.本发明涉及计算设备领域,尤其涉及一种raid控制卡和计算设备。


背景技术:

2.独立硬盘冗余阵列(redundant array of independent disks,raid)是利用虚拟化存储技术将多个独立的磁盘组合成一个容量巨大的磁盘组。高速缓存raid控制卡是指设置有双倍速率同步动态随机存储器(double data rate,ddr)等高速缓存存储器的raid控制卡。
3.高速缓存raid控制卡在传输数据过程中,将数据先缓存在高速缓存存储器中再发送给其它存储器,可以提高raid控制卡的数据传输效率。但是,高速缓存raid控制卡在数据传输过程中,如果出现掉电、复位等情况时,高速缓存存储器中已经缓存的数据可能会丢失,导致高速缓存raid控制卡传输数据丢失。


技术实现要素:

4.为了解决上述的问题,本技术的实施例中提供了一种raid控制卡和计算设备,raid控制卡在接收电子设备的处理器发送的复位信号后,停止接收pcie总线传输数据,并让raid控制卡掉电。超级电容向raid控制器提供电能,让raid控制器读取缓存存储器中的缓存数据,并将缓存数据存储在其它存储器中。raid控制卡完成col操作后重新上电,并根据复位信号进行复位,可以避免raid控制卡在复位过程中接收其它数据导致异常的问题。
5.为此,本技术的实施例中采用如下技术方案:
6.第一方面,本技术提供一种raid控制卡,包括:逻辑控制器和raid控制器,逻辑控制器,用于接收复位信号,根据复位信号生成电源丢失信号,并将电源丢失信号发送给raid控制器,复位信号用于指示raid控制器进行复位;raid控制器,用于根据电源丢失信号执行缓存卸载col操作,col操作是指raid控制卡掉电后,将缓存存储器中的缓存数据写入非易失性存储器的过程。
7.在该实施方式中,raid控制卡在异常掉电控制逻辑中,引入复位信号参与控制逻辑。raid控制卡在接收到复位信号后,raid控制卡可以将复位信号当作掉电异常信号进行处理,使得raid控制卡处理异常掉电和系统复位的过程相同。在最大程度地不改变现有的raid控制卡内部结构前提下,可以解决raid控制卡在复位过程中接收其它数据导致异常的问题,极大地降低成本。
8.在一种实施方式中,逻辑控制器,还用于根据电源丢失信号,向raid控制器发送复位信号;raid控制器,还用于根据复位信号,关闭raid控制器的高速串行计算机扩展总线标准pcie的核心,pcie的核心用于控制pcie总线接收数据。
9.在该实施方式中,逻辑控制器向raid控制器发送复位信号,是让raid控制器关闭pcie core,让raid控制卡与电子设备间的pcie总线断开通信连接,避免raid控制器继续接收数据,导致raid控制卡无法正常启动。
10.在一种实施方式中,逻辑控制器包括掉电处理单元和复位处理单元,掉电处理单元,用于根据电源丢失信号生成触发信号,并向复位处理单元发送触发信号;复位处理单元,用于根据触发信号,将复位信号转发至raid控制器。
11.在一种实施方式中,raid控制器,还用于接收到电源丢失信号后,向逻辑控制器发送锁定指令,锁定指令用于指示逻辑控制器锁定发送电源丢失信号的功能。
12.在该实施方式中,raid控制器在执行col操作过程中,向逻辑控制器发送锁定指令,让逻辑控制器无法在raid控制器在执行col操作时发送电源丢失信号,避免raid控制器在执行col操作时再次接收到电源丢失信号,让raid控制器不断地重新执行col操作,使得raid控制器进入col操作死循环中,导致raid控制卡出现异常。
13.在一种实施方式中,raid控制器,还用于在完成col操作后,向逻辑控制器发送col完成信号;逻辑控制器,还用于在接收到col完成信号后,向raid控制器发送复位信号,复位信号用于指示raid控制器进行复位。
14.在该实施方式中,raid控制器完成col操作后,让逻辑控制器再次发送复位信号,raid控制器进行重新初始化,实现raid控制器的复位。
15.在一种实施方式中,raid控制器,还用于在完成col操作后,向逻辑控制器发送解锁指令,解锁指令用于指示逻辑控制器解锁发送电源丢失信号的功能。
16.在该实施方式中,raid控制器在完成复位操作后,需要解除逻辑控制器的锁定,让逻辑控制器可以正常地向raid控制器发送电源丢失信号,实现raid控制器正常地工作。
17.在一种实施方式中,raid控制器,还用于周期性地向逻辑控制器发送心跳信号;逻辑控制器,还用于接收到心跳信号后,解锁发送电源丢失信号的功能。
18.在一种实施方式中,逻辑控制器,还用于在设定时间段内没有接收到心跳信号,锁定发送电源丢失信号的功能。
19.在一种实施方式中,raid控制器在接收到电源丢失信号后,停止向逻辑控制器发送心跳信号。
20.在一种实施方式中,逻辑控制器,还用于接收馈电信号,根据馈电信号生成电源丢失信号,并将电源丢失信号发送给raid控制器,馈电信号用于指示raid控制卡接收到的电信号异常。
21.第二方面,本技术提供一种写缓存异常的处理方法,由raid控制卡执行,方法包括:接收复位信号,复位信号用于指示raid控制卡进行复位;根据复位信号执行缓存卸载col操作,col操作是指raid控制卡掉电后,将缓存存储器中的缓存数据写入非易失性存储器的过程;确定raid控制卡完成col操作后,执行复位操作。
22.在一种实施方式中,raid控制卡包括逻辑控制器和raid控制器,根据复位信号执行缓存卸载col操作,包括:逻辑控制器接收到复位信号后,控制raid控制器执行col操作。
23.在一种实施方式中,逻辑控制器接收到复位信号后,控制raid控制器执行col操作,包括:逻辑控制器接收到复位信号后,生成电源丢失信号,并向raid控制器发送电源丢失信号;raid控制器接收到电源丢失信号后,执行col操作。
24.在一种实施方式中,在逻辑控制器接收到复位信号后,生成电源丢失信号,并向raid控制器发送电源丢失信号之后,方法还包括:逻辑控制器根据电源丢失信号,触发逻辑控制器向raid控制器发送复位信号,复位信号用于指示raid控制器关闭raid控制器的高速
串行计算机扩展总线标准pcie的核心,pcie的核心用于控制pcie总线接收数据。
25.在一种实施方式中,逻辑控制器包括掉电处理单元和复位处理单元,逻辑控制器根据电源丢失信号,触发逻辑控制器向raid控制器发送复位信号,包括:掉电处理单元根据电源丢失信号生成触发信号,并向复位处理单元发送触发信号;复位处理单元根据触发信号,将复位信号转发至raid控制器。
26.在一种实施方式中,在根据复位信号执行缓存卸载col操作之后,还包括:确定raid控制卡执行col操作时,停止接收复位信号。
27.在一种实施方式中,raid控制卡包括逻辑控制器和raid控制器,确定raid控制卡执行col操作时,停止接收复位信号,包括:raid控制器接收到电源丢失信号后,向逻辑控制器发送锁定指令,锁定指令用于指示逻辑控制器锁定raid控制器在执行col操作期间发送电源丢失信号的功能。
28.在一种实施方式中,raid控制卡包括逻辑控制器和raid控制器,确定raid控制卡完成col操作后,执行复位操作,包括:raid控制器向逻辑控制器发送col完成信号,col完成信号指示raid控制器完成col操作;逻辑控制器向raid控制器发送复位信号,复位信号用于指示raid控制器进行复位。
29.在一种实施方式中,raid控制卡包括逻辑控制器和raid控制器,在确定raid控制卡完成col操作后,执行复位操作之后,还包括:raid控制器完成col操作后,向逻辑控制器发送解锁指令,解锁指令用于指示逻辑控制器解锁发送电源丢失信号的功能。
30.在一种实施方式中,raid控制卡包括逻辑控制器和raid控制器,方法还包括:raid控制器周期性地向逻辑控制器发送心跳信号;逻辑控制器接收到心跳信号后,解锁发送电源丢失信号的功能。
31.在一种实施方式中,方法还包括:当逻辑控制器没有接收到心跳信号的时间超过设定时间段时,锁定逻辑控制器发送电源丢失信号的功能。
32.第三方面,本技术提供一种计算设备,包括:至少一个处理器,至少一个存储器,至少一个如第一方面各个可能实现的raid控制卡,raid控制卡用于将至少一个处理器发送的数据传输到至少一个存储器中。
33.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行如第二方面各个可能实现的实施例。
34.第五方面,本技术提供一种计算机程序产品,其特征在于,计算机程序产品存储有指令,指令在由计算机执行时,使得计算机实施如第二方面各个可能实现的实施例。
附图说明
35.下面对实施例或现有技术描述中所需使用的附图作简单地介绍。
36.图1提供的一种数据存储系统的架构示意图;
37.图2为本技术实施例中提供的一种raid控制卡的结构示意图;
38.图3为本技术实施例中提供的一种写缓存异常的处理方法的流程示意图;
39.图4为本技术实施例中提供的一种写缓存异常的处理装置的架构示意图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
41.本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中符号“/”表示关联对象是或者的关系,例如a/b表示a或者b。
42.本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
43.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
44.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
45.图1提供的一种数据存储系统的架构示意图。如图1所示的系统中,包括有电子设备、raid控制卡和硬盘驱动器(hard disk drive,hdd)。电子设备包括中央处理器(central processing unit,cpu)。raid控制卡包括系统级芯片(system on chip,soc)、超级电容c、是与非(not and,nand)型闪存和至少一个ddr。电子设备的cpu通过pcie总线与soc建立通信连接。超级电容c可以通过直流/直流(direct current/direct current,dc/dc)转换器与soc电连接。soc与至少一个ddr建立通信连接。soc与nand型闪存建立通信连接。soc通过串行连接scsi(serial attached scsi,sas)总线与hdd建立通信连接。
46.cpu将待存储的数据存储在hdd过程中,cpu的数据是通过raid控制卡传输到hdd中。soc在传输数据过程中,soc通过pcie总线接收数据,实时地将接收到的数据缓存在ddr中。soc读取ddr中的缓存数据,并将读取的数据通过sas总线传输到hdd中。ddr可以将多个写io合并成一个写io,使得raid控制卡将数据先缓存在ddr中再发送给hdd,可以提高raid控制卡的数据传输效率。
47.ddr在缓存数据过程中,如果raid控制卡突然掉电,ddr中已经缓存的数据可能会丢失。为了避免ddr中缓存的数据丢失,现有的raid控制卡中设置有超级电容c。raid控制卡正常供电时,超级电容c是处于充电状态。raid控制卡掉电时,超级电容c是处于放电状态,并向soc提供电能。因此,raid控制卡突然掉电时,超级电容c向soc提供电能,让soc读取ddr中的缓存数据,并将缓存数据存储在nand型闪存中,可以避免ddr中缓存的数据丢失。此过程,也称为raid控制卡的缓存卸载(cache off load,col)操作。
48.现有技术中,电子设备的cpu进行复位时,cpu可以向raid控制卡的soc发送一个复位信号,指示soc进行复位。但是,cpu复位后的一段时间内,pcie总线可能还在向soc传输数据。soc在复位过程中,soc接收到无效数据(dirty data)后是无法进行复位。因此,在cpu复位后的一段时间内,soc不断地在复位和接收数据之间切换,导致raid控制卡无法正常启动。
49.为了解决现有的raid控制卡无法正常启动问题,本技术实施例提供了一种raid控
制卡和计算设备。
50.本技术中,raid控制卡在接收电子设备的cpu发送的复位信号后,停止接收pcie总线传输数据,并让raid控制卡掉电。超级电容c向soc提供电能,让soc读取ddr中的缓存数据,并将缓存数据存储在nand型闪存中。raid控制卡完成col操作后重新上电,并根据复位信号进行复位,可以避免raid控制卡在复位过程中接收其它数据导致异常的问题。
51.图2为本技术实施例中提供的一种raid控制卡的结构示意图。如图2所示的raid控制卡200,包括有连接器210、备用电源220、电压监测单元230、逻辑控制器240、raid控制器250、第一存储器260和第二存储器270。
52.连接器210是指raid控制卡200的各种接口的集合,包括有电源接口、pcie接口以及其它接口。其中,电源接口与外接电源电连接,可以为raid控制卡200提供电能。pcie通过pcie总线与其它电子设备的pcie接口耦合,可以接收其它电子设备发送的数据。
53.备用电源220可以是超级电容或电池。在一个实施例中,超级电容可以耦合在连接器210的电源接口与raid控制器250间。当连接器210的电源接口通电时,超级电容处于充电状态。当连接器210的电源接口断电时,超级电容处于放电状态,并向raid控制器250提供电能。在其它实施例中,备用电源220可以锂电池、蓄电池或其它电池,本技术在此不做限定。
54.电压监测单元230可以通过走线耦合在连接器210的电源接口与raid控制器250间的走线上,对连接器210的电源接口与raid控制器250间的走线进行电压采样。电压监测单元230的输出端与逻辑控制器240耦合,用于检测外接电源的电压是否异常,并在外接电源的电压处在异常情况下,向逻辑控制器240发送馈电信号。
55.在一个实施例中,电压监测单元230在得到采样电压后,判断采样电压是否大于设定阈值。当采样电压大于或等于设定阈值时,表明外接电源输入到raid控制卡200中的电压正常,电压监测单元230可以不作处理。当采样电压小于设定阈值时,电压监测单元230向逻辑控制器240发送馈电信号,馈电信号表示外接电源输入到raid控制卡200中的电压异常。
56.逻辑控制器240可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field programable gate array,fpga)或其它器件。逻辑控制器240输入端与连接器210上的通信接口耦合,用于接收其它电子设备发送的复位信号。逻辑控制器240与raid控制器250间建立通信连接,用于传输电源丢失(power loss,pl)信号、复位信号或其它控制指令。
57.本技术实施例中,逻辑控制器240可以根据执行的功能,划分为掉电处理单元241和复位处理单元242。在一个实施例中,掉电处理单元241在接收到电压监测单元230输入的馈电信号后,向raid控制器250发送pl信号,指示raid控制器250执行col操作。
58.在一个实施例中,逻辑控制器240接收到复位信号后,并将复位信号输入到掉电处理单元241。掉电处理单元241在接收到复位信号后,向raid控制器250发送pl信号,指示raid控制器250执行col操作。
59.在一个实施例中,逻辑控制器240接收到复位信号后,并将复位信号输入到复位处理单元242。复位处理单元242在接收到复位信号后,并在掉电处理单元241的触发下,向raid控制器250发送复位信号,指示raid控制器250关闭raid控制器250的pcie核心(core),让raid控制卡200与电子设备间的pcie总线断开连接。
60.在一个实施例中,逻辑控制器240接收到raid控制器250发送的col完成信号后,触
发复位处理单元242向raid控制器250发送复位信号,指示raid控制器250进行复位,实现初始化。
61.raid控制器250可以是soc、cpu、微处理单元(microcontroller unit,mcu)或其它处理器。在一个实施例中,raid控制器250在接收到pl信号后,执行col操作。在一个实施例中,raid控制器250在接收到复位信号后,关闭raid控制器250的pcie核心(core),以及复位。
62.第一存储器260可以是ddr、动态随机存取存储器(dynamic random access memory,dram)、静态随机存取存储器(static random access memory,sram)或其它随机存储器。本技术实施例中,第一存储器260与raid控制器250耦合。raid控制器250通过pcie总线接收数据,实时地将接收到的数据缓存在第一存储器260中。raid控制器250读取第一存储器260中的缓存数据,并将读取的数据写入到第二存储器270或者其它存储器中。
63.第二存储器270可以是nand型闪存、固态硬盘(solid state disk,ssd)、硬盘、磁带、压缩盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)或其它掉电非易失性存储器。本技术实施例中,第二存储器270与raid控制器250耦合。第二存储器270用于存储raid控制器250读取的数据。
64.在一个实施例中,第二存储器270可以存储有程序(也可以是指令或者代码),程序可被处理器运行,使得处理器执行本方案中描述的raid控制卡的异常处理方法。可选地,raid控制器250中还可以存储有数据。例如,raid控制器250可以读取第二存储器270中存储的数据,该数据可以与程序存储在相同的存储地址,该数据也可以与程序存储在不同的存储地址。
65.本技术中,raid控制器250、第一存储器260和第二存储器270可以单独设置,也可以集成在一起。例如,集成在单板或者印刷电路板(printed circuit board,pcb)上。同理,raid控制器250、第一存储器260和第二存储器270可以单独设置,也可以集成在一起。
66.可以理解的是,本技术实施例示意的结构并不构成对raid控制卡200的具体结构进行限定。在本技术另一些实施例中,raid控制卡200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
67.图3为本技术实施例中提供的一种写缓存异常的处理方法的流程示意图。如图3所示,逻辑控制器240与raid控制器250间写缓存异常的处理方法的具体过程如下:
68.步骤s301,逻辑控制器240接收电子设备发送的复位信号。
69.电子设备是指与raid控制卡耦合的设备,可以是计算机、笔记本电脑、基站、户外机柜、汽车或其它设备。本技术实施例中,raid控制卡200的连接器210与电子设备上的连接器耦合,让raid控制卡200与电子设备间的pcie总线建立通信连接,实现电子设备与raid控制卡200间传输数据。
70.电子设备的处理器在发送数据时,先读取存储器中存储的数据,然后通过pcie总线传输到raid控制卡200的raid控制器250中。在一个实施例中,电子设备的处理器触发上电复位、看门狗复位、低电压复位、外围电路复位或其它类型的复位时,电子设备的处理器相当于重新启动并工作。此时,电子设备的处理器需要重新与其它设备重新建立通信连接。本技术中,电子设备的处理器会向raid控制卡200发送复位信号,让电子设备与raid控制卡
200间的pcie总线重新建立通信连接。
71.步骤s302,逻辑控制器240根据复位信号,生成电源丢失信号。
72.具体地,raid控制卡200在接收到复位信号后,先将复位信号传输到逻辑控制器240中。逻辑控制器240在接收到复位信号后,根据复位信号产生电源丢失信号,电源丢失信号指示raid控制器250执行col操作。
73.在一个实施例中,逻辑控制器240中设置有与门控制逻辑器。与门控制逻辑器的一个输入端,用于接收电压监测单元230的馈电信号。与门控制逻辑器的另一个输入端,用于接收复位信号。与门控制逻辑器的输出端与raid控制器250耦合。与门控制逻辑器的两个输入端在接收到馈电信号和复位信号中的任意一个,都会向raid控制器250发送电源丢失信号。
74.步骤s303,逻辑控制器240向raid控制器250发送电源丢失信号和复位信号。
75.具体地,逻辑控制器240在得到电源丢失信号后,向raid控制器250发送电源丢失信号。同时,逻辑控制器240向raid控制器250发送复位信号。在一个实施例中,逻辑控制器240包括掉电处理单元241和复位处理单元242。逻辑控制器240会向掉电处理单元241和复位处理单元242发送复位信号。掉电处理单元241可以根据复位信号生成电源丢失信号,并将电源丢失信号发送至raid控制器250。可选地,掉电处理单元241在得到电源丢失信号后,会向复位处理单元242发送触发信号。复位处理单元242在接收到触发信号后,将复位信号转发给raid控制器250。
76.步骤s304,raid控制器250接收到电源丢失信号和复位信号后,执行col操作。
77.具体地,raid控制器250在接收到电源丢失信号后,在内部执行col操作。col操作是指raid控制卡200在出现异常掉电或其它突发事件时,把raid控制器250对应的随机存储器中缓存数据卸载到raid控制器250对应的非易失性存储器中,也即将第一存储器260中数据卸载到第二存储器270中,保护数据的完整性。本技术实施例中,第一存储器260为raid控制器250的随机存储器,用于缓存电子设备发送的缓存数据。第二存储器270为raid控制器250的非易失性存储器,用于存储raid控制器250写入的缓存数据。
78.raid控制器250在接收到复位信号后,关闭raid控制器250的pcie core,让raid控制卡200与电子设备间的pcie总线断开通信连接。raid控制器250停止接收电子设备发送的数据。但是,raid控制器250执行col操作时,raid控制器250掉电后,第一存储器260仍然缓存有数据。此时,备用电源220向raid控制器250提供电能,让raid控制器250继续读取第一存储器260中的数据,并将第一存储器260中缓存的数据写入第二存储器270中,可以避免第一存储器260中缓存的数据丢失。
79.raid控制器250在执行col操作过程中,raid控制器250再次接收到电源丢失信号,会让raid控制器250不断地重新执行col操作,使得raid控制器250进入col操作死循环中,导致raid控制卡200出现异常。本技术实施例中,raid控制器250在接收到电源丢失信号后,可以向逻辑控制器240发送锁定指令。逻辑控制器240在接收到锁定指令后,逻辑控制器240进入锁定状态,停止向raid控制器250发送电源丢失信号,避免raid控制器250在执行col操作过程中再次接收到电源丢失信号。
80.在一个实施例中,逻辑控制器240包括掉电处理单元241。逻辑控制器240在接收到锁定指令后,关断掉电处理单元241,避免掉电处理单元241在接收到采样电压或复位信号
后,再次向raid控制器250发送电源丢失信号,造成raid控制器250进入col操作死循环。其中,锁定可以是指逻辑控制器240关断掉电处理单元241。
81.步骤s305,raid控制器250向逻辑控制器240发送col完成信号。
82.步骤s306,逻辑控制器240向raid控制器250发送复位信号。
83.具体地,raid控制器250在执行col操作过程中,raid控制器250根据复位信号让pcie core处于关闭状态。raid控制器250对pcie core复位后,需要对pcie总线进行扫描来枚举该总线下连接的所有设备。当raid控制器250运行到pcie枚举时,等待raid控制器250在完成col操作,以便raid控制器250进行重新初始化。
84.本技术中,raid控制器250完成col操作后,向逻辑控制器240发送col完成信号。逻辑控制器240在接收到col完成信号后,触发复位处理单元242再次向raid控制器250发送复位信号。raid控制器250再次接收到复位信号后,raid控制器250进行重新初始化,实现raid控制器250的复位。
85.raid控制器250在完成复位操作后,逻辑控制器240还处在锁定状态。raid控制器250可以向逻辑控制器240发送解锁指令。逻辑控制器240在接收到解锁指令后,解除逻辑控制器240的锁定,让逻辑控制器240可以正常地向raid控制器250发送电源丢失信号。在一个实施例中,逻辑控制器240包括掉电处理单元241。逻辑控制器240在接收到解锁指令后,解除掉电处理单元241的锁定,让掉电处理单元241正常工作。
86.通常情况下,逻辑控制器240向raid控制器250发送电源丢失信号后,raid控制器250可以周期性地向逻辑控制器240发送心跳信号。raid控制器250进行复位或执行col操作时,raid控制器250停止向逻辑控制器240发送心跳信号。因此,raid控制器250在执行col操作时,会停止向逻辑控制器240发送心跳信号。逻辑控制器240在设定时间段内没有接收到心跳信号后,逻辑控制器240进入锁定状态。其中,锁定状态是指关断掉电处理单元241,避免掉电处理单元241在接收到采样电压或复位信号后,再次向raid控制器250发送电源丢失信号,造成raid控制器250进入col操作死循环。
87.raid控制器250完成col操作时,会再次向逻辑控制器240发送心跳信号。逻辑控制器240再次接收到心跳信号后,逻辑控制器240解除锁定状态。其中,解除锁定状态是指解除掉电处理单元241的锁定,让掉电处理单元241正常工作。
88.在一个实施例中,逻辑控制器240在设定时间段内没有接收到心跳信号导致进入锁定状态,可以认为逻辑控制器240在接收到锁定指令后,让逻辑控制器240进入锁定状态。同理,逻辑控制器240在接收到心跳信号解除锁定状态,可以认为逻辑控制器240在接收到解锁指令后,解除逻辑控制器240的锁定。
89.本技术实施例中,在raid控制卡的异常掉电控制逻辑中,引入复位信号参与控制逻辑。当raid控制卡接收到复位信号后,raid控制卡可以将复位信号当作掉电异常信号进行处理,使得raid控制卡处理异常掉电和系统复位的过程相同。在最大程度地不改变现有的raid控制卡内部结构前提下,可以解决raid控制卡在复位过程中接收其它数据导致异常的问题,极大地降低成本。
90.图4为本技术实施例中提供的一种写缓存异常的处理装置的架构示意图。如图4所示的写缓存异常的处理装置400,包括有收发单元401和处理单元402,处理单元402包括逻辑控制器4021和raid控制器4022。各个单元具体实现过程如下:
91.在一个实施例中,收发单元401用于接收复位信号,复位信号用于指示raid控制卡进行复位;处理单元402用于根据复位信号执行缓存卸载col操作,col操作是指raid控制卡掉电后,将缓存存储器中的缓存数据写入非易失性存储器的过程;确定raid控制卡完成col操作后,执行复位操作。
92.在一种实施方式中,处理单元402包括逻辑控制器4021和raid控制器4022,逻辑控制器4021接收到复位信号后,控制raid控制器4022执行col操作。
93.在一种实施方式中,逻辑控制器4021接收到复位信号后,生成电源丢失信号,并向raid控制器4022发送电源丢失信号;raid控制器4022接收到电源丢失信号后,执行col操作。
94.在一种实施方式中,逻辑控制器4021根据电源丢失信号,触发逻辑控制器4021向raid控制器4022发送复位信号,复位信号用于指示raid控制器4022关闭raid控制器4022的高速串行计算机扩展总线标准pcie的核心,pcie的核心用于控制pcie总线接收数据。
95.在一种实施方式中,处理单元402,还用于确定raid控制卡执行col操作时,停止接收复位信号。
96.在一种实施方式中,处理单元402包括逻辑控制器4021和raid控制器4022,raid控制器4022接收到电源丢失信号后,向逻辑控制器4021发送锁定指令,锁定指令用于指示逻辑控制器4021锁定raid控制器4022在执行col操作期间发送电源丢失信号的功能。
97.在一种实施方式中,处理单元402包括逻辑控制器4021和raid控制器4022,raid控制器4022向逻辑控制器4021发送col完成信号,col完成信号指示raid控制器4022完成col操作;逻辑控制器4021向raid控制器4022发送复位信号,复位信号用于指示raid控制器4022进行复位。
98.在一种实施方式中,处理单元402包括逻辑控制器4021和raid控制器4022,raid控制器4022完成col操作后,向逻辑控制器4021发送解锁指令,解锁指令用于指示逻辑控制器4021解锁向raid控制器4022发送电源丢失信号的功能。
99.在一种实施方式中,处理单元402包括逻辑控制器4021和raid控制器4022,raid控制器4022周期性地向逻辑控制器4021发送心跳信号;逻辑控制器4021接收到心跳信号后,解锁发送电源丢失信号的功能。
100.在一种实施方式中,逻辑控制器4021没有接收到心跳信号的时间超过设定时间段时,锁定发送电源丢失信号的功能。
101.本技术实施例中还提供了一种计算设备,该计算设备包括至少一个处理器、至少一个存储器和至少一个可以执行如图2-图4和上述对应保护的raid控制卡,使得该计算设备具有上述保护的技术方案的技术效果。
102.本技术实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述图2-图4和相应描述内容中记载的任一项方法。
103.本技术实施例中还提供了一种计算机程序产品,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施上述图2-图4和相应描述内容中记载的任一项方法。
104.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
105.此外,本技术实施例的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本技术中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,eprom)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
106.在上述实施例中,图4中的写缓存异常的处理装置400可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
107.应当理解的是,在本技术实施例的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
108.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
109.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
110.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
111.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者接入网设备等)执行本技术实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
112.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献