将数据写入硬盘的方法、装置及系统制造方法及图纸

技术编号:3897781 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种将数据写入硬盘的方法,该方法包括:在硬盘向主机返回写请求命令执行成功的报告时,保留主机向硬盘发送所述写请求命令时占用的系统资源;在确定写缓存中数据写入硬盘失败时,根据所述系统资源进行所述数据的恢复处理。本发明专利技术同时公开一种计算机系统中的主机和硬盘。采用本发明专利技术可以保证将数据写入硬盘时硬盘较高的写性能和写入数据的安全性。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及将数据写入硬盘的方法、装置及系统
技术介绍
传统硬盘的机械特性决定了其寻道慢、读写慢的缺点。在计算机系统中,可以认为硬盘是第四级存储设备,硬盘的输入输出(Input/Output, I/O)速度 远小于其上级的存储设备,如内存等。缓存(Cache)技术较好的弥补了硬盘 处理速度与其上级计算机系统中存储设备处理速度之间的差异。硬盘缓存可分为读缓存和写缓存。写缓存的作用是将需要写入硬盘的数据 暂时进行保存,等到硬盘认为合适的时间再将这些数据写入硬盘。当写缓存开 启时,主机向硬盘发送写请求命令,硬盘将要写入的数据缓存至写缓存,缓存 完毕后硬盘向主机发送写请求命令执行成功的报告,由硬盘保证这部分数据安 全写入硬盘。目前的硬盘缓存已经由最初的几K扩展到了几十兆,但是随着容量的提升 也带来了问题现有的输入输出策略中,当写请求命令下发到硬盘,硬盘返回 写请求命令执行成功的报告后,主机将立即释放主机向硬盘发送所述写请求命 令时占用的系统资源,如果在硬盘返回写请求命令执行成功的报告后,硬盘将 暂存在写缓存中的数据写入硬盘之前突然断电,则可能会造成硬盘无法将暂存 在写缓存中的数据写入硬盘,带来数据丢失的风险。
技术实现思路
本专利技术实施例一方面提供了一种将数据写入硬盘的方法,另一方面提供了一种计算机系统中的主机、硬盘以及一种计算机系统,能够保证硬盘写入数据 的安全性。本专利技术实施例提供一种将数据写入硬盘的方法,用以保证将数据写入硬盘 时写入数据的安全性,该方法包括在硬盘向主机返回写请求命令执行成功的报告时,保留主机向硬盘发送所 述写请求命令时占用的系统资源;在确定写缓存中数据写入硬盘失败时,根据所述系统资源进行所述数据的 恢复处理。本专利技术实施例还提供一种计算机系统中的主机,用以保证将数据写入硬盘时写入数据的安全性,该主机包括发送模块,用于向硬盘发送写请求命令;接收模块,用于接收硬盘返回的写请求命令执行报告;资源处理模块,用于在所述接收模块接收到硬盘返回的写请求命令执行成 功的报告时,保留向硬盘发送所述写请求命令时占用的系统资源;数据处理模块,用于在确定写缓存中数据写入硬盘失败时,根据所述资源 处理模块保留的系统资源进行所述数据的恢复处理。本专利技术实施例还提供一种计算机系统中的硬盘,用以保证将数据写入硬盘 时写入数据的安全性,该硬盘包括-接收模块,用于在向主机返回写请求命令执行成功的报告后,接收主机发 来的清缓存命令;命令执行模块,用于执行所述清缓存命令;发送模块,用于在所述清缓存命令执行失败时,向主机返回清缓存命令执 行失败的报告,触发主机根据发送所述写请求命令时占用的系统资源进行写缓 存中数据的恢复处理。本专利技术实施例还提供一种计算机系统,包括上述的主机和硬盘。 本专利技术实施例中,在硬盘向主机返回写请求命令执行成功的报告时,保留主机向硬盘发送所述写请求命令时占用的系统资源;与现有技术中在硬盘向主 机返回写请求命令执行成功的报告时,立即释放主机向硬盘发送所述写请求命 令时占用的系统资源相比,在确定写缓存中数据写入硬盘失败时,可以根据所 述系统资源进行所述数据的恢复处理,从而避免开启硬盘写缓存时出现数据丢 失的情况,很好的解决了现有技术开启硬盘写缓存与数据丢失风险的矛盾,保 证了硬盘写入数据的安全性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部 分,并不构成对本专利技术的限定。在附图中图1为本专利技术实施例一中将数据写入硬盘的方法流程图; 图2为本专利技术实施例三中将数据写入硬盘的方法流程图; 图3为本专利技术实施例四中计算机系统中主机的结构示意图; 图4为本专利技术实施例四中数据处理模块的结构示意图; 图5为本专利技术实施例四中资源处理模块的结构示意图; 图6为本专利技术实施例五中计算机系统中硬盘的结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合附图对本发 明实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释 本专利技术,但并不作为对本专利技术的限定。实施例一如图1所示,本实施例中将数据写入硬盘的方法流程可以如下 步骤IOI、在硬盘向主机返回写请求命令执行成功的报告时,主机保留主 机向硬盘发送所述写请求命令时占用的系统资源;步骤102、在确定写缓存中数据写入硬盘失败时,主机根据所述系统资源进行所述数据的恢复处理。图1所示流程中所述的硬盘可以包括硬盘驱动器(Hard Disk Drive, HDD) 等传统硬盘、固态硬盘(Solid State Disk, SSD)等新型硬盘,也可以包括当 前、或以后可能的其它具备数据存储永久性特点的硬盘。图l所示流程中写缓 存中数据写入硬盘失败,包括写缓存中全部数据写入硬盘失败,或,写缓存 中部分数据写入硬盘失败。由图l所示流程可以看出,与现有技术中在硬盘向主机返回写请求命令执 行成功的报告时,立即释放主机向硬盘发送所述写请求命令时占用的系统资源 不同的是,本实施例中在硬盘向主机返回写请求命令执行成功的报告时,仍然 保留主机向硬盘发送所述写请求命令时占用的系统资源,为后续在确定写缓存 中数据写入硬盘失败时进行数据恢复处理提供了前提条件。由于现有技术中在硬盘向主机返回写请求命令执行成功的报告时,立即释 放主机向硬盘发送所述写请求命令时占用的系统资源,因此在出现写缓存中数 据写入硬盘失败的可能情况下,已无法进行数据恢复处理;而本实施例中,在 确定写缓存中数据写入硬盘失败时,可以根据之前保留的系统资源进行数据的 恢复处理,从而在开启写缓存的情况下避免了数据丢失的可能,同时保证了写 入数据的安全性。实施例二本实施例具体说明图1所示流程的实施-实施中,确定写缓存中数据写入硬盘失败可以有多种实施方式,只要能够 实现确定写缓存中数据写入硬盘失败均可,例如在硬盘向主机返回清缓存命 令执行失败的报告时,可以确定写缓存中数据写入硬盘失败;又如,在检测到 硬盘掉电时,也可以确定写缓存中数据写入硬盘失败。当然,这些实施方式既 可以单独使用,也可以结合使用,以实现确定写缓存中数据写入硬盘失败。利用清缓存命令执行失败的报告,确定写缓存中数据写入硬盘失败,是考 虑到硬盘在提供了缓存的同时,也提供了操作缓存的命令,其中包括清缓存命令。当主机将清缓存命令发送到硬盘时,硬盘会在将写缓存中的数据全部写 入后才返回清缓存命令执行成功的报告;若写缓存中数据未全部成功写入硬 盘,即数据写入硬盘失败,则会返回清缓存命令执行失败的报告。清缓存命令在不同的协议中有不同的表达形式,比如在SCSI (Small Computer System Interface ,小型计算机系统接口 )协议中为同步缓存 (SYNCHRONIZE CACHE)命令,在ATA (高级技术附属)协议中为扩展刷 写缓存(FLUSH CACHE (EXT))命令。在检测到硬盘掉电时,确定写缓存中数据写入硬盘失败,是考虑到在主 机向硬盘发送写请求命令后,硬盘先将数据存入写缓存,在确定写缓存中数据 全部成功写入硬盘之前,可能会出现硬盘掉电的情况。实施中可以用主机或一 单独的设备对硬盘的供电情况进行检测,在检测到硬盘掉电时,则可以确定写 缓存中数据写入硬盘失败,此时可以利用主机向硬盘发送所述写请求本文档来自技高网...

【技术保护点】
一种将数据写入硬盘的方法,其特征在于,该方法包括: 在硬盘向主机返回写请求命令执行成功的报告时,保留主机向硬盘发送所述写请求命令时占用的系统资源; 在确定写缓存中数据写入硬盘失败时,根据所述系统资源进行所述数据的恢复处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:侯立文
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1