第2版 闪存技术、产品和原理全面解析


第2版 闪存技术、产品和原理全面解析



第2版 闪存技术、产品和原理全面解析


读者们好 , 电子书<闪存技术、产品和发展趋势全面解析(第二版)>现在已经完成更新了 , 相比上一版 , 除了调整小字体使内容紧凑外 , 重点还补充第四章和增加第九章(大概增加35页内容) 。由于篇幅很长 , 下面仅仅列出更新内容涉及的目录介绍:
第2版 闪存技术、产品和原理全面解析



第2版 闪存技术、产品和原理全面解析



第2版 闪存技术、产品和原理全面解析



提醒:购买过全店打包汇总(全)或上一版资料的读者 , 可在微店留言免费获取下载地址 。
今天 , 重点聊聊闪存可靠性等问题 。闪存技术对大家来说 , 已经不是什么新鲜技术 。但对可靠性、擦写次数和故障率等问题充满担忧 。所以 , 笔者觉得非常有必要通过以下几点 , 谈谈闪存这方面的问题 , 缓解大家的疑虑和担忧 。
闪存介质为什么会有擦写寿命的限制?
闪存介质中 , 保存数据的基本单元被称为Cell 。每个Cell通过注入、释放电子来记录不同的数据 。电子在Cell中进出 , 会对Cell产生磨损;随着磨损程度的增加 , Cell中的电子出现逃逸的概率会不断增加 , 进而导致Cell所保存的数据出现跳变 。(举个例子 , 某个Cell最开始保存的二进制数据是10 , 一段时间后再读取该Cell , 二进制数据可能就变成了11) 。
因为闪存中保存的数据有一定的概率出现跳变 , 因此需要配合ECC算法(Error-Correcting Code)来使用 。
写入数据时 , ECC引擎基于原始数据计算出冗余数据 , 并将原始数据和冗余数据同时保存 。
读取数据时 , 原始数据和冗余数据一并被读出 , 并通过ECC引擎检查错误并纠正错误 , 最终得到正确的原始数据 。
第2版 闪存技术、产品和原理全面解析


闪存所保存的数据出现跳变的数量 , 随着擦写次数的增加而增加 。当擦写次数达到一定的阈值后 , 闪存中保存的数据出现跳变的数量会增大到ECC引擎无法纠正的程度 , 进而导致数据无法被读出 。这个阈值就是闪存的最大擦写次数 。

LDPC算法为什么可以提升闪存的擦写寿命?
闪存所保存的数据 , 在保存一段时间后 , 会出现跳变;且出现跳变的数量 , 随着擦写次数的增加而增加 。因此 , SSD内部需要有ECC引擎进行数据检错和纠错 。
在SSD领域 , 当前标准的ECC算法是BCH算法(该算法以三位作者的名字首字母命名) , 可以满足绝大多数SSD的纠错需求 。闪存介质所宣称的最大擦写次数 , 就是基于BCH算法来给出的 。
但随着TLC介质和3D NAND的普遍应用 , 同样的数据块 , 其寿命末期的出错率将会大大增加 , BCH编码的纠错能力显得非常无力 , 这也使得LDPC纠错算法在SSD领域有了用武之地 。
第2版 闪存技术、产品和原理全面解析


LDPC算法是一个纠错能力很强的算法(相比BCH , 可以纠正更多的数据跳变) , 复杂度较高 , 最早应用于通信行业 。

推荐阅读