一种硬盘写操作失败时的处理方法及系统与流程

文档序号:17078249发布日期:2019-03-08 23:57阅读:526来源:国知局
一种硬盘写操作失败时的处理方法及系统与流程

本发明涉及硬盘读写技术领域,尤其涉及一种硬盘写操作失败时的处理方法及系统。



背景技术:

在计算机的操作系统对硬盘执行写操作过程中,倘若写操作的目的地址存在不可修复的坏块时,经常会造成写操作失败,接下来操作系统会对硬盘执行重置操作,如果对硬盘的重置操作失败,则会认为硬盘故障,此时,操作系统就会屏蔽硬盘所在的ata端口,禁止上层应用访问硬盘,必须重新启动操作系统才解除屏蔽,会给用户带来极大麻烦,因此需要提前对硬盘写操作失败的情况进行防范,这样遇到硬盘写操作失败的情况才能及时有效的处理。



技术实现要素:

为解决背景技术中存在的技术问题,本发明提出一种硬盘写操作失败时的处理方法及系统。

本发明提出的一种硬盘写操作失败时的处理方法,包括判断操作系统源代码是否公开、操作系统进行硬盘写操作、判断本次写操作状态、判断重置操作是否失败、瞬时错误处理、判断硬盘参数是否为第一布尔值和数据分析;

判断操作系统源代码是否公开;当操作系统源代码已公开,则操作系统对硬盘进行写操作;当操作系统源代码未公开,则重新编制包含有根据写操作是否失败来设置硬盘状态参数代码的硬盘读写驱动程序,且将硬盘的初始化状态参数设为第二布尔值,第二布尔值与第一布尔值不同,并使用重新编制的硬盘读写驱动程序代替操作系统中原有的硬盘读写驱动程序,然后操作系统对硬盘进行写操作;

判断本次写操作状态;当本次操作系统对硬盘进行写操作时成功,则结束;当本次操作系统对硬盘进行写操作时失败,则进行瞬时错误处理;经过瞬时错误处理后,设置硬盘状态参数为第一布尔值,跟踪操作系统对硬盘所在的ata端口的重置操作;

判断重置操作是否失败;当重置操作成功,则进行数据分析,并生成分析报告;

当重置操作失败,则对硬盘状态参数是否为第一布尔值进行判断;

判断硬盘参数是否为第一布尔值;当硬盘参数状态为第一布尔值,则修改重置操作结果,返回重置操作成功的信息,避免操作系统屏蔽硬盘所在的ata端口;当硬盘参数状态不是第一布尔值,则对数据进行分析,并生成分析报告;

在硬盘发生写操作失败时,操作系统不再屏蔽该硬盘所在的ata端口,使得故障点前后的硬盘空间可以继续响应上层应用层的读写请求,使得存在不可修复故障点的硬盘能够继续使用,并且能够对硬盘写操作失败过程进行分析,并生成分析报告,能够更加清楚地了解硬盘写操作失败原因及过程。

优选的,瞬时错误处理包括硬盘写操作失败次数是否累计超过阀值、硬盘中的坏块是否累计超过阀值和硬盘写操作性能是否低于阀值;

当写操作失败次数累计超过阀值,则设置该块为坏块,并做相关处理;

当硬盘中的坏块累计超过阀值,则该硬盘已无法正常服务;当硬盘中的坏块累计未超过阀值,则对硬盘的写操作性能进行统计更新;

当硬盘写操作性能低于阀值,则硬盘已无法正常服务;当硬盘写操作性能不低于阀值,可继续进行重置操作;

瞬时错误处理能够及时有效的对硬盘写操作失败进行判断,并能够给出恰当的处理结果。

一种硬盘写操作失败时的处理系统,包括操作系统源代码判断模块、硬盘写操作判断模块、瞬时错误处理模块、硬盘写操作处理模块、重置操作判断模块、硬盘参数判断模块、重置操作处理模块和分析模块;

操作系统源代码判断模块,用于判断操作系统源代码是否公开;硬盘写操作判断模块,用于判断本次操作系统对硬盘进行写操作的状态;瞬时错误处理模块,用于对硬盘写操作时失败的结果进行处理;硬盘写操作处理模块,用于当硬盘写操作时失败后,设置硬盘状态参数为第一布尔值,并跟踪操作系统对硬盘所在ata端口的重置操作;重置操作判断模块,用于判断重置操作是否失败;硬盘参数判断模块,用于判断硬盘参数是否为第一布尔值;重置操作处理模块,用于当硬盘参数状态为第一布尔值时,对重置操作结果进行修改,并返回重置操作成功的信息,避免操作系统屏蔽硬盘所在的ata端口;

分析模块,用于对本次硬盘写操作的过程和数据进行分析,并生成分析报告;各个模块负责相应的工作,最终完成对硬盘写操作失败时的处理。

本发明中,能够对硬盘写操作失败进行瞬时错误处理,并且不会屏蔽硬盘所在的ata端口,能够对硬盘的写操作过程进行分析,处理效果极佳。

附图说明

图1为本发明提出的一种硬盘写操作失败时的处理方法的流程图。

图2为本发明提出的一种硬盘写操作失败时的处理方法及系统中瞬时错误处理的流程图。

图3为本发明提出的一种硬盘写操作失败时的处理系统的结构框图。

具体实施方式

参照图1-3,本发明提出的一种硬盘写操作失败时的处理方法,包括判断操作系统源代码是否公开、操作系统进行硬盘写操作、判断本次写操作状态、判断重置操作是否失败、瞬时错误处理、判断硬盘参数是否为第一布尔值和数据分析;

判断操作系统源代码是否公开;当操作系统源代码已公开,则操作系统对硬盘进行写操作;当操作系统源代码未公开,则重新编制包含有根据写操作是否失败来设置硬盘状态参数代码的硬盘读写驱动程序,且将硬盘的初始化状态参数设为第二布尔值,第二布尔值与第一布尔值不同,并使用重新编制的硬盘读写驱动程序代替操作系统中原有的硬盘读写驱动程序,然后操作系统对硬盘进行写操作;

判断本次写操作状态;当本次操作系统对硬盘进行写操作时成功,则结束;当本次操作系统对硬盘进行写操作时失败,则进行瞬时错误处理;经过瞬时错误处理后,设置硬盘状态参数为第一布尔值,跟踪操作系统对硬盘所在的ata端口的重置操作;

判断重置操作是否失败;当重置操作成功,则进行数据分析,并生成分析报告;

当重置操作失败,则对硬盘状态参数是否为第一布尔值进行判断;

判断硬盘参数是否为第一布尔值;当硬盘参数状态为第一布尔值,则修改重置操作结果,返回重置操作成功的信息,避免操作系统屏蔽硬盘所在的ata端口;当硬盘参数状态不是第一布尔值,则对数据进行分析,并生成分析报告;

在硬盘发生写操作失败时,操作系统不再屏蔽该硬盘所在的ata端口,使得故障点前后的硬盘空间可以继续响应上层应用层的读写请求,使得存在不可修复故障点的硬盘能够继续使用,并且能够对硬盘写操作失败过程进行分析,并生成分析报告,能够更加清楚地了解硬盘写操作失败原因及过程。

参照图2所示,瞬时错误处理包括硬盘写操作失败次数是否累计超过阀值、硬盘中的坏块是否累计超过阀值和硬盘写操作性能是否低于阀值;

当写操作失败次数累计超过阀值,则设置该块为坏块,并做相关处理;

当硬盘中的坏块累计超过阀值,则该硬盘已无法正常服务;当硬盘中的坏块累计未超过阀值,则对硬盘的写操作性能进行统计更新;

当硬盘写操作性能低于阀值,则硬盘已无法正常服务;当硬盘写操作性能不低于阀值,可继续进行重置操作;

瞬时错误处理能够及时有效的对硬盘写操作失败进行判断,并能够给出恰当的处理结果。

一种硬盘写操作失败时的处理系统,包括操作系统源代码判断模块1、硬盘写操作判断模块2、瞬时错误处理模块3、硬盘写操作处理模块4、重置操作判断模块5、硬盘参数判断模块6、重置操作处理模块7和分析模块8;

操作系统源代码判断模块1,用于判断操作系统源代码是否公开;硬盘写操作判断模块2,用于判断本次操作系统对硬盘进行写操作的状态;瞬时错误处理模块3,用于对硬盘写操作时失败的结果进行处理;硬盘写操作处理模块4,用于当硬盘写操作时失败后,设置硬盘状态参数为第一布尔值,并跟踪操作系统对硬盘所在ata端口的重置操作;重置操作判断模块5,用于判断重置操作是否失败;硬盘参数判断模块6,用于判断硬盘参数是否为第一布尔值;

重置操作处理模块7,用于当硬盘参数状态为第一布尔值时,对重置操作结果进行修改,并返回重置操作成功的信息,避免操作系统屏蔽硬盘所在的ata端口;分析模块8,用于对本次硬盘写操作的过程和数据进行分析,并生成分析报告;

各个模块负责相应的工作,最终完成对硬盘写操作失败时的处理。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1