[发明专利]一种存储设备地址对齐的自动纠正方法和装置在审
申请号: | 201410648027.1 | 申请日: | 2014-11-14 |
公开(公告)号: | CN104461925A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 徐旸;刘友生;张延枫;张书宁;吴庆民 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 设备 地址 对齐 自动 纠正 方法 装置 | ||
技术领域
本发明涉及计算机数据存储领域,具体涉及一种存储设备地址对齐的自动纠正方法和装置。
背景技术
随着计算机数据存储系统容量的不断增大,底层存储设备对容量的管理方式也在不断的发生着变化。
传统机械硬盘的物理块大小为512字节,而较新型的存储设备如使用高级格式化技术的机械硬盘物理块大小为4096字节、固态硬盘的物理块则一般为4096字节—16384字节。当计算机系统是为传统机械硬盘设计时,计算机系统无法正确识别物理块大小,每次对存储设备的访问请求的地址可能无法与存储设备物理块的起始地址对齐。在发生非对齐写入时,硬盘首先需要读取出要写入的物理块上原有的数据,使用要写入的数据覆盖原有数据中对应的部分,再将修改后的数据写入到存储设备上。而在对齐写入时,存储设备只需要将要写入的数据覆盖写入到目标物理块上即可。因此,对存储设备的非对齐写入会降低硬件性能,并加速硬件设备的老化。但是在非对齐访问的情况下,存储设备的功能还是完整的,导致用户难以察觉到发生了问题。
目前的解决方案一般是使用特定的软件检查存储设备物理块对齐情况,并对上层应用(如文件系统等)进行重新配置。这个操作需要用户手动执行,并且不能在设备使用时执行,易用性较差。
发明内容
为了解决上述问题,本发明提出了一种存储设备地址对齐的自动纠正方法和装置,可以解决现有存储设备对齐纠正方案中存在的需要对上层应用进行重新配置、需要手动执行、易用性差的缺点。
为了达到上述目的,本发明提出了一种存储设备地址对齐的自动纠正方法,该方法包括:
通过映射表对存储设备收到的访问请求进行检测,如果检测出访问请求的逻辑地址为非对齐访问地址,则根据映射表中记录的偏移量对非对齐访问地址进行纠正对齐操作,如果未检测出访问请求的逻辑地址为非对齐访问地址,则将访问请求的逻辑地址保存在逻辑地址统计缓存内。
当逻辑地址统计缓存中的条目数量达到上限时,异步地执行迁移流程;判断出逻辑地址统计缓存内通过映射表未检测出的非对齐访问地址段,建立非对齐访问地址段的访问请求的逻辑地址与物理地址之间的映射关系,添加到映射表的条目中,并根据迁移过程中判断出的地址段起始逻辑地址和地址段偏移量将非对齐访问地址段以地址段偏移量统一向前移动;在通过移动完成对非对齐访问地址段的自动纠正对齐操作后,读取对齐后的访问请求的逻辑地址所对应的物理地址中的数据。
优选地,对存储设备收到的访问请求进行检测是指:在存储设备收到读取或写入请求时,根据访问请求中的逻辑地址在映射表中查找是否存在访问请求的逻辑地址的记录;如果映射表中存在该访问请求的逻辑地址的记录,则该访问请求的逻辑地址为非对齐地址;如果映射表中不存在该访问请求的逻辑地址的记录,则该访问请求的逻辑地址为对齐地址或该访问请求的逻辑地址为非对齐地址但尚未记录在映射表中。
优选地,该方法还包括:通过映射表管理访问请求的逻辑地址到实际物理地址的映射关系,存储访问请求的逻辑地址和实际物理地址之间的偏移量。
其中,在存储设备处于初始状态时,访问请求的逻辑地址和物理地址之间不存在偏移量。
优选地,迁移流程包括非对齐访问地址段的判断流程,包括以下步骤:
41、从逻辑地址统计缓存中读取存储的一个访问请求的逻辑地址。
42、判断所读取的访问请求的逻辑地址和其所在的物理块的起始地址之间的偏移量是否为0。
如果偏移量为0,则进行43;如果偏移量不为0,则进行44。
43、继续判断该逻辑地址是否为逻辑地址统计缓存中的最后一个逻辑地址,如果是最后一个逻辑地址则退出流程;如果不是最后一个逻辑地址,则继续从逻辑地址统计缓存中读取下一个访问请求的逻辑地址,返回步骤41。
44、记录当前处理的访问请求的逻辑地址为地址段起始逻辑地址,并记录当前处理的访问请求的逻辑地址与其所在的物理块的起始地址之间的偏移量为地址段偏移量。
45、继续判断当前处理的访问请求的逻辑地址是否为逻辑地址统计缓存中的最后一个逻辑地址,如果是最后一个逻辑地址,则退出迁移流程;如果不是最后一个逻辑地址,则从逻辑地址统计缓存中读取下一个访问请求的逻辑地址。
46、判断该访问请求的逻辑地址是否等同于上一个处理的访问请求的逻辑地址或上一个处理的访问请求的逻辑地址加上一个物理块的长度;如果是,则记录当前处理的所述访问请求的逻辑地址为地址段结束逻辑地址;如果否,则判断上一个处理的访问请求的逻辑地址为一个完整的非对齐访问地址段,其同时为地址段起始逻辑地址与地址段结束逻辑地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410648027.1/2.html,转载请声明来源钻瓜专利网。