数据写入方法及装置、数据读取方法及装置的制造方法

文档序号:9261183阅读:313来源:国知局
数据写入方法及装置、数据读取方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据读写领域,特别涉及一种数据写入方法及装置、数据读取方法及
>J-U ρ?α装直。
【背景技术】
[0002]在嵌入式应用中,非掉电易失数据的存储一般使用电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)方式,EEPROM 凭借其可以完成数据的单字节读写的特点,在血压监测设备等需要对历史数据进行单字节的实时更新和数据顺序读取的设备,应用较为广泛,血压监测设备等设备需要通过记忆功能保存最新测得的一组数据,并需要存储设备能够在每次测试后,实时地更新数据库,在读取数据的时候,需要存储设备可以从最新的测试数据库中循环读取测得的数据,作为某一段时间的血压数据趋势分析,这对于血压管理非常重要。
[0003]然而,使用EEPROM实现历史数据的实时存取,虽然使用起来较为方便,但是在使用时必须在微控制单元(Micro Control Unit,MCU)之外单独增加EEPROM芯片,这样就涉及到了产品的成本增加的问题,同时还需要占用一定的MCU外围资源,一般占用一个IIC总线接口,所谓的IIC总线是IC器件之间连接的两线式集成电路总线。

【发明内容】

[0004]本发明提供了一种数据写入方法及装置、数据读取方法及装置,以达到降低产品成本的目的。
[0005]本发明实施例提供了一种数据写入方法,包括:在数据闪存中,按数据块顺序将数据写入到第一个未被写满的数据块中;当数据闪存中所有数据块均被写满,擦除最先被写满的数据块中的数据。
[0006]在一个实施例中,将数据写入到第一个未被写满的数据块中,包括:按照第一个未被写满的数据块中存储地址的顺序,将数据写入到该数据块中。
[0007]在一个实施例中,所述数据块中存储地址的顺序是按照从小到大的顺序排列的。
[0008]在一个实施例中,所述数据闪存中的每个数据块包括:标志区和数据区,其中,标志区中的标志位数据与数据区中的存储地址--对应,标志区中的标志位数据用于指示数据区中对应的存储地址是否已经有数据写入。
[0009]在一个实施例中,在标志位数据为FFH时,指示对应的存储地址没有数据写入,在标志位数据为00H时,指示对应的存储地址已经有数据写入。
[0010]在一个实施例中,所述数据闪存中数据块的个数为2个。
[0011]本发明实施例还提供了一种数据读取方法,包括:在按上述数据写入方法写入数据后:确定待获取数据在数据闪存中的存储地址;从确定的存储地址中读取所述待获取数据。
[0012]在一个实施例中,确定待获取数据在所述数据闪存中的存储地址,包括:确定存储所述待获取数据的数据块;确定所述待获取数据在该数据块中的存储地址。
[0013]在一个实施例中,数据块中数据的存储地址是按照数据存入的先后排序的。
[0014]在一个实施例中,确定所述待获取数据在所述数据闪存中的存储地址,包括:在所述待获取数据是第η个历史数据,且当前所述数据闪存中已存储的数据个数m小于η的情况下,在存储有数据的存储地址中从后向前循环查找,直至找到第η个存储地址。
[0015]本发明实施例还提供了一种数据写入装置,包括:写入单元,用于在数据闪存中,按数据块顺序将数据写入到第一个未被写满的数据块中;擦除单元,用于当数据闪存中所有数据块均被写满时,擦除最先被写满的数据块中的数据。
[0016]在一个实施例中,写入单元具体用于按照第一个未被写满的数据块中存储地址的顺序,将数据顺序写入到该数据块中。
[0017]在一个实施例中,数据块中存储地址的顺序是按照从小到大的顺序排列的。
[0018]在一个实施例中,所述数据闪存中的每个数据块包括:标志区和数据区,其中,标志区中的标志位数据与数据区中的存储地址--对应,标志区中的标志位数据用于指示数据区中对应的存储地址是否已经有数据写入。
[0019]在一个实施例中,在标志位数据为FFH时,指示对应的存储地址没有数据写入,在标志位数据为OOH时,指示对应的存储地址已经有数据写入。
[0020]在一个实施例中,数据闪存中数据块的个数为2个。
[0021]本发明实施例还提供了一种数据读取装置,包括:确定接收单元,用于在通过上述数据写入装置写入数据后,确定待获取数据在数据闪存中的存储地址;读取单元,用于从确定的存储地址中读取所述待获取数据。
[0022]在一个实施例中,所述确定单元包括:第一确定模块,用于确定存储所述待获取数据的数据块;第二确定模块,用于所述待获取数据在该数据块中的存储地址。
[0023]在一个实施例中,数据块中数据的存储地址是按照数据存入的先后排序的。
[0024]在一个实施例中,确定单元具体用于在所述待获取数据是第η个历史数据,且当前所述数据闪存中已存储的数据个数m小于η的情况下,在存储有数据的存储地址中从后向前循环查找,直至找到第η个存储地址。
[0025]在本发明实施例中,按照数据块顺序将数据写入到数据闪存的第一个未被写满的数据块中,在写完数据之后,判断数据闪存中是否所有的数据块都已写满数据,如果都已被写满,则擦除最先被写满的数据块中的数据。通过这种数据写入方式使得数据闪存中可以保存最新的历史数据,同时因为是采用了顺序存储的方式,也使得可以顺序读取数据闪存中存储的历史数据。通过上述在数据闪存中保存历史数据的方式,解决了现有技术中通过EEPROM存储历史数据而导致的产品的成本高,需要占用MCU外围资源的技术问题,达到了降低产品成本和减少MCU外围资源的占用的技术效果。
【附图说明】
[0026]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
[0027]图1是本发明实施例的数据写入方法流程图;
[0028]图2是本发明实施例的数据读取方法流程图;
[0029]图3是本发明实施例的数据写入装置结构示意图;
[0030]图4是本发明实施例的数据读取装置结构示意图;
[0031]图5是本发明实施例的数据写入方法具体流程图;
[0032]图6是本发明实施例的数据读取方法具体流程图。
【具体实施方式】
[0033]为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
[0034]发明人发现,数据闪存(Data Flash)—般都是集成在MCU内部的,是MCU的片上资源,如果通过Data Flash可以实现EEPROM的历史数据的实时更新与顺序读取的功能,那么将可以降低产品的成本,使得产品更具性价比,同时也无需再占用MCU的外围资源。但是,Data Flash只能实现数据块的整块擦除,在数据块被整块擦除后,整个数据块内的数据将全部被清空,因此,Data Flash 一般情况下仅用于整体数据的实时更新与读取,如果可以克服这个问题,那么就可以通过Data Flash可以实现EEPROM的历史数据的实时更新与顺序读取的功能,以降低产品的成本,减少MCU外围资源的使用。本发明实施例提供的一种数据写入和数据读取方法,以实现上述目的。
[0035]在本发明实施例中,该数据写入方法,如图1所示,包括以下步骤:
[0036]步骤101:在数据闪存中,按数据块顺序将数据写入到第一个未被写满的数据块中;
[0037]步骤102:当数据闪存中所有数据块均被写满,擦除最先被写满的数据块中的数据。
[0038]在上述实施例中,按照数据块顺序将数据写入到了数据闪存的第一个未被写满的数据块中,在写完数据之后,判断数据闪存中是否所有的数据块都已写满数据,如果都已被写满,则擦除最先被写满的数据块中的数据。通过这种数据写入方式使得数据闪存中可以保存最新的历史数据,同时因为是采用了顺序存储的方式,也使得可以顺序读取数据闪存中存储的历史数据。通过上述在数据闪存中保存历史数据的方式,解决了现有技术中通过EEPROM存储历史数据而导致的产品的成本高,需要占用MCU外围资源的技术问题,达到了降低产品成本和减少MCU外围资源的占用的技术效果。
[0039]考虑到在数据闪存的数据块内部有存储先后的问题,为了更方便地对数据进行读取,可以按照上述第一个未被写满的数据块中存储地址的顺序,将数据顺序写入到该数据块中,例如可以是按照数据块中存储地址
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1