关于eFuse模块解析、一次可编程的非易失性存储器(OTP NVM)解析

  • 1 基本概况及介绍
    • 1.1 相关简介
    • 1.2 关于eFuse工作原理
  • 2 应用功能总结
  • 3 关于eFuse解析
    • 3.1 基本介绍
    • 3.2 相关信号
    • 3.3 eFuse操作模式
      • 3.3.1 编程模式(Program Mode)
      • 3.3.2 读取模式(Read Mode)
      • 3.3.3 非活动模式(Inactivate Mode)

Author: Nirvana Of Phoenixl
Proverbs for you:There is no doubt that good things will always come, and when it comes late, it can be a surprise.


本文主要用于通过分析eFuse工作原理及其模式

1 基本概况及介绍

  不同于大多数FPGA使用的SRAM阵列,eFuse一次只有一根熔丝能够被编程,这是该方法的配置能力存在限制范围的原因。但当与日益成熟的内置自测试(BIST)引擎组合使用时,这些熔丝就变成了强大的工具,能减少测试和自修复的成本,而这正是复杂芯片设计所面临的重大挑战。
   eFuse就好像在硅片上建立了无数个交通岗哨,控制信号的传输或停止,据悉这将把芯片中的电路运行效率提高上千倍。比如您购买了一个新的控制器,最开始的时候控制器的功能是空的,不过在把它带回家后,它重新识别了您家中的所有系统,电视、音响、DVD,并且自动对自身进行改造,来控制这些电器。

1.1 相关简介

  (1)非易失性存储器(NVM,Non-Volatile Memory)
  所谓非易失性存储器NVM 的特点是存储的数据不会因为电源关闭而消失。比如Mask ROM、PROM、EPROM、EEPROM、NAND / NOR 闪存 (Flash Memory) 等传统 NVM,以及目前许多正在研发的新型态存储器,如磁性存储器 (MRAM)、阻变存储器 (RRAM)、相变存储器 (PRAM)、铁电存储器 (FeRAM) 等等都属于 NVM。因此,非易失性存储器NVM的概念设计的范围很广。 <font color= >
  从可编程次数来看,NVM可以分为3类:
 MTP:Multiple-Time Programmable,可以多次编程
 FTP:Few-Time Programmable,可编程的次数有限
 OTP:One-Time Programmable,只允许编程一次,一旦被编程,数据永久有效。
  实际上我们常说的OTP(One-Time Programmable)指的是可编程的次数,代表一次可编程存储器此类特性的存储单元,并不特指某一种存储器。
  (2)关于一些存储器(Mask ROM, PROM, EPROM, EEPROM)
  Mask ROM是掩模只读存储器,Mask也称为光罩,所以也称为光罩只读存储器。其通过掩模工艺,一次性制造,其中的代码与数据将永久保存(除非坏掉),不能进行修改,属于不可编程ROM.PROM(Programmable Read Only Memory)是可编程只读存储器,相对于传统的ROM,其数据不是在制造过程中写入的,而是在制造完成之后通过PROM programmer写入的。PROM 中的每个bit 由熔丝 ( fuse ) 或反熔丝 ( antifuse ) 锁定,根据采用的技术不同,可以在晶圆、测试或系统级进行编程。典型的PROM的所有位都为“ 1”。在编程过程中烧断熔丝位(Burning a fuse bit)会使该位读为“ 0”。存储器在制造后可以通过熔断保险丝(blowing the fuses)进行一次编程,这是不可逆的过程。典型的PROM是“双极性熔丝结构”,如果想改写某些单元,可以给这些单元通以足够大的电流,并维持一定的时间,原先的熔丝(fuse)即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM是使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,采用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。EPROM(Erasable Programmable Read-Only Memory)是可擦写可编程只读存储器。它的特点是具有可擦除功能,擦除后即可进行再编程,但是缺点是擦除需要使用紫外线照射一定的时间。EEPROM(Electrically Erasable Programmable Read-Only Memory)是电可擦除可编程只读存储器。它的最大特点是可直接用电信号擦除,也可用电信号写入。
  (3)一次可编程的非易失性存储器(OTP NVM)
  针对OTP NVM存储器主要有两种eFuse 和Anti-Fuse。fuse是保险丝·、熔丝的意思,在计算机技术中,eFuse(electric-fuse,电子保险丝)是置于计算机芯片中的微观保险丝。该技术是IBM在2004年发明的,可以对芯片进行动态实时重新编程。概括地说,计算机逻辑通常被“蚀刻”或“硬连线”(“etched” or “hard-wired”)到芯片上,在芯片制造完成后不能更改,但使用eFuse,芯片制造商可以在芯片上的电路运行时进行更改。具体下文详解。

