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

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

3天内不再提示

汽车电子系统中闪存文件系统的应用设计与研究

电子设计 来源:电子工程网 作者:电子工程网 2021-04-06 15:11 次阅读

汽车信息娱乐和远程电子信息处理系统需要从闪存器件中读写海量数据,因此这些器件必须能长期可靠、无错地保存数据。例如,嵌入到汽车导航系统中的闪存芯片必须在若干年的频繁使用条件下可靠工作。用户不希望丢失数据以及很长的启动时间,或者忍受很长的数据恢复时间。这些都对控制闪存芯片中数据的文件系统技术提出了非常严格的要求。

使问题更加复杂的是,汽车嵌入式设计必须使成本绝对最低。材料清单中通常不能增加管理电源波动或不受控关断的硬件,而这两种情况中的任何一种都会导致闪存损坏,并导致业务丢失。因此,闪存文件系统技术不能简单地提供高吞吐量的读/写功能;它还必须具有自恢复功能,并且在启动之后的若干毫秒之内能被完全访问。

基于事务的文件系统

解决这些需求的方法之一是采用基于纯事务的模型。例如QNX嵌入式事务文件系统(ETFS)就遵循这种模型,完全是由事务组成。无论是文件系统的元数据还是用户数据的每一次写操作都是由一个“原子”事务组成。一个事务要么获得成功,要么就当成什么事也没有发生。

这种方法可以确保文件系统在电源故障的条件下也能完好无损,即使电源故障发生在闪存写入或块删除期间。为避免文件破坏,事务从来不会覆盖现有的“有效”数据。在文件升级中间的写入操作总是会写入到一个新的未用区域。因此如果这次操作因为突发事故或电源故障不能完成,现有的数据将保持不变。重新启动后,文件系统可以重新执行和正确完成写操作,这样就可以从可能损坏传统文件系统的状态中恢复过来。

事务文件系统可以通过处理设备中的事务日志来动态建立文件系统的层次结构。这种操作发生在系统启动之时,应设计成只有很少部分的数据需要读取和CRC校验。这样一来,文件系统可以获得高的数据完整性和快速的重启时间。例如QNX ETFS可以在数十毫秒内恢复,而传统的文件系统需要数百毫秒。

汽车电子系统中闪存文件系统的应用设计与研究

图1:这种车载导航系统是要求大容量可靠闪存文件系统(用于三维映射、动态路由等)的一个实例。

如图2所示,在纯粹基于事务的文件系统中,每个事务由头和用户数据组成。事务头被放在闪存阵列的空闲字节中。例如,一个具有2112字节页的NAND器件可以由64字节的头和2048字节的用户数据组成。事务头标识数据所属的文件以及其逻辑偏移,并包含一个序列号来确定事务的顺序。头部还包括CRC和 ECC字段,用于误码检测和纠正。

图2:这张器件图表明了它相对于纯事务文件系统中物理媒介的独立性。

在系统启动时,文件系统扫描这些事务头来快速重构存储器中的文件系统结构。除了确保高的数据完整性和快速的重新启动时间,一个闪存文件系统还必须具有可以延长闪存寿命的特性,进而增加整个嵌入式系统的长期可靠性。这些特性包括读取性能劣化监测、动态和静态损耗平衡以及避免文件碎片的技术。

恢复丢失的比特

在NAND闪存块内的每一次读操作都会使保持数据位的电荷减弱。因而,在大约10万次读操作后闪存块就会丢失数据。为了解决这个问题,一个设计完善的文件系统会跟踪读操作,并在块的读次数达到极限之前标记出弱电荷块以便进行刷新。文件系统随后执行一次刷新操作,该操作将数据拷贝到一个新的闪存块,并擦除该弱块。这种擦除实现了对闪存块的再充电。

文件系统还应该对所有的读写操作执行ECC运算,以便从可能发生的任何单比特差错中恢复。然而,尽管ECC对于那些本身丢失了单个比特的闪存效果很好,但是对于在写操作期间因为电源故障而导致的很多比特损坏则无能为力。因此,文件系统应该对每个事务执行一次CRC检验,以快速检测出损坏的数据。如果CRC 检测到一个错误,文件 系统就可以使用ECC纠错功能将数据恢复到一个新块上,然后标记出弱电荷块以便擦除。

动态和静态损耗平衡

每个闪存块在其失效之前的擦除次数是有限的。在某些器件中,这个数字可以低到10万次擦除。为了解决这个问题,文件系统必须实现动态损耗平衡,它通过将擦除次数均匀地分散到设备中来延长闪存寿命。

差异可能很大:从没有损耗平衡几天就产生故障的使用情形到利用损耗平衡超过40年的情形。为实现动态损耗平衡,文件系统会跟踪每个块的擦除次数,然后优先使用那些较少使用的块。

通常,闪速存储器包含大量的静态文件,这些文件经常被读取,但不会再写入。这些文件占用的闪存块没有理由被擦除。如果闪存中大部分文件是静态的,剩余部分包含动态数据的块的损耗将戏剧性地加快。对于NAND存储器来说这方面的问题更大,因为NAND每个块的读次数相当有限。

因此,一个设计优秀的文件系统应提供静态损耗平衡功能,它将较少使用的静态块中的数据拷贝到过量使用的块中,从而实现块的平衡使用。这种方法可以让过量使用的块休息,因为它们现在存储的是静态数据,并将使用较少的静态块移动到动态块组中。

