闪存flash读写原理
首先讲述的是基本原理,因为前面总结了很多基本原理,所以这个位置比较粗略的带过。
1、基本原理
从图上可以看出,Vt为开启电压,对于N沟道的cmos,当门极加的电压逐渐变大的时候,多数载流子被门极所吸引,向上移动,形成N型沟道,N型半导体即被导通,有导通电流。开始有导通电流的门极所加的电压我们称为开启电压,随着开启电压的增大,电流逐渐增大。这就是cmos管的基本原理。
从cmos管过渡到nand flash:
和cmos不同的是,在门极附近加了浮栅,浮栅的两边是氧化层。
当写的时候,加入足够大的门极电压,就可以通过氧化层的隧穿效应,将电子打入到浮栅中完成写0的过程;
当擦除的时候,就加反向电压同样利用隧穿效应让电子从氧化层出来,就可以完成擦除功能。
当读的时候,由于浮栅里面有电子,会有反向电场,这个时候会导致开启电压增大,读的时候就是靠这个特性,给门极加大于开启的电压的电压值,则沟道导通,会有导通电流,通过导通电流即可分析是否是0。
从这个图可以看出,以mlc为例,怎么读出mlc的数据呢,同样是按照之前的探测电压的方式,通过步进的探测电压,探测三个阈值,如果探测电压下有电流检测到,则表示是什么样的数据值,这就是cell多bit的读操作原理。
三种方式的读写擦以及PE的比较:
从这个图可以看出,tlc主要是写很慢,但是存储密度大;slc读写速度慢,但是密度小。
字线和位线的原理,之前已经有讲述,这里不再多讲了。
从和这个图上看到,nand flash 最坏的一点 就是 异地更新(out-of-place update)
什么叫做异地更新呢??
就是当我们要对某个page的数据进行更新的时候,我们不能直接像这个page写,因为这个page不是空白页,已经被写了,这个时候我们只能将这个page复制到其他空白页,然后在测试这个block,然后在写入,十分的不方便,就是因为有数据更新写的时候要进行异地复制,擦除,再写。