[发明专利]一种检测潜在扇区错误的方法在审
申请号: | 201510561598.6 | 申请日: | 2015-09-06 |
公开(公告)号: | CN105159807A | 公开(公告)日: | 2015-12-16 |
发明(设计)人: | 蔡丰龙 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 检测 潜在 扇区 错误 方法 | ||
技术领域
本发明涉及计算机系统及存储领域,具体涉及一种检测潜在扇区错误的方法。
背景技术
潜在扇区错误(LSES)是一种常见的硬盘故障模式,在磁盘扇区不可用但是硬盘的其余部分不受影响。为了防止潜在扇区错误,需要相关方法检测潜在错误。目前,普遍检测潜在错误扇区采取的方法是利用读的方式,从头到尾读写每一个扇区,这种方式的缺点在于检测效率较低,对所有扇区进行读操作,也影响并发上层业务的效率。上述方法性能较低,需要进行优化。
发明内容
本发明要解决的技术问题是针对潜在扇区错误,提出一种检测潜在扇区错误的方法,与现有检测方法相比,具有对上层业务影响较小、检测效率高的优势。
本发明提供了一种检测潜在扇区错误的方法,其特征在于:采用随机读的方式进行检测潜在扇区错误。
进一步地,所述方法应用于内核空间。
进一步地,所述方法应用于内核空间的通用块层。
进一步地,所述方法通过自举的方式被激活。
进一步地,所述自举的方式被激活是指休眠的线程被插在CPU的睡眠队列,直到需要读写一个特定的设备被激活。
进一步地,所述随机读的方式包括通过通用块擦除器层的接口来发送擦除请求到I/O调度器,以及设置擦除器线程的I/O优先级。
进一步地,所述请求伪装成普通的读请求。
进一步地,所述请求发出后,回调休眠队列,并完成应答。
进一步地,所述擦除器线程经SCSI验证后发送到I/O调度器层。
进一步地,所述随机读的读取大小为16MB。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1示出了根据本发明一实施例的内核擦除器(kernelscrubber)的架构图。
具体实施方式
本发明作为一种检测潜在扇区错误的方法,该方法是利用随机读方式来检测潜在错误扇区,可以在一定程度上提高检测效率、减少对上层业务的影响。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合
相对于背景技术所述的潜在磁盘扇区错误检测方法,本发明的随机读的策略的核心在于:可以更快的探测磁盘的不同区域,并且“期望”这些探测可以检测到错误区域,此种策略在高等数学的概率学中已被证明。因此,采用随机读的方法可以有效的提高检测的效率。
对于本发明的方法,需要确定如下细节:实现该方法需要在内核空间还是用户空间,如果是内核空间具体处于哪一位置;何时调度使用该方法;该方法的读取速度是多少;每一次读写的大小是多少。下面将对这些问题进行进一步阐述。
从本发明的需求以及要解决的问题来看,它需要调用LINUX内核中的调度策略(CFQ)来完成调度策略,而在用户空间无法避免调度策略的缺失,因此在内核空间来进行是最为合适。需要基于磁盘进行读操作,并且需要用到CFQ调度器,因此,本方法应该位于块I/O子系统的通用块层(GenericBlocklayer)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510561598.6/2.html,转载请声明来源钻瓜专利网。