DDR SDRAM 学习笔记 —— SPPR
以下是翻译 JESD79-4B,同时加一些自己的理解,欢迎讨论。
介绍:Soft Post Package Repair 简称为 SPPR,主要是针对内存 单比特失效 或 行失效 的一种修复方法,是一种软修复,与之相对的还有硬修复 (HPPR)。
SPPR 特点:快速修复,但为暂时性修复。一旦断电或重新 Reset 先前的修复就会清除。
单个颗粒颗修复的能力:每个 BG 有一个行可供修复。
SPPR 与 HPPR 的区别:
Topic | SPPR | HPPR | Note |
---|---|---|---|
修复的永久性 | 暂时 | 永久 | |
修复的时间 | 短 | 长 | |
修复能力 | 每个BG一个行 | 每个BG一个行 | |
在同一个BG内,SPPR 和 HPPR 的共存性 | 在修复不同的 BG 前,先前的 HPPR 允许存在 | 在 HPPR 前,任何 SPPR 必须清除 | |
修复序列 | WR Cmd | WRA or WR Cmd | |
未包含行修复的bank数据保存 | Yes | Yes, if WRA; No, if WR | |
包含行修复的bank数据保存 | Yes (Seed row and associated row 不可以) | No | SPPR 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 地址。
BA0 | A17 | A16 | A15 | A14 | A13 | A1 | A0 |
---|
Fai row address SPPR 修复步骤 (在执行 SPPR 修复时,不允许刷新操作):
- 在进入 SPPR 前,所有 bank 必须进行 Precharge,DBI 和 CRC 禁用
- 通过 MR4 A5 = 1 启用 SPPR
- 发出 4 个连续的 MR0 命令,每个命令都有一个唯一的地址段 A17:A0。每个 MR0 命令应按 tMOD 间隔
- 发布 ACT Cmd,同时伴随 fail 地址的 row & bank 信息
- 在 tRCD 后发布 WR Cmd
- 在 WL (CWL+AL+PL) 之后,目标 DRAM 的所有 DQ 保持 4tCK 为 LOW。如果 DRAM 的所有 DQ 被持续拉高 (>= 2tCK),则 SPPR 没有执行成功。若所有 DQ 的状态不像上述两种形式,则 SPPR 的执行是一个未知状态。
- 等待 tWR 时间内部修复寄存器将被写,随后发布 PRE to the bank
- 在 PRE 之后等待 20ns 使 DRAM 识别被修复的 row address。
- 设置 MR4 A5 = 0 退出 SPPR,并等待 tMOD
- 在需要 HPPR 之前,允许每个 BG 有一个 SPPR 地址。当向同一 BG 发出多个SPPR 请求时,最新发布的 SPPR 地址将取代早期发布的 SPPR 地址。如果在不同的BG 中执行 SPPR,请重复步骤2至9。在 SPPR 期间,SPPR MRS entry 和 MRS exit 之间不允许使用 Refresh 命令.