内存数据纠错方法、内存储器及存储装置与流程
- 国知局
- 2024-07-31 20:02:24
本申请涉及计算机,特别是涉及一种内存数据纠错方法、内存储器及存储装置。
背景技术:
1、ai(artificial intelligence)推理和训练芯片的算力日益提高,而算力的提升依赖于芯片内存dram(dynamic random access memory)的带宽和存储容量的提升。hbm((high bandwidth memory))作为新一代的芯片内存,可以实现低功耗、高带宽和高密度的存储需求,在ai推理和训练芯片中应用广泛。
2、hbm的大容量和高工作频率容易导致数据传输、存储过程中出现错误,内存的错误可能会带来严重的故障。为了能检测和纠正hbm内存在使用过程中出现错误,通常引入ecc(error checking and correction)技术来对hbm内存进行错误检测和纠正。然而,当前ecc的主体逻辑功能主要实现在hbm控制器内部,消耗内存带宽,增加控制器资源负荷。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够降低带宽消耗的内存数据纠错方法、内存储器及存储装置。
2、第一方面,本申请提供了一种内存数据纠错方法,应用于内存储器,所述内存储器包括模式寄存模块和片上ecc引擎,所述方法包括:
3、所述模式寄存模块基于预先配置的控制逻辑对所述片上ecc引擎进行控制;
4、基于所述模式寄存模块的控制,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作;其中,所述控制逻辑用于指示所述片上ecc引擎在所述内存储器全片刷新期间或自刷新期间执行所述错误矫正操作。
5、在其中一个实施例中,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,包括:
6、所述片上ecc引擎根据所述内存储器写入的内存数据,生成所述内存数据对应的第一纠错码;
7、所述片上ecc引擎从所述内存储器中读取内存数据,并生成读取的内存数据对应的第二纠错码;
8、所述片上ecc引擎结合所述第一纠错码、所述第二纠错码以及读取的内存数据对读取的内存数据进行检测。
9、在其中一个实施例中,所述内存储器包括数据存储区和ecc存储区;所述内存储器写入的内存数据包括第一写数据和第二写数据;所述方法还包括:
10、所述内存储器接收写入的第一写数据,并将所述第一写数据存储至所述数据存储区;
11、所述内存器接收写入的第二写数据,并将所述第二写数据存储至所述ecc存储区。
12、在其中一个实施例中,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
13、如果对读取的内存数据检测出1b或多b的可纠错错误,所述片上ecc引擎对读取的内存数据进行纠错,并将纠错后的正确数据写回至所述数据存储区或所述ecc存储区,且记录检测状态和纠错状态。
14、在其中一个实施例中,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
15、如果对读取的内存数据检测出不可纠错错误,则记录检测状态。
16、在其中一个实施例中,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
17、当所述内存储器接收到与所述内存储器连接的控制器的读数据指令时,所述片上ecc引擎将检测状态和纠错状态返回至所述控制器,以使所述控制器发起相应的异常处理机制。
18、在其中一个实施例中,所述片上ecc引擎还包括ecc纠错码存储区,所述片上ecc引擎在生成所述内存数据对应的第一纠错码后,将所述第一纠错码存储至所述ecc纠错码存储区。
19、第二方面,本申请还提供了一种内存储器。该内存储器包括:
20、片上ecc引擎,被配置为在内存储器的数据读写过程中执行错误矫正操作;
21、模式寄存模块,与所述片上ecc引擎连接,被配置为基于预先配置的控制逻辑对所述片上ecc引擎进行控制,其中,所述控制逻辑用于指示所述片上ecc引擎在所述内存储器全片刷新期间或自刷新期间执行所述错误矫正操作。
22、在其中一个实施例中,所述片上ecc引擎包括:
23、第一ecc代码生成模块,被配置为根据所述内存储器写入的内存数据,生成所述内存数据对应的第一纠错码;
24、第二ecc代码生成模块,被配置为从所述内存储器中读取内存数据,并生成读取的内存数据对应的第二纠错码;
25、错误检测和纠错模块,被配置为结合所述第一纠错码、所述第二纠错码以及读取的内存数据对读取的内存数据进行检测。
26、第三方面,本申请还提供了一种存储装置。该存储装置包括,本申请第二方面提供的内存储器;还包括:
27、控制器,所述控制器包括ecc配置逻辑模块,所述ecc配置逻辑模块用于对所述模式寄存模块的所述控制逻辑进行配置。
28、上述内存数据纠错方法、内存储器及存储装置,内存储器包括模式寄存模块和片上ecc引擎,所述模式寄存模块基于预先配置的控制逻辑对所述片上ecc引擎进行控制;基于所述模式寄存模块的控制,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作;其中,所述控制逻辑用于指示所述片上ecc引擎在所述内存储器全片刷新期间或自刷新期间执行所述错误矫正操作。本申请通过将ecc主体功能设置于内存储器内部,通过内存储器内的片上ecc引擎执行错误矫正操作,其错误矫正操作中的错误检测和纠错可以利用内存储器的全片刷新或自刷新时自动执行,不再占用读数据操作的时间,可以大幅度提高整体系统的读数据带宽;进一步地,采用片上纠错码的时间方式,ecc检测和纠错逻辑放在hbm dram内实现,大大减轻了控制器的负荷,使得控制器可以专心对读写内存的过程进行控制。同时,ecc过程采用ecs模式自动执行,在refab和srf的过程中来完成,这个时间本来也无法用于数据读写,本申请把ecc操作放在这个时间内执行,可以减轻ecc检测和纠错对读数据的带宽消耗。
技术特征:1.一种内存数据纠错方法,其特征在于,应用于内存储器,所述内存储器包括模式寄存模块和片上ecc引擎,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,包括:
3.根据权利要求2所述的方法,其特征在于,所述内存储器包括数据存储区和ecc存储区;所述内存储器写入的内存数据包括第一写数据和第二写数据;所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
5.根据权利要求4所述的方法,其特征在于,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
6.根据权利要求5所述的方法,其特征在于,所述片上ecc引擎在所述内存储器的数据读写过程中执行错误矫正操作,还包括:
7.根据权利要求2所述的方法,其特征在于,所述片上ecc引擎还包括ecc纠错码存储区,所述片上ecc引擎在生成所述内存数据对应的第一纠错码后,将所述第一纠错码存储至所述ecc纠错码存储区。
8.一种内存储器,其特征在于,包括:
9.根据权利要求8所述的内存储器,其特征在于,所述片上ecc引擎包括:
10.一种存储装置,其特征在于,包括权利要求8至9中任一项所述的内存储器;还包括:
技术总结本申请涉及一种内存数据纠错方法、内存储器及存储装置。所述方法包括:内存储器包括模式寄存模块和片上ECC引擎,所述模式寄存模块基于预先配置的控制逻辑对所述片上ECC引擎进行控制;基于所述模式寄存模块的控制,所述片上ECC引擎在所述内存储器的数据读写过程中执行错误矫正操作;其中,所述控制逻辑用于指示所述片上ECC引擎在所述内存储器全片刷新期间或自刷新期间执行所述错误矫正操作。采用本方法能够大幅度提高整体系统的读数据带宽。技术研发人员:强鹏,李佐昭,刘雨彤,裴文辉受保护的技术使用者:太初(无锡)电子科技有限公司技术研发日:技术公布日:2024/6/23本文地址:https://www.jishuxx.com/zhuanli/20240731/185168.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表