[发明专利]一种数据读写方法及装置在审
申请号: | 202211017965.2 | 申请日: | 2022-08-24 |
公开(公告)号: | CN115437566A | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 李敏刚 | 申请(专利权)人: | 杭州华橙软件技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 杜晶 |
地址: | 310053 浙江省杭州市滨*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 读写 方法 装置 | ||
本申请公开了一种数据读写方法及装置,用以缩短利用非型闪存进行数据读写所需的时长,提高数据读写效率以及非型闪存空间利用率。本申请提供的一种将数据写入非型闪存的方法,包括:将当前数据块写入非型闪存的当前物理块中;当当前物理块不是非型闪存的第一个物理块时,检查当前物理块的前一物理块中的数据块是否发生比特翻转;当前一物理块中的数据块发生比特翻转时,将之前写入前一物理块中的原始数据块重新写入当前物理块的下一物理块中。
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据读写方法及装置。
背景技术
由于硬件实现上的物理特性,flash(闪存)按物理块进行读写操作,将数据块写入某个物理块时,可能会导致该物理块邻近的物理块中存储的数据块某个比特发生翻转,如果flash上存储的是压缩文件系统,例如squashfs(压缩的只读文件系统),由于数据块发生比特翻转,可能会导致解压读取数据失败,从而导致文件系统挂载启动异常。
发明内容
本申请实施例提供了一种数据读写方法及装置,用以利用非型闪存写数据时,将发生比特翻转的数据块重新写入下一个物理块中,从而可以避免对非型闪存进行写数据的过程中导致的相邻物理块中的数据异常,缩短数据读写所需的时长,提高数据读写效率。
本申请实施例提供的一种将数据写入非型闪存的方法,包括:
将当前数据块写入所述非型闪存的当前物理块中;
当所述当前物理块不是所述非型闪存的第一个物理块时,检查所述当前物理块的前一物理块中的数据块是否发生比特翻转;
当所述前一物理块中的数据块发生比特翻转时,将之前写入所述前一物理块中的原始数据块重新写入所述当前物理块的下一物理块中。
通过该方法,将当前数据块写入所述非型闪存的当前物理块中;当所述当前物理块不是所述非型闪存的第一个物理块时,检查所述当前物理块的前一物理块中的数据块是否发生比特翻转;当所述前一物理块中的数据块发生比特翻转时,将之前写入所述前一物理块中的原始数据块重新写入所述当前物理块的下一物理块中,从而可以避免对当前物理块进行写数据的过程中导致的相邻物理块中的数据异常。
在一些实施例中,所述方法还包括:
针对每一写入所述非型闪存的数据块,记录该数据块与该数据块最近一次所写入的物理块的索引映射关系。
通过该方法,建立起每一数据块与其最近一次写入物理块之间的索引映射关系,便于后续读取数据时根据该索引映射关系查找到数据块实际对应的物理块。
在一些实施例中,当所述前一物理块中的数据块发生比特翻转时,所述方法还包括:
标记所述前一物理块为隔离块。
通过该方法,将发生比特翻转的数据块对应的物理块标记为隔离块,不再写入数据,避免干扰前面已写入的数据块。
在一些实施例中,当所述当前物理块不是所述非型闪存的第一个物理块时,检查所述当前物理块的前一物理块中的数据块是否发生比特翻转,包括:
当所述当前物理块不是所述非型闪存的第一个物理块,并且所述当前物理块的前一物理块不是隔离块时,检查所述当前物理块的前一物理块中的数据块是否发生比特翻转。
通过该方法,剔除了检查第一个物理块和隔离块中的数据块是否发生比特翻转,从而减少了检查次数,提高了数据写入效率。
在一些实施例中,当所述前一物理块中的数据块发生比特翻转时,所述方法还包括:
擦除所述当前物理块中的数据,并将所述当前数据块重新写入所述当前物理块中。
通过该方法,可避免前一物理块中的原始数据块重新写入当前物理块的下一物理块中时产生的干扰。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华橙软件技术有限公司,未经杭州华橙软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211017965.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置