现在的位置: 首页资讯>正文
探究ARM平台数据为何会莫名其妙丢失
2017年12月28日 作者: 暂无评论 145+ 0

Nand-Flash/eMMC(带有Flash控制器的Nand-Flash)作为一种非线性宏单元模式存储器,为固态大容量存储的实现提供了廉价有效的解决方案。Nand-Flash存储器具有容量大,改写速度快等优点,适用于大量数据的存储,因而越来越广泛地应用在如嵌入式产品、智能手机、云端存储资料库等业界各领域。

ARM1

图1 Nand-Flash与eMMC芯片

1.1 存储器件使用寿命

使用了Nand-Flash的主板出现丢数据掉程序现象,是一个让无数工程师毛骨悚然的事故。眼看着程序用着用着就消失了,只能干着急也无法下手。有经验的工程师手起刀落换上一颗新物料,熬夜补代码继续撑过半个项目周期。回头无处发泄还要大刀阔斧换厂商、换品牌。与其换几片Nand-Flash还能负担得起,但毕竟这是一个无底洞,不如去深入探明问题原因,不然散尽家财也无法弥补亏空。

器件数据手册中通常描述Nand-Flash的块擦写寿命达10万次,EMMC的块擦写最高也会有1万次;同理,EEPROM、SD卡、CF卡、U盘、Flash硬盘等存储介质在都存在写寿命的问题。在文件系统向写数据的底层存储器块写数据时,常规会先将块里的数据读出来,擦除块干净后,将需要写入的数据和之前读出来的块数据一起在回写到存储器里面去,如果文件系统写平衡没有处理好,特别是要求1分钟以内要记录一次数据这样频繁的擦写块操作,就有可能将Nand-Flash或EMMC的块写坏。

1.2 存储器件掉电丢数据

文件系统向存储器写数据时,常规是先将块里的数据读出来,擦除块干净后,将需要写入的数据和之前读出来的块数据一起在回写到存储器里面去。如果设备在擦除块过程中或者在回写数据过程中意外发生断电甚至电压不稳定,均会造出数据丢失或者损坏。如果丢失的数据是文件系统的FAT表,则会造成文件系统崩溃。这就是引起系统程序无法启动灾难性后果的原因。

1.3 系统数据保护方案

很多时候,产品在未出厂前烧录程序、反复测试,无论怎样折腾也不会出现丢程序的情况。这可能的因素是测试设备保证了稳定的运行中电源输出,因此系统运行中正常的Flash保护机制是可靠执行的。

相对于用户实际使用而言,想避免Flash损坏的情况。需要严格遵守产品说明使用,尤其注意避免在Flash擦除或写入过程中人为地突然掉电。这是存储器件用法的一个大忌,即使完好的器件,如此不规范的使用也会大大缩短其寿命。而且不同环境下的电源系统五花八门,在电源不满足功率要求情况下程序对于电源低电量的检测阈值较低,此时强制启动系统或执行写操作更会加剧系统耗电波动,巨大的纹波也会引起CPU对存储的误操作。

解决此问题对于软件方面而言:

 调试系统或现场使用时,建议使用软件复位,避免人为频繁的通过断电实现复位操作;有断电必要时,将打印信息添加如“系统加载完成”、“数据保存完毕”等指示说明后操作;

 软件采取Flash均衡保存算法,高效地调整更改数据时擦除的Flash区域大小;

 可将数据先写入内存或者铁电存储器,然后定期的再将数据搬移到大的存储器里面,减少直接断Nand-Flash、EMMC擦写次数;

 在程序中加入或者提高电源电量检测的阈值,程序上保证所有电源系统下的芯片在此阈值上均可以正常工作。

 读写过程中仔细对坏块表进行维护更新,避免程序写入坏块。读取数据时对ECC校验,确保读取数据无误。

从硬件角度考虑需要注意:

 用法上避免在Flash擦除或写入过程中人为突然掉电;

 设计好处理控制核心的电源系统,防止CPU等在启动、运行中,电源系统因瞬时变化引起的纹波等情况;

 搭配掉电检测电路,在检测到外部电源掉电的同时,及时迅速关闭文件系统,停止向文件系统内写数据的操作;

 添加文件系统电源域UPS电源,乃至整机掉电续航工作电源;

 对于使用EEPROM等小容量存储的用户而言,可以考虑使用高可靠性的铁电材料加工制成的铁电非易失性存储器FRAM来替换。FRAM可以像RAM一样快速读写。数据在掉电后可以保存10年,且其读写寿命高达100亿次,比EEPROM和其他非易失性记忆体系统可靠性更高,结构更简单,功耗低等优点。

ARM2

图2 铁电材料非易失性存储器

