CN110795040A - 简易文件管理系统及其实现方法 - Google Patents

简易文件管理系统及其实现方法 Download PDF

Info

Publication number
CN110795040A
CN110795040A CN201911030682.XA CN201911030682A CN110795040A CN 110795040 A CN110795040 A CN 110795040A CN 201911030682 A CN201911030682 A CN 201911030682A CN 110795040 A CN110795040 A CN 110795040A
Authority
CN
China
Prior art keywords
space
area
data
index table
management system
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
Application number
CN201911030682.XA
Other languages
English (en)
Inventor
程世友
朱红彪
杨志伟
石新刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Jingri Science And Technology Co ltd
Original Assignee
Zhejiang Hoolink Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Hoolink Technology Co Ltd filed Critical Zhejiang Hoolink Technology Co Ltd
Priority to CN201911030682.XA priority Critical patent/CN110795040A/zh
Publication of CN110795040A publication Critical patent/CN110795040A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及软件系统领域,特别地,涉及一种简易文件管理系统及其实现方法,包括flash模块,还包括分区表,以及索引表;所述flash模块划分成若干空间space,其中每个空间space用以对应记录存储一类信息;每个空间space均划分成若干区域area,数据以区域area为单位进行存储,且每个空间space内的区域area按序分布;在对应的空间space内读写数据时,按照该空间space内的区域area的分布顺序,依次循环选择在相应的区域area进行读写。本系统采用动态平均擦写的方式,较之传统的固定地址读写方式,大大的延长了flash的使用寿命。并且即使在写入时掉电,索引表中的area id保持不变,故在设备重启后,读取的位上一次的完整数据,从而能保证数据的完整性。

Description

