CN114443085B - 一种硬盘的固件刷新方法、系统及计算机可读存储介质 - Google Patents

一种硬盘的固件刷新方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN114443085B
CN114443085B CN202111551850.7A CN202111551850A CN114443085B CN 114443085 B CN114443085 B CN 114443085B CN 202111551850 A CN202111551850 A CN 202111551850A CN 114443085 B CN114443085 B CN 114443085B
Authority
CN
China
Prior art keywords
hard disk
refreshed
firmware
disk drive
hard
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
Application number
CN202111551850.7A
Other languages
English (en)
Other versions
CN114443085A (zh
Inventor
赵晓强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111551850.7A priority Critical patent/CN114443085B/zh
Publication of CN114443085A publication Critical patent/CN114443085A/zh
Application granted granted Critical
Publication of CN114443085B publication Critical patent/CN114443085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种硬盘的固件刷新方法、系统及计算机可读存储介质,方法包括:通过加载硬盘驱动以识别待刷新硬盘;探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;对识别的所述待刷新硬盘的数量进行计数;响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。通过本发明的方案,实现了对批量硬盘的分次固件刷新,每次通过硬盘驱动加载预设数量的硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率。

Description

一种硬盘的固件刷新方法、系统及计算机可读存储介质
技术领域
本发明涉及服务器技术领域,尤其涉及一种硬盘的固件刷新方法、系统及计算机可读存储介质。
背景技术
目前服务器大规模生产中,各部件从仓库发到生产线上组装时,硬盘的FW(FirmWare,固件)基本和出货要求的不同,这样就需要线上测试时刷新硬盘的FW来支持大规模生产和快速交付。
现有少量硬盘批量刷新硬盘FW的方法是:通过BOM(Bill of Material,物料清单)信息获取硬盘料号,下载以料号命名的脚本;调用该脚本,下载适配工具,抓取与该料号匹配的硬盘Model(型号)和FW;判断FW是否为出货要求版本,如不匹配刷新到出货版本;重启使FW生效。
上述硬盘的固件刷新方法对大容量多硬盘(如上百块4T容量以上的硬盘)刷新FW时需要使用索引号,而对于大容量多硬盘索引号的列印会非常慢,从而会导致批量硬盘刷新脚本执行失败、超时和漏刷,造成尾单延期,一次良率低等问题。
发明内容
有鉴于此,本发明提出了一种硬盘的固件刷新方法、系统及计算机可读存储介质,解决了多个大容量的硬盘进行批量固件刷新,遍历所有硬盘时,由于刷新工具读取信息量太多,导致固件刷新慢、顿、卡等问题,缩短了硬盘的固件刷新周期,提高了硬盘的固件刷新效率。
基于上述目的,本发明实施例的一方面提供了一种硬盘的固件刷新方法,具体包括如下步骤:
加载硬盘驱动以识别待刷新硬盘;
探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
对识别的所述待刷新硬盘的数量进行计数;
响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
响应于所述计数的值符合预设范围,返回探测所述待刷新硬盘的LUN单元的步骤。
在一些实施方式中,在加载硬盘驱动以识别待刷新硬盘之前,进一步包括:
获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动。
在一些实施方式中,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新之后,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,生成下一个硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新包括:
获取待刷新硬盘的型号和所述型号对应的固件;
判断固件的版本是否为出货版本;
若是所述固件的版本不为出货版本,则对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
重启操作系统并检查所有待刷新硬盘的固件是否刷新成功,并对固件未刷新成功的待刷新硬盘重新进行固件刷新。
在一些实施方式中,检查所有待刷新硬盘的固件是否刷新成功,包括:
获取所述待刷新硬盘的固件版本,检查所述固件版本是否为出货版本;
若所述固件版本为出货版本,则所述待刷新硬盘的固件刷新成功;
若所述固件版本不为出货版本,则对所述待刷新硬盘的固件刷新失败。
本发明实施例的另一方面,还提供了一种硬盘的固件刷新系统,包括:
加载模块,所述加载模块配置为加载硬盘驱动以识别待刷新硬盘;
识别模块,所述识别模块配置为探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
计数模块,所述计数模块配置为对识别的所述待刷新硬盘的数量进行计数;
刷新模块,所述刷新模块配置为响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如下方法的计算机程序:
加载硬盘驱动以识别待刷新硬盘;
探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
对识别的所述待刷新硬盘的数量进行计数;
响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
响应于所述计数的值符合预设范围,返回探测所述待刷新硬盘的LUN单元的步骤。
在一些实施方式中,在加载硬盘驱动以识别待刷新硬盘之前,进一步包括:
获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动。
在一些实施方式中,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新之后,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,生成下一个硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新包括:
获取待刷新硬盘的型号和所述型号对应的固件;
判断固件的版本是否为出货版本;
若是所述固件的版本不为出货版本,则对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
重启操作系统并检查所有待刷新硬盘的固件是否刷新成功,并对固件未刷新成功的待刷新硬盘重新进行固件刷新。
在一些实施方式中,检查所有待刷新硬盘的固件是否刷新成功,包括:
获取所述待刷新硬盘的固件版本,检查所述固件版本是否为出货版本;
若所述固件版本为出货版本,则所述待刷新硬盘的固件刷新成功;
若所述固件版本不为出货版本,则对所述待刷新硬盘的固件刷新失败。
本发明至少具有以下有益技术效果:通过加载硬盘驱动以识别待刷新硬盘;探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;对识别的所述待刷新硬盘的数量进行计数;响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新,实现了对批量硬盘的分次固件刷新,每次通过硬盘驱动加载预设数量的硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的硬盘的固件刷新方法的一实施例的框图;
图2为本发明提供的硬盘的固件刷新系统的一实施例的示意图;
图3为本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种硬盘的固件刷新方法的实施例。如图1所示,其包括如下步骤:
步骤S101、加载硬盘驱动以识别待刷新硬盘;
步骤S103、探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
步骤S105、对识别的所述待刷新硬盘的数量进行计数;
步骤S107、响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
SCSI(Small Computer System Interface,小型计算机系统接口)是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。
操作系统内核启动时,加载硬盘驱动以识别待刷新硬盘;通过发送SCSI INQUIRY命令探测待刷新硬盘的lun单元,根据探测的返回参数注册SCSI设备scsi_device到SCSI总线上,若注册成功则调用探测函数sd_probe初始化scsi_device,映射待刷新硬盘对应的<host,channel,target,lun>和设备文件名称,同时为待刷新硬盘分配主次设备号,至此完成对待刷新硬盘的识别,后续系统可以通过设备文件名称或主次设备号查询到待刷新硬盘的<host,channel,target,lun>,其中host表示主机、channel表示通道、target表示目标对象、lun表示逻辑单元号。
修改sd_probe函数,加入计数功能,计数从0开始,每识别一个硬盘,计数加1。计数的预先范围可以提前设定好,比如预设范围内包含数据的个数为一次待刷新硬盘的个数,例如,20,那么识别到20个硬盘就退出当前硬盘驱动,开始进行待刷新硬盘的固件刷新。
若是当前只有18个待刷新硬盘,则在识别到第18个待刷新硬盘后,就开始对当前驱动识别的待刷新硬盘进行固件刷新。
本发明实施例可以对批量硬盘进行分次固件刷新,每次通过硬盘驱动加载预设数量的待刷新硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率,尤其是针对批量的大容量的硬盘进行固件刷新的应用场景刷新效率提升效果更加明显。
在一些实施方式中,方法进一步包括:
响应于所述计数的值符合预设范围,返回探测所述待刷新硬盘的LUN单元的步骤。
在一些实施方式中,在加载硬盘驱动以识别待刷新硬盘之前,进一步包括:
获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动。
获取所有待刷新硬盘,根据一次要刷新的待刷新硬盘的个数,生成对应数量的硬盘驱动。
在一些实施方式中,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
根据所有的待刷新硬盘的数据和一次要刷新的待刷新硬盘的个数,生成对应数量个硬盘驱动。每次基于对应的硬盘驱动对有限个数个硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率。
例如,一共当前有98个硬盘需要进行固件刷新,假定一次刷新20个,那么生成硬盘驱动的数量为98/20=4.9,对结果取整数,则生成5个硬盘驱动,分别为硬盘驱动1~硬盘驱动5,每个驱动识别20个待刷新硬盘进行更新。每刷新一个待刷新硬盘,计数1次,由于假定的每次待刷新硬盘的数量为20,预设范围内包含的数据的个数为20,每一段驱动对应的预设范围区间不一致,但包含数据的个数是固定不变的。也就是说,硬盘驱动1对应的预设范围为1~20(包含端点值),硬盘驱动2对应的预设范围为21~40(包含端点值),硬盘驱动3对应的预设范围为41~60(包含端点值),硬盘驱动4对应的预设范围为61~80(包含端点值),硬盘驱动5对应的预设范围为81~100(包含端点值)。每一个硬盘驱动对应的计数的值超出对应的计数范围后,停止识别待刷新硬盘,开始对各自已识别的待刷新硬盘进行固件更新。由于有98个待刷新硬盘,则硬盘驱动5在识别到最后一个待刷新硬盘后,不管计数的值是否在预设范围内,均停止识别,开始对硬盘驱动5识别的硬盘进行固件刷新。
本发明实施例针对批量的大容量的硬盘进行固件刷新的应用场景刷新效率提升效果更加明显,避免了遍历所有的大容量硬盘时,由于刷新工具读取信息量太多,导致固件刷新慢、顿、卡等问题,缩短了硬盘的固件刷新周期,提高了硬盘的固件刷新效率。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新之后,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,生成下一个硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新包括:
获取待刷新硬盘的型号和所述型号对应的固件;
判断固件的版本是否为出货版本;
若是所述固件的版本不为出货版本,则对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
重启操作系统并检查所有待刷新硬盘的固件是否刷新成功,并对固件未刷新成功的待刷新硬盘重新进行固件刷新。
在一些实施方式中,检查所有待刷新硬盘的固件是否刷新成功,包括:
获取所述待刷新硬盘的固件版本,检查所述固件版本是否为出货版本;
若所述固件版本为出货版本,则所述待刷新硬盘的固件刷新成功;
若所述固件版本不为出货版本,则对所述待刷新硬盘的固件刷新失败。
基于同一发明构思,根据本发明的另一个方面,如图2所示,本发明的实施例还提供了一种硬盘的固件刷新系统,包括:
加载模块110,所述加载模块110配置为加载硬盘驱动以识别待刷新硬盘;
识别模块120,所述识别模块120配置为探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
计数模块130,所述计数模块130配置为对识别的所述待刷新硬盘的数量进行计数;
刷新模块140,所述刷新模块140配置为响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
通过加载硬盘驱动以识别待刷新硬盘;探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;对识别的所述待刷新硬盘的数量进行计数;响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新,实现了对批量硬盘的分次固件刷新,每次通过硬盘驱动加载预设数量的硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机可读存储介质40,计算机可读存储介质40存储有被处理器执行时执行如下方法的计算机程序410:
加载硬盘驱动以识别待刷新硬盘;
探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
对识别的所述待刷新硬盘的数量进行计数;
响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
通过加载硬盘驱动以识别待刷新硬盘;探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;对识别的所述待刷新硬盘的数量进行计数;响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新,实现了对批量硬盘的分次固件刷新,每次通过硬盘驱动加载预设数量的硬盘进行固件刷新,实现了批量硬盘的快速刷新,提高了硬盘的固件刷新效率。
在一些实施方式中,方法进一步包括:
响应于所述计数的值符合预设范围,返回探测所述待刷新硬盘的LUN单元的步骤。
在一些实施方式中,在加载硬盘驱动以识别待刷新硬盘之前,进一步包括:
获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动。
在一些实施方式中,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新之后,方法进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,生成下一个硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
在一些实施方式中,对所述硬盘驱动识别的待刷新硬盘进行固件刷新包括:
获取待刷新硬盘的型号和所述型号对应的固件;
判断固件的版本是否为出货版本;
若是所述固件的版本不为出货版本,则对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
在一些实施方式中,方法进一步包括:
重启操作系统并检查所有待刷新硬盘的固件是否刷新成功,并对固件未刷新成功的待刷新硬盘重新进行固件刷新。
在一些实施方式中,检查所有待刷新硬盘的固件是否刷新成功,包括:
获取所述待刷新硬盘的固件版本,检查所述固件版本是否为出货版本;
若所述固件版本为出货版本,则所述待刷新硬盘的固件刷新成功;
若所述固件版本不为出货版本,则对所述待刷新硬盘的固件刷新失败。
本发明实施例还可以包括相应的计算机设备。计算机设备包括存储器、至少一个处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一种方法。
其中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述硬盘的固件刷新方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行装置的各种功能应用以及数据处理,即实现上述方法实施例的硬盘的固件刷新方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (8)

1.一种硬盘的固件刷新方法,其特征在于,包括:
获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动;
加载硬盘驱动以识别待刷新硬盘;
探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
对识别的所述待刷新硬盘的数量进行计数;
响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新;
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
响应于所述计数的值符合预设范围,返回探测所述待刷新硬盘的LUN单元的步骤。
3.根据权利要求1所述的方法,其特征在于,对所述硬盘驱动识别的待刷新硬盘进行固件刷新之后,进一步包括:
响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,生成下一个硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
4.根据权利要求1~3任意一项所述的方法,其特征在于,对所述硬盘驱动识别的待刷新硬盘进行固件刷新包括:
获取待刷新硬盘的型号和所述型号对应的固件;
判断固件的版本是否为出货版本;
若是所述固件的版本不为出货版本,则对所述硬盘驱动识别的待刷新硬盘进行固件刷新。
5.根据权利要求1~3任意一项所述的方法,其特征在于,进一步包括:
重启操作系统并检查所有待刷新硬盘的固件是否刷新成功,并对固件未刷新成功的待刷新硬盘重新进行固件刷新。
6.根据权利要求5所述的方法,其特征在于,检查所有待刷新硬盘的固件是否刷新成功,包括:
获取所述待刷新硬盘的固件版本,检查所述固件版本是否为出货版本;
若所述固件版本为出货版本,则所述待刷新硬盘的固件刷新成功;
若所述固件版本不为出货版本,则对所述待刷新硬盘的固件刷新失败。
7.一种硬盘的固件刷新系统,其特征在于,包括:
加载模块,所述加载模块配置为获取所有待刷新硬盘,基于所述待刷新硬盘的数量生成对应数量的硬盘驱动,并加载硬盘驱动以识别待刷新硬盘;
识别模块,所述识别模块配置为探测所述待刷新硬盘的LUN单元,并根据接收到的探测返回参数在SCSI总线上注册SCSI设备,并响应于所述SCSI设备注册成功对所述SCSI设备进行初始化以完成对所述待刷新硬盘的识别;
计数模块,所述计数模块配置为对识别的所述待刷新硬盘的数量进行计数;
刷新模块,所述刷新模块配置为响应于所述计数的值超出预设范围或识别的所述待刷新硬盘为最后一个待刷新硬盘,对所述硬盘驱动识别的待刷新硬盘进行固件刷新,并且响应于当前加载的所述硬盘驱动识别的待刷新硬盘的固件刷新完成,卸载所述硬盘驱动,并返回加载硬盘驱动的步骤加载下一个硬盘驱动以继续识别待刷新硬盘并对待刷新硬盘进行固件刷新,直到所有待刷新硬盘的固件刷新完成。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-6任意一项所述的方法的步骤。
CN202111551850.7A 2021-12-17 2021-12-17 一种硬盘的固件刷新方法、系统及计算机可读存储介质 Active CN114443085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111551850.7A CN114443085B (zh) 2021-12-17 2021-12-17 一种硬盘的固件刷新方法、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111551850.7A CN114443085B (zh) 2021-12-17 2021-12-17 一种硬盘的固件刷新方法、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114443085A CN114443085A (zh) 2022-05-06
CN114443085B true CN114443085B (zh) 2023-11-03

Family

ID=81364146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111551850.7A Active CN114443085B (zh) 2021-12-17 2021-12-17 一种硬盘的固件刷新方法、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114443085B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490927A (zh) * 2013-09-10 2014-01-01 中兴通讯股份有限公司 一种固件升级方法、设备及通信系统
CN105893100A (zh) * 2016-05-12 2016-08-24 浪潮电子信息产业股份有限公司 一种linux系统下自动刷新硬盘firmware的方法
CN106775877A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 一种固件刷新方法及一种服务器
CN107832106A (zh) * 2017-11-24 2018-03-23 郑州云海信息技术有限公司 一种在低Kernel版本OS下在线更新硬盘FW的方法及系统
CN108027747A (zh) * 2015-07-29 2018-05-11 Netapp股份有限公司 在存储阵列系统中执行为单处理器环境设计的控制器固件的多处理
US10263844B1 (en) * 2017-07-19 2019-04-16 EMC IP Holdiing Company LLC Techniques for performing an upgrade
CN110413578A (zh) * 2019-06-28 2019-11-05 北京互金新融科技有限公司 数据解析的方法和装置
CN111367544A (zh) * 2018-12-26 2020-07-03 美的集团股份有限公司 多外设固件升级控制方法、智能设备、固件及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490927A (zh) * 2013-09-10 2014-01-01 中兴通讯股份有限公司 一种固件升级方法、设备及通信系统
CN108027747A (zh) * 2015-07-29 2018-05-11 Netapp股份有限公司 在存储阵列系统中执行为单处理器环境设计的控制器固件的多处理
CN105893100A (zh) * 2016-05-12 2016-08-24 浪潮电子信息产业股份有限公司 一种linux系统下自动刷新硬盘firmware的方法
CN106775877A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 一种固件刷新方法及一种服务器
US10263844B1 (en) * 2017-07-19 2019-04-16 EMC IP Holdiing Company LLC Techniques for performing an upgrade
CN107832106A (zh) * 2017-11-24 2018-03-23 郑州云海信息技术有限公司 一种在低Kernel版本OS下在线更新硬盘FW的方法及系统
CN111367544A (zh) * 2018-12-26 2020-07-03 美的集团股份有限公司 多外设固件升级控制方法、智能设备、固件及电子设备
CN110413578A (zh) * 2019-06-28 2019-11-05 北京互金新融科技有限公司 数据解析的方法和装置

Also Published As

Publication number Publication date
CN114443085A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
US20210357235A1 (en) Method, device, apparatus for identifying graphics card of gpu server and medium
CN110908865A (zh) 内存泄漏监控方法、装置及电子设备
US8180930B2 (en) Information processing device, and device initialization method in the information processing device
US10274919B2 (en) Method, device and computer program product for programming a plurality of control units
CN109213448B (zh) 一种智能卡的擦写数据的方法、装置、设备及存储介质
CN110633977A (zh) 支付异常处理方法、装置及终端设备
EP2960777A1 (en) Data protection method, apparatus and device
CN111737564A (zh) 一种信息查询方法、装置、设备及介质
CN111597553A (zh) 病毒查杀中的进程处理方法、装置、设备及存储介质
CN114443085B (zh) 一种硬盘的固件刷新方法、系统及计算机可读存储介质
CN115801788B (zh) 事件投递的方法、装置、电子设备及存储介质
CN113010885B (zh) 一种检测伪装起始地址的内核线程的方法及装置
CN113505026B (zh) 验证备份数据的方法、装置、设备及存储介质
CN111371818B (zh) 一种数据请求的验证方法、装置及设备
CN110442467B (zh) 一种数据共享方法及终端、计算机可读存储介质
CN108595123B (zh) 移动终端的数据存储方法及装置
CN111176726A (zh) 可配置的命令撤销方法及其装置
KR102509596B1 (ko) 블록체인 기반 토큰을 활용한 배송 관리 장치 및 방법
CN111061699A (zh) 一种电能表数据库版本更新的方法及装置
CN110740062A (zh) 断点续传方法和装置
CN118151851B (zh) 固态硬盘读取方法、装置、设备及可读存储介质
CN114462922A (zh) 一种运单信息刷新方法
CN112508449B (zh) 任务执行方法、装置、电子设备及计算机可读存储介质
CN112905195B (zh) 触摸屏驱动配置方法、装置、计算机设备和存储介质
CN111061651B (zh) 一种串行eeprom型号的识别方法、装置及存储介质

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
GR01 Patent grant
GR01 Patent grant