DDR SDRAM 学习笔记 —— SPPR

3 篇文章 4 订阅
1 篇文章 0 订阅

DDR SDRAM 学习笔记 —— SPPR

以下是翻译 JESD79-4B,同时加一些自己的理解,欢迎讨论。

介绍:Soft Post Package Repair 简称为 SPPR,主要是针对内存 单比特失效行失效 的一种修复方法,是一种软修复,与之相对的还有硬修复 (HPPR)。

SPPR 特点:快速修复,但为暂时性修复。一旦断电或重新 Reset 先前的修复就会清除。

单个颗粒颗修复的能力:每个 BG 有一个行可供修复。

SPPR 与 HPPR 的区别:

TopicSPPRHPPRNote
修复的永久性暂时永久
修复的时间
修复能力每个BG一个行每个BG一个行
在同一个BG内,SPPR 和 HPPR 的共存性在修复不同的 BG 前,先前的 HPPR 允许存在在 HPPR 前,任何 SPPR 必须清除
修复序列WR CmdWRA or WR Cmd
未包含行修复的bank数据保存YesYes, if WRA; No, if WR
包含行修复的bank数据保存Yes (Seed row and associated row 不可以)NoSPPR must be performed outside of REF window(tRFC)

Note: 如果 BA 引脚被定义为种子行的 “ sPPR 关联行 ”,则 BA 地址输入的两种状态都会受到影响。例如,如果选择 BA0 作为种子行的 “sPPR关联行”,则 BA0=0 和 BA0=1 中的地址都会受到同等影响。

SPPR 的执行方式描述
SPPR 与 HPPR 进入的方式类似,SPPR 使用 MR4 A5 = 1,SPPR 需要和 HPPR 相同的保护键序列进入 PPR 模式。在 SPPR 进入之前,应执行 HPPR or SPPR 退出命令。进入 SPPR 后,ACT 命令将捕捉到 target bank & target row (seed row),对 target row 进行行修复。在 tRCD 时间之后,使用 WR 命令通过 DQ 选择单个 DRAM,将需要修复的地址传输到 DRAM 的内部寄存器中。在 write recovery time 和 PRE Cmd 后,可以退出 SPPR 并恢复正常操作。只要不掉电 或 Reset,DRAM 将保留 SPPR 更改。在启用HPPR 之前,必须通过通电顺序或通过重置信号重新初始化来清除 SPPR 更改。

若 HPPR 已经使用某个 BG 进行修复,则 SPPR 不可是使用这个 BG 进行修复。若保护键序列已经发出,DRAM 将忽略此序列,不进行修复。

当容量 >8Gb,接收 SPPR 更改的 bank 将会保留所有行的数据 (除 target row 及其 associated row);若容量 <= 8Gb, 则此做法是可选的。
如果用户不要求保留 SPPR 修复下 bank 中的 array 的数据,则对 target row 及其 assocated row addresses 不感兴趣,可以忽略。
反之,若需要保留阵列中的数据,则在执行 SPPR 之前,备份并恢复 target row 及其 associated row addresses. 下表中指定了与 SPPR 关联的 target row 地址。

BA0A17A16A15A14A13A1A0

Fai row address SPPR 修复步骤 (在执行 SPPR 修复时,不允许刷新操作):

  1. 在进入 SPPR 前,所有 bank 必须进行 Precharge,DBI 和 CRC 禁用
  2. 通过 MR4 A5 = 1 启用 SPPR
  3. 发出 4 个连续的 MR0 命令,每个命令都有一个唯一的地址段 A17:A0。每个 MR0 命令应按 tMOD 间隔
  4. 发布 ACT Cmd,同时伴随 fail 地址的 row & bank 信息
  5. 在 tRCD 后发布 WR Cmd
  6. 在 WL (CWL+AL+PL) 之后,目标 DRAM 的所有 DQ 保持 4tCK 为 LOW。如果 DRAM 的所有 DQ 被持续拉高 (>= 2tCK),则 SPPR 没有执行成功。若所有 DQ 的状态不像上述两种形式,则 SPPR 的执行是一个未知状态。
  7. 等待 tWR 时间内部修复寄存器将被写,随后发布 PRE to the bank
  8. 在 PRE 之后等待 20ns 使 DRAM 识别被修复的 row address。
  9. 设置 MR4 A5 = 0 退出 SPPR,并等待 tMOD
  10. 在需要 HPPR 之前,允许每个 BG 有一个 SPPR 地址。当向同一 BG 发出多个SPPR 请求时,最新发布的 SPPR 地址将取代早期发布的 SPPR 地址。如果在不同的BG 中执行 SPPR,请重复步骤2至9。在 SPPR 期间,SPPR MRS entry 和 MRS exit 之间不允许使用 Refresh 命令.
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
The DDR4 SDRAM is a high-speed dynamic random-access memory internally configured as sixteen-banks, 4 bank group with 4 banks for each bank group for x4/x8 and eight-banks, 2 bank group with 4 banks for each bankgroup for x16 DRAM. The DDR4 SDRAM uses a 8n prefetch architecture to achieve high-speed operation. The 8n prefetch architecture is combined with an interface designed to transfer two data words per clock cycle at the I/O pins. A single read or write operation for the DDR4 SDRAM consists of a single 8n-bit wide, four clock data transfer at the internal DRAM core and eight corresponding n-bit wide, one-half clock cycle data transfers at the I/O pins. Read and write operation to the DDR4 SDRAM are burst oriented, start at a selected location, and continue for a burst length of eight or a ‘chopped’ burst of four in a programmed sequence. Operation begins with the registration of an ACTIVATE Command, which is then followed by a Read or Write command. The address bits registered coincident with the ACTIVATE Command are used to select the bank and row to be activated (BG0-BG1 in x4/8 and BG0 in x16 select the bankgroup; BA0-BA1 select the bank; A0-A17 select the row; refer to “DDR4 SDRAM Addressing” on datasheet). The address bits registered coincident with the Read or Write command are used to select the starting column location for the burst operation, determine if the auto precharge command is to be issued (via A10), and select BC4 or BL8 mode ‘on the fly’ (via A12) if enabled in the mode register. Prior to normal operation, the DDR4 SDRAM must be powered up and initialized in a predefined manner. The following sections provide detailed information covering device reset and initialization, register definition, command descriptions, and device operation.
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hi小黄人

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值