一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器故障修复方法、装置、计算机设备和存储介质与流程

2022-11-16 15:27:57 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种存储器故障修复方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,出现了各种各样的存储器,例如,高带宽存储器(high bandwidth memory,hbm),高带宽存储器是一种高速高带宽的新型内存存储器。设备可以向存储器发送存储器访问指令,存储器可以通过指令传输接口接收存储器访问指令。
3.传统技术中,若存储器的指令传输接口出现故障,则存储器无法正常接收存储器访问指令。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种在指令传输接口出现故障的情况下,能够正常接收存储器访问指令的存储器故障修复方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.本技术提供了一种存储器故障修复方法。所述方法包括:
6.获取存储器中的当前故障接口所对应的目标重映射信息;所述目标重映射信息是基于所述当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,所述指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据;
7.生成携带所述目标重映射信息的故障修复指令,将所述故障修复指令发送至所述存储器,以使所述存储器基于所述目标重映射信息,通过所述正常接口和所述冗余接口接收存储器访问指令。
8.本技术还提供了一种存储器故障修复装置。所述装置包括:
9.重映射信息获取模块,用于获取存储器中的当前故障接口所对应的目标重映射信息;所述目标重映射信息是基于所述当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,所述指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据;
10.故障修复指令发送模块,用于生成携带所述目标重映射信息的故障修复指令,将所述故障修复指令发送至所述存储器,以使所述存储器基于所述目标重映射信息,通过所述正常接口和所述冗余接口接收存储器访问指令。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述存储器故障修复方法所述的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储器故障修复方法所述的步骤。
13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述存储器故障修复方法所述的步骤。
14.上述存储器故障修复方法、装置、计算机设备、存储介质和计算机程序产品,通过获取存储器中的当前故障接口所对应的目标重映射信息,生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。其中,目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。这样,若存储器中的指令传输接口出现故障,通过在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
15.本技术提供了一种存储器故障修复方法。所述方法包括:
16.获取故障修复指令;所述故障修复指令携带存储器中的当前故障接口所对应的目标重映射信息,所述目标重映射信息是基于所述当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,所述指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据;
17.基于所述目标重映射信息,通过所述正常接口和所述冗余接口接收存储器访问指令。
18.本技术还提供了一种存储器故障修复装置。所述装置包括:
19.故障修复指令获取模块,用于获取故障修复指令;所述故障修复指令携带存储器中的当前故障接口所对应的目标重映射信息;所述目标重映射信息是基于所述当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,所述指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据;
20.存储器访问指令接收模块,用于基于所述目标重映射信息,通过所述正常接口和所述冗余接口接收存储器访问指令。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述存储器故障修复方法所述的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储器故障修复方法所述的步骤。
23.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述存储器故障修复方法所述的步骤。
24.上述存储器故障修复方法、装置、计算机设备、存储介质和计算机程序产品,获取故障修复指令,基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。其中,故障修复指令携带存储器中的当前故障接口所对应的目标重映射信息,目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。这样,若存储器中的指令传输接口出现故障,通过在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
附图说明
25.图1为一个实施例中存储器故障修复方法的应用环境图;
26.图2为一个实施例中存储器故障修复方法的流程示意图;
27.图3为一个实施例中各个行指令的说明示意图;
28.图4为一个实施例中各个列指令的说明示意图;
29.图5a为一个实施例中激活指令发送时序示意图;
30.图5b为一个实施例中刷新指令发送时序示意图;
31.图5c为一个实施例中读指令发送时序示意图;
32.图6a为一个实施例中行指令传输接口对应的重映射关系和重映射编码的示意图;
33.图6b为一个实施例中列指令传输接口对应的重映射关系和重映射编码的示意图;
34.图7为另一个实施例中存储器故障修复方法的流程示意图;
35.图8为另一个实施例中存储器故障修复方法的流程示意图;
36.图9为一个实施例中电压变化、温度变化对时钟延迟的影响曲线的曲线示意图;
37.图10为另一个实施例中存储器故障修复方法的流程示意图;
38.图11为一个实施例中存储器故障修复装置的结构框图;
39.图12为另一个实施例中存储器故障修复装置的结构框图;
40.图13为一个实施例中计算机设备的内部结构图;
41.图14为另一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
44.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
45.本技术实施例提供的方案涉及人工智能的人工智能芯片、大数据处理等技术,具体通过如下实施例进行说明:
46.本技术实施例提供的存储器故障修复方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。
47.服务器104获取存储器中的当前故障接口所对应的目标重映射信息;目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。服务器104生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
48.终端102可获取存储器中的当前故障接口所对应的目标重映射信息;目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。终端102生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
49.在一个实施例中,如图2所示,提供了一种存储器故障修复方法,该方法可应用于计算机设备,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。本实施例以该方法应用于计算机设备为例进行说明,包括以下步骤:
50.步骤s202,获取存储器中的当前故障接口所对应的目标重映射信息;目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。
51.其中,指令传输接口是存储器提供的接口,用于传输存储器访问指令中相应指令信号位对应的信号数据,使得存储器能够接收外部发送的存储器访问指令。当前故障接口是指当前出现故障、且已指定初始指令信号位的指令传输接口。正常接口是指当前没有出现故障、且已指定初始指令信号位的指令传输接口。冗余接口是指多余的、且未指定初始指令信号位的指令传输接口。
52.存储器访问指令是用于访问存储器以实现对存储器进行相应的操作控制的指令,也就是,通过向存储器发送存储器访问指令,可实现对存储器进行相应的操作控制。例如,存储器访问指令可以是用于激活存储器的激活指令;存储器访问指令可以是用于对存储器存储的数据进行刷新的刷新指令;等等。可以理解,一条存储器访问指令可以包括多个指令信号位,各个指令信号位分别用于存储相应的信号数据。例如,存储器访问指令包括六位数据,任意一位数据表示一个信号数据,任意一位数据对应一个指令信号位。
53.在存储器中,除了冗余接口,各个指令传输接口分别存在对应的初始指令信号位,也就是,除了冗余接口,各个指令传输接口和各个指令信号位之间存在初始映射关系。初始指令信号位是指各个指令传输接口起始对应的指令信号位,各个指令传输接口默认对应的指令信号位。初始映射关系是指,指令传输接口和对应的初始指令信号位之间的映射关系。举例说明,假设存储器包括八个指令传输接口,分别为指令传输接口a-h,其中指令传输接口h为冗余接口,存储器访问指令包括七位数据,存储器访问指令对应七个指令信号位,分别为指令信号位a-g。指令传输接口a对应的初始指令信号位为a,指令传输接口b对应的初始指令信号位为b,指令传输接口c对应的初始指令信号位为c,指令传输接口d对应的初始指令信号位为d,指令传输接口e对应的初始指令信号位为e,指令传输接口f对应的初始指令信号位为f,指令传输接口g对应的初始指令信号位为g。冗余接口暂不存在对应的初始指令信号位。若指令传输接口a出现故障,则当前故障接口为指令传输接口a,正常接口为指令传输接口b-h,冗余接口为指令传输接口h。
54.各个指令传输接口分别存在各自对应的重映射信息,重映射信息用于在相应指令传输接口出现故障时,对存储器进行相应的故障修复。目标重映射信息是指当前故障接口对应的重映射信息。重映射信息是基于故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的。目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的。
55.基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,使得存储器在接收存储器访问指令时,基于重新分配得到的映射关系,通过正常接口和冗余接口传输存储器访问指令中相应指令信号位上的信号数据,存储器按照指令传输接口的位置排序,依次读取正常接口和冗余接口传输过来的信号数据,即可得到完整的存储器访问指令。存储器在接收存储器访问指令时,无需先读取信号数据再排列信号数据,按照指令传输接口的位置排序,依次读取正常接口和冗余接口传输过来的信号数据,就可以快速得到完整的存储器访问指令。
56.可以理解,存储器中的冗余接口可以有至少一个。
57.在一个实施例中,发送存储器测试指令至存储器;获取存储器返回的指令响应信号;指令响应信号包括校验信号;基于校验信号确定存储器的工作状态;当工作状态为故障状态时,通过检测各个指令传输接口对应的工作状态确定当前故障接口。
58.具体地,在确定当前故障接口时,计算机设备可以先确定存储器是否出现故障,再确定具体是哪个指令传输接口出现故障。计算机设备可以发送存储器测试指令至存储器,存储器可以向计算机设备返回指令响应信号,计算机设备基于存储器返回的指令响应信号中的校验信号确定存储器的工作状态。若校验信号为预设信号,则确定存储器的工作状态为正常状态,存储器当前没有出现故障的指令传输接口,存储器可以正常接收存储器访问指令。若校验信号不是预设信号,则确定存储器的工作状态为故障状态,存储器当前存在出现故障的指令传输接口,存储器当前已经无法正确接收存储器访问指令。当存储器的工作状态为故障状态时,再进一步确定哪个指令传输接口发生故障,计算机设备可以通过检测各个指令传输接口对应的工作状态确定当前故障接口。例如,可以通过extest测试模式(也可以称为外测试)检测各个指令传输接口对应的工作状态,将工作状态为故障状态的指令传输接口作为当前故障接口。
59.步骤s204,生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
60.其中,故障修复指令是用于指示存储器进行故障修复的指令。
61.具体地,计算机设备确定存储器中的当前故障接口,在本地或从其他设备上获取存储器中的当前故障接口所对应的目标重映射信息,生成携带目标重映射信息的故障修复指令,并将故障修复指令发送至存储器。存储器可以基于目标重映射信息,跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令。
62.在一个实施例中,计算机设备中部署有高带宽内存系统,高带宽内存系统包括主机和存储器。计算机设备可以通过主机获取存储器中的当前故障接口所对应的目标重映射信息,通过主机生成携带目标重映射信息的故障修复指令,通过主机将故障修复指令发送至存储器。
63.在一个实施例中,存储器可以是动态的随机存取存储器,也可以是随机存取存储器,也可以是其他类型的存储器。
64.在一个实施例中,存储器访问指令包括行指令和列指令。相应的,存储器包括用于传输行指令对应的行指令信号位所对应的信号数据的行指令传输接口、包括用于传输列指令对应的列指令信号位所对应的信号数据的列指令传输接口。若当前故障接口为行指令故障接口,则目标重映射信息是基于行指令故障接口和其他行指令传输接口的位置关系,在正常行指令接口和冗余行指令接口中,重新分配存储器访问指令对应的各个行指令信号位和行指令传输接口之间的映射关系得到的。若当前故障接口为列指令故障接口,则目标重映射信息是基于列指令故障接口和其他列指令传输接口的位置关系,在正常列指令接口和冗余列指令接口中,重新分配存储器访问指令对应的各个列指令信号位和列指令传输接口之间的映射关系得到的。
65.在一个实施例中,如图3所示,行指令具体可包括行无操作指令(row no operation指令)、激活指令(activate指令)、预充电指令(precharge指令)、全部预充电指令(precharge all指令)、单地址刷新指令(single bank refresh指令)、刷新指令
(refresh指令)、断电入口指令(power-down entry指令)、自动进入刷新指令(self refresh entry指令)、断电指令/自动刷新退出指令(power-down/self refresh exit指令)。行指令对应r0至r7这七个行指令信号位,也就是,行指令包括七个字段。其中,h字段表示1,l字段表示0,v字段可表示1或0,par(parity)字段表示指令校验字段,ba(bank address)字段表示bank地址,ra(row address)字段表示行地址,sid(stack id)表示堆栈的标识号。
66.在一个实施例中,如图4所示,列指令具体可包括列无操作指令(column no operation指令)、读指令(read指令)、带自动预充电的读指令(read w/ap,read with auto precharge指令)、写指令(write指令)、带自动预充电的写指令(write w/ap,write with auto precharge指令)、模式寄存器配置指令(mode register set指令)。列指令对应c0至c8这九个列指令信号位,也就是,列指令包括九个字段。其中,h字段表示1,l字段表示0,v字段可表示1或0,par字段表示指令校验字段,ba字段表示bank地址,ca(column address)字段表示列地址,sid表示堆栈的标识号、op字段表示操作码。
67.可以理解,针对行指令信号位和列指令信号位的数量,本技术实施例仅做举例说明,并不构成对行指令信号位和列指令信号位的数量做具体限定。
68.计算机设备需要在各个指令要遵循的时序下发送相应信号数据。例如,如图5a所示,经参考图3中的激活指令(即activate指令)的详情可知,激活指令中的各个字段(对应r0至r6),要在相应的时序下进行发送。激活指令为双周期指令,共占用了两个时钟周期。如图5b所示,经参考图3中的刷新指令(即refresh指令)的详情可知,刷新指令中的各个字段(对应r0至r6),要在相应的时序下进行发送。刷新指令为单周期指令,占用了一个时钟周期。如图5c所示,经参考图4中的读指令(即read指令)的详情可知,读指令中的各个字段(对应c0至c8),要在相应的时序下进行发送。其中,时钟1和时钟2为两个差分时钟。en ap(enable auto precharge)表示启动自动预充电。dis ap(disable auto precharge)表示禁用自动预充电。
69.存储器访问指令的传输容易受pvt(precess valid temperature,工艺电压温度)的环境变化,以及信号间串扰的影响导致存储器在运行过程中指令传输接口出现故障或损坏。通过本技术的存储器故障修复方法,在存储器的某些指令传输通道出现运行故障时,通过在正常接口和冗余接口中重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以很快进行修复处理,保障存储器正确接收到存储器访问指令。
70.上述存储器故障修复方法中,通过获取存储器中的当前故障接口所对应的目标重映射信息,生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。其中,目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。这样,若存储器中的指令传输接口出现故障,通过在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系
时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
71.在一个实施例中,存储器故障修复方法还包括:
72.获取接口位置排序信息;从各个指令传输接口中确定候选故障接口;基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息;重映射信息用于指示保持候选故障接口的前向接口和初始指令信号位之间的初始映射关系不变,将候选故障接口和候选故障接口的后向接口对应的初始指令信号位,与各自对应的相邻后向无故障接口建立映射关系;将下一指令传输接口作为候选故障接口,返回基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息的步骤执行,直至得到各个指令传输接口分别对应的重映射信息。
73.其中,接口位置排序信息用于表征各个指令传输接口的接口位置排序。候选故障接口是指假设发生故障的指令传输接口。前向接口是指排列在候选故障接口之前的指令传输接口。后向接口是指排列在候选故障接口之后的指令传输接口。初始映射关系是指,指令传输接口和对应的初始指令信号位之间的映射关系。初始指令信号位是指各个指令传输接口起始对应的指令信号位,各个指令传输接口默认对应的指令信号位。相邻后向无故障接口是指与某一指令传输接口相邻、且排列在该指令传输接口之后、且没有出现故障的接口。
74.具体地,计算机设备可以获取接口位置排序信息,基于接口位置排序信息生成各个指令传输接口分别对应的重映射信息。计算机设备可以从各个指令传输接口中随机选取一个指令传输接口作为候选故障接口,基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息。重映射信息用于指示保持候选故障接口的前向接口和指令信号位之间的初始映射关系不变,将候选故障接口和候选故障接口的后向接口对应的初始指令信号位,与各自对应的相邻后向无故障接口建立新的映射关系。
75.例如,假设存储器包括八个指令传输接口,分别为指令传输接口a-e,其中指令传输接口e为冗余接口,接口排序信息为a-b-c-d-e。存储器访问指令对应四个指令信号位,分别为指令信号位a-c。指令传输接口a对应的初始指令信号位为a,指令传输接口b对应的初始指令信号位为b,指令传输接口c对应的初始指令信号位为c,指令传输接口d对应的初始指令信号位为d,冗余接口暂不存在对应的初始指令信号位。若指令传输接口b出现故障,则在正常接口和冗余接口中,指令传输接口a和指令信号位a之间的映射关系不变,指令传输接口c和指令信号位b之间建立新的映射关系,指令传输接口d和指令信号位c之间建立新的映射关系,指令传输接口e和指令信号位d之间建立新的映射关系。指令传输接口b对应的重映射信息用于指示存储器通过指令传输接口a、c、d、e依次传输指令信号位a-c对应的信号数据。
76.各个指令传输接口对应的重映射信息的生成方式类似,计算机设备可以将下一指令传输接口作为新的候选故障接口,基于接口位置排序信息和候选故障接口对应的接口位
置,生成候选故障接口对应的重映射信息。最终,计算机设备可以得到各个指令传输接口分别对应的重映射信息。
77.在一个实施例中,接口位置排序信息可以是按照升序进行排序,也可以是按照降序进行排序,具体可以根据存储器的出厂接口配置或根据实际需要进行确定。
78.在一个实施例中,指令传输接口包括行指令传输接口和列指令传输接口。行指令传输接口和列指令传输接口独立生成各自对应的重映射信息。
79.上述实施例中,基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息;重映射信息用于指示保持候选故障接口的前向接口和初始指令信号位之间的初始映射关系不变,将候选故障接口和候选故障接口的后向接口对应的初始指令信号位,与各自对应的相邻后向无故障接口建立映射关系。这样,无需针对所有的正常接口和冗余接口修改映射关系,只需针对候选故障接口和候选故障接口的后向接口修改映射关系,能够保障修改修改效率。进一步的,存储器按照接口位置排序信息,依次读取正常接口和冗余接口传输过来的信号数据,即可快速得到完整的存储器访问指令,有助于提高存储器访问指令的读取效率。
80.在一个实施例中,基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息,包括:
81.基于接口位置排序信息和候选故障接口对应的接口位置,确定候选故障接口对应的重映射关系;重映射关系包括在候选故障接口故障的情况下,其他指令传输接口和指令信号位之间重新确定的映射关系;生成重映射关系对应的重映射编码,基于重映射编码得到候选故障接口对应的重映射信息。
82.其中,重映射编码是重映射关系的缩略表示,通过简单的编码数据来指代复杂的重映射关系,可以有效减少计算机设备和存储器之间的传输数据量。
83.具体地,为了减少发送数据量,计算机设备可以和存储器之间预先约定在任意指令传输接口故障时其他指令传输接口和指令信号位之间的重映射关系,具体可以通过重映射编码来指代重映射关系,计算机设备无需每次发送复杂的重映射关系至存储器,只需要发送重映射编码至存储器,存储器就可以快速基于重映射编码对应的重映射关系进行故障修复,快速通过正常接口和冗余接口正确接收存储器访问指令。
84.在生成重映射信息时,计算机设备可以基于接口位置排序信息和候选故障接口对应的接口位置,确定候选故障接口对应的重映射关系,重映射关系包括在候选故障接口故障的情况下,其他指令传输接口和指令信号位之间重新确定的映射关系。进而,计算机设备可以生成重映射关系对应的重映射编码,基于重映射编码得到候选故障接口对应的重映射信息,重映射信息包括重映射编码。计算机设备将携带重映射编码的故障修复指令发送至存储器,存储器基于重映射编码可以快速确定重映射编码对应的重映射关系,通过正常接口和冗余接口传输重映射关系指示的相应指令信号位上的信号数据,依次读取正常接口和冗余接口传输过来的信号数据,即可得到完整的存储器访问指令。
85.在一个实施例中,重映射编码包括候选故障接口对应的接口标识。存储器接收到故障修复指令后,基于故障修复指令携带的故障接口标识可以快速确定当前发生故障的指令传输接口,确定其对应的重映射关系,通过正常接口和冗余接口正确接收存储器访问指令。
86.上述实施例中,基于接口位置排序信息和候选故障接口对应的接口位置,确定候选故障接口对应的重映射关系,生成重映射关系对应的重映射编码,基于重映射编码得到候选故障接口对应的重映射信息。这样,后续在存储器出现指令传输接口故障时,通过发送重映射编码至存储器即可快速进行故障修复,有效提高修复效率。
87.在一个实施例中,重映射编码为预设编码长度的编码数据,不同的指令传输接口对应不同的重映射编码;在预设编码长度对应的各个候选编码数据中,除了各个指令传输接口对应的重映射编码,其他编码数据用于表征保持指令传输接口和指令信号位之间的初始映射关系不变。
88.具体地,计算机设备和存储器之间可以约定将预设编码长度的编码数据作为重映射编码。为了区分不同的指令传输接口,不同的指令传输接口对应不同的重映射编码。为了避免存储器无法识别或识别错误,在预设编码长度对应的各个候选编码数据中,除了各个指令传输接口对应的重映射编码,剩余的编码数据用于表征保持指令传输接口和初始指令信号位之间的初始映射关系不变。
89.在一个实施例中,指令传输接口包括行指令传输接口。参考图6a,rx0至rrx表示行指令传输接口,rrx表示行指令传输接口中的冗余接口。rx0至rrx中的x表示第x个指令通道,可以理解,存储器可以包括至少一个指令通道。图6a中的xx表示相应的行指令传输接口出现故障。若rx0故障,则对应的重映射编码为0000;若rx1故障,则对应的重映射编码为0001;若rx2故障,则对应的重映射编码为0010;若rx3故障,则对应的重映射编码为0011;若rx4故障,则对应的重映射编码为0100;若rx5故障,则对应的重映射编码为0101;若rx6故障,则对应的重映射编码为0110。
90.以rx0为例,若rx0故障,则对应的重映射关系用于表征rx6对应的初始指令信号位上的信号数据还是通过rx6传输,rx0对应的初始指令信号位上的信号数据通过rx1传输,rx1对应的初始指令信号位上的信号数据通过rx2传输,rx2对应的初始指令信号位上的信号数据通过rx3传输,rx3对应的初始指令信号位上的信号数据通过rx4传输,rx4对应的初始指令信号位上的信号数据通过rx5传输,rx5对应的初始指令信号位上的信号数据通过rrx传输。
91.若行指令传输接口没有故障,则对应的编码数据为1111,对应的映射关系用于表征保持初始映射关系不变。若行指令传输接口没有故障,则rrx这个冗余接口是闲置的。受限于行指令传输接口的数量,剩余的编码数据0111至1110暂时保留。为了避免存储器无法识别或识别错误,编码数据0111至1110也可以存在相应的重映射关系,编码数据0111至1110对应的重映射关系用于表征保持初始映射关系不变。这样,即使存储器接收到0111至1110中的任意数据,存储器也不会识别不了或识别成其他重映射关系。
92.在一个实施例中,指令传输接口包括列指令传输接口。参考图6b,cx0至rcx表示列指令传输接口,rcx表示列指令传输接口中的冗余接口。cx0至rcx中的x表示第x个指令通道。图6b中的xx表示相应的行指令传输接口出现故障。若cx0故障,则对应的重映射编码为0000;若cx1故障,则对应的重映射编码为0001;若cx2故障,则对应的重映射编码为0010;若cx3故障,则对应的重映射编码为0011;若cx4故障,则对应的重映射编码为0100;若cx5故障,则对应的重映射编码为0101;若cx6故障,则对应的重映射编码为0110;若cx7故障,则对应的重映射编码为0111;若cx8故障,则对应的重映射编码为1000。
93.可以理解,随着指令传输接口的增多,剩余的编码数据也可以用于作为重映射编码。随着指令传输接口的增多,编码数据的编码长度也可以增大。图6a和图6b仅做举例说明,并不构成对各个指令传输接口对应的重映射编码的数值的具体限定,例如,rx0对应的重映射编码可以设置为1110。
94.上述实施例中,重映射编码为预设编码长度的编码数据,不同的指令传输接口对应不同的重映射编码,通过重映射编码可以有效区分发生故障的指令传输接口。进一步的,在预设编码长度对应的各个候选编码数据中,除了各个指令传输接口对应的重映射编码,其他编码数据用于表征保持指令传输接口和指令信号位之间的初始映射关系不变,其他编码数据可以避免存储器无法识别或识别错误,避免存储器误修复。
95.在一个实施例中,存储器故障修复方法还包括:将各个指令传输接口分别对应的重映射关系和重映射编码发送至存储器,以使存储器将重映射关系和重映射编码进行存储。
96.生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,包括:生成携带当前故障接口对应的目标重映射编码的故障修复指令,将故障修复指令发送至存储器,以使存储器获取目标重映射编码对应的目标重映射关系,基于目标重映射关系,通过正常接口和冗余接口接收存储器访问指令。
97.具体地,在确定各个指令传输接口对应的重映射关系和重映射编码后,计算机设备可以将各个指令传输接口分别对应的重映射关系和重映射编码发送至存储器,存储器将各个指令传输接口分别对应的重映射关系和重映射编码进行存储。从而,后续存储器在接收到携带当前故障接口对应的目标重映射编码的故障修复指令时,可以快速获取目标重映射编码对应的目标重映射关系,快速基于目标重映射关系通过正常接口和冗余接口接收存储器访问指令。
98.上述实施例中,将各个指令传输接口分别对应的重映射关系和重映射编码发送至存储器,以使存储器将重映射关系和重映射编码进行存储,这样可以使得存储器后续接收到故障接口对应的重映射编码时,可以快速基于重映射关系进行故障修复,从而正确接收故障修复指令。
99.在一个实施例中,如图7所示,生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,包括:
100.步骤s702,基于目标重映射信息生成存储器中目标寄存器对应的更新配置信息;目标寄存器用于指示存储器接收存储器访问指令的接收方式。
101.步骤s704,生成携带更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于更新配置信息更新目标寄存器对应的当前配置信息。
102.其中,存储器中可以包括目标寄存器,目标寄存器用于指示存储器接收存储器访问指令的接收方式,即目标寄存器用于指示存储器当前通过指令传输接口传输信号数据的传输方式、传输模式。
103.当前配置信息是指目标寄存器当前的配置信息,更新配置信息是指目标寄存器新的配置信息,用于更新当前配置信息。
104.具体地,存储器中设置有用于确定接收存储器访问指令的接收方式的目标寄存器,存储器可以基于目标寄存器的配置信息来确定接收存储器访问指令的接收方式。相应
的,目标重映射信息可以用于对目标存储器的配置信息进行修改,以达到调整接收存储器访问指令的接收方式的目的。计算机设备获取到当前故障接口对应的目标重映射信息后,可以基于目标重映射信息生成目标寄存器对应的更新配置信息。进而,计算机设备生成携带更新配置信息的故障修复指令,将故障修复指令发送至存储器。存储器接收到故障修复指令后,可以基于更新配置信息更新目标寄存器对应的当前配置信息,从而存储器在后续接收存储器访问指令时,可以基于目标寄存器最新的配置信息,获知要通过当前已知的正常接口和冗余接口传输相应指令信号位上的信号数据,从而才能正确接收存储器访问指令。
105.上述实施例中,基于目标重映射信息生成存储器中目标寄存器对应的更新配置信息,生成携带更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于更新配置信息更新目标寄存器对应的当前配置信息。这样,一旦确定当前故障接口,就对存储器中目标寄存器的配置信息进行修改,使得存储器可以基于目标寄存器的配置信息确定如何正确接收存储器访问指令,最终在接收存储器访问指令时,可以成功跳过当前故障接口,正确接收存储器访问指令。设置专门的目标寄存器来指示存储器接收存储器访问指令的接收方式,可以保障存储器随时随地都能够正确接收存储器访问指令。
106.在一个实施例中,存储器包括用于传输行指令信号位对应的信号数据的行指令传输接口、用于传输列指令信号位对应的信号数据的列指令传输接口。更新配置信息包括目标重映射信息和当前故障接口对应的接口类型信息;接口类型信息用于指示存储器基于目标重映射信息,修改当前配置信息中与当前故障接口对应的接口类型相匹配的字段信息;目标寄存器的配置信息包括用于确定针对行指令传输接口对应的映射关系的第一字段、用于确定针对列指令传输接口对应的映射关系的第二字段。
107.具体地,存储器包括用于传输行指令信号位对应的信号数据的行指令传输接口、用于传输列指令信号位对应的信号数据的列指令传输接口。为了有效区分当前故障接口是行指令传输接口还是列指令传输接口,为了保障存储器对出现故障的指令传输接口实现正确修复,更新配置信息除了包括目标重映射信息,还可以包括当前故障接口对应的接口类型信息。接口类型信息可以标识当前故障接口对应的接口类型。
108.进一步的,为了有效区分当前故障接口是行指令传输接口还是列指令传输接口,为了保障存储器对出现故障的指令传输接口实现正确修复,目标存储器的配置信息中包括用于确定针对行指令传输接口对应的映射关系的第一字段、用于确定针对列指令传输接口对应的映射关系的第二字段。更新配置信息中的接口类型信息用于指示存储器基于目标重映射信息,修改当前配置信息中与当前故障接口对应的接口类型相匹配的字段信息。若当前故障接口为行指令传输接口,则更新配置信息中的目标重映射信息用于对第一字段的字段信息进行更新,若当前故障接口为列指令传输接口,则更新配置信息中的目标重映射信息用于对第二字段的字段信息进行更新。
109.举例说明,目标寄存器的配置信息如表1所示。配置信息中的36-39位为第一字段,用于行指令传输接口的重映射。配置信息中的32-35位为第二字段,用于列指令传输接口的重映射。
110.若第一字段的字段信息为h0,则当前故障接口为行指令接口row0;若第一字段的字段信息为h1,则当前故障接口为行指令接口row1;若第一字段的字段信息为h2,则当前故
障接口为行指令接口row2;若第一字段的字段信息为h3,则当前故障接口为行指令接口row3;若第一字段的字段信息为h4,则当前故障接口为行指令接口row4;若第一字段的字段信息为h5,则当前故障接口为行指令接口row5;若第一字段的字段信息为h6,则当前故障接口为行指令接口row6;若第一字段的字段信息为hf,则当前没有故障接口。h7至he暂时无具体的作用,若行指令接口增多,则h7至he可以被利用上。
111.相应的,若第二字段的字段信息为h0至h8,则当前故障接口为列指令接口col0至col8;若第二字段的字段信息为hf,则当前没有故障接口。h9至he暂时无具体的作用,若列指令接口增多,则h7至he可以被利用上。其中,h表示十六进制。
112.表1
[0113][0114][0115]
举例说明,若rx2(即row2)发生损坏,则更新配置信息对应的配置表格如表2所示。
[0116]
表2
[0117]
位域描述71:40reserved(保留)32’hffffffff39:36aword_row[3:0]4’h235:32aword_col[3:0]4’hf31:0reserved(保留)32’hffffffff
[0118]
若cx8(即col8)发生损坏,则更新配置信息对应的配置表格如表3所示。
[0119]
表3
[0120]
位域描述
71:40reserved32’hffffffff39:36aword_row[3:0]4’hf35:32aword_col[3:0]4’h831:0reserved32’hffffffff
[0121]
可以理解,更新配置信息可以包括0-71位上所有的数据,那么存储器只需要基于更新配置信息整体替换当前配置信息即可。更新配置信息也可以只包括32-35位或36-39位上的数据,那么存储器需要基于更新配置信息对当前配置信息中的第二字段或第一字段的字段信息进行替换即可。
[0122]
上述实施例中,目标寄存器的配置信息包括用于确定针对行指令传输接口对应的映射关系的第一字段、用于确定针对列指令传输接口对应的映射关系的第二字段。更新配置信息包括目标重映射信息和当前故障接口对应的接口类型信息,接口类型信息用于指示存储器基于目标重映射信息,修改当前配置信息中与当前故障接口对应的接口类型相匹配的字段信息。这样,存储器基于目标寄存器的更新配置信息中的第一字段和第二字段可以快速确定哪个指令传输接口发生故障,快速对其进行针对性的故障修复,从而正确接收存储器访问指令。
[0123]
在一个实施例中,生成携带更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于更新配置信息更新目标寄存器对应的当前配置信息,包括:
[0124]
获取当前故障接口在存储器中所属指令通道对应的通道标识;生成携带通道标识和更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器确定与通道标识对应的指令通道相匹配的目标寄存器,并基于更新配置信息更新目标寄存器对应的当前配置信息。
[0125]
其中,存储器中可以包括至少一个指令通道,不同的指令通道用于传输对存储器中不同存储区域进行访问的存储器访问指令。通道标识是一种标识,用于唯一标识指令通道,具体可以包括字母、数字或符号中至少一种字符的字符串。各个指令通道包括各自的指令传输接口,各个指令通道存在各自对应的寄存器。
[0126]
具体地,由于存储器中存在至少一个指令通道,各个指令通道均包括指令传输接口,为了保障存储器对出现故障的指令传输接口实现正确修复,在确定当前故障接口后,需要进一步确定当前故障接口所属的指令通道。计算机设备可以获取当前故障接口在存储器中所属指令通道对应的通道标识,生成携带通道标识和更新配置信息的故障修复指令,并将故障修复指令发送至存储器。存储器中的各个指令通道存在各自对应的寄存器,各个寄存器用于指示存储器接收相应指令通道对应的存储器访问指令的接收方式。存储器在接收到故障修复指令后,从各个指令通道对应的寄存器中,将与故障修复指令携带的通道标识对应的指令通道相匹配的寄存器作为目标寄存器,并基于更新配置信息更新目标寄存器对应的当前配置信息,使得存储器在后续接收该通道标识对应的存储器访问指令时,可以基于目标寄存器最新的配置信息,获知要通过相应指令通道中已知的正常接口和冗余接口传输相应指令信号位上的信号数据,从而才能正确接收该通道标识对应的存储器访问指令。
[0127]
上述实施例中,获取当前故障接口在存储器中所属指令通道对应的通道标识;生成携带通道标识和更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器确定与通道标识对应的指令通道相匹配的目标寄存器,并基于更新配置信息更新目标
寄存器对应的当前配置信息。这样,存储器基于通道标识和更新配置信息,可以实现对出现故障的指令通道中出现故障的指令传输接口进行正确的故障修复,从而后续能够正确接收存储器访问指令。
[0128]
在一个实施例中,生成携带通道标识和更新配置信息的故障修复指令,将故障修复指令发送至存储器,包括:
[0129]
基于通道标识生成存储器中共享寄存器对应的目标配置信息,生成携带目标配置信息的通道修复指令;目标配置信息用于更新共享寄存器对应的当前配置信息,共享寄存器的配置信息用于指示存储器对出现故障的指令通道进行故障修复;生成携带更新配置信息的接口修复指令;基于通道修复指令和接口修复指令得到故障修复指令;通过存储器提供的测试接口,将故障修复指令发送至存储器。
[0130]
其中,共享寄存器是指各个指令通道之间共享的寄存器。在存储器中,各种寄存器具备各自的用途,共享寄存器用于指示存储器对出现故障的指令通道进行故障修复,指令通道专属的寄存器用于指示存储器指令通道中出现故障的指令传输接口进行故障修复,基于出现故障的指令传输接口对应的重映射关系进行具体的故障修复。
[0131]
测试接口是存储器提供的接口,用于完成对存储器的测试、边界扫描和修复。
[0132]
具体地,为了保障存储器对出现故障的指令传输接口实现正确修复,在确定当前故障接口和当前故障接口所属的指令通道后,计算机设备可以基于当前故障接口所属指令通道对应的通道标识生成存储器中共享寄存器对应的目标配置信息,生成携带目标配置信息的通道修复指令。通道修复指令用于基于目标配置信息更新共享寄存器的当前配置信息,以指示存储器当前需要对该通道标识对应的指令通道进行故障修复。计算机设备可以生成携带更新配置信息的接口修复指令,接口修复指令用于基于更新配置信息更新当前故障接口所属的指令通道对应的目标寄存器的当前配置信息,以指示存储器如何对该指令通道中当前出现故障的指令传输接口进行故障修复。计算机设备可以基于通道修复指令和接口修复指令得到故障修复指令,将通道修复指令和接口修复指令组成故障修复指令,最终通过存储器提供的测试接口,将故障修复指令发送至存储器。存储器接收到故障修复指令后,可以基于目标配置信息更新共享寄存器的当前配置信息,以确定当前需要进行故障修复的指令通道,启动对该指令通道的故障修复,基于更新配置信息更新当前故障接口所属的指令通道对应的目标寄存器的当前配置信息,以确定当前需要进行故障修复的指令传输接口,启动对该指令传输接口的故障修复。
[0133]
在一个实施例中,存储器提供的测试接口是基于ieee 1500(也可以称为ieee std 1500)测试标准的ieee1500接口,共享寄存器为基于ieee 1500测试标准的测试壳指令寄存器(wir,wrapper instructions register),指令通道专属的寄存器为基于ieee std 1500测试标准的测试壳数据寄存器(wdr,wrapper instructions register)。通道修复指令可以称为wir指令,用于修改wir寄存器的配置信息,wir指令的部分配置内容如表4所示。wir[11:8]表示指令中的第8至11位,第8至11位上的数据用于表示通道标识。wir[7:0]表示指令中的第0至7位,第0至7位上的数据用于表示wir指令的作用。当wir[7:0]为12h,表示wir指令用于进行软修复。软修复是一种软件修复方式。
[0134]
接口修复指令可以称为wdr指令,用于修改wdr寄存器的配置信息,wdr指令的配置内容如表1所示。
[0135]
表4
[0136][0137]
上述实施例中,故障修复指令包括携带共享寄存器对应的目标配置信息的通道修复指令和携带目标寄存器对应的更新配置信息的接口修复指令,存储器基于通道修复指令可以修改共享寄存器的配置信息,以启动对相应指令通道的故障修复,确定需要基于更新配置信息修改配置的目标寄存器,存储器基于接口修复指令可以修改相应目标寄存器的配置信息,以启动对相应指令传输接口的故障修复。通过存储器提供的测试接口可以快速将故障修复指令发送至存储器,快速启动故障修复。
[0138]
在一个实施例中,目标重映射信息在存储器掉电后自动清除,存储器故障修复方法还包括:
[0139]
在存储器重启后,重新确定存储器中的当前故障接口,进入获取存储器中的当前
故障接口所对应的目标重映射信息的步骤执行。
[0140]
具体地,存储器访问指令的传输容易受pvt(precess valid temperature,工艺电压温度)的环境变化,以及信号间串扰的影响导致存储器在运行过程中指令传输接口出现故障或损坏。指令传输接口的故障通常是软故障,若存储器掉电重启,导致指令传输接口出现故障的环境显然就已经改变了,例如,存储器重启后,温度就发生了变化,那么指令传输接口很有可能不存在故障了。因此,在存储器掉电后可以自动清除目标重映射信息。在存储器重启后,发生故障的指令传输接口可能不存在或改变了,为了保障故障修复的准确性,计算机设备需要重新执行一次存储器故障修复方法。在存储器重启后,计算机设备需要重新确定存储器中的当前故障接口,进而获取存储器中的当前故障接口所对应的目标重映射信息,生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过当前的正常接口和冗余接口接收存储器访问指令。
[0141]
上述实施例中,目标重映射信息会在存储器掉电后丢失,在存储器重启后,重新确定存储器中的当前故障接口来进行故障修复,以保障故障修复的准确性。
[0142]
在一个实施例中,存储器故障修复方法还包括:
[0143]
获取存储器中冗余接口的冗余接口数量和当前故障接口的故障接口数量;当故障接口数量小于或等于冗余接口数量时,进入获取存储器中的当前故障接口所对应的目标重映射信息的步骤执行;当故障接口数量大于冗余接口数量时,生成故障提示信息。
[0144]
具体地,为了维护存储器的制作成本和保障指令传输接口的利用率,存储器中的冗余接口数量可以是有限的。因此,在存储器中冗余接口的冗余接口数量大于或等于当前故障接口的故障接口数量的情况下,计算机设备可以获取存储器中的各个当前故障接口分别对应的目标重映射信息,生成携带各个目标重映射信息的故障修复指令,将故障修复指令发送至存储器以快速对故障进行修复。在存储器中冗余接口的冗余接口数量小于当前故障接口的故障接口数量的情况下,计算机设备可以生成故障提示信息,以提示存储器当前出现较严重的故障,采取其他方式进行故障修复。计算机设备可以将故障提示信息在本地展示,也可以将故障提示信息发送至预设终端,例如,运维人员所持终端,以快速通知相关人员。
[0145]
上述实施例中,若故障接口数量小于或等于冗余接口数量,自动基于当前故障接口所对应的目标重映射信息进行故障修复,实现快速修复,若故障接口数量大于冗余接口数量,生成故障提示信息以提示采取其他方式进行故障修复,实现正确修复。
[0146]
在一个实施例中,如图8所示,提供了一种存储器故障修复方法,该方法可应用于存储器为例进行说明,包括以下步骤:
[0147]
步骤s802,获取故障修复指令;故障修复指令携带存储器中的当前故障接口所对应的目标重映射信息,目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。
[0148]
步骤s804,基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
[0149]
具体地,存储器可以接收外部发送过来的故障修复指令,基于故障修复指令中的目标重映射信息进行故障修复,跳过当前故障接口,通过正常接口和冗余接口正确接收存
储器访问指令。
[0150]
可以理解,目标重映射信息的生成、故障修复指令的生成等具体过程可以参考前述各个实施例的内容,此处不再赘述。
[0151]
上述存储器故障修复方法,若存储器中的指令传输接口出现故障,通过在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
[0152]
在一个具体的实施例中,本技术的存储器故障修复方法可以应用于对hbm(high bandwidth memory,高带宽内存)dram的aword(address word,指令字)的传输通道进行故障修复。
[0153]
在使用hbm的芯片中,通常使用金属互联来连接各个模块。随着现代工艺的发展,互联导线之间的线宽越来越窄,导线之间的耦合效应和干扰噪声的影响不断增加。同时,由于hbm支持很高带宽的数据读写和存储,hbm芯片的散热问题存在较高的挑战性。由于hbm的aword最高可以工作在1.8ghz的时钟频率下,aword的传输容易受pvt的环境变化,以及信号间串扰的影响导致hbm在运行过程中aword的传输通道出现故障或损坏,例如,参考图9,当hbm芯片的温度存在漂移时,hbm phy(high bandwidth memory physical,hbm物理层)内部的延迟同时会发生变化,而这种改变会改变延迟的值,从而会影响原本时钟与数据之间的对齐关系。当aword的通道出现运行过程中的故障时,若不进行修复,可能导致host(主机)对hbm dram的操作将出现错误,严重时会导致hbm dram存储数据的丢失。本技术的存储器故障修复方法可以对aword通道进行软修复,保证hbm aword在某些通道出现运行故障时,可以很快进行修复处理,保证hbm指令字发送的正确性。
[0154]
hbm aword负责完成对hbm dram发送指令的功能,只有hbm aword的准确发送才可以确保hbm每个操作的正确性。hbm aword的指令分为两大类:行指令和列指令。hbm2协议支持的列指令为8位,即c[7:0],行指令为6位,即r[5:0]。hbm2e协议支持的列指令为9位,即c[8:0],行指令为7位,即r[6:0]。本技术的存储器故障修复方法支持hbm2和hbm2e协议的兼容版本,既支持hbm2的协议,也支持hbm2e的协议。
[0155]
hbm的内部共包含8组通道。hbm dram提供了用于对aword进行重映射的冗余接口。如表5所示,为单通道的hbm dram的aword及其冗余接口。
[0156]
表5
[0157][0158]
如表5可以看出,hbm的aword字中,行指令字(即行指令信号位)和列指令字(即列指令信号位)可以分别独立的进行重映射,行指令字可以映射至rr管脚,列指令字可以映射至rc管脚。
[0159]
如图10所示,图10为对hbm dram的aword通道进行软修复的流程示意图。首先,计算机设备确定当前故障接口,通过主机读取hbm dram中当前故障接口对应的wdr寄存器的当前配置信息,记录wdr寄存器的当前配置信息。然后,计算机设备通过主机配置wdr寄存器的更新配置信息,在配置更新配置信息时具体是配置当前故障接口对应的寄存器编码(即重映射编码),例如,可以从图6a和图6b所示的表格中查询当前故障接口对应的寄存器编码。计算机设备通过主机根据更新配置信息生成wdr寄存器的软修复重映射表,软修复重映射表的信息可以参考表1。计算机设备通过主机发送ieee1500指令至hbm dram,通过ieee1500指令将软修复重映射表发送至hbm dram,以更新当前故障接口对应的wdr寄存器的配置信息。计算机设备判断ieee1500指令是否发送结束,若发送结束,则针对当前故障接口的软修复结束。
[0160]
主机和hbm预先约定了各个寄存器编码对应的重映射关系。hbm dram在接收存储器访问指令时,会基于wdr寄存器的最新配置信息确定相应的重映射关系,基于重映射关系跳过当前故障接口,通过正常接口和冗余接口传输存储器访问指令中相应指令信号位上的信号数据,依次读取正常接口和冗余接口传输过来的信号数据,即可得到完整的存储器访问指令。其中,重映射关系是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的。例如,参考图6a,故障存在于rx0这个接口上,使用rrx冗余接口进行修复,修复后rx6、rx1、rx2、rx3、rx4、rx5、rrx接口分别会传输发送至x指令通道的存储访问指令中r6、r0、r1、r2、r3、r4、r5位上的数据。
[0161]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0162]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的存储器故障修复方法的存储器故障修复装置。该装置所提供的解决问题的实现方案与上述方法中
所记载的实现方案相似,故下面所提供的一个或多个存储器故障修复装置实施例中的具体限定可以参见上文中对于存储器故障修复方法的限定,在此不再赘述。
[0163]
在一个实施例中,如图11所示,提供了一种存储器故障修复装置1100,包括:重映射信息获取模块1102和故障修复指令发送模块1104,其中:
[0164]
重映射信息获取模块1102,用于获取存储器中的当前故障接口所对应的目标重映射信息;目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。
[0165]
故障修复指令发送模块1104,用于生成携带目标重映射信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
[0166]
上述存储器故障修复装置,若存储器中的指令传输接口出现故障,通过在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
[0167]
在一个实施例中,存储器故障修复装置还包括:
[0168]
重映射信息生成模块,用于获取接口位置排序信息;从各个指令传输接口中确定候选故障接口;基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息;重映射信息用于指示保持候选故障接口的前向接口和初始指令信号位之间的初始映射关系不变,将候选故障接口和候选故障接口的后向接口对应的初始指令信号位,与各自对应的相邻后向无故障接口建立映射关系;将下一指令传输接口作为候选故障接口,返回基于接口位置排序信息和候选故障接口对应的接口位置,生成候选故障接口对应的重映射信息的步骤执行,直至得到各个指令传输接口分别对应的重映射信息。
[0169]
在一个实施例中,重映射信息生成模块还用于基于接口位置排序信息和候选故障接口对应的接口位置,确定候选故障接口对应的重映射关系;重映射关系包括在候选故障接口故障的情况下,其他指令传输接口和指令信号位之间重新确定的映射关系;生成重映射关系对应的重映射编码,基于重映射编码得到候选故障接口对应的重映射信息。
[0170]
在一个实施例中,重映射编码为预设编码长度的编码数据,不同的指令传输接口对应不同的重映射编码;在预设编码长度对应的各个候选编码数据中,除了各个指令传输接口对应的重映射编码,其他编码数据用于表征保持指令传输接口和初始指令信号位之间的初始映射关系不变。
[0171]
在一个实施例中,重映射信息生成模块还用于将各个指令传输接口分别对应的重映射关系和重映射编码发送至存储器,以使存储器将重映射关系和重映射编码进行存储。故障修复指令发送模块还用于生成携带当前故障接口对应的目标重映射编码的故障修复指令,将故障修复指令发送至存储器,以使存储器获取目标重映射编码对应的目标重映射关系,基于目标重映射关系,通过正常接口和冗余接口接收存储器访问指令。
[0172]
在一个实施例中,故障修复指令发送模块还用于基于目标重映射信息生成存储器中目标寄存器对应的更新配置信息;目标寄存器用于指示存储器接收存储器访问指令的接收方式;生成携带更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器基于更新配置信息更新目标寄存器对应的当前配置信息。
[0173]
在一个实施例中,存储器包括用于传输行指令信号位对应的信号数据的行指令传输接口、用于传输列指令信号位对应的信号数据的列指令传输接口。更新配置信息包括目标重映射信息和当前故障接口对应的接口类型信息;接口类型信息用于指示存储器基于目标重映射信息,修改当前配置信息中与当前故障接口对应的接口类型相匹配的字段信息;目标寄存器的配置信息包括用于确定针对行指令传输接口对应的映射关系的第一字段、用于确定针对列指令传输接口对应的映射关系的第二字段。
[0174]
在一个实施例中,故障修复指令发送模块还用于获取当前故障接口在存储器中所属指令通道对应的通道标识;生成携带通道标识和更新配置信息的故障修复指令,将故障修复指令发送至存储器,以使存储器确定与通道标识对应的指令通道相匹配的目标寄存器,并基于更新配置信息更新目标寄存器对应的当前配置信息。
[0175]
在一个实施例中,故障修复指令发送模块还用于基于通道标识生成存储器中共享寄存器对应的目标配置信息,生成携带目标配置信息的通道修复指令;目标配置信息用于更新共享寄存器对应的当前配置信息,共享寄存器的配置信息用于指示存储器对出现故障的指令通道进行故障修复;生成携带更新配置信息的接口修复指令;基于通道修复指令和接口修复指令得到故障修复指令;通过存储器提供的测试接口,将故障修复指令发送至存储器。
[0176]
在一个实施例中,目标重映射信息在存储器掉电后自动清除。存储器故障修复装置还用于:
[0177]
在存储器重启后,重新确定存储器中的当前故障接口,进入获取存储器中的当前故障接口所对应的目标重映射信息的步骤执行。
[0178]
在一个实施例中,如图12所示,提供了一种存储器故障修复装置,包括:故障修复指令获取模块1202和存储器访问指令接收模块1204,其中:
[0179]
故障修复指令获取模块1202,用于获取故障修复指令;故障修复指令携带存储器中的当前故障接口所对应的目标重映射信息;目标重映射信息是基于当前故障接口和其他指令传输接口的位置关系,在正常接口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系得到的,指令传输接口用于传输存储器访问指令中相应指令信号位对应的信号数据。
[0180]
存储器访问指令接收模块1204,用于基于目标重映射信息,通过正常接口和冗余接口接收存储器访问指令。
[0181]
上述存储器故障修复装置,若存储器中的指令传输接口出现故障,通过在正常接
口和冗余接口中,重新分配存储器访问指令对应的各个指令信号位和指令传输接口之间的映射关系,可以使得存储器在接收存储器访问指令时跳过当前故障接口,通过正常接口和冗余接口接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器正确接收存储器访问指令。并且,在重新分配映射关系时,是基于当前故障接口和其他指令传输接口的位置关系重新分配正常接口、冗余接口分别和指令信号位的映射关系,可以使得存储器在接收存储器访问指令时智能地跳过当前故障接口,通过正常接口和冗余接口有序地接收存储器访问指令中各个指令信号位对应的信号数据,使得存储器可以快速、准确地接收存储器访问指令。将携带当前故障接口对应的、通过重新分配指令信号位和指令传输接口之间的映射关系确定的目标重映射信息的故障修复指令发送至存储器,存储器可以快速进行故障修复,从而快速、准确地接收存储器访问指令。
[0182]
上述存储器故障修复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0183]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储重映射信息、重映射编码等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储器故障修复方法。
[0184]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种存储器故障修复方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0185]
本领域技术人员可以理解,图13、14中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布
置。
[0186]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0187]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0188]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0189]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0190]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0191]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0192]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献