一种提高数据写入完整性的方法_4

文档序号:8209004阅读:来源:国知局
入的尾页地址,用所述尾页地址更新所述尾 备份页地址,用所述待写入的尾页地址更新所述尾页地址,清除尾备份页的掉电标识,结 束。
3. 如权利要求2所述的方法,其特征在于,所述初始化操作,具体包括: 擦除坏页地址记录区,擦除坏页替换区,设置文件系统区中的数据区的页号,擦除文件 系统区中的备份区中的所有备份页,建立RAM页号表,将所述文件系统区中的数据区中的 每个页的页号和地址写入所述RAM页号表中,将所述文件系统区的备份区中的每个备份页 的页号和地址写入所述RAM页号表中。
4. 如权利要求3所述的方法,其特征在于,所述根据所述首页页号获取首页地址,根据 所述首页地址查找首页,具体包括: 从所述RAM页号表中读取与所述首页页号对应的地址,作为首页地址,从所述文件系 统区中的数据区中查找所述首页地址对应的首页; 所述根据预设的首备份页标识获取首备份页地址,根据所述首备份页地址查找首备份 页,具体包括: 根据所述预设的首备份页标识从所述RAM页号表中获取未被使用的备份页地址,将其 作为首备份页地址,从所述文件系统的备份区中查找所述首备份页地址对应的首备份页; 所述用所述首页地址更新所述首备份页地址,用所述待写入的首页地址更新所述首页 地址,具体包括: 用所述首页地址更新所述RAM页号表中的首备份页地址,用所述待写入的首页地址更 新所述RAM页号表中的首页地址。
5. 如权利要求3所述的方法,其特征在于,所述根据所述中间页页号获取中间页地址, 根据所述中间页地址查找中间页,具体包括: 从所述RAM页号表中读取与所述中间页页号对应的地址,将其作为中间页地址,从所 述文件系统区中的数据区中查找所述中间页地址对应的中间页; 所述根据预设的中间备份页标识获取中间备份页地址,根据所述中间备份页地址查找 中间备份页,具体包括: 根据预设的中间备份页标识从所述RAM页号表中获取未被使用的备份页地址,将其作 为中间备份页地址,从所述文件系统的备份区中查找所述中间备份页地址对应的中间备份 页; 所述用所述中间页地址更新所述中间备份页地址,用所述待写入的中间页地址更新所 述中间页地址,具体包括: 用所述中间页地址更新所述RAM页号表中的中间备份页地址,用所述待写入的中间页 地址更新所述RAM页号表中的中间页地址。
6. 如权利要求3所述的方法,其特征在于,所述根据所述尾页页号获取尾页地址,根据 所述尾页地址查找尾页,具体包括: 从所述RAM页号表中读取与所述尾页页号对应的地址,作为尾页地址,从所述文件系 统区中的数据区中查找所述尾页地址对应的尾页; 所述根据预设的尾备份页标识获取尾备份页地址,根据所述尾备份页地址查找尾备份 页,具体包括: 根据预设的尾备份页标识从所述RAM页号表中获取未被使用的备份页地址,将其作为 尾备份页地址,从所述文件系统的备份区中查找所述尾备份页地址对应的尾备份页; 所述用所述尾页地址更新所述尾备份页地址,用所述待写入的尾页地址更新所述尾页 地址,具体包括: 用所述尾页地址更新所述RAM页号表中的尾备份页地址,用所述待写入的尾页地址更 新所述RAM页号表中的尾页地址。
7. 如权利要求1所述的方法,其特征在于,所述步骤S1,具体包括: 步骤K1 ;初始化存储器地址,将其作为当前页地址,将掉电页数置为初始值,执行步骤 K2 ; 步骤K2 ;判断当前页地址是否为页尾,是则执行步骤S2 ;否则执行步骤K3 ; 步骤K3 ;从所述当前页地址中读取当前页的掉电标识和当前页号,判断所述当前页的 掉电标识是否合法,是则执行步骤K4 ;否则执行步骤K6 ; 步骤K4 ;将所述当前页号和所述当前页地址保存至所述第一缓存区中,执行步骤K5 ; 步骤K5 ;更新所述当前页地址,更新掉电页数,返回步骤K2 ; 步骤K6 ;更新所述当前页地址,返回步骤K2。
8. 如权利要求2所述的方法,其特征在于,所述根据预设的首备份页标识获取首备份 页地址,具体包括: 根据预设的首备份页标识获取未被使用的备份页地址,将其作为首备份页地址; 所述根据预设的中间备份页标识获取中间备份页地址,具体包括: 根据预设的中间备份页标识获取未被使用的备份页地址,将其作为中间备份页地址; 所述根据预设的尾备份页标识获取尾备份页地址,具体包括: 根据预设的尾备份页标识获取未被使用的备份页地址,将其作为尾备份页地址。
9. 如权利要求2所述的方法,其特征在于,所述步骤bl,具体包括: 接收外部传入的物理地址、待写参数、待写参数的长度; 将所述物理地址与页中有效数据长度值做除法运算,将得到的运算结果作为首页页 号; 将所述物理地址与所述页中有效数据长度值做求余运算,将得到的运算结果作为首页 偏移量; 将所述页中有效数据长度值减去所述首页偏移量,将得到的运算结果作为首页待写参 数长度; 将所述物理地址与所述待写参数的长度相加再减1,将得到的计算结果与所述页中有 效数据长度值做除法运算,得到的运算结果作为尾页页号; 将所述物理地址与所述待写参数的长度相加,将得到的计算结果与所述页中有效数据 长度值做求余运算,将得到的运算结果作为尾页待写参数长度。
10. 如权利要求2所述的方法,其特征在于,所述根据所述首页偏移量、所述首页地址 和所述首页待写参数长度,从所述外部传入的参数中的待写参数中获取首页待写参数,将 所述首页待写参数写入所述首页数据中,具体包括: 根据所述首页偏移量和所述首页地址,计算所述待写参数在所述首页中的起始地址, 从所述待写参数高位端开始获取长度与所述首页待写参数长度相同的数据,将其作为首页 待写参数,从所述待写参数在首页中的起始地址开始,将所述首页待写参数写入所述首页 数据中。
11. 如权利要求10所述的方法,其特征在于,所述根据所述首页待写参数长度和所述 尾页待写参数长度,从所述外部传入的参数中的待写参数中获取中间页待写参数,将所述 中间页待写参数写入所述中间页数据中,具体包括: 从所述待写参数的低位端开始获取长度与所述尾页待写参数长度相同的数据,将其作 为所述尾页待写参数; 从所述待写参数中获取除所述首页待写参数和所述尾页待写参数外的数据,将其作为 中间页待写参数,将所述中间页待写参数写入所述中间页数据中。
12. 如权利要求3所述的方法,其特征在于,所述擦除当前页之后,还包括: 判断是否成功擦除所述当前页,是则执行步骤S5 ;否则将所述当前页的地址作为当前 坏页地址,对所述当前坏页地址执行坏块处理操作,然后重新擦除当前页; 所述擦除与所述当前页号相同的其他页之后,还包括: 判断是否成功擦除与所述当前页号相同的其他页,是则执行步骤S7;否则将所述其他 页的地址作为当前坏页地址,对所述当前坏页地址执行坏块处理操作,然后重新擦除与所 述当前页号相同的其他页; 所述清除所述当前页的掉电标识之后,还包括: 判断是否成功清除所述当前页的掉电标识,是则继续向下执行;否则将所述当前页的 地址作为当前坏页地址,对所述当前坏页地址执行坏块处理操作,然后重新清除所述当前 页的掉电标识。
13. 如权利要求3所述的方法,其特征在于,所述将所述首页数据写入所述首备份页中 之后,还包括: 判断是否成功将所述首页数据写入所述首备份页中,是则执行步骤b3 ;否则 将首备份页的地址作为当前坏页地址,对当前坏页地址执行坏块处理操作,根据预设 的首备份页标识获取首备份页地址,根据所述首备份页地址查找首备份页,将所述首页数 据写入所述首备份页中; 所述将中间页数据写入所述中间备份页中之后,还包括: 判断是否成功将所述中间页数据写入所述中间备份页中,是则执行步骤b4;否则将所 述中间备份页的地址作为当前坏页地址,对当前坏页地址执行坏块处理操作,根据预设的 中间备份页标识获取中间备份页地址,根据所述中间备份页地址查找中间备份页,将所述 中间页数据写入所述中间备份页中; 所述将所述尾页数据写入所述尾备份页中之后,还包括: 判断是否成功将所述尾页数据写入所述尾备份页中,是则执行步骤b5 ;否则将所述尾 备份页的地址作为当前坏页地址,对所述
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1