【FLASH存储器系列二】非易失性存储器基本原理之EEPROM和FLASH

2023-05-16

👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容

1 EEPROM

        通过EPROM的原理分析我们知道,由于叠栅雪崩注入MOS晶体管(SAMOS)的结构特性(浮栅周围是二氧化硅的绝缘层),而且由于早期工艺的原因,这个二氧化硅层比较厚,势垒比较高,所以不管是往浮栅中充入电子还是擦除电子,都需要给电子充较大的能量,也就是需要更高的电压或更长的时间,很显然,加电压和加时间都不是好的选择,所以为了让电子移动更容易,就需要将这个二氧化硅绝缘层做得更薄,于是科学家们又研发了一种新的结构:FLOTOX,这也是一种浮栅存储器件,是在SAMOS的基础上,特别设置一层较薄的氧化层以产生热电子的隧道效应以实现向浮栅的注入,如下图所示,称为浮栅隧穿氧化层(FLOTOX)存储器。FLOTOX的工作原理与SAMOS相同,只是给浮栅充电方式是隧穿(Fowler-Nordheim隧穿)、而不是热电子注入。FLOTOX的工作电压较低,并且只需要一种极性的电压(正电压)即可实现编程和擦除两种功能。如下图所示,浮栅右侧有个下沉的小平台,这部分浮栅与漏极之间的绝缘介质(ONO或二氧化硅)只有10nm或更小,当把一个约10V电压加在这个薄介质之间时,电子将通过隧穿机理注入或导出浮栅。

        EEPROM的存储单元示意图如下:其中T1为FLOTOX晶体管,T2为选择管。

        读过程:字线为5V,打开选择管T2,浮栅管控制栅极给3V电压,当浮栅中有电子时,T1截止,位线读出1,当浮栅中没有电子时,T1导通,位线上读出0。同样,位线电压经过反相器后输出。也就是没有编程过的新片子,读出来是全1。

        写入:写入就是往浮栅中注入电子,就是写0,在20V的脉冲控制下,T2间歇性导通,T2导通期间,T1的漏极和源极均为0V,在T1的控制栅极的20V正脉冲作用下,漏极和栅极之间发生电子隧穿,电子从漏极注入到浮栅当中,通过脉冲控制注入的电子数量,使得T1要在控制栅极电压提高到7V才导通,所以读过程时T1栅极供电3V,才能保证有浮栅电子时是截止的,这就是这个选择管T2的作用—控制T1管的导通阈值。

        擦除:擦除就是将浮栅中注入的电子拉出来,也就是写1。在20V的脉冲控制下,T2间歇性导通,T2导通期间,T1的漏极为20V脉冲,而此时控制栅极电压为0,于是漏源介质再次发生隧穿,不过这次的电子流动方向是从浮栅到漏极,一直擦除到T1的开启电压变成0V,保证读过程,浮栅没有电子时,T1栅极供电3V能正常导通。

   

        通过以上的分析可以知道,EEPROM的存储单元有两个管子,所以相同工艺、相同容量时,EEPROM的体积更大,同时制造低于10nm的隧穿氧化层工艺较难,成本较高。一般EEPROM的容量不会很大。

