EMMC生命周期預估

    NAND闪存并非简单的读取/写入媒介。还需要执行下列几种算法,来维持产品使用的可靠性:NAND内存块管理、故障内存块管理、错误控制和磨损平衡。现今的NAND闪存是透过储存装置上的算法进行管理,而非在主机处理器上进行。这对使用者而言是个优点,因为能让主机对NAND的管理不那么复杂,并简化产品支持及维护的方式。

    如果主机对NAND闪存的写入效率低,可能导致它提前结束使用寿命。对NAND读取和编程操作来说,最小单位是页,但页无法进行擦除。NAND只能针对由多个页面组成的内存块进行擦除。因此,必须先对内存块进行擦除,才能对页进行复写。随着使用次数和时间增加,内存块可能会达到耐用度极限而无法使用。也有可能存在缺陷,导致提早故障。

     NAND闪存可用程序化擦除的周期次数有限。如果达到耐用度极限,表示装置变成「EoL」(产品寿命结束)状态,不再具备可靠性。NAND单元的耐用度因模式不同而异。

单层式储存(SLC)模式:这种模式的耐用度高,且容错率也高。

    eMMC读取和写入的逻辑单元大小是512字节,非物理单元。扇区位址称为逻辑块位址(Logical Block Address)或LBA。当修改资料时,擦除整个内存块并不实际,这会导致未变更的页出现不均匀而低效率的磨损情况。此时逻辑块位址和物理内存块位址(Physical Block Address,PBA)映像方法可将每次写入大小缩小,来平衡各内存块磨损情况,称之为动态磨损平衡。藉由位址转换表,将LBA映像到PBA。此过程能平衡内存块磨损情况,并提高写入速度。

映射位址的過程如下:

eMMC扇区大小为512字节,而NAND的页为16KB。映像表将32个连续扇区位址分组到一个页大小的单元
如果此页群组中有一个扇区被修改,控制器就会读取此页的整组扇区,更新任何要修改的扇区,然后将新数据程序化后写回新页。
将更新的页程序化后,转换表也随之更新。接着,更新后NAND页的页/内存块位址覆盖先前的数据。
即便只修改了一个扇区,NAND Flash也必须对整个页进行程序化。这种低效率的做法称为写入放大。NAND Flash实际写入数据量对比eMMC装置中写入数据量,称为写入放大系数(Write Amplification Factor,WAF)。
小量写入、随机、页不对齐是导致写入放大的最大来源。为了让WAF降到最低,写入时应以页大小为单位的倍数对齐页的边界。此最佳化单元大小是扩展CSD寄存器的最佳写入大小。

   决定写入总量(TBW)的公式很简短:
(装置容量*耐用度系数)/ WAF = TBW
根据主机系统的写入模式不同,WAF通常介于4到8之间。例如,大量数据连续写入时,WAF较低;小量数据在内存块随机写入时,WAF较高。这种情况通常会让储存装置提早故障。
例如,耐久度系数3000和WAF 8的4GB eMMC等同于:
(4GB * 3000)/ 8 = 1.5TB
eMMC装置的TBW为1.5 TB。因此,装置在达到EoL状态前,我们可以在产品的整个生命周期中写入1.5TB的数据量。
请先估计相关装置的每日使用量,才能算出您的TBW需求。例如,每日写入数据量500MB的工作负载,预计产品使用寿命为5年,则装置的TBW必须大于915GB。
0.5GB * 365 = ~183GB/每年,或915GB/5年以上
TBW可用来确认装置允许的最大WAF值,公式是TBW =(DC * EF)/ WAF。如果您的装置使用寿命无法达到产品应用程序的目标TBW,您可以想办法改善。可考虑将其设为pSLC(Pseudo Single Level Cell)模式,将TLC或MLC转换成SLC,耐用度可提高10倍。然而,这会大幅降低可使用的容量:单元件双位(two-bit-per-cell)的MLC装置为50%,而三位的TLC装置则为66%以上。如果您不满意这种解决方案,选择容量更大的装置来处理相同的工作,这样也会有所帮助。两倍容量的装置就等于有两倍TBW。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值