【技术实现步骤摘要】
—种基于nand flash的高可靠线性文件存取方法
本专利技术涉及计算机存储领域,尤其涉及一种基于nand flash的高可靠线性文件存 取方法。
技术介绍
nand flash是一种大容量的存储芯片,其特点是容量密度大,制造成本低,访问 速度快,通常作为U盘、固态盘、存储卡等设备上的存储芯片,但其也存在一些不足:它属于 地址、数据共用类型访问方式,访问相对麻烦,它由于本身出厂是就存在坏块,需要“跳过” 坏块进行访问,需要专门的管理方法进行块的管理。目前对数据的管理主要分以下两种方 式:(I)无文件系统方式访问,使用者需调用函数对存储单元进行直接操作,实现难度 低,但使用难度高;(2)文件系统方式访问,使用者以文件的方式对存储系统进行访问,实现难度高, 但使用难度低。文件系统的优点在于不需要使用者关注数据的存放位置,文件系统来管理数据, 屏蔽了物理介质的不同。由于文件系统对使用者实现数据管理的透明,完全接管数据的存 储,一旦文件系统崩溃会导致数据丢失,所以对文件系统的可靠性要求较高,能经受长时间 的考验。本专利技术涉及一种基于nand flash的高可靠线性文件系统的软件。用于由nand flash组成的存储阵列中实现以文件的方式进行访问管理。本文件系统与windows上使用 的文件系统不同,windows等操作系统上使用的文件系统属于“基于页表结构”形式,而本 文件系统属于线性文件系统。所谓“线性文件系统”是指数据记录在顺序的地址单元中,而 常见的文件系统都是“基于页表结构”形式,即数据记录在不连续的地址单元中,各地址单 元通过一个链表相连接。 ...
【技术保护点】
一种基于nand?flash的高可靠线性文件存取方法,其特征在于,包括以下步骤:1)初始化分区表;通过初始化获得芯片的属性信息,并对芯片中坏块做好替换准备;2)初始化文件信息,包括文件的始末地址、打开方式、文件名和文件大小信息;3)根据初始化文件信息,创建新文件;包括以下步骤:a.检查文件名,进行文件名非法自处纠正;b.判断是否存在同名文件,如果不存在同名文件,转入步骤f,否则转入步骤c;c.判断是否“自动追加”模式,如果是转入步骤d,否则创建失败;d.判断是否文件个数已满,如果已满,则转入步骤f,否则转入步骤e;e.对文件名自动追加后缀序号后,创建添加“后缀序号”的文件;f.判断是否是循环模式,如果是循环模式,则删除最老的文件;g.在分区表中找到一个位置,创建文件信息,并返回指向该位置的文件指针,并根据文件的大小更新分区表;h.创建完成;4)采用顺序地址方式将数据从nand?flash的sdram存储器中的缓冲区搬移至分区中文件指针指向的存储区域,完成文件写入;5)将数据从分区读取到nand?flash的sdram存储器中,然后从sdram存储器中取走,完成文件读取。
【技术特征摘要】
1.一种基于nand flash的高可靠线性文件存取方法,其特征在于,包括以下步骤:1)初始化分区表;通过初始化获得芯片的属性信息,并对芯片中坏块做好替换准备;2)初始化文件信息,包括文件的始末地址、打开方式、文件名和文件大小信息;3)根据初始化文件信息,创建新文件;包括以下步骤:a.检查文件名,进行文件名非法自处纠正;b.判断是否存在同名文件,如果不存在同名文件,转入步骤f,否则转入步骤c;c.判断是否“自动追加”模式,如果是转入步骤d,否则创建失败;d.判断是否文件个数已满,如果已满,则转入步骤f,否则转入步骤e;e.对文件名自动追加后缀序号后,创建添加“后缀序号”的文件;f.判断是否是循环模式,如果是循环模式,则删除最老的文件;g.在分区表中找到一个位置,创建文件信息,并返回指向该位置的文件指针,并根据文件的大小更新分区表;h.创建完成;4)采用顺序地址方式将数据从nandflash的sdram存储器中的缓冲区搬移至分区中文件指针指向的存储区域,完成文件写入;5)将数据从分区读取到nand flash的sdram存储器中,然后从sdram存储器中取走, 完成文件读取。2.根据权利要求1所述的基于nandflash的高可靠线性文件存取方法,其特征在于, 所述步骤I)初始化分区表包括以下步骤:.1.1)通过初始化获得芯片的属性信息:向nand flash发出读ID的命令,将读取到的 nand flashID信息与已支持的芯片类型ID进行比对,如果符合则通过初始化得到芯片的特性信息:block的个数和每block的page数,否则停止后续操作,防止对芯片进行异常访问;.1.2)识别nand芯片中的所有坏块:读取nand芯片的每个block的前2个page的spare 区,若该spare区的信息不为Oxff,则该block为坏块;扫描nand芯片的每一个block,直至识别出所有的坏块,即完成坏块信息的扫描;.1.3)建立坏块到好块的物理位置的映射关系:建立一张坏块表,即无效块到保留区的映射表,当访问到无效块时,通过查表访问被映射的好块的物理位置;保留区设置在nand 芯片的末尾3%的区域,因为nand芯片的坏块率基本在1%以下,保留3%的区域可保证所有的坏块均可被替换,还有一定的余量供后续使用中发现的坏块进行替换;在运行中发现新的坏块时,标记坏块,并从保留区找到一个好块,将数据拷贝至该好块中,坏块计数器加I ;.1.4)按照分区时的参数进行分区大小划分。3.根据权利...
【专利技术属性】
技术研发人员:袁松,毛先俊,何冲,
申请(专利权)人:中船重工武汉凌久电子有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。