CN113220321B - 一种cpld的高效能升级方法、系统及介质 - Google Patents
一种cpld的高效能升级方法、系统及介质 Download PDFInfo
- Publication number
- CN113220321B CN113220321B CN202110396727.6A CN202110396727A CN113220321B CN 113220321 B CN113220321 B CN 113220321B CN 202110396727 A CN202110396727 A CN 202110396727A CN 113220321 B CN113220321 B CN 113220321B
- Authority
- CN
- China
- Prior art keywords
- data
- cpld
- writing
- segmentation
- bmc
- 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
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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种CPLD的高效能升级方法,包括以下步骤:获取升级数据和CPLD中缓存分区的存储规格;基于升级数据和存储规格生成切分数据和切分数据信息集;基于缓存分区将切分数据写入CPLD的更新区块;基于BMC的工作状态判断切分数据写入更新区块的写入进度;基于写入进度和切分数据信息集进行升级数据完整度校验;本发明能够在不添任何设备的前提下,通过对CPLD内部升级机制的设置,使BMC不需要在CPLD的升级过程中等待升级数据的写入,可以使BMC在任何时间对写入的升级数据进行校验和读取,极大的提高了整个CPLD升级过程的效能,避免了BMC的计算资源的浪费,提升了服务器的工作效率。
Description
技术领域
本发明涉及CPLD升级调控技术领域,特别是涉及一种CPLD的高效能升级方法、系统及介质。
背景技术
现有技术中,采用I2C(Inter-Integrated Circuit,两行式串行总线)控制器和BMC(Baseboard Management Controller,基板管理控制器)的配合对CPLD(ComplexProgramming Logic Device,复杂可编程逻辑器件)的升级进行处理,因该方法的拓扑架构为顺序连接的BMC、I2C控制器和CPLD的更新区块,故将升级数据写入该更新区块时,需要BMC和I2C控制器花费大量的时间去等待升级数据的写入,最终导致作为服务器数据处理中心的BMC的计算资源被大量的浪费,降低了CPLD的升级效能和服务器的工作效率。
发明内容
本发明主要解决的是现有CPLD升级方法将会浪费BMC大量的计算资源,导致CPLD升级效能和服务器工作效率大大降低的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种CPLD的高效能升级方法,应用于CPLD,所述CPLD上连接有BMC,所述方法包括以下步骤:
获取升级数据和所述CPLD中缓存分区的存储规格;
基于所述升级数据和所述存储规格生成切分数据和切分数据信息集;
基于所述缓存分区将所述切分数据写入所述CPLD的更新区块;
基于所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度;
基于所述写入进度和所述切分数据信息集进行升级数据完整度校验。
作为一种改进的方案,所述基于所述缓存分区将所述切分数据写入所述CPLD的更新区块的步骤进一步包括:
设定写入数量,将所述切分数据按照所述写入数量写入所述缓存分区,并在所述切分数据信息集中标记与写入所述缓存分区的切分数据匹配的数据信息;
设定检测时间段,每隔所述检测时间段检测所述缓存分区的数据处理状态,当所述数据处理状态非数据接收状态时,调用所述CPLD的I2C控制器将所述缓存分区中的数据写入所述更新区块。
作为一种改进的方案,所述基于所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度的步骤进一步包括:
基于所述工作状态设定校验时间段;
每隔所述校验时间段识别所述更新区块的访问状态;
当所述访问状态为可读取状态时,基于标记后的所述切分数据信息集判断所述写入进度。
作为一种改进的方案,所述基于所述缓存分区将所述切分数据写入所述CPLD的更新区块的步骤进一步还包括:
检测所述缓存分区中是否存在所述切分数据,若未存在,则设定所述访问状态为所述可读取状态。
作为一种改进的方案,所述基于标记后的所述切分数据信息集判断所述写入进度的步骤进一步包括:
比对所述更新区块中的数据是否与标记后的所述切分数据信息集中所标记的所述数据信息匹配,若匹配,则判断所述写入进度为切分数据写入完成。
作为一种改进的方案,所述基于所述写入进度和所述切分数据信息集进行升级数据完整度校验的步骤进一步包括:
当所述写入进度为所述切分数据写入完成时,基于标记后的所述切分数据信息集进行所述数据完整度校验。
作为一种改进的方案,所述数据完整度校验包括:
判断标记后的所述切分数据信息集中是否存在未被标记的所述数据信息;
若存在,则基于所述缓存分区将未被标记的所述数据信息所对应的所述切分数据写入所述更新区块;若未存在,则判断所述数据完整度为完整。
作为一种改进的方案,所述基于所述升级数据和所述存储规格生成切分数据和切分数据信息集的步骤进一步包括:
基于所述存储规格将所述升级数据进行切分,得到若干切分数据;
提取若干所述切分数据中的所述数据信息;
整理所述数据信息,得到所述切分数据信息集。
本发明还提供一种CPLD的高效能升级系统,包括:
CPLD和BMC,所述CPLD中设有数据获取模块和数据切分模块,所述BMC中设有数据写入模块、进度判断模块和完整度校验模块;
所述CPLD通过所述数据获取模块获取升级数据和所述CPLD的缓存分区的存储规格;所述CPLD通过所述数据切分模块、所述升级数据和所述存储规格生成切分数据和切分数据信息集;
所述BMC通过所述数据写入模块和所述缓存分区将所述切分数据写入所述CPLD的更新区块;所述BMC通过所述进度判断模块和所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度;所述BMC通过所述完整度校验模块、所述写入进度和所述切分数据信息集进行升级数据完整度校验。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述CPLD的高效能升级方法的步骤。
本发明的有益效果是:
1、本发明所述的CPLD的高效能升级方法,可以实现在不添任何设备的前提下,基于本方法设计的CPLD内部升级机制,使BMC不需要在CPLD的升级过程中等待升级数据的写入,可以使BMC在任何时间对写入的升级数据进行校验和读取,极大的提高了整个CPLD升级过程的效能,减少了BMC的负担,避免了BMC的计算资源的浪费,提升了服务器的工作效率。
2、本发明所述的CPLD的高效能升级系统,可以通过CPLD中的数据获取模块和数据切分模块以及BMC中的数据写入模块、进度判断模块和完整度校验模块的相互配合,进而实现在不添任何设备的前提下,设计新的CPLD内部升级机制,使BMC不需要在CPLD的升级过程中等待升级数据的写入,可以使BMC在任何时间对写入的升级数据进行校验和读取,极大的提高了整个CPLD升级过程的效能,减少了BMC的负担,避免了BMC的计算资源的浪费,提升了服务器的工作效率。
3、本发明所述的计算机可读存储介质,可以实现引导CPLD中的数据获取模块和数据切分模块以及BMC中的数据写入模块、进度判断模块和完整度校验模块进行配合,进而实现在不添任何设备的前提下,设计新的CPLD内部升级机制,使BMC不需要在CPLD的升级过程中等待升级数据的写入,可以使BMC在任何时间对写入的升级数据进行校验和读取,极大的提高了整个CPLD升级过程的效能,减少了BMC的负担,避免了BMC的计算资源的浪费,提升了服务器的工作效率,且有效的增加了所述CPLD的高效能升级方法的可操作性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1所述CPLD的高效能升级方法的流程图;
图2是本发明实施例2所述CPLD的高效能升级系统的架构图;
图3是本发明实施例2所述BMC的具体架构图;
图4是本发明实施例2所述CPLD的具体架构图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
在本发明的描述中,需要说明的是,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“高效能升级方法”、“升级数据”、“缓存分区”、“存储规格”、“切分数据”、“切分数据信息集”、“更新区块”、“工作状态”、“写入进度”、“升级数据完整度”、“写入数量”、“数据信息”、“数据处理状态”、“数据接收状态”、“I2C控制器”、“校验时间段”、“检测时间段”、“访问状态”、“可读取状态”、“数据获取模块”、“数据切分模块”、“数据写入模块”、“进度判断模块”、“完整度校验模块”应做广义理解。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是:
EBR是CPLD中一种额外的SRAM资源;
CFM是CPLD中的负责存储CPLD代码的区块;
I2C(Inter-Integrated Circuit)是两行式串行总线;
BMC(Baseboard Management Controller)是基板管理控制器;
CPLD(Complex Programming Logic Device)是复杂可编程逻辑器件。
实施例1
本实施例提供一种CPLD的高效能升级方法,如图1所示,包括以下步骤:
需要说明的是,本方法应用于CPLD的升级过程中,现有技术中,对于CPLD的升级采用BMC和I2C控制器与CPLD连接的架构,在整个升级处理过程中,需要将升级的数据写入CPLD的CFM中,此时,在升级数据的写入时,BMC处于等待状态,同时,因为升级数据的写入需要I2C控制器持续高电平状态,这不仅长时间的浪费了BMC的计算资源,同时对系统造成了极大的负担,而本方法,对上述问题进行了解决:
S100、获取升级数据和所述CPLD中缓存分区的存储规格;
步骤S100具体包括:
首先,因为常规的CPLD架构是无法满足本方法的流程处理,故需要对CPLD的数据层架构进行改变,具体有以下步骤:
S110、在CPLD所连接的I2C控制器上创建CPLD的控制命令,创建对应的控制命令后,在后续对CPLD的升级过程中,就可以通过调用或触发相应的命令来利用CPLD本身的资源满足对应的功能;例如:设定在I2C控制器的0x00地址上写入0x01为擦除CFM0;设定在I2C控制器的0x00地址上写入0x10为将数据写入至CPLD的EBR(即缓存分区)中;
S120、之后判断是否需要进行CPLD升级,若是,则在0x00地址中写入0x01,即擦除CPLD中CFM0的原有的升级数据,同时校验CFM0中原有的升级数据是否擦除完毕,若擦除完毕,则可以对CPLD进行升级;
S130、当判断可以对CPLD进行升级时,获取对应的升级数据以及CPLD的EBR的存储规格,基于获取到的升级数据和存储规格执行下一步。
通过步骤S100,初始化了CPLD的内部升级架构,为之后的升级步骤提供数据基础和架构基础。
S200、基于所述升级数据和所述存储规格生成切分数据和切分数据信息集;
步骤S200具体包括:
S210、根据所述存储规格,将升级数据进行切分,得到若干切分数据;在此步骤中,存储规格越大,则对应提高CPLD的工作效能值将越大;例如:EBR的存储规格为2KByte,对应的升级数据为50KByte,则对应将会把升级数据划分为25个等份的切分数据;
S220、得到切分数据后,统计该切分数据的数据头(即数据信息),得到切分数据统计表(即切分数据信息集);对应的,在本实施例中,将数据头作为切分数据的区分,仅作为一种实施方式,而不做任何限定,同样可以根据切分数据中的一些标识字符串来进行统计,目的为达到各个切分数据的区分,且同时全部被统计到切分数据统计表中。
通过步骤S200,将升级数据进行数据块化,而多个数据块可以由BMC进行灵活处理,同时数据块的多次传输,效率高于整个数据的长时间传输,减少了BMC计算资源的浪费,降低了系统长时间的损耗。
S300、基于所述缓存分区将所述切分数据写入所述CPLD的更新区块;
步骤S300具体包括:
S310、设定写入数量,通过BMC在I2C控制器的0x00地址上写入0x10,即触发将切分数据写入至EBR中,此时,BMC按照该写入数量将切分数据写入EBR中,并修改所述切分数据统计表;例如:在本实施例中,写入数量设置为1,即BMC一次仅将任意一个切分数据写入CPLD的EBR中,写入之后,BMC将切分数据统计表中与该切分数据对应的数据信息进行标记;在此之后,BMC完成第一部分的操作,此时BMC可以去处理其他的工作任务,且不需要等待数据全部写入完成;
S320、设定检测时间段,每隔所述检测时间段,CPLD检测EBR是否处于数据接收状态,若未处于,即EBR处于非数据接收状态,此时CPLD判断BMC向EBR中写入切分数据的步骤已完成;此时,CPLD通过调用与其连接的I2C控制器将当前EBR中的所有切分数据写入至CFM(即更新区块)中;
S321、当CPLD调用I2C控制器将数据写入至CFM时,CPLD检测EBR中的数据是否全部写入到CFM中,即此时CPLD检测EBR中是否还存在剩余的切分数据,若不存在,则CPLD判断EBR中的数据全部写入至CFM,此时,CPLD将CFM的访问状态设置为可读取状态。
通过步骤S300采用CPLD中本身的缓存资源对升级数据进行传输处理,再次降低了BMC的压力和负担。
S400、基于所述BMC的工作状态检测所述切分数据写入所述更新区块的写入进度;
步骤S400具体包括:
S410、根据BMC的工作状态设置校验时间段;此步骤目的为配合BMC的工作,防止BMC处于正在处理系统的其他任务时,会造成对BMC的计算资源产生压力,再者,防止BMC处于空闲时间时,浪费BMC的计算资源;例如:BMC当前处理任务需要30min,则设定校验时间段为30min,此时BMC经过30min后,BMC有充足的计算资源,此时对CFM的访问状态进行识别;
S420、每隔校验时间段,BMC则识别CFM的状态是否为可读取状态;若是,则BMC根据之前经过标记后的切分数据统计表对CFM中的数据进行校验;若否,则BMC判断EBR中数据还未全部传输至CFM,故无法进行进度校验,此时BMC继续去处理其他的任务,等待校验时间段后,或任意时间,再次进行返回访问CFM的访问状态;
S421、BMC检查CFM中的数据是否分别与该数据在切分数据统计表中标记的数据信息匹配,若匹配,则BMC判断切分数据写入初步完成,BMC设定写入进度为切分数据写入完成,并开始升级数据完整度校验操作;若非匹配,则BMC判断切分数据写入存在漏写数据,此时,BMC检索切分数据统计表中已经标记的数据信息,并和CFM中的数据再次比对,找出在切分数据统计表中存在标记的数据信息,但在CFM中未存在相应切分数据的切分数据,此时,BMC将该切分数据对应的数据信息整合为错误信息,并发送至CPLD。
通过步骤S400,使BMC可以在任意时间对升级数据进行读取校验,极大的提高了BMC的灵活性,充分利用了BMC的计算资源。
S500、基于所述写入进度和所述切分数据信息集进行升级数据完整度校验;
步骤S500具体包括:
S510、当BMC设定写入进度为切分数据写入完成时,BMC进行升级数据完成度校验操作;
S511、完整度校验操作包括:BMC判断切分数据统计表中的数据信息是否都被标记,若是,则BMC判断CPLD升级数据写入完成,若否,则BMC基于所述缓存分区将未被标记的所述切分数据写入所述更新区块,并继续修改该切分数据表,后续CPLD将继续执行对应的各个步骤,直至切分数据统计表中的数据信息都被标记。
最后,通过步骤S500进行数据完整度的校验,保证了CPLD升级成功,同时保证数据的正确性。
需要说明的是,本方法不仅应用于服务器中,还应用于任何处理单元搭配CPLD的升级架构中。
通过本实施例所描述的CPLD的高效能升级方法,可以利用CPLD的内部资源,对CPLD的内部升级架构进行改变,进而使BMC可以灵活的调控用于CPLD升级的计算资源,最终提高了整个CPLD升级过程的效能,进而提升了服务器的工作效率。
实施例2
本实施例提供一种CPLD的高效能升级系统,如图2至图4所示,包括:CPLD和BMC,其中,CPLD与BMC连接,所述CPLD中设有数据获取模块和数据切分模块,所述BMC中设有数据写入模块、进度判断模块和完整度校验模块;
所述的高效能升级系统中,CPLD通过数据获取模块获取升级数据和所述CPLD的缓存分区的存储规格;
具体的,数据获取模块在CPLD所连接的I2C控制器上创建CPLD的控制命令,创建对应的控制命令后,在后续对CPLD的升级过程中,就可以通过调用或触发相应的命令来满足对应的功能;
具体的,数据获取模块之后判断是否需要进行CPLD升级,若是,则数据获取模块在0x00地址中写入0x01,即擦除CPLD中CFM0的原有的升级数据,同时校验CFM0中原有的升级数据是否擦除完毕,若擦除完毕,则数据获取模块判断可以对CPLD进行升级;当判断可以对CPLD进行升级时,数据获取模块获取对应的升级数据以及CPLD的EBR的存储规格。
所述的高效能升级系统中,CPLD通过数据切分模块、所述升级数据和所述存储规格生成切分数据和切分数据信息集;
具体的,数据切分模块根据所述存储规格,将升级数据进行切分,得到若干切分数据;数据切分模块得到切分数据后,数据切分模块统计该切分数据的数据头(即数据信息),得到切分数据统计表(即切分数据信息集)。
所述的高效能升级系统中,BMC通过数据写入模块和所述缓存分区将所述切分数据写入所述CPLD的更新区块;
具体的,数据写入模块设定写入数量,并在I2C控制器的0x00地址上写入0x10,即触发将切分数据写入至EBR中,此时,数据写入模块按照该写入数量将切分数据写入EBR中,并修改所述切分数据统计表;数据写入模块设定检测时间段,每隔所述检测时间段,数据写入模块通知CPLD检测EBR是否处于数据接收状态,若未处于,即EBR处于非数据接收状态,此时CPLD判断BMC向EBR中写入切分数据的步骤已完成;此时,CPLD会调用与其连接的I2C控制器将当前EBR中的所有切分数据写入至CFM(即更新区块)中;当CPLD调用I2C控制器将数据写入至CFM时,CPLD检测EBR中的数据是否全部写入到CFM中,即此时CPLD检测EBR中是否还存在剩余的切分数据,若不存在,则CPLD判断EBR中的数据全部写入至CFM,此时,CPLD将CFM的访问状态设置为可读取状态。
所述的高效能升级系统中,BMC通过进度判断模块基于所述BMC的工作状态检测所述切分数据写入所述更新区块的写入进度;
具体的,进度判断模块根据BMC的工作状态设置校验时间段;此步骤目的为配合BMC的工作,防止BMC处于正在处理系统的其他任务时,会造成对BMC的计算资源产生压力,再者,防止BMC处于空闲时间时,浪费BMC的计算资源;每隔校验时间段,进度判断模块识别CFM的状态是否为可读取状态;若是,则进度判断模块根据之前经过标记后的切分数据统计表对CFM中的数据进行校验;若否,则进度判断模块判断EBR中数据还未全部传输至CFM,故无法进行进度校验,此时进度判断模块通知BMC继续去处理其他的任务,等待校验时间段后,或任意时间,再次进行返回访问CFM的访问状态;
具体的,对CFM中的数据进行校验包括:进度判断模块检查CFM中的数据是否分别与该数据在切分数据统计表中标记的数据信息匹配,若匹配,则进度判断模块判断切分数据写入初步完成,进度判断模块设定写入进度为切分数据写入完成,并通知BMC开始升级数据完整度校验操作;若非匹配,则进度判断模块判断切分数据写入存在漏写数据,此时,进度判断模块检索切分数据统计表中已经标记的数据信息,并和CFM中的数据再次比对,找出在切分数据统计表中存在标记的数据信息,但在CFM中未存在相应切分数据的切分数据,此时,进度判断模块将该切分数据对应的数据信息整合为错误信息,并发送至CPLD。
所述的高效能升级系统中,BMC通过完整度校验模块基于所述进度和所述切分数据信息集进行升级数据完整度校验;
具体的,当进度判断模块设定写入进度为切分数据写入完成时,完整度校验模块进行升级数据完成度校验操作;完整度校验操作包括:完整度校验模块判断切分数据统计表中的数据信息是否都被标记,若是,则完整度校验模块判断CPLD升级数据写入完成,若否,则完整度校验模块基于所述缓存分区将未被标记的所述切分数据写入所述更新区块,并继续修改该切分数据表,后续CPLD将继续执行对应的各个步骤,直至切分数据统计表中的数据信息都被标记。
通过本实施例所描述的CPLD的高效能升级系统,即BMC和CPLD中各个模块的相互配合,进而利用CPLD的内部资源,对CPLD的内部升级架构进行改变,最终使BMC可以灵活的调控用于CPLD升级的计算资源,提高了整个CPLD升级过程的效能,进而提升了服务器的工作效率。
实施例3
本实施例提供一种计算机可读存储介质,包括:
所述存储介质用于储存将上述实施例1所述的CPLD的高效能升级方法实现所用的计算机软件指令,其包含用于执行上述为所述CPLD的高效能升级方法所设置的程序;具体的,该可执行程序可以内置在实施例2所述的CPLD的高效能升级系统中,这样,CPLD的高效能升级系统就可以通过执行内置的可执行程序实现所述实施例1所述的CPLD的高效能升级方法。
此外,本实施例具有的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
区别于现有技术,采用本申请一种CPLD的高效能升级方法、系统及介质可以通过本方法在不添任何设备的前提下,设计新的CPLD内部升级机制,使BMC不需要在CPLD的升级过程中等待升级数据的写入,可以使BMC在任何时间对写入的升级数据进行校验和读取,通过本系统为本方法提供了有效的技术支撑,最终极大的提高了整个CPLD升级过程的效能,减少了BMC的负担,避免了BMC的计算资源的浪费,提升了服务器的工作效率。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种CPLD的高效能升级方法,应用于CPLD,所述CPLD上连接有BMC,其特征在于,所述方法包括以下步骤:
获取升级数据和所述CPLD中缓存分区的存储规格;
基于所述升级数据和所述存储规格生成切分数据和切分数据信息集;
基于所述缓存分区将所述切分数据写入所述CPLD的更新区块;
基于所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度;
基于所述写入进度和所述切分数据信息集进行升级数据完整度校验;
所述获取升级数据和所述CPLD中缓存分区的存储规格的步骤进一步包括:在所述CPLD所连接的I2C控制器上创建CPLD的控制命令,在后续对CPLD的升级过程中,通过调用或触发相应的控制命令来利用CPLD本身的资源满足对应的功能;
所述基于所述缓存分区将所述切分数据写入所述CPLD的更新区块的步骤进一步包括:
设定写入数量,将所述切分数据按照所述写入数量写入所述缓存分区,并在所述切分数据信息集中标记与写入所述缓存分区的切分数据匹配的数据信息;
设定检测时间段,每隔所述检测时间段检测所述缓存分区的数据处理状态,当所述数据处理状态非数据接收状态时,调用所述CPLD的I2C控制器将所述缓存分区中的数据写入所述更新区块;
所述基于所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度的步骤进一步包括:
基于所述工作状态设定校验时间段;
每隔所述校验时间段识别所述更新区块的访问状态;
当所述访问状态为可读取状态时,基于标记后的所述切分数据信息集判断所述写入进度。
2.根据权利要求1所述的CPLD的高效能升级方法,其特征在于,所述基于所述缓存分区将所述切分数据写入所述CPLD的更新区块的步骤进一步还包括:
检测所述缓存分区中是否存在所述切分数据,若未存在,则设定所述访问状态为所述可读取状态。
3.根据权利要求1或2所述的CPLD的高效能升级方法,其特征在于,所述基于标记后的所述切分数据信息集判断所述写入进度的步骤进一步包括:
比对所述更新区块中的数据是否与标记后的所述切分数据信息集中所标记的所述数据信息匹配,若匹配,则判断所述写入进度为切分数据写入完成。
4.根据权利要求3所述的CPLD的高效能升级方法,其特征在于,所述基于所述写入进度和所述切分数据信息集进行升级数据完整度校验的步骤进一步包括:
当所述写入进度为所述切分数据写入完成时,基于标记后的所述切分数据信息集进行所述升级数据完整度校验。
5.根据权利要求1或2所述的CPLD的高效能升级方法,其特征在于,所述升级数据完整度校验包括:
判断标记后的所述切分数据信息集中是否存在未被标记的所述数据信息;
若存在,则基于所述缓存分区将未被标记的所述数据信息所对应的所述切分数据写入所述更新区块;若未存在,则判断升级数据完整度为完整。
6.根据权利要求1或2所述的CPLD的高效能升级方法,其特征在于,所述基于所述升级数据和所述存储规格生成切分数据和切分数据信息集的步骤进一步包括:
基于所述存储规格将所述升级数据进行切分,得到若干切分数据;
提取若干所述切分数据中的所述数据信息;
整理所述数据信息,得到所述切分数据信息集。
7.一种CPLD的高效能升级系统,其特征在于,包括CPLD和BMC,所述CPLD中设有数据获取模块和数据切分模块,所述BMC中设有数据写入模块、进度判断模块和完整度校验模块;
所述CPLD通过所述数据获取模块获取升级数据和所述CPLD的缓存分区的存储规格;所述CPLD通过所述数据切分模块、所述升级数据和所述存储规格生成切分数据和切分数据信息集;
所述BMC通过所述数据写入模块和所述缓存分区将所述切分数据写入所述CPLD的更新区块;所述BMC通过所述进度判断模块和所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度;所述BMC通过所述完整度校验模块、所述写入进度和所述切分数据信息集进行升级数据完整度校验;
所述CPLD通过所述数据获取模块获取升级数据和所述CPLD的缓存分区的存储规格进一步包括:在所述CPLD所连接的I2C控制器上创建CPLD的控制命令,在后续对CPLD的升级过程中,通过调用或触发相应的控制命令来利用CPLD本身的资源满足对应的功能;
所述BMC通过所述数据写入模块和所述缓存分区将所述切分数据写入所述CPLD的更新区块进一步包括:设定写入数量,将所述切分数据按照所述写入数量写入所述缓存分区,并在所述切分数据信息集中标记与写入所述缓存分区的切分数据匹配的数据信息;设定检测时间段,每隔所述检测时间段检测所述缓存分区的数据处理状态,当所述数据处理状态非数据接收状态时,调用所述CPLD的I2C控制器将所述缓存分区中的数据写入所述更新区块;
所述BMC通过所述进度判断模块和所述BMC的工作状态判断所述切分数据写入所述更新区块的写入进度进一步包括:基于所述工作状态设定校验时间段;每隔所述校验时间段识别所述更新区块的访问状态;当所述访问状态为可读取状态时,基于标记后的所述切分数据信息集判断所述写入进度。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~6中任一项所述CPLD的高效能升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396727.6A CN113220321B (zh) | 2021-04-13 | 2021-04-13 | 一种cpld的高效能升级方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396727.6A CN113220321B (zh) | 2021-04-13 | 2021-04-13 | 一种cpld的高效能升级方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220321A CN113220321A (zh) | 2021-08-06 |
CN113220321B true CN113220321B (zh) | 2023-09-26 |
Family
ID=77087045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110396727.6A Active CN113220321B (zh) | 2021-04-13 | 2021-04-13 | 一种cpld的高效能升级方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220321B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN107832074A (zh) * | 2017-11-28 | 2018-03-23 | 福州瑞芯微电子股份有限公司 | 一种智能音箱数据升级方法和装置 |
CN111090545A (zh) * | 2019-11-28 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种恢复故障cpld的方法、设备及介质 |
CN111752583A (zh) * | 2020-06-11 | 2020-10-09 | Oppo广东移动通信有限公司 | 固件升级方法、装置、电子设备和计算机可读存储介质 |
CN112181459A (zh) * | 2020-09-25 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种cpld升级优化方法及系统 |
CN112631628A (zh) * | 2020-12-11 | 2021-04-09 | 邦彦技术股份有限公司 | 单片机升级方法、单片机、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612308B (zh) * | 2015-10-22 | 2021-04-16 | 阿里巴巴集团控股有限公司 | 数据传输方法及装置 |
-
2021
- 2021-04-13 CN CN202110396727.6A patent/CN113220321B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN107832074A (zh) * | 2017-11-28 | 2018-03-23 | 福州瑞芯微电子股份有限公司 | 一种智能音箱数据升级方法和装置 |
CN111090545A (zh) * | 2019-11-28 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种恢复故障cpld的方法、设备及介质 |
CN111752583A (zh) * | 2020-06-11 | 2020-10-09 | Oppo广东移动通信有限公司 | 固件升级方法、装置、电子设备和计算机可读存储介质 |
CN112181459A (zh) * | 2020-09-25 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种cpld升级优化方法及系统 |
CN112631628A (zh) * | 2020-12-11 | 2021-04-09 | 邦彦技术股份有限公司 | 单片机升级方法、单片机、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于TFTP协议的ARM软件远程更新系统;李俊等;工矿自动化(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113220321A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100595778C (zh) | 鉴定病毒文件的方法、装置 | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
CN111176739A (zh) | 一种系统启动方法、装置、设备及存储介质 | |
CN108153548A (zh) | 一种emmc固件升级方法和装置 | |
US20060026415A1 (en) | Method of updating a portion BIOS | |
CN110058973B (zh) | 数据储存装置的测试系统与数据储存装置的测试方法 | |
CN113220321B (zh) | 一种cpld的高效能升级方法、系统及介质 | |
CN107391174A (zh) | 一种系统在线升级的控制方法及控制装置 | |
US20070226172A1 (en) | File-management apparatus, file-management method, and computer product | |
CN112328272A (zh) | 算法升级方法、装置、设备及存储介质 | |
CN111562983B (zh) | 内存优化方法、装置、电子设备及存储介质 | |
CN110286940B (zh) | 智能电视日志生成方法 | |
US5860098A (en) | Process for running a computer program subject to interrupt | |
CN111722855A (zh) | 一种基于eMMC的固件烧录系统、方法与集成芯片 | |
CN112860595A (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
CN111177028A (zh) | 一种动态多级缓存的方法和设备 | |
CN110968566A (zh) | 基于迁移工具的国产化应用系统迁移方法 | |
CN117234431B (zh) | 缓存管理方法、装置、电子设备及存储介质 | |
CN110658998B (zh) | 基于qemu的虚拟机磁盘热扩容的方法及装置 | |
US20070130379A1 (en) | Method for data processing based on an operation route in peripheral equipment | |
WO2024119930A1 (zh) | 调度方法、装置、计算机设备和存储介质 | |
KR100615694B1 (ko) | 복수개의 기능블럭을 제어하는 제어시스템 | |
CN114301927B (zh) | 一种分布式系统中主节点选取方法、装置及介质 | |
CN116028100B (zh) | 软件版本升级方法和电子设备 | |
US8799616B2 (en) | Method and system for preferred CPU binding on virtual partitions |
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 |