CN106502839B - 一种基于汽车BCM Flash的存储方法及*** - Google Patents

一种基于汽车BCM Flash的存储方法及*** Download PDF

Info

Publication number
CN106502839B
CN106502839B CN201610954556.3A CN201610954556A CN106502839B CN 106502839 B CN106502839 B CN 106502839B CN 201610954556 A CN201610954556 A CN 201610954556A CN 106502839 B CN106502839 B CN 106502839B
Authority
CN
China
Prior art keywords
sector
storage
occupies
information
bits
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
CN201610954556.3A
Other languages
English (en)
Other versions
CN106502839A (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.)
AOZE ELECTRONICS Co Ltd WUHAN
Original Assignee
AOZE ELECTRONICS Co Ltd WUHAN
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 AOZE ELECTRONICS Co Ltd WUHAN filed Critical AOZE ELECTRONICS Co Ltd WUHAN
Priority to CN201610954556.3A priority Critical patent/CN106502839B/zh
Publication of CN106502839A publication Critical patent/CN106502839A/zh
Application granted granted Critical
Publication of CN106502839B publication Critical patent/CN106502839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Selective Calling Equipment (AREA)

Abstract

本发明提供一种基于汽车BCM Flash的存储方法,其包括如下步骤:S1、对数据存储结构进行划分;S2、在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;S3、在初始化完毕后进行数据存储控制。本发明还提供一种基于汽车BCM Flash的存储***。

Description

一种基于汽车BCM Flash的存储方法及***
技术领域
本发明涉及汽车BCM信息储存技术领域,特别涉及一种基于汽车BCM Flash的存储方法及***。
背景技术
汽车BCM需要存储的信息包括遥控钥匙信息(每把已学习的遥控钥匙序列号、同步计数器值,及有效遥控数量)、防盗状态、喇叭设置模式等。
Flash闪存的有效擦写次数在十万次~一百万次左右,所以需要采取磨损平衡的策略,每次存储请求要求延迟写入。但遥控学习信息及数据扇区转存过程中,为防欠压影响,需要对数据采取立即写入。
为保证掉电后数据的完整性,在初始化时必须对扇区数据进行甄别,通过本文的存储策略,无论何种情况下掉电,都能有效的恢复存储数据信息,不影响用户正常使用。
发明内容
因此,有必要提供一种能够实现在无论何种情况下掉电,都能有效的恢复存储数据信息,不影响用户正常使用的基于汽车BCM Flash的存储方法及***。
一种基于汽车BCM Flash的存储方法,其包括如下步骤:
S1、对数据存储结构进行划分;
S2、在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
S3、在初始化完毕后进行数据存储控制。
在本发明所述的基于汽车BCM Flash的存储方法中,所述步骤S1包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中。
在本发明所述的基于汽车BCM Flash的存储方法中,存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
在本发明所述的基于汽车BCM Flash的存储方法中,存储其他配置信息的Block中数据格式如下:
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
在本发明所述的基于汽车BCM Flash的存储方法中,
所述步骤S2包括:
S21、每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
S22、在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,并跳转到步骤S23;否则将使用过的扇区作为当前扇区,并跳转到步骤S23;
S23、查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
在本发明所述的基于汽车BCM Flash的存储方法中,
所述步骤S3包括:
S31、存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
S32、请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
S33、扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
S34、扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
本发明还提供一种基于汽车BCM Flash的存储***,其包括如下单元:
存储结构确定单元,用于对数据存储结构进行划分;
初始化单元,用于在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
存储控制单元,用于在初始化完毕后进行数据存储控制。
在本发明所述的基于汽车BCM Flash的存储***中,所述存储结构确定单元包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中;
存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位;
存储其他配置信息的Block中数据格式如下:
Figure GDA0002127681520000041
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
在本发明所述的基于汽车BCM Flash的存储***中,
所述初始化单元包括:
每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息;否则将使用过的扇区作为当前扇区,并查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
在本发明所述的基于汽车BCM Flash的存储***中,
所述存储控制单元包括:
存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
实施本发明提供的基于汽车BCM Flash的存储方法及***与现有技术相比具有以下有益效果:本发明能够实现保证掉电后数据的完整性,在初始化时必须对扇区数据进行甄别,通过本文的存储策略,无论何种情况下掉电,都能有效的恢复存储数据信息,不影响用户正常使用。
附图说明
图1是本发明实施例的数据存储内容及格式示意图;
图2是本发明实施例的初始化流程图;
图3是本发明实施例的第一种区分当前扇区、备份扇区示意图;
图4是本发明实施例的第二种区分当前扇区、备份扇区示意图;
图5是本发明实施例的数据存储流程示意图。
具体实施方式
一种基于汽车BCM Flash的存储方法,其包括如下步骤:
S1、对数据存储结构进行划分;
S2、在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
S3、在初始化完毕后进行数据存储控制。
在本发明所述的基于汽车BCM Flash的存储方法中,所述步骤S1包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中。
如图1所示,在本发明所述的基于汽车BCM Flash的存储方法中,存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
如图1所示,在本发明所述的基于汽车BCM Flash的存储方法中,存储其他配置信息的Block中数据格式如下:
Figure GDA0002127681520000061
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
在本发明所述的基于汽车BCM Flash的存储方法中,
所述步骤S2包括:
S21、每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
S22、在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,并跳转到步骤S23;否则将使用过的扇区作为当前扇区,并跳转到步骤S23;
S23、查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
由于存在***掉电,写入错误,扇区交换等各种特殊因素影响,扇区的初始状态是不可预知的,而初始化最重要的目的首先就是区分新旧扇区,并从相应的扇区中取出我们所需要的存储数据。因此首先通过检查每个扇区的Block使用情况,分成“空”和“非空”两种情况,再根据图2,区分当前和备份扇区。
当检测到两个扇区数据都非空时,说明上次写入肯定发生不可预知的故障。这个时候我们再读取每个扇区的Cnt值,读取不到,则判定该扇区数据异常,不可信任,参考图3的方案,判定当前扇区和备份扇区。
这里需要强调的是,Cnt是只有在发生转存的时候,才会向上计数,因此两个扇区的Cnt差值应该在1,否则一定发生扇区故障。Cnt值大的说明该扇区为发生转存的扇区,这时还需要判断扇区配置信息里的遥控数量与已检索到的遥控数量是否相符合,相符才说明上次转存成功,否则说明上次转存过程中出现掉电,数据丢失,数据已不可信任,就只能从另一个扇区恢复数据,并判定该转存扇区为备份扇区。
在本发明所述的基于汽车BCM Flash的存储方法中,
所述步骤S3包括:
S31、存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
S32、请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
S33、扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
S34、扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
存储阶段掉电过程检验,是否满足我们所需要的信息能及时恢复,或者挽回的数据,而不影响用户后续的使用。
①数据写入之前掉电,默认之前的遥控学习信息及配置信息。
②数据写到一半掉电,同样会检索之前的遥控学习信息及配置信息。
③数据转存过程中掉电,如果是因为当前扇区写入错误,那么在初始化时两个扇区数据都不可信任,均被擦除。如果是因为当前扇区已满或空间不足,那么在初始化时,被转存的扇区最后一条Block信息校验不通过,就会信任已满或空间不足的那个扇区;如果校验通过,比较两个扇区的Cnt值,以及遥控数量与已检索到的遥控数量是否相符,来确定信任哪个扇区。这点已在前面的图2及图3,详细阐述。
本发明还提供一种基于汽车BCM Flash的存储***,其包括如下单元:
存储结构确定单元,用于对数据存储结构进行划分;
初始化单元,用于在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
存储控制单元,用于在初始化完毕后进行数据存储控制。
在本发明所述的基于汽车BCM Flash的存储***中,所述存储结构确定单元包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中;
存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位;
存储其他配置信息的Block中数据格式如下:
Figure GDA0002127681520000091
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
在本发明所述的基于汽车BCM Flash的存储***中,
所述初始化单元包括:
每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息;否则将使用过的扇区作为当前扇区,并查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
在本发明所述的基于汽车BCM Flash的存储***中,
所述存储控制单元包括:
存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

Claims (8)

1.一种基于汽车BCM Flash的存储方法,其特征在于,其包括如下步骤:
S1、对数据存储结构进行划分,包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中;
存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位;
S2、在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
S3、在初始化完毕后进行数据存储控制。
2.如权利要求1所述的基于汽车BCM Flash的存储方法,其特征在于,存储其他配置信息的Block中数据格式如下:
Figure FDA0002127681510000011
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
3.如权利要求2所述的基于汽车BCM Flash的存储方法,其特征在于,
所述步骤S2包括:
S21、每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
S22、在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,并跳转到步骤S23;否则将使用过的扇区作为当前扇区,并跳转到步骤S23;
S23、查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
4.如权利要求3所述的基于汽车BCM Flash的存储方法,其特征在于,
所述步骤S3包括:
S31、存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
S32、请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
S33、扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
S34、扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
5.一种基于汽车BCM Flash的存储***,其特征在于,其包括如下单元:
存储结构确定单元,用于对数据存储结构进行划分,包括:
将汽车BCM使用的Flash分为两种扇区,即当前扇区Sector0和备份扇区Sector1;将每个扇区划分为许多个块Block,每个Block作为数据存储的最基本单元;每次写入时,按照Block依次写入,直到当前扇区数据写满,就转入到下个扇区继续写入;
将遥控钥匙信息存储在一个Block中;将其他配置信息存储在另一Block中;
存储遥控钥匙信息的Block中数据格式如下:
SerNO Syn Cnt Checksum
其中SerNO为遥控序列号,占32位;
Syn为遥控同步值,占16位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位;
初始化单元,用于在***上电时进行初始化,检查每个扇区的使用状态,并通过检查情况,确定最新扇区及备份扇区,并从最新扇区里,读取所需的存储信息;
存储控制单元,用于在初始化完毕后进行数据存储控制。
6.如权利要求5所述的基于汽车BCM Flash的存储***,其特征在于,
存储其他配置信息的Block中数据格式如下:
Figure FDA0002127681510000031
其中,SerNO为遥控序列号,值为0,占32位;
AlarmSts为防盗状态位,占3位;
HornSts为喇叭使能状态位,占1位;
KeyCnt为有效遥控数量信息,占3位;
reserved1为第一预留位,占1位;
Reserved2为第二预留位,占8位;
Cnt为存储计数器值,占8位;在每次发生转存时,Cnt值加1,用于初始化过程中,通过比较Cnt大小,判断哪个扇区为当前扇区;
Checksum为校验位,占8位。
7.如权利要求6所述的基于汽车BCM Flash的存储***,其特征在于,
所述初始化单元包括:
每次***上电时,进行初始化,检查2个扇区的使用状态,判断是否发生2个扇区都使用过的情况;
在发生都使用的情况时,检查是否存在扇区交换错误,并擦除备份扇区,查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息;否则将使用过的扇区作为当前扇区,并查找最新的配置信息,确定遥控钥匙数量;并查找最新对应数量的遥控器信息。
8.如权利要求7所述的基于汽车BCM Flash的存储***,其特征在于,
所述存储控制单元包括:
存储请求等待阶段STORAGE_IDLE,当有请求需要写入时,记录此时的请求;
请求写入阶段STORAGE_WRITE,其中遥控学***衡的策略,延迟写入;当所有请求写入完成时,则退出写入过程;
在写入过程中:
当写入扇区发生写入错误时,必须转存扇区,在备份扇区写入;
当需要写入的Block数量,不满足当前扇区的空余空间,或者当前扇区已满时,将需要写入的所有信息转存备份扇区;
扇区信息交换阶段STORAGE_EXCHANGE_SECTOR,当所有信息转存结束,擦除之前标定的当前扇区数据,重新定义之前的备份扇区为当前扇区;
扇区擦除过程STORAGE_ERASE完成后,退出本次存储过程。
CN201610954556.3A 2016-10-27 2016-10-27 一种基于汽车BCM Flash的存储方法及*** Active CN106502839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610954556.3A CN106502839B (zh) 2016-10-27 2016-10-27 一种基于汽车BCM Flash的存储方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610954556.3A CN106502839B (zh) 2016-10-27 2016-10-27 一种基于汽车BCM Flash的存储方法及***

Publications (2)

Publication Number Publication Date
CN106502839A CN106502839A (zh) 2017-03-15
CN106502839B true CN106502839B (zh) 2020-01-10

Family

ID=58322525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610954556.3A Active CN106502839B (zh) 2016-10-27 2016-10-27 一种基于汽车BCM Flash的存储方法及***

Country Status (1)

Country Link
CN (1) CN106502839B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228095B (zh) * 2017-12-15 2021-02-09 中国航空工业集团公司西安飞行自动控制研究所 一种基于Flash进行实时信息记录的方法
CN116974492B (zh) * 2023-09-21 2023-12-12 北京远特科技股份有限公司 一种基于flash的里程数据存储方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789404A (zh) * 2011-05-20 2012-11-21 北京同方微电子有限公司 一种用于ic卡更新数据时防掉电数据存储的方法
CN103176859A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种flash数据备份/恢复方法、设备及信号源
CN105404475A (zh) * 2015-12-14 2016-03-16 武汉奥泽电子有限公司 MCU片内小容量flash的存储管理***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140129758A1 (en) * 2012-11-06 2014-05-08 Spansion Llc Wear leveling in flash memory devices with trim commands

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789404A (zh) * 2011-05-20 2012-11-21 北京同方微电子有限公司 一种用于ic卡更新数据时防掉电数据存储的方法
CN103176859A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种flash数据备份/恢复方法、设备及信号源
CN105404475A (zh) * 2015-12-14 2016-03-16 武汉奥泽电子有限公司 MCU片内小容量flash的存储管理***及方法

Also Published As

Publication number Publication date
CN106502839A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
EP2003569B1 (en) Flash memory controller
US9460796B2 (en) Memory system, program method thereof, and computing system including the same
US7594157B2 (en) Memory system with backup circuit and programming method
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US7505338B2 (en) Memory systems and memory cards that use a bad block due to a programming failure therein in single level cell mode and methods of operating the same
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
CN103425589A (zh) 控制装置、存储装置以及存储控制方法
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN104282342A (zh) 闪存装置、存储器控制器及闪存的控制方法
CN107544922B (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
US20150186211A1 (en) Method, device and operating system for processing and using burn data of nand flash
CN106502839B (zh) 一种基于汽车BCM Flash的存储方法及***
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US20090164869A1 (en) Memory architecture and configuration method thereof
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
CN111324549B (zh) 一种存储器及其控制方法和装置
CN106354651B (zh) 平均磨损方法、存储器控制电路单元及存储器储存装置
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
CN113138720B (zh) 数据存储方法、存储器控制电路单元以及存储器存储装置
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN111324291B (zh) 一种存储器
CN110289036B (zh) 读取电压最佳化方法以及存储控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 430090 No.499, Xingcheng Avenue, Shamao street, economic development zone, Hannan District, Wuhan City, Hubei Province

Patentee after: WUHAN AOZE ELECTRONICS Co.,Ltd.

Address before: 430090 Hubei Province, Wuhan District of Wuchang City Baishazhou embankment Backstreet 52 (Wuchang science and Technology Venture Center, No. 2)

Patentee before: WUHAN AOZE ELECTRONICS Co.,Ltd.

CP02 Change in the address of a patent holder