CN109558080B - 一种电力采集设备的NandFlash数据管理方法 - Google Patents
一种电力采集设备的NandFlash数据管理方法 Download PDFInfo
- Publication number
- CN109558080B CN109558080B CN201811382073.6A CN201811382073A CN109558080B CN 109558080 B CN109558080 B CN 109558080B CN 201811382073 A CN201811382073 A CN 201811382073A CN 109558080 B CN109558080 B CN 109558080B
- Authority
- CN
- China
- Prior art keywords
- data
- minimum
- unit
- nandflash
- management method
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种电力采集设备的NandFlash数据管理方法,通过在电力采集设备内NandFlash物理区查找并选取具有最小字节的擦除单元块进行管理,选取具有最小字节的擦除单元作为最小擦除单元块,在将该最小擦除单元块分成N个最小单元后,获得第一个可写入单元,并将数据缓存区内的数据保存到该第一个可写入单元,一旦该第一个可写入单元的编号为N时,则擦除最小擦除单元块内的各最小写入单元内的数据,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理,从而腾出更多的存储空间,避免先前的数据占用最小擦除单元块的空间,由此不仅可以避免频繁地存储数据到NandFlash内,又可以提高NandFlash空间利用率。
Description
技术领域
本发明涉及电力采集设备领域,尤其涉及一种电力采集设备的NandFlash数据管理方法。
背景技术
随着电力采集设备应用的日益广泛性、现场应用的复杂性以及庞大的数据量频繁储存需要,Flash寿命问题成为影响产品寿命周期的关键指标。
电力采集设备在运行过程中,需要按照秒级的高频率周期保存一些数据。然而,由于现有的电力采集设备一般用NandFlash作为主存,一旦NandFlash过于频繁地存储数据将会带来严重的缩短NandFlash使用寿命。另外,由于现有电力采集设备的硬件在KB级的小内存环境下,将无法使用通常缓存大量数据用的负载均衡技术;即便电力采集设备针对保存的数据使用NFTL技术做磨损均衡,依然无法满足延长电力采集设备内NandFlash的寿命周期的目的。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种电力采集设备的NandFlash数据管理方法。
本发明解决上述技术问题所采用的技术方案为:一种电力采集设备的NandFlash数据管理方法,其特征在于,包括如下步骤:
步骤1,在电力采集设备的NandFlash物理区查找并选取具有最小字节的擦除单元块,标记所述具有最小字节的擦除单元块作为最小擦除单元块;
步骤2,将所述最小擦除单元块分为N个最小写入单元;其中,N≥1;
步骤3,在NandFlash物理区内建立第一预设字节的数据缓存区;其中,所述数据缓存区由魔术字、写入次数、数据长度、有效数据区和ECC校验码组成;
步骤4,所述电力采集设备在上电且程序初始化后,做挂载操作;其中,通过ECC纠错算法读取所述每个最小写入单元内的数据,且读取的任一数据为全0xFF时,则认为该任一数据所属的最小写入单元为第一个可写入单元;否则,将最小擦除单元块内的各最小写入单元内的数据擦除,并将编号最靠前的一个最小写入单元作为第一个可写入单元;
步骤5,将需要做周期保存的数据复制到NandFlash物理区内的所述数据缓存区中的有效数据区;
步骤6,计算写入到步骤5中所述有效数据区中的数据长度、统计该数据缓存区被写入数据的总写入次数以及生成所述数据缓存区的第二预设字节的ECC校验码;
步骤7,按照预设写入时间间隔将所述数据缓存区内的数据写入到所述第一个可写入单元内;
步骤8,当该第一个可写入单元的编号为N时,则将所述最小擦除单元块内的各最小写入单元内的数据擦除,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据;否则,直接将缓存数据写入到该第一个可写入单元,同时计算下一个可写入单元的编号;
步骤9,当需要获取最新的存储数据时,则将所述数据缓存区内的有效数据区中的数据读取出来;否则,转入步骤7。
改进地,在电力采集设备的NandFlash数据管理方法中,所述电力采集设备在检测到发生掉电时,该电力采集设备内的备用电池启动供电,并由所述电力采集设备将所述数据缓存区内的最新数据写入到对应的最小写入单元中。
再进一步地,所述电力采集设备在检测到备用电池电量不足且发送断开该备用电池继续供电的命令之前,该电力采集设备执行对所述NandFlash物理区内各数据的存储工作。
进一步地,在电力采集设备的NandFlash数据管理方法中,所述预设写入时间间隔为30s。
进一步地,在电力采集设备的NandFlash数据管理方法中,所述最小擦除单元块为128K。
进一步地,在电力采集设备的NandFlash数据管理方法中,所述最小擦除单元块内的每个写入单元为512字节。
进一步地,在电力采集设备的NandFlash数据管理方法中,步骤3中的所述第一预设字节为512字节。
进一步地,在电力采集设备的NandFlash数据管理方法中,步骤6中的所述第二预设字节为512字节。
改进地,在电力采集设备的NandFlash数据管理方法中,当所使用的最小擦除单元块发生损坏时,则使用所述NandFlash物理区内的下一个擦除单元块,并由该电力采集设备将所述数据缓存区内的最新数据写入到对应的该下一个擦除单元块内的最小写入单元中。
进一步地,在电力采集设备的NandFlash数据管理方法中,所述步骤4中的ECC纠错采用1bit纠错。
与现有技术相比,本发明的优点在于:本发明通过在电力采集设备内NandFlash物理区查找并选取具有最小字节的擦除单元块,且将该具有最小字节的擦除单元作为最小擦除单元块,在将该最小擦除单元块分成N个最小写入单元后,获得第一个可写入单元,并将数据缓存区内的数据保存到该第一个可写入单元,一旦该第一个可写入单元的编号为N时,则擦除最小擦除单元块内的各最小写入单元内的数据,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理,从而在NandFlash内腾出更多的存储空间,避免先前的数据占用最小擦除单元块的空间,由此不仅可以避免频繁地存储数据到NandFlash内,而且还可以提高NandFlash区的空间利用率。
附图说明
图1为本发明实施例中电力采集设备的NandFlash数据管理方法流程示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1所示,本实施例中电力采集设备的NandFlash数据管理方法,包括如下步骤:
步骤1,在电力采集设备的NandFlash物理区查找并选取具有最小字节的擦除单元块,标记该具有最小字节的擦除单元块作为最小擦除单元块;
步骤2,将该最小擦除单元块分为N个最小写入单元;其中,N≥1;本实施例中的该最小擦除单元块为128K,最小擦除单元块内的每个写入单元为512字节;每个最小写入单元都按照顺序进行编号,例如1号最小写入单元、2号最小写入单元、…、N号最小写入单元;
步骤3,在NandFlash物理区内建立第一预设字节的数据缓存区;其中,数据缓存区由魔术字、写入次数、数据长度、有效数据区和ECC校验码组成;此处的第一预设字节为512字节;
步骤4,电力采集设备在上电且程序初始化后,做挂载操作;其中,通过ECC纠错算法读取每个最小写入单元内的数据,且一旦读取的任一数据为全0xFF时,则认为该任一数据所属的最小写入单元为第一个可写入单元;否则,将最小擦除单元块内的各最小写入单元内的数据擦除,并将编号最靠前的一个最小写入单元作为第一个可写入单元; 在该实施例中,这里的ECC纠错采用1bit纠错;
步骤5,将需要做周期保存的数据复制到NandFlash物理区内的数据缓存区中的有效数据区;
步骤6,计算写入到步骤5中有效数据区中的数据长度、统计该数据缓存区被写入数据的总写入次数以及生成该数据缓存区的第二预设字节的ECC校验码;其中,本实施例中的第二预设字节为512字节。
步骤7,按照预设写入时间间隔将数据缓存区内的数据写入到上述的第一个可写入单元内;例如,这里的预设写入时间间隔为30s,即以30s的写入时间间隔将数据缓存区内的数据写入到第一个可写入单元内;
步骤8,当所述该第一个可写入单元的编号为N时,则将最小擦除单元块内的各最小写入单元内的数据擦除,从而腾出数据存储空间,并从该最小擦除单元块内的编号为1的最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理;当该第一个可写入单元的编号不是N时,直接将缓存数据写入到该第一个可写入单元,同时计算下一个可写入单元的编号;
其中,针对此处所说的下一个可写入单元的编号处理说明如下,假设被作为第一个可写入单元的最小写入单元的编号为T号,最小擦除单元块被分为5个最小写入单元,即N=5;例如T号(T<5)最小写入单元被写入数据,下次(或称下一个)可写入单位的编号为T+1;
一旦T号(T=5)最小写入单元被写入数据,则下次(或称下一个)可写入的最小写入单元编号为1,因为此时的编号数值超过了最小擦除单元块内的最小写入单元的最大编号,那么就将该最小擦除单元块内1号最小写入单元至5号最小写入单元内的数据全部擦除掉,重新开始写入;
步骤9,当需要获取最新的存储数据时,则将数据缓存区内的有效数据区中的数据读取出来;否则,转入步骤7。
作为改进,在本实施例的NandFlash数据管理方法中,一旦电力采集设备在检测到发生掉电时,该电力采集设备内的备用电池启动供电,并由该电力采集设备将数据缓存区内的最新数据写入到对应的最小写入单元中。
当然,由于备用电池的电量主要用于应急时给电力采集设备供电,所以,为了在备用电池电量不足时及时地保存数据,本实施例还采取了电力采集设备在检测到备用电池电量不足且发送断开该备用电池继续供电的命令之前,该电力采集设备执行对述NandFlash物理区内各数据的存储工作的应急保存措施。
需要说明的是,通过在电力采集设备内NandFlash物理区查找并选取具有最小字节的擦除单元块,且将该具有最小字节的擦除单元作为最小擦除单元块,在将该最小擦除单元块分成N个最小写入单元后,获得第一个可写入单元,并将数据缓存区内的数据保存到该第一个可写入单元,一旦该第一个可写入单元的编号为N时,则擦除最小擦除单元块内的各最小写入单元内的数据,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理,从而在NandFlash内腾出更多的存储空间,避免先前的数据占用最小擦除单元块的空间,由此不仅可以避免频繁地存储数据到NandFlash内,而且还可以提高NandFlash区的空间利用率。
当然,在本实施例的电力采集设备的NandFlash数据管理方法中,电力采集设备具有坏块管理机制,即当所使用的最小擦除单元块发生损坏时,则使用NandFlash物理区内的下一个擦除单元块,并由该电力采集设备将所述数据缓存区内的最新数据写入到对应的该下一个擦除单元块内的最小写入单元中。
Claims (10)
1.一种电力采集设备的NandFlash数据管理方法,其特征在于,包括如下步骤:
步骤1,在电力采集设备的NandFlash物理区查找并选取具有最小字节的擦除单元块,标记该具有最小字节的擦除单元块作为最小擦除单元块;
步骤2,将所述最小擦除单元块分为N个最小写入单元;其中,N≥1;
步骤3,在NandFlash物理区内建立第一预设字节的数据缓存区;其中,所述数据缓存区由魔术字、写入次数、数据长度、有效数据区和ECC校验码组成;
步骤4,所述电力采集设备在上电且程序初始化后,做挂载操作;其中,通过ECC纠错算法读取每个最小写入单元内的数据,且读取的任一数据为全0xFF时,则认为该任一数据所属的最小写入单元为第一个可写入单元;否则,将最小擦除单元块内的各最小写入单元内的数据擦除,并将编号最靠前的一个最小写入单元作为第一个可写入单元;
步骤5,将需要做周期保存的数据复制到NandFlash物理区内的所述数据缓存区中的有效数据区;
步骤6,计算写入到步骤5中所述有效数据区中的数据长度、统计数据缓存区被写入数据的总写入次数以及生成所述数据缓存区的第二预设字节的ECC校验码;
步骤7,按照预设写入时间间隔将数据缓存区内的数据写入到所述第一个可写入单元内;
步骤8,当该第一个可写入单元的编号为N时,则将最小擦除单元块内的各最小写入单元内的数据擦除,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据;否则,直接将缓存数据写入到该第一个可写入单元,同时计算下一个可写入单元的编号;
步骤9,当需要获取最新的存储数据时,则将数据缓存区内的有效数据区中的数据读取出来;否则,转入步骤7。
2.根据权利要求1所述NandFlash数据管理方法,其特征在于,所述电力采集设备在检测到发生掉电时,该电力采集设备内的备用电池启动供电,并由电力采集设备将数据缓存区内的最新数据写入到对应的最小写入单元中。
3.根据权利要求1所述NandFlash数据管理方法,其特征在于,所述预设写入时间间隔为30s。
4.根据权利要求1所述NandFlash数据管理方法,其特征在于,所述最小擦除单元块为128K。
5.根据权利要求4所述NandFlash数据管理方法,其特征在于,所述最小擦除单元块内的每个写入单元为512字节。
6.根据权利要求5所述NandFlash数据管理方法,其特征在于,步骤3中的所述第一预设字节为512字节。
7.根据权利要求1所述NandFlash数据管理方法,其特征在于,步骤6中的所述第二预设字节为512字节。
8.根据权利要求1所述NandFlash数据管理方法,其特征在于,当所使用的最小擦除单元块发生损坏时,则使用所述NandFlash物理区内的下一个擦除单元块,并由该电力采集设备将所述数据缓存区内的最新数据写入到对应的该下一个擦除单元块内的最小写入单元中。
9.根据权利要求8所述NandFlash数据管理方法,其特征在于,所述步骤4中的ECC纠错采用1bit纠错。
10.根据权利要求2所述NandFlash数据管理方法,其特征在于,所述电力采集设备在检测到备用电池电量不足且发送断开该备用电池继续供电的命令之前,该电力采集设备执行对所述NandFlash物理区内各数据的存储工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811382073.6A CN109558080B (zh) | 2018-11-20 | 2018-11-20 | 一种电力采集设备的NandFlash数据管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811382073.6A CN109558080B (zh) | 2018-11-20 | 2018-11-20 | 一种电力采集设备的NandFlash数据管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558080A CN109558080A (zh) | 2019-04-02 |
CN109558080B true CN109558080B (zh) | 2022-04-22 |
Family
ID=65866601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811382073.6A Active CN109558080B (zh) | 2018-11-20 | 2018-11-20 | 一种电力采集设备的NandFlash数据管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558080B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110736873B (zh) * | 2019-10-29 | 2022-02-25 | 宁波三星医疗电气股份有限公司 | 一种时钟修复方法、电力终端以及电力系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858703A (zh) * | 2005-10-13 | 2006-11-08 | 华为技术有限公司 | 设备启动方法 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN104063186A (zh) * | 2014-06-30 | 2014-09-24 | 成都万维图新信息技术有限公司 | 一种电子设备的数据访问方法 |
CN106354662A (zh) * | 2015-07-17 | 2017-01-25 | 陕西千山航空电子有限责任公司 | 一种nand flash数据存储方法 |
CN107608906A (zh) * | 2017-09-26 | 2018-01-19 | 北京智芯微电子科技有限公司 | 减少片内flash擦除次数的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9383926B2 (en) * | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
-
2018
- 2018-11-20 CN CN201811382073.6A patent/CN109558080B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858703A (zh) * | 2005-10-13 | 2006-11-08 | 华为技术有限公司 | 设备启动方法 |
CN103838526A (zh) * | 2014-03-31 | 2014-06-04 | 广州华欣电子科技有限公司 | 一种存储芯片数据写入方法及装置 |
CN104063186A (zh) * | 2014-06-30 | 2014-09-24 | 成都万维图新信息技术有限公司 | 一种电子设备的数据访问方法 |
CN106354662A (zh) * | 2015-07-17 | 2017-01-25 | 陕西千山航空电子有限责任公司 | 一种nand flash数据存储方法 |
CN107608906A (zh) * | 2017-09-26 | 2018-01-19 | 北京智芯微电子科技有限公司 | 减少片内flash擦除次数的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109558080A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318181B2 (en) | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory | |
CN107168647B (zh) | Flash数据读写方法及系统 | |
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
US7937521B2 (en) | Read disturbance management in a non-volatile memory system | |
US8285940B2 (en) | Method and apparatus for high speed cache flushing in a non-volatile memory | |
US9542309B2 (en) | Relocating data based on matching address sequences | |
US7904619B2 (en) | System, method, and computer program product for reducing memory write operations using difference information | |
US7934130B2 (en) | System and method for managing non-volatile memory based on health | |
CN102508785B (zh) | 一种磨损均衡方法及装置 | |
US8174912B2 (en) | Systems and methods for circular buffering control in a memory device | |
CN109669889B (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
CN109558080B (zh) | 一种电力采集设备的NandFlash数据管理方法 | |
CN114089915B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
CN111459405A (zh) | 磁盘性能优化方法、装置、设备及计算机可读存储介质 | |
TW201321978A (zh) | 電子系統及其記憶體管理方法 | |
CN116414727B (zh) | 闪存设备的空间管理方法、存储控制芯片及闪存设备 | |
CN112527207A (zh) | 一种eeprom中数据存储方法及装置 | |
WO2016141817A1 (zh) | 数据备份装置及方法 | |
US20130067286A1 (en) | Caching system with removable memory card | |
CN115469797B (zh) | 一种数据写入方法、存储装置及计算机可读存储介质 | |
CN113434438B (zh) | 一种提高智能卡flash写入寿命的方法 | |
CN111258498B (zh) | 一种flash存储器管理方法 | |
CN109582230B (zh) | 一种基于矩阵式索引的数据存取方法及存取系统 | |
CN113918094A (zh) | 一种ssd写带宽控制方法 | |
CN116467224B (zh) | L2p映射表重建方法及固态硬盘 |
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 |