CN107608639A - 基于闪存的队列式循环存储方法、电子设备和存储介质 - Google Patents
基于闪存的队列式循环存储方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN107608639A CN107608639A CN201710984480.3A CN201710984480A CN107608639A CN 107608639 A CN107608639 A CN 107608639A CN 201710984480 A CN201710984480 A CN 201710984480A CN 107608639 A CN107608639 A CN 107608639A
- Authority
- CN
- China
- Prior art keywords
- target data
- current target
- data
- current
- effective length
- 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
Abstract
本发明公开了基于闪存的队列式循环存储方法,包括如下步骤:获取当前目标数据的有效长度;根据当前目标数据的有效长度判断当前存储空间是否足够,若是,根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址,根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;否则擦除步骤:将闪存内的全部目标数据删除。本发明通过将闪存的存储空间进行分区,存储的目标数据以队列式进行存储,存入数据先进先出,依据目标数据的有效长度分配合理空间,当存储空间已满时统一擦除,大大减少擦除次数,延迟器件使用寿命。
Description
技术领域
本发明涉及存储技术,尤其涉及基于闪存的队列式循环存储方法。
背景技术
随着科技水平发展,越来越多的嵌入式设备伸入到人们生活当中。由于设备应用越来越多,应用场景与需求越来越复杂,多数情况会有需要将产品的运行信息存储,用于后期的产品运维及信息跟踪。
在现有技术中,通常是将目标数据写入Flash闪存器件时,需要先将Flash闪存器件擦除,由于运行信息不断更新,导致擦除次数多,降低器件的使用寿命。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供基于闪存的队列式循环存储方法,其能解决现有技术中擦除次数多的问题。
本发明的目的之二在于提供一种电子设备,其能解决现有技术中擦除次数多的问题。
本发明的目的之三在于提供一种存储介质,其能解决现有技术中擦除次数多的问题。
本发明的目的之一采用以下技术方案实现:
基于闪存的队列式循环存储方法,包括如下步骤:
获取步骤:获取当前目标数据的有效长度;
判断步骤:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;
分配步骤:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;
存储步骤:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;
擦除步骤:将闪存内的全部目标数据删除。
优选的,在分配步骤与存储步骤之间还包括加入步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
优选的,还包括如下步骤:判断重启步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环获取步骤。
本发明的目的之二采用以下技术方案实现:
一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取步骤:获取当前目标数据的有效长度;
判断步骤:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;
分配步骤:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;
存储步骤:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;
擦除步骤:将闪存内的全部目标数据删除。
优选的,在分配步骤与存储步骤之间还包括加入步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
优选的,还实现如下步骤:判断重启步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环获取步骤。
本发明的目的之三采用以下技术方案实现:
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的队列式循环存储方法。
相比现有技术,本发明的有益效果在于:
本发明通过将闪存的存储空间进行分区,存储的目标数据以队列式进行存储,存入数据先进先出,依据目标数据的有效长度分配合理空间,当存储空间已满时统一擦除,大大减少擦除次数,延迟器件使用寿命。
附图说明
图1为本发明的基于闪存的队列式循环存储方法的流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图1所示,本发明提供一种基于闪存的队列式循环存储方法,由于存储进闪存的数据大小并非固定,本发明可以根据目标数据的大小动态分配存储空间,有效增加相同空间下存储有效数据量,本发明包括如下步骤:
S1:获取当前目标数据的有效长度;
器件运行时,运行信息不断更新,当前目标数据是当下存储至闪存中的信息,而在当前目标数据之前存储的、并与当前目标数据相邻的数据记为上一次目标数据。有效长度指的的目标数据的实际占用内存空间大小。
S2:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;
在闪存中,可能在当前目标数据之前,已经存储有在先目标数据,因此可能剩余存储空间不够当前目标数据存储。实际上是将闪存分配为N个可存储空间,每次存储进一个当前目标数据,就消耗一个存储空间,当所有存储空间消耗完毕,再整体擦除重新计数。此方法可以有效降低器件的擦除次数,延迟寿命。
S3:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;
例如闪存内在先没有存储任何数据或是已有数据已全部擦除在这种情况下,分配给当前目标数据的起始地址则为初始地址,例如0000,假设当前目标数据的有效长度为32,则分配给当前目标数据的终止地址为0032,再下一个目标数据要存储时,分配给该再下一个目标数据的起始地址为0032。
S4:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;
通过设置目标数据的存储起始地址和终止地址,可以快速找到目标数据,并且队列式存储,存入数据先进先出, 方便管理。
S5:将闪存内的全部目标数据删除。
作为改进,在S3与S4之间还包括如下步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
描述符记录目标数据的数据内容信息,在实际操作中,先依据描述符和校验码,如果描述符和校验码核对通过,再读取有效内容,返回有效数据长度。如果描述符合校验码核对识别,则依次读取后续存储区域直至找到有效的描述符或有效存储结束为止,防止因个别数据异常导致整个存储区域数据失效。
还包括如下步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环S1步骤。
本步骤是掉电同步,设备每次重启时,将Flash记录信息同步至内存中。后面操作时直接依据内存操作与修改,并将变更信息同步记录块。通过直接内存寻址操作,增加减少外部器件操作,增快信息处理速度,增强程序运行健壮性。
另外一方面本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取步骤:获取当前目标数据的有效长度;判断步骤:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;分配步骤:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;存储步骤:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;擦除步骤:将闪存内的全部目标数据删除。
与队列式循环存储方法相同,在分配步骤与存储步骤之间还包括加入步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
还实现如下步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环获取步骤。
本发明还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明所述的队列式循环存储方法。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (7)
1.基于闪存的队列式循环存储方法,其特征在于,包括如下步骤:
获取步骤:获取当前目标数据的有效长度;
判断步骤:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;
分配步骤:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;
存储步骤:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;
擦除步骤:将闪存内的全部目标数据删除。
2.如权利要求1所述的队列式循环存储方法,其特征在于,在分配步骤与存储步骤之间还包括加入步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
3.如权利要求1所述的队列式循环存储方法,其特征在于,还包括如下步骤:判断重启步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环获取步骤。
4.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取步骤:获取当前目标数据的有效长度;
判断步骤:根据当前目标数据的有效长度判断当前存储空间是否足够,若是,则执行分配步骤,否则,执行擦除步骤;
分配步骤:根据所述有效长度在剩余存储空间内分配给该当前目标数据一起始地址和一终止地址;该当前目标数据的起始地址为初始地址或上一个目标数据的终止地址;
存储步骤:根据起始地址、终止地址和有效长度,将当前目标数据存入闪存中;
擦除步骤:将闪存内的全部目标数据删除。
5.如权利要求4所述的电子设备,其特征在于,在分配步骤与存储步骤之间还包括加入步骤:在当前目标数据的前端加入描述符和校验码,使描述符、校验码和当前目标数据的数据内容依次组成形成当前目标存储数据;所述描述符为当前目标数据的数据内容的描述信息。
6.如权利要求4所述的电子设备,其特征在于,还实现如下步骤:判断重启步骤:判断是否重启,若是,则将重启记录信息同步存储至当前存储空间中,否则,循环获取步骤。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的队列式循环存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710984480.3A CN107608639A (zh) | 2017-10-20 | 2017-10-20 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710984480.3A CN107608639A (zh) | 2017-10-20 | 2017-10-20 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107608639A true CN107608639A (zh) | 2018-01-19 |
Family
ID=61078844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710984480.3A Pending CN107608639A (zh) | 2017-10-20 | 2017-10-20 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608639A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343790A (zh) * | 2018-08-06 | 2019-02-15 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
CN112525278A (zh) * | 2020-12-05 | 2021-03-19 | 重庆前卫表业有限公司 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
CN114217738A (zh) * | 2021-11-25 | 2022-03-22 | 深圳益邦阳光有限公司 | 一种动态队列式循环存储方法、装置、设备及介质 |
WO2023179243A1 (zh) * | 2022-03-21 | 2023-09-28 | 上海美仁半导体有限公司 | 数据读写方法、系统及介质、设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627272A (zh) * | 2003-12-10 | 2005-06-15 | 上海贝豪通讯电子有限公司 | 移动终端的闪存中的文件管理方法 |
CN1770051A (zh) * | 2004-11-04 | 2006-05-10 | 华为技术有限公司 | 一种文件安全检测方法 |
US20100070729A1 (en) * | 2008-09-18 | 2010-03-18 | Seagate Technology Llc | System and method of managing metadata |
CN103729303A (zh) * | 2014-01-20 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
CN106569748A (zh) * | 2016-10-27 | 2017-04-19 | 南方电网科学研究院有限责任公司 | Flash文件系统的数据处理方法和装置 |
CN106959823A (zh) * | 2017-03-13 | 2017-07-18 | 许继集团有限公司 | 一种提高flash参数保存次数的实现方法 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
-
2017
- 2017-10-20 CN CN201710984480.3A patent/CN107608639A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627272A (zh) * | 2003-12-10 | 2005-06-15 | 上海贝豪通讯电子有限公司 | 移动终端的闪存中的文件管理方法 |
CN1770051A (zh) * | 2004-11-04 | 2006-05-10 | 华为技术有限公司 | 一种文件安全检测方法 |
US20100070729A1 (en) * | 2008-09-18 | 2010-03-18 | Seagate Technology Llc | System and method of managing metadata |
CN103729303A (zh) * | 2014-01-20 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
CN106569748A (zh) * | 2016-10-27 | 2017-04-19 | 南方电网科学研究院有限责任公司 | Flash文件系统的数据处理方法和装置 |
CN106959823A (zh) * | 2017-03-13 | 2017-07-18 | 许继集团有限公司 | 一种提高flash参数保存次数的实现方法 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343790A (zh) * | 2018-08-06 | 2019-02-15 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
CN109343790B (zh) * | 2018-08-06 | 2021-07-13 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
CN112525278A (zh) * | 2020-12-05 | 2021-03-19 | 重庆前卫表业有限公司 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
CN114217738A (zh) * | 2021-11-25 | 2022-03-22 | 深圳益邦阳光有限公司 | 一种动态队列式循环存储方法、装置、设备及介质 |
WO2023179243A1 (zh) * | 2022-03-21 | 2023-09-28 | 上海美仁半导体有限公司 | 数据读写方法、系统及介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608639A (zh) | 基于闪存的队列式循环存储方法、电子设备和存储介质 | |
CN108512876B (zh) | 数据的推送方法及装置 | |
CN102567184B (zh) | 一种基于Flash的日志存储方法 | |
US9081668B2 (en) | Architecture to allow efficient storage of data on NAND flash memory | |
CN103106150B (zh) | 一种实现存储系统自动精简配置和精简分配的方法 | |
CN107844267A (zh) | 缓冲区分配和存储器管理 | |
CN109977129A (zh) | 多级数据缓存方法及设备 | |
CN107783812B (zh) | 虚拟机内存管理方法及装置 | |
CN109428913A (zh) | 一种存储扩容方法及装置 | |
CN104346286B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN111984407A (zh) | 一种数据块读写性能优化方法、系统、终端及存储介质 | |
CN106155915A (zh) | 数据存储的处理方法及装置 | |
CN108874309A (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CN107783908A (zh) | 一种基于Linux内核内存泄露的检测方法 | |
US20200210334A1 (en) | Cache Hit Ratio Simulation Using A Partial Data Set | |
CN115408149A (zh) | 一种时序存储引擎内存设计及分配方法及装置 | |
CN111768238A (zh) | 渠道追踪方法、装置、设备及存储介质 | |
CN107704200A (zh) | 一种数据存放方法 | |
CN106959906A (zh) | 信息处理方法、信息处理装置及电子设备 | |
CN104317735A (zh) | 大容量缓存及数据存储和读取、内存分配和回收的方法 | |
CN104899158A (zh) | 访存优化方法和装置 | |
CN114157717B (zh) | 一种微服务动态限流的系统及方法 | |
CN115766661A (zh) | 基于资源能力中心的ipv6地址数据管理方法及系统 | |
CN114996014A (zh) | 基于ion分配器的内存分配方法、装置和电子设备 | |
CN111339105B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |