[发明专利]重定向写入方法及装置有效
申请号: | 201480000321.X | 申请日: | 2014-03-13 |
公开(公告)号: | CN104169864B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 曹长斌;李大权 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定向 写入 方法 装置 | ||
技术领域
本发明实施例涉及通信技术,尤其涉及一种重定向写入方法及装置。
背景技术
重定向写(Redirect On Write,简称ROW)与写前拷贝(Copy On Write,简称COW)是硬盘写入的两种方法。
现有的ROW写入方法中,数据写入分条时,如待写入数据的大小小于分条大小,则会先读取分条中最近一次保存的数据,然后将读取到的数据与待写入数据合并,产生一个与分条大小相同的数据,最后将合并得到的数据写入新的分条中。
上述现有的ROW写入方法中,在待写入数据小于分条大小的情况下,若对应分条中最近一次保存的数据读取失败,则待写入数据将无法写入对应分条中,导致数据写入失败。
发明内容
本发明实施例提供一种重定向写入方法及装置,以解决现有技术中在待写入数据小于分条大小的情况下,若对应分条中最近一次保存的数据读取失败,待写入数据无法写入对应分条中,数据写入失败的问题。
本发明的第一方面提供了一种重定向写入方法,包括:
接收写入指令,所述写入指令中包含待写入数据和分条地址;
比较所述待写入数据的大小与所述分条地址对应的分条的大小;
若所述待写入数据的大小小于所述分条的大小,确定所述分条最近一次保存的第一数据是否能够成功读取;
若不能成功读取,将所述待写入数据与第二数据进行合并,以得到与所述分条的大小相同的待写入数据并写入所述分条,其中,所述第二数据用于代替所述第一数据并且所述第二数据的大小等于所述分条的大小。
在第一方面的第一种可能的实现方式中,所述确定所述分条最近一次保存的第一数据是否能够成功读取,包括:
读取坏块标记;
根据读取的坏块标记,确定所述第一数据所在的块是否被标记为坏块;
若是,则确定所述第一数据不能够成功读取。
在第一方面的第二种可能的实现方式中,所述确定所述分条最近一次保存的第一数据是否能够成功读取,包括:
尝试从所述分条中读取所述第一数据;
若无法读取,则确定所述分条最近一次保存的第一数据不能够成功读取。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若无法读取,则所述确定所述分条最近一次保存的第一数据不能够成功读取之前,还包括:
对所述第一数据进行冗余恢复;
所述确定所述分条最近一次保存的第一数据不能够成功读取,包括:
若所述第一数据不能恢复,则确定所述第一数据不能够成功读取。
结合第一方面、第一方面的第一至第三种任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第二数据为具有预设格式的数据。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第二数据为全为0的数据或全为1的数据。
本发明第二方面提供了一种重定向写入装置,包括:
接收模块,用于接收写入指令,所述写入指令中包含待写入数据和分条地址;
比较模块,用于比较所述待写入数据的大小与所述分条地址对应的分条的大小;
读取模块,用于若所述待写入数据的大小小于所述分条的大小,确定所述分条最近一次保存的第一数据是否能够成功读取;
写入模块,用于若不能成功读取,将所述待写入数据与第二数据进行合并,以得到与所述分条的大小相同的待写入数据并写入所述分条,其中,所述第二数据用于代替所述第一数据并且所述第二数据的大小等于所述分条的大小。
在第二方面的第一种可能的实现方式中,所述读取模块,具体用于:
读取坏块标记;
根据读取的坏块标记,确定所述第一数据所在的块是否被标记为坏块;
若是,则确定所述第一数据不能够成功读取。
在第二方面的第二种可能的实现方式中,所述读取模块,具体用于:
尝试从所述分条中读取所述第一数据;
若无法读取,则确定所述分条最近一次保存的第一数据不能够成功读取。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述读取模块具体用于:
若无法读取,确定所述分条最近一次保存的第一数据不能够成功读取之前,对所述第一数据进行冗余恢复;
若所述第一数据不能恢复,则确定所述第一数据不能够成功读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480000321.X/2.html,转载请声明来源钻瓜专利网。