CN108153487A - 一种基于nand flash的星载固存多源数据文件系统 - Google Patents
一种基于nand flash的星载固存多源数据文件系统 Download PDFInfo
- Publication number
- CN108153487A CN108153487A CN201711239591.8A CN201711239591A CN108153487A CN 108153487 A CN108153487 A CN 108153487A CN 201711239591 A CN201711239591 A CN 201711239591A CN 108153487 A CN108153487 A CN 108153487A
- Authority
- CN
- China
- Prior art keywords
- file
- address
- data
- admittedly
- nand flash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于NAND FLASH的星载固存多源数据文件系统,包括多源载荷数据流控制模块、多源数据多文件地址管理模块、系统信息表创建模块、文件目录表创建模块、文件地址信息表创建模块。本发明系统打破了传统星载固存在多源载荷数据同时输入时不能按照载荷类型进行独立生成文件限制,解决了传统固存对载荷任务执行时的约束、操作实现流程复杂及对星上硬件资源的要求高的问题,实现了星上多源载荷数据的融合处理以及对用户关心的某一种或几种特定载荷数据的快速下传。
Description
技术领域
本发明涉及航天器数据存储领域,特别是一种基于NAND FLASH的星载固存多源数据文件系统。
背景技术
随着卫星遥感技术的高速发展,载荷原始数据速率高达几Gbps甚至几十Gbps,受卫星对地传输通道的速率限制和地面接收站数量有限的制约,卫星载荷数据无法实现对地快速下传。目前遥感卫星通过星载固态存储器将原始高速数据进行实时记录,在过境或过站时将固存中记录的数据进行低速回放下传。固存的这种“快记慢放”数据缓存策略在遥感卫星数传任务中发挥了重要的作用,为了方便在轨任务的有效管理,固存的文件管理成为了一种通用配置。
随着卫星携带的探测载荷种类越来越多和星上在轨处理任务的智能化程度越来越高,为了方便不同在轨处理任务的实现,固存接收前端不同类型载荷输入的多源高速数据进行记录时,需要同时对不同信源数据分别构建独立的文件;在固存数据回放时,也需要可根据信源类型选取一个或多个文件进行同时回放。而按照传统星载固存设计,为了实现固存按照载荷类型独立生成文件,需要前端输入的某一种载荷在某个时间段内进行单独开机执行任务;针对多载荷同时执行任务时,一般将多源数据进行统一的复接合路形成统一的数据格式进行混合存放,某一时间段的多源载荷数据形成一个文件。传统固存文件系统的设计方法不仅对载荷任务执行有一定的约束,而且这种文件系统管理方式给星上多源载荷数据的融合处理以及对用户关心的某一种或几种特定载荷数据的快速下传带来较大的困难,具体操作实现起来流程复杂,对星上硬件资源的要求高。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种基于NANDFLASH的星载固存多源数据文件系统,打破了传统星载固存在多源载荷数据同时输入时不能按照载荷类型进行独立生成文件限制,解决了传统固存对载荷任务执行时的约束、操作实现流程复杂及对星上硬件资源的要求高的问题,实现了星上多源载荷数据的融合处理以及对用户关心的某一种或几种特定载荷数据的快速下传。
本发明的技术解决方案是:一种基于NAND FLASH的星载固存多源数据文件系统,包括多源载荷数据流控制模块、多源数据多文件地址管理模块、系统信息表创建模块、文件目录表创建模块、文件地址信息表创建模块;其中:
多源载荷数据流控制模块接收到固存记录指令后,按照信源载荷数据种类分别建立独立的FIFO缓存,每路信源数据通过独立的FIFO缓存进行跨时钟变换到本地时钟;基于NAND FLASH按照页读写、按照块擦除的特点和固存可按照文件进行删除的操作需求,构建固存文件操作最小颗粒度为“块”的数据流控制管理;通过对每路信源载荷数据的FIFO内缓存数据量进行依次轮询,若对应某路FIFO内缓存的数据量大于NAND FLASH的最小页操作NKB,则开始启动读取该路载荷数据所在的缓存FIFO;多信源数据根据载荷数据种类分别独立的开辟缓存空间,缓存空间大小根据多源数据的总速率、读取缓存速率以及每次读取缓存的最小数据量共同来决定;通过数据轮询调度,将对应信源的缓存数据分时写入到固存的存储空间;每种信源数据分别构建独立的文件,并且每种信源数据在NAND FLASH存储空间上分别占用独立的块区;N种信源同时输入时分别建立对应载荷类型的N个文件,每个文件在NAND FLASH存储空间上分别占用独立的存储空间;
多源数据多文件地址管理模块分为多文件的记录文件管理和回放文件管理两部分;在文件记录时,将固存的存储空间进行统一地址管理;在同时生成多个文件时,分别对各信源文件数据进行独立的地址管理;针对M路信源数据输入时,同时构建的存储地址表有M份,每份地址表由块地址Addrblock和页地址Addrpage组成;在对固存发送记录的指令后,地址管理单元根据固存地址空间的使用情况,分别给每路信源数据分配一个初始的块地址Addrblock,初始块地址对应的Addrpage地址均从0开始计数;每次前端FIFO输出8KB数据时,均在地址管理单元中对应文件的页地址Addrpage增加1,直到计数到128时Addrpage跳转到0,此时地址管理单元给该路载荷数据分配一个新的块地址AddrNewblock;通过对每路信源数据写入到存储芯片时均构建独立的地址管理,实现每路信源数据对应文件的地址链表建立;
系统信息表创建模块,作为文件的系统信息表用来反映NAND FLASH存储空间的概要属性信息,包括固存中的总文件个数、任务执行次数、总容量、已用容量、可用容量、块大小、页大小;通过文件的系统信息表反映出存储空间芯片及存储的文件信息状况;
文件目录表创建模块,用来记录固存中某个具体文件的信息,其包括文件的状态、任务号和信源号、文件号、文件大小、文件起始地址、文件的结束地址、文件的起始时间、文件的结束时间和预留;其中每生成一个文件,均对应一个文件目录表;
文件地址信息表创建模块由三部分组成:上一个块区地址、下一个块区地址、块区状态;该表项纪录了NAND FLASH当前块区的记录状态,其中每个块区的状态标记了当前块区所在文件号,以及所在文件当前操作的上一个地址和下一个地址;每个文件在NANDFLASH中占用的最小单位为一个区块,在同一个时间t2时,只有一种信源数据写入到固存中,并且基于上文描述的地址管理策略,存储对应的某一块地址也只有一种信源数据;每次开始操作当前的块区时,更新对应的地址信息表;结合文件目录表和文件地址信息表,检索出对应文件所在固存的地址空间。
所述的多源载荷数据流控制模块通过独立的FPGA内部缓存实现,每路信源的内部缓存空间大于单位时间内轮询的载荷,并通过轮询调度算法读取每路缓存的数据;并读取每路信源缓存的速率大于所有路信源的速率平均速率。
所述的多源数据多文件地址管理模块通过FPGA并行逻辑、FPGA内置的硬核CPU或软核CPU来实现,系统信息表创建模块、文件目录表创建模块、文件地址信息表创建模块通过FPGA内置的硬核CPU或软核CPU实现。
本发明与现有技术相比的优点在于:
与现有技术相比,本发明在固存记录时可对多源载荷同时输入的不同类型数据分别生成独立的文件,在固存回放时可根据需要选择一个或多个文件进行同时回放,基于NAND FLASH存储介质构建的多源数据文件系统管理应用灵活,并且可基于某一种或几种载荷属性进行数据的检索,提升了固存使用的灵活性,方便了复杂的在轨智能处理,同时本发明在接收前端载荷一路数据源时可兼容传统星载固存的文件系统应用。目前本发明文件系统的实现方法通过了地面验证,该方法使星上固存实现了类似地面计算机的多文件同时操作处理,使星上的融合、处理操作更加的快速、灵活。
附图说明
图1为基于NAND FLASH的固存多源数据文件系统;
图2为多源载荷的数据流写入缓存调度;
图3为多文件数据同时回放的数据流;
图4为多源数据的文件数据地址调度管理;
图5为边记边放模式时的时间轴示意图;
图6为文件系统的文件记录和删除工作流程。
具体实施方式
本发明针对现有技术的不足,提出一种基于NAND FLASH的星载固存多源数据文件系统,该方法面向星上在轨处理任务的智能化应用,实现了多源载荷数据的文件独立构建和按照多信源数据类型的文件回放、删除需求。本发明根据NAND FLASH存储介质按照页读写、按照块擦除的特点,构建文件最小颗粒度为“块”的多源数据文件系统。在多源载荷数据写入固存时,在FPGA内部开辟独立的缓存空间实现多源载荷数据流独立控制并通过轮询调度算法实现多源数据在NAND FLASH芯片中分时写入,并结合每路载荷数据的独立块页地址管理,构建了固存块空间独立的链表管理。在多文件数据固存输出时,通过多源载荷文件数据地址管理对文件地址链表进行查找,将需要回放的文件地址分别进行独立的管理,然后按照固存NAND FLASH存储芯片的最小操作页为单位进行读取相应文件,通过对多文件的依次轮询块页读取,并将各文件回读的数据进行独立缓存,从而实现了多文件数据的同时输出。该方法根据NAND FLASH的数据写入、数据读出、数据擦除的分时操作特点,构建多源数据写入、多文件数据回放两个独立处理进程,同时维护多源数据的文件数据写入地址调度管理和多文件回放地址管理两个表项的管理,实现了多源数据文件的灵活操作处理。受制于CPU芯片质量等级和应用环境,地面所使用基于“CPU+操作系统”来构建文件系统的方法难以移植到卫星上,并且地面应用时频繁的“人机交互”模式也难以在卫星上实现。星载固存文件系统需根据卫星工作模式来进行针对性的设计,通过硬核或软核CPU与FPGA逻辑构建文件系统。基于NAND FLASH的固存多源数据文件系统框图见图1所示,多源数据文件系统主要包括五大部分设计:多源载荷的数据流控制、多源数据的多文件地址管理、系统信息表的创建、文件目录表的创建、文件地址信息表的创建。其中多源载荷的数据流控制通过FPGA和其外部缓存(DDR等)来实现,多源数据的多文件地址管理通过FPGA的并行逻辑和FPGA内置的硬核或软核CPU来实现,而文件管理的系统信息表、文件目录表、文件地址信息表均通过FPGA内置的硬核或软核CPU来进行维护。
(1)多源载荷的数据流控制
固存多源数据文件系统设计的基础在于对多信源载荷数据分别进行独立缓存,并根据存储芯片NAND FLASH的特点建立数据缓存的调度控制策略,将对应每种信源数据分时独立写入到对应的存储物理空间上。结合NAND FLASH芯片按照最小块区(block)单位进行擦除的操作特点和可按照文件进行删除的操作需求,设计星载固存数据写入的最小操作颗粒为块,即一个文件所占用NAND FLASH芯片的最小存储空间为一个块,每个文件占用NANDFLASH芯片存储空间大小均为区块的M倍(M为正整数,M的大小由每种信源数据量决定)。为了方便论述,选用64Gbit的NAND FLASH芯片作为存储介质,该芯片共有8192个块(block),每块有128页(page),每页8KB;选用4种不同信源数据输入,分别定义为CH1、CH2、CH3、CH4,每种数据的位宽分别定义为N1bit、N2bit、N3bit、N4bit,时钟频率分别对应为k1MHz、k2MHz、k3MHz、k4MHz,于是对应的每路数据速率分别为N1*k1Mbps、N2*k2Mbps、N3*k3Mbps、N4*k4Mbps。即多源载荷的总输入速率为Vin=(N1*k1+N2*k2+N3*k3+N4*k4)Mbps,记固存的NAND FLASH接口有效写入速率为Vnand,为确保多信源数据的无丢失写入,需满足固存的芯片接口有效速率Vnand大于多源载荷的总输入速率Vin。
固存控制FPGA接收到多信源数据后,先通过缓存(FPGA内部FIFO或外部DDR)将每路信源数据进行跨时钟变换到本地时钟K0MHz,并进行数据缓存和数据位宽的变换。为了处理的方便,每路缓存的数据输出位宽记为Mbit(M>[(N1*k1+N2*k2+N3*k3+N4*k4)/k0)]的整数)。根据所选用NANDFLASH芯片的最小写入页大小为8KB,设计每个缓存FIFO的缓存深度为D*8KB,缓存最小深度的计算4*8KB*Vin/(Vnand*8KB)=4*Vin/Vnand,而按照设计Vnand均大于Vin(故D≥4时,可保证前端数据输入时,后端每路缓存不溢出)。
每次缓存的读取数据量为8KB(NAND FLASH芯片最小写入页大小),通过对每路载荷数据的FIFO内缓存数据量进行依次轮询,若对应某路FIFO内缓存的数据量大于8KB,则开始启动读取该路载荷数据所在的缓存FIFO,每个FIFO具备起读条件后的读取数据量为8KB。每路数据的缓存深度有余量,故在轮询读取该路FIFO的数据时可保证缓存不会溢出,同时FIFO的双端口边写边读特性也可保证前端数据同时写入。
多信源数据固存写入的数据流控制见图2所示,多信源数据(n种)根据载荷数据种类分别独立的开辟缓存空间,缓存空间大小根据多源数据的总速率、读取缓存速率以及每次读取缓存的最小数据量共同来决定。通过数据轮询调度,将对应信源的缓存数据分时写入到固存的存储空间。信源数据流的独立和固存存储空间的独立是多源载荷数据文件系统的关键,并结合多源载荷文件数据地址调度管理,从而可实现多源载荷数据多个文件的建立和数据独立存放。每种信源数据分别构建独立的文件,并且每种信源数据在NAND FLASH存储空间上分别占用独立的块区。N种信源同时输入时分别建立对应载荷类型的N个文件,每个文件在NAND FLASH存储空间上分别占用独立的存储空间。
多文件数据同时回放的数据流和多源载荷数据写入过程相反,其数据流向图见图3所示。首先通过多源载荷文件数据地址管理将文件地址链表进行查找,将需要回放的文件地址分别进行独立的管理。然后按照固存NAND FLASH存储芯片的最小操作页为单位进行读取相应文件,通过对文件F1、F2及Fn文件的依次轮询页读取,经过各文件对应的数据缓存,从而实现了多文件数据的同时输出。不同文件输出的速率情况可通过对读取文件的轮询间隔和次数来进行控制。每个文件分别对应各自的缓存空间和数据通道,于是可实现多文件数据的同时回放。对于某种载荷类型的数据回放相对简单,类似于单文件的依次回放,通过文件的载荷类型属性检索,实现该类型载荷数据的快速下传。
(2)多源数据的多文件地址管理
每路8KB数据通过FIFO缓存后以M bit位宽进行数据读出时,其消耗的时间为t1=8*8/(M*k0*1024)s。显然要想时间t1越小,可增大FIFO的读出位宽M或提高FIFO的读取时钟频率k0。按照上文所论述,在后端接收FIFO输出的缓存数据时,分别对每路载荷数据按照NAND FLASH的块地址进行分配。为了有效利用固存的存储空间,将固存的存储空间进行统一地址管理。在同时生成多个文件时,需要分别对各信源文件数据进行独立的地址管理。针对4路信源数据输入时,同时构建的存储地址表有4份,每份地址表有块地址Addrblock和页地址Addrpage组成。在对固存发送记录的指令后,地址管理单元根据固存地址空间的使用情况,分别给每路信源数据分配一个初始的块地址Addrblock,初始块地址对应的Addrpage地址均从0开始计数。每次前端FIFO输出8KB数据时,均在地址管理单元中对应文件的页地址Addrpage增加1,直到计数到128时Addrpage跳转到0,此时地址管理单元给该路载荷数据分配一个新的块地址AddrNewblock。通过对每路信源数据写入到存储芯片时均构建独立的地址管理,从而实现了每路信源数据对应文件的地址链表建立,多源数据文件管理的NAND FLASH数据地址映射表见图4所示。缓存8KB数据回读出来后,通过高速的时钟写入到NAND FLASH存储芯片中,单64Gbit芯片的数据位宽为16bit,假如以高速的时钟频率knand MHz写入时,其写入的时间为t2=8*8/(16*knand*1024)s。以knand为100MHz进行参考,t2≈40us,在t2时间内采用FPGA的并行处理逻辑足以处理每一个文件写入的块地址和页地址的调度管理。
多源文件数据同时回放的地址管理相对简单,只需根据各自文件写入时建立的地址链表进行分时查找便可,基于每个文件对应的地址链表信息,可以很便捷的映射到每个文件在NAND FLASH芯片所对应的存储空间。
NAND FLASH芯片的地址、控制、数据均共用一套总线,基于这种特性其数据的写入、数据的读出、数据的擦除均是分时操作,并且向某个已使用的存储空间再写入数据时,需要先进行相应空间的块擦除操作。同时NAND FLASH写入和读出均需要一定的等待时间,因为NAND FLASH数据页读出的等待时间较小,故回读的效率高;而页写入的等待时间较长,为了充分的利用其等待时间一般采用多级流水线操作的方式来提高其写入效率。NANDFLASH芯片在物理上对外仅有一条唯一的数据总线,无论在记录还是回放时都是通过该总线进行数据传输。当固存工作在边记边放模式时,存储芯片共用该数据总线,因此,将时间轴分为记录和回放两个时间片,记录时间片时对应记录数据占用数据总线,回放时间片时对应回放数据占用数据总线,边记录边回放的时间轴分割见图5所示。对于边记录边回放模式,需要同时维护多源数据的文件数据写入地址调度管理和多文件回放地址管理两个表项的管理,基于写入和回放分别对应连个时间片,于是在地址调度管理上也是分时继续处理。对于NAND FLASH而言,其文件写入操作和回放操作的数据流均独立,并且两种操作是按照时间片进行分时,从而多源载荷的数据流控制和多源数据的多文件地址管理在固存的边记录边回放模式同样适用,只是需要同时进行数据流和固存地址的分时调度管理。
(3)系统信息表的创建
文件的系统信息表主要用来反映NAND FLASH存储空间的概要属性信息,其主要信息包括固存中的总文件个数、任务执行次数、总容量(区块个数)、已用容量、可用容量、块大小(页数量)、页大小等。通过文件的系统信息表反映出存储空间芯片及存储的文件信息状况。表1是单个64Gb的NAND FLASH芯片构建文件系统信息表的情况,其单芯片有64Gb容量,一个通道16bit位宽,其总区块数据为8192块,每块有128页,每页8KB。操作时闪存操作的通道数据为1个,进行2级流水线操作,芯片包含2个逻辑单元(LUN)。若采用其他容量芯片或由多个芯片组成的存储阵列,只需要按照对应的情况进行更新即可。
表1基于NAND FLASH构建的文件系统信息表(单芯片64Gb)
固存的系统信息表反映的是整个固存状态和操作的概要信息表,通过系统信息表可知固存系统级的信息,包括芯片特点、设计的通道、流水线、容量信息、文件总个数等信息,反映的是固存系统层面信息。
(4)文件目录表的创建
文件目录表用来记录固存中某个具体文件的信息,其包括文件的状态(文件内有效数据时标记为有效,空文件时标记为无效文件)、任务号和信源号、文件号、文件大小、文件起始地址、文件的结束地址、文件的起始时间、文件的结束时间和预留,见表2所示。其中每生成一个文件,均对应一个文件目录表。
表2基于NAND FLASH构建的文件目录表
表项 | 数据长度 | 表项含义 |
File_type | 1Byte | 文件状态,0无效,1有效 |
File_name | 4Byte | 任务号+通道号 |
File_code | 4Byte | 文件编码(保留) |
Cluster_num | 2Byte | 文件大小(块区数量) |
Start_addr | 2Byte | 文件开始簇地址 |
End_addr | 2Byte | 文件结束簇地址 |
Start_time | 6Byte | 文件开始时间,年月日时分秒各占1Byte |
End_time_h | 6Byte | 文件结束时间,年月日时分秒各占1Byte |
Reserve | 5Byte | 保留 |
固存的文件目录表是系统信息表里面对应某个文件的详细信息,其表征的是文件级的信息,它作为系统信息表的下一级负责单个文件信息的维护。通过文件的目录表,可知该文件的文件名、文件号、文件载荷类型、文件大小、文件建立结束时间、文件起始终止地址等信息。
(5)文件地址信息表的创建
文件地址映射表由三部分组成:上一个块区地址、下一个块区地址、块区状态组成,具体描述见表3所示。对应的NAND FLASH芯片共有8192个块区,则文件地址映射表的表项数有8192项。该表项纪录了NAND FLASH当前块区的记录状态,其中每个块区的状态标记了当前块区所在文件号,以及所在文件当前操作的上一个地址和下一个地址。结合上文论述的多源数据写入时调度策略,每个文件在NAND FLASH中占用的最小单位为一个区块,在同一个时间t2时,只有一种信源数据写入到固存中,并且基于上文描述的地址管理策略,存储对应的某一块地址也只有一种信源数据。每次开始操作当前的块区时,更新对应的地址信息表。结合文件目录表和文件地址信息表,便可方便的检索出对应文件所在固存的地址空间。
表3基于NAND FLASH构建的文件地址映射表
文件信息根据文件的生成、删除发生变化,文件生成时文件系统需要给文件数据分配存储空间且记录文件信息。因此,在文件生成与形成完成的过程中伴随着文件信息表、剩余空间表以及系统信息表的更新重建等操作,文件的记录和删除过程的工作流程见图6所示。固存文件的回放操作流程相对简单,只涉及到文件目录表和地址映射表的索引,不涉及文件信息的变化。
基于NAND FLASH的星载固存通过对多源数据的独立控制和地址空间的调度管理,并且对系统信息表、文件目录表、地址映射表的分级分层管理,提出了一种多源载荷数据文件系统的实现方法。通过实际的工程验证,该方法针对前端4种载荷数据的同时输入,在固存记录时分别对应生成4个独立的文件。固存中每个文件可按照载荷的类型进行独立的回放、删除;并且在对多源数据进行融合处理时,可同时选取4种载荷类型的一种或多种信源数据进行同时回放。该方法的设计使用灵活,实现了星上固存类似地面计算机的多文件同时操作处理,并且对于边记录边回放模式也是同样适应。
综上所述,基于航天产品的稳定性和可靠性考虑,目前星载固存主要采用NANDFLASH作为存储介质,本发明提出了一种基于NAND FLASH的星载固存多源数据文件系统及实现方法,该方法在固存记录时可对多源载荷同时输入的不同类型数据分别生成独立的文件,在固存回放时可根据需要同时选择一个或多个文件进行同时回放。基于NAND FLASH存储介质构建的多源数据文件系统管理应用灵活,并且可基于某种或几种载荷属性进行数据的检索,提升了固存使用的灵活性,方便了复杂的在轨智能处理,同时该方法在接收前端载荷一路数据源时可兼容传统星载固存的文件系统应用。目前该文件系统的实现方法通过了地面验证,该方法使星上固存实现了类似地面计算机的多文件同时操作处理,使星上的融合、处理操作更加的快速、灵活。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (3)
1.一种基于NAND FLASH的星载固存多源数据文件系统,其特征在于包括多源载荷数据流控制模块、多源数据多文件地址管理模块、系统信息表创建模块、文件目录表创建模块、文件地址信息表创建模块;其中:
多源载荷数据流控制模块接收到固存记录指令后,按照信源载荷数据种类分别建立独立的FIFO缓存,每路信源数据通过独立的FIFO缓存进行跨时钟变换到本地时钟;基于NANDFLASH按照页读写、按照块擦除的特点和固存可按照文件进行删除的操作需求,构建固存文件操作最小颗粒度为“块”的数据流控制管理;通过对每路信源载荷数据的FIFO内缓存数据量进行依次轮询,若对应某路FIFO内缓存的数据量大于NAND FLASH的最小页操作N KB,则开始启动读取该路载荷数据所在的缓存FIFO;多信源数据根据载荷数据种类分别独立的开辟缓存空间,缓存空间大小根据多源数据的总速率、读取缓存速率以及每次读取缓存的最小数据量共同来决定;通过数据轮询调度,将对应信源的缓存数据分时写入到固存的存储空间;每种信源数据分别构建独立的文件,并且每种信源数据在NAND FLASH存储空间上分别占用独立的块区;N种信源同时输入时分别建立对应载荷类型的N个文件,每个文件在NAND FLASH存储空间上分别占用独立的存储空间;
多源数据多文件地址管理模块分为多文件的记录文件管理和回放文件管理两部分;在文件记录时,将固存的存储空间进行统一地址管理;在同时生成多个文件时,分别对各信源文件数据进行独立的地址管理;针对M路信源数据输入时,同时构建的存储地址表有M份,每份地址表由块地址Addrblock和页地址Addrpage组成;在对固存发送记录的指令后,地址管理单元根据固存地址空间的使用情况,分别给每路信源数据分配一个初始的块地址Addrblock,初始块地址对应的Addrpage地址均从0开始计数;每次前端FIFO输出8KB数据时,均在地址管理单元中对应文件的页地址Addrpage增加1,直到计数到128时Addrpage跳转到0,此时地址管理单元给该路载荷数据分配一个新的块地址AddrNewblock;通过对每路信源数据写入到存储芯片时均构建独立的地址管理,实现每路信源数据对应文件的地址链表建立;
系统信息表创建模块,作为文件的系统信息表用来反映NAND FLASH存储空间的概要属性信息,包括固存中的总文件个数、任务执行次数、总容量、已用容量、可用容量、块大小、页大小;通过文件的系统信息表反映出存储空间芯片及存储的文件信息状况;
文件目录表创建模块,用来记录固存中某个具体文件的信息,其包括文件的状态、任务号和信源号、文件号、文件大小、文件起始地址、文件的结束地址、文件的起始时间、文件的结束时间和预留;其中每生成一个文件,均对应一个文件目录表;
文件地址信息表创建模块由三部分组成:上一个块区地址、下一个块区地址、块区状态;该表项纪录了NAND FLASH当前块区的记录状态,其中每个块区的状态标记了当前块区所在文件号,以及所在文件当前操作的上一个地址和下一个地址;每个文件在NAND FLASH中占用的最小单位为一个区块,在同一个时间t2时,只有一种信源数据写入到固存中,并且基于上文描述的地址管理策略,存储对应的某一块地址也只有一种信源数据;每次开始操作当前的块区时,更新对应的地址信息表;结合文件目录表和文件地址信息表,检索出对应文件所在固存的地址空间。
2.根据权利要求1所述的一种基于NAND FLASH的星载固存多源数据文件系统,其特征在于:所述的多源载荷数据流控制模块通过独立的FPGA内部缓存实现,每路信源的内部缓存空间大于单位时间内轮询的载荷,并通过轮询调度算法读取每路缓存的数据;并读取每路信源缓存的速率大于所有路信源的速率平均速率。
3.根据权利要求1所述的一种基于NAND FLASH的星载固存多源数据文件系统,其特征在于:所述的多源数据多文件地址管理模块通过FPGA并行逻辑、FPGA内置的硬核CPU或软核CPU来实现,系统信息表创建模块、文件目录表创建模块、文件地址信息表创建模块通过FPGA内置的硬核CPU或软核CPU实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711239591.8A CN108153487B (zh) | 2017-11-30 | 2017-11-30 | 一种基于nand flash的星载固存多源数据文件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711239591.8A CN108153487B (zh) | 2017-11-30 | 2017-11-30 | 一种基于nand flash的星载固存多源数据文件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153487A true CN108153487A (zh) | 2018-06-12 |
CN108153487B CN108153487B (zh) | 2021-04-13 |
Family
ID=62469259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711239591.8A Active CN108153487B (zh) | 2017-11-30 | 2017-11-30 | 一种基于nand flash的星载固存多源数据文件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153487B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958657A (zh) * | 2018-06-27 | 2018-12-07 | 深圳市德名利电子有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN109062822A (zh) * | 2018-07-18 | 2018-12-21 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN111737199A (zh) * | 2020-08-05 | 2020-10-02 | 成都智明达电子股份有限公司 | 一种嵌入式抗掉电文件系统的操作方法 |
CN112650448A (zh) * | 2020-12-21 | 2021-04-13 | 中国航天科工集团八五一一研究所 | 一种基于fpga的大数据量存储文件管理方法 |
CN112667165A (zh) * | 2020-12-29 | 2021-04-16 | 湖南博匠信息科技有限公司 | 数据存储系统及其数据存储方法 |
CN113220639A (zh) * | 2021-03-15 | 2021-08-06 | 上海航天测控通信研究所 | 一种面向空间应用的文件存储系统控制装置 |
CN114328508A (zh) * | 2021-11-19 | 2022-04-12 | 北京遥测技术研究所 | 一种星载固态存储器的快速检索方法 |
CN117251117A (zh) * | 2023-11-15 | 2023-12-19 | 中国科学院国家空间科学中心 | 一种基于串行总线轮询管理的星载固态存储系统 |
CN118363543A (zh) * | 2024-06-20 | 2024-07-19 | 天津云遥宇航科技有限公司 | 星载gnss掩星及海洋反射载荷数据存储系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094231A (zh) * | 2007-07-10 | 2007-12-26 | 北京易路联动技术有限公司 | 一种分布式可同步的多源数据的控制方法和装置 |
CN103646063A (zh) * | 2013-11-27 | 2014-03-19 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种星载高速文件管理系统 |
US20140208007A1 (en) * | 2013-01-22 | 2014-07-24 | Lsi Corporation | Management of and region selection for writes to non-volatile memory |
CN105588544A (zh) * | 2015-12-16 | 2016-05-18 | 西安空间无线电技术研究所 | 一种星上信息的点播推送方法 |
CN106502934A (zh) * | 2016-11-09 | 2017-03-15 | 上海微小卫星工程中心 | 高速一体化星载数据管理系统 |
CN106788673A (zh) * | 2016-11-29 | 2017-05-31 | 上海卫星工程研究所 | 基于数据融合的星载工程参数快速传输方法 |
-
2017
- 2017-11-30 CN CN201711239591.8A patent/CN108153487B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094231A (zh) * | 2007-07-10 | 2007-12-26 | 北京易路联动技术有限公司 | 一种分布式可同步的多源数据的控制方法和装置 |
US20140208007A1 (en) * | 2013-01-22 | 2014-07-24 | Lsi Corporation | Management of and region selection for writes to non-volatile memory |
CN103646063A (zh) * | 2013-11-27 | 2014-03-19 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种星载高速文件管理系统 |
CN105588544A (zh) * | 2015-12-16 | 2016-05-18 | 西安空间无线电技术研究所 | 一种星上信息的点播推送方法 |
CN106502934A (zh) * | 2016-11-09 | 2017-03-15 | 上海微小卫星工程中心 | 高速一体化星载数据管理系统 |
CN106788673A (zh) * | 2016-11-29 | 2017-05-31 | 上海卫星工程研究所 | 基于数据融合的星载工程参数快速传输方法 |
Non-Patent Citations (1)
Title |
---|
许志宏: "面向星载一体化综合电子系统的固态存储技术研究", 《中国博士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958657B (zh) * | 2018-06-27 | 2022-03-04 | 深圳市德明利技术股份有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN108958657A (zh) * | 2018-06-27 | 2018-12-07 | 深圳市德名利电子有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN109062822A (zh) * | 2018-07-18 | 2018-12-21 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN111737199A (zh) * | 2020-08-05 | 2020-10-02 | 成都智明达电子股份有限公司 | 一种嵌入式抗掉电文件系统的操作方法 |
CN111737199B (zh) * | 2020-08-05 | 2020-11-20 | 成都智明达电子股份有限公司 | 一种嵌入式抗掉电文件系统的操作方法 |
CN112650448B (zh) * | 2020-12-21 | 2024-04-05 | 中国航天科工集团八五一一研究所 | 一种基于fpga的大数据量存储文件管理方法 |
CN112650448A (zh) * | 2020-12-21 | 2021-04-13 | 中国航天科工集团八五一一研究所 | 一种基于fpga的大数据量存储文件管理方法 |
CN112667165A (zh) * | 2020-12-29 | 2021-04-16 | 湖南博匠信息科技有限公司 | 数据存储系统及其数据存储方法 |
CN112667165B (zh) * | 2020-12-29 | 2023-11-17 | 湖南博匠信息科技有限公司 | 数据存储系统及其数据存储方法 |
CN113220639A (zh) * | 2021-03-15 | 2021-08-06 | 上海航天测控通信研究所 | 一种面向空间应用的文件存储系统控制装置 |
CN113220639B (zh) * | 2021-03-15 | 2022-04-15 | 上海航天测控通信研究所 | 一种面向空间应用的文件存储系统控制装置 |
CN114328508A (zh) * | 2021-11-19 | 2022-04-12 | 北京遥测技术研究所 | 一种星载固态存储器的快速检索方法 |
CN114328508B (zh) * | 2021-11-19 | 2024-04-26 | 北京遥测技术研究所 | 一种星载固态存储器的快速检索方法 |
CN117251117B (zh) * | 2023-11-15 | 2024-01-26 | 中国科学院国家空间科学中心 | 一种基于串行总线轮询管理的星载固态存储系统 |
CN117251117A (zh) * | 2023-11-15 | 2023-12-19 | 中国科学院国家空间科学中心 | 一种基于串行总线轮询管理的星载固态存储系统 |
CN118363543A (zh) * | 2024-06-20 | 2024-07-19 | 天津云遥宇航科技有限公司 | 星载gnss掩星及海洋反射载荷数据存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108153487B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153487A (zh) | 一种基于nand flash的星载固存多源数据文件系统 | |
CN101606130B (zh) | 在处理器系统的指令级使能资源分配标识的方法和装置 | |
CN105760113B (zh) | 基于nand闪存的高速存储设备及文件管理方法 | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
CN104298610B (zh) | 资料储存系统及其管理方法 | |
CN100590607C (zh) | 存储系统以及存储区域释放方法以及存储装置 | |
CN104508639B (zh) | 使用一致性域表的一致性管理 | |
CN100456264C (zh) | 一种磁盘空间管理方法及系统 | |
CN106406765B (zh) | 基于文件链接的异构分布式存储系统及其文件管理方法 | |
CN108121503A (zh) | 一种NandFlash地址映射及块管理算法 | |
CN106066890B (zh) | 一种分布式高性能数据库一体机系统 | |
CN103034562A (zh) | 闪存介质控制器中的元数据处理 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
CN107239526A (zh) | 文件系统实现方法、碎片整理方法、操作位置定位方法 | |
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN104765575A (zh) | 信息存储处理方法 | |
CN108628542A (zh) | 一种文件合并方法及控制器 | |
CN110109872A (zh) | 一种遥感卫星异构数据统一存储管理装置 | |
CN102567818A (zh) | 生成订单物料清单的方法和系统 | |
CN102999453A (zh) | 用于系统芯片集成的通用非易失性存储器控制装置 | |
CN106528756B (zh) | 一种基于时空关联性的网络地图数据组织方法 | |
CN105897859A (zh) | 一种存储系统 | |
CN102122284B (zh) | 一种复合文档存储、读写方法和装置 | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
CN105260139B (zh) | 一种磁盘管理方法以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |