当前位置:首页 > 嵌入式 > 嵌入式硬件


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

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

基于事务的文件系统

解决这些需求的方法之一是采用基于纯事务的模型。例如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使用写缓冲来将小的写入合并成大的写入事务。文件系统还能监视每个文件的碎片水平,并对那些已经严重碎片化的文件进行后台去碎片处理。这种后台活动应该总是能被用户活动占先,以便确保对正在进行去碎片处理的文件进行立刻访问。

正确的组合

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





本文来源:QNX Software Systems公司 作者:QNX Software Systems公司 Randy Martin

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

上海2024年4月17日 /美通社/ -- 4月11-12日,由匠歆汽车和上海市普陀区科学技术委员会联合业内各方顶级企业及专家举办的The 6th AutoCS 2024智能汽车信息安全大会暨展览会在上海圣诺亚皇冠假日酒...

关键字: 信息安全 智能汽车 汽车信息 网络安全

hmi是Human Machine Interface 的缩写,"人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换...

关键字: HMI 人机界面 系统

提供业界最高容量的闪存、RAM和GPIO组合,支持Matter over Thread

关键字: 闪存 RAM 物联网

往复泵是一种重要的流体输送设备,广泛应用于化工、石油、制药、冶金等领域。其工作原理基于活塞在泵缸内的往复运动,通过改变泵缸内的容积来实现液体的吸入和排出。本文将详细阐述往复泵的工作原理、结构特点、性能参数以及应用领域,以...

关键字: 往复泵 泵缸 设备

在复位电路中,电容的作用是给系统提供恒定的电源电压,从而保证开机时系统能够正确地执行初始化和自检过程。因此,选择合适大小的电容对于系统的稳定性和性能至关重要。

关键字: 复位电路 电容 系统

业内消息,韩媒称三星电子已将西安工厂的NAND闪存开工率至 70%。西安工厂是三星电子唯一处于韩国境外的存储半导体生产基地,月产能为 20 万片 300mm 晶圆,占三星整体 NAND 产量的 40%。

关键字: 三星 NAND 闪存 存储

【2024年3月8日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出全新车规级PSoC™ 4100S Max系列。这一微控制器器件系列具有更佳的闪存密度、通用输入输出接口(GP...

关键字: 微控制器 人机界面 闪存

3月7日消息,根据集邦咨询的统计,2023年第四季度全球NAND闪存市场总营收达114.9亿美元,环比大涨24.5%。

关键字: 闪存

业内消息,近日国内半导体封测大厂长电科技拟斥资 6.24 亿美金(当前约合 445 亿人民币)收购美国存储巨头西部数据旗下晟碟半导体(上海)有限公司的 80% 股权。昨天开盘后,长电科技迅速涨停,当日报收 30.68 元...

关键字: 长电科技 西部数据 晟碟半导体 闪存

双方的合作可助力开发人员在两分钟内将新开发板配置入网

关键字: 物联网 闪存 存储
关闭
关闭