CN107608906A - 减少片内flash擦除次数的方法 - Google Patents

减少片内flash擦除次数的方法 Download PDF

Info

Publication number
CN107608906A
CN107608906A CN201710884524.5A CN201710884524A CN107608906A CN 107608906 A CN107608906 A CN 107608906A CN 201710884524 A CN201710884524 A CN 201710884524A CN 107608906 A CN107608906 A CN 107608906A
Authority
CN
China
Prior art keywords
page
data
write
data storage
build structure
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
CN201710884524.5A
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.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics 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 State Grid Corp of China SGCC, State Grid Information and Telecommunication Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201710884524.5A priority Critical patent/CN107608906A/zh
Publication of CN107608906A publication Critical patent/CN107608906A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种减少片内FLASH擦除次数的方法,其包含:在FLASH的空间中划分出管理页及多个数据储存页,多个数据储存页用作数据存储块,且管理页用作数据存储块的块头结构体存放地址;其中,要写入的数据默认从多个数据储存页的第一页开始写入,并且写入的同时,写入的数据的数据存储块的块头结构体写入管理页中;其中,在写入数据的过程中,块头结构体每次在上一次写的块头结构体后顺序写入更新后的块头结构体,当写到管理页的末尾时,擦除管理页,并从管理页的首地址开始写入;当数据储存页的所述第一页写满时,数据继续写入数据储存页的剩余页。借此,本发明的减少片内FLASH擦除次数的方法,大大减少了页面的擦写次数,进而提高了芯片的使用寿命。

Description

减少片内FLASH擦除次数的方法
技术领域
本发明涉及一种减少片内FLASH擦除次数的方法。
背景技术
在嵌入式设计中,许多应用设计都需要使用EEPROM存储非易失性数据,由于成本原因,在许多嵌入式处理器中并没有集成EEPROM模块。通常我们可以采用在片内FLASH存储器(可编程只读存储器,以下简称FLASH)中保存非易失性数据的应用方式来达到使用要求。对一些普通的应用场合,这种使用方式可以满足要求。
比如,STM32系列处理器中并不具备EEPROM。为了存储非易失性数据,需要利用芯片内部FLASH空间中程序代码区域的未利用空间作为存储非易失性数据空间。但是由于FLASH与EEPROM在擦写寿命上存在一定差距,所以在实际应用中,这种应用方式并不能够满足所有应用需求。
当前在单片机保存少量数据的时候,都保存在固定的位置,这将导致数据保存对应的页面需要在有数据变化的时候进行擦除操作,这就很容易达到FLASH的擦写次数上限,进而导致整个CPU无法使用。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种减少片内FLASH擦除次数的方法,大大减少了页面的擦写次数,进而提高了芯片的使用寿命。
为实现上述目的,本发明提供了一种减少片内FLASH擦除次数的方法,其包含:在FLASH的空间中划分出管理页及多个数据储存页,多个数据储存页用作数据存储块,且管理页用作数据存储块的块头结构体存放地址;其中,要写入的数据默认从多个数据储存页的第一页开始写入,并且写入的同时,写入的数据的数据存储块的块头结构体写入管理页中;其中,在写入数据的过程中,块头结构体每次在上一次写的块头结构体后顺序写入更新后的块头结构体,当写到管理页的末尾时,擦除管理页,并从管理页的首地址开始写入;其中,在写入数据的过程中,当数据储存页的第一页写满时,数据继续写入数据储存页的剩余页,当剩余页写满时,擦除第一页,且数据从第一页的首地址继续写入。
优选地,上述技术方案中,数据存储块的块头结构体包含:数据存储块的大小、数据项的大小、数据的数量、指向第一条数据的头指针以及指向最后一条数据的尾指针。
优选地,上述技术方案中,写入数据是采用FIFO机制实现。
优选地,上述技术方案中,多个储存页的储存空间相同,且数据储存页的储存空间为16个字节或32个字节。
优选地,上述技术方案中,读取数据时,首先读取管理页中的块头结构体,从而确定数据在数据储存页中的位置,然后读取数据储存页中的数据,当数据储存页中的头指针移动至尾指针时,数据全部读取完成,则擦除数据储存页。
与现有技术相比,本发明具有如下有益效果:本发明的减少片内FLASH擦除次数的方法,大大减少了页面的擦写次数,进而提高了芯片的使用寿命。
附图说明
图1是根据本发明的一种减少片内FLASH擦除次数的方法的流程示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1所示,根据本发明具体实施方式的一种减少片内FLASH擦除次数的方法,其包含:在FLASH的空间中划分出管理页及多个数据储存页,多个数据储存页用作数据存储块,且管理页用作数据存储块的块头结构体存放地址;其中,要写入的数据默认从多个数据储存页的第一页开始写入,并且写入的同时,写入的数据的数据存储块的块头结构体写入管理页中;其中,在写入数据的过程中,块头结构体每次在上一次写的块头结构体后顺序写入更新后的块头结构体,当写到管理页的末尾时,擦除管理页,并从管理页的首地址开始写入;其中,在写入数据的过程中,当数据储存页的第一页写满时,数据继续写入数据储存页的剩余页,当剩余页写满时,擦除第一页,且数据从第一页的首地址继续写入。
优选地,数据存储块的块头结构体包含:数据存储块的大小、数据项的大小、数据的数量、指向第一条数据的头指针以及指向最后一条数据的尾指针;写入数据是采用FIFO机制实现;多个储存页的储存空间相同,且数据储存页的储存空间为16个字节或32个字节。
优选地,读取数据时,首先读取管理页中的块头结构体,从而确定数据在数据储存页中的位置,然后读取数据储存页中的数据,当数据储存页中的头指针移动至尾指针时,数据全部读取完成,则擦除数据储存页。
块头结构体的定义如下:
块头结构体存储在FLASH空间的管理页中,在存储过程中,每次在上一次写的块头结构体后顺序写入更新后的块头结构体。当写到管理页的末尾时,擦除当前页,从页首地址重新开始写入。读取块头结构体的数据时,从页头开始查找,最后一个记录项就是当前的块头结构体的记录项。
数据存储在划分好的多个数据储存页中(即数据储存块中),存取时按照约定的记录大小为单位,采用FIFO机制实现。块头结构体中的头指针、尾指针分别指向存有数据的队列的首部和尾部。
当有数据需要写入时,首先数据默认从数据储存页的第一页开始写入,并且写入数据的同时,该第一页的数据存储块的块头结构体同时存入管理页中,以便后续读取数据时查找方便,而在写入数据的过程中,块头结构体每次在上一次写的块头结构体后顺序写入更新后的块头结构体,当写到管理页的末尾时,擦除管理页,并从管理页的首地址开始写入,同时具体数据的内容也会写入多个数据储存页,当数据储存页的所述第一页写满时,数据继续写入数据储存页的剩余页,当剩余页写满时,擦除第一页,且数据从第一页的首地址继续写入,已形成循环写入。
读取数据时,首先读取管理页中的块头结构体,从而确定数据在数据储存页中的位置,然后读取数据储存页中的数据,当数据储存页中的头指针移动至所述尾指针时,数据全部读取完成,则数据储存页进行擦除。
综上所述,本发明的减少片内FLASH擦除次数的方法,大大减少了页面的擦写次数,进而提高了芯片的使用寿命。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (5)

1.一种减少片内FLASH擦除次数的方法,其特征在于,所述减少片内FLASH擦除次数的方法包括:
在所述FLASH的空间中划分出管理页及多个数据储存页,所述多个数据储存页用作数据存储块,且所述管理页用作所述数据存储块的块头结构体存放地址;
其中,要写入的数据默认从所述多个数据储存页的第一页开始写入,并且写入的同时,写入的所述数据的所述数据存储块的所述块头结构体写入所述管理页中;
其中,在写入所述数据的过程中,所述块头结构体每次在上一次写的所述块头结构体后顺序写入更新后的所述块头结构体,当写到所述管理页的末尾时,擦除所述管理页,并从所述管理页的首地址开始写入;
其中,在写入所述数据的过程中,当所述数据储存页的所述第一页写满时,所述数据继续写入所述数据储存页的剩余页,当所述剩余页写满时,擦除所述第一页,且所述数据从所述第一页的首地址继续写入。
2.根据权利要求1所述的减少片内FLASH擦除次数的方法,其特征在于,所述数据存储块的所述块头结构体包含:所述数据存储块的大小、数据项的大小、数据的数量、指向第一条数据的头指针以及指向最后一条数据的尾指针。
3.根据权利要求1所述的减少片内FLASH擦除次数的方法,其特征在于,写入所述数据是采用FIFO机制实现。
4.根据权利要求1所述的减少片内FLASH擦除次数的方法,其特征在于,所述多个储存页的储存空间相同,且所述数据储存页的所述储存空间为16个字节或32个字节。
5.根据权利要求1所述的减少片内FLASH擦除次数的方法,其特征在于,读取所述数据时,首先读取所述管理页中的所述块头结构体,从而确定所述数据在所述数据储存页中的位置,然后读取所述数据储存页中的所述数据,当所述数据储存页中的所述头指针移动至所述尾指针时,所述数据全部读取完成,则所述数据储存页进行擦除。
CN201710884524.5A 2017-09-26 2017-09-26 减少片内flash擦除次数的方法 Pending CN107608906A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710884524.5A CN107608906A (zh) 2017-09-26 2017-09-26 减少片内flash擦除次数的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710884524.5A CN107608906A (zh) 2017-09-26 2017-09-26 减少片内flash擦除次数的方法

Publications (1)

Publication Number Publication Date
CN107608906A true CN107608906A (zh) 2018-01-19

Family

ID=61058386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710884524.5A Pending CN107608906A (zh) 2017-09-26 2017-09-26 减少片内flash擦除次数的方法

