[经验分享] 对NVM区的合理使用

zhanglu95   2019-7-25 09:44 楼主

凌科芯安多款加密芯片均设置了NVM区,因其具备掉电不擦除的物理特性和防暴力破解等安全特性,众多用户会利用NVM区存储重要数据。虽然使用方法简单,但有一点技术细节容易被忽视。NVM区有10万次擦写寿命或10年存储寿命,因此用户使用时要结合自己项目的应用场景和业务逻辑进行合理分配,达到高效使用NVM区,下面展开说明。

问题一:更新数据逻辑不合理

NVM区的写操作是按页实现的,应多以页为单位进行写操作。举例:有些用户将多组数据存储于同一NVM页内,但每更改其中一组数据时,就对该页执行了一次写操作,这其实是不提倡的。正确的做法是,尽量将该页内的多组数据统一更新,这样能有效减少扇区擦写次数,延长NVM区寿命。

问题二:NVM区地址划分使用不合理

同样因为按页操作的原因,用户应将不同数据分组按页对齐,避免数据跨页存储的情况发生。举例:有些用户将一组连续数据放在了两页地址交界处,当对该组数据进行更新写操作时,实际就对两页数据同时实行了写操作,即使只写了2字节数据,也会造成1024字节区域(假设目标加密芯片的NVM扇区大小是512字节)的写寿命减少,这种操作是不提倡的。

问题三:NVM区未做安全防护引起数据丢失

NVM区的写操作是由三步完成的,第一步读取目标扇区内原数据,第二步擦除目标扇区内数据,第三步将修改后的新数据和未做修改的原数据写回目标扇区。因此当意外断电等情况发生时,加密芯片恰好执行完写NVM区的第二步操作,且未完成写NVM区的第三步操作,就会造成目标区域内数据发生无规律错乱。当然也有解决办法,下期分解。

 

回复评论 (21)

沙发 王宇宙 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-26 15:32

可以介绍一下相关的型号吗?

点赞  2019-7-26 18:43

同问,楼主推荐一款内部设置了NVM的加密芯片呗
 

点赞  2019-7-26 21:27

5楼 邓女士 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-27 09:21

6楼 114w1 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-28 09:24

期待楼主下期文章的更新
 

点赞  2019-7-28 15:07

内部带NVM的MCU芯片,在程序执行中通常会根据条件判断去执行读写NVM单元的操作,特别是写NVM单元的操作,要注意。否则很容易造成误写NVM单元或者写入NVM单元的值错误,造成系统运行异常。
 

点赞  2019-7-29 09:04

9楼 miniminimin 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-29 09:25
楼主家的多款加密芯片内部设置了NVM去,其特点是掉电不擦除,利用NVM区存储重要数据,那又如何确保能在芯片内部安全运行的呢?
点赞  2019-7-29 14:46

11楼 miniminimin 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-29 14:54

本文中介绍nvm区如何更好的使用其擦除次数,那么nvm对比其他有什么优势呢?
 

点赞  2019-7-29 22:33

学习了

点赞  2019-7-30 02:55

14楼 邓女士 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-30 11:22
楼主家的多款加密芯片内部设置了NVM去,其特点是掉电不擦除,利用NVM区存储重要数据,那又如何确保能
点赞  2019-7-30 13:06

16楼 miniminimin 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-30 14:02
NVM区就一定安全吗?
点赞  2019-7-30 16:20
凡事没有那么绝对哦 肯定也存在安全漏洞的
点赞  2019-7-30 18:02

19楼 114w1 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2019-7-30 20:19

没有这个潜力,这个只是类似于芯片的FLASH
 

点赞  2019-7-31 17:09
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复