CN118069192A - 一种固件升级的方法及装置 - Google Patents
一种固件升级的方法及装置 Download PDFInfo
- Publication number
- CN118069192A CN118069192A CN202311559106.0A CN202311559106A CN118069192A CN 118069192 A CN118069192 A CN 118069192A CN 202311559106 A CN202311559106 A CN 202311559106A CN 118069192 A CN118069192 A CN 118069192A
- Authority
- CN
- China
- Prior art keywords
- firmware
- host
- firmware upgrade
- disk array
- array card
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 239000000725 suspension Substances 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 8
- 230000001680 brushing effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 37
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004321 preservation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出一种固件升级的方法及装置。方法包括:基于主机下发的固件升级命令下载对应的固件升级文件;通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;加载并启动所述固件升级文件;恢复所述I/O任务。本发明公开的方案可以实现固件升级过程不影响当前业务正常运行、不中断主机I/O业务的目的,保障了固件升级过程中数据的安全性。
Description
技术领域
本发明涉及存储领域,尤其涉及一种固件升级的方法及装置。
背景技术
磁盘阵列(Redundant Arrays of Independent Disks,RAID)是由很多块独立的磁盘,组合成一个容量更大的磁盘组,利用个别磁盘提供数据以其所产生加成效果提升整个磁盘组的效能。这项技术中会用到磁盘阵列卡,即RAID卡,其是一种实现磁盘阵列技术的转接卡,通过PCIE接口与主机上的CPU(Central Processing Unit,中央处理器)进行通信,同时可扩展的支持多个磁盘,并对多个磁盘实现预设的RAID模式。进而实现主机上的CPU与多个磁盘间的磁盘阵列进行I/O任务。服务器的数据存储是用户进行信息交换的必备条件之一,在服务器运行过程中,为了进一步使RAID卡能优化或者修复已知问题,需要对RAID卡进行固件升级,以提高其工作性能。
在提高磁盘阵列卡性能的相关技术中,升级过程中,复位后主机之前进行的业务会中断,导致主机的I/O任务无法正常进行。
发明内容
有鉴于此,本发明提出了一种固件升级的方法及装置,解决了在提高磁盘阵列卡性能的相关技术中,升级过程复位之后主机之前进行的业务会中断,导致主机与磁盘阵列卡之间的I/O任务无法正常进行的技术问题。
基于以上目的,本发明的实施例的一个方面提供了一种固件升级的方法,包括:基于主机下发的固件升级命令下载对应的固件升级文件;通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;加载并启动所述固件升级文件;恢复所述I/O任务。
在一些实施例中,所述方法还包括:对所述固件升级文件进行校验;根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
在一些实施例中,对所述固件升级文件进行校验的步骤至少包括:完整性校验、签名校验。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤包括:响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤还包括:响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
在一些实施例中,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤包括:响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤还包括:响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
在一些实施例中,所述将所述缓存区的当前数据进行落盘保存的步骤包括:将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
在一些实施例中,所述基于主机下发的固件升级命令下载对应的固件升级文件的步骤包括:对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
在一些实施例中,所述通过切换控制器的状态中止接收所述主机的I/O任务的步骤包括:通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
在一些实施例中,所述向所述主机发送中止下发I/O任务的请求的步骤包括:向所述主机发送异步事件请求。
在一些实施例中,所述加载并启动所述固件升级文件的步骤包括:通过引导程序加载所述固件升级文件。
在一些实施例中,所述加载并启动所述固件升级文件的步骤还包括:将所述固件升级文件下刷到所述磁盘阵列卡的预定存储空间;屏蔽所述磁盘阵列卡的处理器的中断请求,并复位所述处理器加载所述预定存储空间的固件升级文件的数据内容启动。
在一些实施例中,所述加载并启动所述固件升级文件的步骤还包括:根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤包括:响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤还包括:响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新进行启动。
在一些实施例中,所述恢复所述I/O任务的步骤包括:基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
在一些实施例中,所述恢复所述I/O任务的步骤还包括:通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
本发明实施例的另一个方面,还提供了一种固件升级的装置,包括:第一模块,配置用于基于主机下发的固件升级命令下载对应的固件升级文件;第二模块,配置用于通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;第三模块,配置用于加载并启动所述固件升级文件;以及第四模块,配置用于恢复所述I/O任务。
在一些实施例中,所述装置还包括第五模块,配置用于对所述固件升级文件进行校验,根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
在一些实施例中,所述第五模块进一步配置用于进行完整性校验、签名校验。
在一些实施例中,所述第五模块进一步配置用于:响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
在一些实施例中,所述第五模块进一步配置用于:响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
在一些实施例中,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
在一些实施例中,所述第五模块进一步配置用于:响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
在一些实施例中,所述第五模块进一步配置用于:响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
在一些实施例中,所述第五模块进一步配置用于:将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
在一些实施例中,所述第一模块进一步配置用于:对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
在一些实施例中,所述第二模块进一步配置用于:通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
在一些实施例中,所述第二模块进一步配置用于:向所述主机发送异步事件请求。
在一些实施例中,所述第三模块进一步配置用于:通过引导程序加载所述固件升级文件。
在一些实施例中,所述第三模块进一步配置用于:将所述固件升级文件下刷到所述磁盘阵列卡的预定存储空间;屏蔽所述磁盘阵列卡的处理器的中断请求,并复位所述处理器加载所述预定存储空间的固件升级文件的数据内容启动。
在一些实施例中,所述第三模块进一步配置用于根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
在一些实施例中,所述第三模块进一步配置用于:响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
在一些实施例中,所述第三模块进一步配置用于:响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新进行启动。
在一些实施例中,所述第四模块进一步配置用于:基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
在一些实施例中,所述第四模块进一步配置用于:通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
本发明实施例的另一方面,还提供一种计算机设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任一方法的步骤。
本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上任一方法步骤的计算机程序。
本发明至少具有以下有益效果:本发明提出一种固件升级的方法及装置,其中,本发明的方案通过对RAID卡固件的完整性校验、签名校验过程,保障RAID卡固件的安全性;通过Flash记录固件升级前的RAID卡配置信息,正常启动固件升级文件后,读取Flash中存储的配置信息并恢复升级前的RAID配置,不会影响用户正常使用;在固件升级流程前将缓存中的数据落盘,防止固件更新后丢失数据,保护数据安全;在重启加载固件升级文件过程中,通过RAID卡与主机配合,实现不中断主机I/O业务的目的,实现了固件升级过程不影响当前业务正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的实施例。
图1示出的为本申请实施例提供的一种固件升级的方法的流程图;
图2示出的为本申请实施例提供的实现固件升级方法的硬件架构示意图;
图3示出的为本申请实施例提供的固件升级的方法的时序图;
图4示出的为本申请实施例提供的固件升级方法中启动保存数据的流程图;
图5示出的为本申请实施例提供固件升级方法中加载并启动固件升级文件的流程图;
图6示出的为本申请实施例提供的一种固件升级的装置的结构示意图;
图7示出了本申请实施例提供的一种计算机设备的结构示意图;
图8示出了本申请实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅是示例,并且其它实施例可以采取各种替代形式。
此外,需要说明的是术语“包括”、“包含”或其任何其它变形旨在涵盖非排他性的包括,以使包含一系列要素的过程、方法、物品或装置不仅包括那些要素,也可以包括未明确列出的或这些过程、方法、物品或装置所固有的要素。
下面将结合附图说明本申请的一个或多个实施例。
基于以上目的,本发明实施例的第一个方面,提出了一种固件升级的方法的实施例。图1示出的是本发明提供的一种固件升级的方法的实施例的示意图。如图1所示,本发明实施例的一种固件升级的方法包括:
S1、基于主机下发的固件升级命令下载对应的固件升级文件;
S2、通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;
S3、加载并启动所述固件升级文件;
S4、恢复所述I/O任务。
根据本发明的若干实施例,方法还包括:对固件升级文件进行校验;根据校验结果确认是否将磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
根据本发明的若干实施例,对固件升级文件进行校验的步骤至少包括:完整性校验、签名校验。
根据本发明的若干实施例,根据校验结果确认是否将磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤包括:响应于校验通过,将磁盘阵列卡的当前配置信息写入Flash进行保存。
根据本发明的若干实施例,根据校验结果确认是否将磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤还包括:响应于校验通过,判断磁盘阵列卡的当前缓存模式,基于判断结果对缓存区的当前数据进行保存。
根据本发明的若干实施例,磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
根据本发明的若干实施例,基于判断结果对缓存区的当前数据进行保存的步骤包括:响应于磁盘阵列卡的当前缓存模式为直写模式,保持磁盘阵列卡的当前缓存模式,将缓存区的当前数据写入物理磁盘中进行保存。
根据本发明的若干实施例,基于判断结果对缓存区的当前数据进行保存的步骤还包括:响应于磁盘阵列卡的当前缓存模式为回写模式,将磁盘阵列卡的当前缓存模式切换为直写模式,并将缓存区的当前数据进行落盘保存。
根据本发明的若干实施例,将缓存区的当前数据进行落盘保存的步骤包括:将缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
根据本发明的若干实施例,基于主机下发的固件升级命令下载对应的固件升级文件的步骤包括:对主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
根据本发明的若干实施例,通过切换控制器的状态中止接收主机的I/O任务的步骤包括:通过将控制器状态的处理暂停标志置第一标志中止接收主机的I/O任务。
根据本发明的若干实施例,向主机发送中止下发I/O任务的请求的步骤包括:向主机发送异步事件请求。
根据本发明的若干实施例,加载并启动固件升级文件的步骤包括:通过引导程序加载固件升级文件。
根据本发明的若干实施例,加载并启动固件升级文件的步骤还包括:将固件升级文件下刷到磁盘阵列卡的预定存储空间;屏蔽磁盘阵列卡的处理器的中断请求,并复位处理器加载预定存储空间的固件升级文件的数据内容启动。
根据本发明的若干实施例,加载并启动所述固件升级文件的步骤还包括:根据启动固件升级文件的结果确认是否开始运行固件升级文件。
根据本发明的若干实施例,根据启动固件升级文件的结果确认是否开始运行固件升级文件步骤包括:响应于启动固件升级文件成功,开始运行固件升级文件。
根据本发明的若干实施例,根据启动固件升级文件的结果确认是否开始运行固件升级文件步骤还包括:响应于启动固件升级文件不成功,加载固件升级文件对应的备份固件重新启动。
根据本发明的若干实施例,恢复I/O任务步骤包括:基于完成固件升级将控制器状态的处理暂停标志置第二标志,恢复磁盘阵列卡接收主机的I/O任务。
根据本发明的若干实施例,恢复I/O任务步骤还包括:通过轮询控制机的处理暂停标志置第二标志,确认恢复主机I/O任务的下发。
在固件升级前首先对下载的固件升级文件进行校验,通过对下载的固件升级文件进行完整性校验、签名校验过程,保障了固件升级过程中的安全性。同时,在固件升级前将缓存区中的数据进行落盘,防止固件更新后丢失数据,同样保护了固件升级前后数据安全。进一步,通过Flash记录升级前磁盘阵列卡的配置信息,正常启动固件升级文件后,通过读取Flash中存储的配置信息恢复升级前的磁盘阵列卡的配置信息,当固件升级文件正常启动并生效之后再从Flash中恢复磁盘阵列卡的当前配置信息,可以保证升级前后磁盘阵列卡的配置信息一致,避免造成用户无法正常使用。磁盘阵列卡与主机端配合,实现不中断主机I/O业务的目的,保证固件升级过程中不影响当前业务正常运行。
图2示出的为本申请实施例提供的实现固件升级方法的硬件架构示意图,如图2所示,磁盘阵列卡通常由I/O(Input/Output,输入/输出)处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成,多应用于服务器,服务器作为企业及互联网用户进行信息交换的重要设备之一,各种应用、数据库等都运行在服务器上,因而服务器的数据存储就显得尤为重要。因此,通常情况下,服务器的存储数据需要足够多的磁盘,而服务器主板上提供的磁盘接口优先,并且对磁盘的管理需要消耗CPU的计算资源。因此将磁盘阵列卡应用在服务器上实现对服务器的磁盘管理,则恰恰是对CPU计算资源的释放,通过磁盘阵列卡可以独立地实现将多个磁盘组成不同RAID模式,并且借助磁盘阵列卡上自带的紧急供电电池可以保证服务器异常断电时服务器数据的持久化,通过并发地在多个磁盘上读写数据提高存储***的I/O性能,并且提供容错功能和保证数据安全。磁盘阵列卡(RAID卡)在线固件升级过程中,磁盘阵列卡与主机(Host)端通过利用PCIe(Peripheral Component Interconnectexpress,高速串行计算机扩展总线标准)总线实现物理层的交互,同时使用标准的NVMe(Non Volatile Memory Host Controller Interface Specification,非易失性内存Host控制器接口规范)协议完成固件升级命令与数据传输的功能。磁盘阵列卡与下挂的物理磁盘(Disk)连接,实现对主机用户数据的存储,完成保存数据流程。主机端的PCIe RootComplex(Peripheral Component Interconnect express Root Complex,PCIe RC)设备用于连接主机的处理器和I/O设备,对应的磁盘阵列卡相当于PCIe Endpoint(EP),即作为I/O设备,主机端的NVMe驱动用于实现底层传输和操作命令,而磁盘阵列卡的Controller用于和主机端之间通过队列来通信。磁盘阵列卡通过NVMe协议与主机端进行交互,基于NVMe协议规定的命令有两种:Admin Command和IO Command。当主机端下发Admin command时,主机端将其放置在Admin command的队列,即Admin Submission Queue(Admin SQ)。处理器执行完成Admin command时,会生成对应的响应,此时也需要一个放置Completion的队列,即Admin Completion Queue(Admin CQ)。同样地,在执行IO Command时,也会有对应的两个队列,分别是IO SQ和IO CQ。Controller执行主机下发到SQ中的命令,执行完毕后将命令的执行结果放到CQ中。NVMe协议控制模块用于完成NVMe协议的解析、执行等。RAM(RandomAccess Memory,随机存取存储器)是与处理器直接交换数据的内部存储器,可以随时读写(刷新时除外),而且速度很快,通常作为操作***或其他正在运行中的程序的临时数据存储介质,其作为磁盘阵列卡的内存,主要用于保存数据、中间结果和运行固件等。Flash用于存储磁盘阵列卡的固件、固件引导程序、磁盘阵列卡的配置信息等非易失性数据。DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)作为主要数据的缓存区,存储部分主机端下发的数据,再将数据传给磁盘,用来提高读写性能。Flash是存储芯片的一种,通过特定的程序可以修改里面的数据。
以下为本申请提供的基于实现固件升级方法的硬件架构的固件升级方法的另一实施例。
在固件升级的过程中,首先需要通过主机端完成固件升级命令的下发和固件升级文件的下载,固件升级文件下载并缓存至RAID卡的RAM(Random Access Memory,随机存取存储器)的预定区域后,由磁盘阵列卡的固件完成对固件升级文件完整性检验、签名校验等校验。
校验通过后将固件升级文件写入Flash的预定分区中进行保存,并记录固件升级相关信息。同时,启动数据保护流程,根据磁盘阵列卡的缓存模式对磁盘阵列卡缓存区的数据进行保存,磁盘阵列卡的缓存模式有两种,分别是WB(Write Back)模式和WT(WriteThrough)模式。WB(Write Back)模式,即回写模式,写入操作时会经过磁盘阵列卡的缓存区(Cache);WT(Write Through)模式,即直写模式,写入操作时不需要经过磁盘阵列卡的缓存区,直接与磁盘阵列卡所挂接的磁盘进行数据交互。根据对磁盘阵列卡的当前缓存模式的判断结果将磁盘阵列卡缓存区的数据进行保存,如果是WB(Write Back)模式,将磁盘阵列卡的缓存模式由WB(Write Back)模式切换为WT(Write Through)模式,并将缓存区中的数据下刷到磁盘阵列卡所挂接的物理磁盘中;如果是WT(Write Through)模式,则将数据直接保存到磁盘阵列卡所挂接的物理磁盘中即可。
当完成对磁盘阵列卡的当前配置信息和缓存区的数据进行保存后,启动处理器复位加载固件升级文件的流程,重新启动磁盘阵列卡的处理器完成固件升级文件的加载运行,具体地,屏蔽磁盘阵列卡的处理器的中断请求,并复位处理器加载预定存储空间的固件升级文件的数据内容启动。根据NVMe标准协议可以将磁盘阵列卡的控制器状态的处理暂停标志(Controller Status Processing Paused,CSTS.PP)置于第一标志,在实际应用中,可以将磁盘阵列卡的控制器状态的处理暂停标志(Controller Status Processing Paused,CSTS.PP)置1以表示中止接收主机的I/O任务,同时向主机发送中止下发I/O任务的请求,在本实施例中,通过磁盘阵列卡向主机端发送异步事件请求(AER事件),以此来通知主机端暂停I/O任务的下发,主机端接收到AER事件后,暂停I/O任务的下发,进而实现了在磁盘阵列卡进行固件升级的过程中,主机端不会有I/O任务的下发,同样地,在磁盘阵列卡一端也不会接收I/O任务。在主机端中止I/O任务下发之后,主机会通过轮询CSTS.PP(ControllerStatus Processing Paused,处理暂停标志)状态,来判断磁盘阵列卡是否完成了固件升级,以此来判断是否恢复I/O任务的下发,当主机端轮询到CSTS.PP(Controller StatusProcessing Paused,处理暂停标志)置第二标志,在本实施例中当主机端轮询到CSTS.PP(Controller Status Processing Paused,处理暂停标志)置0后,即表示磁盘阵列卡中完成固件升级,主机端可以重新开始I/O任务的下发。
磁盘阵列卡的处理器完成固件升级文件生效后,会从Flash中恢复固件升级之前写入的磁盘阵列卡的当前配置信息,即将固件升级前的磁盘阵列卡的配置信息进行恢复,以实现固件升级后恢复磁盘阵列卡之前的配置信息,保障了在固件升级前后磁盘阵列卡的配置信息保持一致,提高了整个固件升级流程的可用性。
图3示出的为本申请实施例提供的固件升级的方法的时序图,如图3所示,包括:固件下载(将固件升级文件下载到RAM缓存区)、固件校验(比如完整性校验、签名校验等)、固件写入Flash、磁盘阵列卡与主机配合完成CPU复位重启,以及重启后加载磁盘阵列卡的固件升级文件,同时通过启动相应的数据保护流程和复位重启流程,重启后恢复磁盘阵列卡的原有配置信息,以达到固件升级过程不丢失数据、不中断主机I/O任务和恢复磁盘阵列卡固件升级前的配置信息的目的。具体包括:
由主机(Host)下发固件升级命令,将需要升级的固件下载至磁盘阵列卡(RAID卡)固定RAM区;
RAID卡对下载的固件进行固件的完整性校验、签名校验过程;RAID卡将校验成功的固件写入Flash分区,并记录固件升级信息;
RAID卡同时记录当前RAID卡配置信息,并保存至Flash分区;
RAID卡启动保存数据流程,如果RAID卡的当前缓存模式为WB(Write Back)模式,则需要将RAID卡的当前缓存模式由WB(Write Back)模式切换为WT(Write Through)模式,并且将缓存在缓存区DDR的数据写入RAID卡下挂的物理磁盘Disk中进行数据落盘,保存数据;如果RAID卡的当前缓存模式为WT(Write Through)模式,则保持RAID卡的当前缓存模式,即WT(Write Through)模式,不对数据进行数据落盘,直接将数据写入RAID卡下挂的物理磁盘Disk中进行保存;
RAID卡完成启动保存数据流程后,首先暂停处理主机I/O任务,将控制器状态CSTS.PP(Controller Status Processing Paused,处理暂停标志)位置1,并向主机发送AER事件通知Host端停止I/O任务的下发,Host端软件收到AER事件后暂停主机I/O,轮询CSTS.PP(Controller Status Processing Paused,处理暂停标志)状态,等待RAID卡完成重启加载固件升级文件过程后再下发I/O任务;
RAID卡启动CPU复位加载固件升级文件流程,RAID卡通过屏蔽中断和调用***复位开始重启CPU以启动固件升级文件,在此过程由引导程序加载固件升级文件然后启动,如果启动固件升级文件成功,启动完成固件升级文件生效之后,使能中断,RAID卡开始恢复接收主机的I/O任务;如果启动固件升级文件失败,则通过加载固件升级文件的备份固件重新进行启动如此重复,直至启动成功;
固件升级文件启动成功生效之后,RAID卡固件读取Flash中保存的RAID卡配置信息,并恢复固件升级前的配置;
RAID卡将控制器状态恢复为接收I/O任务,Host端轮询CSTS.PP的状态确认控制器状态恢复为接收I/O任务后,开始向磁盘阵列卡下发I/O任务。
图4示出的为本申请实施例提供的固件升级方法中启动保存数据的流程图,如图4所示,首先判断当前缓存模式,如果RAID的当前缓存模式为WB(Write Back)模式,将WB(Write Back)模式切换为WT(Write Through)模式,并将DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)中的缓存数据写入物理磁盘Disk中,完成数据落盘以保存数据;如果RAID卡的当前缓存模式为WT(Write Through)模式,则不需要完成落盘操作,完成数据保存后回复数据保存成功标志(success),RAID卡根据保存成功标志开始暂停处理主机I/O任务,准备重启CPU。
图5示出的为本申请实施例提供的固件升级方法中加载并启动固件升级文件的流程图,如图5所示,RAID卡启动CPU复位加载固件升级文件流程,RAID卡启动CPU复位加载固件升级文件流程,首先屏蔽中断以及调用***复位重启CPU,重启后由引导程序加载固件升级文件,若启动成功,固件升级文件生效;若启动失败,则加载备份固件,固件启动完成,固件升级文件生效后,使能中断,开始处理主机I/O业务。
基于以上本申请实施例提供的一种固件升级的方法,通过对磁盘阵列卡固件的完整性校验、签名校验过程,保障磁盘阵列卡固件的安全性;通过Flash记录固件升级前的磁盘阵列卡配置信息,正常启动固件升级文件后,读取Flash中存储的配置信息并恢复升级前的磁盘阵列配置,不会影响用户正常使用;在固件升级流程前将缓存中的数据落盘,防止固件更新后丢失数据,保护数据安全;在重启加载固件升级文件过程中,通过磁盘阵列卡与主机配合,实现不中断主机I/O业务的目的,保证固件升级不影响当前业务正常运行。具体地,基于本申请实施例提供的一种固件升级的方法可以实现:在一开始通过磁盘阵列卡固件对下载的固件进行校验的过程,可以保证磁盘阵列卡在整个固件升级过程的数据安全性;在磁盘阵列卡进行固件升级的过程中通过Flash记录固件升级前的磁盘阵列卡的当前配置信息,当固件升级文件正常启动并生效之后再从Flash中恢复磁盘阵列卡的当前配置信息,可以保证在升级前后的磁盘阵列的配置信息一致,避免造成由于升级过程导致升级前后的配置信息不一致,而导致用户无法使用的问题;在进行升级加载固件升级文件之前会对固件升级文件启动数据保护流程,根据磁盘阵列卡的当前缓存模式,分别进行对应的数据保存,保证了数据安全性;重启加载固件升级文件过程中,通过磁盘阵列卡与主机端配合,实现不中断主机I/O业务的目的,保证固件升级不影响当前业务正常运行。
本发明的实施例的第二个方面,提出了一种固件升级的装置的结构示意图。图6示出的是本发明提供的一种固件升级的装置的结构示意图。如图6所示,本发明提供的一种固件升级的装置包括:第一模块011,配置用于基于主机下发的固件升级命令下载对应的固件升级文件;第二模块012,配置用于通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;以及第三模块013,配置用于加载并启动所述固件升级文件;以及第四模块014,配置用于恢复所述I/O任务。
根据本发明的若干实施例,所述装置还包括第五模块,配置用于对所述固件升级文件进行校验;根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
根据本发明的若干实施例,所述第五模块进一步配置用于进行完整性校验、签名校验。
根据本发明的若干实施例,所述第五模块进一步配置用于:响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
根据本发明的若干实施例,所述第五模块进一步配置用于:响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
根据本发明的若干实施例,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
根据本发明的若干实施例,所述第五模块进一步配置用于:响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
根据本发明的若干实施例,所述第五模块进一步配置用于:响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
根据本发明的若干实施例,所述第五模块进一步配置用于:将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
根据本发明的若干实施例,所述第一模块进一步配置用于:对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
根据本发明的若干实施例,所述第二模块进一步配置用于:通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
根据本发明的若干实施例,所述第二模块进一步配置用于:向所述主机发送异步事件请求。
根据本发明的若干实施例,所述第三模块进一步配置用于:通过引导程序加载所述固件升级文件。
根据本发明的若干实施例,所述第三模块进一步配置用于:将固件升级文件下刷到磁盘阵列卡的预定存储空间;屏蔽磁盘阵列卡的处理器的中断请求,并复位处理器加载预定存储空间的固件升级文件的数据内容启动。
根据本发明的若干实施例,所述第三模块进一步配置用于根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
根据本发明的若干实施例,所述第三模块进一步配置用于:响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
根据本发明的若干实施例,所述第三模块进一步配置用于:响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新进行启动。
根据本发明的若干实施例,所述第四模块进一步配置用于:基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
根据本发明的若干实施例,所述第四模块进一步配置用于:通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
基于以上目的,本发明实施例的第三个方面,提出了一种计算机设备,图7示出的是本发明提供的一种计算机设备的实施例的示意图。如图7所示,本发明提供的一种计算机设备的实施例,包括以下模块:至少一个处理器021;以及存储器022,存储器022存储有可在处理器021上运行的计算机指令023,该计算机指令023由处理器021执行时实现如上所述的方法的步骤,其中上述的方法的步骤包括:基于主机下发的固件升级命令下载对应的固件升级文件;通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;加载并启动所述固件升级文件;恢复所述I/O任务。
在一些实施例中,所述方法还包括:对所述固件升级文件进行校验;根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
在一些实施例中,对所述固件升级文件进行校验的步骤至少包括:完整性校验、签名校验。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤包括:响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤还包括:响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
在一些实施例中,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤包括:响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤还包括:响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
在一些实施例中,所述将所述缓存区的当前数据进行落盘保存的步骤包括:将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
在一些实施例中,所述基于主机下发的固件升级命令下载对应的固件升级文件的步骤包括:对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
在一些实施例中,所述通过切换控制器的状态中止接收所述主机的I/O任务的步骤包括:通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
在一些实施例中,所述向所述主机发送中止下发I/O任务的请求的步骤包括:向所述主机发送异步事件请求。
在一些实施例中,加载并启动所述固件升级文件的步骤包括:通过引导程序加载所述固件升级文件。
在一些实施例中,所述加载并启动所述固件升级文件的步骤还包括:将所述固件升级文件下刷到所述磁盘阵列卡的预定存储空间;屏蔽所述磁盘阵列卡的处理器的中断请求,并复位所述处理器加载所述预定存储空间的固件升级文件的数据内容启动。
在一些实施例中,所述加载并启动所述固件升级文件的步骤包括:
根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤包括:响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤还包括:响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新进行启动。
在一些实施例中,所述恢复所述I/O任务的步骤包括:基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
在一些实施例中,所述恢复所述I/O任务的步骤还包括:通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
本发明还提供了一种计算机可读存储介质。图8示出的是本发明提供的一种计算机可读存储介质的实施例的示意图。如图8所示,计算机可读存储介质031存储有被处理器执行时执行如上所述的方法的步骤的计算机程序032,其中,上述方法包括:基于主机下发的固件升级命令下载对应的固件升级文件;通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;加载并启动所述固件升级文件;恢复所述I/O任务。
在一些实施例中,所述方法还包括:对所述固件升级文件进行校验;根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
在一些实施例中,对所述固件升级文件进行校验的步骤至少包括:完整性校验、签名校验。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤包括:响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
在一些实施例中,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤还包括:响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
在一些实施例中,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤包括:响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
在一些实施例中,所述基于判断结果对所述缓存区的当前数据进行保存的步骤还包括:响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
在一些实施例中,所述将所述缓存区的当前数据进行落盘保存的步骤包括:将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
在一些实施例中,所述基于主机下发的固件升级命令下载对应的固件升级文件的步骤包括:对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
在一些实施例中,所述通过切换控制器的状态中止接收所述主机的I/O任务的步骤包括:通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
在一些实施例中,所述向所述主机发送中止下发I/O任务的请求的步骤包括:向所述主机发送异步事件请求。
在一些实施例中,所述加载并启动所述固件升级文件的步骤包括:通过引导程序加载所述固件升级文件。
在一些实施例中,所述加载并启动所述固件升级文件的步骤还包括:将所述固件升级文件下刷到所述磁盘阵列卡的预定存储空间;屏蔽所述磁盘阵列卡的处理器的中断请求,并复位所述处理器加载所述预定存储空间的固件升级文件的数据内容启动。
在一些实施例中,所述加载并启动所述固件升级文件的步骤包括:
根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤包括:响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
在一些实施例中,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤还包括:响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新进行启动。
在一些实施例中,所述恢复所述I/O任务的步骤包括:基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
在一些实施例中,所述恢复所述I/O任务的步骤还包括:通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,设置***参数的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及***单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、D0L或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (20)
1.一种固件升级的方法,其特征在于,应用于磁盘阵列卡,包括:
基于主机下发的固件升级命令下载对应的固件升级文件;
通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;
加载并启动所述固件升级文件;
恢复所述I/O任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述固件升级文件进行校验;
根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存。
3.根据权利要求2所述的方法,其特征在于,对所述固件升级文件进行校验的步骤至少包括:完整性校验、签名校验。
4.根据权利要求2所述的方法,其特征在于,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤包括:
响应于校验通过,将所述磁盘阵列卡的当前配置信息写入Flash进行保存。
5.根据权利要求4所述的方法,其特征在于,所述根据校验结果确认是否将所述磁盘阵列卡的当前配置信息和缓存区的当前数据进行保存的步骤还包括:
响应于校验通过,判断所述磁盘阵列卡的当前缓存模式,基于判断结果对所述缓存区的当前数据进行保存。
6.根据权利要求5所述的方法,其特征在于,所述磁盘阵列卡的当前缓存模式包括:回写模式和/或直写模式。
7.根据权利要求6所述的方法,其特征在于,所述基于判断结果对所述缓存区的当前数据进行保存的步骤包括:
响应于所述磁盘阵列卡的当前缓存模式为直写模式,保持所述磁盘阵列卡的当前缓存模式,将所述缓存区的当前数据写入物理磁盘中进行保存。
8.根据权利要求6所述的方法,其特征在于,所述基于判断结果对所述缓存区的当前数据进行保存的步骤还包括:
响应于所述磁盘阵列卡的当前缓存模式为回写模式,将所述磁盘阵列卡的当前缓存模式切换为直写模式,并将所述缓存区的当前数据进行落盘保存。
9.根据权利要求8所述的方法,其特征在于,所述将所述缓存区的当前数据进行落盘保存的步骤包括:
将所述缓存区的当前数据从缓存区下刷到物理磁盘中进行保存。
10.根据权利要求1所述的方法,其特征在于,所述基于主机下发的固件升级命令下载对应的固件升级文件的步骤包括:
对所述主机下发的固件升级命令进行解析,根据解析结果下载对应的固件升级文件。
11.根据权利要求1所述的方法,其特征在于,所述通过切换控制器的状态中止接收所述主机的I/O任务的步骤包括:
通过将控制器状态的处理暂停标志置第一标志中止接收所述主机的I/O任务。
12.根据权利要求1所述的方法,其特征在于,所述向所述主机发送中止下发所述I/O任务的请求的步骤包括:向所述主机发送异步事件请求。
13.根据权利要求1所述的方法,其特征在于,所述加载并启动所述固件升级文件的步骤包括:通过引导程序加载所述固件升级文件。
14.根据权利要求1所述的方法,其特征在于,所述加载并启动所述固件升级文件的步骤还包括:
将所述固件升级文件下刷到所述磁盘阵列卡的预定存储空间;
屏蔽所述磁盘阵列卡的处理器的中断请求,并复位所述处理器加载所述预定存储空间的固件升级文件的数据内容启动。
15.根据权利要求1所述的方法,其特征在于,所述加载并启动所述固件升级文件的步骤还包括:
根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件。
16.根据权利要求15所述的方法,其特征在于,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤包括:
响应于启动所述固件升级文件成功,开始运行所述固件升级文件。
17.根据权利要求15所述的方法,其特征在于,所述根据启动所述固件升级文件的结果确认是否开始运行所述固件升级文件的步骤还包括:
响应于启动所述固件升级文件不成功,加载所述固件升级文件对应的备份固件重新启动。
18.根据权利要求1所述的方法,其特征在于,所述恢复所述I/O任务的步骤包括:
基于完成固件升级将所述控制器状态的处理暂停标志置第二标志,恢复所述磁盘阵列卡接收所述主机的I/O任务。
19.根据权利要求18所述的方法,其特征在于,所述恢复所述I/O任务的步骤还包括:
通过轮询所述控制机的处理暂停标志置第二标志,确认恢复所述主机I/O任务的下发。
20.一种固件升级的装置,其特征在于,包括:
第一模块,配置用于基于主机下发的固件升级命令下载对应的固件升级文件;
第二模块,配置用于通过切换控制器的状态中止接收所述主机的I/O任务并向所述主机发送中止下发所述I/O任务的请求;
第三模块,配置用于加载并启动所述固件升级文件;以及
第四模块,配置用于恢复所述I/O任务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310280039.2A CN115981698A (zh) | 2023-03-21 | 2023-03-21 | 一种固件升级的方法及装置 |
CN2023102800392 | 2023-03-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118069192A true CN118069192A (zh) | 2024-05-24 |
Family
ID=85974533
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310280039.2A Pending CN115981698A (zh) | 2023-03-21 | 2023-03-21 | 一种固件升级的方法及装置 |
CN202311559106.0A Pending CN118069192A (zh) | 2023-03-21 | 2023-11-21 | 一种固件升级的方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310280039.2A Pending CN115981698A (zh) | 2023-03-21 | 2023-03-21 | 一种固件升级的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115981698A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302007B (zh) * | 2023-05-19 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 磁盘阵列固件升级方法、装置、设备、介质及磁盘阵列卡 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685391B (zh) * | 2012-09-13 | 2018-03-09 | 北京大唐高鸿软件技术有限公司 | 一种使用静态网络地址的终端设备的自动升级方法 |
CN106257417B (zh) * | 2015-06-17 | 2021-07-20 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式*** |
CN115794153A (zh) * | 2022-11-07 | 2023-03-14 | 超聚变数字技术有限公司 | 一种固件升级方法及相关设备 |
-
2023
- 2023-03-21 CN CN202310280039.2A patent/CN115981698A/zh active Pending
- 2023-11-21 CN CN202311559106.0A patent/CN118069192A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115981698A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7809979B2 (en) | Storage control apparatus and method | |
US7426588B2 (en) | Storage apparatus | |
US8539147B2 (en) | Apparatus and method for controlling storage system | |
CN100495313C (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列 | |
CN118069192A (zh) | 一种固件升级的方法及装置 | |
US10922175B2 (en) | Method, apparatus and computer program product for failure recovery of storage system | |
US6901481B2 (en) | Method and apparatus for storing transactional information in persistent memory | |
CN109062600B (zh) | 一种固态硬盘内固件在线升级的实现方法及*** | |
US8555012B2 (en) | Data storage apparatus | |
JP5658827B2 (ja) | ストレージシステム | |
WO2021088367A1 (zh) | 数据恢复方法及相关设备 | |
JP4394298B2 (ja) | マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム | |
WO2024113685A1 (zh) | 一种raid阵列的数据恢复方法及相关装置 | |
CN116107516B (zh) | 数据写入方法、装置、固态硬盘、电子设备及存储介质 | |
US20060085598A1 (en) | Storage-device resource allocation method and storage device | |
CN116010142A (zh) | 一种存储设备异常io处理方法、***和装置 | |
JP2001075741A (ja) | ディスク制御システムおよびデータ保全方法 | |
CN115562593A (zh) | 一种异常raid成员盘处理方法、装置及介质 | |
US11435955B1 (en) | System and method for offloading copy processing across non-volatile memory express (NVMe) namespaces | |
US10936518B2 (en) | Storage system, data management method, and data management program | |
JP3134864B2 (ja) | システム結合装置のリカバリシステムおよびリカバリプログラムを記録した記録媒体 | |
CN112328429A (zh) | 一种基于Openstack的硬盘快照方法和装置 | |
JPH09212424A (ja) | ディスクキャッシュ及びディスクキャッシュ方法 | |
CN116302007B (zh) | 磁盘阵列固件升级方法、装置、设备、介质及磁盘阵列卡 | |
CN103294570B (zh) | 一种内存数据的备份方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |