【技术实现步骤摘要】
一种Flash存储器的数据更新方法和装置
本专利技术涉及数据处理
,尤其涉及一种Flash存储器的数据更新方法和装置。
技术介绍
Flash存储器为半导体存储芯片,数据写入方式以页为单元先擦除再写入数据。现有的嵌入式操作系统普遍基于以Flash物理器件存储介质的方案,Flash存储的擦写次数是其使用寿命的关键性能,但现有Flash文件存储方式:固定文件存储方式,这种方法采用文件体逻辑上与单一的物理地址映射。每次对文件的更新都在该物理存储位置。固定文件存储方案由于文件的物理存储位置固定,无法实现特定对擦写次数要求较高的应用要求,其存储数据的更新寿命与Flash的极限擦写性能一致。基础文件机制无法提升文件的擦写寿命。因此,对Flash存储器的访问存在的问题是采用固定文件地址的方式使得文件数据的存储擦写寿命与物理存储器的寿命一致,难以保证高寿命的应用需求。
技术实现思路
鉴于上述的分析,本专利技术实施例旨在提供一种Flash存储器的数据更新方法和装置,用以解决现有文件数据的存储擦写难以保证高寿命的应用需求的问题。一方面,本专利技术实施例提供了一种Flash存储器的数据更新方法,包括:根据文件数据更新请求和当前地址映射表,确定与待更新的文件数据相对应的原逻辑页以及所述原逻辑页映射的原物理页,其中,所述原物理页包括一个或多个物理页;根据所述当前地址映射表所在的物理页的位置,在空闲物理页表中以循环的方式查找一个或多个空闲物理页并将查找到的空闲物理页作为数据空闲物理页,其中,所述数 ...
【技术保护点】
1.一种Flash存储器的数据更新方法,其特征在于,包括:/n根据文件数据更新请求和当前地址映射表,确定与待更新的文件数据相对应的原逻辑页以及所述原逻辑页映射的原物理页,其中,所述原物理页包括一个或多个物理页;/n根据所述当前地址映射表所在的物理页的位置,在空闲物理页表中以循环的方式查找一个或多个空闲物理页并将查找到的空闲物理页作为数据空闲物理页,其中,所述数据空闲物理页包括与所述原物理页中物理页的数量相同的一个或多个第一空闲物理页;/n将所述待更新的文件数据读出到缓存,在所述缓存中更新所述文件数据,将更新后的文件数据对应地写入到所述数据空闲物理页中;以及/n将所述当前地址映射表读取到所述缓存中,在所述缓存中更新所述当前地址映射表,并将更新后的当前地址映射表写入第二空闲物理页中。/n
【技术特征摘要】
1.一种Flash存储器的数据更新方法,其特征在于,包括:
根据文件数据更新请求和当前地址映射表,确定与待更新的文件数据相对应的原逻辑页以及所述原逻辑页映射的原物理页,其中,所述原物理页包括一个或多个物理页;
根据所述当前地址映射表所在的物理页的位置,在空闲物理页表中以循环的方式查找一个或多个空闲物理页并将查找到的空闲物理页作为数据空闲物理页,其中,所述数据空闲物理页包括与所述原物理页中物理页的数量相同的一个或多个第一空闲物理页;
将所述待更新的文件数据读出到缓存,在所述缓存中更新所述文件数据,将更新后的文件数据对应地写入到所述数据空闲物理页中;以及
将所述当前地址映射表读取到所述缓存中,在所述缓存中更新所述当前地址映射表,并将更新后的当前地址映射表写入第二空闲物理页中。
2.根据权利要求1所述的Flash存储器的数据更新方法,其特征在于,所述当前地址映射表包括校验码、版本信息、地址映射表标识和多个映射表项,其中,所述映射表项的序号对应于逻辑页,以及所述映射表项中的内容对应于所述物理页。
3.根据权利要求2所述的Flash存储器的数据更新方法,其特征在于,在所述缓存中更新所述当前地址映射表进一步包括:
在所述缓存中将所述当前地址映射表中的版本信息递增以更新所述版本信息;
在所述缓存中更新所述当前地址映射表中的一个或多个映射表项中的内容;以及
在所述缓存中根据所述更新的版本信息、所述地址映射表标识和更新的一个或多个映射表项重新计算校验码,并利用计算的校验码更新所述当前地址映射表的校验码。
4.根据权利要求3所述的Flash存储器的数据更新方法,其特征在于,当所述原物理页包括一个物理页时,更新所述当前地址映射表中的一个映射表项,包括:
通过将序号为所述原逻辑页的映射表项中的内容修改为所述数据空闲物理页中的一个物理页的地址来修改原文件数据在所述当前地址映射表中原逻辑页和原物理页的映射关系。
5.根据权利要求3所述的Flash存储器的数据更新方法,其特征在于,当所述原物理页包括多个物理页时,更新所述当前地址映射表中的多个映射表项,包括:
通过将序号为所述原逻辑页的多个映射表项中的内容顺序修改为所述数据空闲物理页中的多个物理页的地址来修改原文件数据在所述当前地址映射表中原逻辑页和原物理页的映射关系。
6.根据权利要求1所述的Flash存储器的数据更新方法,其特征在于,所述空闲物理页表用于管理所述Flash存储器的所有物理页,其中,在空闲物理页表中将所述一个或多个原物理页的状态标记为空闲状态并将所述一个或多个第一空闲物理页的状态标记为占用状态。
7.根据权利要求1所述的Flash存储器的数据更新方法,其特征在于,根据文件数据更新请求和当前地址映射表,确定与待更新的文件数据相对应的原逻辑页以及所述原逻辑页映射的原物理页进一步包括:
根据文件数据更新请求提供的逻辑地址和更新数据长度,确定所述待更新的文件数据的逻辑地址范围;
基于所述逻辑地址范围获得与所述逻辑地址范围相对应的原逻辑页;以及
根据所述当前地址映射表和所述原逻辑页确定所述待更新的文件数据实际存储的原物理页。
8.根据权利要求3所述的Flash存储器的数据更新方法,其特征在于,将所述当前地址...
【专利技术属性】
技术研发人员:黄明,刘青,王卫东,张秀玲,
申请(专利权)人:北京华弘集成电路设计有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。