微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于FLASH星载存储器的高效管理研究

基于FLASH星载存储器的高效管理研究

时间:01-27 来源:21IC 点击:
NAND FLASH开始广泛应用于星载存储器,针对FLASH的数据高效管理成为该类存储器研究的重要组成部分。本文以商用文件系统YAFFS2为基础,结合空间应用的数据存储特点,引入文件系统的概念对存储器数据进行管理,制定了针对星载存储器的数据管理方案,搭建了一个实际的星载存储器对相应的管理方案进行了验证。

1. 引言

在航天航空任务中,数据存储占有重要的地位,高可靠的大容量数据存储设备是卫星上 的关键设备之一。由于半导体存储芯片具有高集成度、高存储密度、低功耗、防腐防震等突 出优点,因而使用半导体存储芯片作为数据存储介质成为星载数据存储设备的主流设计方案。NAND FLASH 作为一种优秀的半导体存储芯片,同时具有掉电非易失的特性,而且它强调降低每比特数据的存储成本,提供更高的存储密度和更好的性能,是理想的数据存储介 质。但NAND FLASH 自身具有一些特性,使得它不能像普通磁盘那样进行操作[1],因而需 要设计专门的文件系统来进行基于NAND FLASH 存储器的管理,提高存储器的可靠性和易 用性[2]。

本文的组织方式如下:第二节研究了空间应用的数据存储特点,并提出了相应的星载存储器硬件设计结构。第三节具体分析了YAFFS2[3]各个关键算法的优缺点,并针对空间应用提出了相应的修改方案。第四节实现了一个具体的空间存储器系统,对第三节中的算法进行 了实验验证。最后第五节是对全文的总结。

2. 星载存储器硬件结构

2.1 空间任务的数据存储特点

随着对地观测技术的发展,对地观测设备对星载存储设备的要求越来越高。首先,数据存储容量的要求逐步提高,各种观测设备精度不断增加,工作寿命不断延长,随之产生的数据量急剧增加,需要更高容量的存储设备才能满足要求;其次,数据存储速率的要求较高,且需满足实时性数据存储功能。空间飞行器往往需要同时执行多种任务,产生高速的实时数据流,因而实时高效的数据处理能力是存储器管理的重要能力之一;最后,数据存储应具有很高的可靠性,由于空间环境的恶劣性,空间电磁波或者粒子辐射会造成存储数据的损害,因而必须提供可靠的数据保护。

2.2 硬件结构的设计

根据空间数据存储的特点,设计大容量存储器硬件结构如图 1 所示。

图 1 存储器硬件结构图 由于单片FLASH 存储容量有限,因而采用多片FLASH 组成存储阵列,提升存储器的总容量。
为了提高存储速率,引入并行扩展和流水线操作的概念,将存储阵列划分为流水线组,每组多片芯片构成并行结构。并行扩展的概念较为直接,由于单片FLASH 芯片的数据总线 位宽较小,因而将多片芯片的IO 端口进行并行扩展,而所有控制信号直接连接在一起,这 样每组芯片可以看作一个整体进行控制,实现了数据的并行操作。并行N 片的宽总线结构数据处理能力可以达到单片芯片的N 倍。另外由于FLASH 芯片为串行操作接口,数据的写入需要经过数据加载、芯片自动编程、状态读取的过程才能执行下一次的写入操作,因而写入性能较差。考虑到芯片自动编程过程的时间较长且不需要外部干预,可以借鉴流水线的设计思想,利用这段空闲时间对其他组芯片进行控制,提高数据吞吐率。流水线操作示意图如 图2 所示。假设数据加载时间为Tload,芯片自动编程时间为Tprog,状态读取时间为 Tcheck,采用M 级流水线完成一次流水操作的总时间不超过(Tload+Tcheck)*M+Tprog, 相比不采用流水线操作缩短了(M-1)*Tprog 时间,提高了数据吞吐率。具体的总线宽度以及 流水线级数设置可以根据具体应用需求确定。

最后,为了提高数据的可靠性,在 FLASH 控制模块中增加数据检错纠错处理模块。

图 2 流水线操作示意图


3. YAFFS2 分析与改进

YAFFS2 具有优良的文件管理特性,但是毕竟YAFFS2 是针对商用领域设计的文件系统,对于空间应用并没有特殊考虑,直接应用有其局限性。本节针对空间存储器的特点,对 YAFFS2 不适合空间应用的方面提出具体的修改方案,使得修改后的文件系统能够满足空间 数据存储的需求。

3.1 硬件结构适应性

YAFFS2 文件系统只是针对单片FLASH 设计的系统,对于FLASH 存储阵列的结构没有 考虑,因而不适宜于直接在阵列结构上面使用,需要进行修改。

并行结构的处理比较简单,将同组内的所有芯片当作整体统一进行处理即可。这样的设计简单,但也会带来一些额外的问题需要注意。比如当某一片芯片出现坏块的时候,组内其他芯片相应块也需标记为坏块,造成一定的存储空间浪费。另外读取该组状态的时候需要同时兼顾并行多片的状态。这些问题需要在文件系统设计中进行相应的修改。 流水线的设计较为复杂。由于YAFFS2 的存储区管理是基于单片芯片的,因而在多级流 水线结构中,每级流水线需要单独维护自己的存储区,比如存储块的分配、坏块的标记等。数据写入的时候首先需要选择流水线级,在流水线级内部再采用现有的存储区管理方式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top