1.2 关于eFuse工作原理

  OTP,One time programmable,是一种特殊类型的非易失性存储器 ( non-volatile memory ), 只允许『编程』一次,一旦被编程,数据『永久』有效。相较于MTP (multi-time programmable ) 如EEPROM, OTP 的面积更小而且不需要额外的制造步骤,因此广泛应用于low-cost 芯片中,OTP 常用于存储可靠且可重复读取的数据。
  eFuse电子保险丝可以用硅或金属制成,它们都是通过电迁移来工作的,即电流导致导体材料移动的现象。随着时间的流逝,编程期间产生的“熔丝碎屑”会反向生长,导致金属线断开的相同电迁移也会导致金属线无意中再次连接,从而改变原本要存储的数据,导致了错误的行为。此特性限制了eFuse 的可读次数。
  Anti-Fuse(反熔丝)是一种电气装置,其功能与保险丝相反。保险丝从低电阻开始,默认是导通状态,当灌以较大的电流时切断电路。而反熔丝从高电阻开始,默认是不导通状态,当灌以较大的电压时,可将其转换为永久性导电路径。
  Anti-fuse 比eFuse 的安全性更好,eFuse的编程位可以通过电子显微镜看到,因此其存储的内容可以被轻易破解,但Anti-fuse在显微镜下无法区分编程位和未编程位,因此无法读取数据。
  传统eFuse的熔丝由多晶硅栅极层制成,随着工艺几何尺寸的缩小和High-K 材料的使用,现在eFuse的熔丝改由金属制成,随着时间的流逝,编程期间产生的『熔丝碎屑』会反向生长,这限制了eFuse的可读次数。eFuse的形状类似于领结,中心是一条窄金属条,较大的端头用作通孔和散热器的连接,受限于该形状,随着晶体管尺寸的减小,eFuse 的尺寸不能按比例减小,因此随着Macro 尺寸变大,eFuse 的密度并不能同比例增加,很少会超过4KB。
  计算机逻辑通常是“蚀刻”或“硬编码”到芯片上,在芯片完成后不能改变。通过使用eFuse技术,芯片制造商可以允许芯片上的电路在运行时发生变化。该技术的主要应用还主要是为了芯片的性能调优。如果芯片局部发生问题,例如存储器发生问题,或者需要花费太长的时间来响应,或者消耗了太多的电力,那么芯片就可以通过“blowing”一个eFUSE来立即改变它的行为,已保证其他功能不受影响。

2 应用功能总结

  eFuse应用范围很广,从模拟器件的调整、校准、修复到系统软件的现场更新,且被广泛应用于安全领域,但由于eFuse的『编程结点』可以通过电子显微镜看到,因此其存储的内容可以被轻易破解。efuse类似于EEPROM,是一次性可编程存储器,在芯片出场之前会被写入信息,在一个芯片中,efuse的容量通常很小,可EFuse支持反复写入,但写到总的空间就不可以再写。
  简单就 eFuse功能 作以总结介绍,具体如下文:
  (1)Efuse被广泛利用最重要的一个原因就是能够对有缺陷的芯片进行修复,而且在修复的过程当中不需要外界的干预。对于芯片的生产以及考虑到生产的成本,最重要的一点就是芯片生产的良率,若生产出有缺陷的芯片,而又不能修复那处理的结果就只能是报废,这样的处理方式在很大程度上增加芯片的成本。Efuse技术的出现,即通过改变电路的某些电压,或者特意去关闭一些功能模块,这样即使芯片出现缺陷,但是依旧能去实现芯片要实现的某些功能。这样即使有生产出来的芯片有缺陷,通过Efuse技术去发现错误,并且对错误进行修复,这样一来芯片还是可以正常使用,所以Efuse技术在提高芯片的良率以及降低芯片的成本上有很大的贡献。另一方面,通过找到芯片易出错的地方,有助于以后芯片的改进,以前的熔丝都是单排的,只能进行一次的编程,而随着工艺的改进,现在Efuse采用的都是多排阵列,这就实现了Efuse的自我修复。
  (2)利用Efuse可以降低芯片的功耗以及增加芯片的可控性,由于Efuse可以进行编程,从而可以实现芯片关闭某些工作模块,当我们不需要某些模块时可以利用Efuse的编程来限制或者是屏蔽某些功能,从而可以降低芯片的功耗,也能进一步增加芯片的可控性。
  (3)可提高芯片的安全性,利用Efuse技术,密码随时都可以进行修改,能有效的降低黑客的入侵。
  (4)Efuse技术还可以降低制造的成本。在第一个功能应用中我们通过对芯片的修复,能减小芯片的报废而降低一部分成本,另外一个降低成本是通过芯片的集成多种不同的应用功能模块,当客户选择不同的功能时,不需要重新设计与制造,只需要通过Efuse技术来选择功能模块。这就在另一个层面来达到降低成本的效果。
  (5)随着工艺的更微小化,Efuse利用电位迁移的技术,不仅不会对周边的电路造成破坏,而且还能对在封装后的芯片进行编程,这使得Efuse在芯片中的应用更为广泛。
  (6)类似启动程序、加密密钥、模拟器件配置参数等。可通过efuse 控制着系统启动方式。模拟电路受工艺制造等误差的影响,流片回来的芯片往往需要对作参数校准,调试完成后将确定的值烧写到OTP中,芯片上电后OTP的值被装载到寄存器中,模拟电路参数完成校准。通过运用eFuse技术,允许计算机芯片的动态实时重新编程。Efuse可用于存储MEM repair的存储修复数据,也可用于保存芯片量产信息,以便后续追踪,如芯片可使用电源电压,芯片的版本号,生产日期。
  Efuse对于芯片而言就像一个指挥官,它能够控制芯片中很多信号的的传输或者将其停止,这样就使得芯片中的其他电路能够更快的运转,Efuse不仅再一次的拯救芯片,还能提高芯片的效率。

