当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]Nand-Flash/eMMC(带有Flash控制器的Nand-Flash)作为一种非线性宏单元模式存储器,为固态大容量存储的实现提供了廉价有效的解决方案。Nand-Flash存储器具有容量大,改写速度

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

 

图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和其他非易失性记忆体系统可靠性更高,结构更简单,功耗低等优点。

 

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

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

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

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

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

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

 

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

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

 

图4 建议UPS充放电时序

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

 

图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至整套目标系统的可靠性安全稳定提供切实保障。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着人工智能(AI)技术的迅速发展,人们对于通用人工智能(AGI,即Artificial General Intelligence)的期待也日益高涨。通用人工智能指的是具备像人类一样全面智能的计算机系统,能够执行各种复杂...

关键字: 人工智能 计算机 数据

在数字化时代,数据的数量和价值飞速增长,如何安全、有效地存储和管理这些数据成为了一个重要的问题。刻录机,作为一种同时具有数据存储和备份功能的设备,在这方面发挥着越来越重要的作用。本文将向大家介绍刻录机的定义、工作原理以及...

关键字: 刻录机 数据

在数字时代,数据已经成为企业的重要资产。随着云计算技术的快速发展,云服务器已成为企业和个人存储数据的重要平台。然而,数据的存储和处理也面临着多种安全威胁。本文将探讨如何使用云服务器确保存储数据的安全性。

关键字: 数据 云服务

北京——2023年9月21日,近期,亚马逊云科技作为参展商参与了久负盛名的IBC 2023 (欧洲广播电视展)并宣布推出一系列聚焦营收增长的媒体与娱乐(Amazon Web Services for M&E)行业解决方案...

关键字: 亚马逊 数据

上海2023年9月20日 /美通社/ -- 2023年9月19日-23日,第二十三届中国国际工业博览会(以下简称“工博会”)在国家会展中心(上海)举行,来自全球30个国家和地区的2800家展商,覆盖从基础材料、基础零部件...

关键字: 富士 存储技术 IBM 数据流

STIF2023第四届国际科创节暨DSC2023国际数字服务大会(数服会)定于12月15日在北京举行,主题为:数实融合 推动高质量发展。日前,活动筹备工作正式启动。

关键字: 国际科创节暨 数据

随着信息时代的到来,数据存储成为了一项基本需求。Flash存储器成为了一种常见的存储设备,用于存储各种类型的数据,如文档、图片、视频等。本文将详细介绍如何使用Flash存储器以及如何写入数据,帮助读者了解Flash存储器...

关键字: Flash 存储器 数据

在信息爆炸时代,大量的数据涌现出来,如何准确、高效地理解和传达这些复杂的数据成为许多领域所面临的挑战。可视化作为一种强大的数据处理和展示手段,通过图形、图表和动画等方式将抽象的数据转化为直观的可视形式,帮助用户更容易地理...

关键字: 视觉化 数据 可视化技术

随着信息时代的到来,数据成为了我们生活和工作中不可或缺的一部分。然而,海量的数据对我们来说往往难以理解和利用。这时,数据可视化技术的出现为我们提供了一种直观、有效的方式来展示和解读数据。本文将探讨数据可视化的作用以及其在...

关键字: 数据 信息 可视化

直接操作数据?我们来举个例子:取一个整型数的相反数。一般的实现方法是这样的:

关键字: 数据 浮点 C 语言
关闭
关闭