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

2023-05-16

关于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]在非活动模式下未定义。

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

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

随机推荐

  • 计算机软件版本号是什么意思,带你深入了解解密Windows系统版本和版本号

    版本号是分配给软件程序 文件 固件 设备驱动程序甚至硬件的特定版本的唯一编号或一组编号 随着程序或驱动程序的更新和全新版本的发布 xff0c 版本号将会增加 Win10 1903是现在最新的正式版本 xff0c 最新版本号为18362 32
  • 集成学习综述

    集成学习综述 集成学习 ensemble learning 本身不是一个单独的机器学习算法 xff0c 而是通过构建并结合多个机器学习器来完成学习任务 也就是我们常说的 博采众长 集成学习可以用于分类问题集成 xff0c 回归问题集成 xf
  • Ngrok +阿里云服务器+Ubuntu18.04 内网穿透

    为什么要实现内网穿透 相信大家在项目开发中总会碰到很尴尬的问题 xff0c 就是外网环境无法访问内网中的web服务 xff0c 这样很难将自己的项目成果展示给别人看 或者是在进行微信端开发时 xff0c 需要在外网上进行项目开发 xff0c
  • 关于MySQL的优化思路

    SQL 优化步骤 当面对一个需要优化的 SQL 时 xff0c 我们有哪几种排查思路呢 xff1f 通过 show status 命令了解 SQL 执行次数 首先 xff0c 我们可以使用 show status 命令查看服务器状态信息 s
  • cas 配置mysql_CAS mysql linux安装与配置

    一 CAS在linux中的安装与配置 一 首先将 root cas 下的 page文件夹删除 只留以下两个 二 创建cas 文件夹 并将root 下的tomcat压缩包 和 cas war 复制进去 root 64 hostname cd
  • 技术系统进化法则包括_TRIZ理论八大技术系统进化法则.doc

    机械创新设计课程论文 TIZE理论的八大技术系统进化法则 专 业 班 级 学 号 姓 名 成 绩 教 师 2013年 5月 23日 TRIZ理论的八大技术系统进化法则 姚巧珍 10机自职1班 xff0c 学号 xff1a 101011312
  • oracle数据库安装配置错误,Oracle数据库配置错误信息解决方法(转)

    Oracle客户端网络配置 xff1a l 在Oralce产品安装完成后 xff0c 为了与数据库服务器进行连接或者是两台数据库之间进行数据复制 xff0c 则必须进行网络连接配置 l Oracle9i Net Service配置方法 xf
  • Smart3D三维建模操作笔记

    基本步骤都有 xff0c 写的很乱 xff0c 待整理 软件教程视频 xff1a https www iqiyi com v 19rxtdw1lo html 许可只能用一次 Master 三维建模软件 xff0c 主从工作模式 xff1a
  • 超详细的CentOS下载与图文安装

    一 CentOS7 4下载 官网下载页面地址 xff1a Index of 如果觉得下载比较繁琐 xff0c 我已经提供了CentOS7 4的安装包 链接 xff1a https pan baidu com s 1cRgNfZ5REf4LQ
  • Linux控制台命令结果返回,bash的命令执行状态返回值及命令行展开详解

    命令执行状态返回值及命令行展开是bash的2个基本特性 xff0c 其详细特点及应用如下 xff1a 一 命令执行的状态结果 xff1a bash通过状态返回值来输出此结果 成功 xff1a 0 失败 xff1a 1 255 命令执行完成之
  • rtos和linux在内存管理上,freertos与linux区别

    freeRTOS是一个实时操作系统 xff0c 主要实现了任务调度 内存管理 IPC 中断管理这几个模块 xff0c 它要求快速的处理任务 xff0c gui 驱动框架 shell 这些都不是它的核心功能 xff0c 而且大部分情况下都不会
  • 如何远程连接MySQL数据库

    新安装的 MySQL 只有一个 root 用户 xff0c 默认不开启远程连接 下面以 Ubuntu 系统下的 MySQL 为例 xff0c 说明如何远程连接 MySQL 数据库 登录 root 用户 mysql uroot pyongdu
  • linux重启时无法关机,linux系统无法关机/重启

    机器型号 xff1a 戴尔380 系统 xff1a Linux操作系统 使用图形界面启动后 xff0c 在开始菜单里 xff0d 关机 xff0c 显示器 鼠标 键盘瞬间断电 xff0c 但是主机保持原状 xff0c 当ssh远程可以登录该
  • 卫星导航算法 --geo 库函数的学习

    博主自己在看px4源码时 xff0c 发现geo的好多库函数挺有意思的 xff0c 于是将其进行总结学习 库函数 xff1a 1 int map projection global reproject float x float y dou
  • pixhawk 源码分析-SPI驱动-MS5611

    最近学习了一下SPI的驱动软件 xff0c 在此将其进行总结 本文使用的代码为pixhawk 1 5 5版本的源码 源码下载地址 第一步函数入口 xff1a 老规矩 xff0c 所有px4的代码的函数入口都是在启动脚本中 xff0c 启动脚
  • ucosii内核总结

    博主最近一直在看有关ucosii的代码 xff0c 并将其成功移植到了正点原子STM32F103的开发板上 颇有一些收获 xff0c 于是将其总结下来与大家一起分享 本文不会向你介绍怎么移植ucos xff08 在STM32上移植ucos的
  • python 语法糖_python中有哪些语法糖?

    在对待解题思路的时候 xff0c 往往会有多种方法实现最后的结果 只不过有一种是我们所说的常见用法 xff0c 另一类是在这种特性条件下 xff0c 另辟蹊径产生的解决方法 xff0c 语法糖可以说和这种理念是一样的 xff0c 为了简便
  • VDO、RAID、LVM

    VDO RAID LVM实验记录 VDORAIDRAID10实验RAID5实验 LVM创建逻辑卷扩容逻辑卷缩小逻辑卷逻辑卷快照删除逻辑卷 VDO 使用vdo 虚拟数据优化 目的节省空间 实验为创建挂载的操作 虚拟机中新添加一块SATA硬盘
  • 使用Android手机控制树莓派操作流程

    使用Android手机控制树莓派操作流程 二次排版请看此连接 xff1a 详细请看二次排版 xff0c 有图有真相直达 xff1a 如果你觉得用计算机来控制树莓派不太方便 xff0c 要求路由器网线等比较多 xff0c 那么今天我就简单的说
  • 一次可编程的非易失性存储器(OTP NVM)工作原理、eFuse模块解析

    关于eFuse模块解析 一次可编程的非易失性存储器 xff08 OTP NVM xff09 解析 1 基本概况及介绍1 1 相关简介1 2 关于eFuse工作原理 2 应用功能总结3 关于eFuse解析3 1 基本介绍3 2 相关信号3 3