CN109634919A - 一种文件管理系统 - Google Patents
一种文件管理系统 Download PDFInfo
- Publication number
- CN109634919A CN109634919A CN201811199941.7A CN201811199941A CN109634919A CN 109634919 A CN109634919 A CN 109634919A CN 201811199941 A CN201811199941 A CN 201811199941A CN 109634919 A CN109634919 A CN 109634919A
- Authority
- CN
- China
- Prior art keywords
- file
- module
- data
- bad block
- unit
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件管理系统,包括:文件管理模块、坏块管理模块、文件系统驱动模块、芯片驱动模块,所述文件管理模块、坏块管理模块、均与所述文件系统驱动模块连接,所述芯片驱动模块与所述文件系统驱动模块连接;文件管理模块用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;坏块管理模块用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;文件系统驱动模块用于提供标准接口供所述文件管理模块调用;芯片驱动模块用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块对芯片的操作。本发明引入循环写入机制,避免频繁使用一块存储区域存储数据,延长了flash芯片使用寿命。
Description
技术领域
本发明涉及数据管理领域,特别是涉及一种文件管理系统。
背景技术
目前,现有的轨道设备上的板卡在数据存储领域方面的原理不尽相同,一般是根据每个板卡的需求自定义数据存储区域和存储方式,对单一类型数据通常是多个区域备份存储,防止损坏。多种数据类型的板卡则是分段存储,使用简单索引来查找数据,安全方面比较薄弱。并且,各个板卡中参差不齐的存储机制给后续设备的维护也带来了很大的困难,设备在实际使用中容易出现数据损坏、数据丢失的问题。在设备板卡硬件资源紧张、flash芯片数据位翻转特性和设备意外掉电的条件下,没有合适的数据管理系统可以使用,且芯片的读、写、擦除采用重复机制,芯片的使用寿命较短。因此,有必要提供一种新的文件管理机制实现不同类型数据的独立存放,引入循环写入机制,延长芯片的使用寿命。
发明内容
本发明的目的是提供一种文件管理系统,引入循环写入机制,避免频繁使用一块存储区域存储数据,延长flash芯片使用寿命。
为实现上述目的,本发明提供了如下方案:
一种文件管理系统,所述系统包括:文件管理模块、坏块管理模块、文件系统驱动模块、芯片驱动模块,所述文件管理模块、坏块管理模块、均与所述文件系统驱动模块连接,所述芯片驱动模块与所述文件系统驱动模块连接;
所述文件管理模块用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;
所述坏块管理模块用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;
所述文件系统驱动模块用于提供标准接口供所述文件管理模块调用;
所述芯片驱动模块用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块对芯片的操作。
可选的,所述坏块管理模块用于读取出厂时,厂家标记的flash芯片坏块的标记,还用于检测在使用过程中出现的坏块,记录使用过程中出现的坏块编号,并对芯片中的坏块标记进行更新和修正。
可选的,所述系统还包括错误检查和纠正模块,所述错误检查和纠正模块用于计算文件数据块写入时的校验值和读取时的校验值,并判断数据块写入时的校验值和读取时的校验值是否一致,若不一致时,对读取的数据块进行纠正,同时把出错信息反馈给坏块管理模块。
可选的,所述文件管理模块具体包括:数据存储单元、判断单元、文件数据循环写入单元、文件表循环写入单元;
所述数据存储单元用于将文件数据和文件表按照存储区域地址从小到大依次存放;
所述判断单元用于判断文件数据和文件表下一存储区域是否可用,文件数据和文件表是否被修改过,得到判断结果;
所述文件数据循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前存储区域的文件数据被删除过或是被修改过时,将文件数据移动到下一存储区域;还用于将文件数据从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件数据;
所述文件表循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前文件表被修改过时,将新的文件表存储到下一存储区域;还用于将文件表从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件表。
可选的,所述系统还包括:初始化模块、分区模块、优化模块;
所述初始化模块用于将所述标准接口进行初始化,并建立坏块表,格式化文件表;
所述分区模块用于将存储区域分成多个不同类型的独立区域;
所述优化模块用于对存储数据的数量、文件名长度、备注长度、属性、校验使能进行配置,优化内存占用。
可选的,所述错误检查和纠正模块具体包括:行异或值计算单元、列异或值计算单元、错误比特位定位单元、纠正单元;
所述行异或值计算单元用于计算行数据比特位的异或值;
所述列异或值计算单元用于计算列数据比特位的异或值;
所述错误比特位定位单元用于根据所述行数据比特位的异或值和所述列数据比特位的异或值定位出错的比特位;
所述纠正单元用于对错误比特位取反进行纠正。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明中的文件管理系统通过引入循环写入机制对数据进行存储,将数据按照存储区地址由小到大依次进行存放,当文件被删除和被更改时,当前存储区域在本次循环中则不再使用,在下一个循环时才能再次使用,避免了频繁使用同一块存储区域存储数据,大大提高了芯片的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例文件管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种文件管理系统,引入循环写入机制,避免频繁使用一块存储区域存储数据,延长flash芯片使用寿命。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例文件管理系统结构示意图,如图1所示,所述系统包括:文件管理模块101、坏块管理模块102、文件系统驱动模块103、芯片驱动模块104,所述文件管理模块101、坏块管理模块102均与所述文件系统驱动模块103连接,所述芯片驱动模块103与所述文件系统驱动模块103连接。
所述文件管理模块101用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;所述文件管理模块101还用于提供标准的文件接口,完成文件初始化和文件的创建、读、写、关闭、删除、枚举、系统格式化操作,用户无需担心复杂的存储机制和逻辑,就能轻松操作文件。
所述文件管理模块101具体包括:数据存储单元、判断单元、文件数据循环写入单元、文件表循环写入单元;
所述数据存储单元用于将文件数据和文件表按照存储区域地址从小到大依次存放;
所述判断单元用于判断文件数据和文件表下一存储区域是否可用,文件数据和文件表是否被修改过,得到判断结果;
所述文件数据循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前存储区域的文件数据被删除过或是被修改过时,将文件数据移动到下一存储区域;还用于将文件数据从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件数据;
所述文件表循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前文件表被修改过时,将新的文件表存储到下一存储区域;还用于将文件表从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件表。
所述坏块管理模块102用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;
具体的,芯片在出厂时,会存在坏块,以及在使用过程中也会存在坏块,所述坏块管理模块102具体还用于读取出厂时,厂家标记的flash芯片坏块的标记,还用于检测在使用过程中出现的坏块,记录使用过程中出现的坏块编号,并对芯片中的坏块标记进行更新和修正。
所述文件系统驱动模块103用于提供标准接口供所述文件管理模块101调用;使所述文件管理模块完成flash芯片的读、写、擦除、检查操作。文件系统驱动接口数据结构内部成员定义为函数指针,初始化时使用目标硬件驱动接口赋值。硬件驱动需要提供的接口有:初始化、写入、读取、擦除、坏块检查。
所述芯片驱动模块104用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块103对芯片的操作。
具体的,所述系统还包括错误检查和纠正模块105,所述错误检查和纠正模块105用于计算文件数据块写入时的校验值和读取时的校验值,并判断数据块写入时的校验值和读取时的校验值是否一致,若不一致时,对读取的数据块进行纠正,同时把出错信息反馈给坏块管理模块。
所述错误检查和纠正模块105具体包括:行异或值计算单元、列异或值计算单元、错误比特位定位单元、纠正单元;
所述行异或值计算单元用于计算行数据比特位的异或值;
所述列异或值计算单元用于计算列数据比特位的异或值;
所述错误比特位定位单元用于根据所述行数据比特位的异或值和所述列数据比特位的异或值定位出错的比特位;
所述纠正单元用于对错误比特位取反进行纠正。
具体的,所述系统还包括,初始化模块106、分区模块107、优化模块108;
所述初始化模块106用于将所述标准接口进行初始化,并建立坏块表,格式化文件表;
所述分区模块107用于将存储区域分成多个不同类型的独立区域;
所述优化模块108用于对存储数据的数量、文件名长度、备注长度、属性、校验使能进行配置,优化内存占用。
本发明中的文件管理系统具有以下有益效果:
文件系统系统驱动模块有规范的接口指针和配置文件,与硬件驱动接口链接简单,容易一直,通用性强;
坏块管理模块可以屏蔽不稳定的flash块,不在使用坏块存储数据,保证数据的存储在可靠的区域,避免数据损坏和丢失;
错误检查和纠正子模块可以对数据进行校验,当出现比特错误时可以及时纠错,有效解决了数据损坏的问题,弥补了flash比特翻转的先天不足,提高了数据的可靠性,使得文件管理系统更加稳定;
引入循环写入机制,文件表盒数据在flash内部循环存储,提高了flash芯片的使用寿命,当文件系统启动出错是可以回滚,避免文件信息出错丢失文件;
文件名、备注长度和数量可配置,优化内存使用,占用资源;
文件系统支持多数据分区存储,对不同类型的数据可分开存放,提高了数据安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种文件管理系统,其特征在于,所述系统包括:文件管理模块、坏块管理模块、文件系统驱动模块、芯片驱动模块,所述文件管理模块、坏块管理模块、均与所述文件系统驱动模块连接,所述芯片驱动模块与所述文件系统驱动模块连接;
所述文件管理模块用于引入循环写入机制对文件进行存储,并完成创建、读、写、删除和检索功能;
所述坏块管理模块用于读取并检测flash芯片坏块,避免再次使用所述坏块存储数据;
所述文件系统驱动模块用于提供标准接口供所述文件管理模块调用;
所述芯片驱动模块用于根据所述文件系统驱动模块规定的接口指令,编写接口函数,完成所述文件系统驱动模块对芯片的操作。
2.根据权利要求1所述的文件管理系统,其特征在于,所述坏块管理模块用于读取出厂时,厂家标记的flash芯片坏块的标记,还用于检测在使用过程中出现的坏块,记录使用过程中出现的坏块编号,并对芯片中的坏块标记进行更新和修正。
3.根据权利要求1所述的文件管理系统,其特征在于,所述系统还包括错误检查和纠正模块,所述错误检查和纠正模块用于计算文件数据块写入时的校验值和读取时的校验值,并判断数据块写入时的校验值和读取时的校验值是否一致,若不一致时,对读取的数据块进行纠正,同时把出错信息反馈给坏块管理模块。
4.根据权利要求1所述的文件管理系统,其特征在于,所述文件管理模块具体包括:数据存储单元、判断单元、文件数据循环写入单元、文件表循环写入单元;
所述数据存储单元用于将文件数据和文件表按照存储区域地址从小到大依次存放;
所述判断单元用于判断文件数据和文件表下一存储区域是否可用,文件数据和文件表是否被修改过,得到判断结果;
所述文件数据循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前存储区域的文件数据被删除过或是被修改过时,将文件数据移动到下一存储区域;还用于将文件数据从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件数据;
所述文件表循环写入单元用于当判断结果表示下一存储单元不可用时,继续寻找合法的存储单元;用于判断当前文件表被修改过时,将新的文件表存储到下一存储区域;还用于将文件表从目标存储区域的首地址开始写入,直到所述目标存储区域到达尾地址,再次从首地址开始写入新的文件表。
5.根据权利要求1所述的文件管理系统,其特征在于,所述系统还包括:初始化模块、分区模块、优化模块;
所述初始化模块用于将所述标准接口进行初始化,并建立坏块表,格式化文件表;
所述分区模块用于将存储区域分成多个不同类型的独立区域;
所述优化模块用于对存储数据的数量、文件名长度、备注长度、属性、校验使能进行配置,优化内存占用。
6.根据权利要求3所述的文件管理系统,其特征在于,所述错误检查和纠正模块具体包括:行异或值计算单元、列异或值计算单元、错误比特位定位单元、纠正单元;
所述行异或值计算单元用于计算行数据比特位的异或值;
所述列异或值计算单元用于计算列数据比特位的异或值;
所述错误比特位定位单元用于根据所述行数据比特位的异或值和所述列数据比特位的异或值定位出错的比特位;
所述纠正单元用于对错误比特位取反进行纠正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199941.7A CN109634919A (zh) | 2018-10-16 | 2018-10-16 | 一种文件管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199941.7A CN109634919A (zh) | 2018-10-16 | 2018-10-16 | 一种文件管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109634919A true CN109634919A (zh) | 2019-04-16 |
Family
ID=66066416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811199941.7A Pending CN109634919A (zh) | 2018-10-16 | 2018-10-16 | 一种文件管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634919A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
CN113421606A (zh) * | 2021-07-08 | 2021-09-21 | 成都盛芯微科技有限公司 | flash检测方法及其检测系统 |
CN115129519A (zh) * | 2022-09-02 | 2022-09-30 | 上海泰矽微电子有限公司 | 一种实现efuse结构的芯片多次写操作的方法、系统及SOC |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099338A1 (en) * | 2007-08-29 | 2011-04-28 | Life Scan Scotland Ltd. | Data management system and method |
CN102508784A (zh) * | 2011-11-02 | 2012-06-20 | 杭州海康威视数字技术股份有限公司 | 视频监控设备中闪存卡的数据存储方法及其系统 |
CN103399826A (zh) * | 2013-08-15 | 2013-11-20 | 南京新联电子股份有限公司 | 一种基于nor flash的数据存储方法 |
CN103577574A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件系统 |
CN104317753A (zh) * | 2014-10-21 | 2015-01-28 | 中国科学院上海微系统与信息技术研究所 | 存储设备及其数据读写方法 |
CN106528443A (zh) * | 2016-11-09 | 2017-03-22 | 上海微小卫星工程中心 | 适用于星载数据管理的flash管理系统及方法 |
-
2018
- 2018-10-16 CN CN201811199941.7A patent/CN109634919A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099338A1 (en) * | 2007-08-29 | 2011-04-28 | Life Scan Scotland Ltd. | Data management system and method |
CN102508784A (zh) * | 2011-11-02 | 2012-06-20 | 杭州海康威视数字技术股份有限公司 | 视频监控设备中闪存卡的数据存储方法及其系统 |
CN103399826A (zh) * | 2013-08-15 | 2013-11-20 | 南京新联电子股份有限公司 | 一种基于nor flash的数据存储方法 |
CN103577574A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件系统 |
CN104317753A (zh) * | 2014-10-21 | 2015-01-28 | 中国科学院上海微系统与信息技术研究所 | 存储设备及其数据读写方法 |
CN106528443A (zh) * | 2016-11-09 | 2017-03-22 | 上海微小卫星工程中心 | 适用于星载数据管理的flash管理系统及方法 |
Non-Patent Citations (1)
Title |
---|
QQ_30866297: ""NAND FLASH(三)硬件ECC校验码详解"", 《CSDN HTTPS://BLOG.CSDN.NET/QQ_30866297/ARTICLE/DETAILS/52104197》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
CN113421606A (zh) * | 2021-07-08 | 2021-09-21 | 成都盛芯微科技有限公司 | flash检测方法及其检测系统 |
CN115129519A (zh) * | 2022-09-02 | 2022-09-30 | 上海泰矽微电子有限公司 | 一种实现efuse结构的芯片多次写操作的方法、系统及SOC |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7675776B2 (en) | Bit map control of erase block defect list in a memory | |
US10613943B2 (en) | Method and system for improving open block data reliability | |
CN102662833B (zh) | 一种管理测试用例的方法 | |
CN105843749B (zh) | 一种基于FPGA的NAND Flash容错方法 | |
CN109634919A (zh) | 一种文件管理系统 | |
CN103955431A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN103955430A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
US10387280B2 (en) | Reporting defects in a flash memory back-up system | |
CN107608628A (zh) | 闪存控制器 | |
CN103914667B (zh) | 一种安全读写eeprom的方法及其系统 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
US9646721B1 (en) | Solid state drive bad block management | |
CN106104515A (zh) | 利用非易失性存储器的文件系统设计和故障恢复方法 | |
CN102200937A (zh) | 一种与非闪存中数据读取的方法、装置及电视机系统 | |
CN108959526A (zh) | 日志管理方法以及日志管理装置 | |
US20120166706A1 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN102981969A (zh) | 重复数据删除的方法及其固态硬盘 | |
CN111522684A (zh) | 一种同时纠正相变存储器软硬错误的方法及装置 | |
CN107291625B (zh) | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
US20230376226A1 (en) | Storage block management information synchronous recording method and system, and terminal and storage medium | |
CN104166627A (zh) | 一种基于单片机的nand-flash写操作方法 | |
CN109947364A (zh) | 一种用于flash/eeprom中的实时数据存储方法 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
US11210209B2 (en) | Method for managing flash memory module and associated flash memory controller and electronic device |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |