基于NANDflash的高可靠性文件系统设计方法技术方案

技术编号:37295684 阅读:14 留言:0更新日期:2023-04-21 22:42
本发明专利技术提供了一种基于NAND flash的高可靠性文件系统设计方法,1)NAND flash在生产中及使用过程中易产生坏块2)NAND flash采用先执行擦除后写入的原则更新存储内容,在此期间有可能发生设备断电/程序异常退出等情况,上述情况会造成存储内容丢失,针对这个问题,设计了高可靠文件系统。该文件系统是针对NAND flash物理存储介质和存储内容更新方式的特点,对重要数据保护的一种设计方法。该方法采用坏块跳过的方式进行坏块管理,采用主备存储块的方式进行冗余备份,每次更新数据时,跳过坏块,分别将数据依次写入对应主备存储块中,在读写这些数据时,文件系统会自动对主备存储块的内容进行校验,恢复不完整的数据,解决数据在NAND flash下的高可靠性存储和更新问题。flash下的高可靠性存储和更新问题。flash下的高可靠性存储和更新问题。

【技术实现步骤摘要】
基于NAND flash的高可靠性文件系统设计方法


[0001]本专利技术涉及计算机
,特别涉及基于NAND flash的高可靠性文件系统设计方法,设计了一种高可靠性虚拟文件系统,实现目标系统文件的可靠读写保护。

技术介绍

[0002]基于NAND flash的高可靠性文件系统设计方法。其技术组成:flash存储器:是一种电子可擦除存储器,允许在操作中被多次擦或写,是非易失性的存储器。
[0003]NAND flash:由多个块(block)组成,每个块由多个页(page)。NAND flash的擦除操作是以存储块为单元,读写操作是以页为单元,提供共用的地址和数据总线,是连续存储介质,读取数据的速度较慢,写入大批量数据的速度很快,适合于存放大量数据的存储环境。
[0004]主备存储块:是一个逻辑概念,由两个物理相邻的存储块组成,一个称为主存储块,另一个为备存储块,用于存储数据。主存储块内容与备存储块内容完全相同。
[0005]NAND flash坏块:是指在NAND flash中出现的某些区域,不能进行擦除/写操作。由于NAND flash中的读和写操作是以页为单位,擦除是以块为单位,且写操作之前必须要先进行擦除操作,因此最小的可操作单位即为一个块。如果块中产生任何不可修复的位错误,那么这个块是坏块。
[0006]NAND flash的坏块管理:由于NAND flash坏块是随机分布的,因此需要进行扫描并将坏块打上标记,与硬盘坏扇区的处理方式类似。由于坏块的存在,存储数据到NAND flash时,需要进行坏块管理。
[0007]NAND flash写操作异常:1)由于NAND flash坏块的存在,直接存储数据到此坏块,将产生写入数据失败,导致存储数据丢失;2)由于NAND flash对扇区的更新是先擦除再写入更新内容,会出现内容更新失败的情况,此技术点摘自“https://www.21ic.com/embed/hardware/storage/201807/67834.html”标题为“Nand

Flash存储器的工作原理”。扇区内容更新过程中,由于掉电等异常情况出现,造成更新扇区内容失败,导致存储数据丢失。
[0008]FAT表:文件分配表(File Allocation Table),本方法中是自定义的文件分配信息,用于描述本文件系统中文件对应的存储块信息;CRC:循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。
[0009]用户应用程序:是指使用本系统访问NAND flash存储空间的应用程序。

技术实现思路