3 关于eFuse解析

3.1 基本介绍

  S14NSFPEFUSE_PIPO4KB_A模块是并行输入/并行输出电熔丝宏IP,具有4K内部非易失性一次性可编程EFUSE存储器。对于串行接口,在编程模式下每次可编程1位,在读取模式下每次可读取8位。举例说明(不代表该IP支持)
          写模式如下

          读模式如下

eFuse功能特点如下参考涉及:
 存储单元组织形式:组织成512×8位的一次性可编程非易失性电熔丝存储单元。
 典型电压:0.8V典型内核电压(DVDD)。
 熔断燃烧时间:累计燃烧时间不得超过1s。
 工作:工作结温范围
燃烧(熔断)要求如下:
 1.8V典型燃烧电压,在编程模式下AVDD必须为高电平。在读取模式和非活动模式下,PGMEN必须为低电平。

3.2 相关信号

输入/输出类型 功能描述
EN-input 地址信号使能
RD-input 读使能
A-input 地址输出
D-output 数据输出
input 数字电源、模拟电源

具体信号不同因厂商而异

3.3 eFuse操作模式

eFuse宏有三种操作模式,具体如下:
  (1)编程模式(Program mode)、
  (2)读取模式(Read mode)、
  (3)非活动模式(Inactive mode)。
  eFuse模块三种模式选择由其读选择信息(RDEN)和程序选择(PGMEN)的逻辑电平共同决定。
工作模式:
  Mode 编程使能
  PGMEN 读取使能
  RDEN 模拟电源
注意事项:
(1) 编程使能和读使能不允许同时为H。
(2) 除了在编程模式或读取模式下,不允许地址输入高电平,也就是说只有在编程或读取模式下才允许AEN为高电平。
(3) 在编程模式或读取模式下,当AEN为高电平时,不允许端口(地址)切换。
(4) 既不允许读取模式直接转换到编程模式,也不允许PGM模式直接转换到读取模式。

3.3.1 编程模式(Program Mode)

  在燃烧前,初始Fuse输出为“0”,燃烧后写入“1”。当编程模式(读使能RDEN=L,编程使能PGMEN=H)时,由地址A[11:0](地址输入位)指定的EFUSE位将被AEN(地址使能位)的高脉冲烧毁。程序模式的详细时序见详解。D[7:0]在程序模式下未定义。
注意:一根Fuse只能烧一次。

3.3.2 读取模式(Read Mode)

  如果RDEN=H,PGMEN=L,则EFUSE进入读取模式。读取模式的详细时序间详解。地址信号A[11]~A[9]为“无效”。4K = (4*1024) byte = 4096byte
2^9 = 512 组织成512×8位的一次性可编程非易失性电熔丝存储单元。其中A[11:0]为地址输入,A[0]A[8]是有效单元,D[0]D[7]是读取模式下的并行数据输出。

【重点分析】 对于上图所示的efuse阵列,为了精准控制每一个efuse,显然需要进行行列控制。A[8:0]的高3位可产生8(23)个列信号,低6位可产生64(26)个行信号,这样就可以对64*8的矩阵实现地址控制。需要编程时,令PGEN=1,RD=0,对指定地址位的熔丝进行熔烧操作。当需要读取熔丝数据时,令PGEN=0,RD=1,数据以每次8bit的形式并行输出,实际是一次读出一行数据(512bit),全部读出需要64(512/8=64)次。

3.3.3 非活动模式(Inactivate Mode)

如果编程模式和读取模式都不活动,则EFUSE进入非活动模式。非活动模式下的首选待机条件为AEN = L,RDEN = L,PGMEN=L,D[7:0]在非活动模式下未定义。

一次可编程的非易失性存储器(OTP NVM)工作原理、eFuse模块解析相关推荐

  1. 网络编程技术——Web系统构成与工作原理

    Web系统构成与工作原理 1.1 Web系统的发展历程 C/S结构:客户机和服务器结构 如QQ.迅雷.魔兽争霸等需要下载安装客户端软件的系统 B/S架构:不需要安装客户端软件,它运行在客户端的浏览器之 ...

  2. 实验4:Zigbee使用非易失性存储器来存储自定义数据 - 新兵训练营(6)

    English | 中文 The article is released under license CC BY-NC-ND 4.0 IoT Boot Camp系列课程是由TorchIoTBootCa ...

  3. 腾讯架构师理解的并发编程基石——Thread类的工作原理

    1. 开篇词 说到并发编程,可能大家脑海中的第一印象会是 Thread.多线程.JUC.线程池.ThreadLocal 等等内容.确实,并发编程是 Java 编程中不可或缺的一部分,掌握并发编程的核心 ...

  4. 非易失性存储器Flash和EEPROM之间的差异与优缺点

    在嵌入式系统中,Flash和EEPROM能够存储可用于通信或执行某些功能的数据.它们可以通过多种不同的串行协议(包括SPI或串行外围设备接口)来连接存储设备.在单片机中也集成了多种不同类型的SPI存储 ...

  5. 非易失性存储器的分类和未来发展预测

    非易失性存储器是指当电流关掉后,所存储的数据不会消失者的电脑存储器.非易失性存储器中,依存储器内的数据是否能在使用电脑时随时改写为标准,可分为二大类产品,即ROM和Flash memory. 目前主流 ...

  6. 创建存储器_Microchip推出首款低功耗数模转换器,集成非易失性存储器,简化手持设备设计...

    在当今便携和手持式工业.通信.消费和医疗系统中,在上电期间配置器件时势必会导致大量处理器开销,否则就很难使用数模转换器(DAC)实现多通道系统控制或信号输出.为解决这一难题,美国微芯科技公司(Micr ...

  7. NRF52832学习笔记(27)——非易失性存储器控制器NVMC

    一.简介 1.1 NVMC nRF52832 的非易失性存储器是通过 NVMC 来管理的,NVMC 是 Non-volatile memory controller(非易失性存储器控制器)的缩写,NV ...

  8. 几种非易失性存储器的比较

    SRAM为数据访问和存储提供了一个快速且可靠的手段.由系统电源或其他备用电源(如电池)供电时,他们就具有非易失性.表1给出了几种给定的非易失性存储器存储技术的优缺点. 表1非易失性存储器比较 NVSR ...

  9. linnux 流量控制模块tc_可编程控制器PLC基本工作原理(第一颗)

    可编程控制器PLC基本工作原理(第一课) 1.硬件结构 2.内部组成(点击关注第二颗) 3.循环扫描 一.中央处理器 1.中央处理器是什么玩意? 中央处理器也称为CPU(Central Process ...

最新文章

  1. linux网站权限怎么设置好,linux网站权限设置方法,网站安全配置,linux网站权限...
  2. 遇见C++ AMP:在GPU上做并行计算
  3. 导入Excel表里的数据时产生【定义了过多字段】,但有时又是成功的
  4. 数据建模中的大坑判断
  5. logging记录日志
  6. maven3实战之设置HTTP代理
  7. 图文上下切换代码_Java核心知识 多线程并发 线程上下文切换(二十一)
  8. 网络拓扑图及企业网络设计基本流程
  9. 2021-05-14
  10. 面试题64:computer和watch的区别
  11. svn代码被clean up了怎么找回来
  12. 用html和css实现字体发光效果
  13. WORD出现VBE6EXT.OLD不能被加载的问题
  14. 安装RHEL7.5超详细教程
  15. Atmel推出业内首款面向智能能源和自动化应用的IEEE 802.15.4g-2012双频段收发器
  16. Win7系统修复启动项命令
  17. python windows 安装scrapy_Python Scrapy在windows上的安装方法
  18. 01、NRF52832介绍功耗、射频参数、芯片处理能力、内存和支持协议详解
  19. 最新版抖音(20200624)去水印原理及源码,简单的原理与面临的挑战
  20. mysql 占用cpu过高

热门文章

  1. resultMap 使用
  2. Room DB Error: AppDatabase_Impl does not exist
  3. CNTK入门新人必看【很多人不懂的基础问题】
  4. 王者舰队服务器维护需要几天,王者舰队新手进阶玩法 新手怎么玩_3DM手游
  5. 复制mysql 搬家_mysql数据库搬家,可以直接复制数据库文件吗
  6. 定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
  7. 怎么用c语言写时序图,plc时序图怎么画_plc时序图编程方法
  8. Matlab建立匿名函数
  9. 7代CPU安装win7的方法
  10. CentOS使用DVD光盘作为yum软件源