共计 5229 个字符,预计需要花费 14 分钟才能阅读完成。
NVM,即非易失性存储器,是一种非易失性内存。
NVM 的特点是存储的数据在断电后不会消失。传统的 NVM,如掩模 ROM、可编程 ROM(PROM)、可擦除可编程 ROM(EPROM)、电可擦可编程 ROM(EEPROM)、NAND/NOR 闪存等,以及目前正在开发的许多新型状态存储器,如磁性存储器(MRAM)、电阻存储器(RRAM)、相变存储器(PRAM)、铁电存储器(FeRAM)等,都属于 NVM。(因此,NVM 的概念非常广泛。
从可编程次数来看,NVM 可以分为三类。
MTP:多次可编程,可多次编程
FTP:有限次可编程,可编程次数有限
OTP:一次性可编程,仅允许编程一次,编程后数据永久有效
本文主要讨论 OTP 和 MTP。

什么是一次性可编程(OTP)?
一次性可编程(OTP,One Time Programmable)是一种特殊的非易失性存储器,它仅允许编程一次,一旦编程,数据将永久有效。与 EEPROM 等多次可编程(MTP)存储器相比,OTP 因其占用面积小且不需要额外的制造步骤而广泛用于低成本芯片中。
OTP NVM 指的是只能编程一次的非易失性存储器。
随着嵌入式应用的日益普及,产品的安全性变得越来越重要。一方面,这是为了保护硬件设计;另一方面,也是为了产品本身的安全,防止被黑客攻击。
在嵌入式系统中,所有代码和系统数据都存储在闪存芯片中,闪存芯片的特点是可多次擦除且在断电时不会丢失数据。为了保护闪存中的数据,越来越多的闪存制造商在闪存内部提供了一个特殊寄存器:OTP 寄存器。
OTP 本身并不为应用提供绝对的安全性。然而,OTP 的可用性有助于开发人员开发和部署更安全的应用。如今,许多软件和硬件保护都是基于 OTP 实现的。
电子保险丝(eFuse)
1、什么是电子保险丝(eFuse)?
电子保险丝(eFuse)是一种在芯片出厂前写入信息的一次性可编程存储器。在芯片中,eFuse 的容量通常很小。
保险丝(fuse)即熔断器。在计算机技术中,eFuse(电子保险丝)可以说是一个放置在计算机芯片中的微型熔断器。

2、电子保险丝(eFuse)的作用
电子保险丝(eFuse)可用于存储内存(MEM)修复中的数据修复信息,也可用于存储芯片的信息,如芯片可使用的电源电压、芯片的版本号、生产日期等。制造商在生产芯片裸片后,会进行测试并将芯片的信息写入 eFuse 中。
2004 年,IBM 发明了 eFuse。与之前的可编程 ROM 不同,eFuse 利用电迁移(EM)效应来实现熔断。eFuse 的发明具有革命性,因为它不依赖于工艺,不需要新材料,也不需要新工具。它结合了独特的算法和新技术,能够在没有人为干预的情况下监控和调整芯片的功能,以提高其质量、性能和功耗。
3、eFuse 的使用方法
芯片在初次上电过程中会读取 eFuse 中的电压场值,并将其发送给芯片外部的电源管理器。电源管理器在芯片初次上电之前会提供一个标准电压(假设为 1.0v),并在接收到 eFuse 中的电压场值后调整电压水平。
完成电源电压调整后,芯片将重新上电进行复位操作。
4、eFuse 的应用
eFuse 具有广泛的应用范围,从模拟设备的调整、校准和修复到系统软件的现场更新,以及在安全领域的广泛应用。 然而,由于 eFuse 的编程节点可以通过电子显微镜观察到,因此仍然有可能解密其存储的内容。
因此,为了满足对安全性和密度的需求,反熔丝(Anti-Fuse)技术应运而生。
反熔丝(Anti-Fuse)
反熔丝由两个晶体管组成: 一个编程晶体管和一个读取或选择晶体管 。随着工艺几何尺寸的缩小,反熔丝也可以相应地缩小,因此随着宏尺寸的增加,反熔丝的密度可以成比例地增加,达到数百兆比特的级别。

5、eFuse vs Anti-Fuse
Anti-Fuse 与 eFuse 之间的主要差异在于编程机制、安全性和功耗。
从编程机制来看:Anti-Fuse 是通过向薄栅极氧化物施加高电压,使晶体管的栅极和源极通过雪崩击穿而短路来实现编程的。
而 eFuse 则是通过利用 I / O 电压向金属或多晶硅条带施加高密度电流来进行编程的。
eFuse 中的低电阻金属由于高密度电流通过狭窄的金属或多晶硅而发生电迁移熔断,在编程过程中,eFuse 宽端的冷却效果优于中间较窄的区域,因此 eFuse 的熔断部分总是位于 eFuse 中间较窄的区域。
eFuse 只能对相应的位进行一次编程,赋予其“1”的值,如果编程后读取的值不是“1”,则表示编程失败,这会导致良率的降低。而 Anti-Fuse 大约可以编程 18 次,如果初次编程失败,可以反复进行编程,这有助于提高良率。
在安全性方面:Anti-Fuse 比 eFuse 具有更好的安全性。eFuse 的已编程位可以通过电子显微镜观察到,因此其存储的内容容易被破解,但 Anti-Fuse 在显微镜下无法区分已编程位和未编程位,因此无法读取数据。
无论 eFuse 在显微镜下是否能区分已编程和未编程的位,Anti-Fuse 不仅无法在显微镜下窥探编程信息,而且也无法通过聚焦离子束(FIB)检测电压热点,这使得未经授权的用户难以访问 Anti-Fuse 存储器中存储的数据。
在功耗方面:与 eFuse 相比,Anti-Fuse 在未编程状态下消耗的功率更低。
eFuse 默认是开启的,存储的是“1”,而 Anti-Fuse 默认是关闭的,存储的是“0”,因此 Anti-Fuse 不仅功耗更低,而且占用的面积也比 eFuse 小。
eFuse(电子保险丝)和 Anti-Fuse(反熔丝)在多个方面存在显著的区别,这些区别主要包括编程机制、安全性、功耗、容量、成本以及可读性等方面。下面来阐述总结一下:
编程机制
- eFuse:通过向内部器件施加高密度电流(如一个持续 200 微秒的 10 毫安直流脉冲),使 eFuse 内部低电阻金属由于高密度电流通过而被电迁移熔断,从而完成编程。这个过程是不可逆的,一旦 eFuse 被熔断,就不能再次编程。
- Anti-Fuse:编程方式则是根据量子穿隧原理,在单晶体氧化层形成导电路径,从而实现编程。这种编程方式不会在表面留下可见的痕迹,因此比 eFuse 更难以通过物理手段破解。
安全性
- eFuse:尽管 eFuse 可以保护 SoC 中的敏感信息,防止黑客通过修改存储器中的数据来破解 SoC 的安全性,但其本身也可能受到攻击。例如,黑客可以使用高功率的激光器来擦除 eFuse 中的数据,或者使用特殊的攻击技术来破解 eFuse 的安全性。
- Anti-Fuse:由于其在编程后不会在表面留下可见痕迹,且通过电子显微镜也无法破解出其内存储的信息,因此 Anti-Fuse 在安全性方面表现更佳。
功耗
- eFuse:由于编程过程中需要施加高密度电流,因此 eFuse 的功耗相对较高。
- Anti-Fuse:相比之下,Anti-Fuse 的功耗更低。
容量与成本
- eFuse:eFuse 的容量一般较小,最大不超过几 kb,且面积通常远大于相同容量的片上存储器(SRAM),因此存储成本较高。此外,eFuse 通常由 Fab 开发并基本免费提供,但由于其容量限制和安全性问题,可能需要额外的安全措施来增强其保护能力。
- Anti-Fuse:Anti-Fuse 的存储密度通常好于 eFuse,因此使用 Anti-Fuse 可以在芯片内放入更大容量的一次性可编程存储器。然而,Anti-Fuse 需要找 IP Vendor 购买,可能会增加一定的成本。但是,考虑到其更高的安全性和更好的功耗表现,这些成本可能是值得的。
可读性
- eFuse:eFuse 中的数据在编程后是可以读取的,但其一次性编程的特性意味着一旦数据被写入就无法更改。
- Anti-Fuse:Anti-Fuse 同样支持数据的读取操作,且由于其更高的安全性和更好的功耗表现,使得其在需要高安全性和低功耗的应用场景中更具优势。
在选择使用哪种技术时,需要根据具体的应用场景和需求进行权衡和选择。
6、什么是 MTP?
MTP,即多次可编程(Multiple-Time Programmable),顾名思义,与一次性可编程存储器不同,多次可编程存储器可以根据用户的需要被重新编程和更新多次。

EPROM、EEPROM、NAND/NOR 闪存(Flash Memory)等都是 MTP(多次可编程)的一种。
实际上,业界习惯于将 MTP 与 EEPROM/Flash/OTP/Mask ROM 进行比较。从应用需求的角度来看,OTP 是一个大类;EEPROM/Flash 是另一个大类;而 MTP 则是一个小众需求,其实施技术基本上是基于前两类的工艺 / 设计技术,但进行了较小的调整或权衡。
MTP 的实现与 OTP 不同,因此它可以被多次烧录,具有复杂的设计架构和较高的成本。由于实现方法的多样性,MTP 的原理不能一概而论。
OTP 的程序存储器大多采用熔断丝结构。编程过程是一个不可逆的破坏性活动,通常是将 1 写入为 0。
而 MTP 大多使用 EEPROM 或 FLASH 或其他技术。写入过程也是一个 1 到 0 的变化。但在某些条件下,0 可以变回 1。例如,EPROM 在紫外线照射下形成,光电荷被冲入栅极区域。EEPROM 则使用电隧穿电荷注入技术。
7、PROM
PROM(Programmable Read Only Memory,可编程只读存储器)是一种可编程的只读存储器,与传统的 ROM 不同,其数据不是在制造过程中写入的,而是在制造完成后通过 PROM 编程器写入的。PROM 中的每个位都通过熔丝或反熔丝锁定,具体取决于所使用的技术。根据技术的不同,PROM 中的每个位可以在晶圆、测试或系统级别进行编程。
典型的 PROM 在出厂时所有位都设置为“1”。在编程过程中,烧断熔丝位会使该位读取为“0”。通过烧断熔丝,PROM 在制造后可以编程一次,这是一个不可逆的过程。典型的 PROM 采用“双极熔丝结构”。
如果想要重写某些单元,可以向这些单元通入足够高的电流并保持一段时间,从而烧断原有的熔丝,达到重写某些位的效果。另一种经典的 PROM 是带有“肖特基二极管”的 PROM,出厂时二极管处于反向截止状态。
8、EPROM
EPROM(Erasable Programmable Read-Only Memory)是一种可擦除可编程只读存储器。它的特点是具有可擦除功能,允许在擦除后进行重新编程,但缺点是擦除需要使用紫外线,且需要一定时间。
9、EEPROM
EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种电可擦可编程只读存储器。它最重要的特点是可以直接使用电信号进行擦除和写入操作。
10、FLASH ROM
FLASH ROM 是一种真正的单电压芯片,在使用上与 EEPROM 非常相似,因此有些书籍将 FLASH ROM 视为 EEPROM 的一种。但实际上,两者之间存在差异,因为当 FLASH ROM 被擦除时,它还会执行一个特殊的刷新过程;而在删除数据时,它不以字节(Byte)为基本单位,而是以扇区(Sector,也称为 Block)为最小单位,扇区的大小因制造商而异;只有在写入时,才以字节为最小单位进行写入。
FLASH ROM 芯片的读写操作都是在单一电压下进行的,不需要跳线,只需使用特殊程序即可轻松修改其内容;FLASH ROM 的存储容量一般大于 EEPROM,大约在 512K 到 8M KBit 之间,由于大批量生产,价格也更合适,非常适合存储程序代码,近年来已逐渐取代 EEPROM,被广泛用作主板上的 BIOS ROM。
NOR 和 NAND 闪存之间的区别在于,NOR 闪存更像内存,拥有独立的地址和数据线,但其价格更高且容量较小;而 NAND 闪存则更像硬盘,地址和数据线共用 I / O 线,类似于硬盘中所有信息都通过单一的硬盘线传输。与 NOR 型闪存相比,NAND 型闪存的成本更低,但容量要大得多。
因此,NOR 型闪存更适合频繁随机读写的场合,通常用于存储程序代码并在闪存中直接运行,手机是 NOR 型闪存的主要使用者,所以手机的“内存”容量通常不大;而 NAND 型闪存则主要用于存储数据,常见的闪存产品,如闪存驱动器、数字存储卡等,都使用 NAND 型闪存。

11、Mask ROM 简介
Mask ROM 是一种掩模只读存储器。掩模也被称为光掩模,因此它也被称为光掩模只读存储器。它是通过一次性掩模工艺制造的,其中的代码和数据将被永久存储(除非被破坏),并且无法修改。它是一种非可编程 ROM。
12、OTP 与 MTP 小结 **
OTP(一次性可编程)相对于 MTP(多次可编程)的优势在于 OTP 存储器占用面积更小,且无需额外的晶圆处理步骤。因此,在许多低成本应用中,OTP 存储器被用来替代 MTP 存储器。
例如,小容量的 MTP(位大小)可以通过电路设计使用成本最低的 OTP 工艺来实现。因此,我们可以跳出常规思维,如果:它可以被擦除 5 次,那么我们可以制作 5 个相同容量的 OTP,每次写入并使用完一部分后,下次再为下一个 OTP 写入,从而节省成本。
根据不同的应用场景,我们可以根据存储器的特性灵活选择。