随着内存速率、颗粒密度和应用数量增加,内存故障率也随之增加,内存的RAS特性显得尤为重要。之前公众号的关于Memory RAS的文章介绍了目前常见的几种增强型的纠错黑科技SDDC、DDDC、ADDDC。DDR5相对于DDR4也中引入了一个新功能On-Die ECC来增强内存的RAS特性。本篇文章主要针对On-Die ECC展开下介绍。
SDDC、DDDC、ADDDC都是通过内存增加额外的ECC颗粒(暂且称之为Side-Band ECC),其原理可以复习下前面的文章,其过程由Memory Controller(MC)来实现,三种纠错都只允许每个burst的数据(72bit)错误出现在一个x4颗粒上,当每个burst错误出现在2个以上的颗粒上时,则无法保证准确纠错。
On-Die ECC则不同,它是针对单个DRAM颗粒每128bit长度的数据增加8bit的ECC校验位,校验位与Data一起存储在DRAM Array中。On-Die ECC计算与纠错过程完全由颗粒自主完成计算,可纠正single bit error,可以理解为对于MC来讲是透明的,在不增加MC负载的前提下增强了内存的RAS特性。
由前面介绍不难看出,On-Die ECC是对于内存现有ECC技术只能对单个burst单颗粒上的Single或multi biterror纠错的缺陷的一个补充,可以实现每个颗粒独立的对单次访问16个burst(128bit)的数据纠错,即多个颗粒同时出现single bit error也可以纠错,两者起着相辅相成的作用,其过程对比如下图所示。