简易文件管理系统及其实现方法
技术领域
本发明涉及软件系统领域,特别地,涉及一种简易文件管理系统及其实现方法。
背景技术
目前MCU单片机资源缺乏,大多数研发人员通过直接读写flash绝对地址的方式存储数据,具有简单、方便、研发周期短等特点,短期内运行问题不大,但针对长期运行(>3年),且稳定性要求高的场景,隐藏的问题就暴露出来了,主要表现如下:
1、固定地址直接读取数据
数据直接存储在flash固定地址,应用程序直接根据地址读写数据,根据flash特性,当写数据时,必须先擦除,然后再写入数据。由于flash可擦除的次数是有限制的,通常为10万次,这样,当我们以固定地址频繁读写时,容易导致地址所在的扇区坏损,从而数据存储失败。
2、当写入时断电,造成数据完整性破坏或者丢失。
由于flash写数据时,必须先擦除,再写入数据,当一次完整的写数据过程中断电,原数据的完整性可能被破坏,从而导致数据存储失败。
发明内容
有鉴于此,本发明目的是提供一种简易文件管理系统及其实现方法。
为了解决上述技术问题,本发明的技术方案是:
一种简易文件管理系统,包括flash模块,还包括分区表,以及索引表;
所述flash模块划分成若干空间space,其中每个空间space用以对应记录存储一类信息;
每个空间space均划分成若干区域area,数据以区域area为单位进行存储,且每个空间space内的区域area按序分布;在对应的空间space内读写数据时,按照该空间space内的区域area的分布顺序,依次循环选择在相应的区域area进行读写;
所述分区表用以储存记录每个空间space的起始地址、长度,以及该空间space内存在的区域area的数量及大小;
所述索引表用以指示当前数据所存储的区域area。
优选的,所述flash模块划分成3个空间space,分别作用于:
用以记录日常使用常用参数;
用以储存日志;
用以记录一些重要的、不可出错的信息参数。
本发明还提供了一种上述简易文件管理系统的实现方法,包括如下步骤:
首先设备启动:应用程序从flash模块中读取索引表信息到ram缓存中,根据索引表信息检测所有的空间space是否已被初始化,若没有,则初始化相应的未被初始化的空间space,启动完成;若所有空间space均已被初始化,则直接完成启动;
设备启动后可根据需要进行数据读取程序或数据写入程序。
优选的,所述数据读取程序包括如下步骤:
S1、根据选择的空间space 的id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
S2、根据索引表中当前的区域area的id与偏移量offset计算目标绝对地址;
S3、根据目标的起始绝对地址,以及所读数据的长度读取数据,读取完成。
优选的,所述写入程序包括如下步骤:
T1、根据选择的空间space 的id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
T2、根据索引表中当前区域area的id获取下一个区域area的id;
T3、将flash中当前区域area中的数据拷贝到新的区域area中;
T4、将需要更新的ram中数据拷贝到新的area中;
T5、将索引表中该空间space中的area的id更新为新的area的id。
综上所述,较之现有技术,本发明的优点在于:
本系统采用动态平均擦写的方式,较之传统的固定地址读写方式,大大的延长了flash的使用寿命。
并且即使在写入时掉电,索引表中的area id保持不变,故在设备重启后,读取的位上一次的完整数据,从而能保证数据的完整性。
通过将整个flash空间分区,并将所有的分区空间利用索引表管理,这样方便flash空间的分类管理以及维护。
本系统可以支持一次擦除,多次写入,避免擦除时间过长,减少擦除次数,故延长了flash寿命。
附图说明
图1为flash的分区关系示意图;
图2为本简易文件管理系统实现流程图;
图3为写数据流程示意图。
具体实施方式
以下结合附图,对本发明的具体实施方式作进一步详述,以使本发明技术方案更易于理解和掌握。
实施例1:
参照图1所示,本实施例提供一种简易文件管理系统,包括flash模块、分区表,以及索引表;
所述flash模块划分成若干空间space,其中每个空间space用以对应记录存储一类信息,本实施例以建立3个空间space为例,其中第一个用以用以记录日常使用常用参数;第二个用以储存日志;第三个用以记录一些重要的、不可出错的信息参数。每一个空间space都对应分配有一个id,以此指示对应的空间space,比如第一个空间space id为1,第二个为2…,依次类推。
本实施例中每个空间space均划分成若干区域area,比如8个区域area,数据以区域area为单位进行存储,且每个空间space内的区域area按序分布,每一个区域area也对应的分配有id,以此指示对应的area,比如第一个区域id为1,第二个id为2…,依次类推。
在对应的空间space内读写数据时,按照该空间space内的区域area的分布顺序,依次循环选择在相应的区域area进行读写,换言之,首先在第一个区域内进行读写,然后第二个…,直至第八个,再由第八个回到第一个,如此循环读写。
其中分区表用以储存记录每个空间space的起始地址、长度,以及该空间space内存在的区域area的数量及大小;
所述索引表用以指示当前数据所存储的区域area,具体而言,索引表用以指示当前存储数据位于对应空间space的哪个区域area;区域area的id存储于索引表中。
结合图2所示,本文件管理系统的程序实现流程具体包括如下步骤:
首先设备启动:应用程序从flash模块中读取索引表信息到ram缓存中,根据索引表信息检测所有的空间space是否已被初始化,若没有,则初始化相应的未被初始化的空间space,启动完成;若所有空间space均已被初始化,则直接完成启动。
设备启动后,便可根据需要进行数据读取程序或数据写入程序。
其中数据读取程序包括如下步骤:
S1、根据选择的空间space id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
S2、根据空间space信息,结合索引表中当前的区域area的id与偏移量offset计算目标绝对地址;
S3、根据目标的起始绝对地址,以及所读数据的长度读取数据,读取完成。
结合图3所示,其中所述写入程序包括如下步骤:
T1、根据选择的空间space 的id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
T2、根据索引表中当前区域area的id获取下一个区域area的id;
T3、将flash中当前区域area中的数据拷贝到新的区域area中,在此过程中,只拷贝不需要更新的部分;
T4、将需要更新的ram中数据拷贝到新的area中,此过程中,只拷贝需要更新的部分;
T5、将索引表中该空间space中的area的id更新为新的area的id。
由以上过程可知,本系统采用动态平均擦写的方式,较之传统的固定地址读写方式,大大的延长了flash的使用寿命。
并且即使在写入时掉电,索引表中的area id保持不变,故在设备重启后,读取的位上一次的完整数据,从而能保证数据的完整性。
通过将整个flash空间分区,并将所有的分区空间利用索引表管理,这样方便flash空间的分类管理以及维护。
本系统可以支持一次擦除,多次写入,避免擦除时间过长,减少擦除次数,故延长了flash寿命。
以上只是本发明的典型实例,除此之外,本发明还可以有其它多种具体实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求保护的范围。

Claims (5)

1.一种简易文件管理系统,包括flash模块,其特征在于:还包括分区表,以及索引表;
所述flash模块划分成若干空间space,其中每个空间space用以对应记录存储一类信息;
每个空间space均划分成若干区域area,数据以区域area为单位进行存储,且每个空间space内的区域area按序分布;在对应的空间space内读写数据时,按照该空间space内的区域area的分布顺序,依次循环选择在相应的区域area进行读写;
所述分区表用以储存记录每个空间space的起始地址、长度,以及该空间space内存在的区域area的数量及大小;
所述索引表用以指示当前数据所存储的区域area。
2.根据权利要求1所述的一种简易文件管理系统,其特征在于:所述flash模块划分成3个空间space,分别作用于:
用以记录日常使用常用参数;
用以储存日志;
用以记录一些重要的不可出错的信息参数。
3.一种根据权利要求1所述的简易文件管理系统的实现方法,其特征在于:包括如下步骤:
首先设备启动:应用程序从flash模块中读取索引表信息到ram缓存中,根据索引表信息检测所有的空间space是否已被初始化,若没有,则初始化相应的未被初始化的空间space,启动完成;若所有空间space均已被初始化,则直接完成启动;
设备启动后可根据需要进行数据读取程序或数据写入程序。
4.根据权利要求3所述的简易文件管理系统的实现方法,其特征在于:所述数据读取程序包括如下步骤:
S1、根据选择的空间space 的id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
S2、根据索引表中当前的区域area的id与偏移量offset计算目标绝对地址;
S3、根据目标的起始绝对地址,以及所读数据的长度读取数据,读取完成。
5.根据权利要求3所述的简易文件管理系统的实现方法,其特征在于:所述写入程序包括如下步骤:
T1、根据选择的空间space 的id获取该空间space的起始地址、长度,以及该空间space中区域area的大小;
T2、根据索引表中当前区域area的id获取下一个区域area的id;
T3、将flash中当前区域area中的数据拷贝到新的区域area中;
T4、将需要更新的ram中数据拷贝到新的area中;
T5、将索引表中该空间space中的area的id更新为新的area的id。
CN201911030682.XA 2019-10-28 2019-10-28 简易文件管理系统及其实现方法 Pending CN110795040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911030682.XA CN110795040A (zh) 2019-10-28 2019-10-28 简易文件管理系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911030682.XA CN110795040A (zh) 2019-10-28 2019-10-28 简易文件管理系统及其实现方法

Publications (1)

Publication Number Publication Date
CN110795040A true CN110795040A (zh) 2020-02-14

Family

ID=69441643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911030682.XA Pending CN110795040A (zh) 2019-10-28 2019-10-28 简易文件管理系统及其实现方法

Country Status (1)

Country Link
CN (1) CN110795040A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570340A (en) * 1994-05-31 1996-10-29 Samsung Electronics Co., Ltd. Disk recording medium and method which uses an order table to correlate stored programs
US20080109589A1 (en) * 2004-04-28 2008-05-08 Toshiyuki Honda Nonvolatile Storage Device And Data Write Method
CN101354678A (zh) * 2008-09-10 2009-01-28 浪潮齐鲁软件产业有限公司 基于NorFlash的数据滚存方法
CN101446921A (zh) * 2008-12-23 2009-06-03 青岛海信宽带多媒体技术股份有限公司 一种Flash存储器的动态存储方法
CN103577574A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件系统
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
WO2016165597A1 (zh) * 2015-04-16 2016-10-20 中兴通讯股份有限公司 数据存储的处理方法及装置
CN106293532A (zh) * 2016-08-10 2017-01-04 广东佳禾声学科技有限公司 一种Flash数据储存方法
CN107168647A (zh) * 2017-04-17 2017-09-15 武汉永力科技股份有限公司 Flash数据读写方法及系统
CN108763531A (zh) * 2018-05-31 2018-11-06 深圳市易甲文技术有限公司 一种mdvr文件存储系统及其运行方法
CN109343790A (zh) * 2018-08-06 2019-02-15 百富计算机技术(深圳)有限公司 一种基于nand flash的数据存储方法、终端设备及存储介质
CN109634919A (zh) * 2018-10-16 2019-04-16 西北铁道电子股份有限公司 一种文件管理系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570340A (en) * 1994-05-31 1996-10-29 Samsung Electronics Co., Ltd. Disk recording medium and method which uses an order table to correlate stored programs
US20080109589A1 (en) * 2004-04-28 2008-05-08 Toshiyuki Honda Nonvolatile Storage Device And Data Write Method
CN101354678A (zh) * 2008-09-10 2009-01-28 浪潮齐鲁软件产业有限公司 基于NorFlash的数据滚存方法
CN101446921A (zh) * 2008-12-23 2009-06-03 青岛海信宽带多媒体技术股份有限公司 一种Flash存储器的动态存储方法
CN103577574A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件系统
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
WO2016165597A1 (zh) * 2015-04-16 2016-10-20 中兴通讯股份有限公司 数据存储的处理方法及装置
CN106155915A (zh) * 2015-04-16 2016-11-23 中兴通讯股份有限公司 数据存储的处理方法及装置
CN106293532A (zh) * 2016-08-10 2017-01-04 广东佳禾声学科技有限公司 一种Flash数据储存方法
CN107168647A (zh) * 2017-04-17 2017-09-15 武汉永力科技股份有限公司 Flash数据读写方法及系统
CN108763531A (zh) * 2018-05-31 2018-11-06 深圳市易甲文技术有限公司 一种mdvr文件存储系统及其运行方法
CN109343790A (zh) * 2018-08-06 2019-02-15 百富计算机技术(深圳)有限公司 一种基于nand flash的数据存储方法、终端设备及存储介质
CN109634919A (zh) * 2018-10-16 2019-04-16 西北铁道电子股份有限公司 一种文件管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘源杨;马建辉;庄汝科;王岗;: "基于嵌入式MCU数据Flash的数据存储及管理方法研究与实现", 电子产品世界, no. 10, pages 57 - 60 *

Similar Documents

Publication Publication Date Title
US7769945B2 (en) Method and system for facilitating fast wake-up of a flash memory system
CN103577121A (zh) 一种基于nand flash的高可靠线性文件存取方法
EP1895418A1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
CN106951375B (zh) 在存储系统中删除快照卷的方法及装置
US8892812B2 (en) Flash memory device and data writing method for a flash memory
US20180081797A1 (en) Wear-leveling nandflash memory reading/writing method
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN101706822B (zh) 提高挂载日志式文件系统速度的方法及设备
CN103136108A (zh) 快闪存储装置及其数据读取方法
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN111309245B (zh) 一种分层存储写入方法和装置、读取方法和装置及系统
CN108664208B (zh) 基于flash存储器的文件追加写操作方法及装置
CN115291815A (zh) 一种存储器及其控制方法与存储系统
CN113608701A (zh) 一种存储系统中数据管理方法和固态硬盘
CN111444114B (zh) 一种非易失性内存中数据的处理方法、装置及系统
JP4347707B2 (ja) 情報記録媒体のフォーマット方法および情報記録媒体
US6967869B1 (en) Method and device to improve USB flash write performance
CN104133640B (zh) 从休眠快速恢复
CN113190241B (zh) 数据分区的容量扩充方法、装置、电子设备、存储介质
CN109753224B (zh) 存储结构及存储结构配置方法
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
CN105260266A (zh) 一种快照卷写方法及依赖快照系统
KR20090119481A (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
CN110795040A (zh) 简易文件管理系统及其实现方法
CN113535086B (zh) 一种固态硬盘中重建的加速方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230612

Address after: 313000 No. 2008, Dingfu Road, East New District, Huzhou City, Zhejiang Province

Applicant after: Zhejiang Jingri Science and Technology Co.,Ltd.

Address before: 310051 17th floor, block a, infield building, 459 Jianghong Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Zhejiang Huiling Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200214