[发明专利]一种基于NOR Flash的存储管理方法无效
申请号: | 201410108471.4 | 申请日: | 2014-03-21 |
公开(公告)号: | CN103853669A | 公开(公告)日: | 2014-06-11 |
发明(设计)人: | 朱华;周俊;靳聪 | 申请(专利权)人: | 北京国芯威电子科技股份有限公司上海分公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹 |
地址: | 200235 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明采用节点数据结构列表来管理NOR Flash上的数据碎片,把有效的数据节点按照地址偏移的顺序进行链接,每次写入或更新数据,只需新建一个节点,并把原有重复的数据节点重新标记就可以了,其逻辑写操作把复杂的擦除写回动作简化为直接写的动作,把复杂的擦除过程放到后面的垃圾回收流程里,大大简化了流程,提升了性能,也避免了在数据写回时发生断电而导致的数据丢失。本发明提供了一种NOR Flash储存介质直接读写访问的接口,无需考虑NOR Flash页的边界和擦除,自动处理访问地址位宽和边界对齐,并且均衡NOR Flash写入寿命。 | ||
搜索关键词: | 一种 基于 nor flash 存储 管理 方法 | ||
【主权项】:
一种基于NOR Flash的存储管理方法,其特征在于,步骤为:第一步、将NOR Flash的块划分为至少8等分,划分后的每个区域为一个单元,定义节点的数据结构、USE_FREE数据列表及DIRTY_CLEAN数据列表,其中:节点的数据结构至少包括节点头、节点长度、偏移地址、数据长度及当前节点被正确存储后赋值在数据结构最末的节点尾标识符;USE_FREE数据列表中每一位对应不同的单元,对每一位赋予不同的值表示所对应的单元是否被写过;DIRTY_CLEAN数据列表中每一位对应不同的单元,对每一位赋予不同的值表示所对应的单元是否被破坏;第二步、初始化:步骤2.1、自NOR Flash的起始物理地址开始,逐个扫描NOR Flash的存储空间内的每个单元;步骤2.2、若当前单元存储的数据与节点头匹配,则表示当前单元被写过,为USE_FREE数据列表中与当前单元对应的位赋予表示被写过的值,随后以节点长度为步长,将下一个位置存储的数据与节点尾标识符匹配,若与节点尾标识符匹配,则为DIRTY_CLEAN数据列表中与当前单元对应的位赋予表示未被破坏的值,当前节点为有效节点,若与节点尾标识符不匹配,则为DIRTY_CLEAN数据列表中与当前单元对应的位赋予表示被破坏的值;若当前单元存储的数据与节点头不匹配,则表示当前单元未被写过,为USE_FREE数据列表中与当前单元对应的位赋予表示未被写过的值;步骤2.3、以单元长度为步长跳转至下一个单元后重新执行步骤2.2,直至扫描完NOR Flash存储空间内的所有单元;步骤2.4、将所有有效节点链接起来形成DataNode数据列表,并得到初始化后的USE_FREE数据列表及DIRTY_CLEAN数据列表;第三步、对NOR Flash进行逻辑读操作或逻辑写操作,其中,进行逻辑读的步骤为:将给出的所要读的偏移地址及数据长度与DataNode数据列表中每个有效节点的偏移地址及数据长度匹配,若落在当前节点里,则根据当前节点对应的物理地址计算出数据存储的物理地址,利用Nor Flash快速读的特性,直接读取数据;若均不匹配,则直接返回空数据;进行逻辑写的步骤为:步骤3.1、根据待写入的数据的长度从USE_FREE数据列表中找到满足写入长度的单元,新建一个节点后连同待写入的数据一起写入到Nor Flash的物理地址上;步骤3.2、将给出的所要读的偏移地址及数据长度与DataNode数据列表中每个有效节点的偏移地址及数据长度匹配,若落在当前节点里,为DIRTY_CLEAN数据列表中与当前单元对应的位赋予表示被破坏的值;若均不匹配,则将新写入的节点链接至DataNode数据列表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国芯威电子科技股份有限公司上海分公司,未经北京国芯威电子科技股份有限公司上海分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410108471.4/,转载请声明来源钻瓜专利网。