DDR4 Spec 第四章 4.16 CRC校验

4.16.1 CRC校验

DDR4支持写操作进行CRC校验(MR2A12),但是不支持读操作进行CRC校验。CRC校验的多项式为

x^8 + x^2 + x + 1

表43展示了CRC校验功能可以检测出的错误细节,其中最后一个不知如何翻译。

在这里插入图片描述
CRC的输出为8bit位宽,其具体算法详见手册。

4.16.2 x8器件的CRC排列方式

在这里插入图片描述

4.16.3 x4器件的CRC排列方式

在这里插入图片描述

4.16.4 x16器件的CRC排列方式

在这里插入图片描述

4.16.5 对上述三点的总述

对于x8器件,如果CRC使能,内存控制器必须在第9个transfer处发送全1,如果DBI使能,则需要在DBI_n的第8和第9个transfer处发送1(must send 1’s in transfer 8 and transfer 9 of the DBI_n lane if DBI function is enabled)。

对于x16器件,其被当做两个x8器件。功能和x8一样。

当接收了72bit数据后(D[71:0]),DRAM通过校验码和接收到的数据进行比对,如果不匹配则会拉高ALERT_n信号。

x8器件有72bit的输入,高8bit用于DBI/DM(如果DBI或DM使能了)。需要注意的是写DBI和写DM不能同时使能,这一点在DBI/DM/TDQS引脚章节讲过。如果写DBI和DM都不使能,那么72bit输入的高8bit(D[71:64])应该为全1。

x16器件相当于两个x8器件,如果写DBI和DM都不使能,那么高8bit(D[143:136] (对应DBIU/DMU)和D[71:64] (对应DBIL/DML))应该为全1。

x4器件最简单,没有DBI/DM信号,只有32个输入,D[71:32]应该都设置为全1。

在写数据的过程中,即使DRAM没有完成CRC校验,数据也能全部写入到DRAM core中。如果DRAM core中被写入了错误的数据,内存控制器将会重新发送这笔传输,并覆盖掉之前的有误的数据。当然,内存控制器需要保证数据的一致性,也就是说当写入数据A0,传输过程中由于一些干扰出现了错误,DRAM core存储的数据为A1,再次传输时应该还是发送A0,而不是其它数据。

4.16.6 CRC出错时的处理

CRC Error机制共享相同的Alert_n信号(Alert_n和Parity信号在同一个pin上),故内存控制器无法直接区分CRC错误和CMD/ADDR/Parity错误,除非读取MR寄存器,具体来说是MPR寄存器。

为了尽快恢复CRC错误,CRC错误会发送一个脉冲,该脉冲最小的脉宽为6个时钟周期。以x8为例,当发送完72bit数据后,延迟tCRC_ALERT时间后,Alert_n拉低。如图47所示。

在这里插入图片描述
内存控制器看到了错误后,将会重新发送此次写传输。在初始化期间,控制器知道Alter_n的最大延迟,并且控制器能备份其传输(transaction),更甚者,控制器能够将写入的CRC错误与特定的rank和特定的传输(transaction)关联起来。当然,控制器也需要保证能够打开任何page,并保持重新写的操作的一致性(这明显是DRAM标准定制者对控制器做出的要求,一旦控制器不支持使用CRC校验,DRAM颗粒也没办法)。

当出现多个CRC Error时,ALERT_n信号可能形成一个daisy链,即ALERT_n脉冲有可能大于6个周期。

表44阐述了在不同的速率下,CRC Error的时序参数。但是这个明显是没写全的。

在这里插入图片描述

4.16.7 对于突发长度为BC4的CRC格式

无论是BL8传输还是BC4传输,当CRC使能后,所有的数据都被限定为10个UI。当CRC开启后,DDR4也支持on the fly的突发长度的改变。

对于x4器件,其数据分布如下:

在这里插入图片描述

对于x8器件,其数据分布如下。如果DBI或DM使能,则d(64:67)有效;如果DBI和DM不使能,则令d(64:67)为全1。
在这里插入图片描述