下面简介一款基于法拉电容的UPS电路设计思路,要点如下:

 由于电容存在个体差异,电容存储电荷的速率不一样,存在过充造成电压超过耐压值的问题,电路中存在多颗法拉电容时需要做均压处理;

 为保证电容能够充满电能,源端需采用恒流源充电;

 为维持电容电压稳定,并降低充电电路功耗,需增加过压检测电路;

 若对电压高于法拉电容本身电压上限的电源系统提供掉电续航时,Vcc_backu端需通过BOOST升压电路后以实现,且注意系统正常时(充电过程中)关断EN脚。

ARM3

图3 基于法拉电容的UPS核心电路

系统电源正常时,充电电路即给UPS充电。系统电源掉电时,UPS放电给系统提供备用电能,建议UPS在掉电后能持续给文件系统供电能力不低于10秒,在10秒续航期间内,系统可以将电源异常状态上报、及时保持临时重要数据、关闭文件系统,保证系统稳定性,避免文件系统在掉电情况下出现损害,影响应用程序的正常启动。

ARM4

图4 建议UPS充放电时序

此外系统掉电情况需要掉电检测电路实现。使用一颗比较器器件即可,注意使用Output_VCC端供电,以确保外部掉电时,比较器仍然可以工作。比较器负端连接一个参考电压,参考电压由稳压二极管提供。正常供电时,比较器输出电压由升压电路的反馈端分压决定;掉电时,比较器输出低电平,此时处理器仍未掉电,收到状态信息可及时响应处理。另一路掉电检测可供其它功能使用。

ARM5

图6系统掉电检测电路

1.4 工控行业领导品牌

在ARM内核核心板、开发板、工控机等领域,M6708核心板、M/A335x核心板、M/A28x核心板、EPC系列工控主板、IoT系列无线主板/网关、DCP系列经典工控机等产品中,核心板产品针对Nand-Flash有着完善的坏块管理、工控主板添加掉电保护等措施。例如分别在WinCE与Linux系统下加固Flash驱动、对操作系统进行双备份;软件与硬件信号测试对Flash进行10万次掉电试验等。

同时,致远电子配备专业的EMC实验室、安规实验室、环境实验室等可实际模拟恶劣应用状况试验。结合优质供应商保证各产品分立器件均达到EMC工业三级标准,有良好的静电抗性、雷击浪涌抗性、电瞬变群脉冲抗性、以及极低的EMI传导骚扰情况;可实现-40℃~+85℃的工业级环境适应性。为从Flash至整套目标系统的可靠性安全稳定提供切实保障。

原文地址:http://www.eeboard.com/news/arm-18/

搜索爱板网加关注,每日最新的开发板、智能硬件、开源硬件、活动等信息可以让你一手全掌握。推荐关注!

【微信扫描下图可直接关注】

 aiban

  

相关文章

2017年第三季NAND Flash厂商的营收较第二季大幅增长13%
MT MT44K16M36RB 125 A

展望第四季的市况,在苹果iPhoneX的销售超乎预期的情况下,以及即将进入中国双11和欧美感恩节/圣诞节的销售旺季,NAND Flash的需求将达到全年的最高峰,供给端上3D-NAND Flash良率的提升依旧...

大联大品佳集团推出基于新唐科技的智能语音识别解决方案
ISD-1

新唐的ISD9160是以语音/音频系统单芯片(SoC)ChipCorder®,Cortex™-M0为基础,能为需要语音/音频功能的应用提供强大而又成本低廉的解决方案。其高度整合式架构32位Cortex™-M0处理器、2.4至5...

激光雷达价格背后,是自动驾驶各方之间的暗战!
固态激光雷达

主流观点认为,激光雷达已经成为自动驾驶不可或缺的关键传感器。市场上,Velodyne 64线的激光雷达“一达难求”,加价到10万美金也有公司照收不误。然而,这个旋转的大花盆正在迎来有力的竞争们...

牛掰了!三星全新的Vertical-NAND存储解决方案助其推出全球首款1TB手机闪存
sanxin-1

搭载512GB存储的手机还没发布,转眼1TB闪存芯片都要来了,然而最悲伤的是小雷却还在默默使用64GB存储的手机。从现实角度来看,三星的1TB芯片虽然能够在明年发布,但安装到手机上势必会进一步...

要尘埃落定!东芝9月20号将芯片业务出售给西部数据竞争对手?
BainCapital001

据知情人士透露,东芝公司打算在9月20日召开的董事会会议上,将有关其存储芯片业务出售给贝恩资本(BainCapital)牵头的一个财团的协议确定下来,尽管这项交易遭到西部数据公司(Western Digita...

给我留言

您必须 [ 登录 ] 才能发表留言!