CN102306125A - 一种flash存储器的数据擦写方法 - Google Patents
一种flash存储器的数据擦写方法 Download PDFInfo
- Publication number
- CN102306125A CN102306125A CN201110235360A CN201110235360A CN102306125A CN 102306125 A CN102306125 A CN 102306125A CN 201110235360 A CN201110235360 A CN 201110235360A CN 201110235360 A CN201110235360 A CN 201110235360A CN 102306125 A CN102306125 A CN 102306125A
- Authority
- CN
- China
- Prior art keywords
- data
- sector
- write
- written
- erasing
- 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.)
- Granted
Links
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种FLASH存储器的数据擦写方法,该方法包括:在需要向扇区中写入数据时,首先判断该扇区的剩余空间是否足够存放当前待写入的数据,若足够,则将数据直接写入该扇区空闲空间的最低地址;若不够,则擦除该扇区后再写入数据到该扇区的最低地址;写入完成后记录本次写入数据的开始及结束地址信息,并更新有效数据地址信息为本次写入数据的首地址。本发明在扇区中顺序写入数据,以最后一次写入数据的首地址为有效数据首地址,而在扇区中剩余空间不足够写入数据时才擦除整个扇区并从其初始位置开始写入,这样明显大大减少了扇区的擦除次数,不仅提高了效率,而且延长了FLASH存储器的使用寿命。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种FLASH存储器的数据擦写方法。
背景技术
FLASH存储器是一种半导体存储器,具有集成度高、读取速度快、单一供电、再编程次数多等显著优点。FLASH存储器作为非易失数据存储设备,被广泛地应用于嵌入式系统中。单片机内的FLASH可以在线编程,也可以存储程序运行时的数据,但修改FLASH中的数据时需要先进行擦除,即修改一个字节的数据也要先擦除这个字节所在扇区的全部数据,然后再写入数据。传统的数据写入方法采用如下的过程:1.先将整个扇区的数据读出到缓存中;2。在缓存中修改数据;3.擦除扇区,将缓存中修改后的数据写回该扇区内。这种传统的方法存在以下不足:每改动扇区中的一个字节都要擦除整个扇区的数据,而某些数据需要频繁修改,该数据所在的扇区会被频繁擦除。由此可知传统的FLASH写入方法需要频繁的擦除数据,但是FLASH的擦除次数是有限的,使用传统方法进行上数据的写入和修改会大大降低FLASH的使用寿命。
发明内容
本发明的目的在于提供一种FLASH存储器的数据擦写方法,有效降低FLASH存储器的擦除次数,延长FLASH存储器的使用寿命。
本发明的目的是通过以下技术方案实现的。
一种FLASH存储器的数据擦写方法,包括:
在需要向扇区中写入数据时,首先判断该扇区的剩余空间是否足够存放当前待写入的数据,若足够,则将数据直接写入该扇区的空闲空间;若不够,则擦除该扇区后再写入数据;写入完成后记录本次写入数据的起始及结束地址信息,并更新有效数据地址信息为本次写入数据的首地址。
优选地,上述方法中,在每次向扇区中写入数据的过程中,将数据顺序写入扇区的空闲空间的最低地址。
优选地,判断扇区的剩余空间是否足够存放当前待写入的数据的方法为:读取上次写入数据的地址信息记录,将扇区的结束地址减去上次写入数据的结束地址得到扇区的剩余空间大小,比较剩余空间和当前待写入的数据的大小,若前者大于后者,则认定剩余空间足够存放当前待写入的数据,否则不够存放当前待写入的数据。
优选地,上述方法中,在判断出扇区的剩余空间足够存放当前待写入数据时,读取上次写入数据的地址信息记录,以上次写入数据的结束地址的下一字节开始写入当前待写入数据。
优选地,上述方法还包括:在第一次写入数据时,擦除整个扇区,从该扇区的起始位置开始写入。
与现有技术相比,本发明实施例具有以下有益效果:
本发明在扇区中顺序写入数据,以最后一次写入数据的地址为有效数据地址,而在扇区中剩余空间不足够写入数据时才擦除整个扇区并从其初始位置开始写入,这样明显大大减少了扇区的擦除次数,不仅提高了效率,而且延长了FLASH存储器的使用寿命。
附图说明
图1是本发明实施例中FLASH存储器的数据擦写方法流程。
图2是本发明实施例中扇区中数据的存放布局。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1所示,本实施例中FLASH存储器的数据擦写方法包括以下步骤。
101、在需要写入更新扇区中的信息时,判断上一次存放数据的记录是否存在,若存在,则执行步骤102;若不存在,则执行步骤103。
102、由于是第一次写入数据,按照普通流程,擦除整个扇区,并从该扇区的起始位置开始写入数据,记录本次写入数据的起始地址和结束地址,并更新有效数据地址信息为本次写入数据的首地址。
103、读取上次写入数据的地址信息记录,据此计算当前扇区中的剩余空间。计算方法为:将扇区的结束地址减去上次写入数据的结束地址记得到当前扇区的剩余空间大小。
104、判断剩余空间是否足够存放本次要写入的数据,若足够,则执行步骤105;若不够,则执行步骤106。
105、以上次写入数据的结束地址的下一字节为起始位置开始写入本次要写入的数据,记录本次写入数据的起始地址和结束地址信息,并更新有效数据地址信息为本次写入数据的首地址。
106、擦除整个扇区,从该扇区的开始位置写入数据,写入完成之后记录本次写入数据的起始地址和结束地址信息,并更新有效数据地址信息为本次写入数据的首地址。
107、等待下一次写入数据时,返回步骤101。
请参阅图2所示,该图示出了本实施例中在FLASH存储器中的一个扇区sector中的数据存放布局,其中,record1、record2、…、last record是依次写入的数据,其中,last record是最后一次写入的数据,其数据地址即为有效数据地址。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种FLASH存储器的数据擦写方法,其特征在于,该方法包括:
在需要向扇区中写入数据时,首先判断该扇区的剩余空间是否足够存放当前待写入的数据,若足够,则将数据直接写入该扇区的空闲空间;若不够,则擦除该扇区后再写入数据;写入完成后记录本次写入数据的起始及结束地址信息,并更新有效数据地址信息为本次写入数据的首地址。
2.如权利要求1所述的FLASH存储器的数据擦写方法,其特征在于,该方法中,在每次向扇区中写入数据的过程中,将数据顺序写入扇区的空闲空间的最低地址。
3.如权利要求2所述的FLASH存储器的数据擦写方法,其特征在于,判断扇区的剩余空间是否足够存放当前待写入的数据的方法为:读取上次写入数据的地址信息记录,将扇区的结束地址减去上次写入数据的结束地址得到扇区的剩余空间大小,比较剩余空间和当前待写入的数据的大小,若前者大于后者,则认定剩余空间足够存放当前待写入的数据,否则不够存放当前待写入的数据。
4.如权利要求2所述的FLASH存储器的数据擦写方法,其特征在于,该方法中,在判断出扇区的剩余空间足够存放当前待写入数据时,读取上次写入数据的地址信息记录,以上次写入数据的结束地址的下一字节开始写入当前待写入数据。
5.如权利要求1至4任一所述的FLASH存储器的数据擦写方法,其特征在于,该方法还包括:在第一次写入数据时,擦除整个扇区,从该扇区的起始位置开始写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110235360.6A CN102306125B (zh) | 2011-08-17 | 2011-08-17 | 一种flash存储器的数据擦写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110235360.6A CN102306125B (zh) | 2011-08-17 | 2011-08-17 | 一种flash存储器的数据擦写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102306125A true CN102306125A (zh) | 2012-01-04 |
CN102306125B CN102306125B (zh) | 2016-04-06 |
Family
ID=45379990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110235360.6A Expired - Fee Related CN102306125B (zh) | 2011-08-17 | 2011-08-17 | 一种flash存储器的数据擦写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102306125B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968383A (zh) * | 2012-12-13 | 2013-03-13 | 蚌埠依爱消防电子有限责任公司 | 一种用于火灾报警系统的提高flash使用寿命的方法 |
CN103729143A (zh) * | 2012-10-12 | 2014-04-16 | 苏州工业园区新宏博通讯科技有限公司 | 多路电表电能数据存储的数据安全方法 |
CN103823642A (zh) * | 2014-03-17 | 2014-05-28 | 深圳市道通科技有限公司 | 用于Flash均衡存储的方法及系统 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN106408790A (zh) * | 2016-08-26 | 2017-02-15 | 恒银金融科技股份有限公司 | 金融设备循环机芯日志信息写入方法及读取方法 |
CN106527957A (zh) * | 2015-09-09 | 2017-03-22 | 深圳市凯路创新科技有限公司 | 嵌入式数据采集终端的循环记录和采集方法 |
US9652150B2 (en) | 2012-12-17 | 2017-05-16 | Huawei Technologies Co., Ltd. | Global memory sharing method and apparatus, and communications system |
CN106844226A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 基于norflash的宽带载波从节点控制方法 |
CN108037944A (zh) * | 2017-12-12 | 2018-05-15 | 苏州华芯微电子股份有限公司 | Eprom自动重烧方法 |
CN108279852A (zh) * | 2017-12-27 | 2018-07-13 | 浙江恒业电子有限公司 | 用于智能电能表中提高norflash使用寿命的方法 |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN109407963A (zh) * | 2017-08-15 | 2019-03-01 | 深圳市中兴微电子技术有限公司 | 一种实现存储管理的方法及装置 |
CN111061649A (zh) * | 2019-10-28 | 2020-04-24 | 宁波三星智能电气有限公司 | 一种存储器的存储空间自适应分配方法 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN111506269A (zh) * | 2020-04-22 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种磁盘存储空间分配方法、装置、设备及存储介质 |
CN111813706A (zh) * | 2020-07-03 | 2020-10-23 | 杭州电子科技大学 | 一种实现MCU Flash存储器擦写损耗均衡的方法 |
CN112286893A (zh) * | 2020-09-23 | 2021-01-29 | 宁波水表(集团)股份有限公司 | 一种应用于嵌入式终端的日志处理方法以及设备 |
CN112525278A (zh) * | 2020-12-05 | 2021-03-19 | 重庆前卫表业有限公司 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
CN113316010A (zh) * | 2021-05-28 | 2021-08-27 | 杭州国芯科技股份有限公司 | 一种机顶盒记录当前观看频道信息的方法 |
CN113504873A (zh) * | 2021-05-20 | 2021-10-15 | 新华三信息安全技术有限公司 | 一种通信设备及其存储数据的方法 |
US11249676B2 (en) | 2020-07-02 | 2022-02-15 | Silicon Motion, Inc. | Electronic device, flash memory controller and associated control method |
CN114816249A (zh) * | 2022-04-15 | 2022-07-29 | 巨翊科技(上海)有限公司 | 一种flash数据的修改方法、装置以及系统 |
CN114816271A (zh) * | 2022-06-02 | 2022-07-29 | 上海磐启微电子有限公司 | 一种应用于闪存的数据存储方法及系统 |
CN115639971A (zh) * | 2022-12-12 | 2023-01-24 | 北京集度科技有限公司 | 数据写入方法、装置、电子设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196029A1 (en) * | 1993-10-01 | 2003-10-16 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
CN1913040A (zh) * | 2005-08-12 | 2007-02-14 | 中兴通讯股份有限公司 | 一种在nor flash中配置参数的方法 |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN102063379A (zh) * | 2010-12-28 | 2011-05-18 | 天津市亚安科技电子有限公司 | 一种flash存储器的数据存储方法 |
-
2011
- 2011-08-17 CN CN201110235360.6A patent/CN102306125B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196029A1 (en) * | 1993-10-01 | 2003-10-16 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
CN1913040A (zh) * | 2005-08-12 | 2007-02-14 | 中兴通讯股份有限公司 | 一种在nor flash中配置参数的方法 |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN102063379A (zh) * | 2010-12-28 | 2011-05-18 | 天津市亚安科技电子有限公司 | 一种flash存储器的数据存储方法 |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729143A (zh) * | 2012-10-12 | 2014-04-16 | 苏州工业园区新宏博通讯科技有限公司 | 多路电表电能数据存储的数据安全方法 |
CN102968383B (zh) * | 2012-12-13 | 2015-08-19 | 蚌埠依爱消防电子有限责任公司 | 一种用于火灾报警系统的提高flash使用寿命的方法 |
CN102968383A (zh) * | 2012-12-13 | 2013-03-13 | 蚌埠依爱消防电子有限责任公司 | 一种用于火灾报警系统的提高flash使用寿命的方法 |
US9652150B2 (en) | 2012-12-17 | 2017-05-16 | Huawei Technologies Co., Ltd. | Global memory sharing method and apparatus, and communications system |
CN103823642A (zh) * | 2014-03-17 | 2014-05-28 | 深圳市道通科技有限公司 | 用于Flash均衡存储的方法及系统 |
CN103823642B (zh) * | 2014-03-17 | 2017-06-13 | 深圳市道通科技股份有限公司 | 用于Flash均衡存储的方法及系统 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN103838526B (zh) * | 2014-03-31 | 2017-12-01 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN106527957B (zh) * | 2015-09-09 | 2019-05-28 | 深圳市凯路创新科技有限公司 | 嵌入式数据采集终端的循环记录和采集方法 |
CN106527957A (zh) * | 2015-09-09 | 2017-03-22 | 深圳市凯路创新科技有限公司 | 嵌入式数据采集终端的循环记录和采集方法 |
CN106408790A (zh) * | 2016-08-26 | 2017-02-15 | 恒银金融科技股份有限公司 | 金融设备循环机芯日志信息写入方法及读取方法 |
CN106408790B (zh) * | 2016-08-26 | 2024-03-19 | 恒银金融科技股份有限公司 | 金融设备循环机芯日志信息写入方法及读取方法 |
CN106844226A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 基于norflash的宽带载波从节点控制方法 |
CN109407963A (zh) * | 2017-08-15 | 2019-03-01 | 深圳市中兴微电子技术有限公司 | 一种实现存储管理的方法及装置 |
CN108037944A (zh) * | 2017-12-12 | 2018-05-15 | 苏州华芯微电子股份有限公司 | Eprom自动重烧方法 |
CN108037944B (zh) * | 2017-12-12 | 2021-01-01 | 苏州华芯微电子股份有限公司 | Eprom自动重烧方法 |
CN108279852A (zh) * | 2017-12-27 | 2018-07-13 | 浙江恒业电子有限公司 | 用于智能电能表中提高norflash使用寿命的方法 |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN111061649A (zh) * | 2019-10-28 | 2020-04-24 | 宁波三星智能电气有限公司 | 一种存储器的存储空间自适应分配方法 |
CN111061649B (zh) * | 2019-10-28 | 2023-09-29 | 宁波三星智能电气有限公司 | 一种存储器的存储空间自适应分配方法 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN111506269A (zh) * | 2020-04-22 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种磁盘存储空间分配方法、装置、设备及存储介质 |
CN111506269B (zh) * | 2020-04-22 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种磁盘存储空间分配方法、装置、设备及存储介质 |
US11249676B2 (en) | 2020-07-02 | 2022-02-15 | Silicon Motion, Inc. | Electronic device, flash memory controller and associated control method |
TWI787627B (zh) * | 2020-07-02 | 2022-12-21 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及其存取方法 |
CN111813706A (zh) * | 2020-07-03 | 2020-10-23 | 杭州电子科技大学 | 一种实现MCU Flash存储器擦写损耗均衡的方法 |
CN112286893B (zh) * | 2020-09-23 | 2023-02-24 | 宁波水表(集团)股份有限公司 | 一种应用于嵌入式终端的日志处理方法以及设备 |
CN112286893A (zh) * | 2020-09-23 | 2021-01-29 | 宁波水表(集团)股份有限公司 | 一种应用于嵌入式终端的日志处理方法以及设备 |
CN112525278A (zh) * | 2020-12-05 | 2021-03-19 | 重庆前卫表业有限公司 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
CN113504873A (zh) * | 2021-05-20 | 2021-10-15 | 新华三信息安全技术有限公司 | 一种通信设备及其存储数据的方法 |
CN113316010A (zh) * | 2021-05-28 | 2021-08-27 | 杭州国芯科技股份有限公司 | 一种机顶盒记录当前观看频道信息的方法 |
CN113316010B (zh) * | 2021-05-28 | 2023-02-28 | 杭州国芯科技股份有限公司 | 一种机顶盒记录当前观看频道信息的方法 |
CN114816249A (zh) * | 2022-04-15 | 2022-07-29 | 巨翊科技(上海)有限公司 | 一种flash数据的修改方法、装置以及系统 |
CN114816271A (zh) * | 2022-06-02 | 2022-07-29 | 上海磐启微电子有限公司 | 一种应用于闪存的数据存储方法及系统 |
CN115639971A (zh) * | 2022-12-12 | 2023-01-24 | 北京集度科技有限公司 | 数据写入方法、装置、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN102306125B (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102306125A (zh) | 一种flash存储器的数据擦写方法 | |
JP5002201B2 (ja) | メモリシステム | |
CN101727295B (zh) | 一种基于虚拟块闪存地址映射的数据写入及读出方法 | |
CN101354681A (zh) | 存储器系统、非易失性存储器的磨损均衡方法及装置 | |
US20130060991A1 (en) | Solid state drive and garbage collection control method thereof | |
US10089225B2 (en) | Improving garbage collection efficiency by reducing page table lookups | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
KR20140133427A (ko) | 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기 | |
CN101702139B (zh) | 一种访问Nand闪存数据的方法和装置 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
KR101374065B1 (ko) | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 | |
CN102279809A (zh) | 一种在固态硬盘中重定向写入及垃圾回收的方法 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
CN102662852A (zh) | 一种利用MCU内部数据Flash存储非易失性数据的方法 | |
CN103294607A (zh) | 一种存储管理方法 | |
CN101499315A (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
US20160124650A1 (en) | Data Storage Device and Flash Memory Control Method | |
CN104376872B (zh) | 一种对快闪存储器擦除中断的处理方法 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
CN102654855A (zh) | 一种对Nandflash指令执行进行编程的Nandflash控制器 | |
US8589620B2 (en) | Data writing method, memory controller, and memory storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 Termination date: 20180817 |