2 FLASH

        Flash的存储结构是EPROM和EEPROM的结合。大多数flash器件采用和EPROM一样的雪崩热电子注入的方式往浮栅充电完成写入,而采用和EEPROM一样的FN隧穿效应来完成擦除,所以它既有EPROM的单管结构,也能像EEPROM一样在线擦除,其容量比EEPROM大很多。

        不同厂家推出的flash浮栅结构可能有些不同,但原理基本一致,如下为英特尔推出的ETOX(EPROM tunnel oxide)flash单元,采用了非常薄(10nm)的隧道氧化层来隔离浮栅和衬底,使用隧道氧化层的不同位置进行编程和擦除。通常情况下nor flash使用这种类似结构,编程过程为热电子注入,擦除过程为栅源之间的FN隧穿效应;而nand flash编程是利用栅漏之间的FN隧穿,擦除是利用栅极和衬底之间的FN隧穿。

        写入:在漏极加6V电压,栅极加12V脉冲,漏源之间发生雪崩击穿产生热电子,热电子在12V脉冲作用下,穿过薄隧道氧化层进入浮栅中,通过脉冲控制注入的电子数量。

        擦除:源极加12V ,栅极接地,源栅之间发生FN隧穿,将浮栅中的电子拉回源极。

        读取:字线接源极为5V,位线接漏极,预充电到高电平。当浮栅中没有电子时,管子导通,位线被拉低,经反相器输出1,当浮栅中有电子时,电子截止,位线保持预充电电压,经反相器后输出0。

        为什么写入不能和擦除一样用隧穿效应呢?我觉得是可以的,这个依据所用浮栅晶体管的浮栅和源极的重叠区域大小来定,如果浮栅就在源极正上方,12V产生的场强全部集中在这个隧穿区,那是可以达到隧穿的发生条件的。如果重叠区域比较小,12V产生的场强被分散,则不足以发生隧穿。而擦除时12V在源极上,源极的区域小,能够在与浮栅的重叠区形成的小电容中产生大场强,达到了隧穿的条件。这只是技术的选择问题,可以选择加大电压或者把氧化层做的更薄来提升隧穿概率。

        为什么擦除要在源极接12V呢?在flash存储阵列中,源极是接在一起的,这样可以实现以块为单位快速擦除(NOR flash架构),如果存储阵列源极不是接在一起,则高压不是加在源极,而是加载这些存储阵列的公共衬底上(NAND flash架构)。为什么高压加在衬底上也能发生浮栅到源极的隧穿?我们知道浮栅晶体管就是在原来MOS的基础上增加了一个浮栅,而MOS管本身的源极和衬底是相连的,所以衬底加了高压相当于源极加了高压。

        以上两个问题都是我个人的理解,大家自行斟酌判断,欢迎指正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【FLASH存储器系列二】非易失性存储器基本原理之EEPROM和FLASH 的相关文章

  • 深入理解SQLite3之sqlite3_exec及回调函数

    sqlite3的C C 43 43 接口API主要有3个重要函数 xff0c 分别为 1 sqlite3 open const char filename sqlite3 ppDb 2 int sqlite3 exec sqlite3 An
  • 5G:三大场景--- eMBB、URLLC、mMTC

    背景 xff1a 很多人认为 5G 确实是未来的发展方向 xff0c 但具体到哪些落地 xff0c 又说不清楚 xff0c 甚至于认为 5G 只比 4G 多了一个G 而已 xff0c 但笔者认为 xff1a 5G 在移动通信领域绝对是革命性
  • Linux:lspci命令介绍

    lspci xff0c 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具 pci是一种总线 xff0c 而通过pci总线连接的设备就是pci设备了 如今 xff0c 我们常用的设备很多都是采用pci总线了 xff0c
  • iperf详细使用方法

    Iperf 是一个网络性能测试工具 Iperf可以测试TCP和UDP带宽质量 Iperf可以测量最大TCP带宽 xff0c 具有多种参数和UDP特性 Iperf可以报告带宽 xff0c 延迟抖动和数据包丢失 Iperf使用方法与参数说明 参
  • IPSec浅见

    1 IPSEC协议簇安全框架 a IPSec简介 IPSec xff08 Internet Protocol Security xff09 xff1a 是一组基于网络层的 xff0c 应用密码学的安全通信协议族 IPSec不是具体指哪个协议
  • IPsec:strongswan与vpp实现ipsec

    1 strongswan 43 vpp简介 strongswan与vpp如何结合 本次实验使用的是VPP 20 01 版本 43 strongswan 5 9 6版本 目前strongSwan 43 vpp的方案主要是使用strongswa
  • Linux:启动sshd服务的时候提示错误Unsupported option UsePAM

    问题 分析 默认的configure 没有启用 with pam选项 xff0c 如果在sshd config配置文件里加入UsePAM no 就会导致上面的错误提示 UsePAM与ssh密码认证相关 xff0c 但公司服务器禁止通过密码认
  • Ubuntu: ssh升级后服务不稳定不断重启,查看sshd服务状态为activating(start)的解决办法

    现象 xff1a Ubuntu20 04 升级ssh7 4到8 1版本后 xff0c ssh连接不稳定 xff0c 时断时续 xff0c systemctl status sshd查看服务状态为activating start xff0c
  • Linux:grep命令检索文件内容详解

    前言 Linux系统中搜索 查找文件中的内容 xff0c 一般最常用的是grep命令 xff0c 另外还有egrep命令 xff0c 同时vi命令也支持文件内容检索 下面来一起看看Linux利用grep命令检索文件内容的详细介绍 方法如下
  • stm32零基础应该怎么入门?

    单片机 xff08 microcontrollers xff09 是一种集成电路芯片 xff0c 是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 多种I O口和中断系统 定时器 计数器等功能集成到一块硅片上构成的一个小而完善
  • Linux:CPU频率调节模式以及降频方法简介

    概述 cpufreq的核心功能 xff0c 是通过调整CPU的电压和频率 xff0c 来兼顾系统的性能和功耗 在不需要高性能时 xff0c 降低电压和频率 xff0c 以降低功耗 xff1b 在需要高性能时 xff0c 提高电压和频率 xf
  • Linux:rsyslog 日志丢失 messages lost due to rate-limiting

    系统日志显示 cat var log messages Apr 7 16 20 01 ngnodeb rsyslogd imjournal 154664 messages lost due to rate limiting 解决方法 修改配
  • Linux:shell 中的单行注释和多行注释

    关于 shell 中的单行注释和多行注释 单行注释 众所周知 xff0c 使用 比如想要注释 echo 34 Hello World 34 root 64 test vim test sh echo 34 Hello World 34 多行
  • Shell三剑客之sed:修改 xml

    修改前 vim config xml lt config input type verify 61 34 bool 34 name 61 34 flow bypass class 34 visible 61 34 true 34 gt fa
  • STM32串口通信

    STM32串口通信 一 基于寄存器与基于固件库编写的差异二 stm32串口通信实战1 烧录方式2 代码及效果图 三 C语言程序里全局变量 局部变量 堆 栈等概念四 stm32的堆 栈 全局变量的分配地址 一 基于寄存器与基于固件库编写的差异
  • keil下的FreeRtos多任务程序

    keil下的Freertos多任务程序 1 手动移植FreeRtos xff08 以STM32F103为例 xff09 2 直接使用野火的模板 1 手动移植FreeRtos xff08 以STM32F103为例 xff09 用该链接下载Fr
  • 随笔小记(二十七)

    神经网络中Epoch Iteration Batchsize相关理解和说明 batchsize xff1a 中文翻译为批大小 xff08 批尺寸 xff09 简单点说 xff0c 批量大小将决定我们一次训练的样本数目 batch size将
  • 手把手教物体检测——EfficientDet

    目录 摘要 训练数据 1 下载Pytoch版的EfficientDet 2 制作数据集 3 下载EfficientNets预训练模型 4 安装模型需要的包 5 放置数据集 6 修改train py中的参数 测试 注意 摘要 谷歌大脑团队 Q
  • 简化的围棋棋子规则(C++实现)

    题目 xff1a 输入棋盘 xff1a 1 1 2 3 2 3 3 3 2 3 3 3 2 2 2 3 3 3 1 2 2 2 3 3 2 1 1 2 3 1 其中1代表空 xff0c 2代表白子 xff0c 3代表黑子 xff09 输出
  • MATLAB中将图像转换为二值图像im2bw

    在MATLAB中将图像转换为二值图像 xff0c 主要运用im2bw函数 xff0c 涉及到一个灰度门槛的数值 对于灰度图像 bw 61 im2bw I level level空着的话 xff0c 默认是0 5 level一般使用grayt

随机推荐