一种Flash存储文件系统技术方案

技术编号:10182812 阅读:150 留言:0更新日期:2014-07-03 13:29
本发明专利技术公开了一种高速Flash存储文件系统。该系统包括:Flash文件存储块管理模块、文件信息管理模块、文件操作管理模块及针对信号系统的特定操作管理模块。该系统通过对Flash芯片阵列的块地址的有效排列来管理实际的存储空间,该文件系统的块地址排列满足高速Flash存储文件系统的使用需求,并提供一组灵活的文件管理API,同时还针对信号记录系统提供特定操作接口。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种高速Flash存储文件系统。该系统包括:Flash文件存储块管理模块、文件信息管理模块、文件操作管理模块及针对信号系统的特定操作管理模块。该系统通过对Flash芯片阵列的块地址的有效排列来管理实际的存储空间,该文件系统的块地址排列满足高速Flash存储文件系统的使用需求,并提供一组灵活的文件管理API,同时还针对信号记录系统提供特定操作接口。【专利说明】—种Flash存储文件系统
本专利技术涉及计算机
,尤其涉及一种Flash存储文件系统。
技术介绍
高速数据采集目前被广泛应用于雷达、信号处理及通信等需要进行信号记录的领域,由此对高速大容量存储的需求越来越高,而且对存储系统的使用灵活性及稳定性提出了更高的要求。因此针对高速Flash存储方面的文件系统的开发与研究具有重大的现实意义。然而现有技术中,由于生产工艺的问题,Flash存储器在出厂时可能存在一定的坏块。这些固有坏块不能用于存储数据。另外,使用过程中由于读写次数增多,好块也会变得不稳定或失效,成为坏块(即使用坏块)。无论是固有坏块还是使用坏块其都会对Flash存储文件系统会有影响,因此如何合理组织Flash文件系统的存储块(包括坏块、可用块以及已用块)的管理,以最大程度并行更多数量的Flash芯片,从而达到高速数据存储的目的,是个本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术的目的是提供一种高速Flash存储文件系统,已实现对Flash存储设备的空间管理,通过该文件系统使得Flash存储设备的存储速度得到有效显著提升。为了达到上述目的,本专利技术的技术方案是这样实现的:一种高速Flash存储文件系统,包括多个Flash芯片阵列,还包括:存储块管理模块,其中:所述存储块管理模块,用于组织Flash芯片阵列中的空间块,根据文件的属性信息,并利用所需大小的空间块进行组织,最大化的并行所使用Flash芯片。与现有技术相比,本专利技术实施例的优点在于:本专利技术提供的一种Flash存储文件系统,由上述本专利技术提供的技术方案可以看出,本专利技术实施例提供的高速Flash存储文件系统具有完整的存储空间管理功能和文件管理功能,性能优异、模块简洁,可以实现对Flash存储设备的有效文件管理。【专利附图】【附图说明】图1为本专利技术实施例提供的Flash文件系统软件结构原理示意图;图2为本专利技术实施例提供的Flash文件系统的块排列方式示意图;图3为本专利技术实施例提供的Flash文件系统的文件删除流程示意图。图4为本专利技术实施例提供的Flash文件系统中涉及的坏块表数据格式示意图;图5为本专利技术实施例提供的Flash文件系统中涉及的单个可用块信息数据格式;图6为本专利技术实施例提供的Flash文件系统中涉及的展示坏块到可用块表的生成关系。【具体实施方式】下面通过具体的实施例子并结合附图对本专利技术做进一步的详细描述。参见图1,本专利技术实施例提供了一种Flash存储文件系统,包括多个Flash芯片阵列,还包括:存储块管理模块,其中:所述存储块管理模块,用于组织Flash芯片阵列中的空间块,根据文件的属性信息,并利用所需大小的空间块进行组织,最大化的并行所使用Flash芯片。需要说明的是,该存储块管理模块会利用所需大小的空间块进行特定方式的组织,最大化的并行使用Flash硬件,以便高速存储使用。下面对文件的属性信息以及上述存储块管理模块是如何根据文件的属性信息,利用空间块进行组织操作做一下具体介绍:文件的属性信息包括:文件名称、存储类型、采集类型、创建时间、使用时间、文件大小、文件在存储卡的块起始地址、文件在存储卡的块结束地址、最后一个块的使用量偏移、用户自定义128字节信息。通过如上信息中的起始块地址和结束块地址就可以找到文件的数据所在位置。文件为顺序存储方式。下面对本专利技术实施例提供的Flash存储文件系统的具体原理结构做进一步的说明:较佳地,所述存储块管理模块包括坏块管理单元、可用块管理单元和已用块管理单元,其中:所述坏块管理单元,用于处理Flash存储文件系统中的坏块;需要说明的是,坏块数据是一个4(片选R0W,每个ROW都是8个col,通过ROW和col即可定位到该fpga控制芯片下的具体FLASH芯片)x8192(每个片选为8192个块block)x8(控制芯片fpga)的数据。其中每个字节的每个比特位表示一个块的好坏。如图4所75,表中每一位代表一个块的状态,I标记为坏块,O标记为可用块,如:rowO->blockl->colI为I,则表不片选O的第I列Flash的blockl为坏块。注意,为了提高盘控算法的效率,对坏块表采用行对齐的方式,对上述表格处理,即任何一列的某个块为坏块,则其他7列全标记为坏块。如rowO->blockl_>coll为坏块,则row0->blockl_>col0、row0->blockl->col2> row0->blockl->col3> row0->blockl->col4> row0->blockl->col5>row0->blockl->col6> row0->blockl->col7全标记为坏块,这样最后的结果是上述表格只存在两个值=Oxff或O。盘控软件可以用这个表格生成可用表。附图4表示的是I个FPGA控制的Flash坏块表组织方式,FPGAl、FPGA2和FPGA3的组织方式和上图一样,不在列出。所述可用块管理单元,用于处理Flash存储文件系统中的剩余可用的空间块;在Flash存储文件系统做初始化操作时,将坏块管理单元发送的数据进行处理,并根据高速并行算法计算出可利用的存储空间;然后根据计算出的可利用的存储空间对Flash芯片阵列的块地址进行排列组织;下面对可用块管理单元根据计算出的可利用的存储空间对Flash芯片阵列的块地址进行排列组织做一下简要说明:生成可用块表的方式为:依据坏块表生成可用块表。可用块表中保存的是Flash的可用的块地址,FPGA的到这些块地址后可对Flash进行直接操作。地址的组织方式如图5所示,每个块地址用4字节来表示,高8bit表示行地址(片选)、bit 表示列地址、bit表示块地址,由此可以定位到任何一个块的块地址。表中表示的是一个理想状态,即无坏块的情况,那么bit 的范围是OxOOOO?Oxlfff,总共为8192个块。如其中某块为坏块,则把对应的块地址剔除。如:行0x00、列0x00的第I块为坏块,则剔除bit的0x0001项。4个FPGA分别对应这样的一个表格。为了达到高速并行流水读写,上述地址需要按照一定方式进行排列,以便Flash组控制芯片进行读写,高速读写算法请见下文。下面对上述可用块管理单元根据高速并行算法计算出可利用的存储空间中高速并行算法做一下简要说明:为了达到高速写入速度,结合FLASH烧写方式的特点,采用并行加流水的方式;既同时操作多列FLASH,且一批FLASH在开始写入后,立即开始下一批FLASH的写入,该可用块表组织成4级写入流水方式。本系统中为8个FLASH控制芯片同时工作,同时每个控制芯片控制本文档来自技高网...
一种Flash存储文件系统

【技术保护点】
一种高速Flash存储文件系统,包括多个Flash芯片阵列,其特征在于,还包括:存储块管理模块,其中:所述存储块管理模块,用于组织Flash芯片阵列中的空间块,根据文件的属性信息,并利用所需大小的空间块进行组织,最大化的并行所使用Flash芯片。

【技术特征摘要】

【专利技术属性】
技术研发人员:周景德张金明金杰
申请(专利权)人:北京华力创通科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1