CN102339254A - 用于智能电能表的flash数据存储方法 - Google Patents
用于智能电能表的flash数据存储方法 Download PDFInfo
- Publication number
- CN102339254A CN102339254A CN2011101648910A CN201110164891A CN102339254A CN 102339254 A CN102339254 A CN 102339254A CN 2011101648910 A CN2011101648910 A CN 2011101648910A CN 201110164891 A CN201110164891 A CN 201110164891A CN 102339254 A CN102339254 A CN 102339254A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- reading
- storage unit
- storage
- 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
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
用于智能电能表的FLASH数据存储方法,包括以下步骤:计算待存储的电表记录或负荷曲线所需的存储空间N*m,m为最小存储单元;为待存储的电表记录或负荷曲线分配数据空间(N+1)*m;以先进先出的原则顺序写入数据;读取数据时,通过读取指针反向查找以读取数据。本发明具有操作合理,既不多占用单片机的宝贵内存,又能有效满足FLASH芯片擦除寿命的优点。
Description
技术领域
本发明涉及一种用于智能电能表的FLASH数据存储方法。
技术背景
长期以来,电表内存储负荷曲线等大容量的数据时,一直采用传统的AT45DB161、AT45DB321等AT45DB系列的FLASH存储芯片。该系列芯片内部有两块512字节的RAM区,单片机在对FLASH进行写入操作时,先把要操作的FLASH页内容整页读入FLASH内部的RAM中,单片机只在该RAM中修改几个字节,其后,数据一直保存在FLASH的RAM中,直到换页时,才把该页FLASH的内容整页擦除,把RAM内的数据写入对应的FLASH页。而不需要把该字节所在的FLASH页(512字节)全部读到单片机的RAM中,修改后再进行写入。出于成本考虑,一般电表用的单片机内部RAM空间都相当紧张,已没有足够的RAM空间提供进行FLASH整页的读写操作。AT45DB系列FLASH生产厂家单一,无法满足大批量供货,且价格相对与内部不含RAM的AT25DF系列FLASH高出整整一倍。AT25DF系列FLASH内部不含RAM,数据写入时可以逐字节写入,但数据擦除时为4KB字节一起擦除,显然,单片机更加没有足够的空间把4K内容全部读入单片机,修改后再度写入,况且,FLASH的擦除寿命只有10万次,如果为了修改几个字节就整页擦除,寿命肯定不够。
发明内容
为克服现有技术的上述缺点,本发明提供了一种操作合理,既不多占用单片机的宝贵内存,又能有效满足FLASH芯片擦除寿命的用于智能电能表的FLASH数据存储方法。
用于智能电能表的FLASH数据存储方法,包括以下步骤:
1)、计算待存储的电表记录或负荷曲线所需的存储空间N*m,m为最小存储单元;
2)、为待存储的电表记录或负荷曲线分配数据空间(N+1)*m;
3)、以先进先出的原则顺序写入数据:
(3.1)、存储指针指向当前存储单元,在初始状态下,第一个存储单元为当前存储单元;
(3.2)、存储指针指向下一个存储单元,该下一个存储单元成为当前存储单元;删除当前存储单元中的数据,将待存储数据写入当前存储单元、直到当前存储单元的空间用尽;
(3.3)、判断当前存储单元是否最后一个存储单元,若是,这将存储指针指向第一个存储单元,并删除该第一个存储单元的数据、将第一个存储单元作为缓存单元;
若否,则重复执行步骤(3.2);
4)、读取数据时,通过读取指针反向查找以读取数据:
(4.1)、以第N+1个存储单元作为当前读取单元;
(4.2)、读取指针指向当前读取单元;
(4.3)、判断当前读取单元是否需读取数据存在的单元:若是,则获取当前读取单元的数据;若否,则将前一个存储单元作为当前读取单元,重复执行步骤(4.2)-(4.3)。
进一步,步骤1)中,采用AT45DB系列方法分配待存储的电表记录或负荷曲线所需的存储空间。
本发明在进行电表的事件记录或负荷曲线的存储空间分配时,比所需要的有效空间多分配一页,作为缓存使用,例如,按AT45DB系列方法分配空间时,会分配32页,其每页都是有效数据页,而新的存储方法会多分配一页,作为缓存使用。要求数据写入时,都是按照先进先出的顺序存放,当存储指针指到下一页时,先把该页内容全部删除,不作保留,这样33页的内容就可能最多有一页是无效的,可以满足32页有效数据空间的要求。然后在这新的一页里顺序写入,直到写到下一页,先把下一页内容全部删除,以次类推。当第33页写完后指向第一页时,首先把第一页全部删除,作为预备存储区。读取数据时,以当前指针反向查找,保证32页内数据均为有效数据。这样写入数据时,只需要在当前指针指向的位置写入准备写入的数据即可,既不用每次写入数据时把有效数据页整页擦除,也不需要把要写入的该页内容全部读入单片机RAM保护起来,从而实现在不增加现有单片机负担的情况下可以使用不带RAM的AT25DF系列FLASH。
本发明具有以下优点:
1、不增加现有单片机的硬件负担,不增加单片机部分的成本。
2、适用于AT25DF系列,AT25DF系列的价格远低于AD45DB系列,能降低成本,提高产品竞争力,有利于开拓市场。
3.不含RAM的FLASH生产厂家众多,大批量生产时,不会由于供货问题形成瓶颈。
具体实施方式
下面具体说明本发明:
用于智能电能表的FLASH数据存储方法,包括以下步骤:
1)、计算待存储的电表记录或负荷曲线所需的存储空间N*m,m为最小存储单元;
2)、为待存储的电表记录或负荷曲线分配数据空间(N+1)*m;
3)、以先进先出的原则顺序写入数据:
(3.1)、存储指针指向当前存储单元,在初始状态下,第一个存储单元为当前存储单元;
(3.2)、存储指针指向下一个存储单元,该下一个存储单元成为当前存储单元;删除当前存储单元中的数据,将待存储数据写入当前存储单元、直到当前存储单元的空间用尽;
(3.3)、判断当前存储单元是否最后一个存储单元,若是,这将存储指针指向第一个存储单元,并删除该第一个存储单元的数据、将第一个存储单元作为缓存单元;
若否,则重复执行步骤(3.2);
4)、读取数据时,通过读取指针反向查找以读取数据:
(4.1)、以第N+1个存储单元作为当前读取单元;
(4.2)、读取指针指向当前读取单元;
(4.3)、判断当前读取单元是否需读取数据存在的单元:若是,则获取当前读取单元的数据;若否,则将前一个存储单元作为当前读取单元,重复执行步骤(4.2)-(4.3)。
步骤1)中,采用AT45DB系列方法分配待存储的电表记录或负荷曲线所需的存储空间。
本发明在进行电表的事件记录或负荷曲线的存储空间分配时,比所需要的有效空间多分配一页,作为缓存使用,例如,按AT45DB系列方法分配空间时,会分配32页,其每页都是有效数据页,而新的存储方法会多分配一页,作为缓存使用。要求数据写入时,都是按照先进先出的顺序存放,当存储指针指到下一页时,先把该页内容全部删除,不作保留,这样33页的内容就可能最多有一页是无效的,可以满足32页有效数据空间的要求。然后在这新的一页里顺序写入,直到写到下一页,先把下一页内容全部删除,以次类推。当第33页写完后指向第一页时,首先把第一页全部删除,作为预备存储区。读取数据时,以当前指针反向查找,保证32页内数据均为有效数据。这样写入数据时,只需要在当前指针指向的位置写入准备写入的数据即可,既不用每次写入数据时把有效数据页整页擦除,也不需要把要写入的该页内容全部读入单片机RAM保护起来,从而实现在不增加现有单片机负担的情况下可以使用不带RAM的AT25DF系列FLASH。
本发明具有以下优点:
1、不增加现有单片机的硬件负担,不增加单片机部分的成本。
2、适用于AT25DF系列,AT25DF系列的价格远低于AD45DB系列,能降低成本,提高产品竞争力,有利于开拓市场。
3.不含RAM的FLASH生产厂家众多,大批量生产时,不会由于供货问题形成瓶颈。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (2)
1.用于智能电能表的FLASH数据存储方法,包括以下步骤:
1)、计算待存储的电表记录或负荷曲线所需的存储空间N*m,m为最小存储单元;
2)、为待存储的电表记录或负荷曲线分配数据空间(N+1)*m;
3)、以先进先出的原则顺序写入数据:
(3.1)、存储指针指向当前存储单元,在初始状态下,第一个存储单元为当前存储单元;
(3.2)、存储指针指向下一个存储单元,该下一个存储单元成为当前存储单元;删除当前存储单元中的数据,将待存储数据写入当前存储单元、直到当前存储单元的空间用尽;
(3.3)、判断当前存储单元是否最后一个存储单元,若是,这将存储指针指向第一个存储单元,并删除该第一个存储单元的数据、将第一个存储单元作为缓存单元;
若否,则重复执行步骤(3.2);
4)、读取数据时,通过读取指针反向查找以读取数据:
(4.1)、以第N+1个存储单元作为当前读取单元;
(4.2)、读取指针指向当前读取单元;
(4.3)、判断当前读取单元是否需读取数据存在的单元:若是,则获取当前读取单元的数据;若否,则将前一个存储单元作为当前读取单元,重复执行步骤(4.2)-(4.3)。
2.如权利要求1所述的用于智能电能表的FLASH数据存储方法,其特征在于:步骤1)中,采用AT45DB系列方法分配待存储的电表记录或负荷曲线所需的存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101648910A CN102339254A (zh) | 2011-06-17 | 2011-06-17 | 用于智能电能表的flash数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101648910A CN102339254A (zh) | 2011-06-17 | 2011-06-17 | 用于智能电能表的flash数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102339254A true CN102339254A (zh) | 2012-02-01 |
Family
ID=45514993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101648910A Pending CN102339254A (zh) | 2011-06-17 | 2011-06-17 | 用于智能电能表的flash数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102339254A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207834A (zh) * | 2013-03-25 | 2013-07-17 | 杭州乾程弘泰电力科技有限公司 | 一种电能数据存储方法 |
CN103514176A (zh) * | 2012-06-21 | 2014-01-15 | 苏州工业园区新宏博通讯科技有限公司 | 一种智能终端的数据管理方法 |
CN104715102A (zh) * | 2014-12-30 | 2015-06-17 | 华立仪表集团股份有限公司 | 基于二分法的智能电能表负荷曲线的设计方法 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN105183665A (zh) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | 一种数据缓存访问方法和数据缓存控制器 |
CN105606856A (zh) * | 2015-12-21 | 2016-05-25 | 南昌市科陆智能电网科技有限公司 | 一种提高电能表系统实时响应速度的方法、系统和电能表 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
CN107861687A (zh) * | 2017-10-13 | 2018-03-30 | 华立科技股份有限公司 | 在flash存储器上实现电表电量小数的按位存储的方法 |
CN109308171A (zh) * | 2018-09-19 | 2019-02-05 | 华立科技股份有限公司 | 提高非易失存储器使用寿命的数据存储方法和系统 |
CN109541298A (zh) * | 2018-11-29 | 2019-03-29 | 宁波三星智能电气有限公司 | 一种电能表计量方法 |
CN109597580A (zh) * | 2018-12-03 | 2019-04-09 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN111562952A (zh) * | 2020-07-16 | 2020-08-21 | 南方电网数字电网研究院有限公司 | 双芯智能电表管理单元的动态装载方法、动态装载装置 |
CN112230842A (zh) * | 2020-07-09 | 2021-01-15 | 青岛鼎信通讯股份有限公司 | 一种电能表的编程事件记录数据存储方法 |
CN115964002A (zh) * | 2023-03-13 | 2023-04-14 | 杭州炬华科技股份有限公司 | 一种电能表终端档案管理方法、装置、设备及介质 |
CN116578248A (zh) * | 2023-07-12 | 2023-08-11 | 上海泰矽微电子有限公司 | 数据处理方法、设备和计算机可读存储介质 |
CN117076340A (zh) * | 2023-08-18 | 2023-11-17 | 深圳市宗匠科技有限公司 | 用于美容仪闪存设备的数据管理方法和美容仪 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216806A (zh) * | 2008-01-17 | 2008-07-09 | 北京中星微电子有限公司 | 一种数据更新的方法和装置 |
CN101354678A (zh) * | 2008-09-10 | 2009-01-28 | 浪潮齐鲁软件产业有限公司 | 基于NorFlash的数据滚存方法 |
-
2011
- 2011-06-17 CN CN2011101648910A patent/CN102339254A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216806A (zh) * | 2008-01-17 | 2008-07-09 | 北京中星微电子有限公司 | 一种数据更新的方法和装置 |
CN101354678A (zh) * | 2008-09-10 | 2009-01-28 | 浪潮齐鲁软件产业有限公司 | 基于NorFlash的数据滚存方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514176A (zh) * | 2012-06-21 | 2014-01-15 | 苏州工业园区新宏博通讯科技有限公司 | 一种智能终端的数据管理方法 |
CN103207834B (zh) * | 2013-03-25 | 2015-08-12 | 杭州乾程弘泰电力科技有限公司 | 一种电能数据存储方法 |
CN103207834A (zh) * | 2013-03-25 | 2013-07-17 | 杭州乾程弘泰电力科技有限公司 | 一种电能数据存储方法 |
CN104715102B (zh) * | 2014-12-30 | 2018-05-08 | 华立科技股份有限公司 | 基于二分法的智能电能表负荷曲线的设计方法 |
CN104715102A (zh) * | 2014-12-30 | 2015-06-17 | 华立仪表集团股份有限公司 | 基于二分法的智能电能表负荷曲线的设计方法 |
CN105022701B (zh) * | 2015-07-27 | 2018-03-23 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN105183665B (zh) * | 2015-09-08 | 2018-02-13 | 福州瑞芯微电子股份有限公司 | 一种数据缓存访问方法和数据缓存控制器 |
CN105183665A (zh) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | 一种数据缓存访问方法和数据缓存控制器 |
CN105606856A (zh) * | 2015-12-21 | 2016-05-25 | 南昌市科陆智能电网科技有限公司 | 一种提高电能表系统实时响应速度的方法、系统和电能表 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
CN107168647B (zh) * | 2017-04-17 | 2020-10-23 | 武汉永力科技股份有限公司 | Flash数据读写方法及系统 |
CN107861687B (zh) * | 2017-10-13 | 2020-09-11 | 华立科技股份有限公司 | 在flash存储器上实现电表电量小数的按位存储的方法 |
CN107861687A (zh) * | 2017-10-13 | 2018-03-30 | 华立科技股份有限公司 | 在flash存储器上实现电表电量小数的按位存储的方法 |
CN109308171A (zh) * | 2018-09-19 | 2019-02-05 | 华立科技股份有限公司 | 提高非易失存储器使用寿命的数据存储方法和系统 |
CN109308171B (zh) * | 2018-09-19 | 2021-08-24 | 华立科技股份有限公司 | 提高非易失存储器使用寿命的数据存储方法和系统 |
CN109541298A (zh) * | 2018-11-29 | 2019-03-29 | 宁波三星智能电气有限公司 | 一种电能表计量方法 |
CN109541298B (zh) * | 2018-11-29 | 2020-11-03 | 宁波三星智能电气有限公司 | 一种电能表计量方法 |
CN109597580A (zh) * | 2018-12-03 | 2019-04-09 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN109597580B (zh) * | 2018-12-03 | 2021-10-29 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN112230842A (zh) * | 2020-07-09 | 2021-01-15 | 青岛鼎信通讯股份有限公司 | 一种电能表的编程事件记录数据存储方法 |
CN111562952A (zh) * | 2020-07-16 | 2020-08-21 | 南方电网数字电网研究院有限公司 | 双芯智能电表管理单元的动态装载方法、动态装载装置 |
CN111562952B (zh) * | 2020-07-16 | 2021-03-16 | 南方电网数字电网研究院有限公司 | 双芯智能电表管理单元的动态装载方法、动态装载装置 |
CN115964002A (zh) * | 2023-03-13 | 2023-04-14 | 杭州炬华科技股份有限公司 | 一种电能表终端档案管理方法、装置、设备及介质 |
CN116578248A (zh) * | 2023-07-12 | 2023-08-11 | 上海泰矽微电子有限公司 | 数据处理方法、设备和计算机可读存储介质 |
CN117076340A (zh) * | 2023-08-18 | 2023-11-17 | 深圳市宗匠科技有限公司 | 用于美容仪闪存设备的数据管理方法和美容仪 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102339254A (zh) | 用于智能电能表的flash数据存储方法 | |
US7450420B2 (en) | Reclaiming data storage capacity in flash memories | |
CN102799534B (zh) | 基于固态存储介质的存储系统及方法、冷热数据识别方法 | |
US8209461B2 (en) | Configuration of host LBA interface with flash memory | |
US8166267B2 (en) | Managing a LBA interface in a direct data file memory system | |
US7739444B2 (en) | System using a direct data file system with a continuous logical address space interface | |
US7917686B2 (en) | Host system with direct data file interface configurability | |
CN102306125B (zh) | 一种flash存储器的数据擦写方法 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US20080155175A1 (en) | Host System That Manages a LBA Interface With Flash Memory | |
US20080155178A1 (en) | Use of a Direct Data File System With a Continuous Logical Address Space Interface | |
CN102081577A (zh) | Flash存储器的数据存储结构及其数据操作方式 | |
EP1920335A1 (en) | Reclaiming data storage capacity in flash memory systems | |
CN106354658B (zh) | 一种降低混合映射算法中映射表内存资源占用的方法 | |
CN101493794A (zh) | 一种闪存数据处理方法及装置 | |
TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
CN102142277A (zh) | 一种存储器及存储器读写控制方法及系统 | |
CN102662852A (zh) | 一种利用MCU内部数据Flash存储非易失性数据的方法 | |
CN101320594A (zh) | 一种闪存芯片的物理操作方法 | |
CN102572330A (zh) | 一种液晶电视机Flash芯片的数据读取、写入和擦除的方法 | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
WO2007019197A2 (en) | Management of memory blocks that directly store data files | |
CN105278875A (zh) | 一种混合异构nand固态硬盘 | |
CN102306124A (zh) | Nand Flash芯片硬件驱动层的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 310030 No. 9 Longtan Road, front street, Yuhang District, Zhejiang, Hangzhou Applicant after: Hangzhou Sunrise Technology Co., Ltd. Address before: Hangzhou City, Zhejiang province 310030 West Lake science and Technology Park West eight road No. 2 Yinjiang Software Park building C Applicant before: Hangzhou Sunrise Technology Co., Ltd. |
|
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120201 |