System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种存储级内存、数据处理方法和处理器系统。
技术介绍
1、存储级内存(storage class memory,scm)是一类新型存储介质,存储容量、存取速度和成本介于主存(如:动态随机存取存储器(dynamic random access memory,dram))和硬盘(如:与非门闪存(nand flash))之间。例如,相比于dram,scm具有持久化能力,掉电后数据不会丢失,存储容量更大。相比于nand flash,scm具有更快的存取速度。
2、目前,scm基于内置的控制器实现内存纠错。由于控制器中的存储介质可能缓存数据,由此导致scm的访问时延不确定,无法兼容双倍数据速率(double data rate,ddr)协议,scm通用性较低。因此,如何在scm兼容ddr协议的情况下,提高scm的可靠性以及尽可能降低scm的访问时延是目前亟需解决的问题。
技术实现思路
1、本申请提供了存储级内存、数据处理方法和处理器系统,由此可以在scm兼容ddr协议的情况下,提高scm的可靠性以及尽可能降低scm的访问时延。
2、第一方面,提供了一种存储级内存,存储级内存包括的多个内存颗粒被划分为至少一个组;至少一个组中每组包括第一类内存颗粒和第二类内存颗粒;第二类内存颗粒用于存储运行误差校正码,第一类内存颗粒用于存储数据和重误差校正码。运行误差校正码用于对同一组的第一类内存颗粒存储的数据进行一级内存纠错。重误差校正码用于当一级内存纠错
3、如此,通过两级内存纠错机制确保存储级内存存储数据的高可靠性时使访问时延尽可能低。相对于scm内置的控制器采用复杂度较高的纠错算法进行内存纠错,导致访问时延较长,本申请实施例通过两级内存纠错机制,在存储级内存的出错率较低时,采用一级内存纠错可以确保存储级内存存储数据的高可靠性时有效地缩短访问时延;在存储级内存的出错率较高时,采用二级内存纠错也可以确保存储级内存存储数据的高可靠性,结合一级内存纠错整体性缩短访问时延。另外,通过对存储级内存的内存颗粒进行排布,使存储级内存的位宽满足双倍数据速率(double data rate,ddr)协议指示的内存位宽,从而实现存储级内存兼容ddr协议,使得存储级内存可以连接更多种类的处理器(processor),提高存储级内存的通用性。
4、其中,每组中第一类内存颗粒的数量和第二类内存颗粒的数量是依据第一类内存颗粒的位宽、第二类内存颗粒的位宽和ddr协议指示的内存位宽确定的。
5、示例地,ddr协议指示的内存位宽为80比特(bit),第一类内存颗粒的位宽和第二类内存颗粒的位宽均为8比特,存储级内存包含的10个内存颗粒被划分为2组,每组包括4个第一类内存颗粒和1个第二类内存颗粒;每组包含的4个第一类内存颗粒和1个第二类内存颗粒的位宽之和为40比特,每位的单位访问数据量为16字节(byte)或32字节。
6、在一种可能的实现方式中,第一类内存颗粒包括m个第一类单元和n个第二类单元。第一类单元用于存储数据。第二类单元用于存储重误差校正码。从而,可以由内存控制器或固件(firmware,fw)根据使用场景进行在线切换或升级第一类单元的数量和第二类单元的数量,从而提升适配不同系统可靠性需求的灵活性。
7、在另一种可能的实现方式中,第一类单元的单位访问数据量和第二类单元的单位访问数据量均为第一类内存颗粒的位宽中一位的单位访问数据量。从而使存储级内存的单位访问数据量满足与其连接的处理器的缓存线(cacheline)长度,从而提升存储级内存的通用性。
8、在另一种可能的实现方式中,第一类内存颗粒还包括第三类单元。第三类单元用于实现对第一类内存颗粒的单元进行坏块管理的功能。从而,节省了存储级内存的空间,使存储级内存更易兼容满足ddr协议的内存(如:dram),提升存储级内存的通用性。
9、第二方面,提供了一种数据处理方法,方法由控制器执行,控制器连接上述第一方面或第一方面任一种可能的存储级内存和处理器;方法包括:控制器获取存储级内存中同一组的第一类内存颗粒存储的数据进行一级内存纠错;当一级内存纠错失败时,控制器获取每个第一类内存颗粒对第一类内存颗粒存储的数据进行二级内存纠错。
10、示例地,控制器对存储级内存中同一组的第一类内存颗粒存储的数据进行一级内存纠错,包括:控制器采用汉明码或分组码对存储级内存中同一组的第一类内存颗粒存储的数据进行一级内存纠错。控制器对存储级内存中同一组的第一类内存颗粒存储的数据的128字节至512字节中单个比特进行一级内存纠错。
11、示例地,控制器对第一类内存颗粒存储的数据进行二级内存纠错,包括:控制器采用分组码或低密度奇偶校验码对第一类内存颗粒存储的数据进行二级内存纠错。控制器对第一类内存颗粒存储的数据的2048字节至4096字节中百个比特进行二级内存纠错。
12、在一种可能的实现方式中,方法还包括:控制器将处理器的指令转换为存储级内存的指令,以及将存储级内存的指令转换为处理器的指令。从而,以便于处理器对存储级内存进行读写操作。
13、第三方面,提供了一种处理器系统,所述处理器系统包括控制器和上述第一方面或第一方面任一种可能的存储级内存和处理器,控制器分别连接处理器和至少一个存储级内存,控制器用于执行上述第二方面或第二方面任一种可能的所述的方法的操作步骤。
14、本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
本文档来自技高网...【技术保护点】
1.一种存储级内存,其特征在于,所述存储级内存包括多个内存颗粒,所述多个内存颗粒被划分为至少一个组;所述至少一个组中的第一组包括第一类内存颗粒和第二类内存颗粒;
2.根据权利要求1所述的存储级内存,其特征在于,所述第一类内存颗粒包括M个第一类单元和N个第二类单元,所述第一类单元用于存储数据,所述第二类单元用于存储所述重误差校正码。
3.根据权利要求2所述的存储级内存,其特征在于,所述第一类单元的单位访问数据量和所述第二类单元的单位访问数据量均为所述第一类内存颗粒的位宽中一位的单位访问数据量。
4.根据权利要求1-3中任一项所述的存储级内存,其特征在于,所述第一类内存颗粒还包括第三类单元,所述第三类单元用于实现对所述第一类内存颗粒的单元进行坏块管理的功能。
5.根据权利要求1-4中任一项所述的存储级内存,其特征在于,所述存储级内存的位宽满足双倍数据速率DDR协议指示的内存位宽。
6.根据权利要求5所述的存储级内存,其特征在于,所述每组中第一类内存颗粒的数量和第二类内存颗粒的数量是依据所述第一类内存颗粒的位宽、所述第二类内存
7.根据权利要求6所述的存储级内存,其特征在于,所述DDR协议指示的内存位宽为80比特,所述第一类内存颗粒的位宽和所述第二类内存颗粒的位宽均为8比特,所述存储级内存包含的10个内存颗粒被划分为2组,每组包括4个第一类内存颗粒和1个第二类内存颗粒;所述每组包含的4个第一类内存颗粒和1个第二类内存颗粒的位宽之和为40比特,每位的单位访问数据量为16字节或32字节。
8.一种数据处理方法,其特征在于,所述方法由控制器执行,所述控制器连接至少一个存储级内存,所述存储级内存包括多个内存颗粒,所述多个内存颗粒被划分为至少一个组,所述至少一个组中的第一组包括第一类内存颗粒和第二类内存颗粒所述方法包括:
9.根据权利要求8所述的方法,其特征在于,所述控制器对所述第一类内存颗粒存储的数据进行一级内存纠错,包括:
10.根据权利要求8或9所述的方法,其特征在于,所述控制器对所述第一类内存颗粒存储的数据进行一级内存纠错,包括:
11.根据权利要求8-10中任一项所述的方法,其特征在于,所述方法还包括:
12.一种处理器系统,其特征在于,所述处理器系统包括控制器和至少一个如权利要求1-7中任一项所述的存储级内存和处理器,所述控制器分别连接所述处理器和至少一个所述存储级内存,所述控制器用于执行上述权利要求8-11中任一项所述的方法的操作步骤。
...【技术特征摘要】
1.一种存储级内存,其特征在于,所述存储级内存包括多个内存颗粒,所述多个内存颗粒被划分为至少一个组;所述至少一个组中的第一组包括第一类内存颗粒和第二类内存颗粒;
2.根据权利要求1所述的存储级内存,其特征在于,所述第一类内存颗粒包括m个第一类单元和n个第二类单元,所述第一类单元用于存储数据,所述第二类单元用于存储所述重误差校正码。
3.根据权利要求2所述的存储级内存,其特征在于,所述第一类单元的单位访问数据量和所述第二类单元的单位访问数据量均为所述第一类内存颗粒的位宽中一位的单位访问数据量。
4.根据权利要求1-3中任一项所述的存储级内存,其特征在于,所述第一类内存颗粒还包括第三类单元,所述第三类单元用于实现对所述第一类内存颗粒的单元进行坏块管理的功能。
5.根据权利要求1-4中任一项所述的存储级内存,其特征在于,所述存储级内存的位宽满足双倍数据速率ddr协议指示的内存位宽。
6.根据权利要求5所述的存储级内存,其特征在于,所述每组中第一类内存颗粒的数量和第二类内存颗粒的数量是依据所述第一类内存颗粒的位宽、所述第二类内存颗粒的位宽和所述ddr协议指示的内存位宽确定的。
7.根据权利要求6所述的存储级内存,其特征在于,所述ddr协议指示的内...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。