背景技术:
1、随着事务速度的提高和更复杂配置(诸如与外部存储器设备通信的片上网络(noc)配置)的实现,涉及多个存储器信道的片上系统(soc)设计和设备正变得越来越复杂。更高的事务处理速度和涉及存储器事务的更复杂的配置可能会增加存储器信道故障率的发生。在具有多个存储器信道(例如,2个、4个、6个、8个等信道)的系统中,一个存储器信道的硬故障可能导致整个系统崩溃,从而导致功能受限甚至无功能。
技术实现思路
1、各个方面包括用于重新配置片上系统(soc)内的存储器信道路由的方法和设备。在各个方面,可通过各种错误检查方法来标识行为不当的存储器信道。可在soc重新启动时存储和读取错误信息,以在由soc实现的片上网络(noc)内重新编程控制/状态寄存器(csr)。重新编程csr可允许noc重新配置存储器信道路由,以将存储器业务从行为不当的存储器信道转移到正常运行的存储器信道。
2、一些方面可包括一种用于重新配置片上系统(soc)内的存储器信道路由的方法。此类方面可包括:响应于通信地连接到该soc的网络接口单元(niu)的第一存储器信道中的不当行为,获得第一错误信息;将该第一错误信息存储在非易失性存储器中,该第一错误信息在该soc启动时读取;重新启动包括该第一存储器信道的该soc;以及响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将第二存储器信道配置为通信地连接到该niu。
3、在一些方面,响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu可包括重新编程控制/状态寄存器(csr)以调整该niu的地址映射,以将该niu与该第一存储器信道断开并将该niu连接到该第二存储器信道。
4、在一些方面,响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu可包括重新编程控制/状态寄存器(csr)以将复用器配置为将该niu与该第一存储器信道断开并将该niu连接到该第二存储器信道。
5、一些方面还可包括在该第一存储器信道上执行内置自检;响应于该内置自检指示该第一存储器信道中没有不当行为而生成第二错误信息;以及将该第二错误信息写入该非易失性存储器中的在该soc启动时读取的该第一错误信息之上。
6、一些方面还可包括响应于该第一存储器信道中没有不当行为:从该非易失性存储器中删除在该soc启动时读取的该第一错误信息;以及重新启动包括该第一存储器信道和该第二存储器信道的该soc,其中在该第一错误信息从该非易失性存储器中删除的情况下进行重新启动导致将该第一存储器信道重新配置为通信地连接到该niu并将该第二存储器信道配置为与该niu通信地断开。
7、一些方面还可包括基于错误校正码、对应于地址映射和控制寄存器的奇偶校验位、或者每事务超时(timeout-per-transaction)函数中的至少一者来检测该第一存储器信道中的不当行为。
8、一些方面还可包括基于去往或来自该第一存储器信道的动态随机存取存储器(dram)的错误校正码、用于llcc高速缓存的错误校正码、或用于llcc标签的错误校正码中的至少一者来检测该第一存储器信道中的不当行为。
9、在一些方面,响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将第二存储器信道配置为通信地连接到该niu可包括:响应于所存储的第一错误信息指示该第一存储器信道的第一物理接口(phy)中的不当行为,将该第一存储器信道配置为与该niu通信地断开并将第二存储器信道配置为通信地连接到该niu,以及将该第二存储器信道的第二phy配置为通信地连接到该第一存储器信道的动态随机存取存储器(dram)。
10、在一些方面,响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu可包括响应于所存储的第一错误信息指示该第一存储器信道的第一存储器控制器中的不当行为:将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu;以及将该第二存储器信道的第二存储器控制器配置为通信地连接到该第一存储器信道的物理接口(phy)。
11、进一步方面包括一种soc,该soc包括:网络接口单元(niu);第一存储器信道,该第一存储器信道能够通信地连接到该niu;第二存储器信道,该第二存储器信道能够通信地连接到该niu;和非易失性存储器,该非易失性存储器被配置为存储在该soc启动时读取的第一错误信息;其中该soc被配置为:当该第一存储器信道通信地连接到该niu时,响应于该第一存储器信道中的不当行为而获得该第一错误信息;将该第一错误信息存储在该非易失性存储器中;重新启动包括该第一存储器信道的该soc;以及响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu。
12、在一些方面,该soc还可被配置为响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu,这通过以下操作来进行:重新编程控制/状态寄存器(csr)以调整该niu的地址映射,以将该niu与该第一存储器信道断开并将该niu连接到该第二存储器信道。
13、在一些方面,该soc还可被配置为响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu,这通过以下操作来进行:重新编程控制/状态寄存器(csr)以将复用器配置为将该niu与该第一存储器信道断开并将该niu连接到该第二存储器信道。
14、在一些方面,该soc还可被配置为:在该第一存储器信道上执行内置自检;响应于该内置自检指示该第一存储器信道中没有不当行为而生成第二错误信息;以及将该第二错误信息写入该非易失性存储器中的在该soc启动时读取的该第一错误信息之上。
15、在一些方面,该soc还可被配置为响应于该第一存储器信道中没有不当行为:从该非易失性存储器中删除在该soc启动时读取的该第一错误信息;以及重新启动包括该第一存储器信道和该第二存储器信道的该soc,其中在该第一错误信息从该非易失性存储器中删除的情况下进行重新启动导致将该第一存储器信道重新配置为通信地连接到该niu并将该第二存储器信道配置为与该niu通信地断开。
16、在一些方面,该soc还可被配置为基于错误校正码、对应于地址映射和控制寄存器的奇偶校验位、或者每事务超时函数中的至少一者来检测该第一存储器信道中的不当行为。
17、在一些方面,该soc还可被配置为基于去往或来自第一存储器信道的动态随机存取存储器(dram)的错误校正码、用于llcc高速缓存的错误校正码、或用于llcc标签的错误校正码中的至少一者来检测该第一存储器信道中的不当行为。
18、在一些方面,该soc还可被配置为响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu,这响应于所存储的第一错误信息指示该第一存储器信道的第一物理接口(phy)中的不当行为,通过以下操作来进行:将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu;以及将该第二存储器信道的第二phy配置为通信地连接到该第一存储器信道的动态随机存取存储器(dram)。
19、在一些方面,该soc还可被配置为响应于在重新启动期间读取所存储的第一错误信息,将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu,这响应于所存储的第一错误信息指示该第一存储器信道的第一存储器控制器中的不当行为通过以下操作来进行:将该第一存储器信道配置为与该niu通信地断开并将该第二存储器信道配置为通信地连接到该niu;以及将该第二存储器信道的第二存储器控制器配置为通信地连接到该第一存储器信道的物理接口(phy)。
20、在一些方面,该第一存储器信道和该第二存储器信道是双倍数据速率(ddr)信道。
21、进一步方面包括一种soc,该soc具有用于执行与以上概述的任何方法相对应的各功能的各种构件。进一步方面可包括一种其上存储有处理器可执行指令的非暂态处理器可读存储介质,该处理器可执行指令被配置为使soc的处理器执行与以上概述的任何方法相对应的各种操作。
1.一种用于重新配置片上系统(soc)内的存储器信道路由的方法,所述方法包括:
2.根据权利要求1所述的方法,其中响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu包括:
3.根据权利要求1所述的方法,其中响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu包括:
4.根据权利要求1所述的方法,所述方法还包括:
5.根据权利要求1所述的方法,所述方法还包括:
6.根据权利要求1所述的方法,所述方法还包括基于错误校正码、对应于地址映射和控制寄存器的奇偶校验位、或者每事务超时函数中的至少一者来检测所述第一存储器信道中的不当行为。
7.根据权利要求1所述的方法,所述方法还包括基于去往或来自所述第一存储器信道的动态随机存取存储器(dram)的错误校正码、用于llcc高速缓存的错误校正码、或用于llcc标签的错误校正码中的至少一者来检测所述第一存储器信道中的不当行为。
8.根据权利要求1所述的方法,其中响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu包括:
9.根据权利要求1所述的方法,其中响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu包括:
10.一种片上系统(soc),所述片上系统(soc)包括:
11.根据权利要求10所述的soc,其中所述soc还被配置为响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu,这通过以下操作进行:
12.根据权利要求10所述的soc,其中所述soc还被配置为响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu,这通过以下操作进行:
13.根据权利要求10所述的soc,其中所述soc还被配置为:
14.根据权利要求10所述的soc,其中所述soc还被配置为:
15.根据权利要求10所述的soc,其中所述soc还被配置为基于错误校正码、对应于地址映射和控制寄存器的奇偶校验位、或者每事务超时函数中的至少一者来检测所述第一存储器信道中的不当行为。
16.根据权利要求10所述的soc,其中所述soc还被配置为基于去往或来自所述第一存储器信道的动态随机存取存储器(dram)的错误校正码、用于llcc高速缓存的错误校正码、或用于llcc标签的错误校正码中的至少一者来检测所述第一存储器信道中的不当行为。
17.根据权利要求10所述的soc,其中所述soc还被配置为响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu,这响应于所存储的第一错误信息指示所述第一存储器信道的第一物理接口(phy)中的不当行为,通过以下操作来进行:
18.根据权利要求10所述的soc,其中所述soc还被配置为响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu,这响应于所存储的第一错误信息指示所述第一存储器信道的第一存储器控制器中的不当行为,通过以下操作来进行:
19.根据权利要求10所述的soc,其中所述第一存储器信道和所述第二存储器信道是双倍数据速率(ddr)信道。
20.一种片上系统(soc),所述片上系统(soc)包括:
21.根据权利要求20所述的soc,其中用于响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu的构件包括:
22.根据权利要求20所述的soc,其中用于响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu的构件包括:
23.根据权利要求20所述的soc,所述soc还包括:
24.根据权利要求20所述的soc,所述soc还包括:
25.根据权利要求20所述的soc,所述soc还包括用于基于错误校正码、对应于地址映射和控制寄存器的奇偶校验位、或者每事务超时函数中的至少一者来检测所述第一存储器信道中的不当行为的构件。
26.根据权利要求20所述的soc,所述soc还包括用于基于去往或来自所述第一存储器信道的动态随机存取存储器(dram)的错误校正码、用于llcc高速缓存的错误校正码、或用于llcc标签的错误校正码中的至少一者来检测所述第一存储器信道中的不当行为的构件。
27.根据权利要求20所述的soc,其中用于响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu的构件包括:
28.根据权利要求20所述的soc,其中用于响应于在重新启动期间读取所存储的第一错误信息,将所述第一存储器信道配置为与所述niu通信地断开并将所述第二存储器信道配置为通信地连接到所述niu的构件包括:
29.一种非暂态处理器可读介质,所述非暂态处理器可读介质上存储有处理器可执行指令,所述处理器可执行指令被配置为使处理器重新配置片上系统(soc)内的存储器信道路由以执行操作,所述操作包括:
