一种内存数据读写方法、系统以及内存控制器技术方案

技术编号:39304275 阅读:6 留言:0更新日期:2023-11-12 15:53
一种内存数据读写方法、系统以及内存控制器,本申请中,内存控制器需要将数据写入到通道组时,内存控制器获取目标数据;调用ECC算法生成目标数据的校验码,校验码用于对目标数据进行校验以及纠错。内存控制器将目标数据以及校验码写入到通道组中,该目标数据分散存储在通道组的通道中。校验码分散存储在通道组的各个通道中。每个通道组中存在能够存储校验码的内存颗粒,该目标数据的校验码分散存储在各个通道中存储校验码的内存颗粒上,存储该目标数据的校验码的内存颗粒数量较多,校验码的数据量更大,保证该内存具备较强的纠错能力。另以通道组为粒度实现ECC,不需要变更内存中存储校验码的内存颗粒的数目,无需额外增加内存成本。本。本。

【技术实现步骤摘要】
一种内存数据读写方法、系统以及内存控制器
[0001]相关申请的交叉引用
[0002]本申请要求在2022年4月29日提交中国专利局、申请号为202210475855.4、申请名称为“一种内存系统和内存纠错方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0003]本申请涉及存储
,尤其涉及一种内存数据读写方法、系统以及内存控制器。

技术介绍

[0004]与双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR)DDR4 JEDEC标准相比,DDR5 JEDEC标准中在内存中引入了子通道(Sub

channel)的概念,DDR5标准下的内存中包括两个子通道,每个子通道包括多个内存颗粒。这两个子通道相互独立,每个子通道独立实现错误检测和纠错(error checking and correcting,ECC),也即内存控制器需要独立的对每个子通道内部存储的数据进行校验、以及纠错。
[0005]每个子通道独立的实现ECC,每个子通道中设置有用于存储校验码的内存颗粒,在实际应用中,每个子通道中这类用于存储校验码的内存颗粒的数量较少,限制了内存的纠错能力。

技术实现思路

[0006]本申请提供一种内存数据读写方法、系统以及内存控制器,用以提升内存纠错能力。
[0007]第一方面,本申请实施例提供了一种内存数据读写方法,方法可以由内存控制器或集成有内存控制器的处理器执行,该方法用于实现对内存的数据读写。在本申请中,内存包括一个或多个通道组,每个通道组包括多个通道。在该方法中,当内存控制器需要将数据写入到通道组时,内存控制器获取需要写入通道组的目标数据;调用ECC算法生成目标数据的校验码,校验码用于对目标数据进行校验以及纠错。内存控制器在生成该目标数据的校验码之后,可以将目标数据以及校验码写入到通道组中,其中,该目标数据分散存储在通道组的通道中。校验码分散存储在通道组的各个通道中。
[0008]通过上述方法,每个通道组中存在能够存储校验码的内存颗粒,该目标数据的校验码可以分散存储在各个通道中存储校验码的内存颗粒上,能够存储该目标数据的校验码的内存颗粒数量较多,说明在生成校验码时,可以生成数据量更大的校验码。数据量较大的校验码能够保证该内存具备较强的纠错能力。另外,采用该方法仅需以通道组为粒度实现ECC,并不需要变更内存中存储校验码的内存颗粒的数目,无需额外增加内存成本。
[0009]在一种可能的实施方式中,每个通道包括一个或多个RANK,每个RANK中包括多个
内存颗粒。也就是说,一个通道组里有可以包括多个RANK,使得保证该通道组具备较大的存储空间,以实现大粒度数据存储。
[0010]在一种可能的实施方式中,内存控制器在生成该目标数据的校验码之后,将目标数据以及校验码写入到通道组时,可以将目标数据拆分为多个目标数据段,其中,该多个目标数据段的数据长度可以相同,也可以不同。内存控制器将校验码拆分为多个校验码段,其中,该多个校验码段的数据长度可以相同,也可以不同。之后,内存控制器可以将多个目标数据段分别写入通道组中的各个通道,将多个校验码段分别写入通道组中的各个通道。
[0011]在一种可能的实施方式中,内存控制器还可以从通道组中读取数据,内存控制器在处理器的指示下,可以从通道组中读取目标数据以及校验码,并利用校验码对目标数据进行纠错。在纠错成功后,将纠错后的目标数据反馈至处理器。
[0012]通过上述方法,内存控制器以通道组粒度从内存中读取数据并实现数据纠错,以通道组粒度的数据读取能够提升数据读取效率。
[0013]在一种可能的实施方式中,内存控制器还可以对通道组中的数据进行更新,内存控制器在处理器的指示下,可以从通道组中读取目标数据以及校验码,在对目标数据更新后,生成更新后的目标数据的校验码。内存控制器将更新后的目标数据以及更新后的目标数据的校验码写入到通道组中。其中,该更新后的目标数据分散存储在通道组的通道中。更新后的目标数据的校验码分散存储在通道组的各个通道中。
[0014]通过上述方法,内存控制器对内存中数据的更新也是以通道组为粒度,更新后的目标数据的校验码可以分散存储在通道组的各个通道中,也就是说,更新前后,校验码的数据量并为发生变化,依旧可以保证内存具备较强的纠错能力。
[0015]在一种可能的实施方式中,为了便于内存控制器与处理器之间的交互,内存控制器一次写入到内存的通道组中的数据等于内存控制器与处理器之间一次交互的数据量,也就是说,内存控制器一次写入到内存的通道组中的数据可以等于处理器中缓存的位宽。在一些场景中,内存控制器一次写入到内存的通道组中的数据也可以等于处理器之间一次交互的数据量的倍数。这样,能够保证内存控制器与内存之间实现大粒度的数据读写,提升内存控制器与内存之间的交互效率。
[0016]在一种可能的实施方式中,为了便于内存控制器与处理器之间的交互,内存控制器一次写入到通道组中一个通道的数据等于处理器中缓存的位宽。也就是说,内存控制器一次写入到通道组的数据可以等于处理器中缓存的位宽的倍数。这样,内存控制器一次能够向通道组中写入的数据较多,保证了内存控制器与内存之间的交互效率。
[0017]在一种可能的实施方式中,本申请实施例并不限定该通道组中通道的数量。例如,通道组中通道的数量等于2、3、4、6、8、12、或16。
[0018]通过上述方法,通道组中通道的数量存在多种设置方式,适用于不同场景。
[0019]在一种可能的实施方式中,内存控制器在生成目标数据的校验码时可以调用不同的ECC算法,也可以调用多种ECC算法。例如,内存控制器可以调用RS编码算法、循环冗余校验(cyclic redundancy check,CRC)算法、BCH(bose ray

chaudhuri hocquenghem)算法、哈希(HASH)算法、或独立磁盘冗余阵列(redundant array of independent disks,RAID)算法(如RAID 5算法、RAID 6算法)中的任一种算法生成目标数据的校验码。又例如,内存控制器可以调用RS编码算法、CRC算法、BCH算法、HASH算法、或RAID算法(中的任多种算法形成
两级或者多级ECC算法生成目标数据的校验码。
[0020]通过上述方法,内存控制器在生成目标数据的校验码时能够灵活的调用一种或多种ECC算法,使得该方法能够适用于多种不同的应用场景。
[0021]在一种可能的实施方式中,每个通道中设置有用于存储校验码的内存颗粒,在每个通道中存储校验码的内存颗粒一定的情况下,内存控制器一次向该通道组中写入的校验码的最大数据量与该类内存颗粒的位宽成倍数(该倍数的取值与内存颗粒的数量以及一个时钟周期内对内存颗粒读写次数有关)关系。内存控制器生成校验码的数据量可以等于该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存数据读写方法,其特征在于,所述方法用于对内存进行数据读写,所述内存包括一个或多个通道组,每个通道组包括多个通道,所述方法由内存控制器执行,所述方法包括:获取需要写入通道组的目标数据;生成所述目标数据的校验码,所述校验码用于对所述目标数据进行校验以及纠错;将所述目标数据以及所述校验码写入到所述通道组中,所述校验码分散存储在所述通道组的各个通道中,所述目标数据分散存储在所述通道组的通道中。2.如权利要求1所述的方法,其特征在于,所述方法还包括:在处理器的指示下,从所述通道组中读取所述目标数据以及所述校验码;利用所述校验码对所述目标数据进行纠错;将纠错后的所述目标数据反馈至所述处理器。3.如权利要求1或2所述的方法,其特征在于,一次写入到所述通道组中的数据等于处理器中缓存的位宽。4.如权利要求1或2所述的方法,其特征在于,一次写入到所述通道组中一个通道的数据等于处理器中缓存的位宽。5.如权利要求1~4任一项所述的方法,其特征在于,所述通道组中通道的数量等于2、3、4、6、8、12或16。6.如权利要求1~5任一项所述的方法,其特征在于,所述生成所述目标数据的第一校验码,包括:调用RS8编码算法或RS16编码算法生成所述目标数据的校验码。7.如权利要求1~6任一项所述的方法,其特征在于,每个通道包括一个或多个RANK,每个RANK中包括多个内存颗粒。8.如权利要求1~7任一项所述的方法,其特征在于,所述将所述目标数据以及所述校验码写入到所述通道组中,包括:将所述目标数据拆分为多个目标数据段,将所述校验码拆分为多个校验码段;将所述多个目标数据段分别写入所述通道组中的所述各个通道,将所述多个校验码段分别写入所述通道组中的所述各个通道。9.一种内存系统,其特征在于,所述系统包括内存控制器以及内存;所述内存包括一个或多个通道组,每个通道组...

【专利技术属性】
技术研发人员:陈智勇焦慧芳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1