Country Status (1)

Country Link
CN (1) CN107608906A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002399A (zh) * 2018-07-09 2018-12-14 北京智芯微电子科技有限公司 嵌入式设备事件记录的方法
CN109558080A (zh) * 2018-11-20 2019-04-02 宁波三星医疗电气股份有限公司 一种电力采集设备的NandFlash数据管理方法
CN110389723A (zh) * 2019-07-22 2019-10-29 广东美的制冷设备有限公司 数据的存储方法、装置、空调器和存储介质
CN111078136A (zh) * 2019-10-22 2020-04-28 安徽力高新能源技术有限公司 一种防止BMS动态数据存储导致flash寿命降低的方法
CN112525278A (zh) * 2020-12-05 2021-03-19 重庆前卫表业有限公司 一种应用均衡寿命存储方法的智能燃气表及数据存储方法
CN114528561A (zh) * 2022-01-13 2022-05-24 山东华芯半导体有限公司 一种flash密钥存储管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160004474A1 (en) * 2013-03-15 2016-01-07 Huawei Technologies Co., Ltd. Data Erasing Method and Apparatus Applied to Flash Memory
CN106293532A (zh) * 2016-08-10 2017-01-04 广东佳禾声学科技有限公司 一种Flash数据储存方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160004474A1 (en) * 2013-03-15 2016-01-07 Huawei Technologies Co., Ltd. Data Erasing Method and Apparatus Applied to Flash Memory
CN106293532A (zh) * 2016-08-10 2017-01-04 广东佳禾声学科技有限公司 一种Flash数据储存方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周立功等: "《ARM嵌入式系统软件开发实例 二》", 30 June 2006, 北京航空航天出版社 *
张刚等: "《最新DSP技术 "达芬奇"系统、框架和组件》", 30 September 2009, 国防工业出版社 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002399A (zh) * 2018-07-09 2018-12-14 北京智芯微电子科技有限公司 嵌入式设备事件记录的方法
CN109002399B (zh) * 2018-07-09 2021-05-18 北京智芯微电子科技有限公司 嵌入式设备事件记录的方法
CN109558080A (zh) * 2018-11-20 2019-04-02 宁波三星医疗电气股份有限公司 一种电力采集设备的NandFlash数据管理方法
CN109558080B (zh) * 2018-11-20 2022-04-22 宁波三星医疗电气股份有限公司 一种电力采集设备的NandFlash数据管理方法
CN110389723A (zh) * 2019-07-22 2019-10-29 广东美的制冷设备有限公司 数据的存储方法、装置、空调器和存储介质
CN111078136A (zh) * 2019-10-22 2020-04-28 安徽力高新能源技术有限公司 一种防止BMS动态数据存储导致flash寿命降低的方法
CN111078136B (zh) * 2019-10-22 2023-05-05 力高(山东)新能源技术股份有限公司 一种防止BMS动态数据存储导致flash寿命降低的方法
CN112525278A (zh) * 2020-12-05 2021-03-19 重庆前卫表业有限公司 一种应用均衡寿命存储方法的智能燃气表及数据存储方法
CN114528561A (zh) * 2022-01-13 2022-05-24 山东华芯半导体有限公司 一种flash密钥存储管理方法

Similar Documents

Publication Publication Date Title
CN107608906A (zh) 减少片内flash擦除次数的方法
JP4729062B2 (ja) メモリシステム
EP1769331B1 (en) Storage device and host apparatus
US20080162792A1 (en) Caching device for nand flash translation layer
US8850102B2 (en) Flash memory with small data programming capability
US8433844B2 (en) Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof
US20150026390A1 (en) Garbage collection control method for solid state drive
JP2011508357A (ja) 1セル当り単一ビットnandフラッシュメモリをエミュレートする1セル当り多ビットnandフラッシュメモリ用コントローラ
CN102890620A (zh) 非易失性临时数据处理
CN110018787A (zh) 基于ssd全系统的固件读写方法、装置和计算机设备
US20170154681A1 (en) Memory control method and apparatus
CN100365593C (zh) 计算机系统的内存管理方法
CN109002399A (zh) 嵌入式设备事件记录的方法
CN102521146A (zh) 一种flash存储器块细分的数据寻址存储方法
US11210209B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
US20140269086A1 (en) System and method of accessing memory of a data storage device
US10282328B2 (en) Apparatus having direct memory access controller and method for accessing data in memory
US9405674B2 (en) Address generating circuit and address generating method
CN106776360B (zh) 一种芯片及电子设备
US8312205B2 (en) Method for identifying a page of a block of flash memory, and associated memory device
US8566562B2 (en) Method for sequentially writing data with an offset to a non-volatile memory
CN110427161B (zh) 一种用于串行闪存的数据存储方法
CN101963942A (zh) 一种机顶盒nor型flash快速存储的方法
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof

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: 20180119

RJ01 Rejection of invention patent application after publication