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

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

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

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

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

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

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

对NVM区的合理使用相关推荐

  1. NVM区数据备份机制

    上一篇主要说明NVM区操作注意事项,本文针对上篇提到的NVM区数据备份方法进行补充讲解.          NVM区主要特性是写入数据掉电不丢失,可以永久的保存数据,一般用作存放不经常修改的数据,此功 ...

  2. 加密芯片在游戏行业内的应用

    版权保护.数据安全存储与传输,这是游戏机厂商最迫切的需求.对于版权保护的实现,推荐算法移植方案.配合参数移植和对比认证,安全强度已是行业内最高级别,在此不做敷述.本次主要讲解如何利用LKT 加密芯片实 ...

  3. LKT4101 8位增强型防盗版加密芯片

    LKT4101 8位增强型防盗版加密芯片采用增强型8051智能卡内核,芯片内部嵌入凌科芯安公司的LKCOS智能操作系统,支持UART接口.在KEIL C软件环境下采用标准C语言编写操作代码,编译程序后 ...

  4. 【存储】NVM,NVRAM,FLASH,PROM,eFuse,NAND FLASH,NOR FLASH,NVMe区别是?

    目录 简略 详细 1. 什么是NVM? 2. Mask ROM, PROM, EPROM, EEPROM 3. OTP NVM 3.1 eFuse vs. Anti-Fuse 4. Summary 1 ...

  5. 以流动债务为例论指标的合理使用

    \ 关键点 \\ 流动债务是改进软件开发过程的一个重要指标\\t Cynefin框架可以像镜头一样,在不同情境下使用不同的指标\\t 我们应该在适当的情境下用上所有指标\\t 可预测性意味着减少可变性 ...

  6. Window / Mac 系统 nvm 安装使用指南

    最近给家里电脑重装系统,都重新安装了 nvm,就记录了一下,也方便大家避坑 简介 nvm 是什么?和 npm 是什么关系? npm:是 nodejs 包的管理工具,在安装 node 的时候,npm 也 ...

  7. Java中合理使用局部变量替代成员变量、静态变量

    故事起因 一个Java类中可以存在多种形式的变量,可以是最一般的成员变量.或静态变量.或临时变量.如下图: public class VariableDemo {static int staticVa ...

  8. 修改完bug GIT的提交流程 及NVM的常用指令

    1:修改config ,laout (公共的,修改本地方便开发,不要提交)可以在ignore里面进行配置,也可以在git stash   npm run format 格式化本地代码,和远程规范一样: ...

  9. 论文悦读(3)——NVM文件系统之ZoFS(SOSP‘19)文件系统

    ZoFS(SOSP'19) 1. 背景(Background) 2. 动机(Motivation) 2.1 观察1:低效的用户态NVMFS 2.2 观察2:文件权限与隔离措施 3. ZoFS设计与实现 ...

最新文章

  1. 往自身页面提交和别处页面提交到本页的设计小技巧
  2. 算法—详细讲解单向链表的实现(python)
  3. Python练习 | Python之图像的基本操作和处理
  4. 归并排序验证性实验_攻略 | 10 大经典排序算法(Python 版)
  5. map和list遍历基础
  6. [计算机网络] - 调节参数提高 TCP 性能
  7. 配置LANMP环境(1)-- 安装虚拟机VMware与安装CentOS7.2系统
  8. c++全局变量的声明和使用
  9. ubuntu 安装配置JDK
  10. struts2.0.14 包命名空间
  11. Struts1表单验证方式
  12. 《.NET WEB服务》 (二)
  13. 关于#if NET1的一点小得
  14. upc 5215: Fence Building(欧拉定理/推导+OEIS)
  15. Aho-Corasick 多模式匹配算法(AC自动机)
  16. 利用python核算工资_年薪10w用Python,年薪50w利用Python
  17. 优效时钟屏保-一款极简风格的时钟屏保
  18. java 获取指定日期的前几天或后几天
  19. utools沙拉查词插件 | windows划词翻译
  20. Jini 能给您带来什么

热门文章

  1. 小米崔宝秋:小米 AIoT 深度拥抱开源
  2. 在高考作弊这事上,古今监考老师操碎了心!
  3. 一顿操作猛如虎!云原生应用为何如此优秀?
  4. 前端开发这么多年,你真的了解浏览器页面渲染机制吗? | 技术头条
  5. 物联网的未来不止于 5G!
  6. Python 彻底甩掉 Java,位居 48 种编程语言之首!
  7. 数据结构与算法之循环队列的操作
  8. Orabbix监控oracle
  9. mysql 5.1升级windows_怎么在Windows下升级MySQL
  10. 编程时程序无错却崩溃_程序员极度崩溃的 60 个瞬间,看到哪一个你哭了?