EEPROM 磨损管理算法

news2024/11/24 17:22:26

这里写目录标题

  • 前言
  • 需求
  • 结构
  • 局限性
  • 代码示例

前言

…最近工作上有用到EEPROM,在我的应用中需要一分钟一次的擦写频率,按照设备一天工作16h,十年的设备设计寿命来计算,大概要擦写300万次。超出了一般的EEPROM擦写循环次数100万。
…这个问题的解决办法有两种,一种是软件上加入磨损管理,不要对EEPROM同一位置频繁擦写。另一种是更换期间为铁电存储器,铁电存储器优点很多,寿命超长,写完数据之后没有延迟,但是价格会比EEPROM贵一点。对于成本不敏感的应用直接用铁电即可。
…我的应用中决定使用EEPROM,网上查阅了一些资料,并没有找到EEPROM上运行的磨损管理算法。只能自己造了。

需求

  • 以页面为单位:EEPROM页面读写效率高一点
  • 页面大小和数量可定义,以适配不同的EEPROM
  • 算法简单,不需要太复杂

结构

在这里插入图片描述
…上图是FT24C16A的页面结构,FT24C16A页面大小为16bit,一共128个页面。

我们将第0页前两个字节作为goodpage指针。其总是保存没有磨损的页面位置。

因为数据有可能会因为磨损而更换页面位置,所以从第1页开始,页面内两个字节为单位作为数据指针data_p,保存目标数据的位置。上图是十个页面数据的情况。

data_p的页面结束之后,就来到了数据内容的页面。我们将数据内容页面的前四个字节设置为擦写计数,每次数据页面更新的时候前四个字节也会同步+1,当抵达磨损次数的时候,该数据页面会将自身”搬迁“到其他的位置。并更新data_p。

如上内容所示,EEPROM的页面结构被”格式化“了,某些固定的位置被存放特定功能的数据。在空白的EEPROM是无法运行我们的算法。所以我们还要在第一次运行之前做格式化处理,并设计一个标志位,以标志此EEPROM已经被格式化,我们将其设计在0页面第三字节。

局限性

…这是一个非常精简的处理,有一定的局限性。

…比如数据利用率并不完美,在页面内容中的计数,其低字节更新频率与页面同频,而高字节几乎不更新,我在最开始的设计中希望将这些不做磨损处理,后来发现编程过于复杂,遂放弃而采用这种简单直白的方式。当然,页面尺寸大的话计数占用的数据比例就会小到忽略。

…我并没有将这个算法成为磨损均衡算法的原因是,磨损均衡算法的设备容量是不变的。磨损均衡算法旨在让所有存储块同时达到最大寿命,我的处理中存储设备的容量只会越来越少。

代码示例

稍后上传到gitee

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端 - CSS】第 17 课 - CSS 特性

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、CSS 三大特性 2.1、继承性 2.2、层叠性 2.3、优先级 3、总结 1、缘起 CSS 是一种用于样式化网页的语言&#xf…

无代码开发smardaten与Power Platform详细对比

文章目录 前言:亟待转型的软开创业者什么是低/无代码居高不下的企业级软件搭建成本1. 开发周期较长2. 在需求明确、软件修改、系统集成等方面存在多种卡点3. 数据管理混乱 无代码/低代码开发,时代的潮流无代码平台 smardaten1. smardaten 简介2. smardat…

一起看 I/O | 将 Kotlin 引入 Web

作者 / 产品经理 Vivek Sekhar 我们将在本文为您介绍 JetBrains 和 Google 的早期实验性工作。您可以观看今年 Google I/O 大会中的 WebAssembly 相关演讲,了解更多详情: https://youtu.be/RcHER-3gFXI?t604 应用开发者想要尽可能地在更多平台上最大限度地吸引用户…

高阶智驾进入「普及」周期,这四家车企包揽年度方案创新奖

特斯拉、理想等新能源汽车头部企业推动的NOA高阶智能驾驶上车潮,正在席卷整个汽车行业。包括吉利、广汽、长安、红旗等头部自主品牌也在加速推进,同时,在NOA、电子电气架构、数据闭环平台等方面,实现科技平权。 6月8-9日&#xff…

三菱FX3U中级课程-模拟量与PID

可别小看FX3U,它的功能比西门子200smart要强大,对于使用三菱PLC的设备,很多小型设备都可以用FX3U来做。 ​​ 三菱FX3U模拟量与PID 课程章节 第一节课 必须知道的模拟量理论知识 - 大白话讲解00:50:33 第二节课 通过测量空压机的压力才学习…

不确定 A Survey of Uncertainty in Deep Neural Networks(乱记)

随着深度学习技术的不断发展,DNN模型的预测能力变得越来越强,然而在一些情况下这却并不是我们想要的,比如说给模型一个与训练集完全不相关的测试样本,我们希望模型能够承认自己的“无知”,而不是强行给出一个预测结果&…

