Nand Flash 通过调整阈值的Retry方法简单描述

最近想到了一个如何更加简单的理解Nand Flash做Retry原理的方法,在这里记录分享一下

这里为了表述简单,假设一个Nand Flash,它非常非常的小,小到只有8个SLC Cell,本身Retry原理跟Block、Page、WL关系不是很大,所以就假设他们都不存在好了。这个Flash他就只有8个SLC Cell,所以他可以存储的数据量为8 bit

这个Cell也比较特别,在打入电子的时候,我们不用准确的电压值来做记录,而是用一个V1,V2来代表该Cell的电压。

如上图所示,该Flash的每个Cell只能存在V0到V7共8种电压状态,当读取数据时,根据该Cell的电压在P值的左边还是右边,判定读出的值分别为1和0。

下面开始模拟编程过程,设定我们要写入的原始数据为0x55,他的二进制是0101 0101 b,首先写入bit 0  数据为1,那么这时候Nand Flash 把Cell 0猛地打入电子,同时使其电压尽可能处于P值的左边,最后Cell0的电压落在了V1。

上图表示这时候落在V1的Cell 数量有1个,用对应的颜色在图上表示对应Cell的电压值,个数的意思是这个Flash当中,处于对应电压的Cell有多少个。

后面7个Cell就不一一展示了,假设他们在写完之后呈现出这样的一个状态

大概解释一下就是处于V2电压的Cell有bit 2和bit 4,处于V6电压的Cell有bit 3和bit 5.

这时候,我们通过P阈值来读取数据,就能正确的读出原本写入的0x55,通常情况下这个图会被画成折线图我们现在把他连起来,得到下面这个样子

这个图就是阈值分布图,可以看到在阈值P的地方两个波交叉较少,在正常的Flash当中这时候用ECC就能纠错,不过在这个特殊的Flash当中还没有数据出错。

存好数据之后,这个特殊的Flash可能会被高温,低温,ReadDisturb等等等等各种环境摧残,最终他的有一个Cell的电压发生变化了。变成了下图这种状态

如上图所示,bit 6的电压从V3跳到了V4,这时候我们再继续用阈值P来读数据,实际上读出来的是0001 0101b,即0x15,画出阈值分布曲线之后是这个形态

可以看到两个波峰交叉的地方升高了。所以这时候如果想要数据能够正确的读取出来,要将阈值P进行偏移

将阈值偏移到P0进行数据读取时,bit 6又可以读出数据是1,变回正确数据,这就是Retry时做阈值偏移的基本原理。上面画的阈值分布图实际上是针对不知道原始数据的时候画出来的,所以看不出真实的Cell变化。不过此时我们是知道原始数据为0x55的,所以知道是哪一个bit发生的变化,因此可以画出更详细的阈值分布图:

上图红线表示原始数据为1的Cell,绿色为原始数据为0的Cell。

以上就是Retry基本原理以及阈值分布图的画法解析。

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
NAND flash memory is widely used in electronic devices such as smartphones, tablets, and solid-state drives (SSDs). During the reading process, errors can occur due to various factors such as noise and interference. To improve the reliability of data reading, NAND flash memory controllers implement two techniques: re-read and read retry. Re-read is a technique where the memory controller reads the same data multiple times and compares the results to detect errors. If the results are inconsistent, the controller will perform another read operation until it gets a consistent result. Re-read is a simple and effective technique to detect and correct errors. Read retry is a more advanced technique that involves adjusting the read parameters of the memory controller based on the characteristics of the NAND flash memory. Read parameters such as read voltage and read latency can be adjusted to improve the reliability of data reading. Read retry requires more complex algorithms and can improve the performance of the NAND flash memory in high-noise environments. In summary, re-read and read retry are two techniques used by NAND flash memory controllers to improve the reliability of data reading. Re-read is a simple and effective technique that reads the same data multiple times and compares the results to detect errors. Read retry is a more advanced technique that adjusts the read parameters of the memory controller based on the characteristics of the NAND flash memory to improve the reliability of data reading.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值