Flash芯片通常包括以下几个部分:非易失单元阵列、阵列解码电路、用于生成和调节单元编程和擦除所需电压的模拟子系统,用于从存储器阵列检索存储数据的读出放大器,系统控制逻辑和输入/输出(I / O)接口电路。此外,闪存存储器包含大量电路,其功能可以说是对最终用户隐藏,例如可测试性功能和修复和纠错电路。在本章中,将回顾用于实现上述功能块的设计技术,以及最常采用的闪存阵列实现和芯片架构特性的概述。
闪存外围电路有四种功能:erase,program,soft program(compaction),read。
3.2.1program
两种方法:CHE和Fowler – Nordheim (FN) tunneling。
Common ground NorFlash中常用的CHE:通道热电子编程包括向图3.1中的单元漏极D施加大约4至6V的相对高的电压,向单元栅极G施加高电压(8至11V),同时源极S和体B通过这种偏置方案,在单元中流过相当大的电流(0.3至1mA),并且在沟道中产生的热电子获得足够的能量以穿过栅极氧化物势垒并被捕获到浮栅中。
从erase的低电压切换到program的高电压,需要几微秒的时间。
注意:编程是指给浮栅中加电子,编程完成后cell为逻辑0,阈值电压增大。
NandFlash常用的FN-tunneling
D,B,S三极都接地,G加上20V左右电压。FN比CHE花费时间长,大约几毫秒,但是电流非常小,适合同时多个cell做program。
3.2.2 erase
所有flash都通过FN-tunneling来完成擦除。
在norflash中,Vgate- Vbulk=-10V,Vdrain -Vsource= 4~6V,其中Vbulk保持在0v,但是Vsource是浮动的。FN擦出大约需要几毫秒。
注意:擦出是把电子从浮珊中推出去,擦出完成后cell逻辑为1,阈值电压减小。
3.2.3 compaction(压实)(soft program)
对于norflash,由于存在过擦除的情况,也就是擦除导致浮栅上电子流失过多,使得阈值左移,这样可能导致下次program操作后,出现误读为1的情况。
为了避免overerase的影响,我们要先做soft program,也就是要把往浮栅中补充入一部分电子,使得阈值电压右移回正常值。
1如何判断这个单元是否已经overerase呢?
首先在source和drain间加入电压,gate端不加电压,看是否有电流,如果有就说明这个阈值已经小于或者等于0了。
2如何做compaction? 如何确保写操作
对于CHE,热电子穿透的写操作,Vgs正常,Vds偏小,即可。最后,当读取到drain-sourcce之间的电流是正常时,就可以停止了。
对于FN-tunneling,Vgs减小,Vds正常即可。同样也是最后读drain-source电流,达到正常范围即可。
3.2.4 read
在读取模式中,单元栅极G偏置为约5V,源极S和体B处于0V,漏极D处于约1V。读取电路的设计非常重要 单元漏极D从不经历大于1到1.5V的电压。如果在读取期间向单元漏极施加更高的电压,则单元本身将经历读取干扰。 读取干扰可能是由于读取期间的通道热电子产生引起的。 尽管相对于CHE编程电流,读取电流很小(10到50μA),但必须考虑到Flash单元大多数时间处于读取模式(闪存本质上主要是读取器件)。 因此,在器件寿命期间,即使少量的读干扰也可能会损害数据完整性。