一种nandflash文件系统实现方法技术方案

技术编号:2919159 阅读:229 留言:0更新日期:2012-04-11 18:40
一种涉及计算的nandflash文件系统实现方法,在nandflash存储器中寻找至少两个有效块,分别作为系统块和物理文件块,系统块反映nandflash的所有块信息,物理文件块保存该nandflash所有物理文件信息,主要步骤为:A.对nandflash存储器进行格式化操作,以寻找到的第1个好块作为系统块,系统块中包括设定的文件系统标识字符串和nandflash各个块的好坏、使用情况、作用信息;在nandflash里寻找第2个好块作为物理文件块,物理文件体现为nandflash驱动函数,每个驱动函数产生符合nandflash操作的控制时序,B.根据系统块和物理文件块中的信息,完成逻辑文件的操作,本发明专利技术应用性能强,稳定性和可靠性高。

【技术实现步骤摘要】

本专利技术涉及计算,尤其涉及。
技术介绍
nandflash是一种低廉高效的存储器件,其内部结构如图1所示,nandflash存储器分成若干块,每块分成若干页,每页的大小固定为一个固定数值。在控制信号的配合下,它的数据口通过分时复用方式实现命令,地址,数据的传输,这样它的封装脚大大减小,价格低。在现有的应用中,针对nandflash的文件系统有很多,但是它们都是通用文件系统,属于操作系统的一个功能,nandflash的应用则对系统的要求很高,系统开销很大,无法应用于普通的CPU,这就对nandflash的应用产生了限制。
技术实现思路
本专利技术的目的在于提供一种应用性能强的nandflash文件系统实现方法,以克服现有技术中对系统的要求高,开销大,无法应用于普通CPU的不足。本专利技术所采用的nandflash文件系统实现方法为在nandflash存储器中寻找至少两个有效块,分别作为系统块和物理文件块,所述的系统块反映nandflash的所有块信息,所述的物理文件块保存该nandflash所有物理文件信息。本专利技术采用如下步骤A、对nandflash存储器进行格式化操作,以寻找到的第1个好块作为系统块,所述的系统块中包括设定的文件系统标识字符串和nandflash各个块的好坏、使用情况、作用信息;在nandflash里寻找第2个好块作为物理文件块,所述的物理文件体现为nandflash驱动函数,每个驱动函数产生符合nandflash操作的控制时序,每个物理文件占用设定长度的字节,其数据结构包括文件名、文件扩展名、文件大小和文件数据所要分配的nandflash物理块信息;B、根据所述的系统块和物理文件块中的信息,完成逻辑文件的操作。所述的步骤A中,所述的系统块第0页第0个字节开始,前面的字节保存设定的nandflash文件系统标识字符串,后续的字节保存每个块的信息。所述的步骤A中,所述的物理文件块中,从第0页到最后一页,以FileNode数据为一个单位,依次保存FileNode数据;读取其中的物理信息时,从该物理文件块第0页到最后一页,按256字节为一个单位依次读取所有信息。所述的步骤B中,所述的逻辑文件体现为高级函数,高级函数通过调用驱动函数实现对nandflash物理存储单元数据访问,所述的系统块根据nandflash每物理块的作用和使用信息分配物理块保存逻辑文件数据。所述的步骤B中,所述的逻辑文件所包含的基本信息包括逻辑文件操作缓冲区,逻辑文件大小,文件操作逻辑位置,逻辑文件操作结果标识,逻辑文件对应的物理文件。所述的步骤A包括如下步骤A1、对整个nandflash删除,根据nandflash控制时序要求,从第一块到最后一块依次发送删除命令删除;A2、分配等于nandflash总块数字节的内存空间,每个字节标识每nandflash物理快的好、坏,使用情况、作用信息;A3、设置文件系统标识字符串;A4、进一步判断整个nandflash存储器好、坏块,并且在分配的内存空间中设置或刷新相应标志;A5、在nandflash里寻找第1个好块作为系统块,设置块信息的结构;A6、在nandflash里寻找第2个好块作为物理文件块;A7、在系统块中保存所设置的文件系统标识符和内存空间所保存的nandflash每个块的好坏、使用情况、作用信息。所述的步骤B包括如下步骤B1、读取系统块信息和所有物理文件,并且创建物理文件链表;B2、在物理文件链表里查找到需要读取的逻辑文件,并分配缓冲空间;B3、获取逻辑文件对应的物理文件数据,并将其保存至缓冲空间;B4、由缓冲空间输出数据;B5、关闭逻辑文件操作。所述的步骤B包括如下步骤b1、读取系统块信息和所有物理文件,并且创建物理文件链表;b2、打开需要写入的逻辑文件,并分配缓冲空间; b3、把逻辑文件数据写到缓冲空间;b4、由缓冲空间将逻辑文件数据保存到nandflash对应物理块;b5、释放缓冲空间和逻辑文件空间,更新系统块数据和物理文件块数据,以保存新的逻辑文件输入。本专利技术的有益效果为在本专利技术中,在nandflash存储器中寻找至少两个有效块,分别作为系统块和物理文件块,系统块反映nandflash的所有块信息,物理文件块保存该nandflash所有物理文件信息,由于nandflash在出厂是不能保证所有块是好的,也不能保证第1块一定是好的,另外,在使用过程中,也可能出现坏块,但不影响其他块的使用,坏与块之间是相对独立的,本专利技术中通过寻找至少两个有效块,极大程度地适应了这种块与块之间相对独立的特性,通过设定系统块和物理文件块,提高了nandflash的应用兼容性,其应用性能强,也使本专利技术获得了较高的稳定性和可靠性。本专利技术通过nandflash驱动函数通过对nandflash信号时序以及有关数据口的控制,实现基本的删除,编程,读操作,逻辑文件(高级函数)则可以通过调用驱动函数实现对nandflash物理存储单元数据访问,nandflash驱动函数具有相当的透明性,极大地方便了用户对nandflash的应用,本专利技术根据系统块和物理文件块中的信息,完成逻辑文件的读取或写入操作,实现nandflash的动态应用,使本专利技术具有很强应用性能,并且文件存储、访问代码小,效率高,对系统要求不高,尤其适用于一般的CPU。附图说明图1为nandflash存储器件内部结构示意图;图2为本专利技术整体系统结构示意图;图3为本专利技术文件系统物理结构示意图; 图4为本专利技术格式化处理的具体控制流程示意图;图5为本专利技术读取文件的具体控制流程示意图;图6为本专利技术物理文件链表结构示意图;图7为本专利技术写入文件具体控制流程示意图。具体实施例方式下面根据附图和实施例对本专利技术作进一步详细说明在本专利技术中,在nandflash存储器中寻找至少两个有效块,分别作为系统块和物理文件块,系统块反映nandflash的所有块信息,物理文件块保存该nandflash所有物理文件信息。如图2所示,本专利技术的整体系统结构分为三层a)器件层nandflash存储设备。b)文件物理层nandflash驱动函数,通过对nandflash信号时序以及有关数据口的控制,实现基本的删除,编程,读操作,每个函数产生符合nandflash操作的控制时序。c)文件逻辑层文件操作函数,用户通过文件名调用高级函数实现文件读写等操作。高级函数调用驱动函数实现对nandflash物理存储单元数据访问,具有相当的透明性,方便了用户对nandflash的应用。对于文件存储分为物理文件和逻辑文件,物理文件和逻辑文件按nandflash的块大小进行分配。物理/逻辑文件按nandflash一块的大小申请nandflash存储空间;逻辑块容量等于物理块容量,这样可以简化整个文件系统设计。本专利技术的基本基本控制方法如下1)对nandflash存储器进行格式化操作,以寻找到的第1个好块作为系统块,系统块中包括设定的文件系统标识字符串和nandflash各个块的好坏、使用情况、作用信息,以后根据这些信息知道nandflash每物理块的作用和使用情况,根据这些信息分配物理块保存逻辑文件数据。例如,如图3所示,系统块第0页第0个字节开始,前8字节保存nandflash文件系统标识字符串本文档来自技高网...

【技术保护点】
一种nandflash文件系统实现方法,其特征在于:在nandflash存储器中寻找至少两个有效块,分别作为系统块和物理文件块,所述的系统块反映nandflash的所有块信息,所述的物理文件块保存该nandflash所有物理文件信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴凯庭吴启楠王燕飞梁仲宏
申请(专利权)人:深圳万利达电子工业有限公司
类型:发明
国别省市:94[中国|深圳]

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

1