CN111966387A - 一种ntb卡的固件升级方法、装置、设备及存储介质 - Google Patents
一种ntb卡的固件升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111966387A CN111966387A CN202011141402.5A CN202011141402A CN111966387A CN 111966387 A CN111966387 A CN 111966387A CN 202011141402 A CN202011141402 A CN 202011141402A CN 111966387 A CN111966387 A CN 111966387A
- Authority
- CN
- China
- Prior art keywords
- ntb
- target
- card
- information
- firmware
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 47
- 230000006978 adaptation Effects 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013213 extrapolation Methods 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101800001295 Putative ATP-dependent helicase Proteins 0.000 description 1
- 101800001006 Putative helicase Proteins 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration 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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种NTB卡的固件升级方法、装置、设备及计算机可读存储介质,方法包括:调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,NTB设备信息包括upstream BDF;根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡;调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作。本方法能够利用固件升级程序对任意类型的NTB卡进行固件升级操作,并且能够提高upstream BDF与NTB卡的匹配准确度,因此能够提高对NTB卡进行固件升级操作的便捷度和效率。
Description
技术领域
本发明涉及固件升级领域,特别涉及一种NTB卡的固件升级方法、装置、设备及计算机可读存储介质。
背景技术
随着信息化的快速发展,NTB(Non-Transparent Bridging,非透明桥)卡的应用越来越广泛。在实际操作中,在NTB卡出厂时,厂商会在NTB卡的EEPROM中烧录固件信息,并且在后续的使用操作过程中,用户将根据自身的实际需求对NTB卡进行固件升级,以不断满足用户日益更新的使用需求。具体的,在对NTB卡进行固件升级操作时,一般是先根据NTB卡的类型确定出对应的BDF(bus-device-function,总线号-设备号-功能号)形式,再通过指定的BDF的形式对NTB卡进行固件升级操作。但是,随着信息技术的快速发展,存储设备上设置的NTB卡的数量和类型越来越多,当需要对存储设备上各不同类型的NTB卡进行固件升级操作时,则需要根据各不同类型的NTB卡分别确定对应的BDF形式,再进行固件升级操作,使得固件升级操作过程繁琐;并且在确定与NTB卡类型对应的BDF的形式时,可能出现匹配错误的情况,导致固件升级无法正常进行,降低固件升级操作的效率。
因此,如何提高对NTB卡进行固件升级操作的便捷度和效率,是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种NTB卡的固件升级方法,能够提高对NTB卡进行固件升级操作的便捷度和效率;本发明的另一目的是提供一种NTB卡的固件升级装置、设备及计算机可读存储介质,均具有上述有益效果。
为解决上述技术问题,本发明提供一种NTB卡的固件升级方法,包括:
调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,所述NTB设备信息包括upstream BDF;
根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作。
优选地,所述根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡的过程,具体包括:
将各所述NTB标识信息和各所述NTB设备信息中的相同类型的信息设置于同一字符串中;其中,所述NTB标识信息中的相同类型的信息包括位置信息和upstream BDF,所述NTB设备信息中的相同类型的信息包括vendor id、device id、subvendor id和subdevice id;
依据各所述字符串分别提取出属于同一NTB卡的信息;
根据所述同一NTB卡的信息中的所述位置信息以及所述vendor id、所述device id、所述subvendor id和所述subdevice id判断对应的NTB卡是否需要进行固件升级操作;
若是,则确定出需要进行固件升级操作的所述目标NTB卡。
优选地,所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作的过程,具体包括:
根据所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡;
将相同类型的所述目标NTB卡的所述upstream BDF设置于同一个数组中,并确定出各类型的所述目标NTB卡的数量;
调用固件升级程序,遍历各所述数组中各所述upstream BDF,并利用各所述upstreamBDF分别对对应的目标NTB进行固件升级操作。
优选地,在所述根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡之后,进一步包括:
判断所述目标NTB卡EEPROM中的固件版本信息与当前进行升级的固件版本信息是否相同;
若否,则进入所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作的步骤。
优选地,进一步包括:
获取各所述NTB卡的板载类型和外插类型;
对应的,所述根据所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡的过程,具体包括:
根据所述板载类型和所述外插类型,以及所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡。
优选地,所述调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息的过程,包括:
调用所述固件适配脚本遍历所述目标存储设备的所述PCI设备系统目录,获取所述目标存储设备的各所述NTB卡的所述NTB标识信息;
将所述NTB标识信息与预设适配文件进行比较,判断所述预设适配文件中是否存在与所述NTB标识信息对应的信息;
若存在,则获取所述目标存储设备的各所述NTB卡所述NTB设备信息。
优选地,在所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作之后,进一步包括:
发出对应的提示信息。
为解决上述技术问题,本发明还提供一种NTB卡的固件升级装置,包括:
第一获取模块,用于调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,所述NTB设备信息包括upstream BDF;
确定模块,用于根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
升级模块,用于调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作。
为解决上述技术问题,本发明还提供一种NTB卡的固件升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种NTB卡的固件升级方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种NTB卡的固件升级方法的步骤。
本发明提供的一种NTB卡的固件升级方法,包括:调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;且NTB设备信息包括upstream BDF;然后根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡;再调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作。可见,本方法是在根据NTB卡的NTB标识信息和NTB设备信息确定出NTB卡需要进行固件升级操作的目标NTB卡后,通过调用固件升级程序,利用目标NTB设备信息中包括的upstream BDF对目标NTB卡进行固件升级操作,也就是说,本方法是直接利用获取到的upstream BDF对对应的目标NTB卡进行固件升级操作,避免了现有技术中需要先针对NTB卡的类型确定对应的BDF形式的操作,因此能够利用固件升级程序对任意类型的NTB卡进行固件升级操作,并且本方法能够提高upstream BDF与NTB卡的匹配准确度,因此能够提高对NTB卡进行固件升级操作的便捷度和效率。
为解决上述技术问题,本发明还提供了一种NTB卡的固件升级装置、设备及计算机可读存储介质,均具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种NTB卡的固件升级方法的流程图;
图2为本发明实施例提供的一种NTB卡的固件升级装置的结构图;
图3为本发明实施例提供的一种NTB卡的固件升级设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的核心是提供一种NTB卡的固件升级方法,能够提高对NTB卡进行固件升级操作的便捷度和效率;本发明的另一核心是提供一种NTB卡的固件升级装置、设备及计算机可读存储介质,均具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种NTB卡的固件升级方法的流程图。如图1所示,一种NTB卡的固件升级方法包括:
S10:调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,NTB设备信息包括upstream BDF(upstreambus-device-function,上游的总线号-设备号-功能号)。
在实际操作中,首先调用固件适配脚本获取目标存储设备当前设置的NTB卡的信息。具体的,利用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备中的各NTB卡的NTB标识信息和NTB设备信息;其中,NTB标识信息用于唯一标识各类型的NTB卡,NTB设备信息包括NTB卡的位置信息和upstream BDF等信息,并且,upstream BDF可以从PCI设备系统目录指定位置截取后获取。
在本实施例中,预先利用vendor id(供应商号)、device id(设备号)、subvendorid(子供应商号)和subdevice id(子设备号)来标识各NTB卡,不同功能的NTB卡必须设置不同的vendor id、device id、subvendor id和subdevice id,因此可以进一步根据识别到的NTB标识信息确定出目标存储设备中NTB卡的数量以及相同类型的NTB卡的数量。
S20:根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
S30:调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作。
具体的,在获取到各NTB卡的NTB标识信息和NTB设备信息后,根据各NTB标识信息和各NTB设备信息来判断各对应的NTB卡是否需要进行固件升级操作;若需要,则将该需要进行固件升级操作的NTB卡确定为目标NTB卡。然后调用预先设置并存储的固件升级程序,依据目标NTB卡对应的目标NTB设备信息中的upstream BDF对对应的目标NTB卡进行固件升级操作,具体是利用固件升级脚本根据upstream BDF,对与该upstream BDF对应的NTB卡进行固件升级操作。例如,固件升级脚本调用某一upstream BDF,表示对该形式的BDF对应的NTB卡进行固件升级操作,如加8733参数识别8733芯片类型的NTB卡。
本发明实施例提供的一种NTB卡的固件升级方法,包括:调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;且NTB设备信息包括upstream BDF;然后根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡;再调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作。可见,本方法是在根据NTB卡的NTB标识信息和NTB设备信息确定出NTB卡需要进行固件升级操作的目标NTB卡后,通过调用固件升级程序,利用目标NTB设备信息中包括的upstream BDF对目标NTB卡进行固件升级操作,也就是说,本方法是直接利用获取到的upstream BDF对对应的目标NTB卡进行固件升级操作,避免了现有技术中需要先针对NTB卡的类型确定对应的BDF形式的操作,因此能够利用固件升级程序对任意类型的NTB卡进行固件升级操作,并且本方法能够提高upstream BDF与NTB卡的匹配准确度,因此能够提高对NTB卡进行固件升级操作的便捷度和效率。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡的过程,具体包括:
将各NTB标识信息和各NTB设备信息中的相同类型的信息设置于同一字符串中;其中,NTB标识信息中的相同类型的信息包括位置信息和upstream BDF,NTB设备信息中的相同类型的信息包括vendor id(供应商号)、device id(设备号)、subvendor id(子供应商号)和subdevice id(子设备号);
依据各字符串分别提取出属于同一NTB卡的信息;
根据同一NTB卡的信息中的位置信息以及vendor id、device id、subvendor id和subdevice id判断对应的NTB卡是否需要进行固件升级操作;
若是,则确定出需要进行固件升级操作的目标NTB卡。
具体的,在本实施例中,是在获取到NTB卡的NTB标识信息和NTB设备信息之后,利用cut命令对各NTB标识信息和各NTB设备信息进行处理,并将各NTB标识信息和各NTB设备信息中的相同类型的信息设置于同一字符串中;例如,将各NTB卡的位置信息设置于第一字符串中,将各NTB卡的upstream BDF设置于第二字符串中,将各NTB卡的vendor id、deviceid、subvendor id和subdevice id分别设置于第三、第四、第五和第六字符串中。
然后,依据各字符串分别提取出属于同一NTB卡的信息,具体的,各字符串中的相同位置设置的是同一NTB卡的信息,通过提取出各字符串中相同位置的信息,并将提取出的信息进行组合,则得出对应的NTB卡的所有信息,再根据同一NTB卡的信息中的位置信息以及vendor id(供应商号)、device id(设备号)、subvendor id(子供应商号)和subdeviceid(子设备号)判断对应的NTB卡是否需要进行固件升级操作。
具体的,根据位置信息和存储平台信息判断该NTB卡是否是在期望的存储平台下进行固件升级操作,若是,则进一步根据NTB卡的vendor id、device id、subvendor id和subdevice id等NTB标识信息判断该NTB卡是否为需要进行固件升级的NTB卡;若符合上述条件,则确定出该NTB卡为需要进行固件升级操作的目标NTB卡。
可见,根据本实施例的方法来确定出需要进行固件升级操作的目标NTB卡,能够更加清晰地分清楚各NTB卡,从而能更准确地确定出需要进行固件升级操作的目标NTB卡,进而能够提高固件升级操作的准确性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作的过程,具体包括:
根据vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡;
将相同类型的目标NTB卡的upstream BDF设置于同一个数组中,并确定出各类型的目标NTB卡的数量;
调用固件升级程序,遍历各数组中各upstream BDF,并利用各upstream BDF分别对对应的目标NTB进行固件升级操作。
具体的,在本实施例中,具体是利用vendor id(供应商号)、device id(设备号)、subvendor id(子供应商号)和subdevice id(子设备号)来标识各NTB卡,因此在确定出目标NTB卡之后,可以根据vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡,然后将相同类型的目标NTB卡的upstream BDF设置于同一个数组中,并确定出各类型的目标NTB卡的数量。也就是说,同一个数组中的NTB卡类型是相同的,根据同一数组中目标NTB卡的upstream BDF的数量确定出相同类型的NTB卡的数量;再调用固件升级程序,遍历各数组中各upstream BDF,固件升级程序利用各upstream BDF分别对对应的目标NTB进行固件升级操作,具体的,固件升级程序遍历数组中的upstream BDF,循环次数为该类型卡的数量。
可见,本实施例通过将相同类型的NTB卡的upstream BDF设置于同一数组中,通过固件升级程序遍历数组来对数组中各upstream BDF分别对应的目标NTB卡进行固件升级操作,操作更加便捷并且能避免遗漏目标NTB卡。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡之后,进一步包括:
判断目标NTB卡EEPROM中的固件版本信息与当前进行升级的固件版本信息是否相同;
若否,则进入调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作的步骤。
具体的,本实施例是在调用固件升级程序来进行固件升级操作之前,进一步利用固件升级程序来读写目标NTB卡EEPROM中的固件文件,并获取该固件文件的固件版本信息,再将该固件版本信息与当前进行升级的固件版本信息进行比较,判断二者是否相同。也就是说,根据固件版本信息进一步确定当前进行固件升级的是否为升级后的固件版本,只有在确定出当前进行固件升级的是升级后的固件文件时,才利用固件升级程序依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作,从而能够进一步保障对NTB卡进行固件升级操作的有效性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例进一步包括:
获取各NTB卡的板载类型和外插类型;
对应的,根据vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡的过程,具体包括:
根据板载类型和外插类型,以及vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡。
需要说明的是,在实际操作中,NTB卡可以是以板载或者外插的形式与目标存储设备相连,而板载类型的NTB卡的NTB标识信息可以能与外插类型的NTB卡的NTB标识信息相同,因此会导致NTB卡的混肴。在本实施例中,通过进一步获取各NTB卡的板载类型或外插类型,然后根据板载类型和外插类型,以及vendor id、device id、subvendor id和subdeviceid确定出相同类型的目标NTB卡,因此能够唯一确定各类型的目标NTB卡,从而能够进一步保障对目标NTB卡进行固件升级操作的准确性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息的过程,包括:
调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息;
将NTB标识信息与预设适配文件进行比较,判断预设适配文件中是否存在与NTB标识信息对应的信息;
若存在,则获取目标存储设备的各NTB卡NTB设备信息。
具体的,在本实施例中,预先根据目标存储设备中要进行固件升级操作的NTB卡设置预设适配文件,预设适配文件中的信息包括各NTB卡的NTB标识信息等。然后在调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息之后,先将NTB标识信息与预设适配文件进行比较,判断预设适配文件中是否存在与NTB标识信息对应的信息;若不存在,即获取到的NTB标识信息与预设适配文件不匹配,则表示该NTB卡是可识别的,但是该NTB卡不支持在当前设备系统进行固件升级操作;若存在,即获取到的NTB标识信息与预设适配文件相匹配,该NTB卡可识别且可在当前设备系统进行固件升级操作,因此进一步获取目标存储设备的各NTB卡NTB设备信息。
可见,本实施例通过进一步根据预设适配文件和获取到的NTB卡NTB标识信息判断各NTB卡是否可以在当前设备系统进行固件升级操作,从而进一步保障固件升级操作的准确性和可靠性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作之后,进一步包括:
发出对应的提示信息。
具体的,在本实施例中,是在调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作之后,即完成对目标NTB卡的固件升级操作之后,进一步触发提示装置发出对应的提示信息。需要说明的是,提示装置可以具体是蜂鸣器和/或指示灯和/或显示器,通过触发蜂鸣器/指示灯/显示器等提示装置发出对应的提示信息,如蜂鸣音/闪烁灯/显示文字或图像等,以直观地提示用户当前已经完成对目标NTB卡进行的固件升级操作,以便于用户能够及时知晓该信息,从而能够进一步提升用户的使用体验。
上文对于本发明提供的一种NTB卡的固件升级方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的NTB卡的固件升级装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种NTB卡的固件升级装置的结构图,如图2所示,一种NTB卡的固件升级装置包括:
第一获取模块21,用于调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,NTB设备信息包括upstreamBDF;
确定模块22,用于根据各NTB标识信息和各NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
升级模块23,用于调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作。
本发明实施例提供的NTB卡的固件升级装置,具有上述NTB卡的固件升级方法的有益效果。
作为优选的实施方式,确定模块具体包括:
第一设置子模块,用于将各NTB标识信息和各NTB设备信息中的相同类型的信息设置于同一字符串中;其中,NTB标识信息中的相同类型的信息包括位置信息和upstream BDF,NTB设备信息中的相同类型的信息包括vendor id、device id、subvendor id和subdevice id;
提取子模块,用于依据各字符串分别提取出属于同一NTB卡的信息;
判断子模块,用于根据同一NTB卡的信息中的位置信息以及vendor id、device id、subvendor id和subdevice id判断对应的NTB卡是否需要进行固件升级操作;若是,则确定出需要进行固件升级操作的目标NTB卡。
作为优选的实施方式,升级模块具体包括:
确定子模块,用于根据vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡;
第二设置子模块,用于将相同类型的目标NTB卡的upstream BDF设置于同一个数组中,并确定出各类型的目标NTB卡的数量;
升级子模块,用于调用固件升级程序,遍历各数组中各upstream BDF,并利用各upstream BDF分别对对应的目标NTB进行固件升级操作。
作为优选的实施方式,进一步包括:
判断模块,用于判断目标NTB卡EEPROM中的固件版本信息与当前进行升级的固件版本信息是否相同;若否,则调用升级模块。
作为优选的实施方式,进一步包括:
第二获取模块,用于获取各NTB卡的板载类型和外插类型;
对应的,确定模块具体包括:
确定单元,用于根据板载类型和外插类型,以及vendor id、device id、subvendor id和subdevice id确定出相同类型的目标NTB卡。
作为优选的实施方式,第一获取模块具体包括:
第一获取单元,用于调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取目标存储设备的各NTB卡的NTB标识信息;
判断单元,用于将NTB标识信息与预设适配文件进行比较,判断预设适配文件中是否存在与NTB标识信息对应的信息;若存在,则调用第二获取单元;
第二获取单元,用于获取目标存储设备的各NTB卡NTB设备信息。
作为优选的实施方式,进一步包括:
提示模块,用于在调用固件升级程序,依据目标NTB卡的目标NTB设备信息对目标NTB卡进行固件升级操作之后,发出对应的提示信息。
图3为本发明实施例提供的一种NTB卡的固件升级设备的结构图,如图3所示,一种NTB卡的固件升级设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现如上述NTB卡的固件升级方法的步骤。
本发明实施例提供的NTB卡的固件升级设备,具有上述NTB卡的固件升级方法的有益效果。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述NTB卡的固件升级方法的步骤。
本发明实施例提供的计算机可读存储介质,具有上述NTB卡的固件升级方法的有益效果。
以上对本发明所提供的NTB卡的固件升级方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种NTB卡的固件升级方法,其特征在于,包括:
调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,所述NTB设备信息包括upstream BDF;
根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡的过程,具体包括:
将各所述NTB标识信息和各所述NTB设备信息中的相同类型的信息设置于同一字符串中;其中,所述NTB标识信息中的相同类型的信息包括位置信息和upstream BDF,所述NTB设备信息中的相同类型的信息包括vendor id、device id、subvendor id和subdevice id;
依据各所述字符串分别提取出属于同一NTB卡的信息;
根据所述同一NTB卡的信息中的所述位置信息以及所述vendor id、所述device id、所述subvendor id和所述subdevice id判断对应的NTB卡是否需要进行固件升级操作;
若是,则确定出需要进行固件升级操作的所述目标NTB卡。
3.根据权利要求2所述的方法,其特征在于,所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作的过程,具体包括:
根据所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡;
将相同类型的所述目标NTB卡的所述upstream BDF设置于同一个数组中,并确定出各类型的所述目标NTB卡的数量;
调用固件升级程序,遍历各所述数组中各所述upstream BDF,并利用各所述upstreamBDF分别对对应的目标NTB进行固件升级操作。
4.根据权利要求3所述的方法,其特征在于,在所述根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡之后,进一步包括:
判断所述目标NTB卡EEPROM中的固件版本信息与当前进行升级的固件版本信息是否相同;
若否,则进入所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作的步骤。
5.根据权利要求3所述的方法,其特征在于,进一步包括:
获取各所述NTB卡的板载类型和外插类型;
对应的,所述根据所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡的过程,具体包括:
根据所述板载类型和所述外插类型,以及所述vendor id、所述device id、所述subvendor id和所述subdevice id确定出相同类型的所述目标NTB卡。
6.根据权利要求1所述的方法,其特征在于,所述调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息的过程,包括:
调用所述固件适配脚本遍历所述目标存储设备的所述PCI设备系统目录,获取所述目标存储设备的各所述NTB卡的所述NTB标识信息;
将所述NTB标识信息与预设适配文件进行比较,判断所述预设适配文件中是否存在与所述NTB标识信息对应的信息;
若存在,则获取所述目标存储设备的各所述NTB卡所述NTB设备信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作之后,进一步包括:
发出对应的提示信息。
8.一种NTB卡的固件升级装置,其特征在于,包括:
第一获取模块,用于调用固件适配脚本遍历目标存储设备的PCI设备系统目录,获取所述目标存储设备的各NTB卡的NTB标识信息和NTB设备信息;其中,所述NTB设备信息包括upstream BDF;
确定模块,用于根据各所述NTB标识信息和各所述NTB设备信息确定出需要进行固件升级操作的目标NTB卡;
升级模块,用于调用固件升级程序,依据所述目标NTB卡的目标NTB设备信息对所述目标NTB卡进行固件升级操作。
9.一种NTB卡的固件升级设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的NTB卡的固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的NTB卡的固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141402.5A CN111966387B (zh) | 2020-10-22 | 2020-10-22 | 一种ntb卡的固件升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141402.5A CN111966387B (zh) | 2020-10-22 | 2020-10-22 | 一种ntb卡的固件升级方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966387A true CN111966387A (zh) | 2020-11-20 |
CN111966387B CN111966387B (zh) | 2021-03-12 |
Family
ID=73387579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011141402.5A Active CN111966387B (zh) | 2020-10-22 | 2020-10-22 | 一种ntb卡的固件升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966387B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556496A (zh) * | 2013-07-22 | 2016-05-04 | 华为技术有限公司 | 通过快捷外围组件互连高速进行的可扩展直接节点间通信 |
CN106445573A (zh) * | 2015-08-11 | 2017-02-22 | 杭州华为数字技术有限公司 | 固件升级方法、装置及高速外围设备互联集群系统 |
US20190347125A1 (en) * | 2016-12-31 | 2019-11-14 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
CN110502282A (zh) * | 2019-08-15 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 多路ntb卡的加载方法、装置、设备及可读存储介质 |
-
2020
- 2020-10-22 CN CN202011141402.5A patent/CN111966387B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556496A (zh) * | 2013-07-22 | 2016-05-04 | 华为技术有限公司 | 通过快捷外围组件互连高速进行的可扩展直接节点间通信 |
CN106445573A (zh) * | 2015-08-11 | 2017-02-22 | 杭州华为数字技术有限公司 | 固件升级方法、装置及高速外围设备互联集群系统 |
US20190347125A1 (en) * | 2016-12-31 | 2019-11-14 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
CN110502282A (zh) * | 2019-08-15 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 多路ntb卡的加载方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111966387B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN111274154A (zh) | 一种自动化测试的方法、装置、设备及存储介质 | |
CN110119280A (zh) | 多固件升级的方法及装置 | |
CN111475401A (zh) | 一种测试方法及相关设备 | |
CN110209520B (zh) | 一种提高ssd测试效率的方法、装置、计算机设备及存储介质 | |
WO2021114138A1 (zh) | 升级异常分析方法、电子设备、可移动平台、相机及计算机可读存储介质 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN110750280A (zh) | 一种基于Android平台的应用升级方法及系统、存储介质 | |
CN110888731A (zh) | 路由数据采集方法、装置、设备及存储介质 | |
CN110889116B (zh) | 一种广告拦截方法、装置及电子设备 | |
CN106775847B (zh) | 一种板卡软件版本更新方法及装置 | |
CN113835729B (zh) | 升级方法、装置、终端设备及计算机可读存储介质 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN114218072A (zh) | 测试脚本生成方法、装置、存储介质及计算机设备 | |
CN114185571A (zh) | Cpld的固件升级方法、装置、终端及可读存储介质 | |
CN111966387B (zh) | 一种ntb卡的固件升级方法、装置、设备及存储介质 | |
CN111104270A (zh) | 一种存储设备的硬件配置检测装置、设备及存储介质 | |
CN113518146B (zh) | 一种移动终端信息的获取方法及装置 | |
CN113760631B (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN115061921A (zh) | 自动测试方法、装置、电子设备及可读存储介质 | |
CN114860613A (zh) | 一种自动化测试方法及装置 | |
CN112860283B (zh) | Sp升级包的自识别升级方法、装置及计算机设备 | |
CN114496053A (zh) | 数据异常检测方法、装置、设备及计算机可读存储介质 | |
CN111722886A (zh) | 工具启动方法、装置、计算机设备及计算机可读存储介质 | |
CN112035181A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |