CN111078136B - 一种防止BMS动态数据存储导致flash寿命降低的方法 - Google Patents

一种防止BMS动态数据存储导致flash寿命降低的方法 Download PDF

Info

Publication number
CN111078136B
CN111078136B CN201911004812.2A CN201911004812A CN111078136B CN 111078136 B CN111078136 B CN 111078136B CN 201911004812 A CN201911004812 A CN 201911004812A CN 111078136 B CN111078136 B CN 111078136B
Authority
CN
China
Prior art keywords
data
page
bms
flash
memory block
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
Application number
CN201911004812.2A
Other languages
English (en)
Other versions
CN111078136A (zh
Inventor
吕凯
王翰超
王云
尹坤
孙艳
刘欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ligao Shandong New Energy Technology Co ltd
Original Assignee
Ligao Shandong New Energy Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ligao Shandong New Energy Technology Co ltd filed Critical Ligao Shandong New Energy Technology Co ltd
Priority to CN201911004812.2A priority Critical patent/CN111078136B/zh
Publication of CN111078136A publication Critical patent/CN111078136A/zh
Application granted granted Critical
Publication of CN111078136B publication Critical patent/CN111078136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

本发明公开了一种防止BMS动态数据存储导致flash寿命降低的方法,在系统程序中定义一个WriteAddrcount,并将WriteAddrcount初始化赋值为0,且WriteAddrcount的大小随写入次数而递增,在每次写入数据时候通过判断WriteAddrcount大小的方式,使得不用每次写入数据均进行一次擦除,延长了flash的寿命,同时为了确保BMS在运行中动态存储的数据精度的不丢失,在系统程序中定义一个ReadAddrcount,以便于读取当BMS断电重启时的flash中最后存储的数据,提高了BMS系统的整体性能。

Description

一种防止BMS动态数据存储导致flash寿命降低的方法
技术领域
本发明涉及嵌入式系统技术领域,尤其是一种防止BMS动态数据存储导致flash寿命降低的方法。
背景技术
目前,嵌入式汽车电子BMS的动态数据,如SOC、SOH、SOE所累计的充放电量等,为了确保精度均需要在运行过程中动态实时存储这些数据,并且下次上电还需要知道上次下电时的精确数据。现有的BMS一般将这些重要的数据存储在寄存器flash中,flash的寿命一般为100000次即可擦除次数为100000次,且flash的物理特性决定的每次存储数据时均需要擦除一次。以现有的SOC数据存储为例,一般为了保证精度变化0.1%需要保存一次,那么一个充放电循环就需要存储2000次,100000次仅能存储50个充放电循环后,flash的寿命就结束了。
发明内容
为了克服上述现有技术中的缺陷,本发明提供一种防止BMS动态数据存储导致flash寿命降低的方法,。
为实现上述目的,本发明采用以下技术方案,包括:
一种防止BMS动态数据存储导致flash寿命降低的方法,存储器flash划分为若干个存储块即block,每个存储块又划分为若干个页即page;存储块是可擦除的最小单位,页是写入数据的最小单位;每个页的大小为2NByte;每个存储块的大小为2MKB,即2M+10Byte;
在系统程序中定义一个WriteAddrcount,WriteAddrcount初始化赋值为0;BMS在运行过程中实时存储数据,即系统程序对flash进行写入数据的具体方式为:
S11,在存储块的一个页中写入数据,且每在一个页中写入一次数据后,WriteAddrcount增加2N,即增加一个页的大小;
S12,判断WriteAddrcount的大小是否等于2M+10,若否,则继续在存储块的下一个页中写入数据,即跳转执行步骤S11;若是,则将该存储块进行擦除,并将WriteAddrcount重新赋值为0,后续的可重新在该存储块的中写入数据,即重新执行步骤S11~S12。
在系统程序中定义一个ReadAddrcount;当BMS断电重启时,系统程序对flash中最后存储的数据进行读取的具体方式为:
S21,ReadAddrcount赋值为2N,读取存储块中第一个页中的数据,判断第一个页中的数据是否全为0xFF,若是,则表示该存储块中未写入数据,结束读取操作;否则,执行下一步骤S22;
S22,ReadAddrcount增加2N,执行下一步骤S23;
S23,读取存储块中第i个页中的数据,i=ReadAddrcount/2N,判断该第i个页中的数据是否全为0xFF,若是,则表示该存储块中第i个页中未写入数据,第i-1个页中的数据为BMS断电重启时的flash中最后存储的数据,系统程序读取第i-1个页中的数据后,结束读取操作;否则,跳转执行步骤S22。
本发明的优点在于:
(1)由于BMS需要频繁对flash写入数据,所写入的数据为所累积的充放电量,且flash物理特性决定的每次存储数据均需要擦除一次,而flash的寿命一般为有限次的可擦除次数,考虑到flash的寿命,因此本发明在系统程序中定义一个WriteAddrcount,并将WriteAddrcount初始化赋值为0,且WriteAddrcount的大小随写入次数而递增,在每次写入数据时候通过判断WriteAddrcount大小的方式,使得不用每次写入数据均进行一次擦除,延长了flash的寿命。
(2)本发明不仅考虑flash的寿命问题,同时为了确保BMS在运行中动态存储的数据精度的不丢失,本发明在系统程序中定义一个ReadAddrcount,以便于读取当BMS断电重启时的flash中最后存储的数据,提高了BMS系统的整体性能。
附图说明
图1为本发明对flash进行写入数据的方法流程图。
图2为本发明读取BMS断电重启时的flash中最后存储数据的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
存储器flash划分为若干个存储块即block,每个存储块又划分为若干个页即page;存储块是可擦除的最小单位,页是写入数据的最小单位;每个页的大小为2NByte;每个存储块的大小为2MKB,即2M+10Byte。
由于BMS需要频繁对flash写入数据,所写入的数据为所累积的充放电量,且flash物理特性决定的每次存储数据均需要擦除一次,而flash的寿命一般为有限次的可擦除次数,考虑到flash的寿命问题,因此本发明在系统程序中定义一个WriteAddrcount,并将WriteAddrcount初始化赋值为0,且WriteAddrcount的大小随写入次数而递增,在每次写入数据时候通过判断WriteAddrcount大小的方式,使得不用每次写入数据均进行一次擦除。
由图1所示,BMS在运行过程中实时存储数据,即系统程序对flash进行写入数据的具体方式为:
S11,在存储块的一个页中写入数据,且每在一个页中写入一次数据后,WriteAddrcount增加2N,即增加一个页的大小。
S12,判断WriteAddrcount的大小是否等于2M+10,即是否等于存储块的大小,若否,则继续在存储块的下一个页中写入数据,即跳转执行步骤S11;若是,则将该存储块进行擦除,并将WriteAddrcount重新赋值为0,后续的可重新在该存储块的中写入数据,即重新执行步骤S11~S12。
本实施例中,每个页的大小为64Byte;每个存储块的大小为4KB。原先存储一次数据就需要擦除一次,现在存储64次才需要擦除一次,使flash寿命延长64倍。
由于考虑flash的寿命问题,使得不用每次写入数据均进行一次擦除,同时为了确保BMS在运行中动态存储的数据精度的不丢失,本发明在系统程序中定义一个ReadAddrcount。
由图2所示,当BMS断电重启时,系统程序对flash中最后存储的数据进行读取的具体方式为:
S21,ReadAddrcount赋值为2N,即一个页的大小,读取存储块中第一个页中的数据,判断第一个页中的数据是否全为0xFF,若是,则表示该存储块中未写入数据,结束读取操作;否则,执行下一步骤S22。
S22,ReadAddrcount增加2N,即增加一个页的大小,执行下一步骤S23。
S23,读取存储块中下个页中的数据,即读取存储块中第i个页中的数据,i=ReadAddrcount/2N,判断该第i个页中的数据是否全为0xFF,若是,则表示该存储块中第i个页中未写入数据,第i-1个页中的数据为BMS断电重启时的flash中最后存储的数据,系统程序读取第i-1个页中的数据后,结束读取操作;否则,跳转执行步骤S22。
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。

Claims (2)

1.一种防止BMS动态数据存储导致flash寿命降低的方法,其特征在于,存储器flash划分为若干个存储块即block,每个存储块又划分为若干个页即page;存储块是可擦除的最小单位,页是写入数据的最小单位;每个页的大小为2NByte;每个存储块的大小为2MKB,即2M+ 10Byte;
在系统程序中定义一个WriteAddrcount,WriteAddrcount初始化赋值为0;BMS在运行过程中实时存储数据,即系统程序对flash进行写入数据的具体方式为:
S11,在存储块的一个页中写入数据,且每在一个页中写入一次数据后,WriteAddrcount增加2N,即增加一个页的大小;
S12,判断WriteAddrcount的大小是否等于2M+10,若否,则继续在存储块的下一个页中写入数据,即跳转执行步骤S11;若是,则将该存储块进行擦除,并将WriteAddrcount重新赋值为0,后续的可重新在该存储块的中写入数据,即重新执行步骤S11~S12。
2.根据权利要求1所述的一种防止BMS动态数据存储导致flash寿命降低的方法,其特征在于,在系统程序中定义一个ReadAddrcount;当BMS断电重启时,系统程序对flash中最后存储的数据进行读取的具体方式为:
S21,ReadAddrcount赋值为2N,读取存储块中第一个页中的数据,判断第一个页中的数据是否全为0xFF,若是,则表示该存储块中未写入数据,结束读取操作;否则,执行下一步骤S22;
S22,ReadAddrcount增加2N,执行下一步骤S23;
S23,读取存储块中第i个页中的数据,i=ReadAddrcount/2N,判断该第i个页中的数据是否全为0xFF,若是,则表示该存储块中第i个页中未写入数据,第i-1个页中的数据为BMS断电重启时的flash中最后存储的数据,系统程序读取第i-1个页中的数据后,结束读取操作;否则,跳转执行步骤S22。
CN201911004812.2A 2019-10-22 2019-10-22 一种防止BMS动态数据存储导致flash寿命降低的方法 Active CN111078136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911004812.2A CN111078136B (zh) 2019-10-22 2019-10-22 一种防止BMS动态数据存储导致flash寿命降低的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911004812.2A CN111078136B (zh) 2019-10-22 2019-10-22 一种防止BMS动态数据存储导致flash寿命降低的方法

Publications (2)

Publication Number Publication Date
CN111078136A CN111078136A (zh) 2020-04-28
CN111078136B true CN111078136B (zh) 2023-05-05

Family

ID=70310497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911004812.2A Active CN111078136B (zh) 2019-10-22 2019-10-22 一种防止BMS动态数据存储导致flash寿命降低的方法

Country Status (1)

Country Link
CN (1) CN111078136B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753337B (zh) * 2020-07-02 2023-02-21 上海电器科学研究所(集团)有限公司 一种储能电池管理系统意外断电soc处理方法
CN115952113B (zh) * 2023-03-15 2023-06-13 力高(山东)新能源技术股份有限公司 一种eeprom存储保护的方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174468A (ja) * 2003-12-11 2005-06-30 Phison Electronics Corp フラッシュメモリのアクセス制御方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
CN101127004A (zh) * 2007-09-24 2008-02-20 中兴通讯股份有限公司 一种在闪存上存取数据的系统及方法
JP2009205689A (ja) * 2009-05-08 2009-09-10 Oki Electric Ind Co Ltd フラッシュディスク装置
CN101681300A (zh) * 2008-03-07 2010-03-24 株式会社东芝 存储器系统
CN102325023A (zh) * 2011-07-04 2012-01-18 飞天诚信科技股份有限公司 一种延长芯片使用寿命的数据生成方法和装置
CN105630701A (zh) * 2015-05-29 2016-06-01 上海磁宇信息科技有限公司 数据存储装置及使用不可用页表或不可用块表的读写方法
CN107168647A (zh) * 2017-04-17 2017-09-15 武汉永力科技股份有限公司 Flash数据读写方法及系统
CN107608906A (zh) * 2017-09-26 2018-01-19 北京智芯微电子科技有限公司 减少片内flash擦除次数的方法
CN107797765A (zh) * 2017-09-26 2018-03-13 昆明理工大学 一种延长电可擦除存储元件使用寿命的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200949840A (en) * 2008-05-30 2009-12-01 Ite Tech Inc Method for increasing reliability of data accessing for a multi-level cell type non-volatile memory

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174468A (ja) * 2003-12-11 2005-06-30 Phison Electronics Corp フラッシュメモリのアクセス制御方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
CN101127004A (zh) * 2007-09-24 2008-02-20 中兴通讯股份有限公司 一种在闪存上存取数据的系统及方法
CN101681300A (zh) * 2008-03-07 2010-03-24 株式会社东芝 存储器系统
JP2009205689A (ja) * 2009-05-08 2009-09-10 Oki Electric Ind Co Ltd フラッシュディスク装置
CN102325023A (zh) * 2011-07-04 2012-01-18 飞天诚信科技股份有限公司 一种延长芯片使用寿命的数据生成方法和装置
CN105630701A (zh) * 2015-05-29 2016-06-01 上海磁宇信息科技有限公司 数据存储装置及使用不可用页表或不可用块表的读写方法
CN107168647A (zh) * 2017-04-17 2017-09-15 武汉永力科技股份有限公司 Flash数据读写方法及系统
CN107608906A (zh) * 2017-09-26 2018-01-19 北京智芯微电子科技有限公司 减少片内flash擦除次数的方法
CN107797765A (zh) * 2017-09-26 2018-03-13 昆明理工大学 一种延长电可擦除存储元件使用寿命的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
拓晶 ; 唐磊 ; .基于多阈值的闪存磨损均衡算法.微电子学与计算机.2018,(第01期),全文. *
王冬 ; 杨琼 ; 徐晓光 ; .基于区域地址映射的NAND Flash静态磨损均衡算法.航空计算技术.2015,(第02期),全文. *
贾鑫 ; 张少平 ; .基于贪婪策略的NAND FLASH存储器的磨损均衡算法研究.计算机科学.2017,(第S2期),全文. *
龚雪容 ; 刘根贤 ; 生拥宏 ; .基于Flash的关键变量容错存储技术研究.电子技术应用.(第11期),全文. *

Also Published As

Publication number Publication date
CN111078136A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107168647B (zh) Flash数据读写方法及系统
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US10762972B2 (en) Method and apparatus for processing data in flash memory
TWI585770B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US7725646B2 (en) Method of using a flash memory for a circular buffer
US8667234B2 (en) Data writing method, memory controller, and memory storage apparatus
TW201437807A (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
CN111724827A (zh) 存储器系统及非易失性存储器
CN111078136B (zh) 一种防止BMS动态数据存储导致flash寿命降低的方法
CN104765569A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN112068772B (zh) 数据存储方法、数据存储装置及存储装置
US10339045B2 (en) Valid data management method and storage controller
CN107045423B (zh) 存储器装置及其数据存取方法
US20140040534A1 (en) Data storing method and memory controller and memory storage device using the same
CN116185563B (zh) 一种基于车规级微控制器数据闪存的软件模拟算法
CN102736981A (zh) 提高nor flash擦写寿命的方法
CN106469019B (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置
CN113885791A (zh) Flash存储器的数据写入方法、读取方法和装置
US10740026B2 (en) Time indicator of super block operations
CN108334276B (zh) 快闪记忆体的动态对齐数据方法
CN113127377B (zh) 一种非易失存储器件写擦除的磨损均衡方法
US20240094932A1 (en) Memory system
CN109901795B (zh) 一种循环文件系统及文件定位方法
CN113703671B (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
CB02 Change of applicant information

Address after: Room 501, No. 8, No. 300, Changjiang Road, Economic and Technological Development Zone, Yantai City, Shandong Province, 264006

Applicant after: LIGO (Shandong) New Energy Technology Co.,Ltd.

Address before: 230088 1-4 / F, C2 building, Hefei National University Science Park, 800 Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Applicant before: Anhui Ligoo New Energy Technology Co.,Ltd.

Address after: Room 501, No. 8, No. 300, Changjiang Road, Yantai Economic and Technological Development Zone, Yantai Area, China (Shandong) Pilot Free Trade Zone, Yantai City, Shandong Province, 264006

Applicant after: Ligao (Shandong) New Energy Technology Co.,Ltd.

Address before: Room 501, No. 8, No. 300, Changjiang Road, Economic and Technological Development Zone, Yantai City, Shandong Province, 264006

Applicant before: LIGO (Shandong) New Energy Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant