数据存取方法、存取装置、家电设备和可读存储介质制造方法及图纸

技术编号:18397932 阅读:16 留言:0更新日期:2018-07-08 19:05
本发明专利技术提供了一种数据存取方法、存取装置、家电设备和可读存储介质,其中,数据存取方法包括:在微控制芯片执行上电初始化操作时,读取RAM存储器中的指定数据副本的逻辑地址,以根据预设的映射关系,确定逻辑地址对应Flash存储器中的物理地址;确定物理地址指向的存储区域,以确定存储区域中指定数据副本的当前最新副本的读地址,和/或指定数据副本的待写入副本的写地址;根据读地址读取Flash中的当前最新副本,或根据写地址将待写入副本写入Flash中。通过本发明专利技术的技术方案,不需要进行存储数据的临时备份,节省了RAM存储器的资源从而能够广泛应用于内存资源紧缺,不方便划分大量内存资源记录Flash存储状况的空调设备上的单片机(微控制芯片)上。

【技术实现步骤摘要】
数据存取方法、存取装置、家电设备和可读存储介质
本专利技术涉及存储器
,具体而言,涉及一种数据存取方法、一种数据存取装置、一种家电设备和一种计算机可读存储介质。
技术介绍
针对空调器等家电设备,采用微控制芯片(MicrocontrollerUnit,MCU)控制设备运行,并将相关数据存储在Flash,Flash具有以下特性:(1)需要先擦后写,不能使用新数据覆盖旧数据,因此为了确保擦写失败后依然有可用的数据,相关技术中,采用在Flash上保留数据的两个备份的方式,先擦写主数据,再擦写备份数据;(2)擦除粒度远大于写入粒度,一次可以只写入1个字节的数据,但一次擦除会擦除整个扇区的数据,典型值为4096字节;针对上述的Flash特性,在使用过程中存在以下缺陷:(1)扇区内只存放远小于扇区空间的数据,会造成Flash空间和寿命的浪费;(2)擦除扇区时需要对不进行更新的其他数据在MCU的RAM上进行临时备份,导致占用大量的RAM资源,对与很多RAM大小比扇区大小要小的空调设备使用的嵌入式MCU来说是不可能的。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术的目的在于提供一种数据存取方法、一种数据存取装置、一种一种微控制芯片和一种计算机可读存储介质。为了实现上述目的,本专利技术的第一方面的技术方案提供了一种数据存取方法,包括:在微控制芯片执行上电初始化操作时,读取RAM存储器中的指定数据副本的逻辑地址,以根据预设的映射关系,确定逻辑地址对应Flash存储器中的物理地址;确定物理地址指向的存储区域,以确定存储区域中指定数据副本的当前最新副本的读地址,和/或指定数据副本的待写入副本的写地址;根据读地址读取Flash中的当前最新副本,或根据写地址将待写入副本写入Flash中。在该技术方案中,通过在上电初始化时,对RAM存储器中的逻辑地址进行地址映射,以确定对应的物理地址,以根据物理地址查找Flash中对应的存储区域,进而确定存储区域中的数据副本读地址与数据副本写地址,以根据读地址读取数据副本,或根据写地址重新写入更新后的数据,一方面,RAM中只需要存储逻辑地址,以根据逻辑地址确定指向的数据副本的读地址与写地址,不需要进行存储数据的临时备份,节省了RAM存储器的资源从而能够广泛应用于内存资源紧缺,不方便划分大量内存资源记录Flash存储状况的空调设备上的单片机(微控制芯片)上。具体地,把Flash上的指定范围的地址都映射为一个特定地址数据,作为逻辑地址,指定范围内可以具有多个扇区,在多个扇区内存放指定数据的多个副本,通过确定当前最新副本的读地址,和/或待写入副本的写地址,以对应执行读取与写入操作。其中,地址映射最小单位可以为1页。在上述技术方案中,优选地,在微控制芯片执行上电初始化操作时,读取RAM存储器中的指定数据副本的逻辑地址前,还包括:根据指定数据的长度将存储区域中的每个扇区划分为多个数据区域;根据写入时间,将指定数据副本顺序写入每个扇区中的数据区域内在该技术方案中,通过将每个扇区划分为多个数据区域,以在每个数据区间内都存储一个数据副本,在同一时间内存有同一数据的多个副本,实现了扇区存储区间的充分利用,并且设备每次上电时都能找到一份可用的数据,就算设备在擦写运行关键数据过程中意外掉电,再启动后依然能够正常运行,有效提高设备鲁棒性。其中,指定数据可以为运行配置数据。具体地,一个存储区域可以为1页,1页可以由多个扇区,每个扇区具有多个数据区域,即一个扇区可以存储多个数据副本,在每个扇区内,数据副本的存储均按照存储时间从前往后存储,即存取区域越前,存储数据的版本越低。在上述任一技术方案中,优选地,确定存储区域中指定数据副本的当前最新副本的读地址,和/或指定数据副本的待写入副本的写地址,具体包括以下步骤:根据存储区域的初始地址,对多个数据区域顺序进行扫描,以确定第一位特定数据区域,特定数据区域中具有能够校验通过的指定数据副本;自第一位特定数据区域起,检测是否具有多个连续的存储数据的数据区域;在检测到具有多个连续的数据区域时,确定最后位特定数据区域,以将最后位特定数据区域的地址确定为当前最新副本的读地址;检测最后位特定数据区域之后是否具有可写入数据区域;在检测到具有可写入数据区域时,将第一个扫描到的可写入数据区域的地址确定为待写入副本的写地址。在该技术方案中,通过根据存储区域的初始地址执行存储区域的扫描操作,初始地址对应第一个扇区的第一个数据区域,通常都会存储数据副本,在该数据副本未损坏的情况下,数据副本可以通过校验,即第一个数据区域为第一个数据区域,从第一个含有校验通过的数据的区域开始,连续多个含有数据的区域中(无论校验是否通过)中,最后一个通过校验的数据,则可以确定为为当前最新副本,当前最新副本后,继续顺序扫描,扫描到的第一个可以写入数据的区域为更新版本的待写入副本的数据区域,从而在新版本数据写入过程中,针对写入操作不再直接覆盖旧数据,而是在区域内写入数据的新版本。具体地,根据存储区域的初始地址执行存储区域的扫描操作,在最初完全存储状态下,第一扇区存储的数据为最旧版本的数据,在存储区域已经写满多个版本的指定数据时,则首先擦除第一扇区存储的数据,以在第一扇区写入更新版本的数据,此时第一扇区的数据版本相对更高,在扫描操作时,只需要对第一扇区进行扫描操作,以确定读地址与写地址。在上述任一技术方案中,优选地,还包括:在检测到不具有可写入数据区域时,将写入时间最早的扇区中的指定数据副本擦除;将擦除的扇区内最前的数据区域,确定为待写入副本的写地址。在该技术方案中,在检测到不具有可写入区域时,即在写入操作后所有数据区域均被写满时,则需要先擦除保存最旧版本数据的扇区,以为更加新的版本的写入腾出空间,与现有技术中的存取方案相比,不需要频繁的执行擦除操作,从而有利于Flash使用寿命的延长。具体地,在前面的扇区因为读写区域写满而被擦除时,则需要从起始地址开始重新写入,此时,待写入副本的数据区域处于新版本数据和旧版本数据之间,并可以作为间隔区域进行区分新版本的数据与旧版本的数据。在上述任一技术方案中,优选地,根据写地址将待写入副本写入Flash中,具体包括以下步骤:在将待写入副本写入Flash中后,校验检测待写入副本是否校验通过;在检测到待写入副本校验未通过时,确定下一个可写入数据区域,直至待写入副本写入后校验通过;在检测到待写入副本校验通过时,将待写入副本确定为当前最新副本,并更新指定数据副本的逻辑地址。在该技术方案中,在执行数据写入操作时,在数据副本写入后,检测数据写入是否成功,即数据副本校验是否通过,以在校验未通过时,则继续顺延到后一个数据区域,继续执行写入操作,并在写入成功后,将待写入副本确定为当前最新副本,以及将下一个待写入区域确定为待写入区域的地址,从而实现读数据、写数据的地址更新,在更新数据时,只需要写入新副本,只有在指定的Flash存储区域都写满时才擦除存放旧数据的扇区,大大减少了Flash的擦除次数,有效延长Flash的寿命。具体地,数据副本的校验操作,可以通过在数据后面增加校验码实现,也可以通过哈希计算实现。本专利技术的第二方面的技术方案提供了一种数据存取装置,包括:读取单元,用本文档来自技高网...

【技术保护点】
1.一种数据存取方法,适用于微控制芯片,所述微控制芯片包括RAM存储器,所述还连接有Flash存储器,其特征在于,所述数据存取方法包括:在所述微控制芯片执行上电初始化操作时,读取所述RAM存储器中的指定数据副本的逻辑地址,以根据预设的映射关系,确定所述逻辑地址对应所述Flash存储器中的物理地址;确定所述物理地址指向的存储区域,以确定所述存储区域中所述指定数据副本的当前最新副本的读地址,和/或所述指定数据副本的待写入副本的写地址;根据所述读地址读取所述Flash中的所述当前最新副本,或根据所述写地址将所述待写入副本写入所述Flash中。

【技术特征摘要】
1.一种数据存取方法,适用于微控制芯片,所述微控制芯片包括RAM存储器,所述还连接有Flash存储器,其特征在于,所述数据存取方法包括:在所述微控制芯片执行上电初始化操作时,读取所述RAM存储器中的指定数据副本的逻辑地址,以根据预设的映射关系,确定所述逻辑地址对应所述Flash存储器中的物理地址;确定所述物理地址指向的存储区域,以确定所述存储区域中所述指定数据副本的当前最新副本的读地址,和/或所述指定数据副本的待写入副本的写地址;根据所述读地址读取所述Flash中的所述当前最新副本,或根据所述写地址将所述待写入副本写入所述Flash中。2.根据权利要求1所述的数据存取方法,其特征在于,所述在所述微控制芯片执行上电初始化操作时,读取所述RAM存储器中的指定数据副本的逻辑地址前,还包括:根据指定数据的长度将所述存储区域中的每个扇区划分为多个数据区域;根据写入时间,将所述指定数据副本顺序写入所述每个扇区中的所述数据区域内。3.根据权利要求2所述的数据存取方法,其特征在于,所述确定所述存储区域中指定数据副本的当前最新副本的读地址,和/或所述指定数据副本的待写入副本的写地址,具体包括以下步骤:根据所述存储区域的初始地址,对多个数据区域顺序进行扫描,以确定第一位特定数据区域,所述特定数据区域中具有能够校验通过的所述指定数据副本;自所述第一位特定数据区域起,检测是否具有多个连续的存储数据的数据区域;在检测到具有多个连续的所述数据区域时,确定最后位特定数据区域,以将所述最后位特定数据区域的地址确定为所述当前最新副本的读地址;检测所述最后位特定数据区域之后是否具有可写入数据区域;在检测到具有所述可写入数据区域时,将第一个扫描到的所述可写入数据区域的地址确定为所述待写入副本的写地址。4.根据权利要求3所述的数据存取方法,其特征在于,还包括:在检测到不具有所述可写入数据区域时,将写入时间最早的扇区中的所述指定数据副本擦除;将擦除的所述扇区内最前的所述数据区域,确定为所述待写入副本的写地址。5.根据权利要求3或4所述的数据存取方法,其特征在于,所述根据所述写地址将所述待写入副本写入所述Flash中,具体包括以下步骤:在将所述待写入副本写入所述Flash中后,校验检测所述待写入副本是否校验通过;在检测到所述待写入副本校验未通过时,确定下一个所述可写入数据区域,直至所述待写入副本写入后校验通过;在检测到所述待写入副本校验通过时,将所述待写入副本确定为所述当前最新副本,并更新所述指定数据副本的逻辑地址。6.一种数据存取装置,适用于微控制芯片,所述微控制芯片包括RAM存储器与Flash存储器,其特征在于,所述数据存取装置包括:读取单元,用于在所...

【专利技术属性】
技术研发人员:欧阳焜胡渊翔
申请(专利权)人:广东美的制冷设备有限公司
类型:发明
国别省市:广东,44

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

1