CN115904256A - 一种数据存储方法及存储器 - Google Patents
一种数据存储方法及存储器 Download PDFInfo
- Publication number
- CN115904256A CN115904256A CN202310135151.7A CN202310135151A CN115904256A CN 115904256 A CN115904256 A CN 115904256A CN 202310135151 A CN202310135151 A CN 202310135151A CN 115904256 A CN115904256 A CN 115904256A
- Authority
- CN
- China
- Prior art keywords
- data storage
- data
- operation time
- maximum allowable
- storage area
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据存储方法及存储器,属于数据存储领域,本发明根据划分不同的数据存储区域,将特定类型的数据分别存储在不同的存储区域中,而不是固定存储在某个位置上,数据管理清晰;其次,并引入了CRC检验及存储后再校验机制,对存储数据及存储结果均进行了校验,保证了数据存储的准确性;再次,本发明中引入更合理且具有更高可靠性的磨损均衡理念,进一步提高了数据存储的可靠性及存储器件的使用寿命。
Description
技术领域
本发明涉及一种数据存储方法及存储器,属于数据存储领域。
背景技术
闪存是目前比较流行的只读存储器,可以反复擦写,但是闪存内的区块有抹写次数限制,对于同一区块进行重复的抹除和写入,会造成区块读取速度变慢,甚至损坏。
磨损均衡,指的是尽量平均使用闪存内的每个存储区块,避免部分区块,过度使用变成坏区块,而部分区块使用过低,其目的最终还是要延长内存的高效使用的时间。
Flash是一种常见闪存存储器,现有技术都是围绕如何更加平均的擦除FLASH存储器的每个page和Block这种思想来进行设计,这些算法是基于FLASH存储器的每个page和Block耐磨度完全一致的“假设”基础之上,但事实上,FLASH存储器的每个page和Block的耐磨状态是不同的,当对一个FLASH存储器上的所有Block进行平均擦除时,必然会有一些Block先成为Bad Block,而另一些Block则会有更长时间的耐磨度。这是由晶圆设计工艺所决定的,在目前的工艺条件下,尚无法确保每个Block完全一致,甚至在生产过程中一定会有晶圆存在一些错误,不可控制的是这些错误是随机分布的。如果每个Block的耐磨度本来就是不均衡的,人为通过算法保持每个Block擦除一致的结果,不是延长了FLASH存储器的整体寿命,恰恰是损害了FLASH存储器的最佳使用寿命。
发明内容
本发明的目的是提供一种数据存储方法及存储器,为解决存储器过度使用部分区块,而另一部分区块使用过低,造成同一区域读取速度变慢甚至损坏的问题。
为实现上述目的,本发明所提供的技术方案包括:
本发明的数据存储方法,包括以下步骤:
1)若有数据需要存储时,查询数据存储位置;
2)对数据存储位置对应的数据存储区进行判断:
若该数据存储区不需要擦扇区操作,则直接进行数据存储;
若该数据存储区需要进行擦扇区操作,则统计本次扇区擦除操作时间:若本次扇区擦除操作时间小于或等于最大允许操作时间,则将该数据存储区进行擦除后进行数据存储;若本次扇区擦除操作时间大于最大允许操作时间,给需存储的数据分配新的存储位置,并针对新的存储位置对应的数据存储区重新按照步骤2)的方式进行判断,直至找到不需要进行擦扇区操作或扇区擦除操作时间小于或等于最大允许操作时间的扇区,以完成数据存储;若所有扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间后重新按照步骤2)的方式进行判断存储。
有益效果为:本发明的数据存储方法,引入了更合理且具有更高可靠性的磨损均衡理念,对数据存储区设置了最大允许操作时间,在本次扇区擦除操作时间大于最大允许操作时间的情况下,不再将数据存储在该数据存储区,而是给这些需存储的数据重新分配新的存储空间,并在新的存储空间满足要求的情况下才进行存储,从而解决了过度使用部分存储区块的问题,进一步提高了数据存储的可靠性及存储器件的使用寿命。
进一步地,给需存储的数据分配新的存储位置时,需将数据存储区的位置信息修改为新分配的数据存储区的位置信息。
有益效果为:本发明将数据分别存储至不同的存储区域中,而不是固定存储在某个位置,使数据管理更加清晰。
进一步地,若所有数据存储区的扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间。
有益效果为:若全部数据存储区块擦除操作时间均大于最大允许时间,更新最大允许操作时间,达到了磨损均衡的目的,进一步提高了数据存储的可靠性及存储器件的使用寿命。
进一步地,进行数据存储时,若数据存储失败,则再次进行存储,直至存储结果正常。
有益效果为:本发明引入了存储后再校验机制,保证了数据存储的准确性。
进一步地,进行数据存储前,需先对存储的数据进行校验,且校验成功的情况下才进行存储。
有益效果为:本发明在对数据存储前,对存储的数据进行校验,保证了数据存储的准确性。
进一步地,校验为CRC校验。
有益效果为:校验是CRC校验,确保存储的数据准确无误,提高了系统的可靠性。
本发明的存储器包括数据存储区和数据管理区;数据存储区为用于负责存储数据,数据管理区用于负责存储数据存储位置信息以及扇区擦除最大允许操作时间;存储器的数据存储步骤为:
1)在数据管理区中查询数据存储位置,对应的数据存储区不需要擦扇区,直接进行存储数据;
2)若该数据存储位置对应的数据存储区需要进行擦扇区操作,则统计扇区擦除操作时间,若小于或等于最大允许操作时间,则进行擦扇区并存储数据;若大于最大允许操作时间,重新给存储的数据分配存储位置,重新执行步骤1),直至找到不需要擦扇区或擦除操作时间小于等于最大允许操作时间的扇区,对数据进行存储。
有益效果为:划分不同的数据存储区域,将特定类型的数据分别存储在不同的存储区域中,而不是固定存储在某个位置上,数据管理清晰;对数据存储区设置了最大允许操作时间,若大于最大允许操作时间,重新给存储数据分配存储位置,该步骤实现了更合理且具有更高可靠性的磨损均衡理念,解决了过度使用部分存储区块,进一步提高了数据存储的可靠性及存储器件的使用寿命。
进一步地,给需存储的数据分配新的存储位置时,需将数据存储区的位置信息修改为新分配的数据存储区的位置信息。
有益效果为:本发明将数据分别存储至不同的存储区域中,而不是固定存储在某个位置,使数据管理更加清晰。
进一步地,若所有数据存储区的扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间。
有益效果为:若全部数据存储区块擦除操作时间均大于最大允许时间,更新最大允许操作时间,达到了磨损均衡的目的,进一步提高了数据存储的可靠性及存储器件的使用寿命。
进一步地,本发明的存储器为flash存储器。
有益效果为:本发明基于flash存储器,将将存储器划分为数据管理区、数据存储区两个部分,划分不同的数据存储区域,将特定类型的数据分别存储在不同的存储区域中,而不是固定存储在某个位置上,数据管理清晰。
附图说明
图1是本发明的数据存储方法流程图。
具体实施方式
下面结合附图对本发明做进一步详细的说明。
一种数据存储方法的实施例:
本实施例的一种数据存储方法,针对的是电能表数据,是一种保证在Flash存储器中实现高可靠性数据存储的方法,整体流程如图1所示。
进行区域划分:将电能表存储器件划分为数据管理区、数据存储区两个部分。数据管理区负责存储数据在存储器中存储位置信息以及Flash存储器中page和Block的最大允许操作时间,仅当数据存储区域所处page或Block多操作时间大于最大允许操作时间时会更改存储位置信息;数据存储区为数据存储区域,负责存储数据。数据存储前均需对存储数据进行CRC校验且对存储结果进行判断,如存储失败则再次进行存储;另外,每次对Flash存储器操作后统计操作时间,如该次操作时间大于最大允许操作时间,则在数据存储区中重新选择存储区域进行存储,并更新数据管理区中数据在存储器中存储位置信息;如flash存储器中page和Block的所有操作时间均大于最大允许操作时间,则修改最大允许操作时间,同时更新数据管理区中Flash存储器中page和Block的最大允许操作时间。
定义最大允许操作时间:不同的操作时间反应了Flash存储器中每个Block的原始状态不同,操作时间短的Block健康状态理论上好于操作时间长的Block,最大允许操作时间初始定义为第一个page或Block的操作时间,随后每次均会统计存储器中每个page或Block的操作时间,并与最大允许操作时间进行比对,如所有page或Block的操作时间均大于最大允许操作时间,则更新最大允许操作时间。
数据存储信息查找及CRC校验:电能表数据存储位置信息储存在数据管理区,即通过内部数据定义顺序查找到在数据管理区的数据指针,然后根据查找到的位置指针获取到数据在数据存储区的实际存储位置;数据存储前,先对存储数据自身进行CRC校验,保证数据存储的准确性。
具体数据存储方法的过程:
1)若有数据需要存储时,查询在数据管理区的数据存储位置;
2)对数据存储位置对应的数据存储区进行判断:
若该数据存储区不需要擦扇区操作,则直接进行数据存储;
若该数据存储区需要进行擦扇区操作,则统计本次Flash存储器中page和Block的最大允许操作时间;若本次Flash存储器中page和Block的操作时间小于或等于最大允许操作时间,则将该数据存储区进行擦除后进行数据存储;若本次Flash存储器中page和Block的操作时间大于最大允许操作时间,给需存储的数据分配新的存储位置,并针对新的存储位置对应的数据存储区重新按照步骤2)的方式进行判断,直至找到不需要进行擦扇区操作或扇区擦除操作时间小于或等于最大允许操作时间的扇区,以完成数据存储。
其中,数据存储前均需对存储数据进行CRC校验,校验通过才进行存储;而且,还需对存储结果,若存储失败则返回异常,并再次进行存储,直至存储结果正常即可。
另外,若flash存储器中page和Block的所有操作时间均大于最大允许操作时间,则修改最大允许操作时间,同时更新数据管理区中Flash存储器中page和Block的最大允许操作时间。
本发明的数据存储方法还可针对其他类型数据,也按照数据存储方法实施例步骤进行数据存储。
本发明的优点在于:
划分不同的数据存储区域,将特定类型的数据(特定类型数据指的是一般数据和重要数据,一般数据只有CRC校验但无数据备份,重要数据都是带CRC检验且带数据备份的。一般数据和重要数据的存储区域也不相同,会根据存储器的大小和使用特性进行分配。)分别存储在不同的存储区域中,而不是固定存储在某个位置上,数据管理清晰;本发明引入CRC检验及存储后再校验机制,对存储数据及存储结果均进行了校验,保证了数据存储的准确性;本发明中引入更合理且具有更高可靠性的磨损均衡理念,进一步提高了数据存储的可靠性及存储器件的使用寿命。
一种存储器的实施例:
本发明采用的存储器是基于flash存储器,将存储器划分为数据管理区、数据存储区两个部分。数据管理区负责存储数据在存储器中存储位置信息以及Flash存储器中page和Block的最大允许操作时间,仅当数据存储区域所处page或Block多操作时间大于最大允许操作时间时会更改存储位置信息;数据存储区为数据存储区域,负责存储数据。
具体存储器的存储过程已在数据存储方法的实施例中说明,这里不再赘述。
以上给出了本发明涉及的具体实施方式,但本发明不局限于所描述的实施方式。凡依据本发明的思想,对本发明进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括以下步骤:
1)若有数据需要存储时,查询数据存储位置;
2)对数据存储位置对应的数据存储区进行判断:
若该数据存储区不需要擦扇区操作,则直接进行数据存储;
若该数据存储区需要进行擦扇区操作,则统计本次扇区擦除操作时间:若本次扇区擦除操作时间小于或等于最大允许操作时间,则将该数据存储区进行擦除后进行数据存储;若本次扇区擦除操作时间大于最大允许操作时间,则给需存储的数据分配新的存储位置,并针对新的存储位置对应的数据存储区重新按照步骤2)的方式进行判断,直至找到不需要进行擦扇区操作或扇区擦除操作时间小于或等于最大允许操作时间的扇区,以完成数据存储;若所有扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间后重新按照步骤2)的方式进行判断存储。
2.根据权利要求1所述的数据存储方法,其特征在于,给需存储的数据分配新的存储位置时,需将数据存储区的位置信息修改为新分配的数据存储区的位置信息。
3.根据权利要求1所述的数据存储方法,其特征在于,若所有数据存储区的扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间。
4.根据权利要求1所述的数据存储方法,其特征在于,进行数据存储时,若数据存储失败,则再次进行存储,直至存储结果正常。
5.根据权利要求1所述的数据存储方法,其特征在于,进行数据存储前,需先对存储的数据进行校验,且校验成功的情况下才进行存储。
6.根据权利要求5所述的数据存储方法,其特征在于,所述校验为CRC校验。
7.一种存储器,其特征在于,包括数据存储区和数据管理区;数据管理区用于负责存储数据存储位置信息以及扇区擦除最大允许操作时间;存储器用于负责存储数据,且采用如下方法进行数据存储:
1)若有数据需要存储时,查询数据存储位置;
2)对数据存储位置对应的数据存储区进行判断:
若该数据存储区不需要擦扇区操作,则直接进行数据存储;
若该数据存储区需要进行擦扇区操作,则统计本次扇区擦除操作时间:若本次扇区擦除操作时间小于或等于最大允许操作时间,则将该数据存储区进行擦除后进行数据存储;若本次扇区擦除操作时间大于最大允许操作时间,给需存储的数据分配新的存储位置,并针对新的存储位置对应的数据存储区重新按照步骤2)的方式进行判断,直至找到不需要进行擦扇区操作或扇区擦除操作时间小于或等于最大允许操作时间的扇区,以完成数据存储;若所有扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间后重新按照步骤2)的方式进行判断存储。
8.根据权利要求7所述的存储器,其特征在于,给需存储的数据分配新的存储位置时,需将数据存储区的位置信息修改为新分配的数据存储区的位置信息。
9.根据权利要求7所述的存储器,其特征在于,若所有数据存储区的扇区擦除操作时间均大于最大允许操作时间,则更新最大允许操作时间。
10.根据权利要求7-9任一项所述的存储器,其特征在于,所述存储器为flash存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135151.7A CN115904256B (zh) | 2023-02-20 | 2023-02-20 | 一种数据存储方法及存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135151.7A CN115904256B (zh) | 2023-02-20 | 2023-02-20 | 一种数据存储方法及存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904256A true CN115904256A (zh) | 2023-04-04 |
CN115904256B CN115904256B (zh) | 2023-06-13 |
Family
ID=86472958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310135151.7A Active CN115904256B (zh) | 2023-02-20 | 2023-02-20 | 一种数据存储方法及存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904256B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
US20170060447A1 (en) * | 2015-08-24 | 2017-03-02 | Samsung Electronics Co., Ltd. | Method for operating storage device determining wordlines for writing user data depending on reuse period |
CN108108129A (zh) * | 2017-12-19 | 2018-06-01 | 深圳忆联信息系统有限公司 | 一种动态量化固态硬盘数据可靠性的方法及固态硬盘 |
CN112684987A (zh) * | 2021-01-07 | 2021-04-20 | 南方电网数字电网研究院有限公司 | 基于双芯智能电表的数据分类存储方法和装置 |
CN113204316A (zh) * | 2021-05-19 | 2021-08-03 | 中国人民解放军93216部队 | 一种使用flash进行高效数据存储的方法 |
US20210255803A1 (en) * | 2020-02-14 | 2021-08-19 | Kioxia Corporation | Memory system and method of controlling nonvolatile memory |
CN114385092A (zh) * | 2022-03-24 | 2022-04-22 | 中国科学院微电子研究所 | 固态硬盘闪存阵列的擦除方法、固态硬盘主控芯片 |
CN114647534A (zh) * | 2022-05-24 | 2022-06-21 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于数字化控制设备的数据存储方法及装置 |
-
2023
- 2023-02-20 CN CN202310135151.7A patent/CN115904256B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
US20170060447A1 (en) * | 2015-08-24 | 2017-03-02 | Samsung Electronics Co., Ltd. | Method for operating storage device determining wordlines for writing user data depending on reuse period |
CN108108129A (zh) * | 2017-12-19 | 2018-06-01 | 深圳忆联信息系统有限公司 | 一种动态量化固态硬盘数据可靠性的方法及固态硬盘 |
US20210255803A1 (en) * | 2020-02-14 | 2021-08-19 | Kioxia Corporation | Memory system and method of controlling nonvolatile memory |
CN112684987A (zh) * | 2021-01-07 | 2021-04-20 | 南方电网数字电网研究院有限公司 | 基于双芯智能电表的数据分类存储方法和装置 |
CN113204316A (zh) * | 2021-05-19 | 2021-08-03 | 中国人民解放军93216部队 | 一种使用flash进行高效数据存储的方法 |
CN114385092A (zh) * | 2022-03-24 | 2022-04-22 | 中国科学院微电子研究所 | 固态硬盘闪存阵列的擦除方法、固态硬盘主控芯片 |
CN114647534A (zh) * | 2022-05-24 | 2022-06-21 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于数字化控制设备的数据存储方法及装置 |
Non-Patent Citations (1)
Title |
---|
李平: "基于大容量通用闪存存储的垃圾回收算法研究", 《CNKI》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115904256B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936391B2 (en) | Memory management method and storage controller | |
US8412879B2 (en) | Hybrid implementation for error correction codes within a non-volatile memory system | |
US8369145B2 (en) | Apparatus and method for detecting over-programming condition in multistate memory device | |
US8259498B2 (en) | Continuous address space in non-volatile-memories (NVM) using efficient management methods for array deficiencies | |
US5844910A (en) | Flash-erase-type nonvolatile semiconductor storage device | |
TWI389122B (zh) | 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器 | |
US10884665B2 (en) | Data reading method, storage controller and storage device for optimizing read voltages | |
CN111192620B (zh) | 一种SSD中优化NAND Flash读参考电压的方法 | |
US20100146239A1 (en) | Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies | |
CN115292266B (zh) | 一种基于存储器的高可靠日志存储方法 | |
CN110489052B (zh) | 数据储存装置 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN102237139B (zh) | 计算补偿电压与调整阀值电压方法及存储器装置与控制器 | |
CN111813591A (zh) | Nand Flash的数据纠错方法、装置、电子设备及存储介质 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN115904256B (zh) | 一种数据存储方法及存储器 | |
CN116185563A (zh) | 一种基于车规级微控制器数据闪存的软件模拟算法 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
KR100692982B1 (ko) | 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리 | |
CN115470052A (zh) | 存储芯片的坏块检测方法、检测装置及存储介质 | |
CN110364197B (zh) | 解码方法以及存储控制器 | |
CN110289036B (zh) | 读取电压最佳化方法以及存储控制器 | |
CN113467724A (zh) | 一种crc校验码存储方法、装置、设备及介质 | |
CN111767165A (zh) | 数据处理方法、装置及控制设备 | |
CN115312100B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |