2.OTP是什么
- MTP: Multiple-Time Programmable,可以多次编程
- FTP: Few-Time Programmable,可编程的次数有限
- OTP: One-Time Programmable,只允许编程一次,一旦被编程,数据永久有效
3.OTP存储器的分类
现在SOC中使用的OTP通常有两种——eFuse and AntiFuse。
3.1 efuse 和 anti-Fuse 的区别
Antifuse 跟eFuse 的最大差别在功耗、安全性、编程机制:
1)从器件面积上讲,eFuse 的 cell 的面积更大,所以仅仅有小容量的器件可以考虑。当然如果需要大容量的,也可以多个 eFuse Macro 拼接,但是这意味着芯片面积的增加,成本也会增加;anti-Fuse的 cell 面积很小,所有相对来讲,可以提供更大容量的 Macro 可供使用。
2)功耗,与eFuse 相比,Antifuse 在未编程状态下消耗的功耗更少。未编程eFuse 的典型电阻值约为50到100欧姆,而编程的eFuse 的典型电阻值约为10Kohms 到100Kohms, Antifuse 的阻值正好相反,在未编程状态下电阻较高,在编程状态下电阻较低。不论是eFuse 还是Antifuse 未编程位的默认值都是“0”, 使用时只需要将少数的对应比特编程为"1", 而在eFuse 中存储的“0” 越多功耗就越大,在Antifuse 中存储的“0” 越多,功耗就越小;此外,eFuse 的静态功耗要比Antifuse 高得多。
3)安全性,Antifuse 比eFuse 的安全性更好,在显微镜下也无法区别编程位和未编程位,因此无法读取编程数据。在多晶硅栅CMOS 工艺中,多晶硅eFuse 应用广泛,EM 发生在硅化物层。然而在MOSFET 工艺中,用high-k 材料做金属栅极( HKMG ), 没有多晶硅层可用作eFuse, 因此改用金属层作eFuse。不论哪种eFuse 在显微镜下都可以区别出编程位和未编程位,而Antifuse 不仅在显微镜下无法窥探到编程信息,通过FIB 也检测不到电压热点,这使得未经授权的用户很难获得存储在Antifuse内存中的数据。
3.2 存储原理和寿命
- efuse存储原理是将金属线熔断形成小孔,因此数据存储是不可逆的,且内存容量比较小,通常在512位以下;
-
anti-Fuse则是使用快速电子束技术在晶体管栅极中制造永久的浮动门,其数据存储是可逆的,实现较大的存储容量,通常在数MB以上;
4. efuse和 anti-Fuse 在芯片设计中的应用
5. 什么是Secure Boot
安全启动Secure Boot,其主要目的是:以限制消费者能力,防止消费者从软硬件层面,对产品的部分关键系统进行读写,调试等高级权限,达到对产品的商业保密,知识产权的保护。
安全启动的安全模型是建立在消费者是攻击者的假设之上,一般常见的操作有:
- 刷机安装自定义的操作系统
- 绕过厂家封闭的支付平台
-
绕过系统保护,复制厂家保护的数字产品
除此之外呢,有的比较专业的消费者,还可以:
6. CPU内部安全机制
6.1 bootROM
6.2 iRAM
6.3 eFUSE
6.4 Security Engine
6.5 First Stage Bootloader(FSBL)
6.6 根信任建立