0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

重烧固件才复活?一次看懂NAND位翻转真相

ZLG致远电子 2025-12-15 11:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在设备运行过程中,你是否遇到过设备运行一段时间后无法开机,程序运行异常,但重新烧录固件后问题又神奇消失的情况?如果你使用的存储介质是NAND Flash,那么位翻转现象可能是你需要关注的重点问题。


85c5156c-d967-11f0-8ce9-92fbcf53809c.jpg  NAND Flash的工作原理

NAND Flash是一种基于数据绝缘存储的存储技术。当需要写入数据时,施加电压会形成电场,使电子能够穿越绝缘体进入存储单元,从而完成数据写入。而当需要删除存储单元的数据时,同样需要施加电压,以引导电子穿越绝缘层离开存储单元。

85cea50a-d967-11f0-8ce9-92fbcf53809c.jpg


85c5156c-d967-11f0-8ce9-92fbcf53809c.jpg  什么是位翻转?

位翻转是指在NAND Flash存储单元中,由于长期使用、电压变化、物理效应等因素,存储单元内的电子状态发生意外变化的现象。例如,本应存储为0的状态可能被意外变成1,或者反之。这种变化会导致数据读取错误,进而引发设备异常运行、启动问题等。

1. 位翻转的原因

位翻转的出现通常源于以下几个原因:

  • 漂移效应:长期使用过程中,电子在存储单元内的漂移可能导致状态变化。
  • 频繁读写操作:对某一区域的频繁读写操作会加速存储单元的老化。
  • 存储单元寿命耗尽:随着使用时间的增加,存储单元的绝缘层逐渐退化,导致电子状态不稳定。

2. 解决方案:ECC校验机制为了解决位翻转问题,一种常见的方法是引入ECC(Error-Correcting Code)校验机制。ECC校验机制能够检验所读取数据的正确性,并在一定范围内纠正错误。具体来说:

  • ECC校验算法通过在数据中添加冗余信息,ECC算法可以在读取数据时检测并纠正错误。例如,8位ECC校验算法可以纠正小于8位的位翻转问题。
  • 备份分区:对于超过8位的数据位翻转,系统可以从备份分区启动并恢复坏区,从而保障系统不会因NAND Flash位翻转而导致启动问题。


85c5156c-d967-11f0-8ce9-92fbcf53809c.jpg  ZLG致远电子M3352核心版解决方案

为了应对NAND Flash位翻转可能带来的启动异常等问题,ZLG致远电子M3352核心版提供了有力的解决方案。该核心版在U-Boot中支持8位ECC校验算法,能够有效纠正小于8位的位翻转问题。对于更严重的情况,系统将从备份分区启动并恢复坏区,从而确保设备的稳定运行。85f71fee-d967-11f0-8ce9-92fbcf53809c.jpg通过这些技术手段,ZLG致远电子M3352核心版能够有效解决NAND Flash位翻转问题,保障设备的稳定性和可靠性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NAND
    +关注

    关注

    16

    文章

    1749

    浏览量

    140500
  • FlaSh
    +关注

    关注

    10

    文章

    1717

    浏览量

    154776
  • 数据
    +关注

    关注

    8

    文章

    7316

    浏览量

    94044
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DshanMCU-R128s2 固件

    编译系统源码后,打包后生成的系统文件称之为固件固件般为.img格式。把固件下载到开发板或者产品上的过程称之为
    的头像 发表于 12-22 15:08 2232次阅读
    DshanMCU-R128s2 <b class='flag-5'>烧</b>写<b class='flag-5'>固件</b>

    满血复活,再战物联网设计大赛!

    ; 针对以上种种原因,主办方为未入围的参赛选手和没来得及报名的团队提供一次“满血复活”的机会!我们亲切的称之为“复活赛”!请注意在截止时间前创造切条件“
    发表于 09-29 10:32

    固件空中升级(OTA)与固件引导的原理和设计

    字段,如0x7050是DA14580的第一次引导辨别的固件标识,而0x7051是二引导辨别的固件标识。3.OTA后蓝牙设备是
    发表于 03-11 14:37

    求助,FPGA写不成功,第一次写成功,第二不进去了

    我应用的芯片型号是lattice的LFE5UM-85F,写配置如 写出现的错误如下 这个程序新板子第一次写是成功可以运行的,但是第二
    发表于 03-23 15:31

    68013如何只通过下载一次运行固件

    嗨,大家好。我尝试下载固件到68013在我的应用软件上运行的软件。但我发现我必须下载两。我第一次下载固件68013A不运行。在我再次下载之后,68013运行
    发表于 04-17 09:22

    请问NOR FLASH定要把2440开关拨至NOR进行可以吗?

    大家好,我这里想请教个问题,写裸板程序到NOR时,定需要把2440开关拨至NOR进行可以吗?因为我在调试代码
    发表于 09-03 04:36

    将数据写入NAND FLASH后,读出一次检验写入是否完全正确?

    现在有段很重要的数据存储到FLASH,需要确保万无失,有以下疑问:将数据写入NAND FLASH后,读出一次检验写入是否完全正确,如果确认写入的数据正确,能保证今后每次再读取时,读取到的数据都正确吗?
    发表于 09-10 14:29

    固件下载地址串口写说明

    说起机智云,真是对物联网技术小白来说太人性化了,对物联网感兴趣的的小白,只需会学会看懂代码中的接口,可以先不用学会网络协议(当然这个肯定要学的),即可轻松将数据上传到云端,废话不多说,直接给教程(其实官网已经给了)。芯片固件
    发表于 08-04 08:45

    循环充放电一次就是少一次寿命吗?

    循环充放电一次就是少一次寿命吗?     循环就是使用,我们是在使用电池,关心的是使
    发表于 11-11 13:59 1011次阅读

    电池循环充放电一次就是少一次寿命吗?

    电池循环充放电一次就是少一次寿命吗? 循环就是使用,我们是在使用电池,关心的是使用的时间,为了衡量充电电池
    发表于 09-06 11:05 3957次阅读

    薅羊毛了! 华强芯城双11三好礼!让你一次购爽!

    薅羊毛了!华强芯城双11三好礼!让你一次购爽!
    的头像 发表于 03-04 10:30 2553次阅读

    NODEMCU V3写 AT固件

    NODEMCU V3写 AT固件NODEMCU V3写AT指令固件,保存配置图。1.AT固件 AiCloud 2.0 AT(32mbit
    发表于 10-28 12:36 19次下载
    NODEMCU V3<b class='flag-5'>烧</b>写 AT<b class='flag-5'>固件</b>

    STM32一次程序后,再次写识别不到单片机

    STM32cubeMX生成的程序,编译后烧录一次后,在次烧录会发现找不到识别不到单片机了,解决方案:在STM32cubeMX工程中的SYS中,Debug中选择Serial Wire ,使能SDW
    发表于 11-19 11:51 72次下载
    STM32<b class='flag-5'>烧</b>写<b class='flag-5'>一次</b>程序后,再次<b class='flag-5'>烧</b>写识别不到单片机

    电气一次识图基础

    电气一次识图基础
    的头像 发表于 11-12 11:24 2581次阅读

    一次调频和二调频的概念 一次调频可以实现无差调节?

    一次调频和二调频的概念 一次调频可以实现无差调节? 一次调频和二调频的概念 1.
    的头像 发表于 10-17 16:15 1.2w次阅读