CN112525278A - 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 - Google Patents
一种应用均衡寿命存储方法的智能燃气表及数据存储方法 Download PDFInfo
- Publication number
- CN112525278A CN112525278A CN202011417529.5A CN202011417529A CN112525278A CN 112525278 A CN112525278 A CN 112525278A CN 202011417529 A CN202011417529 A CN 202011417529A CN 112525278 A CN112525278 A CN 112525278A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- page
- address
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000002035 prolonged effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F15/00—Details of, or accessories for, apparatus of groups G01F1/00 - G01F13/00 insofar as such details or appliances are not adapted to particular types of such apparatus
- G01F15/06—Indicating or recording devices
- G01F15/068—Indicating or recording devices with electrical means
Landscapes
- Physics & Mathematics (AREA)
- Fluid Mechanics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种应用均衡寿命存储方法的智能燃气表及数据存储方法,用以解决现有技术中的燃气表还存在寿命短、成本高、空间利用率低的技术问题。包括:数据采集单元、数据存储单元、存储控制单元和数据显示单元,所述数据采集单元的数据输出端连接存储控制单元的数据接收端,所述存储控制单元的存储输出端连接数据存储单元的存储输入端,所述数据存储单元的显示输出端连接数据显示单元的显示输入端;所述数据存储单元的存储页大小与其单次擦除数据量相等,所述存储控制单元用于根据所述数据存储单元的存储页大小和存储数据,确定所述存储数据的写入地址,写入与擦除存储数据。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种应用均衡寿命存储方法的智能燃气表及数据存储方法。
背景技术
燃气表的组成一般都包括基表和智能板,智能板用来记录用户的燃气数据(例如表底数、剩余金额、剩余气量和配置数据等),这些数据的特点是种类多、占用空间小,更新速度快,单片机中的Flash存储器用来存储燃气数据
但是对于不同智能板,不同的智能板上存在不同的单片机,例如华大HC32L196单片机,其Flash存储器在内置程序(默认工作方式)下使用时,每次修改数据时都要对应擦除历史数据,且单次擦除的数据量最小为512字节,而燃气数据的数据量大小通常只有几个字节到几十个字节,则Flash存储器单次擦除的数据量远远大于燃气数据的大小,如果按照传统的读写方式,写入一个大小为12字节的燃气数据,需要读取整页的512字节的数据到内存,找到燃气数据的位置并修改,再擦除该页的数据,最后将修改后的整页数据写入flash存储器,这样就会白白浪费掉500字节的空间,擦出了大量不需要修改的数据的存储空间,降低了程序的工作效率和空间利用率;其次燃气数据量小、更新快,这样因为修改少量数据就进行一次擦除,大大增加了flash存储器的擦除次数,且Flash存储器擦写次数为2万次—10万次,频繁的擦写会导致flash存储器的寿命缩短,以至于需要新的空间来存储燃气数据,这样也会增加了燃气表的制作成本。
基于这个问题,现在技术会在燃气表里的单片机外接EEPROM存储器,EEPROM存储器可以单字节地修改内容,并且它的擦写次数可以达到10万次,但外接EEPROM存储器一来会增加燃气表的制作成本,二来由于EEPROM存储器是外接器件,会降低燃气表系统的稳定性。
由此可见,现有技术中的燃气表还存在寿命短、成本高和空间利用率低的技术问题。
发明内容
有鉴于此,本发明实施例提供一种应用均衡寿命存储方法的智能燃气表及数据存储方法,用以解决现有技术中的燃气表还存在寿命短、成本高、空间利用率低的技术问题。
本发明实施例的第一方面提供一种应用均衡寿命存储方法的智能燃气表,包括:
数据采集单元、数据存储单元、存储控制单元和数据显示单元,所述数据采集单元的数据输出端连接存储控制单元的数据接收端,所述存储控制单元的存储输出端连接数据存储单元的存储输入端,所述数据存储单元的显示输出端连接数据显示单元的显示输入端;
所述数据存储单元的存储页大小与其单次擦除数据量相等,所述存储控制单元用于根据所述数据存储单元的存储页大小和存储数据,确定所述存储数据的写入地址,写入与擦除存储数据。
本实施例方式,根据设计的燃气表对flash存储器的要求较低,使制作成本比现有技术中的燃气表成本低,并且存储空间的利用率高,其次,有些燃气表为了解决成本高的问题,会在燃气表中单片机上外接一个擦写次数高达10万次的EEPROM存储器,但这个方式也一定程度上增加了制作燃气表的成本,又因为EEPROM存储器是外接的器件,无法保证燃气表的稳定性,本发明的燃气表也无需外接存储器,降低了制作成本低的同时也保证了燃气表的稳定性。
可选的,所述数据存储单元的存储页大小与其单次擦除数据量均为512字节。
通过本实施例方式,512字节的存储页单页寿命变为原先的数倍,降低了flash存储器的擦除次数,进一步延长了燃气表中flash存储器的寿命。
可选的,所述数据存储单元为flash存储器,且所述数据存储单元与存储控制单元集成于单片机芯片内。
通过本实施例方式,可以保证燃气表的稳定性。
可选的,所述单片机的型号为华大HC32L196,所述flash存储器大小为256K。
通过本实施例方式,降低了华大HC32L196单片机的flash存储器的擦除次数,进一步延长了燃气表中flash存储器的寿命。
本发明实施例的第二方面提供了一种数据存储方法,包括:
获取存储数据;
根据所述存储数据的类型,从flash存储器中对应类型的存储块开始读取,该存储块的初始地址为读取地址;
若所述读取地址上有已存储数据,将所述读取地址加上所述存储数据的单位空间大小,作为新的读取地址;
若所述读取地址上无已存储数据,判断所述读取地址加上所述单位空间大小,是否大于,当前存储页的起始地址加上存储页大小;
若所述读取地址加上所述单位空间大小大于当前存储页的起始地址加上存储页大小,则擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据;
若所述读取地址加上所述单位空间大小不大于当前存储页的起始地址加上存储页大小,则将所述读取地址作为写入地址,写入所述存储数据。
可选的,所述擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据的步骤包括:若当前存储页为所述存储块的最后一页时,则擦除所述存储块的第一页存储页,并将所述存储块的初始地址作为写入地址,写入所述存储数据;若当前存储页不为所述存储块的最后一页时,则擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据。
通过本实施例方式,可以实现flash存储器的循环存储,进一步提高了flash存储器的寿命和空间利用率。
可选的,对存储页进行擦除为单次擦除;所述单次擦除的数据量大小为所述flash存储器的最小擦除数据量。
通过本实施例方式,通过这种方式,可以提高flash存储器的存储数据的效率。
可选的,所述存储数据包括表底数、剩余金额、剩余气量和配置数据中至少一种。
通过本实施例方式,可以了解到存储数据的类型,方便用户对燃气量用量的了解。
可选的,所述数据存储方法还包括:根据不同类型的所述存储数据的单位空间大小和数据获取频率,在所述flash存储器中划分对应类型的存储块大小,所述存储块包括至少一页存储页。
通过本实施例方式,可以提高flash存储页的空间利用率。
本发明实施例的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如本发明实施例第二方面或者第二方面中任一种可选的实施方式所述的方法。
本发明实施例与现有技术相比存在的有益效果至少在于:
上述方案中,先寻找读取地址,再根据存储页大小和读取地址来判断当前存储页剩余的空间是否能够存储完整的存储数据,如果可以,就把读取地址作为写入地址直接写入存储数据;如果不行,就擦除当前存储页的下一页存储页,把下一页存储页的起始地址作为写入地址写入存储数据,相较于现有方式中的燃气表读取整页数据后修改少量数据存储于内存中,擦除整页数据再写入修改后的整页数据,使存储页中大量空间并未写入数据时就会执行擦除,大量存储空间被浪费,令存储单元的磁介质过度磨损,也导致flash存储器擦除次数过多导致寿命缩短。
本发明的实施例中对flash存储器的要求较低,使制作成本比现有技术中的燃气表成本低,并且存储空间的利用率高,其次,有些燃气表为了解决flash存储器寿命低解决成本高的问题,会在燃气表中单片机上外接一个擦写次数高达10万次的EEPROM存储器,但这个方式也一定程度上增加了制作燃气表的成本,又因为EEPROM存储器是外接的器件,无法保证燃气表的稳定性,本发明的燃气表也无需外接存储器,降低了制作成本低的同时也提高保证了燃气表的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种应用均衡寿命存储方法的智能燃气表的结构示意图;
图2是本发明实施例提供的一种数据存储方法的流程示意图;
图3是本发明实施例提供的一种判断当前存储页是否为存储块的最后一页存储页的流程示意图;
图4是本发明实施例提供的又一种数据存储方法的流程示意图。
具体实施方式
本发明实施例提供一种应用均衡寿命存储方法的智能燃气表,用以解决现有技术中的燃气表还存在寿命短、成本高和空间利用率低的技术问题。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。
本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参见图1,为本发明实施例中的一种应用均衡寿命存储方法的智能燃气表。智燃气表包括数据采集单元101、存储控制单元102、数据存储单元103、和数据显示单元104,数据采集单元101的数据输出端连接存储控制单元102的数据接收端,存储控制单元102的存储输出端连接数据存储单元103的存储输入端,数据存储单元103的显示输出端连接数据显示单元104的显示输入端。
本实施例中,智能燃气表的存储控制单元102对应为单片机的处理单元,而单片机中集成有flash存储器,则本实施例中的数据存储单元103对应为flash存储器。flash存储器是一种非易失性内存,其容量大但擦除次数有限,故不宜频繁擦除数据。
数据采集单元101可以包括智能板、基表和计数单元中的至少一个,记录所用的燃气量和/或金额、剩余量等计量;数据显示单元104用于在燃气表上显示数据,通常为一个显示屏,显示的数据可以包括剩余燃气量、已用燃气量、剩余金额、安全值等等。同样的,该数据也可显示在用户和燃气公司的电子设备上。
本实施例中,数据存储单元103的存储页大小与其单次擦除数据量相等,基于单片机的硬件特性,不同的单片机,其单次需要擦除量数据量是固定的,但flash存储器的存储页大小是由存储控制单元来设定的,在默认工作方式时,存储页大小与单次需要擦除数据量往往不相等,而本实施例将存储页大小设置为与单次擦除数据量相同的值,可以有效增加写入存储页的数据量,就相对减少了擦除的次数。需要说明的是,单次擦除数据量是flash存储器擦除一次的时会擦除掉的数据大小的最小值。
根据上述存储页大小的设定,本实施例中数据写入与擦除的方式如下:
存储控制单元102用于写入存储数据至数据存储单元103,其中,存储数据可以包括表底数(数据大小12字节左右)、剩余金额和剩余气量(数据大小12字节左右)、配置数据(数据大小100字节左右)等,存储控制单元102根据数据存储单元103的存储页大小和存储数据,再确定存储数据的写入地址,最后写入新的存储数据或者擦除旧的存储数据。
需要说明的是,存储数据还可以包括历史数据,历史数据是历史表底数数据,一般历史数据的数据大小较大,是以时间存储(日、周、月等),没有其他情况,是不做擦除的。
可选的,本发明燃气表中的单片机选用华大HC32L196单片机,其处理单元为存储控制单元102,单片机内置有一flash存储器,对应为本实施例的数据存储单元103,该flash存储器大小为256K,其单次擦除量数据量固定为512字节,则本实施例对应设置存储页的大小也为512字节,即当每次擦除数据时,会一次性擦除掉一个完整的存储页。
基于上述设计,本发明实施例还提供了一种数据存储方法,用以解决现有技术中的燃气表还存在寿命短、成本高和空间利用率低的技术问题,请参见图2,为本发明实施例的一种数据存储方法的流程示意图,燃气表中的单片机以HC32L196单片机示例,存储数据为12字节的表底数,该方法包括:
步骤S201、获取存储数据。
具体的,存储数据由数据采集单元101收集后发送给存储控制单元102,其中,存储数据包括表底数(数据大小12字节左右)、剩余金额和剩余气量(数据大小12字节左右)、配置数据(数据大小100字节左右)等,表底数可以用来表示燃气量(已用和未用),配置数据为燃气表设置的安全事项,例如燃气表在一段时间持续输出大量的燃气,这时燃气表根据配置数据就会显示安全值为不安全,或者燃气表漏气,这时燃气表根据配置数据也会显示安全值为不安全,配置数据一般更新次数很少。
步骤S202、根据存储数据的类型,从flash存储器中对应类型的存储块开始读取,该存储块的初始地址为读取地址。
在接收到一个大小为12字节存储数据,确定该存储数据的类型为表底数,则从flash存储器中的表底数存储块开始读取,将表底数存储块的初始地址作为读取地址。其中,存储块包括至少一页的存储页。
步骤S203、判断该读取地址上是否有存储数据。
若该读取地址上有已存储数据,则进入步骤S204、将读取地址加上存储数据的单位空间大小,作为新的读取地址。
示例性的,如果读取到该读取地址上的数据为0x68AA,则说明该位置上已经存储了表底数数据,则在该读取地址上加一个表底数的单位空间大小(12字节),作为新的一个读取地址,读取新的读取地址上的数据,如果读取到新的读取地址上数据仍为0x68AA,则继续读取下一个新的读取地址,直到读取到读取地址上的数据为0xFFFF(没有数据存储的标志)为止,进入步骤S205。
若读取地址上无已存储数据,则进入步骤S205、判断读取地址加上单位空间大小,是否大于,当前存储页的起始地址加上存储页大小。
若读取地址加上存储数据的单位空间大小大于当前存储页的起始地址加上存储页大小,则进入步骤S206、擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入存储数据。
示例性的,若该读取地址为0x001fd,加上表底数12字节,这两者相加为0x00209;当前存储页的起始地址是0x00000,存储页的大小为512字节,这两者相加为0x00200,小于读取地址加上存储数据的单位空间大小,则当前页的剩余存储空间不足以存储12字节的表底数,需要擦除下一页的存储页,并且将下一页存储页的起始地址0x00200作为写入地址,写入该12字节表底数。
需要说明的是,地址的十六进制表示的,存储块的初始地址就是第一页存储页的起始地址,flash存储器的存储页的大小在初始化时已经设定,所以每一页存储页的起始地址也已知,例如,第一页存储页的起始地址为0x00000,第二页存储页的起始地址为0x00200,第三页存储页……,第N页存储页的起始地址为0x00000+200*(N-1)。
若读取地址加上存储数据的单位空间大小不大于当前存储页的起始地址加上存储页大小,则进入步骤S207、将读取地址作为写入地址,写入存储数据。
示例性的,若该读取地址为0x00018,加上表底数12字节,这两者相加为0x00024;当前存储页的起始地址是0x00000,存储页的大小为512字节,这两者相加为0x00200,大于读取地址加上存储数据的单位空间大小,则当前页的剩余存储空间足以存储该12字节的表底数,将0x00018的读取地址作为写入地址,写入该12字节表底数。通过上述的方式,可以保证存储数据的完整性,提高读取数据时的准确性。
本实施例的单片机味华大HC32L196单片机,其flash存储器的擦写次数为2万次,则燃气表存储页的擦除次数寿命也为2万次,对应能够存储的最大数据量即为512字节乘以2万次,大大增加了存储数据量。在实施时,燃气数据中的表底数大小通常为12字节,所以512字节的存储页单页可存储42个表底数,该存储页能够存储的最大数据量为42乘以2万次个表底数,寿命变为原先的42倍,降低了flash存储器的擦除次数,进一步延长了燃气表中flash存储器的寿命。
上述方案中,先寻找读取地址,再根据存储页大小和读取地址来判断当前存储页剩余的空间是否能够存储完整的存储数据,如果可以,就把读取地址作为写入地址直接写入存储数据;如果不行,就擦除当前存储页的下一页存储页,把下一页存储页的起始地址作为写入地址写入存储数据,相较于现有方式中的燃气表读取整页数据后修改少量数据存储于内存中,擦除整页数据再写入修改后的整页数据,使存储页中大量空间并未写入数据时就会执行擦除,大量存储空间被浪费,令存储单元的磁介质过度磨损,也导致flash存储器擦除次数过多导致寿命缩短。
本发明的实施例中对flash存储器的要求较低,使制作成本比现有技术中的燃气表成本低,并且存储空间的利用率高,其次,有些燃气表为了解决flash存储器寿命低解决成本高的问题,会在燃气表中单片机上外接一个擦写次数高达10万次的EEPROM存储器,但这个方式也一定程度上增加了制作燃气表的成本,又因为EEPROM存储器是外接的器件,无法保证燃气表的稳定性,本发明的燃气表也无需外接存储器,降低了制作成本低的同时也提高保证了燃气表的稳定性。
进一步的,请参见图3,步骤S206还包括:
步骤261、确定读取地址加上存储数据的单位空间大小大于当前存储页的起始地址加上存储页大小。
步骤262、判断当前存储页是否为存储块的最后一页存储页。
若当前存储页为存储块的最后一页时,则进入步骤S262、擦除存储块的第一页存储页,并将存储块的初始地址作为写入地址,写入存储数据。
示例性的,读取地址为0x013ff,该存储块存在10页存储页,所以当前存储页就是最后一页的存储页,则擦除存储块的第一页存储页,并将存储块的初始地址(第一页存储页的起始地址)0x00000作为写入地址,写入该12字节表底数。
若当前存储页不为存储块的最后一页时,则进入步骤S206、擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入存储数据。
通过这种方式,可以实现flash存储器的循环存储,进一步提高了flash存储器的寿命和空间利用率。
进一步的,参见图4,在写入存储数据后还可以包括:
步骤S301、将该存储数据的写入地址存储到内存中。
步骤S201还包括:
步骤S302、判断内存中是否存在对应存储数据类型的写入地址。
若存在,则进入步骤S303、在内存中读取该写入地址,把这写入地址加上单位空间大小,作为新的读取地址,再执行步骤S205,最后将新的写入地址存储于内存中。
若不存在,则执行步骤S202。
示例性的,将第一次存储表底数的写入地址存储到内存中,当有新的一个表底数需要存储时,在内存中寻找到存储表底数的写入地址,把这写入地址加上单位空间大小作为新的读取地址,再执行步骤S205,最后确定了新的一个表底数的写入地址,将该写入地址存储在内存中。需要说明的是,在内存中可以根据不同类型的存储数据进行划分,内存中的第一位置存储表底数的写入位置,内存中的第二位置存储剩余金额的写入位置等等,内存更新新的写入地址时,先把旧的写入地址删除,再存储新的写入地址。
通过这种方式,不需要每次在存储新的存储数据或者读取旧数据时,从存储块的起始地址开始寻找新的存储数据的写入地址或者旧数据的读取地址,大大提高存储数据的读写效率。
可选的,flash存储器初始化时,可以先在flash存储器所有存储块中寻找每个存储块上一次存储数据的写入地址,再把该写入地址存储到内存中,为下一次存储数据提供读取地址。
示例性的,flash存储器上电初始化时,先在表底数存储块、剩余金额存储块等等寻找到对应块上一次存储数据的写入地址,把该写入地址存储至内存中,当在存储表底数时,再把内存中对应存储表底数的写入地址加上表底数的单位空间大小作为新的读取地址,最后执行步骤S205,在确定了新的一个表底数的写入地址,将该写入地址存储在内存中。其中,寻找上一次存储数据的写入地址方法见上述步骤S202—S204。
通过这种方式,方便之后在存储数据时使用已在内存中的读取地址,而不需要每次在存储新的存储数据或者读取旧数据时,从存储块的起始地址寻找新的存储数据的写入地址或者旧数据的读取地址,大大提高存储数据的读写效率。
可选的,对存储页进行擦除为单次擦除,并且单次擦除的数据量大小为flash存储器的最小擦除数据量,通过这种方式,可以提高flash存储器的存储数据的效率。需要说明的是,flash存储器的写入数据和擦除数据的速度都比读取数据的速度慢,现有技术写入一次数据就需要进行一次擦除操作,效率极低。
可选的,还可以根据不同类型的存储数据的单位空间大小和数据获取频率,在flash存储器中划分对应类型的存储块大小。
其中,存储数据包括表底数、剩余金额、剩余气量和配置数据中至少一种;存储块包括至少一页存储页。
示例性的,华大单片机的flash存储器在进行初始化前,可以将flash存储器(有50页存储页)划分成多个存储块,一个存储块对应存储不同类型的一个存储数据;存储数据类型为表底数的数据的大小一般为12字节左右,并且数据获取频率低快,考虑到这一点,划分给表底数的存储块中存储页可以为10—20页;存储数据类型为配置数据大小一般为100字节左右,数据获取频率低,考虑到这一点,划分给配置数据的存储块中存储页可以为2—4页。
通过这种方式,可以提高flash存储页的空间利用率。
进一步的,考虑到存储表底数的存储块上的存储页擦除次数变多,在一段时间后,将存储表底数的存储块和存储其他类型数据的存储块进行调换,例如表底数的存储块一共有20页,其他所有类型数据的存储块一共有20页,将存储表底数的存储块的存储数据类型换成存储其他所有类型数据,将存储其他所有类型数据的存储块的存储数据换成存储表底数,其中,一段时间可以为年、月、周等,本发明对此不作限制。通过这种方式,可以延长flash存储器的寿命,同时也可以提高空间利用率。
基于同一发明构思,本发明实施例还提供计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例所述的数据存储方法。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用均衡寿命存储方法的智能燃气表,其特征在于,包括数据采集单元、数据存储单元、存储控制单元和数据显示单元,所述数据采集单元的数据输出端连接存储控制单元的数据接收端,所述存储控制单元的存储输出端连接数据存储单元的存储输入端,所述数据存储单元的显示输出端连接数据显示单元的显示输入端;
所述数据存储单元的存储页大小与其单次擦除数据量相等,所述存储控制单元用于根据所述数据存储单元的存储页大小和存储数据,确定所述存储数据的写入地址,写入与擦除存储数据。
2.根据权利要求1所述一种应用均衡寿命存储方法的智能燃气表,其特征在于,所述数据存储单元的存储页大小与其单次擦除数据量均为512字节。
3.根据权利要求1所述一种应用均衡寿命存储方法的智能燃气表,其特征在于,所述数据存储单元为flash存储器,且所述数据存储单元与存储控制单元集成于单片机芯片内。
4.根据权利要求3所述一种应用均衡寿命存储方法的智能燃气表,其特征在于,所述单片机的型号为华大HC32L196,所述flash存储器大小为256K。
5.一种数据存储方法,其特征在于,包括:
获取存储数据;
根据所述存储数据的类型,从flash存储器中对应类型的存储块开始读取,该存储块的初始地址为读取地址;
若所述读取地址上有已存储数据,将所述读取地址加上所述存储数据的单位空间大小,作为新的读取地址;
若所述读取地址上无已存储数据,判断所述读取地址加上所述单位空间大小,是否大于,当前存储页的起始地址加上存储页大小;
若所述读取地址加上所述单位空间大小大于当前存储页的起始地址加上存储页大小,则擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据;
若所述读取地址加上所述单位空间大小不大于当前存储页的起始地址加上存储页大小,则将所述读取地址作为写入地址,写入所述存储数据。
6.根据权利要求5所述的数据存储方法,其特征在于,所述擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据的步骤包括:
若当前存储页为所述存储块的最后一页时,则擦除所述存储块的第一页存储页,并将所述存储块的初始地址作为写入地址,写入所述存储数据;
若当前存储页不为所述存储块的最后一页时,则擦除当前存储页的下一页存储页,并将该下一页存储页的起始地址作为写入地址,写入所述存储数据。
7.根据权利要求5所述的数据存储方法,其特征在于,对存储页进行擦除为单次擦除;
所述单次擦除的数据量大小为所述flash存储器的最小擦除数据量。
8.根据权利要求5所述的数据存储方法,其特征在于,所述存储数据包括表底数、剩余金额、剩余气量和配置数据中至少一种。
9.根据权利要求8所述的数据存储方法,其特征在于,所述数据存储方法还包括:根据不同类型的所述存储数据的单位空间大小和数据获取频率,在所述flash存储器中划分对应类型的存储块大小,所述存储块包括至少一页存储页。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求5-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011417529.5A CN112525278A (zh) | 2020-12-05 | 2020-12-05 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011417529.5A CN112525278A (zh) | 2020-12-05 | 2020-12-05 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112525278A true CN112525278A (zh) | 2021-03-19 |
Family
ID=74997268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011417529.5A Pending CN112525278A (zh) | 2020-12-05 | 2020-12-05 | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112525278A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873718A (zh) * | 2006-06-29 | 2006-12-06 | 北京时代嘉华环境控制科技有限公司 | 一种电力参数自动记录与传输装置 |
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种flash存储器擦写方法 |
CN102306125A (zh) * | 2011-08-17 | 2012-01-04 | 深圳市共进电子股份有限公司 | 一种flash存储器的数据擦写方法 |
CN107608639A (zh) * | 2017-10-20 | 2018-01-19 | 深圳益邦阳光有限公司 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
CN107608906A (zh) * | 2017-09-26 | 2018-01-19 | 北京智芯微电子科技有限公司 | 减少片内flash擦除次数的方法 |
-
2020
- 2020-12-05 CN CN202011417529.5A patent/CN112525278A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873718A (zh) * | 2006-06-29 | 2006-12-06 | 北京时代嘉华环境控制科技有限公司 | 一种电力参数自动记录与传输装置 |
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种flash存储器擦写方法 |
CN102306125A (zh) * | 2011-08-17 | 2012-01-04 | 深圳市共进电子股份有限公司 | 一种flash存储器的数据擦写方法 |
CN107608906A (zh) * | 2017-09-26 | 2018-01-19 | 北京智芯微电子科技有限公司 | 减少片内flash擦除次数的方法 |
CN107608639A (zh) * | 2017-10-20 | 2018-01-19 | 深圳益邦阳光有限公司 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5568423A (en) | Flash memory wear leveling system providing immediate direct access to microprocessor | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US8549271B1 (en) | Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device | |
US9235534B2 (en) | Data protecting method, memory controller and memory storage apparatus | |
US8825946B2 (en) | Memory system and data writing method | |
US7925821B2 (en) | Nonvolatile semiconductor storage device and method of managing the same | |
US9772937B2 (en) | Data processing method, memory controller and memory storage apparatus | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
US9971682B2 (en) | Wear-leveling system and method for reducing stress on memory device using erase counters | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
CN113641630A (zh) | 一种flash存储器 | |
KR20030036133A (ko) | 고속 데이터 액세스를 유지하면서 ram 크기를감소시키는 방법 및 장치 | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN100440383C (zh) | 外部存储性能测试方法和装置 | |
CN112525278A (zh) | 一种应用均衡寿命存储方法的智能燃气表及数据存储方法 | |
CN102736981A (zh) | 提高nor flash擦写寿命的方法 | |
CN110618784B (zh) | 数据存储装置及其操作方法 | |
CN103354925A (zh) | 存储器控制器 | |
US20210326251A1 (en) | Non-volatile storage device, host device, and data storage system | |
JP4334331B2 (ja) | フラッシュメモリのアクセス制御方法 | |
CN118034610B (zh) | 应用于存储器的密钥数据处理方法、存储器、装置及设备 | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
CN112988038A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
CN107229413B (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 |