DRAM里面的RAS性能之一的ECC有哪些

充分提升DRAM RAS性能之一的有利工具是ECC.
ECC基本分为:1): on die ECC 2): link ECC 3): side-band ECC 4): inline ECC
在这里插入图片描述

on-die ECC

On-die ECC是确保array里面的data的正确性,在出现array里面的data出现错误的时候进行纠错。
在LPDDR4的spec里面,没有定义on-die ECC,但是大部分的DRAM厂商实际上在LPDDR4里面实现了on-die ECC功能。在DDR5的spec里面已经明确定义了on-die ECC的spec要求跟ECS的要求。on-die ECC是指die内做ECC校验。控制器发送data到DRAM内部,DRAM内部自己产生ECC parity, 并将ECC parity存储到DRAM内部(注意这是DRAM内部自己的行为), 然后控制器从DRAM读取数据的时候,DRAM内部把ECC parity从array里面读出来进行内部校验并进行纠错从而保证读出来的data的正确性。
在这里插入图片描述

Link ECC

在LPDDR5开始spec定义了link ECC. Link ECC是用来check SOC跟DRAM之间传输过程中出现的潜在的error并进行纠错 控制器会将write data跟控制器自己计算的parity一起送到DRAM端,DRAM端接受到write data跟ECC parity后,DRAM会根据write data自己也再算一遍ECC parity,自己计算的跟控制器送过来的一样,就说明data在传送过程中没有出错。如果不一样,就进行纠错,并将data写入DRAM。但是ECC parity不会写入到DRAM中。从而不会占用更多的存储单元。ECC parity只是中间的临时产物。反之对于read操作同样的sequence。只是判断的逻辑在控制器那边,DRAM只需要送出ECC code给到控制器即可。
在这里插入图片描述

Side-band ECC

DIMM上多出来的ECC颗粒,就是用的Side-band ECC。
控制器产生的write data跟ECC data会同时写入到DRAM中,只是被写入到不同的DRAM中。读取的时候也会从不同的DRAM中把data跟ECC code同时读取出来进行校验。
在这里插入图片描述

Inline ECC

Inline ECC不增加DRAM颗粒数量,但是需要增加DRAM的array的容量。ECC code也是存储在DRAM memory里面的。但是差别是:Inline ECC的ECC parity的data是单独的write/read command进行操作的,即要分两次write or read来完成校验工作。第一次读取本身的data,第二次读取ECC code.
在这里插入图片描述
我们具体对比一下四种ECC方式的差别,prons vs cons:
在这里插入图片描述
而DDR5一般采用on-die ECC + side-band ECC方式来提供强大的RAS能力。LPDDR5一般采用on-die ECC+link ECC来确保array跟传输线上的quality。那为何两种方案是不一样的?RDIMM对RAS性能要求更高,side-band ECC能提供强大的chipkill能力,而LPDDR5的speed更高,link ECC带来的些许overhead能通过speed上的优势来弥补。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DRAM视界

你的鼓励将是我分享的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值