对于x16器件,其数据分布如下。如果DBIL或DML使能,则d(64:67)有效;如果DBIL和DML不使能,则令d(64:67)为全1,类似地,DBIU/DMU也一样,其对应d(136:139)。

在这里插入图片描述

关于DBI和CRC的说明:
假设DBI开启,在计算CRC校验码之前,数据是不会翻转的;在写入DRAM core时,数据才会根据DBI信号进行相应的翻转。

关于BC4的burst order和CRC说明:(这个说明里面有一个地址bit A2,但查阅手册发现普通命令的A2并无特殊含义,不知是指哪个MR的A2,于是这里暂不往下写了)

对于x8器件,BC4的传输中,由于A2取值的不同,其CRC的值也不同。

4.16.8 同时开启DM和CRC功能

当同时开启DM和CRC校验功能,在将数据写入DRAM阵列中,DRAM会先计算CRC校验值。如果有CRC Error,则DRAM将会阻止此次写操作并丢弃数据。对于x16器件,如果DRAM检查到CRC有误,那么DRAM将会mask所有的DQ数据(或mask一半的DQ数据,取决于制造商的规定)。如果仅仅是mask一半的DQ数据,则根据出错的CRC来mask对应的DQ(高8位的CRC出错则mask DQ0-7,低8位的CRC出错则mask DQ8-15)。

4.16.9 同时进行MPR写操作,PDA以及CRC功能

以下同时的操作不被允许:

  1. MPR写操作和CRC不能同时开启。
  2. PDA和CRC不能同时开启。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jedec DDR4规范是一种用于内存模块的标准规范,是在DDR3规范的基础上进行了升级和改进的。 Jedec DDR4规范的主要目标是提高内存的性能和能效。与DDR3相比,DDR4采用了更高的内部频率和更低的电压,从而可以实现更高的带宽和更低的功耗。DDR4的内部频率通常在2133MHz到3200MHz之间,电压则从1.2V降低到1.05V。 DDR4规范还引入了一些新的技术和功能。例如,DDR4内存模块在设计上更加灵活,可以根据需要支持不同的容量和速度。此外,DDR4还支持“错误校正编码”(ECC)技术,可以检测和纠正内存中的错误,提高数据的可靠性。 Jedec DDR4规范还增加了一些新的命令、信号和引脚。例如,DDR4规范引入了“翻转寻址线”(CA training)功能,可以解决内存中的信号互相干扰的问题,提高数据的传输稳定性。此外,DDR4还引入了新的引脚布局,以支持更高的带宽和更快的数据传输速度。 总之,Jedec DDR4规范是一种用于内存模块的标准规范,通过提高频率和降低电压,以及引入新的技术和功能,达到提高内存性能和能效的目的。它的推出为计算机系统的性能提升提供了一定的保障。 ### 回答2: JEDEC DDR4规范是一种用于计算机内存的标准。它是由JEDEC(电子行业协会)制定的,旨在提供性能和能效的提升。这项规范定义了DDR4内存模块的技术要求和接口特性,以确保不同厂商生产的DDR4内存模块可以在不同的计算机平台上互通。 JEDEC DDR4规范包含了许多升级和改进,与之前的DDR3相比,DDR4内存模块具有更高的数据传输速率、更大的容量和更低的功耗。 根据JEDEC DDR4规范,DDR4内存模块的电压下降到1.2V,相比DDR3的1.5V,功耗减少了20%。此外,DDR4的数据传输速率也明显提高,从DDR3的最高2133MHz提升到DDR4的最高3200MHz。这一增加的速率使得DDR4内存模块在处理数据时更加高效。 DDR4规范还引入了一些新特性,如内存时钟增强(CRC)和地址伙伴预取(AP)等。内存时钟增强是一种增强的错误检测和修复机制,可提高内存模块的可靠性。地址伙伴预取则可以提高数据访问速度,减少延迟。 总而言之,JEDEC DDR4规范对于计算机内存的发展具有重要意义。它提供了更高的性能、更大的容量和更低的功耗,同时保证了跨不同计算机平台的互操作性。通过采用DDR4内存模块,用户可以获得更快的数据传输速度和更高的系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值