原文链接点击这里

EEPROM(Electrically Erasable Programmable read only memory)即电可擦可编程只读存储器,是一种掉电后数据不丢失(不挥发)存储芯片。

EERPOM的基本结构有几种,这里讲解比较常用的FLOTOX管结构,如下图所示:

FLOTOX(Floating Gate Tunneling Oxide)MOS管即浮栅隧道氧化层晶体管,它是在标准CMOS工艺的基础上衍生的技术。

如上图所示,在传统的MOS管控制栅下插入一层多晶硅浮栅,浮栅周围的氧化层与绝缘层将其与各电极相互隔离,这些氧化物的电阻非常高,而且电子从浮栅的导带向周围氧化物导带的移动需要克服较高的势叠,因此,浮栅中的电子泄漏速度很慢,在非热平衡的亚稳态下可保持数十年。

浮栅延长区的下方有个薄氧区小窗口,在外加电场的作用下漏极与浮栅之间可以进行双向电子流动,继而达到对存储单元的“擦除”与“写入”操作。

为强调浮栅周围氧化物的绝缘效果,我们把绝缘层去掉,如下图所示,其中的“电子”就是我们需要存储的数据:

其原理图符号如下所示:

我们通常利用F-N隧道效应(Fowler-Nordheim tunneling对EEPROM存储单元进行“擦除”或“写入”操作,简单地说,即FLOTOX管的控制栅极与漏极在电场的作用下(正向或负向),浮栅中的电子获得足够的能量后,穿过二氧化硅层的禁带到达导带,这样电子可自由向衬底移动(具体细节可自行参考相关资料,此处不赘述)。

对EEPROM存储单元进行“擦除”操作,就是将电子注入到浮栅中的过程(不要将此处的“擦除”操作与FLASH存储单元中的“擦除”操作弄反了,具体参考FLASH对应文章),如下图所示:

如上图所示,将FLOTOX管的源极与漏极接地,而控制栅极接高压(不小于12V),浮栅与漏极之间形成正向强电场,电子从漏极通过隧道氧化层进入浮栅。

为防止存储单元“擦除”(或“写入”操作)对其它单元产生影响,每个FLOTOX管均与一个选通管配对(按照制造工艺可分为N管与P管,这里我们以N管为例进行讲解,P管是类似的),前者就是存储电子的单元,而后者用来选择相应的存储单元的控制位,这种结构导致单位存储面积比较大,因此,EEPROM存储芯片的容量通常都不会很大。

一个bit位的存储单元电路状态如下图所示:

其中,SG表示选通管的选通栅(Select Gate),CG表示FLOTOX管的控制栅(Control Gate),VPP表示外接高压,此处以12V为例

对EEPROM存储单元进行“写入”操作,就是将浮栅中电子释放的过程(不要把“写入”与“擦除”操作弄反了),如下图所示:

如上图所示,将FLOTOX管的源极悬空,漏极接高压(不小于12V),而控制栅极接地,则浮栅与漏极之间形成负向强电场,电子从浮栅通过隧道氧化层回到漏极放电。

配合对应的选通管,则一个bit位的存储单元电路状态如下图所示:

多个bit位组成的存储单元阵列如下图所示:

当进行存储单元的“擦除”操作时,源线(Sources Lines, SL)与位线(Bit Lines, BL)均为低电平,而控制栅线(CL)为高电平(不小于12V),当对应存储单元的选通管打开时(Word Line, WL=VPP),如下图所示:

当进行存储单元的“写”操作时,位线为高电平(不小于12V),而源线悬空且比Program Gate Line为低电平,当对应存储单元的选通管打开时(SG=VPP),如下图所示:

每8个存储单元配置一个高压传输管,则一个字节的存储阵列如下图所示:

很明显,EEPROM的“擦除”与“写入”操作均需要高压(强电场)进行浮栅电子的注入或释放,而一般的EEPROM芯片为5V供电,那么这些高压从何而来?对于并行EEPROM芯片,有专用的引脚可作为擦除功能的高压供电端,下图来自ATMEL并行EEPROM型号AT28C16数据手册:

可以看到,在进行“擦除”操作时,需要在OE(Output Enable)引脚接入12V的高压。

但是串行EEPROM就没这么幸运了,比如我们最常用的AT24CXX系列EEPROM芯片,通常是3.3V或5V供电的,而且对外的接口通常是I2C串行总线那样的两根线,那高压从何而来?有人想到了升压电路,没错,下图来自ATMEL串行EEPROM型号AT24C02数据手册:

其中,H.V. PUMP(High Voltage Pump就是高压泵(升压)电路,升压电路有很多种,比如整流倍压、变压器升压、BOOST升压、电荷泵等,但是,在集成电路设计中无法做成大容量电容与电感,因此,只有电荷泵电路比较适合片内升压,它的基本电路如下图所示:

我们分析其中一级就明白其升压原理了,如下图所示(原理与“整流倍压电路”类似,可参考《整流电路》文章):

在时钟周期CLKa期间,开关S1闭合,S2与地相连接,此时电容充电至VDD

在时钟周期CLKb期间,开关S1打开,S2与电源VDD连接,此时电源VDD与电容C的电压串联起来对外供电,此时VOUT=为时源VDD的两倍,即2×VDD

在集成电路设计中,可以使用NMOS或PMOS实现开关功能,电容则可使用MOS电容(即栅极作为一个极,而源极与漏极连接作为另一个极板),而二极管则用MOS管代替,如下图所示:

实际的电荷泵电路有很多种结构,如多相时钟电荷泵、CTS电荷泵、栅交叉耦合衬底偏置电荷泵等等,读者可自行参考相关文档,此处不再赘述。

那怎么样实现数据的“读取”操作呢?当浮栅中注入(充电状态)或释放电子(放电状态)时,存储单元的阀值电压会发生改变,如下图所示:

在读取存储单元时,我们可以在控制栅上加一个中间电平,其值介于两个阀值Vth之间,这样浮栅有电子的高开启管不能导通,而浮栅放电后的低开启管能正常导通,由此分辨出单元存储的数据是“1”还是“0”。

 

EEPROM工作原理透彻详解的更多相关文章

  1. MapReduce工作原理图文详解 (炼数成金)

    MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在 ...

  2. MapReduce 1工作原理图文详解

    MapReduce工作原理图文详解 一 MapReduce程序执行流程 程序执行流程图如下: 流程分析:1.在客户端启动一个作业.2.向JobTracker请求一个Job ID.3.将运行作业所需要的 ...

  3. MapReduce工作原理图文详解

    目录:1.MapReduce作业运行流程2.Map.Reduce任务中Shuffle和排序的过程 1.MapReduce作业运行流程 流程示意图: 流程分析: 1.在客户端启动一个作业. 2.向Job ...

  4. LVS-DR工作原理图文详解

    为了阐述方便,我根据官方原理图另外制作了一幅图,如下图所示:VS/DR的体系结构: 我将结合这幅原理图及具体的实例来讲解一下LVS-DR的原理,包括数据包.数据帧的走向和转换过程. 官方的原理说明:D ...

  5. <转>MapReduce工作原理图文详解

    转自 http://weixiaolu.iteye.com/blog/1474172前言:  前段时间我们云计算团队一起学习了hadoop相关的知识,大家都积极地做了.学了很多东西,收获颇丰.可是开学 ...

  6. Iptables工作原理使用详解

    Iptables防火墙简介 Iptables名词和术语 Iptables工作流程 基本语法 Filter 参数说明 NAT表: Icmp协议 TCP FLAG 标记 什么是状态检测 iptables的 ...

  7. IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...

  8. IIS连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    IIS:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池的最大工作进程数详解 iis性能指标的各种概念:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池 ...

  9. HashMap实现原理分析(详解)

    1. HashMap的数据结构 http://blog.csdn.net/gaopu12345/article/details/50831631   ??看一下 数据结构中有数组和链表来实现对数据的存 ...

随机推荐

  1. MySQL密码复杂度与密码过期策略介绍

    前言: 年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等.特别是进行等保评测时,评测机构会要求具备密码安全策略.其实 MySQL 系统本身可以设置密 ...

  2. MSSQL·查询存储过程中的关键字

    阅文时长 | 0.22分钟 字数统计 | 408字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查询存储过程中的关键字』 编写人 | SCscHero 编写时间 | 20 ...

  3. [刷题] 24 Swap Nodes in Paris

    要求 给定一个链表,对于每两个相邻的节点,交换其位置 示例 1->2->3->4->NULL 2->1->4->3->NULL 实现 1 struct ...

  4. [rhel-media] :Yum软件仓库唯一标识符,避免与其他仓库冲突。

    第1步:进入到/etc/yum.repos.d/目录中(因为该目录存放着Yum软件仓库的配置文件). 第2步:使用Vim编辑器创建一个名为rhel7.repo的新配置文件(文件名称可随意,但后缀必须为 ...

  5. IT菜鸟之计算机硬件

    现在的人们几乎无时无刻都会碰到计算机!不管是桌面计算机.笔记本电脑.平板计算机.智能型手机等等,这些东西都算计算机.虽然接触的怎么多,但是,我们一般很少会专门了解计算机内部的构成,下面就是自己在听课结 ...

  6. 035.Python正则表达式

    正则表达式 一 介绍 拼正则表达式是什么? 它是约束字符串匹配某种形式的规则 正则表达式有什么用? 检测某个字符串是否符合规则比如:判断手机号,身份证号是否合法 提取网页字符串中想要的数据.比如:爬虫 ...

  7. Navigation 实现不同fragment之间的view的共享(含动画过渡)

    以imageView的共享举例 两个fragment都要有各自的imageview视图,id可以不同,但transitonName一定要相同, 都要指定相同的src 例如: fragment A &l ...

  8. nginx 的基础知识(三)

    Nginx命令 nginx -s reopen 重启nginx nginx -s reload  重新加载nginx文件 nginx -s stop  停止nginx服务 nginx -s quit ...

  9. python实战项目练习-Django商城项目之注册功能实现

    设计到的前端知识 项目的前端页面使用vue来实现局部刷新,通过数据的双向绑定实现与用户的交互,下面来看一下需求,在用户输入内容后,前端需要做一些简单的规则校验,我们希望在在用户输入后能够实时检测,如果 ...

  10. [Windows] 将中文输入法热键改回Ctrl+Space

    造冰箱的大熊猫@cnblogs 2021/6/6 之前因为Code Composer Studio的缘故将Windows XP上的中英文切换热键从Ctrl+Space改为了Ctrl+Shift+Spa ...