一种电力采集设备的NandFlash数据管理方法技术

技术编号:20763339 阅读:25 留言:0更新日期:2019-04-03 14:08
本发明专利技术涉及一种电力采集设备的NandFlash数据管理方法,通过在电力采集设备内NandFlash物理区查找并选取具有最小字节的擦除单元块进行管理,选取具有最小字节的擦除单元作为最小擦除单元块,在将该最小擦除单元块分成N个最小单元后,获得第一个可写入单元,并将数据缓存区内的数据保存到该第一个可写入单元,一旦该第一个可写入单元的偏移为N‑1时,则擦除最小擦除单元块内的各最小写入单元内的数据,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理,从而腾出更多的存储空间,避免先前的数据占用最小擦除单元块的空间,由此不仅可以避免频繁地存储数据到NandFlash内,又可以提高NandFlash空间利用率。

【技术实现步骤摘要】
一种电力采集设备的NandFlash数据管理方法
本专利技术涉及电力采集设备领域,尤其涉及一种电力采集设备的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-1时,则擦除最小擦除单元块内的各最小写入单元内的数据,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据,达到对各最小写入单元的绕尾处理,从而在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时,直接将缓存数据写入到该第一个可写入本文档来自技高网...

【技术保护点】
1.一种电力采集设备的NandFlash数据管理方法,其特征在于,包括如下步骤:步骤1,在电力采集设备的NandFlash物理区查找并选取具有最小字节的擦除单元块,标记该具有最小字节的擦除单元块作为最小擦除单元块;步骤2,将所述最小擦除单元块分为N个最小写入单元;其中,N≥1;步骤3,在NandFlash物理区内建立第一预设字节的数据缓存区;其中,所述数据缓存区由魔术字、写入次数、数据长度、有效数据区和ECC校验码组成;步骤4,所述电力采集设备在上电且程序初始化后,做挂载操作;其中,通过ECC纠错算法读取每个最小写入单元内的数据,且读取的任一数据为全0xFF时,则认为该任一数据所属的最小写入单元为第一个可写入单元;否则,将最小擦除单元块内的各最小写入单元内的数据擦除,并将编号最靠前的一个最小写入单元作为第一个可写入单元;步骤5,将需要做周期保存的数据复制到NandFlash物理区内的所述数据缓存区中的有效数据区;步骤6,计算写入到步骤5中所述有效数据区中的数据长度、统计数据缓存区被写入数据的总写入次数以及生成所述数据缓存区的前第二预设字节的ECC校验码;步骤7,按照预设写入时间间隔将数据缓存区内的数据写入到所述第一个可写入单元内;步骤8,当该第一个可写入单元的偏移为N时,则将最小擦除单元块内的各最小写入单元内的数据擦除,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据;否则,直接将缓存数据写入到该第一个可写入单元,同时计算下一个可写入单元的编号;步骤9,当需要获取最新的存储数据时,则将数据缓存区内的有效数据区中的数据读取出来;否则,转入步骤7。...

【技术特征摘要】
1.一种电力采集设备的NandFlash数据管理方法,其特征在于,包括如下步骤:步骤1,在电力采集设备的NandFlash物理区查找并选取具有最小字节的擦除单元块,标记该具有最小字节的擦除单元块作为最小擦除单元块;步骤2,将所述最小擦除单元块分为N个最小写入单元;其中,N≥1;步骤3,在NandFlash物理区内建立第一预设字节的数据缓存区;其中,所述数据缓存区由魔术字、写入次数、数据长度、有效数据区和ECC校验码组成;步骤4,所述电力采集设备在上电且程序初始化后,做挂载操作;其中,通过ECC纠错算法读取每个最小写入单元内的数据,且读取的任一数据为全0xFF时,则认为该任一数据所属的最小写入单元为第一个可写入单元;否则,将最小擦除单元块内的各最小写入单元内的数据擦除,并将编号最靠前的一个最小写入单元作为第一个可写入单元;步骤5,将需要做周期保存的数据复制到NandFlash物理区内的所述数据缓存区中的有效数据区;步骤6,计算写入到步骤5中所述有效数据区中的数据长度、统计数据缓存区被写入数据的总写入次数以及生成所述数据缓存区的前第二预设字节的ECC校验码;步骤7,按照预设写入时间间隔将数据缓存区内的数据写入到所述第一个可写入单元内;步骤8,当该第一个可写入单元的偏移为N时,则将最小擦除单元块内的各最小写入单元内的数据擦除,并从该最小擦除单元块内的第一个最小写入单元处重新开始写入缓存数据;否则,直接将缓存数据写入到该第一个可写入单元,同时计算下一个可写入单元的编号;步骤9,当需要获取最新的存储数据时,则将数据缓存区内的有效数...

【专利技术属性】
技术研发人员:俞建伟刘宁
申请(专利权)人:宁波三星医疗电气股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1