尽量减少文件碎片

文件碎片也是闪存器件的一个问题。然而,支持去碎片技术只是解决方案的一部分。因为NAND闪存具有有限的写次数,文件系统必须尽可能避免碎片产生,以延长闪存的寿命。

基于日志的文件系统经常受碎片的影响,因为对已有的文件进行刷新或写入会产生一个新的事务。为减少很多小事务产生的碎片,QNX ETFS使用写缓冲来将小的写入合并成大的写入事务。文件系统还能监视每个文件的碎片水平,并对那些已经严重碎片化的文件进行后台去碎片处理。这种后台活动应该总是能被用户活动占先,以便确保对正在进行去碎片处理的文件进行立刻访问。

正确的组合

完全可能构建一个能提供高吞吐量、高可靠性和快速启动时间的闪存文件系统。通过整合事务级的设计、成熟的纠错以及损耗平衡方法,闪存文件系统完全可以解决当前嵌入式汽车信息娱乐设备提出的复杂要求。

责任编辑:gt

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

    关注

    4981

    文章

    18272

    浏览量

    288327
  • NAND
    +关注

    关注

    16

    文章

    1542

    浏览量

    134768
  • 汽车电子
    +关注

    关注

    2998

    文章

    7443

    浏览量

    161560
收藏 人收藏

    评论

    相关推荐

    除了防抱死,你还知道有哪些汽车电子系统

    随着汽车科技的发展,电子系统正成为当下汽车中的标配,很多功能都需要电子系统配合才能使用,汽车中都有哪些常用的
    发表于 08-30 14:11 2557次阅读

    求大神帮忙做个程序基于FPGA的车载电子系统设计

    基于FPGA的车载电子系统设计,设计要求:通过对FPGA技术的学习和了解,设计一款车载电子系统,以达到密码锁功能,收音机功能,以及USB数据传输功能,还需设计CAN总线控制接口,方便后续功能的开发和汽车对其他CAN总线上设备的控
    发表于 04-06 20:11

    电子系统仿真与MATLAB

    MATLAB特别适用于对电子系统进行计算机仿真,本文主要阐述如何运用MATLAB对电子系统进行仿真,同时提供大量实例供参考和模拟
    发表于 05-04 21:25

    汽车电子系统可靠性的计算

    每个硬件元件都有一个失效率,所有元器件组成系统之后,其全部元件的失效率决定了系统最终的可靠性。系统的组成方式可分为串联和并联系统两种基础系统
    发表于 02-21 11:25

    电子系统可靠性的计算

    硬件设计,即使再好的设计,都可能因为元器件的老化等问题,最终可能产生失效。因此一个电子系统就存在工作可靠性的问题。对于电子系统,根据元件固有的失效率λ,可以计算出系统的可靠性。这里根
    发表于 02-21 11:37

    宇宙射线对汽车电子系统有什么影响

    。他们必须把复杂的电子设备增添到每一个后续车型,同时还得维持高标准的品质和可靠性,并满足严格的低成本和大批量生产要求。传统上,汽车开发人员一直依赖于 MCU、ASIC 和硕大的线束来实现和控制
    发表于 06-21 07:08

    FPGA在车载电子系统的应用

    可编程逻辑器件(PLD)越来越受到车载电子系统市场的青睐,因为它的内在灵活性和能够在制造场所甚至最终销售点修改设计的能力。PLD器件针对的汽车电子系统市场包括驾驶辅助系统、信息娱乐
    发表于 07-25 06:36

    汽车电子系统面临的状况

    汽车电子系统供电时,不但需要满足高可靠性要求,还需要应对相对不太稳定的电池电压,具有一定挑战性。与车辆电池连接的电子和机械系统具有差异性,可能导致标称12 V电源出现大幅电压偏移。事
    发表于 06-24 18:44

    电源 IC 应用在汽车电子系统有什么样的要求?

    汽车电子系统日益增多、越来越复杂,提高电源 IC 性能的目的是允许设计适应这种状况的电子系统。促进汽车
    发表于 03-06 06:23

    如何选择汽车电子系统的处理器?

    针对汽车数字信号处理应用的各种处理器类型,有什么优缺点?如何选择汽车电子系统的处理器?
    发表于 05-14 06:59

    汽车电子系统对性能的要求有哪些?

    开关稳压器须具备哪些特点?汽车电子系统对性能的要求有哪些?
    发表于 05-17 07:04

    DCDC降压型BUCK变换器应用于汽车电子系统的设计技巧有哪些?

    DCDC降压型BUCK变换器应用于汽车电子系统中会出现哪些问题?DCDC降压型BUCK变换器应用于汽车电子系统的设计技巧有哪些?
    发表于 07-28 07:36

    为何汽车电子系统要做Load Dump保护设计?

    为何汽车电子系统要做Load Dump保护设计?
    发表于 01-14 07:07

    汽车底盘电子系统,汽车底盘电子系统是什么意思

    汽车底盘电子系统,汽车底盘电子系统是什么意思 汽车底盘由传动系、行驶系、转向系和制动系四大部分组成,即除发动机、车身、电器及附属设备
    发表于 03-11 16:15 4432次阅读

    汽车电子常见的电子系统盘点分析

    随着汽车科技的发展,电子系统正成为当下汽车中的标配,很多功能都需要电子系统配合才能使用,汽车中都有哪些常用的
    发表于 12-24 14:34 6374次阅读