CN109491951A - 一种配置数据的方法以及计算设备 - Google Patents
一种配置数据的方法以及计算设备 Download PDFInfo
- Publication number
- CN109491951A CN109491951A CN201811140820.5A CN201811140820A CN109491951A CN 109491951 A CN109491951 A CN 109491951A CN 201811140820 A CN201811140820 A CN 201811140820A CN 109491951 A CN109491951 A CN 109491951A
- Authority
- CN
- China
- Prior art keywords
- configuration data
- field
- retimer
- storage region
- check field
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种配置数据的方法,包括:获取第一配置数据;在第一校验字段的存储区域之后的存储区域中写入第一配置数据,第一校验字段的存储区域位于原始配置数据的存储区域之后,第一校验字段用于校验原始配置数据;将第一校验字段中第一校验字段的标识修改为目标标识,得到目标字段;收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段和第一配置数据;根据第一配置数据配置扩展总线重定时器。这样能够保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。本申请还提供一种能够实现上述方法的计算设备。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种配置数据的方法以及计算设备。
背景技术
快捷外设互联标准(peripheral component interconnect express,PCIe)是一种高速串行计算机扩展总线标准。处理器发送的高速信号在PCIe总线上传输时,可能由于传输距离、布线等因素衰减、恶化而无法使用。PCIe重定时器可以有效减少信号抖动,对信号进行补偿和均衡,从而保证信号完整到达端点。为了便于描述,下面将PCIe重定时器称为扩展总线重定时器。
现有技术中,将扩展总线重定时器的配置数据更新的过程大致如下:
步骤1、管理控制器通过扩展总线重定时器将新配置数据从0地址开始写入存储器中;
步骤2、管理控制器通过扩展总线重定时器将新的校验字段写到新配置数据的结尾;
步骤3、管理控制器复位扩展总线重定时器;
步骤4、扩展总线重定时器载入新配置数据,然后按照新配置数据开始工作。
但是,在更新配置数据过程中,在执行步骤1和步骤2的过程中,如果出现系统异常(如重启或下电)导致流程中断,新配置数据没有写完,原配置数据完整性被破坏。这样重定时器无法正常开启。
发明内容
有鉴于此,本申请提供一种配置数据的方法,能够有效保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。
第一方面提供一种配置数据的方法,包括:获取第一配置数据;在第一校验字段的存储区域之后的存储区域中写入第一配置数据,第一校验字段的存储区域位于原始配置数据的存储区域之后,第一校验字段用于校验原始配置数据;将第一校验字段中第一校验字段的标识修改为目标标识,得到目标字段;收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段和第一配置数据;根据第一配置数据配置扩展总线重定时器。
依此实施,在更新配置数据时,不破坏原始配置数据。在扩展总线重定时器复位之后,当检测到第一校验字段的标识时,根据原始配置数据配置扩展总线重定时器;当读取目标标识之后,根据第一配置数据配置扩展总线重定时器,由此能够保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。
在一种可能的实现方式中,在第一校验字段的存储区域之后的存储区域中写入第一配置数据之前,上述方法还包括:在填充区域中写入填充字段,填充区域为在第一校验字段的结束地址和第一配置数据的起始地址之间的存储区域,将原始配置数据、目标字段以及填充字段分解得到所有数据项的校验和为0。由于将原始配置数据、目标字段以及填充字段分解得到所有数据项的校验和为0,因此在写入第一配置数据之后,将原始配置数据、目标字段、填充字段和第一配置数据分解得到所有数据项的校验和等于将第一配置数据分解得到的所有数据项的校验和。由此可以判断第一配置数据是否正确。
在另一种可能的实现方式中,原始配置数据包括多个相同长度的序列,第一校验字段的长度与填充字段的长度之和等于一个序列的长度。
在另一种可能的实现方式中,在依次读取原始配置数据、目标字段之后,且在读取第一配置数据之前,上述方法还包括:读取填充字段。
在另一种可能的实现方式中,目标标识为配置数据标识或填充字段的标识。
在另一种可能的实现方式中,上述方法还包括:在第一配置数据的存储区域之后写入第二校验字段,第二校验字段用于校验第一配置数据。第二校验字段中的校验数据的取值等于将第一待校验数据分解得到所有数据项的校验和。第一待校验数据包括原始配置数据、目标字段和第一配置数据。或者,第一待校验数据包括原始配置数据、目标字段、填充字段和第一配置数据。
在另一种可能的实现方式中,在根据第一配置数据配置扩展总线重定时器之后,上述方法还包括:获取第二配置数据;将目标标识修改为第一校验字段的标识,得到第一校验字段;在第一校验字段的存储区域之后的存储区域写入第二配置数据;将第一校验字段的标识修改为目标标识,得到目标字段;收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段和第二配置数据;根据第二配置数据配置扩展总线重定时器。这样,在更新配置数据时,不破坏原始配置数据。由此提供了一种更新配置数据且不破坏原始配置数据的方法,能够保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。
在另一种可能的实现方式中,在将目标标识修改为第一校验字段的标识之前,当检测到填充字段的标识时,根据填充字段的标识查找目标标识。其中,目标标识为配置数据标识。由于目标标识为配置数据标识,并且原始配置数据中的序列均包括配置数据标识,因此扩展总线重定时器难以迅速确定目标字段。首先查找到填充字段的标识,然后确定在填充字段之前的指定长度的字段记为目标字段,其包括的标识即为目标标识。由此提供了一种快速查找目标标识的方法。
在另一种可能的实现方式中,上述方法还包括:在第二配置数据的存储区域之后写入第三校验字段,第三校验字段用于校验第二配置数据。第三校验字段中的校验数据的取值等于将第二待校验数据分解得到所有数据项的校验和。第二待校验数据包括原始配置数据、目标字段和第二配置数据。或者,第二待校验数据包括原始配置数据、目标字段、填充字段和第二配置数据。
第二方面提供一种计算设备,包括管理控制器、扩展总线重定时器和存储器。存储器用于存储程序和数据,管理控制器通过执行程序用于实现第一方面中配置数据的方法,存储器存储的数据包括但不限于原始配置数据、第一校验字段、目标字段和第一配置数据。
第三方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第四方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
附图说明
图1为现有技术中计算设备的一个示意图;
图2为本申请中配置数据的存储区域和校验字段的存储区域的一个示意图;
图3为本申请中配置数据的方法的一个流程图;
图4A为本申请中在存储区域中存储原始配置数据的一个示意图;
图4B为本申请中在存储区域中存储原始配置数据和第一配置数据的一个示意图;
图4C为本申请中在存储区域中存储原始配置数据和第一配置数据的另一个示意图;
图5为本申请中配置数据的方法的另一个流程图;
图6A为本申请中在存储区域中存储原始配置数据和第二配置数据的另一个示意图;
图6B为本申请中在存储区域中存储原始配置数据和第二配置数据的另一个示意图;
图7为本申请中计算设备的一个示意图。
具体实施方式
在图1所示的计算设备包括:处理器、根复合体、扩展总线重定时器和端点。处理器发送的高速信号经过根复合体、扩展总线重定时器到达端点。端点是指用于接收信号的器件。由于配置数据和链路长度、总数拓扑等密切相关,因此扩展总线重定时器还提供管理接口,用于配置数据升级、更新。
扩展总线重定时器的配置过程大致如下:扩展总线重定时器在正常工作前需要初始化各种参数,如模式、时钟、速率等。配置数据存储在存储器中,扩展总线重定时器在启动时可以自动从存储器中读取配置数据,完成初始化。
参阅图2,存储器的存储区域分为配置数据区域(configuration data area)和校验字段区域(validation data area),两个区域地址相邻。存储区域的起始地址可以为0x0000。配置数据区域由多个指定长度的初始化序列组成,这些序列以配置数据标识开头,以表示后续数据用于初始化。校验字段由校验标识开头,用于表示配置数据结束,校验数据用于配置数据的完整性校验。配置数据标识也记为Type1或T1,校验标识也记为Type2或T2。
扩展总线重定时器在复位完成后,从存储器件0地址开始读取配置数据。如果读到的是初始化序列,则使用初始化序列初始化内部寄存器;如果是校验字段,则停止初始化,并为先前的初始化序列进行完整性校验。如果校验成功,则扩展总线重定时器转入正常工作模式;如果校验失败,则扩展总线重定时器停止工作。
扩展总线重定时器的校验采用校验和检测方式,即将配置数据区域和校验字段区域的所有数据按字节逐个用8bit加法相加。如果扩展总线重定时器采用一的补数校验和,则最终结果为0xFF时表示数据完整;如果器件采用二的补数校验和,则最终结果是0x00表示数据完整。
为了解决更新配置数据异常导致扩展总线重定时器无法正常工作的问题,本申请提供能够一种能够在发生异常的情况下正常开启扩展总线重定时器的方法,详见以下介绍:
参阅图3,本申请提供配置数据的方法的一个实施例包括:
步骤301、获取第一配置数据。
本实施例中,第一配置数据为用于更新的配置数据。
步骤302、在第一校验字段的存储区域之后的存储区域中写入第一配置数据。
其中,第一校验字段的存储区域位于原始配置数据的存储区域之后,第一校验字段用于校验原始配置数据。可选的,第一校验字段的存储区域位于原始配置数据的存储区域之后且相邻。
步骤303、将第一校验字段中第一校验字段的标识修改为目标标识,得到目标字段。
当扩展总线重定时器读取到校验字段的标识之后,会根据校验字段的标识结束读取配置数据的操作。目标标识用于扩展总线重定时器在读取原始配置数据和目标字段之后继续读取第一配置数据。可选的,当用一个字节大小的存储区域存储目标标识或第一校验字段的标识时,将第一校验字段的标识修改为目标标识的操作可以认为是一个原子操作。由于执行原子操作的时间极短,因此在此期间发生异常的概率极小。
步骤304、收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段和第一配置数据。
执行步骤301至步骤303之后,存储器存储有原始配置数据、目标字段和第一配置数据。当扩展总线重定时器复位时,扩展总线重定时器依次从存储器读取原始配置数据、目标字段和第一配置数据。
步骤305、根据第一配置数据配置扩展总线重定时器。
具体的,扩展总线重定时器从存储器中依次读取原始配置数据、目标字段和第一配置数据之后;根据第一配置数据配置扩展总线重定时器。由于将第一校验字段修改为目标字段,扩展总线重定时器读取目标字段时,不会停止读取操作,继续读取第一配置数据。可选的,扩展总线重定时器从存储器中依次读取原始配置数据,根据原始配置数据配置扩展总线重定时器;再读取目标字段,忽略目标字段;然后读取第一配置数据,根据第一配置数据配置扩展总线重定时器,以使得第一配置数据替换了原始配置数据。
在写入第一配置数据的过程中发生异常(例如掉电或重启),扩展总线重定时器收到复位指令之后,可以从存储器的配置数据区域中依次读取原始配置数据和第一校验字段,可以根据原始配置数据配置扩展总线重定时器,使其正常工作。
需要说明的是,步骤304和步骤305是由扩展总线重定时器直接从存储器中读取配置数据并根据配置数据进行初始化,不经过管理控制器。
本实施例中,在更新配置数据时,不破坏原始配置数据。在扩展总线重定时器复位之后,当检测到第一校验字段的标识时,根据原始配置数据配置扩展总线重定时器;当读取目标标识后,根据第一配置数据配置扩展总线重定时器,由此能够保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。
需要说明的是,在写入第一配置数据之后,需要设置结束条件以使得扩展总线重定时器能够在读取第一配置数据之后结束读取流程。下面对设置结束条件的方法进行介绍:
在一个可选实施例中,上述方法还包括:在第一配置数据的存储区域之后写入第二校验字段,第二校验字段用于校验第一配置数据。
具体的,第二校验字段也包括校验标识,当扩展总线重定时器读取第二校验字段的校验标识时,不再读取在第二校验字段之后的配置数据,因此第二校验字段不仅用于校验第一配置数据,还用于作为读取第一配置数据的结束条件。需要说明的是,在第一配置数据之后的存储区域没有读取到数据时,扩展总线重定时器也可以停止继续读取数据。例如,存储区域存储的数据为0xFFFF时,表示没有存储数据。
当扩展总线重定时器读取第二校验字段的校验标识时,对在第二校验字段之前的数据进行校验,当校验和满足条件时,确定配置数据正确无误。具体的,将原始配置数据、目标字段和第一配置数据分别按照N个字节划分为多个数据项,然后计算多个数据项的校验和,N为正整数。其中,将原始配置数据和目标字段分解得到所有数据项的校验和为0。需要说明的是,除了按照N个字节对存储区域的数据进行划分之外,还可以采用更小粒度的比特来划分上述数据,例如2个比特或者4个比特(bit),此处不作限定。
当目标标识大于或等于N个字节时,通过设置目标标识的值,可以使得将原始配置数据和目标字段分解得到所有数据项的校验和为0。但是,当目标标识的长度小于N个字节时,不易将原始配置数据和目标字段分解得到所有数据项的校验和为0。针对该问题,本申请还提供一种方式使得扩展总线重定时器能够根据第二校验字段对第一配置数据进行校验,下面进行详细介绍:
在另一个可选实施例中,在第一校验字段的存储区域之后的存储区域中写入第一配置数据之前,上述方法还包括:在填充区域中写入填充字段,填充区域为在第一校验字段的结束地址和第一配置数据的起始地址之间的存储区域,将原始配置数据、目标字段以及填充字段分解得到所有数据项的校验和为0。
本实施例中,填充字段的取值可以根据原始配置数据和目标字段的取值设置,从而使得将原始配置数据、目标字段以及填充字段分解得到所有数据项的校验和为0。填充字段可以包括填充字段的标识。可选的,在目标字段中目标标识为配置数据标识或填充字段的标识。
在另一个可选实施例中,原始配置数据包括多个相同长度的序列,第一校验字段的长度与填充字段的长度之和等于一个序列的长度。
在另一个可选实施例中,在依次读取原始配置数据和目标字段之后,且在读取第一配置数据之前,上述方法还包括:读取填充字段。扩展总线重定时器读取填充字段的标识后,会继续读取在填充字段之后的第一配置数据。
在一个可选实施例中,
如图4A所示,当扩展总线重定时器的配置数据为出厂设置的配置数据时,扩展总线重定时器的存储区域包括但不限于:用于存储原始配置数据的存储区域401,用于存储第一校验字段的存储区域402和未写入数据的存储区域403。第一校验字段的标识记为T2。
如图4B所示,在存储区域401和存储区域402中存储的数据不变的情况下,在写入填充字段、第一配置数据和第二校验字段之后,存储区域403划分为用于存储第一配置数据的存储区域4031、用于存储填充字段的存储区域4032和用于存储第二校验字段的存储区域4033。填充字段的标识记为T3。
如图4C所示,在写入填充字段、第一配置数据和第二校验字段之后,将第一校验字段的标识(即T2)修改为配置数据标识(即T1)。这样,在存储区域402中存储的数据从第一校验字段修改为目标字段。其中,原始配置数据、目标字段和填充字段满足以下条件:将原始配置数据、目标字段和填充字段分解得到的所有数据项的校验和为0。
当扩展总线重定时器复位之后,从起始位置开始,依次读取原始配置数据、目标字段、填充字段、第一配置数据和第二校验字段。当读取第二校验字段之后,将原始配置数据、目标字段、填充字段和第一配置数据分解为多个数据项,然后根据多个数据项的校验和判断第一配置数据的完整性和正确性。当校验通过时,利用第一配置数据对扩展总线重定时器进行初始化配置;当校验失败时,扩展总线重定时器停止工作或重新执行图3所示的配置数据的方法。
由于原始配置数据、目标字段和填充字段分解得到的所有数据项的校验和为0,因此将原始配置数据、目标字段、填充字段和第一配置数据分解得到的所有数据项的校验和与分解第一配置数据得到的多个数据项的校验和相同。
在步骤305之后,存储区域401和存储区域4031分别存储原始配置数据和第一配置数据。在后续过程中可能多次更新配置数据,下面对更新配置数据的方法和配置数据的方法进行具体介绍:
参阅图5,本申请提供的配置数据的方法的另一个实施例包括:
步骤501、获取第二配置数据。
本实施例中,第二配置数据是在存储器写入第一配置数据和原始配置数据之后用于更新的配置数据。当存储器中存储原始配置数据和第一配置数据之后,管理控制器可以获取第二配置数据,以取代第一配置数据。
步骤502、将目标标识修改为第一校验字段的标识,得到第一校验字段。
管理控制器对存储器中的目标标识进行修改,将其修改为第一校验字段的标识。由此将目标字段修改为第一校验字段。
步骤503、在第一校验字段的存储区域之后的存储区域写入第二配置数据。
具体的,当第一校验字段的存储区域之后没有填充区域时,直接在第一校验字段的存储区域之后且相邻的存储区域写入第二配置数据。当第一校验字段的存储区域之后的存储区域包括填充区域时,在填充区域之后写入第二配置数据。
步骤504、将第一校验字段的标识修改为目标标识,得到目标字段。
管理控制器对存储器中的第一校验字段的标识进行修改,将其修改为目标标识。由此将第一校验字段修改为目标字段。可选的,当用一个字节大小的存储区域存储目标标识或第一校验字段的标识时,步骤502以及步骤504均可以认为是一个原子操作。由于执行原子操作的时间极短,因此在此期间发生异常的概率极小。
步骤505、收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段和第二配置数据。
步骤506、根据第二配置数据配置扩展总线重定时器。
可选的,扩展总线重定时器从存储器中依次读取原始配置数据,根据原始配置数据配置扩展总线重定时器;再读取目标字段,忽略目标字段;然后读取第二配置数据,根据第二配置数据配置扩展总线重定时器,以使得第二配置数据替换了原始配置数据。
本实施例中,在更新配置数据时,不破坏原始配置数据。在扩展总线重定时器复位之后,当检测到第一校验字段的标识时,根据原始配置数据配置扩展总线重定时器;当读取目标标识后,根据第二配置数据配置扩展总线重定时器,由此能够保证扩展总线重定时器正常工作,提高了扩展总线重定时器的鲁棒性。
可以理解的是,根据图5所示的配置数据的方法,除了利用第二配置数据更新配置数据之外,依此类推,可以实现后续配置数据的更新。
在一个可选实施例中,在第一校验字段的存储区域之后的存储区域包括填充区域,填充区域在第一校验字段的存储区域之后且相邻;
步骤503包括:在填充区域之后的存储区域写入第二配置数据。
步骤505包括:收到对扩展总线重定时器的复位指令之后,依次读取原始配置数据、目标字段、填充字段和第二配置数据。
本实施例中,填充区域用于存储填充字段。填充区域和填充字段的具体描述可以参阅前述实施例中的相关描述。当扩展总线重定时器的存储区域存储有原始配置数据、目标字段、填充字段和第二配置数据时,扩展总线重定时器依次读取原始配置数据、目标字段、填充字段和第二配置数据,然后根据第二配置数据配置扩展总线重定时器。
在另一个可选实施例中,目标标识为配置数据标识;
在步骤502之前,上述方法还包括:当检测到填充字段的标识时,根据填充字段的标识查找目标标识。
本实施例中,由于目标标识为配置数据标识,并且原始配置数据中的序列均包括配置数据标识,因此扩展总线重定时器难以迅速确定目标字段。首先查找到填充字段的标识,然后确定在填充字段之前的指定长度的字段记为目标字段,其包括的标识即为目标标识。由此提供了一种快速查找目标标识的方法。
在另一个可选实施例中,在第二配置数据的存储区域之后写入第三校验字段,第三校验字段用于校验第二配置数据。当扩展总线重定时器读取第三校验字段时,不再读取在第三校验字段之后的配置数据。
当扩展总线重定时器读取第三校验字段的校验标识时,对在第三校验字段之前的数据进行校验,当校验和满足条件时,确定配置数据正确无误。具体校验过程与上述实施例中根据第二校验字段进行校验的方法相似。
在一个可选实施例中,
如图4C所示,在步骤305之后,存储区域401存储有原始配置数据,存储区域402存储有目标字段,目标字段的标识为配置数据标识(即T1)。存储区域4032存储有填充字段,填充字段的标识为T3。存储区域4031存储有第一配置数据。存储区域4033存储有第二校验字段,第二校验字段的标识为T2。
如图6A所示,将目标标识(即T1)修改为第一校验字段的标识(T2),然后在存储区域601中写入第二配置数据,然后在存储区域602中写入第三校验字段。可以理解的是,当第一配置数据的存储区域与第二配置数据的存储区域大小相同时,存储区域601即存储区域4031。当第二校验字段的存储区域与第三校验字段的存储区域大小相同时,存储区域602即存储区域4032。这样,当写入第二配置数据异常时,扩展总线重定时器可以根据第一校验字段的标识(即T2)和原始配置数据进行初始化配置。
如图6B所示,在写入第二配置数据和第三校验字段之后,将存储区域402中第一校验字段的标识(即T2)修改为配置数据标识(即T1)。这样,扩展总线重定时器在读取目标字段之后,可以继续读取填充字段、第二配置数据和第三校验字段,然后根据第二配置数据进行初始化配置。
参阅图7,本申请提供一种能够上述配置数据方法的计算设备700。计算设备700的一个实施例包括管理控制器701、扩展总线重定时器702和存储器703;扩展总线重定时器702分别连接管理控制器701和存储器703;
管理控制器701,用于获取第一配置数据;
管理控制器701,还用于在第一校验字段的存储区域之后的存储区域中写入第一配置数据,第一校验字段的存储区域位于原始配置数据的存储区域之后,第一校验字段用于校验原始配置数据;
管理控制器701,还用于将第一校验字段中第一校验字段的标识修改为目标标识,得到目标字段;
扩展总线重定时器702,用于收到复位指令之后,依次读取原始配置数据、目标字段和第一配置数据;
扩展总线重定时器702,还用于根据第一配置数据配置扩展总线重定时器;
存储器703,用于存储原始配置数据、第一校验字段、目标字段和第一配置数据。
其中,管理控制器701可以是通用处理器,包括中央处理器(central processingUnit,CPU)或单片机;还可以是数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件等。
存储器703包括非易失性存储器(non-volatile memory,NVM)。非易失性存储器可以包括闪存(flash memory),电可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM),硬盘驱动器(hard disk drive,HDD),固态硬盘(solid state drives,SSD),硅磁盘驱动器(silicon disk drive,SDD),只读存储器(read-only memory,ROM),只读光盘(compact disc read-only memory,CD-ROM),磁带,软盘,光数据存储设备中的至少一项。
具体的,非易失性存储器用于存储配置数据、校验字段和填充字段等。配置数据包括但不限于原始配置数据、第一配置数据和第二配置数据。校验字段包括但不限于第一校验字段、第二校验字段和第三校验字段。存储器703还包括随机存取存储器(random accessmemory,RAM)。
存储器703还用于存储程序,管理控制器701执行存储器703存储的程序,实现图3所示的配置数据的方法中步骤301至步骤303,或者图5所示的配置数据的方法中步骤501至步骤504。
在一个可选实施例中,
管理控制器701,还用于在填充区域中写入填充字段,填充区域为在第一校验字段的结束地址和第一配置数据的起始地址之间的存储区域,将原始配置数据、目标字段以及填充字段分解得到所有数据项的校验和为0。
在另一个可选实施例中,原始配置数据包括多个相同长度的序列,第一校验字段的长度与填充字段的长度之和等于一个序列的长度。
在另一个可选实施例中,扩展总线重定时器702,还用于在依次读取原始配置数据和目标字段之后且在读取第一配置数据之前,读取填充字段。
在一个可选的实施例中,目标标识为配置数据标识或填充字段的标识。
在另一个可选实施例中,管理控制器701,还用于在第一配置数据的存储区域之后写入第二校验字段,第二校验字段用于校验第一配置数据。
在另一个可选实施例中,管理控制器701还用于在根据第一配置数据配置扩展总线重定时器之后,执行以下操作:
获取第二配置数据;
将目标标识修改为第一校验字段的标识,得到第一校验字段;
在第一校验字段的存储区域之后的存储区域写入第二配置数据;
将第一校验字段的标识修改为目标标识,得到目标字段;
收到对扩展总线重定时器702的复位指令之后,依次读取原始配置数据、目标字段和第二配置数据;
根据第二配置数据配置扩展总线重定时器702。
在另一个可选实施例中,管理控制器701,还用于在将目标标识修改为第一校验字段的标识之前,当目标标识为配置数据标识且检测到填充字段的标识时,根据填充字段的标识查找目标标识。
在另一个可选实施例中,管理控制器701,还用于在第二配置数据的存储区域之后写入第三校验字段,第三校验字段用于校验第二配置数据。
本申请提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如以上实施例中任意一个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例所述技术方案的范围。
Claims (19)
1.一种配置数据的方法,其特征在于,所述方法包括:
获取第一配置数据;
在第一校验字段的存储区域之后的存储区域中写入所述第一配置数据,所述第一校验字段的存储区域位于原始配置数据的存储区域之后,所述第一校验字段用于校验所述原始配置数据;
将所述第一校验字段中所述第一校验字段的标识修改为目标标识,得到目标字段;
收到对扩展总线重定时器的复位指令之后,依次读取所述原始配置数据、所述目标字段和所述第一配置数据;
根据所述第一配置数据配置所述扩展总线重定时器。
2.根据权利要求1所述的方法,其特征在于,在所述第一校验字段的存储区域之后的存储区域中写入所述第一配置数据之前,所述方法还包括:
在填充区域中写入填充字段,所述填充区域为在所述第一校验字段的结束地址和所述第一配置数据的起始地址之间的存储区域,将所述原始配置数据、所述目标字段以及所述填充字段分解得到所有数据项的校验和为0。
3.根据权利要求2所述的方法,其特征在于,所述原始配置数据包括多个相同长度的序列,所述第一校验字段的长度与所述填充字段的长度之和等于一个序列的长度。
4.根据权利要求2至3中任一项所述的方法,其特征在于,在所述依次读取所述原始配置数据、所述目标字段之后,且在读取所述第一配置数据之前,所述方法还包括:
读取所述填充字段。
5.根据权利要求4所述的方法,其特征在于,所述目标标识为配置数据标识或所述填充字段的标识。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一配置数据的存储区域之后写入第二校验字段,所述第二校验字段用于校验所述第一配置数据。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述第一配置数据配置所述扩展总线重定时器之后,所述方法还包括:
获取第二配置数据;
将所述目标标识修改为所述第一校验字段的标识,得到所述第一校验字段;
在所述第一校验字段的存储区域之后的存储区域写入所述第二配置数据;
将所述第一校验字段的标识修改为所述目标标识,得到所述目标字段;
收到对所述扩展总线重定时器的复位指令之后,依次读取所述原始配置数据、所述目标字段和所述第二配置数据;
根据所述第二配置数据配置所述扩展总线重定时器。
8.根据权利要求7所述的方法,其特征在于,所述目标标识为配置数据标识;
在所述将所述目标标识修改为所述第一校验字段的标识之前,所述方法还包括:
当检测到填充字段的标识时,根据所述填充字段的标识查找所述目标标识。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第二配置数据的存储区域之后写入第三校验字段,所述第三校验字段用于校验所述第二配置数据。
10.一种计算设备,其特征在于,所述计算设备包括管理控制器、扩展总线重定时器和存储器;
所述管理控制器,用于获取第一配置数据;
所述管理控制器,还用于在第一校验字段的存储区域之后的存储区域中写入所述第一配置数据,所述第一校验字段的存储区域位于原始配置数据的存储区域之后,所述第一校验字段用于校验所述原始配置数据;
所述管理控制器,还用于将所述第一校验字段中所述第一校验字段的标识修改为目标标识,得到目标字段;
所述扩展总线重定时器,用于收到对所述扩展总线重定时器的复位指令之后,依次读取所述原始配置数据、所述目标字段和所述第一配置数据;
所述扩展总线重定时器,还用于根据所述第一配置数据配置所述扩展总线重定时器;
所述存储器用于存储所述原始配置数据、所述第一校验字段、所述目标字段和所述第一配置数据。
11.根据权利要求10所述的计算设备,其特征在于,
所述管理控制器,还用于在填充区域中写入填充字段,所述填充区域为在所述第一校验字段的结束地址和所述第一配置数据的起始地址之间的存储区域,将所述原始配置数据、所述目标字段以及所述填充字段分解得到所有数据项的校验和为0。
12.根据权利要求11所述的计算设备,其特征在于,所述原始配置数据包括多个相同长度的序列,所述第一校验字段的长度与所述填充字段的长度之和等于一个序列的长度。
13.根据权利要求11至12中任一项所述的计算设备,其特征在于,
所述扩展总线重定时器,还用于在所述依次读取所述原始配置数据和所述目标字段之后,且在读取所述第一配置数据之前读取所述填充字段。
14.根据权利要求13所述的计算设备,其特征在于,所述目标标识为配置数据标识或填充字段的标识。
15.根据权利要求10至12中任一项所述的计算设备,其特征在于,
所述管理控制器,还用于在所述第一配置数据的存储区域之后写入第二校验字段,所述第二校验字段用于校验所述第一配置数据。
16.根据权利要求10所述的计算设备,其特征在于,所述管理控制器还用于在所述根据所述第一配置数据配置所述扩展总线重定时器之后,执行以下操作:
获取第二配置数据;
将所述目标标识修改为所述第一校验字段的标识,得到所述第一校验字段;
在所述第一校验字段的存储区域之后的存储区域写入所述第二配置数据;
将所述第一校验字段的标识修改为所述目标标识,得到所述目标字段;
收到对所述扩展总线重定时器的复位指令之后,依次读取所述原始配置数据、所述目标字段和所述第二配置数据;
根据所述第二配置数据配置所述扩展总线重定时器。
17.根据权利要求16所述的计算设备,其特征在于,
所述管理控制器,还用于当所述目标标识为配置数据标识且检测到填充字段的标识时,根据所述填充字段的标识查找所述目标标识。
18.根据权利要求16所述的计算设备,其特征在于,
所述管理控制器,还用于在所述第二配置数据的存储区域之后写入第三校验字段,所述第三校验字段用于校验所述第二配置数据。
19.一种计算机存储介质,包括指令,当其在计算机上运行时,用于执行如权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811140820.5A CN109491951B (zh) | 2018-09-28 | 2018-09-28 | 一种配置数据的方法以及计算设备 |
PCT/CN2019/090897 WO2020062931A1 (zh) | 2018-09-28 | 2019-06-12 | 一种配置数据的方法以及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811140820.5A CN109491951B (zh) | 2018-09-28 | 2018-09-28 | 一种配置数据的方法以及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491951A true CN109491951A (zh) | 2019-03-19 |
CN109491951B CN109491951B (zh) | 2022-05-10 |
Family
ID=65690694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811140820.5A Active CN109491951B (zh) | 2018-09-28 | 2018-09-28 | 一种配置数据的方法以及计算设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109491951B (zh) |
WO (1) | WO2020062931A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020062931A1 (zh) * | 2018-09-28 | 2020-04-02 | 华为技术有限公司 | 一种配置数据的方法以及计算设备 |
CN114629965A (zh) * | 2022-02-18 | 2022-06-14 | 青岛海尔空调电子有限公司 | 一种数据帧配置方法、设备控制方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5611045A (en) * | 1993-10-29 | 1997-03-11 | Compaq Computer Corporation | Detecting the presence of a device on a computer system bus by measuring the response time of data signals on the bus, and maximizing system performance based on that response time |
US6032271A (en) * | 1996-06-05 | 2000-02-29 | Compaq Computer Corporation | Method and apparatus for identifying faulty devices in a computer system |
CN102622280A (zh) * | 2011-01-06 | 2012-08-01 | 苏州科达科技有限公司 | 一种基于双文件系统的软件版本升级的控制方法及装置 |
CN106575269A (zh) * | 2014-09-11 | 2017-04-19 | 英特尔公司 | 串行边带信令链路 |
CN107111572A (zh) * | 2014-10-31 | 2017-08-29 | 赛灵思公司 | 用于避免死锁的方法和电路 |
CN107408095A (zh) * | 2015-01-28 | 2017-11-28 | 惠普发展公司,有限责任合伙企业 | 通道资源的重定向 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030877A1 (en) * | 2002-08-06 | 2004-02-12 | Aleksandr Frid | Using system BIOS to update embedded controller firmware |
CN108255436A (zh) * | 2018-01-25 | 2018-07-06 | 广东美的制冷设备有限公司 | 数据存取方法、存取装置、家电设备和可读存储介质 |
CN109491951B (zh) * | 2018-09-28 | 2022-05-10 | 超聚变数字技术有限公司 | 一种配置数据的方法以及计算设备 |
-
2018
- 2018-09-28 CN CN201811140820.5A patent/CN109491951B/zh active Active
-
2019
- 2019-06-12 WO PCT/CN2019/090897 patent/WO2020062931A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5611045A (en) * | 1993-10-29 | 1997-03-11 | Compaq Computer Corporation | Detecting the presence of a device on a computer system bus by measuring the response time of data signals on the bus, and maximizing system performance based on that response time |
US6032271A (en) * | 1996-06-05 | 2000-02-29 | Compaq Computer Corporation | Method and apparatus for identifying faulty devices in a computer system |
CN102622280A (zh) * | 2011-01-06 | 2012-08-01 | 苏州科达科技有限公司 | 一种基于双文件系统的软件版本升级的控制方法及装置 |
CN106575269A (zh) * | 2014-09-11 | 2017-04-19 | 英特尔公司 | 串行边带信令链路 |
CN107111572A (zh) * | 2014-10-31 | 2017-08-29 | 赛灵思公司 | 用于避免死锁的方法和电路 |
CN107408095A (zh) * | 2015-01-28 | 2017-11-28 | 惠普发展公司,有限责任合伙企业 | 通道资源的重定向 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020062931A1 (zh) * | 2018-09-28 | 2020-04-02 | 华为技术有限公司 | 一种配置数据的方法以及计算设备 |
CN114629965A (zh) * | 2022-02-18 | 2022-06-14 | 青岛海尔空调电子有限公司 | 一种数据帧配置方法、设备控制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020062931A1 (zh) | 2020-04-02 |
CN109491951B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640250B2 (en) | Secure boot of a processing chip via hardware memory configuration | |
TWI482084B (zh) | 提供平台獨立記憶體邏輯之裝置、方法及系統 | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
CN110618903A (zh) | 电子设备测试方法与装置 | |
US10387239B2 (en) | Detecting memory failures in the runtime environment | |
CN109446815A (zh) | 基本输入输出系统固件的管理方法、装置和服务器 | |
CN111258493B (zh) | 控制器、存储器控制器、存储设备以及操作控制器的方法 | |
US10261880B1 (en) | Error generation using a computer add-in card | |
US20120117367A1 (en) | Electronic apparatus and booting method thereof | |
US11175977B2 (en) | Method and system to detect failure in PCIe endpoint devices | |
CN109491951A (zh) | 一种配置数据的方法以及计算设备 | |
US20240020256A1 (en) | Component firmware interaction using hardware registers | |
US9934120B2 (en) | Method and apparatus for updating a system on chip (SOC) image from a host computer system without using DMA | |
CN111414319A (zh) | 计算机代码完整性检查 | |
US11176023B2 (en) | Performing software updates using environment emulation | |
US20180217889A1 (en) | Efficient Transfer of Data from CPU to Onboard Management Device | |
CN109375953A (zh) | 一种操作系统启动方法及装置 | |
TWI663509B (zh) | 系統資訊管理方法 | |
US9600616B1 (en) | Assuring chip reliability with automatic generation of drivers and assertions | |
WO2023046492A1 (en) | Fuzzing based security assessment | |
CN114692159A (zh) | 计算机系统、可信功能组件及运行方法 | |
US10169140B2 (en) | Loading a phase-locked loop (PLL) configuration using flash memory | |
CN106155961B (zh) | 基于BootLoader向内核传参数的方法及装置 | |
US10242195B2 (en) | Integrity values for beginning booting instructions | |
KR100907550B1 (ko) | 시리얼 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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211222 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Applicant after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |