切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 13068阅读
  • 12回复

[闪存][转载]闪存数据能保存多久? [复制链接]

上一主题 下一主题
离线qazwsxedczzz
 

发帖
2868
M币
3056
专家
10
粉丝
220
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-02-03
(原文见:http://www.ssdfans.com/%e4%b8%89%e7%94%9f%e4%b8%89%e4%b8%96%ef%bc%8c%e9%97%aa%e5%ad%98%e6%95%b0%e6%8d%ae%e8%83%bd%e4%bf%9d%e6%8c%81%e5%a4%9a%e4%b9%85%ef%bc%9f/。)

考虑到文章的复杂性和专业性,并且为了不造成原作者的困扰,作了部分删节和部分解释处理。特此说明!

闪存的数据能保存多久?这个保存期限叫做Data Retention(俗称:断电数据保持期限),数据出错的标志就是从NAND Flash读出来的数据无法用ECC纠错成功。我们知道NAND Flash一般有以下错误:

  • 电气问题:比如虚焊或者芯片故障,导致正常命令无法执行或者数据错误率异常高。这种都在NAND或SSD出厂测试时被发现。
  • Read/Program/Erase失败:基本命令执行失败,通过status可以读到状态。这些在芯片使用过程中也有可能发生,但是概率非常小。
    (注:读/编程(写)/擦除失败的意思。如果写和擦除失败,SSD和U盘主控都会调用算法调用备用块替换。)
  • ECC纠错失败:其实就是数据错误率太高,超过了纠错算法的纠错能力。这种错是Data Retention错误,在所有错误中发生概率最高。


NAND数据保存出错的原因是随着时间流逝产生的电荷泄露。有一种防止数据保存出错的技术叫做动态刷新,就是定期对数据进行读扫描,如果发现错误率较高,但在纠错能力以内,就纠正错误,把数据写到新的地方。(注:三丧的TLC做的SSD经常就会自动后台干这种事,但U盘一般是不会做的,tf卡估计也不会)不过这样做有三个缺点,一个是增加写放大,缩短了SSD寿命,另一个是后台读写影响了用户使用的性能。另外对功耗要求高的消费级SSD要求在用户没有读写时,SSD就要休眠,所以也没机会扫描数据了,如果强行扫描就增加了功耗。


上图是一个NAND基本单元浮栅晶体管的截面图。最上面是控制层,中间是浮栅层,浮栅上面是多晶硅氧化层,下面是隧道氧化层。控制电压很高的时候,会产生量子隧穿效应,电子从衬底Substrate出发,穿过隧道氧化层,进入浮栅保存起来,就完成了写操作,充电了。反之,在控制层加很强的负电压,电子就从浮栅量子隧穿,回到衬底,这个操作叫做擦除。不过,控制层不加电压的时候,在氧化层依然有一个电场产生,叫做本征电场,它是由浮栅里面的电子产生的。在这个电场的作用下,电子会从浮栅慢慢泄露,泄漏的多了,数据就会发生错误。从写入操作,到电子慢慢泄漏,直到数据出错,这个期限叫做数据保存期,在SLC时代,这个时间很久,有好几年,但是到了TLC时代,就不到一年,有的只有几个月。(注:下面会用图片显示原因。)

那为什么NAND Flash用的越久,数据保存越短呢?这要怪一个效应:Trap-assisted tunneling (TAT,中文:陷阱辅助隧道穿越效应)。看看上图中的b,我们知道隧道氧化层是绝缘的,但是随着NAND的使用,历经很多次的擦写,氧化层和浮栅层的爱情终于要走到终点了,因为经过这么年风风雨雨,氧化层老了,有不少通过它的电荷被滞留下来,绝缘体有了导电性。这下,电荷从浮栅跑的就更快了。所以,NAND擦写次数越多,数据保存时间就越短。到最后额定擦写次数快到的时候,比如3000次,刚写的数据很容易出错。

不过,氧化层并不是总是在截留电荷,有时候它拦截的电荷也会离开,叫做Charge de-trapping。只不过离开的既有正电荷,也有负电荷,所以对阈值电压的影响是双向的。

那阈值电压是个什么东东呢?通过控制电压的调整,在Source和Drain之间会产生一条导电沟道,能导通的最小控制电压叫做阈值电压Vth。而阈值电压跟浮栅层电荷数量有关,电荷越多,阈值电压越大。MLC就是根据浮栅里面电子的多少,把阈值电压分为4个状态,来表示2bit数据。第一个状态就是啥都没写,如下图是后三种状态。这是蔡大侠做的实验,把NAND擦了8000次,然后写数据,放了四十天。为什么要擦8000次呢,因为这时候NAND比较脆弱了,数据保存错误表现得很明显。分别在不同时间段去查看阈值电压的分布。(注:看到这里大概很多人都会云里雾里,但下面的图很精彩,也说明很多媒体上关于NAND数据存储的方式实际上是不对的。)


(注:如果原文下面的解释你看不懂,不妨先看一下这里:
1.这是一张电压/概率的分布图,峰值高代表存进去的电荷的电压出现在这里的可能性比较大,反之则较小。
2.例子里面的是擦写了8000次的MLC flash。工艺制程为2xnm。理论上制程越高级(小),跑电越厉害,因为绝缘层越薄。
3.0天是蓝色的线,28天是红色线,40天的和28天的几乎相同。可以很明显地看出P1状态由于电压低几乎没什么改变,但P3状态由于电压高,已经跑了不少电了(峰值左移)。
4.上面的图是MLC的图,很明显只有3个峰(第四个状态就是不存电的电压接近于0的状态,一般的flash定义为全1,所以,很多媒体里面的示意图上面写的4个峰是错误的。
5.这也是SLC数据保存期长的原因,SLC可以用低电压保存数据,而且不容易掉电。)

通过这张图,蔡大侠发现了几个秘密:
1. 随着时间流逝,P2和P3的电压慢慢变小。下面这张图是三个状态平均电压的变化曲线,很明显,P2和P3一直在下降。这是为什么?因为P2和P3的时候,浮栅层电子比较多,导致本征电压比较大,电荷流失快。

(注:这个图指的是电压平均值随时间而减小,电压高的减得也快。)

2. 随着时间流逝,三个状态的峰变宽了。下面的图是阈值电压的方差,方差越大,意味着变化越大,可以看出,方差一直在增长。这有两个原因,一个之前说的,氧化层拦截的电荷会有可能离开,有正有负,阈值电压也受影响;其二,由于工艺原因,每个Flash浮栅晶体管都是不一样的,尽管浮栅层电子一直在流失,有的流失快,有的慢,导致大家的电压慢慢分开。

(注:方差图,解释见上面。说明电荷的存电是有一定的随机性的,如果恰好运气不好随机性太大,放的时间太长导致电荷范围交叉到另一个状态里去了(比如TLC)的话,那神仙也救不回你的数据了,你懂的

3. 阈值电压高的状态电压偏移的更快。可以理解,阈值电压越高,浮栅层电子越多,本征电压越大,流失电子越快。

我们来看看MLC的读流程。首先我们来问一个问题:为什么NAND写数据要随机化?因为随机化之后,fig.2 中的四个状态是相同概率的,所以相邻两个状态的电压分布可以充分隔离。反之,可以想象分布多的状态比较宽,少的比较窄。

MLC一个晶体管存储了两个bit,分别是低位的LSB和高位的MSB,读的时候,先以P1和P2中间为参考电压,获得LSB数据,接着根据LSB结果,以P0和P1或P2和P3中间为参考电压,获得MSB数据。由于电压分布随时间发生偏移,所以如下图,最佳参考电压也慢慢下降。而且P2和P3的中间电压比P1和P2的中间电压下降快。

(注:上图指的是最佳参考电压的平均数随时间变化的曲线。当然了光从前面的峰值图上看,参考电压当然要取到两个峰之间的中间点才是最佳的。你可以想象成判断正负的设备,高于参考电压的判断为正,低于的就判断为负。)

所以在NAND使用过程中,如果一直以一套电压标准读所有数据,就有可能出错。如下图,数据放了28天后有一个自己最佳参考电压,但是分别拿其他时间的最佳电压去读28天的数据,相隔越远,数据错误率RBER(Raw Bit Error Rate不可恢复性读取错误)越高。最后是用28天数据最佳电压都的结果,错误率最低,和0天的相比,差了4.6倍。


这就是NAND厂商提供Read Retry机制的原因,读出错之后通过换一套电压去重读,是有可能恢复数据的。通过重读的机制,可以延长NAND Flash的使用寿命。如下图,假设所有的数据写完放了7天后读,在不同的擦写次数P/E Cycle时分别用0-7天的最佳参考电压去读,可以看出,用7天的最佳参考电压读可以最晚达到ECC纠错能力的极限。相比最差的0天参考电压,可以延长1万次!


那么,不同Page和Block的数据保存期一样吗?根据蔡大侠的研究,同一个Block里面的Page有着同样的数据保存期,差别基本在一天以内。而不同Block的数据保存期差别很大。
(后面谈论的是技术性问题,故略)

总结及感想:
1.不管什么设备的存储,其实都是在与概率作斗争。
2.工艺越好,数据保存期越短。(所以我很期待国产单层或者多层SLC芯片的诞生,虽然要2019年,但落后的工艺带来的数据保存期限说不定也是个惊喜。)
3.TLC由于要划分7个尖峰,所以写寿命更低,更容易出现不可恢复的数据错误(简单来说就是电荷电压跑到另外一个概率区间去了)
4.相比SSD或者新的USB提供了各种改变参考电压读取重试的机制,TF卡的主控能力不允许有过多的纠错,所以TF卡需要使用质量更好的晶圆做,但是寿命反而更短。
5.中国需求大,所以市场上都是很多不合格的片子,也就是说除了上面的概率外还得加一个黑片读写错误率……
6.数据无价,安全第一。目前来看如果需要保存重要数据,机械硬盘仍然比闪存类设备要可靠得多。但消费者是不知道这一点的,而且我们每天都在产生大量数据,数据的重要性实际上是下降的,这才是很多“创新”(比如TLC做的SSD盘)能在消费级市场得到应用的原因,企业级有相当严格的一致性检查,这类盘多半通不过测试的。

快过年喽,有空的时候还请备份一下数据到机械硬盘中,说不定哪天就能用到了呢(注:有米买大容量云盘或者不在意数据隐私安全的可以无视)
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+30
离线dralausky

发帖
3176
M币
10636
专家
8
粉丝
35
只看该作者 1楼 发表于: 2018-02-03
请登录后查看
离线a268295

发帖
1287
M币
125
专家
5
粉丝
17
只看该作者 2楼 发表于: 2018-02-03
请登录后查看
离线jinpeng.li

发帖
1631
M币
280
专家
2
粉丝
37
只看该作者 3楼 发表于: 2018-02-03
请登录后查看
离线wqjuyu

发帖
1803
M币
858
专家
14
粉丝
26
只看该作者 4楼 发表于: 2018-02-03
请登录后查看
离线苏州熊猫

发帖
12550
M币
352
专家
37
粉丝
380
只看该作者 5楼 发表于: 2018-02-04
请登录后查看
本帖最近打赏记录:共1条打赏M币+1
离线qazwsxedczzz

发帖
2868
M币
3056
专家
10
粉丝
220
只看该作者 6楼 发表于: 2018-02-04
回 苏州熊猫 的帖子
请登录后查看
离线wqjuyu

发帖
1803
M币
858
专家
14
粉丝
26
只看该作者 7楼 发表于: 2018-02-04
回 苏州熊猫 的帖子
请登录后查看
离线byreni

发帖
292
M币
57
专家
0
粉丝
9
只看该作者 8楼 发表于: 2018-03-04
离线hhoouu

发帖
18
M币
806
专家
0
粉丝
0
只看该作者 9楼 发表于: 2019-09-30
回 dralausky 的帖子
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个