12.01563.1563.
LDPC是一种迭代算法。LDPC是通过迭代的方式反复尝试解码,在这个过程中通过软数据(Soft Data,SD)的帮助一步步接近正确的读取结果。 这里又出现一个叫"软数据"的名词。所谓软数据,可以理解成瞎子摸象——手感。得到的信息量很大,但并不直观,需要经过进一步综合判断才能分析出结果。 闪存单元内储存的是电子,根据电子的多寡来表达不一样的数据。现在还做不到直接数闪存单元中电子的数目,只能通过位线上的电流来感知和判断,并将它们转换为0和1的二进制数据。下图是最简单的SLC闪存模型: SLC闪存的一个单元只需要表达0或1两种状态,到了MLC之后要表达的状态数量就增加到了4个(00,01,10,11),TLC时代更是增加到8个状态。后边还要16种状态的QLC闪存。没有LDPC这种强大的纠错算法是万万不行的。 LDPC纠错在软纠错阶段可以通过不一样的读取参数去获得关于闪存的更多数据,根据自己的经验去尝试判读,如果ECC验证不通过,就换个"姿势"进行更多的尝试。这里判读所依据的经验是"Log-likelihood ratio(LLR)",中文名叫对数似然比。 对数似然比是一个经验丰富的老司机,能够仅凭一个不清楚的画面就能把车牌号猜个八九不离十。当然经验再丰富也有翻车的时候,不要紧,LDPC纠错可以继续迭代,接着尝试,直到得出正确答案,或者因迭代次数达到限制而纠错失败。 SSD的闪存品质不好会容易翻车:坏就坏在对数似然比这个老司机身上。对数似然比与闪存的特点有关,可以想象只开美系车的老司机,让他猜日@#本的车牌号是很难猜对的。 对数似然比这些经验性的信息,是在主控及固件的规划阶段就预设好的,需要根据闪存的不一样进行适配。这是一个经验活儿。天下闪存制造商虽然只有寥寥数家,但即便是同一家闪存厂的产品,不一样品质等级的脾气秉性也很难料。 现在我们知道,闪存的品质不是简单的PE次数,它会影响到LDPC纠错的效果,反过来影响到闪存能够用多久。即便神如LDPC,如果闪存品质不佳,也可能因偏离固件的规划而失控。 闪存出错的累加效应 通常的情况下,每一笔写入和读取的数据都会经过纠错引擎的检查。 但某些时候为了更好的性能也会有无主控纠错引擎参与的数据迁移发生,譬如说运用到Copy Back(闪迪称为On Chip Copy)的磨损均衡或者SLC缓存释放过程。 因为Copy Back的数据迁移过程只局限在芯片内部,不需要主控的过多参与,所以释放了主控压力,提升了SSD的效能表现,但也因此失去了检查错误的机会,有可能导致闪存错误的慢慢累加,直到下次主控要求读取时才发现已经超出了纠错能力范围。 为了兼顾性能与数据安全,一些固态硬盘会采用适时切换的方式,在闪存较新的时候采用Copy Back模式提升性能表现,当闪存磨损达到一定程度后改回传统模式保护数据安全。PCEVA之前在饥饿鲨TR150固态硬盘的耐久度测验中就发现,该固态硬盘在主机写入量超过标定TBW之后,就会关闭Copy Back模式。 如果闪存品质不确定,没有办法找到一个合理的均衡点,就有可能无法发挥出闪存的所有寿命潜力。 总结:因为NAND块擦除的特点,必须要有很多复杂的算法与纠错辅助来保证运行时的效能与稳定性。NAND闪存虽然是非易失性储存器,但在记录数据的过程中依然充满风险,除了用户直接请求的写入之外,SSD内部的磨损均衡、垃圾回收以及基于数据保持目的的刷新都会产生背景写入。SSD作为一个精密的整体,主控的先进纠错技术只是一个辅助,关键还是要看闪存品质以及固件的成熟度。 以上是闪存品质对SSD固态硬盘的影响的介绍,用户养成良好的使用习惯,这样固态硬盘用上5年也不用担心损坏。 |
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.