[0010]本专利技术提供了一种基于NAND flash的高可靠性文件系统设计方法,可处理NAND flash的写操作异常情况,实现了文件的高可靠性更新和存储,存储内容不会损坏或丢失。
[0011]具体步骤如下:步骤a1:将NAND flash的存储空间以主备存储块为基本存储单位,存储文件内容和FAT表;步骤a2:用户应用程序使用本文件系统的系统加载、读取文件和更新文件接口,访问主备存储块的文件;步骤a3:本文件系统的系统加载接口,通过FAT表,加载主备存储块的文件内容到内存空间;步骤a4:本文件系统的读取文件接口,通过访问内存空间,返回文件内容到用户应用程序;步骤a5:本文件系统的更新文件接口,通过FAT表,存储内存空间的文件内容到主备存储块的存储空间。
[0012]进一步,所述步骤a1中采用的FAT表,是一种文件访问表,存储于第一个主备存储块,FAT表由每个文件的属性信息组成,文件的属性信息由文件所处主备存储块的一个或多个地址、文件名称和文件大小等信息组成。
[0013]进一步,所述步骤a1中采用的主备存储块,是一种通过NAND flash的物理存储相邻的两个存储块,存储相同数据内容的存储方式。
[0014]进一步,所述步骤a3说明了本文件系统,对主备存储块的加载方法,在加载文件时,先通过FAT表找到对应的主备存储块,然后读取存储块的内容到内存空间。具体包括以下步骤:步骤b1:检测主存储块的坏块标识;步骤b2:如果主存储块不是坏块,那么读取主存储块的内容(一个存储块大小)到内存空间;步骤b3:如果主存储块是坏块,那么读取主备存储块的备存储块的内容到内存空间,获取空闲的新的主备存储块,使用备存储块的内容写入到新的主备存储块,使用新的主备存储块地址更新FAT中,加载文件所使用的存储块地址。
[0015]进一步,所述步骤b3说明了本文件系统对坏块的恢复方法,通过FAT表,获取坏块中文件所存储的存储块,以文件为单位恢复相关存储块的内容,具体包括以下步骤:步骤c1:查找FAT表,获取文件存储的主备存储块地址;步骤c2:如果坏块中的文件,存储于多个主备存储块(A1,A2
……
An等主备存储块)中,那么针对主备存储块A1,A2
……
An,执行步骤b3的流程,恢复文件到主备存储块。
[0016]进一步,所述步骤a5说明了本文件系统更新文件内容到主备存储块的方法,通过FAT表,获取更新文件所存储的主备存储块,获取可写入存储内容的主备存储块地址,将文件内容写入主备存储块,具体包括以下步骤:步骤d1:针对更新的文件,应用步骤c1和b1,获取主备存储设备的坏块标识;步骤d2:如果主备存储块中有一个存储块是坏块,那么首先获取两个相邻空闲的存储块作为主备存储块,然后按照先擦除再写入数据到存储块的原则,将内存中的文件内容,更新到主备存储块中,最后更新FAT表;步骤d3:如果主备存储块中均可写入数据到存储块中,那么按照先主后备的原则,将内存中的文件内容,更新到主备存储块中。
[0017]上述专利技术中的有益效果为:基于NAND flash存储数据时,如果NAND flash有坏块或者设备突然断电,存储数据到NAND flash时会产生数据不完整,造成信息的缺失,本文件系统解决了这个问题,能可靠地更新数据文件,不会出现写操作异常的情况。
附图说明
[0018]图1 本文件系统的主备存储块使用示意。
[0019]图2 本文件系统对存储块的描述。
[0020]图3 本文件系统中FAT与文件对应关系。
[0021]图4 本文件系统中文件存储示意。
[0022]图5 本文件系统中坏块处理示意。
具体实施方式
[0023]针对本专利技术实现的技术创新特征和目的功效便于理解,结合图示和列举实例,进行阐述本专利技术。
[0024]一、主备存储块的使用:本文件系统所使用的NAND flash主备存储块,由两个大小相同、存储位置相邻的存储块组成。本文件系统的主备存储块如图1所示。主存储块都是在前半部分,备存储块都是在后半部分,且主备一一对应。在图1示中,块1和块2的内容完全一致,块3和块4的内容本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于NAND flash的高可靠性文件系统设计方法,其特征在于,包含以下步骤:步骤a1:将NAND flash的存储空间以主备存储块为基本存储单位,存储文件内容和FAT表,主备存储块由主存储块和备存储块组成,主存储块和备存储块是物理存储地址相邻的两个存储块,主存储块存储的数据内容与备存储块存储的数据内容相同;步骤a2:用户应用程序使用本文件系统的系统加载、读取文件和更新文件接口,访问主备存储块的文件;步骤a3:本文件系统的系统加载接口,通过FAT表,加载主备存储块的文件内容到内存空间;步骤a4:本文件系统的读取文件接口,通过访问内存空间,返回文件内容到用户应用程序;步骤a5:本文件系统的更新文件接口,通过FAT表,存储内存空间的文件内容到主备存储块的存储空间。2.根据权利要求1所述的高可靠性文件系统设计方法,其特征在于所述步骤a1采用的FAT表,是一种文件访问表,存储于第一个主备存储块,FAT表由每个文件的属性信息组成,文件的属性信息至少由文件所处的一个或多个主备存储块地址、文件名称和文件大小信息组成。3.根据权利要求1所述的高可靠性文件系统设计方法,其特征在于所述步骤a3说明了本文件系统,对主备存储块的加载方法,在加载文件时,先通过FAT表找到对应的主备存储块,然后读取主备存储块的内容到内存空间,具体包括以下步骤:步骤b1:检测主存储块的坏块标识;步骤b2:如果主存储块不是坏块,那么...

【专利技术属性】
技术研发人员:祁宝刚王瑞曹春雨
申请(专利权)人:北京天御云安科技有限公司
类型:发明
国别省市:

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

1