专注高可靠性工业级固态硬盘

和存储卡的研发与生产

闪存数据完整性对SSD读取数据的重要性

时间: 2021-12-01   来源: 本站
闪存的一个特性就是随着闪存的使用以及数据存储时间的变长,存储在闪存里面的数据容易发生比特翻转,出现随机性错误。这个问题随着闪存制程的变小越发严重。因此使用闪存作为存储介质的固态硬盘,需要采用一些数据完整性的技术来确保用户数据可靠不丢失。常见的技术有:
  • ECC 纠错
  • RAID 数据恢复
  • 重读(Read Retry)
  • 扫描重写技术(Read Scrub)
  • 数据随机化
图怪兽_5fa17554b70cab9baf33c89aa060a999_64281

读错误来源

闪存数据发生错误,主要有以下几个原因:
1.擦写次数增多
随着闪存块擦写次数增多,氧化层逐渐老化,电子进出存储单元越来越容易,因此存储在存储单元的电荷容易发生异常,导致数据读错误
1

2. 数据保留

随着时间的推移,存储在存储单元的电子会流失,整个阈值电压分布向左移动,导致读数据的时候发生误判

3.读干扰

读一个 Wordline 数据时,需要施加Vpass电压在其他 Wordline上,导致其他闪存页发生轻微写。如果读的次数过多,轻微写累积起来就会使阈值电压分布发生右移,导致读数据时候发生误判,即读数据错误

4.存储单元之间干扰

由于存储电子的浮栅极是导体,两个导体之间构成电容,一个存储单元电荷的变化会导致其他存储单元电荷变化,而受影响最大的就是它与相邻的存储单元。周围的单元是不同的状态时,中心单元的阈值电压是不一样的。
睿达存储
5. 写错误
写错误一般发生在MLC或者TLC 2-Pass(先写Lower Page,然后再写Upper page)写过程中。写Upper page的时候,它是基于之前Lower page的状态,然后再写每个存储单元到目标状态。如果写Upper page的时候,Lower page数据已经出错(注意写Upper的时候,Lower Page的数据是不会经过控制器ECC纠错的,写过程发生在闪存内部),就会导致存储单元写到一个不期望的状态,即发生写错误。

数据一开始就写错了,当然就别指望读对了。

TLC 1-Pass program则没有这个问题,因为Lower Page和Upper page是一次性同时写入,写Upper page不依赖于Lower Page数据。当然,如果一开始擦除状态就不对,那么还是会发生写错误。
分享到 :
18098916915 在线咨询
在线留言 在线咨询
sales@agrade.com.cn 邮箱地址