CN116431189B - 基于pcie链路的板卡升级方法、装置、设备及存储介质 - Google Patents
基于pcie链路的板卡升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116431189B CN116431189B CN202310688310.6A CN202310688310A CN116431189B CN 116431189 B CN116431189 B CN 116431189B CN 202310688310 A CN202310688310 A CN 202310688310A CN 116431189 B CN116431189 B CN 116431189B
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet
- program
- area
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012795 verification Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000013524 data verification Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种基于PCIE链路的板卡升级方法、装置、设备及存储介质,涉及计算机技术领域,本方案通过PCIE链路下载升级数据,以数据流的形式传输加密后的数据,并且板卡对接收到的数据进行解密、校验,减少数据泄露的可能同时还确保了数据的正确性,此外还为不同类型的数据提供了相应的烧写路径,从而合理有序地调度对应的程序,实现更快捷地进行在线升级。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于PCIE链路的板卡升级方法、装置、设备及存储介质。
背景技术
PCIE(Peripheral Component Interconnect Express,快速外围组件互连)作为一种高速串行计算机扩展总线标准,通常应用于需要高速传输数据的硬件设备中,如PCIE密码卡等。PCIE密码卡作为一种用于加密和解密数据的硬件设备,其通过PCIE接口与计算机主板连接,以在数据传输过程中对数据进行加解密,从而保护数据的安全性。
对于PCIE密码卡的在线升级目前存在两种方式,如返厂维修并通过JTAG(JointTest Action Group,联合测试工作组)接口烧录或通过上位机软件进行在线升级。在采用上位机软件的方式中,需要升级的升级数据包放置于上位机中,并且上位机通过PCIE链路通过数据流的形式发送至PCIE密码卡中。
但上述的在线方式容易导致升级包的程序泄露或者码流错误而导致升级失败使得PCIE密码卡无法正常使用,严重影响对PCIE密码卡的使用。
发明内容
本申请提供了一种基于PCIE链路的板卡升级方法、装置、设备及存储介质,能够有效地实现了PCIE密码卡的在线升级。
第一方面,本申请提供了一种基于PCIE链路的板卡升级方法,应用于板卡,板卡与上位机通过PCIE链路进行数据传输,板卡的存储空间包括引导加载区、校验区和程序区,该方法包括:
在接收到上位机通过PCIE链路发送的密文包后,调用引导加载区的引导程序解密密文包,以得到解密后的数据包;
根据预设的校验算法,对数据包进行校验,并确定数据包是否通过校验;
若数据包通过校验,则对数据包进行类型判断,确定数据包的包类型信息和对应的烧写路径,并按照烧写路径将数据包写入相应的程序区;
从程序区中读取数据包,并运行数据包内的升级程序进行软件升级;
在程序区出现坏块的情况下,调用引导加载区的应用程序,以维持板卡运行,应用程序与升级程序为相同功能的程序。
优选的,密文包基于对应输出反馈模式的SM4加密算法加密。
优选的,数据包包括明文数据和第一校验值;根据预设的校验算法,对数据包进行校验,并确定数据包是否通过校验,包括:
对明文数据进行MD5校验,以获取第二校验值;
对比第一校验值和第二校验值,确定第一校验值和第二校验值是否一致;
若第一校验值和第二校验值一致,则确定数据包通过校验。
优选的,若数据包未通过校验,则调用引导加载区的升级等待程序,并等待下一次升级。
优选的,若数据包通过校验,则对数据包进行类型判断,确定数据包的包类型信息和对应的烧写路径,并按照烧写路径将数据包写入相应的程序区,包括:
根据数据包的标志位所记录的标识,确定数据包的包类型信息;
根据包类型信息,确定数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种;
基于数据包的包类型信息,选取与包类型信息对应的烧写路径;
若包类型信息为固件包类型,则按照固件包类型对应的烧写路径将数据包写入对应的程序区。
优选的,在从程序区中读取数据包,以运行数据包内的升级程序进行软件升级之前,还包括:
当数据包写入完成后,在校验区添加标识符;
在标识符添加至校验区的情况下,执行热重启操作;
响应于热重启操作,对存储空间进行重启校验。
优选的,响应于热重启操作,对存储空间进行重启校验,包括:
基于标识符,确定校验区是否记录有标识符;
在校验区记录有标识符的情况下,判断升级程序是否存储在程序区;
若升级程序存储在程序区,则确定执行程序读取操作。
第二方面,本申请还提供了一种板卡升级装置,该装置包括:
数据接收模块,配置为在接收到上位机通过PCIE链路发送的密文包后,调用引导加载区的引导程序解密密文包,以获取解密后的数据包;
数据校验模块,配置为根据预设的校验算法,对数据包进行校验,并确定数据包是否通过校验;
数据判别模块,配置为若数据包通过校验,则对数据包进行类型判断,确定数据包的包类型信息和对应的烧写路径,并按照烧写路径将数据包写入相应的程序区;
设备升级模块,配置为从程序区中读取数据包,并运行数据包内的升级程序进行软件升级;
板卡维持模块,配置为在程序区出现坏块的情况下,调用引导加载区的应用程序,以维持板卡运行,应用程序与升级程序为相同功能的程序。
第三方面,本申请还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,一个或多个处理器实现如上述的基于PCIE链路的板卡升级方法。
第四方面,本申请还提供了一种存储介质,其存储有计算机可执行指令,计算机可执行指令在由处理器执行时用于执行如上述的基于PCIE链路的板卡升级方法。
本申请方案通过PCIE链路下载升级数据,以数据流的形式传输加密后的数据,并且板卡对接收到的数据进行解密、校验,减少数据泄露的可能同时还确保了数据的正确性,此外还为不同类型的数据提供了相应的烧写路径,从而合理有序地调度对应的程序,实现更快捷地进行在线升级。而且在程序区出现坏块的情况下,板卡会调用引导加载区的应用程序,以避免板卡无法完成软件升级而宕机甚至无法运行的情况发生。
附图说明
图1为本申请一实施例提供的板卡升级方法的步骤流程图。
图2为本申请一实施例提供的校验数据包的步骤流程图。
图3为本申请一实施例提供的存储数据包的步骤流程图。
图4为本申请一实施例提供的进行热重启操作的步骤流程图。
图5为本申请一实施例中对存储空间重启校验的步骤流程图。
图6为本申请一实施例提供的板卡升级装置的结构示意图。
图7为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。在本申请的描述中,“多个”表示两个及以上,“若干”表示一个及以上。
PCIE密码卡作为具有金手指的板卡,在对其进行在线升级的过程中,将金手指插入上位机的PCIE接口中,使得PCIE密码卡与上位机之间形成PCIE链路,即可实现PCIE密码卡与上位机之间的数据交互,进而将升级用的数据包传输至PCIE密码卡中。
因此,对于板卡升级,本申请实施例提供了一种基于PCIE链路的板卡升级方法,如图1所示,图1为本申请一实施例提供的板卡升级方法的步骤流程图,该方法应用于板卡中,具体地,本申请的板卡升级方法包括如下步骤:
步骤S110、在接收到上位机通过PCIE链路发送的密文包后,调用引导加载区的引导程序解密密文包,以得到解密后的数据包。
在PCIE密码卡上,板卡的存储空间包括引导加载区、校验区和程序区,引导加载区存储有引导程序,引导程序在板卡出厂前已经烧录在引导加载区中;校验区存储用于进行校验的校验码、标识符等;而程序区则用于存储程序,如升级固件对应的程序。
在板卡接收到上位机发送的密文包后,板卡调用引导加载区的引导程序解密密文包,进而得到解密后的数据包。
在一实施例中,密文包是基于对应输出反馈模式的SM4加密算法加密的。可以理解的是,上位机在向板卡发送升级固件之前,还需要对其进行加密,即采用SM4加密算法中的输出反馈模式(OFB,Output Feedback Mode)对升级固件进行加密。
在OFB模式中,密码算法的输出会反馈到密码算法的输入中,即上一分组密码算法的输出是当前分组密码算法的输入,进而通过明文分组和密码算法的输出进行异或来产生密文分组。其中,升级固件作为明文分组,而密文包为所产生的密文分组。
因此,上位机通过SM4-OFB加密算法对升级固件进行加密,将密文包的传输转换为流模式,使得板卡能够更好地接收密文包。
步骤S120、根据预设的校验算法,对数据包进行校验,并确定数据包是否通过校验。
当然,为避免数据包被篡改,板卡在解密密文包得到数据包后,还需对数据包进行校验,以存储通过校验的数据包。
例如,在一实施例中,在数据包中包括有明文数据和第一校验值,该第一校验值为上位机在加密明文数据前对明文数据进行MD5校验后得到的散列值。因此,板卡通过对数据包的解析即可获取明文数据和第一校验值。
图2为本申请一实施例提供的校验数据包的步骤流程图,如图所示,本申请的板卡升级方法还包括如下步骤:
步骤S210、对明文数据进行MD5校验,以获取第二校验值。
步骤S220、对比第一校验值和第二校验值,确定第一校验值和第二校验值是否一致。
步骤S230、若第一校验值和第二校验值一致,则确定数据包通过校验。
可以理解的是,板卡在获取到明文数据后,对明文数据进行MD5校验,从而得到第二校验值。板卡通过对比第一校验值和第二校验值,并确定两者是否一致,即若明文数据未改变,则第一校验值和第二校验值相等,因此,在第一校验值和第二校验值一致的情况下,板卡可以确定该明文数据未改变,进而确定数据包通过校验。
因此,方案能够通过利用传输前后对明文数据计算得到的散列值,判断传输的数据是否出错,实现了对数据的校验,有效地避免了采用错误数据进行升级的情况发生。
步骤S130、若数据包通过校验,则对数据包进行类型判断,确定数据包的包类型信息和对应的烧写路径,并按照烧写路径将数据包写入相应的程序区。
对于通过校验后的数据包,板卡需要将其存储至相应的存储位置。在本申请方案中板卡通过对数据包进行类型判断,以判断的结果对数据包进行存储操作。而且板卡中为各类型的数据均配置有烧写路径,在确定数据包的包类型信息后,即可根据该包类型对应的烧写路径,将数据包写入对应的程序区中。
图3为本申请一实施例提供的存储数据包的步骤流程图,在一实施例中,如图3所示,本申请的板卡升级方法还包括如下步骤:
步骤S310、根据数据包的标志位所记录的标识,确定数据包的包类型信息。
步骤S320、根据包类型信息,确定数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种。
步骤S330、基于数据包的包类型信息,选取与包类型信息对应的烧写路径。
步骤S340、若包类型信息为固件包类型,则按照固件包类型对应的烧写路径将数据包写入对应的程序区。
可以理解的是,在数据包设置有标志位,该标志位用于记录对应包类型信息的标识,即板卡可根据该标识确定数据包的包类型信息,进而判断该数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种。在板卡中,对应固件包、对称算法单元包以及非对称算法单元包分别对应有一个不同的烧写路径,但该烧写路径对应的存储位置均位于程序区中。
因此,在确定数据包的包类型信息后,板卡按照对应的烧写路径将数据包写入相应的存储位置。例如,若包类型信息为固件包类型,则按照固件包类型对应的烧写路径将数据包写入对应的程序区。
因此,板卡可通过对不同类型的数据包预设置相应的烧写路径,进而按照对应的烧写路径将数据包写入相应的存储位置,以便于后续调用。
步骤S140、从程序区中读取数据包,并运行数据包内的升级程序进行软件升级。
数据包内包括有用于进行升级的升级程序,在进行软件升级时,板卡从对应的程序区中读取所存储的升级程序,进而运行该升级程序进而实现软件升级。
步骤S150、在程序区出现坏块的情况下,调用引导加载区的应用程序,以维持板卡运行,应用程序与升级程序为相同功能的程序。
在引导加载区还存储有应用程序,该应用程序与升级程序具有相同的功能,其能够维持板卡运行。应当想到的是,当存储空间中出现某些flash区域不能进行擦除和编程操作,该区域为坏块。因此,在程序区出现坏块的情况下,板卡会调用引导加载区的应用程序,以避免板卡无法完成软件升级而宕机甚至无法运行的情况发生。
由上述方案可知,本方案通过PCIE链路下载升级数据,以数据流的形式传输加密后的数据,并且板卡对接收到的数据进行解密、校验,减少数据泄露的可能同时还确保了数据的正确性,此外还为不同类型的数据提供了相应的烧写路径,从而合理有序地调度对应的程序,实现更快捷地进行在线升级。
在一些实施例中,若数据包未通过校验,则板卡调用引导加载区内的升级等待程序,进而使得板卡运行升级等待程序并等待下一升级。在运行升级等待程序的过程中,板卡等待上位机发送新的密文包,当板卡接收到密文包后,拔卡即调用引导程序,以解密密文包,进而进行板卡升级。因此,运行升级等待程序的板卡能够更快速地响应对密文包的解密以及校验,以便于进行板卡升级。
在一些实施例中,板卡已按照对应烧写路径将数据包写入程序区,在读取升级程序进行软件升级之前,板卡还需要进行热重启操作。图4为本申请一实施例提供的进行热重启操作的步骤流程图,如图所示,本申请的板卡升级方法还包括如下步骤:
步骤S410、当数据包写入完成后,在校验区添加标识符。
步骤S420、在标识符添加至校验区的情况下,执行热重启操作。
步骤S430、响应于热重启操作,对存储空间进行重启校验。
校验区用于存储用于进行校验的校验码、标识符等。因此,在完成将数据包写入的操作后,板卡会生成相应的标识符,并将其存储在校验区,可以理解的是,该标识符号用于标识已完成数据包的写入,而且该标识符还关联于该数据包,即不同的数据包对应不同的标识符。
在完成标识符的添加操作后,板卡进行热重启,即板卡在不断电的状态下进行应用程序的启动。并且在完成热重启操作后,板卡还对存储空间进行重启校验,即校验存储空间内是否成功写入固件包等数据包。
例如,根据数据包对应的烧写路径,对烧写路径对应的存储位置进行检测,以确定在该存储位置上是否有数据包。
因此,板卡通过对完成写入的数据包设置相应的标识符,并在校验区中存储,以便于在重启后对标识符进行校验,防止数据不全而导致进入死机无法恢复的状态,从而提升了板卡的升级稳定性。
图5为本申请一实施例中对存储空间重启校验的步骤流程图,如图5所示,在一实施例中,板卡在热重启后还需要对存储空间进行重启校验,本申请的板卡升级方法还包括如下步骤:
步骤S510、基于标识符,确定校验区是否记录有标识符。
步骤S520、在校验区记录有标识符的情况下,判断升级程序是否存储在程序区。
步骤S530、若升级程序存储在程序区,则确定执行程序读取操作。
可以理解的是,在板卡写入了升级程序后,在校验区会添加有相应的标识符,因此,板卡通过检测校验区是否记录有该标识符,以确定接收到的数据包已经完整写入对应的程序区中,避免因传输中断、断电等因素导致数据不全而引发升级失败。
此外,在检测记录有标识符后,还需要判断升级程序是否存储在设定的存储位置,即板卡在程序区中预设置的存储位置查看是否存储有该升级程序,以确定正确存储了升级程序。而且在确定存储有升级程序后,板卡执行程序读取操作,即对升级程序进行读取,以进行软件升级。
因此,方案通过重启校验,能够使得板卡确定经过热重启后,升级程序仍存储在对应的存储位置上,且数据的完整性得到保障,有效地减少升级失败的情况发生,实现升级断电保护功能。
图6为本申请一实施例提供的板卡升级装置的结构示意图,该装置用于执行上述实施例提供的基于PCIE链路的板卡升级方法,并具备执行方法的功能模块和有益效果。如图6所示,该板卡升级装置包括数据接收模块601、数据校验模块602、数据判别模块603、设备升级模块604和板卡维持模块605。
其中,数据接收模块601配置为在接收到所述上位机通过所述PCIE链路发送的密文包后,调用所述引导加载区的引导程序解密所述密文包,以获取解密后的数据包;数据校验模块602配置为根据预设的校验算法,对所述数据包进行校验,并确定所述数据包是否通过校验;数据判别模块603配置为若所述数据包通过校验,则对所述数据包进行类型判断,确定所述数据包的包类型信息和对应的烧写路径,并按照所述烧写路径将所述数据包写入相应的程序区;设备升级模块604配置为从所述程序区中读取所述数据包,并运行所述数据包内的升级程序进行软件升级;板卡维持模块605配置为在所述程序区出现坏块的情况下,调用所述引导加载区的应用程序,以维持板卡运行,所述应用程序与所述升级程序为相同功能的程序。
在上述实施例的基础上,密文包基于对应输出反馈模式的SM4加密算法加密。
在上述实施例的基础上,数据包包括明文数据和第一校验值,数据校验模块602还配置为:
对明文数据进行MD5校验,以获取第二校验值;
对比第一校验值和第二校验值,确定第一校验值和第二校验值是否一致;
若第一校验值和第二校验值一致,则确定数据包通过校验。
在上述实施例的基础上,板卡升级模块还包括等待升级模块,该等待升级模块配置为:
若数据包未通过校验,则调用引导加载区的升级等待程序,并等待下一次升级。
在上述实施例的基础上,数据判别模块603还配置为:
根据数据包的标志位所记录的标识,确定数据包的包类型信息;
根据包类型信息,确定数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种;
基于数据包的包类型信息,选取与包类型信息对应的烧写路径;
若包类型信息为固件包类型,则按照固件包类型对应的烧写路径将数据包写入对应的程序区
在上述实施例的基础上,板卡升级装置还包括重启校验模块,该重启校验模块配置为:
当数据包写入完成后,在校验区添加标识符;
在标识符添加至校验区的情况下,执行热重启操作;
响应于热重启操作,对存储空间进行重启校验。
在上述实施例的基础上,重启校验模块还配置为:
基于标识符,确定校验区是否记录有标识符;
在校验区记录有标识符的情况下,判断升级程序是否存储在程序区;
若升级程序存储在程序区,则确定执行程序读取操作。
值得注意的是,上述板卡升级装置的实施例中,所包括的各个功能模块只是按照功能逻辑进行划分的,但并不局限于上述划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于互相区分,并不用于限制本申请的保护范围。
图7为本申请一实施例提供的电子设备的结构示意图,该设备用于执行如上述实施例提供的基于PCIE链路的板卡升级方法,并具备执行方法相应的功能模块和有益效果,如PCIE密码卡、PCIE采集卡等板卡。如图所示,其包括处理器701、存储器702、输入装置703和输出装置704。处理器701的数量可以是一个或多个,图中以一个处理器701为例;处理器701、存储器702、输入装置703和输出装置704可以通过总线或其他方式连接,图中以通过总线连接为例。存储器702作为一种计算机可读的存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的基于PCIE链路的板卡升级方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的软件程序、指令以及模块,从而执行相应的各种功能应用以及数据处理,即实现上述的基于PCIE链路的板卡升级方法。
存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据使用过程中所记录或创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
输入装置703可用于向处理器701输入相应的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出装置704可用于发送或显示与设备的用户设置以及功能控制有关的键信号输出。
本申请实施例还提供一种存储有计算机可执行指令的存储介质,计算机可执行指令在由处理器执行时用于执行本申请任一实施例提供的基于PCIE链路的板卡升级方法中的相关操作。
计算机可读的存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (7)
1.一种基于PCIE链路的板卡升级方法,其特征在于,应用于板卡,所述板卡与上位机通过PCIE链路进行数据传输,所述板卡的存储空间包括引导加载区、校验区和程序区,所述方法包括:
在接收到所述上位机通过所述PCIE链路发送的密文包后,调用所述引导加载区的引导程序解密所述密文包,以得到解密后的数据包;
根据预设的校验算法,对所述数据包进行校验,并确定所述数据包是否通过校验;
若所述数据包通过校验,则对所述数据包进行类型判断,确定所述数据包的包类型信息和对应的烧写路径,并按照所述烧写路径将所述数据包写入相应的程序区;
从所述程序区中读取所述数据包,并运行所述数据包内的升级程序进行软件升级;
在所述程序区出现坏块的情况下,调用所述引导加载区的应用程序,以维持板卡运行,所述应用程序与所述升级程序为相同功能的程序;
其中,所述若所述数据包通过校验,则对所述数据包进行类型判断,确定所述数据包的包类型信息和对应的烧写路径,并按照所述烧写路径将所述数据包写入相应的程序区,包括:
根据所述数据包的标志位所记录的标识,确定所述数据包的包类型信息;
根据所述包类型信息,确定所述数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种;
基于所述数据包的包类型信息,选取与所述包类型信息对应的烧写路径;
若所述包类型信息为固件包类型,则按照固件包类型对应的烧写路径将所述数据包写入对应的程序区;
在从所述程序区中读取所述数据包,以运行所述数据包内的升级程序进行软件升级之前,还包括:
当所述数据包写入完成后,在所述校验区添加标识符;
在所述标识符添加至所述校验区的情况下,执行热重启操作;
响应于所述热重启操作,对所述存储空间进行重启校验;
所述响应于所述热重启操作,对所述存储空间进行重启校验,包括:
基于所述标识符,确定所述校验区是否记录有所述标识符;
在所述校验区记录有所述标识符的情况下,判断所述升级程序是否存储在所述程序区;
若所述升级程序存储在所述程序区,则确定执行程序读取操作。
2.根据权利要求1所述的基于PCIE链路的板卡升级方法,其特征在于,所述密文包基于对应输出反馈模式的SM4加密算法加密。
3.根据权利要求1所述的基于PCIE链路的板卡升级方法,其特征在于,所述数据包包括明文数据和第一校验值;
所述根据预设的校验算法,对所述数据包进行校验,并确定所述数据包是否通过校验,包括:
对所述明文数据进行MD5校验,以获取第二校验值;
对比所述第一校验值和所述第二校验值,确定所述第一校验值和所述第二校验值是否一致;
若所述第一校验值和所述第二校验值一致,则确定所述数据包通过校验。
4.根据权利要求1或2所述的基于PCIE链路的板卡升级方法,其特征在于,还包括:
若所述数据包未通过校验,则调用所述引导加载区的升级等待程序,并等待下一次升级。
5.一种板卡升级装置,其特征在于,应用于板卡,所述板卡与上位机通过PCIE链路进行数据传输,所述板卡的存储空间包括引导加载区、校验区和程序区,所述装置包括:
数据接收模块,配置为在接收到所述上位机通过所述PCIE链路发送的密文包后,调用所述引导加载区的引导程序解密所述密文包,以获取解密后的数据包;
数据校验模块,配置为根据预设的校验算法,对所述数据包进行校验,并确定所述数据包是否通过校验;
数据判别模块,配置为若所述数据包通过校验,则对所述数据包进行类型判断,确定所述数据包的包类型信息和对应的烧写路径,并按照所述烧写路径将所述数据包写入相应的程序区;
设备升级模块,配置为从所述程序区中读取所述数据包,并运行所述数据包内的升级程序进行软件升级;
板卡维持模块,配置为在所述程序区出现坏块的情况下,调用所述引导加载区的应用程序,以维持板卡运行,所述应用程序与所述升级程序为相同功能的程序;
所述数据判别模块还配置为:
根据所述数据包的标志位所记录的标识,确定所述数据包的包类型信息;
根据所述包类型信息,确定所述数据包是否为固件包、对称算法单元包或非对称算法单元包中的任一种;
基于所述数据包的包类型信息,选取与所述包类型信息对应的烧写路径;
若所述包类型信息为固件包类型,则按照固件包类型对应的烧写路径将所述数据包写入对应的程序区;
还包括重启校验模块,所述重启校验模块配置为:
当所述数据包写入完成后,在所述校验区添加标识符;
在所述标识符添加至所述校验区的情况下,执行热重启操作;
响应于所述热重启操作,对所述存储空间进行重启校验;
所述重启校验模块还配置为:
基于所述标识符,确定所述校验区是否记录有所述标识符;
在所述校验区记录有所述标识符的情况下,判断所述升级程序是否存储在所述程序区;
若所述升级程序存储在所述程序区,则确定执行程序读取操作。
6.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当一个或多个所述程序被一个或多个所述处理器执行,一个或多个所述处理器实现如权利要求1至4中任一项所述的基于PCIE链路的板卡升级方法。
7.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由处理器执行时用于执行如权利要求1至4中任一项所述的基于PCIE链路的板卡升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310688310.6A CN116431189B (zh) | 2023-06-12 | 2023-06-12 | 基于pcie链路的板卡升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310688310.6A CN116431189B (zh) | 2023-06-12 | 2023-06-12 | 基于pcie链路的板卡升级方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431189A CN116431189A (zh) | 2023-07-14 |
CN116431189B true CN116431189B (zh) | 2024-02-27 |
Family
ID=87081802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310688310.6A Active CN116431189B (zh) | 2023-06-12 | 2023-06-12 | 基于pcie链路的板卡升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431189B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117237A (zh) * | 2015-04-22 | 2015-12-02 | 北京天诚盛业科技有限公司 | 基于Flash的程序分层存储、运行以及升级的方法和装置 |
CN105975308A (zh) * | 2016-05-04 | 2016-09-28 | 烽火通信科技股份有限公司 | 家庭网关中低内存开销的远程升级系统及远程升级方法 |
CN106599697A (zh) * | 2016-11-30 | 2017-04-26 | 北京三未信安科技发展有限公司 | 一种安全升级pci密码卡卡内程序的方法及系统 |
CN106648768A (zh) * | 2016-12-09 | 2017-05-10 | 福建三元达网络技术有限公司 | 一种升级设备的方法及系统 |
CN110955442A (zh) * | 2019-11-11 | 2020-04-03 | 郑州信大先进技术研究院 | 一种适用于PCI-E密码卡的Bootloader |
CN111309364A (zh) * | 2020-05-11 | 2020-06-19 | 深圳市科信通信技术股份有限公司 | 芯片程序的升级方法、装置及存储介质 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及系统 |
WO2021174860A1 (zh) * | 2020-03-03 | 2021-09-10 | 上海御渡半导体科技有限公司 | 一种基于特殊编码的多固件分布式板卡的批量升级方法 |
CN114168171A (zh) * | 2021-11-08 | 2022-03-11 | 陕西千山航空电子有限责任公司 | 一种程序在线分段升级方法及其应用 |
CN114860291A (zh) * | 2022-04-06 | 2022-08-05 | 沈阳中科奥维科技股份有限公司 | 一种引导及应用程序灵活储存与升级的方法 |
CN115065471A (zh) * | 2022-03-31 | 2022-09-16 | 中安云科科技发展(山东)有限公司 | 一种密码卡安全远程升级的方法 |
CN115495136A (zh) * | 2022-09-26 | 2022-12-20 | 深圳市中微信息技术有限公司 | 一种基于国产飞腾平台的bmc快速在线升级方法 |
-
2023
- 2023-06-12 CN CN202310688310.6A patent/CN116431189B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117237A (zh) * | 2015-04-22 | 2015-12-02 | 北京天诚盛业科技有限公司 | 基于Flash的程序分层存储、运行以及升级的方法和装置 |
CN105975308A (zh) * | 2016-05-04 | 2016-09-28 | 烽火通信科技股份有限公司 | 家庭网关中低内存开销的远程升级系统及远程升级方法 |
CN106599697A (zh) * | 2016-11-30 | 2017-04-26 | 北京三未信安科技发展有限公司 | 一种安全升级pci密码卡卡内程序的方法及系统 |
CN106648768A (zh) * | 2016-12-09 | 2017-05-10 | 福建三元达网络技术有限公司 | 一种升级设备的方法及系统 |
CN110955442A (zh) * | 2019-11-11 | 2020-04-03 | 郑州信大先进技术研究院 | 一种适用于PCI-E密码卡的Bootloader |
WO2021174860A1 (zh) * | 2020-03-03 | 2021-09-10 | 上海御渡半导体科技有限公司 | 一种基于特殊编码的多固件分布式板卡的批量升级方法 |
CN111309364A (zh) * | 2020-05-11 | 2020-06-19 | 深圳市科信通信技术股份有限公司 | 芯片程序的升级方法、装置及存储介质 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及系统 |
CN114168171A (zh) * | 2021-11-08 | 2022-03-11 | 陕西千山航空电子有限责任公司 | 一种程序在线分段升级方法及其应用 |
CN115065471A (zh) * | 2022-03-31 | 2022-09-16 | 中安云科科技发展(山东)有限公司 | 一种密码卡安全远程升级的方法 |
CN114860291A (zh) * | 2022-04-06 | 2022-08-05 | 沈阳中科奥维科技股份有限公司 | 一种引导及应用程序灵活储存与升级的方法 |
CN115495136A (zh) * | 2022-09-26 | 2022-12-20 | 深圳市中微信息技术有限公司 | 一种基于国产飞腾平台的bmc快速在线升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116431189A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
CN102171704B (zh) | 用硬件加密存储设备进行外部加密和恢复管理 | |
JP4048382B1 (ja) | 情報処理システムおよびプログラム | |
CN110990045A (zh) | 一种双bmc flash升级方法和设备 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
CN101968834A (zh) | 电子产品的防抄板加密方法和装置 | |
CN104951701B (zh) | 一种基于usb控制器的终端设备操作系统引导的方法 | |
EP2367129A1 (en) | Method for checking data consistency in a system on chip | |
CN110363010B (zh) | 一种基于MPSoC芯片的系统安全启动方法 | |
US9262631B2 (en) | Embedded device and control method thereof | |
CN102650944A (zh) | 一种操作系统安全引导装置及引导方法 | |
JP4791250B2 (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
JP2017509082A (ja) | 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと | |
JP5466645B2 (ja) | 記憶装置、情報処理装置およびプログラム | |
JP2019514147A (ja) | データベース内の暗号文の暗号変更の障害を処理する方法及び装置 | |
CN113360914A (zh) | 一种bios更新的方法、系统、设备及介质 | |
JP6256781B2 (ja) | システムを保護するためのファイルセキュリティ用の管理装置 | |
CN101447009A (zh) | 软件安装方法、装置及系统 | |
CN112749383A (zh) | 软件认证方法和相关产品 | |
CN118051919B (zh) | 数据处理方法、芯片、电子设备以及存储介质 | |
CN116431189B (zh) | 基于pcie链路的板卡升级方法、装置、设备及存储介质 | |
CN112448819A (zh) | 物联网设备的校验、签名文件的生成方法及装置 | |
CN115062330B (zh) | 基于tpm的智能密码钥匙密码应用接口的实现方法 | |
CN109933351A (zh) | 一种修复和升级Linux系统的方法与装置 | |
CN111506324B (zh) | 一种利用传统rom结合存储孤岛实现mcu芯片安全的方法 |
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 |