• 回到顶部
  • 400-1017-871
  • QQ客服
  • 微信二维码
首页    产品知识    eMMC 生命周期预估、验证和监控

eMMC 生命周期预估、验证和监控

创建时间:2024-03-30

eMMC 生命周期预估、验证和监控

IMG_256

NAND 闪存不是简单的读/写数据介质。为提高使用的可靠性,应实施多种算法:NAND 块管理、碎片收集、错误控制和损耗均衡。现代 NAND 闪存使用存储设备上的算法管理,而不是在主机处理器中实施管理。这对其用户来说属于优点,因为减少了 NAND 管理的复杂性,简化了产品支持和维护。

主机写入 NAND 闪存的效率低,可能造成介质提早失败。NAND 最小的组织单位是页,可以读取和编程,但不能擦除。可以擦除的唯一组织单位是块,它包含多个页面。因此,在块被擦除之前不能覆盖页面。随着时间的过去,块在到达其耐力水平后就会失败。也可能发生导致提早失败的缺陷。

NAND 闪存提供有限的编程-擦除循环。达到该限制便意味着设备处于 EoL 状态,从而不再可靠。耐久性根据 NAND 单元的配置而有所不同。

单级单元配置:此设置的耐久性最高,误差幅度最大。

eMMC LBA 512B Sector Address

NAND Page & Block Address

0:31

Blk10, Pg101

32:63

Blk10, Pg102

64:95

Blk10, Pg103

96:127

Blk10, Pg104

128:159

Blk15, Pg57

160:191

Blk8, Pg129

192:223

Blk10, Pg107

224:255

Blk22, Pg88

eMMC 读取和写入 512 字节扇区单元,这是逻辑单元,而非物理单元。扇区地址称为逻辑块地址或 LBA。当修改数据时,擦除整个 NAND 块不切实际,会造成未更改的页面出现低效的损耗。LBA-PBA(物理块地址)映射架构提供更小的写入来均衡块损耗,称之为“损耗均衡”。LBA 通过地址转换表映射至 PBA。此过程会均衡块损耗,提高写入速度。

地址映射的过程如下所示:

·       eMMC 扇区是 512 字节,而 NAND 页面是 16kb。映射表A将 32 个连续扇区地址组成一个页面大小的单元。

·       如果修改页面组中的扇区,控制器将读取该页面的整个组,更新任何修改的扇区,然后将新数据编程回新页面。

·       在编程更新的页面之后,表会更新,以更新的 NAND 页面的块和页面地址覆盖之前的条目。

·       即使只修改一个扇区,NAND 闪存也必须编程整个页面。这种低效称为“写入放大”。NAND 闪存写入与 eMMC 设备级写入的比率是 WAF(写入放大因子)。

小幅、随机、非页面对齐的重写通常是写入放大的最大来源。为尽可能减小 WAF,写入应在多个页面大小单元的页面边界对齐。此最佳单元大小在扩展 CSD 寄存器的“最佳写入大小”字段中。

用于确定写入总字节数(或 TBW)的公式简单易懂:

(设备容量 * 耐久因子) / WAF = TBW

通常,WAF 介于 4 与 8 之间,但取决于主机系统写入行为。例如,大型连续写入会产生较低 WAF,而小数据块的随机写入会产生较高 WAF。这种行为通常会导致存储设备提早失败。

例如,耐久因子为 3000 WAF 为 8 的 4GB eMMC 等于:

(4GB * 3000) / 8 = 1.5TB

eMMC 设备的写入总字节数为 1.5TB。因此,我们可在产品达到 EoL 状态之前的整个生命周期写入 1.5TB 数据。

要预估您的 TBW 要求,请先预估相关设备的每日使用量。例如,每天写入 500MB(预期 5 年使用寿命)的工作需要一部 TBW 超过 915GB 的设备:

0.5GB * 365 = ~每年 183GB,或 5 年 915GB

TBW 可用于确定设备的最大允许 WAF,因为 TBW = (DC * EF) / WAF。如果设备使用寿命不能达到产品应用的目标 TBW,您可以尝试改进其性能。考虑使其进入 Pseudo Single Level Cell(伪单级单元)模式,通过将设备从 TLC 或 MLC 转换为每单元一位模式,使耐久性提高十倍。但这会大幅减少容量:每单元两位 MLC 设备会减少 50%,三位 TLC 设备则减少超过 66%。如果您对此解决方案不满意,也可以选择更大的设备来处理同样的工作。设备容量提高一倍,TBW 也会增大一倍。