【深度学习】1 感知机(人工神经元)

认识感知机 感知机接收多个输入信号,输出一个信号 感知机的信号只有“流/不流”(1/0)两种取值 0对应“不传递信号”,1对应“传递信号”。 输入信号被送往神经元时,会被分别乘以固定的权重。神经元会计算传送过来的信号的综合,只有…

云平台 stm32连接oneNET保姆级别教学只看这一篇就够了~

1 注册账号 oneNET点击直达 如图点击右上角开发者中心 点击多协议接入 点击添加产品 如下图设置参数 点击立即添加设备 点击添加设备 如下图设置参数 点击右边的详情查看设备ID和鉴权信息 点击产品概况获取 产品ID 平台注册告一段落 你现在拥有了一个oneNET账号 设备ID …

easycode-自定义的模板-类型对应问题

一、遇到的问题 1、mysql数据库中有些字段没有生成到 在图形工具中修改了表结构 ,增加了字段,这个时候要在idea中刷新下数据库 2、数据库中有tinyint 类型的字段,生成代码后mapper.xml中jdbcType总是BYTE,但是mybatis中并没有BYT…

echarts分割柱形图实现渐变电量效果柱状图

先看下效果图是这个样子的 ,和普通的柱状图最明显的区别就是需要做成类似于电池格电量显示效果。 目录 1、官网找例子 2、改造示例 3、全部代码 4、初始效果和完成效果对比 1、官网找例子 首先到Echarts官网找到基础的柱状图 官网初始option 我们将option复制到…

一文教你彻底学会IIC协议

一文教你如何看懂I2C协议 一.序言二.IIC读写过程2.1主机向从机写入数据2.2主机向从机读取数据2.3 I2C起始信号和停止信号 三. 数据的有效性四.时序要求4.1 起始信号4.2 终止信号4.3 应答信号4.4 非应答信号读取数据五.代码实例 结语 一.序言 背景知识:I2C总线上是通…

顶奢好文:3W字,穿透Spring事务原理、源码,至少读10遍

说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如阿里、美团、极兔、有赞、希音的面试资格,Spring事务源码的面试题,经常遇到: (1) spring什么情况下进行事务回滚? (2) spring 事务…

微服务springcloud 04. 远程调用,负载平衡,重试,ribbon框架

01.springcloud中关于远程调用,负载平衡。 02.远程调用 ribbon 提供了负载均衡和重试功能, 它底层是使用 RestTemplate 进行 Rest api 调用RestTemplate,RestTemplate 是SpringBoot提供的一个Rest远程调用工具。 它的常用方法: getForObject() - 执行…

「深度学习之优化算法」(六)遗传算法

1. 遗传算法简介 遗传算法(Genetic Algorithms,GA)是一种模拟自然中生物的遗传、进化以适应环境的智能算法。由于其算法流程简单,参数较少优化速度较快,效果较好,在图像处理、函数优化、信号处理、模式识别等领域有着广泛的应用。…

电气火灾探测器在智慧城市消防安全的应用 安科瑞 许敏

【摘要】智慧消防应用是重要的建设内容之一。根据固定资产投资额和消防经费测算,2017年消防市场容量合计约2761.65亿元,2020年消防市场规模可达5200亿元。通过梳理各地政府招标项目,预计全国政府智慧消防项目的投入总额可达92.8亿元。 【关键…

基于Java校园美食交流系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

crontab执行时间与系统时间不一致

crontab执行时间与系统时间不一致 一:问题查找: 问题描述:今天新发现一个问题,定时任务写了之后一直不执行,查看日志才发现,执行的时间给我定时的时间相差了12个小时。 1、查看定时任务的相关日志&#…

Nik Color Efex 滤镜详解(1/5)

双色滤镜 Bi-Color Filter 混合两种颜色然后将混合结果添加到图像,以此模拟传统的双色玻璃滤镜效果。 颜色组合 Color Set 提供棕色、冷/暖、绿色/棕色、青苔色、紫色/粉红色等多种颜色组合,每个颜色组合又有 4 种版本可供选择。 不透明度 Opacity 调整…

Stuart Russell对话姚期智:为全人类设计AI系统,可以借鉴墨子「兼爱」思想丨2023智源大会AI安全与对齐论坛...

导读 在2023智源大会「AI安全与对齐论坛」的对话环节,加州大学伯克利分校教授Stuart Russell与图灵奖得主、中国科学院院士姚期智针对「如何设计对人类有益的AI」、「如何管控AI技术」,以及「LLM内在目标与意识」等话题进行了深度探讨,其中St…

一键式 RLHF 训练 DeepSpeed Chat(二):实践篇

一键式 RLHF 训练 DeepSpeed Chat(二):实践篇 之前给大家分享了一键式 RLHF 训练 DeepSpeed Chat(一):理论篇,本文给大家分享如何使用DeepSpeed Chat进行RLHF训练。 DeepSpeed Chat 的 RLHF 训…