一种检测内存数据故障的方法及其相关设备与流程

文档序号:32418612发布日期:2022-12-02 22:37阅读:37来源:国知局
一种检测内存数据故障的方法及其相关设备与流程

1.本技术实施例涉及存储领域,尤其涉及一种检测内存数据故障的方法及其相关设备。


背景技术:

2.随着技术产业算力的飞速发展,当前内存的容量越来越大,对于双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)即ddr面对更高的容量、更快的速度及更小的工艺技术,内存阵列出现单位错误的可能性会增加,故障率也越高。
3.ddr5是通过on-die误差校正码(error correcting code,ecc)降低内存芯片的缺陷率,保障高速和高密度下的数据准确性。具体通过配备额外的ecc存储器在数据发送到中央处理器(central processing unit,cpu)之前进行检测和纠错,但是由于系统没有额外的总线传输ecc数据,因此系统无法感知on-die ecc检测到的ecc错误,即系统无法感知内存发生故障。而当前一种技术是通过增加硬件电路来实现在ecc错误超过阈值后,向内存控制器提供报警信号,使得系统感知内存发生故障。但是,通过报警信号只能感知到故障发生,无法精准定位故障的精确位置,且通过硬件电路实现增加了成本。


技术实现要素:

4.本技术提供了一种检测内存数据故障的方法及其相关设备,应用于中ddr5内存领域。能精准定位内存中数据故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
5.第一方面,提供了一种检测内存数据故障的方法,该方法包括。
6.在巡检周期内检测第一内存空间内存储的数据是否发生故障,该巡检周期为检测ddr5内存的周期,该第一内存空间属于ddr5内存,其数据包括n位数据位,n大于等于1。
7.且在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取该故障的数据对应的故障信息,其故障信息至少包括该故障的数据所对应的内存地址,其中,内存模式寄存器用于管理ddr5内存,且该内存模式寄存器用于保存待巡检的数据与内存地址的映射关系。
8.然后,向操作系统(operating system,os)或基板管理控制器(baseboard management controller,bmc)发送所述故障信息。
9.在本技术的实施方式中,在巡检周期内确定第一内存空间中的至少一个数据发生故障时,获取至少包括故障的数据的内存地址的故障信息并发送给os或bmc,能精准定位内存中数据故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
10.第一方面的一种可能的实现方式中,在基本输入输出系统(basic input output system,bios)或bmc中配置巡检周期的值以及第一内存空间,且第一内存空间小于或等于
ddr5内存的数据存储空间。
11.在本技术的实施方式中,通过多种方式配置第一巡检周期的值以及第一内存空间,增加了方案的应用场景,提升了方案的可选择性。
12.第一方面的一种可能的实现方式中,当检测到第一数据存在故障时,停止巡检,并且从内存模式寄存器至少获取第一数据对应的第一内存地址,该第一数据为前述第一内存空间中存储的数据。
13.在本技术的实施方式中,具体说明了巡检过程中,当有数据存在故障时,获取对应的故障信息的具体实现方式,提升了方案的可靠性。
14.第一方面的一种可能的实现方式中,在从内存模式寄存器中至少获取第一数据对应的第一内存地址之后,继续巡检第一内存空间内的第二数据,该第二数据为第一内存空间中剩余待巡检的数据。
15.在本技术的实施方式中,当有故障的数据时,获取故障的数据的故障信息后,继续检测剩余的待巡检的数据,可以确保巡检整个第一内存空间的数据,保证内存数据的可靠性。
16.第一方面的一种可能的实现方式中,在巡检周期内,每次获取第一内存空间中的一个数据以及该数据对应的第一校验码。然后基于获取的数据得到对应的第二校验码,且基于该数据对应的第一校验码以及第二校验码不同确定该数据发生故障,或者,基于该数据对应的第一校验码与第二校验码相同确定该数据无故障。
17.在本技术的实施方式中,体现了检测数据是否发生故障的具体实现方式,增加了方案的可靠性。
18.第一方面的一种可能的实现方式中,检测到有数据存在故障时,对故障的数据进行纠错得到目标数据,并向故障的数据的内存地址写入目标数据。
19.在本技术的实施方式中,对故障的数据进行纠错得到目标数据,并向故障的数据的内存地址写入目标数据,以此进一步的保证ddr5内存中存储的数据保持准确性。
20.第一方面的一种可能的实现方式中,获取故障次数,该故障次数为当前巡检周期内发生故障的次数,然后基于该故障次数调整巡检周期的值。
21.在本技术的实施方式中,可以灵活调整巡检周期的值,当发生故障的次数较多的时候提高巡检的频率,能更加精准实时的监控数据故障的可能性,保障内存的数据的可靠性,提升方案的灵活性。
22.第一方面的一种可能的实现方式中,在至少两个巡检周期之后,获取至少两个巡检周期内第一内存空间中的无故障地址区间,且确定第一内存空间中不包括该无故障地址区间的内存空间为第二内存空间,即第二内存空间小于第一内存空间。且在下一个巡检周期内,检测第二内存空间内存储的数据是否发生故障。
23.在本技术的实施方式中,在巡检周期内检测第二内存空间,即在一定次数的巡检周期后,不再巡检没有出现过故障的地址的数据,可以提高巡检效率,减少对设备资源的占用。
24.第一方面的一种可能的实现方式中,在一定次数的巡检周期内巡检第二内存空间之后,在下一个巡检周期内再次检测第一内存空间中的数据是否发生故障。
25.在一种实现方式中,一定次数可以至少为两次以上,具体可以根据实际情况确定,
例如前述的多次巡检周期的检测结果的故障频率,当故障较多时,可以三次或五次后在巡检周期内检测第一内存空间内的所有数据,当故障较少时,可以10次或更多次以后在巡检周期内检测第一内存空间内的所有数据。
26.在本技术的实施方式中,再次检测第一内存空间的所有数据以此可以尽可能的保障ddr5内存的整体的无故障,提高内存数据的可靠性。
27.第一方面的一种可能的实现方式中,故障信息还包括当前行地址错误计数值,和/或,当前列地址错误计数值。其中,当前行地址错误计数值用于指示故障的数据的内存地址的行出现错误的次数,当前列地址错误计数值用于指示故障的数据的内存地址的列出现错误的次数。
28.在本技术的实施方式中,得到第一内存空间中发生故障的数据的内存地址以及当前行地址错误计数值和/或当前列地址错误计数值等故障信息,以此能精准定位内存故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
29.第一方面的一种可能的实现方式中,获取故障信息之后,向目标设备发送故障信息,使得目标设备基于故障信息确定目标地址,该目标设备上存储有ddr5内存的数据的故障大数据。
30.在本技术的实施方式中,向目标设备发送故障信息,丰富了故障大数据,可提高预测故障风险的精度以及准确性。
31.第一方面的一种可能的实现方式中,目标设备基于故障信息确定目标地址,目标设备可以基于目标地址预测其他与该目标设备关联的ddr5内存在相同的目标地址的数据存在故障风险,可以同步对其余ddr5内存的目标地址执行内存修复隔离。
32.在本技术的实施方式中,目标设备通过目标地址预测其他相同类型的ddr5内存存在相同的风险,并采取措施,增加了应用场景,且整体提高了整个应用场景的工作效率,减少单个ddr5内存数据的故障巡检工作量,尽可能保证内存数据的可靠性。
33.第一方面的一种可能的实现方式中,内存修复隔离为硬隔离修复或软隔离修复。
34.在本技术的实施方式中,多种内存修复隔离方式增加了方案的应用场景,且体现了方案的可选择性以及灵活性。
35.第二方面,提供一种处理装置,该处理装置包括:
36.处理单元,用于在巡检周期内检测第一内存空间内存储的数据是否发生故障,该巡检周期为检测ddr5内存的周期,该第一内存空间属于ddr5内存,其数据包括n位数据位,n大于等于1。
37.获取单元,用于在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取该故障的数据对应的故障信息,其故障信息至少包括该故障的数据所对应的内存地址,其中,内存模式寄存器用于管理ddr5内存,且该内存模式寄存器用于保存待巡检的数据与内存地址的映射关系。
38.发送单元,用于向操作系统os或基板管理控制器bmc发送故障信息。
39.在本技术的实施方式中,在巡检周期内确定第一内存空间中的至少一个数据发生故障时,获取至少包括故障的数据的内存地址的故障信息并发送给os或bmc,能精准定位内存中数据故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于
更多的应用场景。
40.第二方面的一种可能的实现方式中,处理单元,还用于在bios或bmc中配置巡检周期的值以及第一内存空间,且第一内存空间小于或等于ddr5内存的数据存储空间。
41.在本技术的实施方式中,通过多种方式配置第一巡检周期的值以及第一内存空间,增加了方案的应用场景,提升了方案的可选择性。
42.第二方面的一种可能的实现方式中,获取单元,具体用于当检测到第一数据存在故障时,停止巡检,并且从内存模式寄存器至少获取第一数据对应的第一内存地址,该第一数据为前述第一内存空间中存储的数据。
43.在本技术的实施方式中,具体说明了巡检过程中,当有数据存在故障时,获取对应的故障信息的具体实现方式,提升了方案的可靠性。
44.第二方面的一种可能的实现方式中,处理单元,在从内存模式寄存器中至少获取第一数据对应的第一内存地址之后,还用于继续巡检第一内存空间内的第二数据,该第二数据为第一内存空间中剩余待巡检的数据。
45.在本技术的实施方式中,当有故障的数据时,获取故障的数据的故障信息后,继续检测剩余的待巡检的数据,可以确保巡检整个第一内存空间的数据,保证内存数据的可靠性。
46.第二方面的一种可能的实现方式中,获取单元,还用于在巡检周期内,每次获取第一内存空间中的一个数据以及该数据对应的第一校验码。
47.然后处理单元,具体用于基于获取的数据得到对应的第二校验码,且基于该数据对应的第一校验码以及第二校验码不同确定该数据发生故障,或者,基于该数据对应的第一校验码与第二校验码相同确定该数据无故障。
48.在本技术的实施方式中,体现了检测数据是否发生故障的具体实现方式,增加了方案的可靠性。
49.第二方面的一种可能的实现方式中,处理单元,检测到有数据存在故障时,还用于对故障的数据进行纠错得到目标数据。
50.发送单元,还用于向故障的数据的内存地址写入目标数据。
51.在本技术的实施方式中,对故障的数据进行纠错得到目标数据,并向故障的数据的内存地址写入目标数据,以此进一步的保证ddr5内存中存储的数据保持准确性。
52.第二方面的一种可能的实现方式中,获取单元,还用于获取故障次数,该故障次数为当前巡检周期内发生故障的次数。
53.然后处理单元,还用于基于该故障次数调整巡检周期的值。
54.在本技术的实施方式中,可以灵活调整巡检周期的值,当发生故障的次数较多的时候提高巡检的频率,能更加精准实时的监控数据故障的可能性,保障内存的数据的可靠性,提升方案的灵活性。
55.第二方面的一种可能的实现方式中,获取单元,在至少两个巡检周期之后,还用于获取至少两个巡检周期内第一内存空间中的无故障地址区间。
56.处理单元,还用于确定第一内存空间不包括该无故障地址区间的内存空间为第二内存空间,即第二内存空间小于第一内存空间。以及在下一个巡检周期内,检测第二内存空间内存储的数据是否发生故障。
57.在本技术的实施方式中,在巡检周期内检测第二内存空间,即在一定次数的巡检周期后,不再巡检没有出现过故障的地址的数据,可以提高巡检效率,减少对设备资源的占用。
58.第二方面的一种可能的实现方式中,处理单元,在一定次数的巡检周期内巡检第二内存空间之后,还用于在下一个巡检周期内再次检测第一内存空间中的数据是否发生故障。
59.在一种实现方式中,一定次数可以至少为两次以上,具体可以根据实际情况确定,例如前述的多次巡检周期的检测结果的故障频率,当故障较多时,可以三次或五次后在巡检周期内检测第一内存空间内的所有数据,当故障较少时,可以10次或更多次以后在巡检周期内检测第一内存空间内的所有数据。
60.在本技术的实施方式中,再次检测第一内存空间的所有数据以此可以尽可能的保障ddr5内存的整体的无故障,提高内存数据的可靠性。
61.第二方面的一种可能的实现方式中,故障信息还包括当前行地址错误计数值,和/或,当前列地址错误计数值。其中,当前行地址错误计数值用于指示故障的数据的内存地址的行出现错误的次数,当前列地址错误计数值用于指示故障的数据的内存地址的列出现错误的次数。
62.在本技术的实施方式中,得到第一内存空间中发生故障的数据的内存地址以及当前行地址错误计数值和/或当前列地址错误计数值等故障信息,以此能精准定位内存故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
63.第二方面的一种可能的实现方式中,获取故障信息之后,发送单元,还用于向目标设备发送故障信息,使得目标设备基于故障信息确定目标地址,该目标设备上存储有ddr5内存的数据的故障大数据。
64.在本技术的实施方式中,向目标设备发送故障信息,丰富了故障大数据,可提高预测故障风险的精度以及准确性。
65.第二方面的一种可能的实现方式中,内存修复隔离为硬隔离修复或软隔离修复。
66.在本技术的实施方式中,多种内存修复隔离方式增加了方案的应用场景,且体现了方案的可选择性以及灵活性。
67.第三方面,提供另一种计算设备,可以包括处理器,且处理器与存储器耦合,该存储器用于存储指令,其中处理器用于执行存储器中的指令使得该计算设备执行本技术第一方面或第一方面任意一种可能实现方式所描述的方法。
68.第四方面,提供另一种计算设备,包括处理器,用于执行存储器中存储的计算机程序(或计算机可执行指令),当计算机程序(或计算机可执行指令)被执行时,使得执行如第一方面及第一方面各个可能的实现方式中的方法。
69.在一种可能的实现中,处理器和存储器集成在一起;
70.在另一种可能的实现中,上述存储器位于该计算设备之外。
71.该计算设备还包括通信接口,该通信接口用于该计算设备与其他设备进行通信,例如数据和/或信号的发送或接收。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
72.第五方面提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本技术第一方面、第一方面任一种可能实现方式所描述的方法被执行。
73.第六方面,提供一种计算机程序产品,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本技术第一方面、第一方面任一种可能实现方式所描述的方法被执行。
附图说明
74.图1为ddr5中on-die ecc模块的一个示意图;
75.图2a为本技术实施例提供的计算设备的一个架构示意图;
76.图2b为本技术实施例提供的ddr5内存与内存模式寄存器的一个结构示意图;
77.图3a为本技术实施例提供的检测内存数据故障的方法的一个示意图;
78.图3b为本技术实施例提供的检测数据故障的一个示意图;
79.图4a为本技术实施例提供的ddr5内存内存储的数据的一个示意图;
80.图4b为本技术实施例提供的应用场景的一个示意图;
81.图5为本技术实施例通过的应用场景的另一个示意图;
82.图6为本技术实施例提供的处理装置的一个结构示意图
83.图7为本技术实施例提供的计算设备的一个结构示意图。
具体实施方式
84.本技术实施例提供了一种检测内存数据故障的方法及其相关设备,应用于存储领域中。该检测内存数据故障的方法能精准定位内存故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
85.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
86.在介绍本技术实施例之前,先对当前存储领域中降低ddr5内存芯片基础故障率以及使得系统感知内存芯片故障进行简单说明,以便于后续理解本技术实施例。
87.内存ddr5通过on-die ecc纠错功能降低内存芯片确保高速和高密度下数据的准确性。具体的请参阅图1,图1为ddr5中on-die ecc模块的一个示意图,其中,ddr5内存颗粒的on-die ecc模块由ecc校验位发生器、综合发生器、综合解码器和校正模块构成。当将数据写入内存时,通过用ecc校验位发生器对每128比特数据计算得到8比特的校验码即ecc1,然后将数据和ecc1写入内存阵列。而当从内存读取数据时,会将读取的内存中的数据通过综合发生器生成新的校验码ecc2,并将存储的ecc1与ecc2进行对比,若无错误,则将内存中的数据发送出去,若出现错误,则综合解码器确定错误的比特位置,并指示校正模块纠正错误,并将纠错后的数据发送出去,但是纠错后的数据不写回内存阵列。
88.而由于前述ddr5的系统没有额外的总线传输ecc数据,因此系统无法感知on-die ecc检测到的ecc错误即无法感知内存发生故障。当前为使得系统感知到内存发生故障,是在使用on-die ecc的ddr5双列直插式存储模块(dual inline memory modules,dimm)上增加硬件电路检测内存中纠错码错误即ecc错误,在ecc错误超过阈值后,向内存控制器提供报警信号,以此实现ecc纠错码计数进行预测告警使得系统感知内存发生故障。但是通过ecc纠错码计数进行预测告警仅仅只能使得系统感知内存发生故障,而无法准确定位内存故障的验证程度和精确位置,且新增的硬件电路增加了成本。
89.为解决上述问题,本技术实施例提供了一种检测内存数据故障的方法及其相关设备,应用于存储领域的设备中。该方法包括:在巡检周期内检测第一内存空间内存储的数据是否发生故障,该巡检周期为检测ddr5内存的周期,该第一内存空间属于ddr5内存,其数据包括n位数据位,n大于等于1。且在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取该故障的数据对应的故障信息,其故障信息至少包括该故障的数据所对应的内存地址,其中,内存模式寄存器位于ddr5内存内,且该内存模式寄存器用于保存待巡检的数据与内存地址的映射关系。并向os或bmc发送该故障信息。在本技术的实施方式中,在巡检周期内确定第一内存空间中的至少一个数据发生故障时,获取至少包括故障的数据的内存地址的故障信息并向os或bmc发送,能精准定位内存中数据故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
90.为了更好的理解本技术的实施例,下面结合附图,首先对本技术的实施例提供的检测内存数据故障的方法进行详细描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
91.首先,为便于理解后续实施例,先对应用本技术实施例提供的检测内存数据故障的方法的一个计算设备架构进行简单说明。具体请参阅图2a,图2a为本技术实施例提供的计算设备的一个架构示意图,具体包括:
92.中央处理器(central processing unit,cpu)204,bmc203或os205以及至少一个ddr5内存202,ddr内存202以及bmc203与cpu204相连。其中,cpu204用于在巡检周期内检测第一内存空间内存储的数据是否发生故障,该巡检周期为检测ddr5内存202的周期,且第一内存空间属于ddr5内存202,该数据包括n位数据位,n大于等于1。
93.且在巡检过程中,当检测到有数据存在故障时,cpu204从内存模式寄存器获取该故障的数据对应的故障信息,该故障信息至少包括故障的数据对应的内存地址,其中内存模式寄存器用于管理ddr5内存202,且该内存模式寄存器用于保存第一内存空间内存储的数据与内存地址的映射关系。具体的,请参阅图2b,图2b为本技术实施例提供的ddr5内存与内存模式寄存器的一个结构示意图。其中,cpu204包括至少一个内存模式寄存器2041,内存模式寄存器2041与ddr5内存相连,内存模式寄存器2041用于支持cpu204管理ddr5内存,具体的,cpu204通过内存模式寄存器2041支持的指令对ddr5内存进行读写操作,以及巡检等其他操作。一种可能的实现方式中,内存模式寄存器2041位于cpu204中的集成内存控制器(integrated memory controller,imc)内。
94.在获取到故障信息后,cpu204还用于向bmc203或os205发送故障信息。
95.在本技术的实施方式中,cpu用于在巡检周期内确定第一内存空间存储的数据发生故障,且获取故障信息并向bmc或os发送,该故障信息包括指示第一内存空间中发生故障
的数据的位置的故障地址,以此能精确的定位发生故障的精确位置感知ddr5内存存储的数据发生故障,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
96.一种可能的实现方式中,计算设备还包括基本输入输出系统(basic input output system,bios)201。其中,bios201以及bmc203与cpu204相连。
97.在巡检ddr5内存的第一内存空间之前,在一种实现方式中,在bios201或bmc203中配置巡检周期的值以及第一内存空间,且第一内存空间小于或等于ddr5内存的数据存储空间。可以理解的是,还能在计算设备的os205或应用层的应用程序中配置巡检周期的值以及第一内存空间。具体的,可以通过设置ddr内存中的任意两个地址分别为起始地址以及末位地址配置第一内存空间。在一种实现方式中,第一内存空间的大小等于ddr5内存的数据存储空间,具体此处不做限定。
98.在一种实现方式中,上述cpu204可以调用bmc203或bios201在巡检周期内检测第一内存空间内存储的数据是否发生故障。且在巡检过程中,当检测到有数据存在故障时,cpu204从内存模式寄存器2041获取该故障的数据对应的故障信息。在其他实现方式中,cpu204还能调用os205或应用层的应用程序在巡检周期内检测第一内存空间内存储的数据是否发生故障,且在巡检过程中,当检测到有数据存在故障时,cpu204从内存模式寄存器2041获取该故障的数据对应的故障信息。可以理解的是,在实际情况中可以根据具体需求确定,具体此处不做限定。
99.且在一种实现方式中,cpu204还向bmc203或os205发送故障信息。由此感知ddr5内存内的数据发生故障。且然后bmc203或os205还能作为故障诊断系统基于故障信息得到故障特征,并基于故障特征通知cpu204对故障的数据的内存地址实现内存隔离修复。
100.需要说明的是,另外,在一种可能的实现方式中,bios201用于在巡检周期内检测第一内存空间内存储的数据是否发生故障。且在巡检过程中,当检测到有数据存在故障时,bios201从内存模式寄存器2041获取该故障的数据对应的故障信息。且在一种实现方式中,bios201还向bmc203或os205发送得到的故障信息,使得外界感知ddr5内存的数据发生故障。一种可能的实现方式中,bmc203或os205基于故障信息得到故障特征,并基于故障特征通知cpu204实现内存隔离修复。
101.在一种可能的实现方式中,bmc203用于在巡检周期内检测第一内存空间内存储的数据是否发生故障。且在巡检过程中,当检测到有数据存在故障时,bmc203从内存模式寄存器2041获取该故障的数据对应的故障信息。即可使外界感知ddr5内存的数据发生故障。且在一种实现方式中,bmc203还基于故障信息得到故障特征,并基于故障特征通知cpu204实现内存隔离修复。
102.在前述多种实现方式中,通过不同的方式实现在巡检周期内检测第一内存空间中的数据是否发生故障,且当发生故障时,获取故障的数据的故障信息。增加了方案适用的应用场景,体现了方案的多样性以及可选择性。
103.具体的,下面以图2a的计算设备实现本技术提供的检测内存数据故障的方法作为示例进行详细说明,具体请参阅图3a,图3a为本技术实施例提供的检测内存故障的方法的一个示意图,具体包括:
104.301、在巡检周期内检测第一内存空间是否发生故障。
105.具体的,cpu在巡检周期内检测第一内存空间是否发生故障。其中巡检周期为配置
的巡检整个第一内存空间是否发生故障的周期。
106.示例性的,cpu调用bios、bmc、os或应用程序在巡检周期内检测第一内存空间内存储的数据是否发生故障。或者,由bios、bmc、os或应用程序在巡检周期内检测第一内存空间内存储的数据是否发生故障。可以理解的是,实际情况中可以根据具体需求确定,具体此处不做限定。
107.具体的,基于该巡检周期循环检测ddr5内存的内存空间(该内存空间至少包括第一内存空间),实现实时检测ddr5内存的故障,提升ddr5内存的可靠性。
108.在一种实现方式中,可以在bios、bmc、os或应用程序中配置巡检周期以及第一内存空间,该第一内存空间小于或等于ddr5内存的数据存储空间。
109.示例性的,该巡检周期可以是三十分钟、一小时、六小时、二十小时或其他时间单位的时间段,具体此处不做限定。
110.而第一内存空间可以根据图2a中的ddr5内存中数据存储空间的地址进行配置。示例性的,定义ddr5内存中数据存储空间的任意两个地址分别为第一内存空间的起始地址以及末位地址即可,在一种实现方式中,该第一内存空间可以是整个ddr5内存的数据存储空间,在其他情况中,也可以小于ddr5内存空间中数据存储空间,具体此处不做限定。
111.在本技术的实施方式中,在bios、bmc、os或计算设备的应用层中的应用程序中配置巡检周期以及第一内存空间,体现了方案的多样性以及可选择性。且通过软件实现本方案,能尽可能的减少实现成本。
112.为便于理解本方案,后续以bios在巡检周期内检测第一内存空间是否发生故障为例进行说明。
113.一种可能的实现方式中,在巡检周期内,每次获取第一内存空间中的一个数据以及该数据对应的第一校验码。然后基于获取的数据得到对应的第二校验码,且基于该数据对应的第一校验码以及第二校验码不同确定该数据发生故障,或者,基于该数据对应的第一校验码与第二校验码相同确定该数据无故障。
114.示例性的,bios可以通过错误检测巡检(error check scrub,ecs)遍历整个第一内存空间的所有数据,从而检测第一内存空间内存储的数据是否发生故障。其中,该ecs可以用于内存内部读取,并纠正单比特错误,然后将纠正后的数据位回写到内存阵列中,使得内存中存储的数据保持准确性。
115.示例性的,该ecs的具体实现过程请参阅图3b以bios为例的示例进行理解,图3b为本技术实施例提供的检测数据故障的一个示意图。其中,具体如下:
116.s1、获取一个数据以及对应的第一校验码。
117.具体的,bios每次获取第一内存空间中的一个数据以及第一校验码,例如该数据为128比特数据位(即n=128),以及第一校验码为8比特校验位,可以理解的是,在其他的应用场景中,该数据可以为64比特数据位(即n=64),在实际情况中还可以根据具体情况确定该数据包括的n位数据位,具体此处不做限定。
118.s2、基于数据得到第二验证码。
119.然后bios根据获取到的128比特数据位计算得到第二校验码,即新的8比特校验位,具体的,前述的第一验证码是基于在ddr5内存中写入的数据得到的,因此bios根据得到第一校验码的方式重新基于从第一内存空间获取到的128比特数据位的数据得到第二验证
码。具体如前述图1的示例中的ecc描述的类似,具体此处不再赘述。
120.s3、基于第一验证码与第二验证码不同确定数据发生故障,或相同确定数据无故障。
121.具体的,bios将新的8比特校验位即第二校验码与获取到的8比特校验位即第一校验码进行比较,当二者一致时,无ecs错误即该数据的128比特数据位无故障,但当二者不一致时,则有ecs错误即该数据发生故障。且当有ecs错误时,在ddr5内存的内存模式(mode register,mr)寄存器中记录有ecs错误的相关信息即故障信息,具体例如故障的数据的内存地址、当前行地址错误计数值(当前行地址错误计数值指故障的数据的内存地址的当前行出现错误的次数)和/或当前列地址错误计数值(当前列地址错误计数值指故障的数据的内存地址的当前列出现错误的次数)等等,可以理解的是,还能有其他故障相关的信息,具体此处不再赘述。具体的,以ddr5内存为示例说明mr寄存器,当前的ddr5内存具备256个寄存器,为mr0-mr255,每个寄存器由八个操作位构成。
122.需要说明的是,在一种实现方式中,在巡检周期内,bios可以遍历整个第一内存空间一次或多次,在实际情况中可以根据具体需求确定,具体此处不做限定。
123.需要说明的是,前述示例仅仅以bios巡检第一内存空间为例进行说明,在其他应用场景中,以bmc、os或cpu巡检第一内存空间与bios巡检第一内存空间的具体实现方式类似,具体此处不再赘述。
124.在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取该故障的数据对应的故障信息。该故障信息至少包括故障的数据所对应的内存地址,其中,内存模式寄存器位于ddr5内存内,该内存模式寄存器用于保存第一内存空间内存储的数据与内存地址的映射关系。具体如下述步骤302:
125.302、当检测到有数据存在故障时,获取该故障的数据对应的故障信息。
126.一种可能的实现方式中,当检测到第一数据存在故障时,停止巡检,并且从内存模式寄存器至少获取第一数据对应的第一内存地址,该第一数据为前述第一内存空间中存储的数据。
127.示例性的,为便于理解,下面仍以bios为例获取故障的数据对应的故障信息进行说明,具体请参阅图4a,图4a为本技术实施例提供的ddr5内存内存储的数据的一个示意图。其中,第一数据和/或第二数据存储于ddr5内存内,具体此处不做限定。
128.在bios确定第一内存空间的第一数据发生故障即检测到ecs错误时,bios会触发系统管理中断(system management interrupt,smi)停止巡检,且基于当前检测到故障的第一数据从内存模式寄存器中获取该第一数据对应的故障信息,具体的,至少获取第一数据的第一内存地址,示例性的,bios可以从mr16寄存器到mr19寄存器中获取检测到ecs错误的第一数据对应的第一内存地址。
129.在本技术的实施方式中,具体说明了巡检过程中,当有数据存在故障时,获取对应的故障信息的具体实现方式,提升了方案的可靠性。
130.一种可能的实现方式中,在从内存模式寄存器中至少获取第一数据对应的第一内存地址之后,继续巡检第一内存空间内的第二数据,该第二数据为第一内存空间中剩余待巡检的数据。
131.示例性的,在获取上述第一数据的第一内存地址之后,bios继续巡检第二数据,该
第二数据可以是第一内存空间中剩余待巡检的数据。在一种实现方式中,该第二数据可以是在第一内存空间中第一数据的下一位数据,也可以是间隔的其他待巡检数据,具体此处不做限定。
132.即在巡检周期内,bios通过ecs检测第一内存空间的所有数据是否发生故障,当有故障的数据时,获取故障的数据的故障信息,然后继续检测剩余的待巡检的数据,而当当前检测的数据没有故障时,也要持续检测剩余的待巡检的数据。可以确保巡检整个第一内存空间的数据,保证内存数据的可靠性。
133.在本技术的实施方式中,执行步骤301以及步骤302之后,可以得到第一内存空间中发生故障的数据的内存地址,以此能精准定位内存故障的精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
134.在一种实现方式中,故障信息除前述故障的数据对应的内存地址,还可以包括当前行地址错误计数值或当前列地址错误计数值中的至少一项。示例性的,获取检测到ecs错误时,bios可以从mr16寄存器到mr19寄存器中故障的数据对应的内存地址,和/或从mr20寄存器中获取当前行地址错误计数值和/或当前列地址错误计数值。可以理解的是,bios还可以获取其他故障的数据对应的故障信息,具体此处不做限定。
135.在本技术的实施方式中,得到第一内存空间中发生故障的数据的内存地址以及当前行地址错误计数值和/或当前列地址错误计数值等故障信息,以此能精准定位内存故障的严重程度以及精确位置,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
136.一种可能的实现方式中,当检测到有数据存在故障时,对故障的数据进行纠错得到目标数据,并向故障的数据的内存地址写入目标数据。示例性的,请参阅图3b的示例中的步骤s4以及步骤s5:
137.s4、对故障的数据进行纠错得到目标数据。
138.bios通过ecs支持纠正故障的数据中的单比特错误,由此得到目标数据。具体的,可以将确定错误的比特位进行翻转纠错,从而得到正确无故障的数据。
139.s5、向故障的数据的内存地址写入目标数据。
140.ecs还支持将纠错后的数据位回写到内存阵列中,使得内存中存储的数据保持准确性。因此bios可以通过ecs将纠错后得到的目标数据写入到第一内存空间中故障的数据的内存地址中,以此保证ddr5内存中存储的数据保持准确性。
141.在一种可能的实现方式中,获取故障次数,该故障次数为当前巡检周期内发生故障的次数,然后基于该故障次数调整巡检周期的值。且后续基于重新设定的巡检周期内继续进行巡检。
142.示例性的,bios能根据故障次数或频率调整巡检周期的值,具体的,bios根据在当前巡检周期内检测到的发生故障的次数是否满足设定的阈值来确定对应的巡检周期的值,其中发生故障的次数的不同阈值对应不同的巡检周期的值,例如阈值为20对应巡检周期的值为24小时,阈值为50对应巡检周期为6小时等等,可以理解的是,此处仅仅作为示例用于理解本技术实施例,在实际情况中,发生故障的次数的阈值与对应的巡检周期的值可以根据具体需求确定,具体此处不做限定。
143.在一种实现方式中,bios可以在当前巡检周期内的发生故障的次数满足阈值的情
况下,生成告警,通过该告警提示用户,用户可以根据当前告警调整巡检周期的值。和/或用户还可以基于告警采取措施对发生故障的数据进行修复。
144.在本技术的实施方式中,可以灵活调整巡检周期的值,当发生故障的次数较多的时候提高巡检的频率,能更加精准实时的监控数据故障的可能性,提升内存的数据的可靠性,提升方案的灵活性。
145.在一种可能的实现方式中,在经过至少两个巡检周期之后,获取至少两个巡检周期内第一内存空间中的无故障地址区间,且确定第一内存空间中不包括该无故障地址区间的内存空间为第二内存空间,即第二内存空间小于第一内存空间。且在下一个巡检周期内,检测第二内存空间内存储的数据是否发生故障。
146.示例性的,在经过至少两个巡检周期内bios通过ecs遍历第一内存空间的所有数据后,bios基于两次ecs巡检后的结果,确定在该至少两个巡检周期内没发生故障的数据的无故障地址区间,例如第一内存空间的起始地址为0x00,末位地址为0xdf,而第一次巡检周期内无故障地址区间包括0x00至0x3f,以及0x80至0xdf,第二次巡检周期内无故障地址区间包括0x00至0x4f,以及0x90至0xdf,则确定第二内存空间为0x3f至0x90。然后在之后的巡检周期内检测第二内存空间内存储的数据是否发生故障,具体与前述检测第一内存空间内存储的数据是否发生故障类似,具体此处不再赘述。
147.需要说明的是,前述确定第二内存空间的示例仅仅用于说明本技术实施例,不对本方案产生实质性的限定,可以理解的是,实际情况中可以根据具体情况确定第二内存空间,具体此处不做限定。
148.在本技术的实施方式中,在巡检周期内检测第二内存空间,即在一定次数的巡检周期后,不再巡检没有出现过故障的地址的数据,可以提高巡检效率,减少对设备资源的占用。
149.在一种实现方式中,在一定次数的巡检周期内巡检第二内存空间之后,在下一个巡检周期内再次检测第一内存空间中的数据是否发生故障。在一种实现方式中,一定次数可以至少为两次以上,具体可以根据实际情况确定,例如前述的多次巡检周期的检测结果的故障频率,当故障较多时,可以三次或五次后在巡检周期内检测第一内存空间内的所有数据,当故障较少时,可以10次或更多次以后在巡检周期内检测第一内存空间内的所有数据。可以理解的是,可以根据实际的具体需求确定,具体此处不做限定。且再次检测第一内存空间的所有数据以此可以尽可能的保障ddr5内存的整体的无故障,提高内存数据的可靠性。
150.当前述由bmc或os执行巡检,并获取故障信息时,以此实现了精准定位内存中数据故障的严重程度以及精确位置,进而感知ddr5内存的数据发生故障,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
151.而当由cpu或bios在巡检中获取故障信息时,还需向bmc或os发送故障信息,具体如步骤303所述:
152.303、向bmc或os发送故障信息。
153.示例性的,bios在获得故障信息后,还向bmc或os发送故障信息,即可系统可感知ddr5内存存储的数据发生故障,且能确定发生故障的数据的具体位置。
154.一种可能的实现方式中,bmc或os还可以作为故障诊断系统,基于接收到的故障信
息进行分析处理后对故障的二号塑胶的内存地址执行内存修复隔离。
155.示例性的,请参阅图4b所示的应用场景,图4b为本技术实施例提供的应用场景的一个示意图。其中,bios将获取到的故障信息发送给故障诊断系统,且还能将该故障信息传输给目标设备进行故障诊断以及预测得到故障特征信息,该目标设备包括数据的故障大数据训练中心,或可以由故障诊断系统向目标设备发送故障信息,具体此处不做限定。其中目标设备中的故障大数据训练中心基于大量运行数据实现机器学习故障预测推理的算法完成故障特征研究,定义故障特征模型,然后向故障诊断系统输出故障严重程度和/或故障特征模型等故障特征。
156.示例性的,目标设备可以是一个数据库也可以是一个服务器,或者可以是其他能运行大量数据算法的计算机设备,具体此处不做限定。然后故障诊断系统基于故障特征通知cpu执行内存硬隔离修复。在一种实现方式中,内存隔离修复可以是硬隔离修复或软隔离修复,具体此处不做限定。例如cpu切断故障的数据的内存地址的颗粒的电源或信号,或故障诊断系统基于故障特征通知cpu通过os执行软隔离修复,例如定义故障的数据的内存地址的颗粒不可访问,或标识该颗粒为故障状态,可以理解的是,还能是其他能达成相同目的的方式,具体此处不做限定。
157.一种可能的实现方式中,获取故障信息之后,bios还向目标设备发送故障信息,使得目标设备基于故障信息确定目标地址,该目标设备上存储有ddr5内存的数据的故障大数据。
158.示例性的,目标设备基于故障信息确定目标地址,目标设备可以基于目标地址预测其他与该目标设备关联的ddr5内存在相同的目标地址的数据存在故障风险,可以同步对其余ddr5内存的目标地址执行内存修复隔离。其中,预测的关联的ddr5内存与前述发送故障信息的ddr5内存属于同一类产品。在本技术实施方式中,目标设备通过目标地址预测其他相同类型的ddr5内存存在相同的风险,并采取措施,增加了应用场景,且整体提高了整个应用场景的工作效率,减少单个ddr5内存数据的故障巡检工作量,尽可能保证内存数据的可靠性。
159.在本技术的实施方式中,bmc或os作为故障诊断系统基于故障信息精确的确定故障的数据的位置并实现内存隔离修复,尽可能的规避了风险的内存区域,保证了数据存储的可靠性。
160.需要说明的是,前述仅仅以bios作为示例用于说明本技术实施例,可以理解的是,cpu、bmc或os等实现本方案的具体实现方式与前述bios的示例类似,具体此处不再赘述。
161.在本技术实施例中,在巡检周期内检测第一内存空间存储的数据是否发生故障,在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取故障的数据对应的故障信息并发送给bmc或os,该故障信息包括指示故障的数据对应的内存地址,以此能精确的定位发生故障的精确位置感知ddr5存储的数据发生故障,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
162.下面通过一个具体实施本方案的应用场景的示例对本技术实施例进行说明,以便于进一步的理解本技术提供的方法。
163.为便于理解,下面仍然以bios作为示例进行说明,具体请参阅图5,图5为本技术实施例通过的应用场景的另一个示意图。具备包括:
164.首先执行步骤501在图2a的计算设备中的bmc、bios、os或应用程序中配置巡检周期为24小时(h),然后bios执行步骤502在巡检周期内通过ecs检测第一内存空间存储的数据是否有ecs错误,然后在步骤503中bios判断是否存在ecs错误,当不存在ecs错误时执行步骤502继续巡检第一内存空间,直至遍历整个第一内存空间,当存在ecs错误时bios执行步骤504,停止巡检,且获取mr16寄存器至mr20寄存器中的值,得到包括故障的数据对应的内存地址以及当前行地址错误计数值和/或当前列地址错误计数值等故障信息。然后继续执行步骤502检测第一内存空间中剩余的待巡检的数据,直至遍历整个第一内存空间中存储的数据。且bios还执行步骤505,向bmc发送bios获得的故障信息,使得bmc执行步骤506基于故障信息通过故障大数据训练中心得到故障特征,并基于故障特征通知cpu实现内存隔离修复。
165.在该应用场景中,bios通过ecs巡检整个第一内存空间,进而获取故障信息并向bmc发送,进而实时保证高速和高密度下的数据准确性,并且能精准定位故障的数据的精确位置,且无需额外的硬件电路实现,减少了成本,且实现了内存隔离修复,尽可能的规避了风险的内存区域,保证了数据存储的可靠性。
166.如图6所示,本技术实施例还提供了一种处理装置,该处理装置应用于计算设备中。具体请参阅图6,图6为本技术实施例提供的处理装置的一个结构示意图。一种可能的实现中,该处理装置600可以包括执行上述方法实施例中图3a实现的方法/操作/步骤/动作所一一对应的模块或单元,该单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。一种可能的实现中,该处理装置600可以包括:获取单元601、处理单元602发送单元603。处理单元602可以用于执行如上述方法实施例中在巡检周期内检测第一内存空间内存储的数据是否发生故障的步骤,获取单元601可以用于执行如上述方法实施例中从内存模式寄存器获取故障的数据对应的故障信息的步骤,发送单元603可以用于执行如上述方法实施例中向bmc或os发送故障信息的步骤。
167.在其他可能的设计中,上述获取单元601、处理单元602以及发送单元603可以一一对应的执行上述方法实施例中储能设备各种可能的实现方式中的方法/操作/步骤/动作。
168.在一种可能的设计中,上述处理单元602,在巡检周期内检测第一内存空间是否发生故障之前,还用于在bios或bmc内配置巡检周期的值以及第一内存空间,该第一内存空间小于或等于ddr5内存的数据存储空间。
169.在一种可能的设计中,上述处理单元602,具体用于当检测到第一数据存在故障时,停止巡检,并且从内存模式寄存器中至少获取第一数据对应的第一内存地址,该第一数据为第一内存空间内存储的数据。
170.在一种可能的设计中,上述处理单元602,在当检测到第一数据存在故障时,停止巡检,并且从内存模式寄存器中至少获取第一数据对应的第一内存地址之后,还用于继续巡检第一内存空间内的第二数据,该第二数据为待巡检的数据。
171.在一种可能的设计中,上述获取单元601,还用于在巡检周期内,每次获取第一内存空间中的一个数据以及对应的第一校验码。
172.处理单元602,且基于数据得到对应的第二校验码,然后基于数据对应的第一校验码以及第二校验码不同确定数据发生故障,或者,基于数据对应的第一校验码以及第二校验码相同确定数据无故障。
173.在一种可能的设计中,上述处理单元602,当检测到有所述数据存在故障时,还用于对故障的数据进行纠错得到目标数据。
174.上述发送单元603,还用于向故障的数据的内存地址写入目标数据。
175.在一种可能的设计中,上述获取单元601,还用于获取故障次数,该故障次数为当前巡检周期内发生故障的次数。
176.所述处理单元602,还用于基于故障次数调整巡检周期的值。
177.在一种可能的设计中,上述获取单元601,至少两个巡检周期之后,还用于获取至少两个巡检周期内第一内存空间中的无故障地址区间。
178.上述处理单元602,还用于确定第一内存空间中不包括无故障地址区间的内存空间为第二内存空间,以及在下一个巡检周期内,检测第二内存空间内存储的数据是否发生故障。
179.在一种可能的设计中,上述故障信息还包括当前行地址错误计数值,和/或,当前列地址错误计数值,该当前行地址错误计数值用于指示故障的数据的内存地址的行出现错误的次数,该当前列地址错误计数值用于指示故障的数据的内存地址的列出现错误的次数。
180.在一种可能的设计中,发送单元603,还用于向目标设备发送故障信息,使得目标设备基于故障信息确定目标地址,该目标设备上存储有ddr5内存的数据的故障大数据。
181.本技术上述的各种设计的处理装置的有益效果请参考上述图3a中方法实施例中一一对应的各种实现方式的有益效果,具体此处不再赘述。
182.需要说明的是,图6对应实施例的处理装置中各模块/单元之间的信息交互、执行过程等内容,与本技术中图3a对应的方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
183.另外,在本技术各个实施例中的各功能模块或单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
184.接下来介绍本技术实施例提供的另一种计算设备,请参阅图7,图7为本技术实施例提供的计算设备的一个结构示意图。具体的,计算设备700包括cpu701、存储器702以及ddr5内存703,其中,存储器702可以是短暂存储或持久存储。存储在存储器702的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算设备700中的一系列指令操作。更进一步地,cpu701可以设置为与存储器702通信,在计算设备700上执行存储器702中的一系列指令操作。
185.本技术实施例中,cpu701用于:在巡检周期内检测第一内存空间内存储的数据是否发生故障,该巡检周期为检测ddr5内存的周期,该第一内存空间属于ddr5内存,其数据包括n位数据位,n大于等于1。且在巡检过程中,当检测到有数据存在故障时,从内存模式寄存器获取该故障的数据对应的故障信息,其故障信息至少包括该故障的数据所对应的内存地址,其中,内存模式寄存器位于ddr5内存内,且该内存模式寄存器用于保存待巡检的数据与内存地址的映射关系,且向bmc或os发送故障数据。以此实现了精准定位内存中数据故障的严重程度以及精确位置,进而感知ddr5内存的数据发生故障,且无需增加额外的硬件电路,减少了成本,适用于更多的应用场景。
186.以上对本技术实施例所提供的检测内存数据故障的方法进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的检测内存数据故障的方法及其核心思想。同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
187.本技术实施例还提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
188.本技术实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
189.本技术还提供一种芯片或芯片系统,该芯片可包括处理器。该芯片还可包括存储器(或存储模块)和/或收发器(或通信模块),或者,该芯片与存储器(或存储模块)和/或收发器(或通信模块)耦合,其中,收发器(或通信模块)可用于支持该芯片进行有线和/或无线通信,存储器(或存储模块)可用于存储程序或一组指令,该处理器调用该程序或该组指令可用于实现上述方法实施例、方法实施例的任意一种可能的实现方式中由终端或者网络设备执行的操作。该芯片系统可包括以上芯片,也可以包含上述芯片和其他分离器件,如存储器(或存储模块)和/或收发器(或通信模块)。
190.另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
191.本技术实施例还提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
192.本技术实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
193.本技术还提供一种芯片或芯片系统,该芯片可包括处理器。该芯片还可包括存储器(或存储模块)和/或收发器(或通信模块),或者,该芯片与存储器(或存储模块)和/或收发器(或通信模块)耦合,其中,收发器(或通信模块)可用于支持该芯片进行有线和/或无线通信,存储器(或存储模块)可用于存储程序或一组指令,该处理器调用该程序或该组指令可用于实现上述方法实施例、方法实施例的任意一种可能的实现方式中由终端或者网络设备执行的操作。该芯片系统可包括以上芯片,也可以包含上述芯片和其他分离器件,如存储器(或存储模块)和/或收发器(或通信模块)。
194.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多
样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本技术各个实施例的方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1