4 DDR5 SDRAM命令描述和操作-29
- 4.29 封装后修复(PPR)
-
- 4.29.1 硬封装后修复(hPPR)
-
- 4.29.1.1 hPPR故障行地址修复
- 4.29.1.2 需要的时序参数
- 4.29.2 软封装后修复(sPPR)
-
- 4.29.2.1 sPPR故障行地址修复
- 4.29.3 MBIST PPR
4.29 封装后修复(PPR)
DDR5支持故障行地址修复(Fail Row address repair),PPR(Post Package Repair)能够在系统中提供一种简单易行的修复方法。 提供了两种方法:硬件后封装修复(hPPR)用于永久性行修复,软件后封装修复(sPPR)用于临时性行修复。 进入hPPR或sPPR需要通过顺序MRW(Mode Register Write)保护密钥进行保护,以防止意外的hPPR编程。顺序MRW保护密钥对于hPPR和sPPR是相同的。
hPPR/sPPR保护密钥需要在进入hPPR/sPPR后立即发出的四个MRW命令序列,如图114所示。保护密钥序列必须按照规定的顺序输入,如规范和表格340中所述。不允许从其他MRW/R命令或非MR命令(如ACT、WR、RD)中间断保护密钥序列。尽管不允许中断保护密钥输入,但如果未按照要求的顺序输入保护密钥或被其他命令中断,hPPR模式或sPPR模式将不会执行,并且有问题的命令将被终止执行。hPPR/sPPR的进入可能或可能不会执行正确,然而有问题的命令不会导致DRAM锁定。会中断hPPR/sPPR的有问题的命令包括: - 从其他MRW/R命令或非MR命令中间断保护密钥序列 - 具有CW = high的MRW命令 - CS_n在第二个周期低电平的2周期命令
此外,当hPPR进入序列被中断时,随后的ACT和WR命令将作为正常的DRAM命令执行。如果hPPR操作被过早地中断和/或终止,必须在执行另一个hPPR或sPPR操作之前将MR23的OP[1]和OP[0]重置为"0"。如果输入了错误的hPPR/sPPR保护密钥序列,DRAM不会提供错误指示。
4.29.1 硬封装后修复(hPPR)
通过hPPR,DDR5可以每个Bank Group至少纠正一个行地址。hPPR资源指示(MR54、MR55、MR56、MR57)会显示hPPR资源的可用性,在实施修复之前可以进行读取/检查。需要注意的是,hPPR修复是永久性的;一旦编程,电子熔断器将无法切换回未熔断状态。控制器应该防止意外进入hPPR模式和修复(例如,在命令/地址训练期间)。进入hPPR模式是通过寄存器使能、用于传输要在DRAM中替换的行的Bank和行地址的ACT命令实现的。经过tRCD时间后,使用BL16 WRA命令来选择通过DQ位选择具体的DRAM并将修复地址传输到DRAM中。在编程时间和PRE之后,可以退出hPPR模式并恢复正常操作。
4.29.1.1 hPPR故障行地址修复
1. 由于模式寄存器地址操作数允许用户执行hPPR资源,需要读取hPPR资源指示(MR 54、55、56、57)的MRR。用户检查每个Bank的hPPR资源的可用性后,可以进入hPPR模式。如果hPPR资源指示(MR 54、55、56、57)的MRR似乎不可用,主控制器不应发出hPPR模式命令。 2. 在进入"hPPR"模式之前,所有Bank必须处于预充电和空闲状态,并且必须禁用CRC模式。 3. 使用MR23:OP[0]=1来启用hPPR,并等待tMRD的时间。 4. 使用四个连续的MR24 OP[7:0] MRW命令发出守卫键,每个命令都具有唯一的地址字段OP[7:0]。每个MRW命令之间应间隔tMRD的时间。 5. 使用Bank和行失败地址发出ACT命令。写入数据用于选择修复的rank中的单个DRAM。
6. 在tRCD之后,发出带有有效地址的WRA命令。DRAM将忽略WRA命令中给出的地址。 7. 在WL(WL=RL-2)之后,目标DRAM的所有DQ都应该保持LOW状态,持续8tCK的时间。如果在8tCK的时间内,将HIGH信号驱动到DRAM的全部DQ上,则DRAM将不执行hPPR,而是在正确发出REF/REFsb命令的情况下保留数据。如果多个DRAM共享相同的命令总线,则未被修复的DRAM的所有DQ都应该在8tCK的时间内被驱动为HIGH。如果在8tCK的时间内,所有DQ既不全为LOW也不全为HIGH,则无法确定hPPR模式的执行情况。 8. 等待tPGM_hPPRa或tPGM_hPPRb的时间,以允许目标行地址的DRAM内部进行修复,然后发出PRE命令。 9. 在发出PRE命令之后等待至少tPGM_Exit的时间,以使DRAM能够识别修复的行地址。 10. 通过设置MR23:OP[0]=0来退出hPPR模式。 11. 在tPGMPST(最小值)之后,DDR5将接受任何有效的命令。 12. 如果有多个地址需要修复,重复步骤3到10。
在hPPR模式下,REF和REFsb命令是允许的,但是无法保证数组内容的准确性。在hPPR模式下接收到REF或REFsb命令时,DRAM可能会忽略刷新操作,但不会中断修复操作。在tPGM期间,除REF/REFsb之外的其他命令可能会导致修复不完整,因此在tPGM期间不允许使用除REF之外的任何其他命令。 一旦使用MR23:OP[0]=0和tPGMPST退出hPPR模式后,主机可以通过向目标行写入数据并读取回来来确认目标行是否已修复正确。
注意1:在WR之后的WL+8tCK+tWR+tRP+1tCK之后允许REFab/REFsb(1X),但不保证在hPPR期间数组内容会被刷新。 注意2:时序图显示了可能的命令,但不是所有显示的命令都可以同时发出;例如,如果在Te1时刻发出REF命令,则在Te2时刻必须发出DES命令,因为在Te2时刻发出REF是不合法的。同样,DES必须在Tf0之前的tRFC时刻发出PRE命令。所有常规的时序仍然必须满足。
4.29.1.2 需要的时序参数
4.29.2 软封装后修复(sPPR)
软后期封装修复(sPPR)是一种在DDR5 DRAM设备上快速但临时修复单个Bank Group上的一行地址的方法,与需要更长时间但是对一行地址进行永久修复的hPPR相对应。软修复和硬修复之间存在一些限制和差异。进入sPPR的方式是通过寄存器使能,使用ACT命令传输要在DRAM中替换的行的银行和行地址。在tRCD时间之后,使用BL16 WR命令通过DQ位选择单个DRAM,并将修复地址传输到DRAM的内部寄存器中。在写恢复时间和PRE之后,可以退出sPPR模式,恢复正常操作。在软修复期间,必须注意不能违反数组中其他行的刷新操作。还要注意,只要VDD保持在操作区域内,DRAM将保留DRAM内部的软修复信息。如果断电或重置DRAM,软修复将恢复到未修复的状态。hPPR和sPPR不能同时启用。在进入hPPR模式之前,必须禁用和清除sPPR。
使用sPPR,DDR5可以修复每个BG的一个行地址。如果BG的hPPR资源已用尽,则该银行组将没有更多可用于软PPR的资源。如果给没有可用修复资源的BG发出修复序列,DRAM将忽略该编程序列。
4.29.2.1 sPPR故障行地址修复
以下是使用WR命令进行sPPR的过程。请注意,在软修复序列期间,不允许进行刷新操作。 1. 在执行sPPR之前,用户应备份银行中用于sPPR的目标行地址的数据。备份数据应为每个银行一行数据。完成sPPR后,用户将恢复已修复数组中的数据。 2. sPPR资源与hPPR资源共享。在执行sPPR之前,应检查hPPR资源指示寄存器(MR 54、55、56、57)。如果hPPR资源指示的MRR(MR 54、55、56、57)显示目标银行中的hPPR资源不可用,则主控制器不应发出sPPR模式。 3. 进入"sPPR"模式之前,所有银行必须处于预充电和空闲状态,并且必须禁用CRC模式。 4. 使用MR23位"OP1=1"启用sPPR,并等待tMRD。 5. 发出4个连续的MRW命令,每个命令具有唯一的地址字段OP[7:0]。每个MRW命令之间应分隔tMRD的时间。Guard Key序列与表341中的hPPR相同。 6. 使用Bank和Row Fail地址发出ACT命令,写数据用于选择修复的Rank中的单个DRAM。 7. 在tRCD之后发出WR命令,并提供有效的列地址。DRAM将忽略WR命令中给定的列地址。
8. 在WL(WL=WL=RL-2)之后,每个目标DRAM的所有DQ引脚应保持为LOW状态,持续8tCK。如果在8tCK突发期间任何DQ引脚为高电平,则sPPR协议将不会执行。如果多个DRAM共用相同的命令总线,则未进行修复的DRAM应在8tCK期间将其所有DQ引脚驱动为高电平。如果所有的DQ引脚在8tCK期间既不全为LOW也不全为HIGH,则sPPR模式将为未知状态。 9. 等待tPGM_sPPR(最小值),以便内部修复寄存器被写入,然后向银行发出PRE命令。 10. 在PRE命令之后等待tRP时间,以使DRAM能够识别已修复的行地址。 11. 使用设置MR23位"OP1=0"退出sPPR,并等待tMRD时间。 12. 在不影响先前执行的hPPR的情况下,可以执行sPPR,前提是在该BG中有可用的行。当同一BG中发出多个sPPR请求时,最近发出的sPPR地址将替换先前发出的地址。如果在不同的BG中进行软修复地址操作,则重复步骤4至11。在软修复期间,不允许在sPPR MRS进入和退出之间发送刷新命令。