马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
由于萌新小白毕设要做SRAM的ECC模块,调研了下市面上的SRAM产品。我老师的SRAM大小是4k×32bit,也就是128k的大小。
在调研过程中发现了些问题,想来请教一下。
问题1:ECC模块是否是必要的,该必要性是否和SRAM的大小有关?
例如ISSI的SRAM中,基本上都只对1M大小以上的SRAM做了ECC,如下图:
还有Cypress的SRAM,对2M以上才做了ECC,我看了下1M一下的都没有特别说明有ECC功能。(Renesas电子的SRAM看了好多个甚至都没有ECC功能额)
所以,想请问一下,如果是针对我这样的比较小的SRAM,是否也会有几率发生软错误呢?ECC模块是否还有较大的必要性。因为如果采用(38,32)汉明,也得干掉15%的存储空间,老师感觉代价有点大。
问题2:关于ECC算法的取舍问题?
调研后发现,商用SRAM的常用ECC算法还是汉明编码,例如CYPRESS和ISSI中都是支持1bit纠错和2bit检错,如下图:
在网上调研时发现,除了汉明码还有BCH和RS码,其中BCH码应该是性能最好的,用有限域和多项式去编码解码,但是基本没有SRAM用BCH码。查了一下eetop和其他论坛,基本上BCH能够实现几十比特的纠错,但更多是用在DRAM和NAND上面,而且电路面积随着纠错能力的提升也大的吓人。主要是毕设如果做BCH码的ECC,感觉难度有点大,虽然可能做个3bit就够了,不过电路优化又得花好大功夫。所以想请问一下,是否只有在宇宙工作或者高辐射的环境下,才需要多bit纠错,而一般的SRAM只需要单bit纠错即可呢?
以上是想请教大佬们的。萌新小白第二次发帖,第一次发帖沉了,真心恳请大佬们能不吝赐教一下。十分感谢!
|