CN117854580B - 硬盘坏道快速检测方法、装置、检测设备及存储介质 - Google Patents
硬盘坏道快速检测方法、装置、检测设备及存储介质 Download PDFInfo
- Publication number
- CN117854580B CN117854580B CN202410250943.3A CN202410250943A CN117854580B CN 117854580 B CN117854580 B CN 117854580B CN 202410250943 A CN202410250943 A CN 202410250943A CN 117854580 B CN117854580 B CN 117854580B
- Authority
- CN
- China
- Prior art keywords
- test
- hard disk
- writing
- file
- round
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 403
- 238000001514 detection method Methods 0.000 claims abstract description 77
- 238000013515 script Methods 0.000 claims abstract description 66
- 238000005096 rolling process Methods 0.000 claims abstract description 5
- 238000011056 performance test Methods 0.000 claims description 37
- 230000007547 defect Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 230000002950 deficient Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请涉及硬盘测试技术领域,提供了一种硬盘坏道快速检测方法、装置、检测设备及存储介质。本申请根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次,在每一轮测试时,确定每个所述测试区域中测试文件的写入开始位置,根据所述写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除,如此循环重复执行,直至执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。本申请采用多路连续滚动式的写入及删除操作,提高了对目标硬盘进行全覆盖测试的测试效率。
Description
技术领域
本申请涉及硬盘测试技术领域,尤其是涉及一种硬盘坏道快速检测方法、装置、检测设备及存储介质。
背景技术
为了确保硬盘在上市后仍能保持高性能和高稳定性,常需要在硬盘出厂前对硬盘进行测试。例如,会对硬盘进行表面扫描测试,以检测硬盘表面是否有坏道或物理缺陷,来确保硬盘的存储介质是完好无损的。传统的坏道检测方法耗时且复杂,常需要全盘扫描或专用工具,硬盘坏道检测效率低。
发明内容
有鉴于此,本申请提供一种硬盘坏道快速检测方法、装置、检测设备及存储介质,以提高硬盘坏道检测的效率。
本申请的第一方面提供一种硬盘坏道快速检测方法,应用于检测设备中,所述方法包括:
根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次;
在每一轮测试时,确定每个所述测试区域中测试文件的写入开始位置,根据所述写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除;
在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
在一个可选的实施方式中,所述根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次包括:
获取所述目标硬盘的第一大小;
获取所述硬盘完整性测试脚本中所述测试文件的第二大小;
获取检测设备的最大承载能力;
根据所述最大承载能力将所述目标硬盘划分为多个测试区域;
根据所述第一大小、所述第二大小及所述最大承载能力确定所述测试轮次。
在一个可选的实施方式中,所述确定每个所述测试区域中测试文件的写入开始位置包括:
获取上一轮测试结束时每个所述测试区域中所述测试文件的写入结束位置;
将上一轮测试结束时所述写入结束位置确定为下一轮测试开始时的写入开始位置。
在一个可选的实施方式中,所述根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果包括:
当每一轮测试时所述写入结果为写入成功,且所述删除结果为删除成功时,生成所述目标硬盘不存在坏道的检测结果;
当任意一轮测试时所述写入结果为写入失败,及/或所述删除结果为删除失败时,生成所述目标硬盘存在坏道的检测结果。
在一个可选的实施方式中,所述方法还包括:
获取每个所述目标硬盘的连续K轮测试时写入所述测试文件的写入速度,K小于对应的所述目标硬盘的测试总轮数;
根据K个所述写入速度确定对应的所述目标硬盘的写入性能。
在一个可选的实施方式中,所述根据K个所述写入速度确定对应的所述目标硬盘的写入性能包括:
计算K个所述写入速度中任意两个所述写入速度之间的速度差值;
判断每个所述速度差值是否在预设速度差值范围内;
当每个所述速度差值在所述预设速度差值范围内时,则将K个所述写入速度的均值确定为对应的所述目标硬盘的写入性能;
当任意一个所述速度差值不在所述预设速度差值范围内时,则触发执行硬盘写入性能测试脚本。
在一个可选的实施方式中,所述方法还包括:
根据每个所述目标硬盘的测试总轮数及所述测试文件的大小,确定所述目标硬盘的实际可用空间。
本申请的第二方面提供一种硬盘坏道快速检测装置,所述装置包括:
划分模块,用于根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次;
测试模块,用于在每一轮测试时,确定每个所述测试区域中测试文件的写入开始位置,根据所述写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除;
生成模块,用于在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
本申请的第三方面提供一种检测设备,所述检测设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的硬盘坏道快速检测方法的步骤。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的硬盘坏道快速检测方法的步骤。
本申请实施例提供的硬盘坏道快速检测方法、装置、检测设备及存储介质,由于为了快速高效的对多个目标硬盘进行全覆盖测试,使用了较小的测试文件,较小的测试文件无法一次性的覆盖目标硬盘,因此,将目标硬盘划分为多个测试区域,并设置了多轮测试,在每轮测试时,都将测试文件同时写入所述目标硬盘的每个所述测试区域中,并在所述测试文件写入完成后,对每个所述测试区域中的所述测试文件进行删除,然后确定下一轮次每个所述目标硬盘中的每个所述测试区域中所述测试文件的写入开始位置,如此循环重复执行,直至硬盘完整性测试脚本执行结束后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,检测所述目标硬盘的完整性。本申请采用多路连续滚动式的写入及删除操作,大大提高了对目标硬盘的全部大小空间进行全覆盖测试(即,完整性测试)的测试效率,而且不必等到全覆盖测试结束,就能快速发现存在坏道的硬盘,从而提前结束测试。
附图说明
图1是本申请实施例示出的一种批量硬盘坏道快速检测方法的流程图;
图2是本申请实施例示出的将多个硬盘插接在测试设备中进行批量检测的示意图;
图3是本申请实施例示出的一种硬盘坏道快速检测方法的流程图;
图4是本申请实施例示出的将硬盘划分为多个区域的示意图;
图5是本申请实施例示出的硬盘坏道快速检测装置的功能模块图;
图6是本申请实施例示出的检测设备的结构图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书中所使用的那样,单数表达形式“一个”、 “一种”、 “所述”、 “上述”、 “该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、 “第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、 “第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
硬盘在出厂前经过严格的质量检测是确保其质量和可靠性的重要步骤。这些检测旨在筛选和排除可能存在的制造缺陷或故障,并确保硬盘能够正常工作并达到预期性能水平。对硬盘的性能测试包括:顺序读/写测试、随机读/写测试)、响应时间测试、IOPS(每秒输入/输出操作数)测试、带宽测试、延迟测试、负载测试、完整性测试等。
目前有很多用于测试硬盘性能的测试软件,但现有的测试软件,都是逐个硬盘进行测试,测试完一个硬盘后,将该硬盘拔下来,再测试下一个硬盘。如果针对少量的硬盘进行测试,则可以逐个测试硬盘的性能参数。但如果面对大批量的硬盘进行测试,测试效率就很低。
为了解决现有技术中测试大批量硬盘的性能时测试效率低的技术问题,本申请实施例提供一种硬盘坏道快速检测方法,所述硬盘坏道快速检测方法可以应用于在硬盘出厂前进行的性能测试,也可以应用于在硬盘日常使用中定期进行的性能测试。所述硬盘坏道快速检测方法由检测设备执行。
如图1所示,为本申请实施例提供的一种批量硬盘坏道快速检测方法,具体包括以下步骤。
S11,存储多个硬盘性能测试脚本。
在通过检测设备批量对多个目标硬盘进行性能测试时,需要将进行性能测试的多个目标硬盘插接在所述检测设备中,如图2所示。所述检测设备可以是高速测试仪,高速测试仪具备高带宽和高吞吐量的数据传输能力,以支持对多个目标硬盘进行并行高速测试。高速测试仪可以包含多个测试通道,每个测试通道都能独立的对一个目标硬盘进行性能测试。
在通过检测设备同时对多个目标硬盘进行性能测试时,可以先在检测设备中存储多个硬盘性能测试脚本,由检测设备根据存储的多个硬盘性能测试脚本,批量对接入自身的多个目标硬盘自动化的进行性能测试。
所述多个硬盘性能测试脚本用于测试硬盘的多种性能,每个硬盘性能测试脚本用于测试硬盘的一种性能。所述多个硬盘性能测试脚本可以包括,但不限于:硬盘顺序读/写测试脚本、硬盘随机读/写测试脚本、硬盘响应时间测试脚本、硬盘IOPS测试脚本、硬盘带宽测试脚本、硬盘延迟测试脚本、硬盘负载测试脚本、硬盘完整性测试脚本。
其中,所述硬盘顺序读/写测试脚本用于测试硬盘在顺序读取和写入大块连续数据时的性能,可以反映硬盘在处理大文件、连续数据传输或顺序访问模式下的表现。所述硬盘随机读/写测试脚本用于测试硬盘在随机读取和写入小块散乱数据时的性能,可以评估硬盘在处理随机访问、多个同时访问请求或随机I/O模式下的性能。所述硬盘响应时间测试脚本用于测试硬盘对读写请求的响应时间,即硬盘回应读写请求所需的时间。所述硬盘IOPS测试脚本用于测试硬盘每秒可以处理的读写操作数量,较高的IOPS值表示硬盘具有更高的处理能力和并发能力。所述硬盘带宽测试脚本用于测试硬盘传输数据的吞吐量,较高的带宽值表示硬盘具有更快的数据传输速度。所述硬盘延迟测试脚本用于测试硬盘处理读写请求的延迟时间,低延迟表示硬盘能够更快地响应读写请求。所述硬盘负载测试脚本用于测试硬盘在较长时间内进行的高负载或连续负载,以评估其长期稳定性和性能表现。所述硬盘完整性测试脚本用于测试硬盘是否存在坏道。
S12,设置每个所述硬盘性能测试脚本的执行顺序。
在检测设备中存储了多个硬盘性能测试脚本之后,为了自动化的进行硬盘性能检测,需要设置每个硬盘性能测试脚本的执行顺序。可以依据实际需求自动设置或调整每个所述硬盘性能测试脚本的执行顺序。
示例性的,设置的执行顺序为:先执行硬盘完整性测试脚本、接着执行硬盘顺序读/写测试脚本和硬盘随机读/写测试脚本,再执行硬盘响应时间测试脚本、硬盘IOPS测试脚本、硬盘带宽测试脚本、硬盘延迟测试脚本,最后执行硬盘负载测试脚本。
S13,根据所述执行顺序,依次触发执行所述多个硬盘性能测试脚本。
检测设备根据设置完成的执行顺序,依次触发执行所述多个硬盘性能测试脚本,从而对多个目标硬盘进行性能测试,执行完一个硬盘性能测试脚本,得到多个目标硬盘对应该硬盘性能测试脚本的性能测试结果,接着执行下一个硬盘性能测试脚本,得到多个目标硬盘对应下一个硬盘性能测试脚本的性能测试结果。
应当理解的是,检测设备在进行批量硬盘性能检测之前,需要配置测试环境,确保所有的目标设备已经准备就绪。
上述可选的实施方式中,通过采用检测设备插接多个目标硬盘,能够使用一个检测设备批量对多个目标硬盘进行性能测试,批量测试的方式提高了硬盘测试的测试效率;通过存储多个硬盘性能测试脚本并设置多个硬盘性能测试脚本的执行顺序,从而能够自动化的根据执行顺序执行多个硬盘性能测试脚本,对硬盘的单个性能参数进行整体测试,测试完一个性能参数,再整体测试下一个性能参数,实现了使用一个检测设备自动化的测试多个性能参数的效果,且实现了测试过程中多个性能参数之间的无缝切换,进一步提高了硬盘性能测试的测试效率。
如图3所示,为本申请实施例提供的一种硬盘坏道快速检测方法,本申请实施例提供的硬盘坏道快速检测方法用于测试目标硬盘的完整性性能,即检测目标硬盘中是否出现坏道。硬盘坏道快速检测方法具体包括以下步骤。
S31,根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次。
当触发执行硬盘完整性测试脚本时,将多个目标硬盘中的每个所述目标硬盘划分为多个测试区域。
检测设备可以根据性能要求和测试需求,将目标硬盘划分为多个测试区域,如图4所示,确保每个测试区域都是相互独立的,不会相互影响。检测设备可以将不同的目标硬盘划分为不同数量的测试区域,也可以将所有的目标硬盘划分为相同数量的测试区域。目标硬盘的每个测试区域的大小相同,划分的多个测试区域占目标硬盘的空间大小的比例之和为1。
检测设备可以在每个划分的测试区域中,创建独立的数据路径,在每个数据路径上进行性能测试,并监测和记录每个数据路径的性能指标。例如,可以在每个测试区域中创建独立的文件夹或目录,并为每个文件夹或目录设置单独的读写权限。这样可以确保每个测试区域都有独立的数据路径。
需要说明的是,在进行硬盘坏道快速检测之前,需要确保目标硬盘是空白状态或已格式化。即,将测试位恢复到初始状态,确保目标硬盘中的数据为空。
在一个可选的实施方式,所述根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次包括:
获取所述目标硬盘的第一大小;
获取所述硬盘完整性测试脚本中所述测试文件的第二大小;
获取检测设备的最大承载能力;
根据所述最大承载能力将所述目标硬盘划分为多个测试区域;
根据所述第一大小、所述第二大小及所述最大承载能力确定所述测试轮次。
可以使用操作系统提供的磁盘管理工具获取目标硬盘的总容量信息,作为第一大小。其中,测试文件的大小远小于所有目标硬盘中测试区域的大小。检测设备的最大承载能力是指检测设备最多能够开启的线程数。
将目标硬盘按照检测设备的最大承载能力进行划分,可以确保不超过检测设备的处理能力的同时,能够最大程度的提高检测效率。
基于目标硬盘总大小、测试文件大小以及最大承载能力,确定测试轮次,具体是先测试文件大小以及最大承载能力的乘积,得到第一值,再使用目标硬盘总大小与第一值的商,得到第二值,将第二值确定为测试轮次。
基于目标硬盘总大小、测试文件大小以及最大承载能力,能够最大程度地利用检测设备的资源,在保证测试充分性的前提下提高测试效率。
S32,在每一轮测试时,确定每个所述测试区域中测试文件的写入开始位置,根据所述写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除。
可以将测试文件(例如几百兆)复制到检测设备的缓冲区中,从检测设备的缓冲区中选择测试文件,分别写入目标硬盘的每个测试区域中,在写入完成后,即刻删除测试文件。
在一个可选的实施方式中,检测设备还可以根据目标硬盘划分的测试区域的数量,对所述测试文件进行复制,复制的数量与测试区域的数量一致,以便能够将复制的测试文件与测试区域一一对应,从而更快速的将复制的测试文件写入对应的测试区域中,并在写入完成后,即刻删除测试文件。
由于测试文件的大小远小于测试区域的大小,因此,将测试文件写入测试区域中,无法完全覆盖测试区域,因而,每轮测试时,检测设备等待写入操作完成,记录写入操作的写入结果和写入开始时间、写入结束时间。写入结果包括写入成功,写入失败。检测设备等待删除操作完成,记录删除操作的删除结果和删除开始时间、删除结束时间。删除结果包括删除成功,删除失败。当测试文件在目标硬盘的多个测试区域中完成一轮的写入和删除操作后,立即在多个测试区域中完成下一轮的写入和删除操作,不断循环重复执行写入和删除操作,以提高测试效率和覆盖率。
在一个可选的实施方式中,所述确定每个所述测试区域中测试文件的写入开始位置包括:
获取上一轮测试结束时每个所述测试区域中所述测试文件的写入结束位置;
将上一轮测试结束时所述写入结束位置确定为下一轮测试开始时的写入开始位置。
在下一轮测试时,以上一轮的写入结束位置为下一轮的写入开始位置。检测设备等待写入操作完成,记录写入操作的写入结果和写入开始时间、写入结束时间。如此,不断循环重复,直至完全覆盖每个测试区域,从而完全覆盖目标硬盘。
检测设备可以在执行硬盘性能测试脚本中实现异常处理机制,以捕获并处理可能出现的异常情况。例如,在写入操作或删除操作过程中,可以使用try-catch语句块来捕获异常,并在捕获到异常时进行相应的处理,如记录异常信息、重新尝试操作或终止测试。
检测设备还可以在进行写入或删除操作后,检查返回的错误码或状态码,常见的错误码可以是非零或特定的错误代码。根据返回的错误码或状态码的不同,可以判断写入或删除操作是否成功,并记录相应的错误信息。
S33,在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
可以在目标硬盘的每个测试区域进行了完整性覆盖测试之后,结束执行硬盘完整性测试脚本。也可以在某一轮测试时,检测到写入或删除操作失败时,结束执行硬盘完整性测试脚本。还可以累积记录测试轮数,在执行完所有的测试轮数后,结束执行硬盘完整性测试脚本。
在硬盘完整性测试脚本执行结束后,为目标硬盘生成一份测试报告,测试报告包括目标硬盘每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果。根据测试报告,可以检测所述目标硬盘的完整性,即检测目标硬盘是否存在坏道。
在一个可选的实施方式中,所述根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果包括:
当每一轮测试时所述写入结果为写入成功,且所述删除结果为删除成功时,生成所述目标硬盘不存在坏道的检测结果;
当任意一轮测试时所述写入结果为写入失败,及/或所述删除结果为删除失败时,生成所述目标硬盘存在坏道的检测结果。
对于目标硬盘而言,如果每一轮测试时,都能成功的将测试文件写入测试区域并从测试区域中成功的将测试文件删除,表明在该轮测试时该测试区域中对应测试文件的写入开始位置是不存在坏道的。如果不能成功的将测试文件写入测试区域,表明在该轮测试时该测试区域中对应测试文件的写入开始位置是存在坏道的。如果能成功的将测试文件写入测试区域,但不能成功的将测试文件进行删除,表明在该轮测试时该测试区域中对应测试文件的写入开始位置是存在严重坏道的。
上述实施方式,通过将测试文件写入测试区域并删除测试文件,可以快速的判断测试区域是否存在坏道。当测试文件成功写入测试区域并从测试区域中成功删除,表明该测试区域中不存在坏道。当测试文件不能成功写入测试区域,或者,测试文件能够成功写入测试区域但不能从测试区域中成功删除,表明该测试区域中存在坏道。
本申请将目标硬盘划分为多个测试区域,由于为了快速高效的对目标硬盘进行全覆盖测试,使用了较小的测试文件,较小的测试文件无法一次性的覆盖目标硬盘,因此,对于目标硬盘,设置了多轮测试,在每轮测试时,都将测试文件同时写入每个所述目标硬盘的每个所述测试区域中,并在所述测试文件写入完成后,对每个所述测试区域中的所述测试文件进行删除,然后确定下一轮次每个所述目标硬盘中的每个所述测试区域中所述测试文件的写入开始位置,如此循环重复执行,直至硬盘完整性测试脚本执行结束后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,检测所述目标硬盘的完整性。这种多路连续滚动式的写入及删除操作,能大大提高测试效率,而且能快速发现存在坏道的硬盘,从而提前结束测试。
下面列举一个场景,来描述本申请采用的多路连续滚动式写入及删除操作。以在一个水田中插秧测试水田质量的比喻为例,要求按一定的间隔在一片水田中插满秧苗又拔掉,来测试这片水田一共能插多少根秧苗,而且水田中所有区域是否都能任意插入秧苗进去。如果按传统方法,安排一个人一根一根去将秧苗插满整个水田,并逐个去拔掉,如果这个水田足够大,必然需要花费很长功夫,更是要浪费大量的秧苗。如果在水田中划分出多条线路,安排多人齐头并进去插秧,而且要求把秧苗插进去,马上就拔出来,向前走一步再插进去拔出来,直到插满整个水田。安排多少人就意味着提高多少倍的效率,而且使用少量的秧苗就能快速做到。
在一个可选的实施方式中,所述方法还包括:
获取每个所述目标硬盘的连续K轮测试时写入所述测试文件的写入速度,K小于对应的所述目标硬盘的测试总轮数;
根据K个所述写入速度确定对应的所述目标硬盘的写入性能。
写入数据还可以检测目标硬盘的写入速度和写入性能。通过将大量数据写入硬盘,可以评估硬盘在处理大文件、数据传输和写入操作时的速度和效率。这对于需要频繁写入大量数据的应用和任务,如数据备份、视频编辑和数据库管理等,非常重要。快速的写入速度意味着硬盘可以更迅速地写入数据,提供更高的数据吞吐量。
对于同一个硬盘而言,无论划分多少数量的测试区域,每个测试区域的写入速度应当是一致的,因而为了快速测试目标硬盘的写入性能,则可以获取连续的K轮测试时的写入速度,从而根据K轮测试时的写入速度确定目标硬盘的写入性能。
在一个可选的实施方式中,所述根据K个所述写入速度确定对应的所述目标硬盘的写入性能包括:
计算K个所述写入速度中任意两个所述写入速度之间的速度差值;
判断每个所述速度差值是否在预设速度差值范围内;
当每个所述速度差值在所述预设速度差值范围内时,则将K个所述写入速度的均值确定为对应的所述目标硬盘的写入性能;
当任意一个所述速度差值不在所述预设速度差值范围内时,则触发执行硬盘写入性能测试脚本。
示例性的,假设共有10轮测试,则可以获取第三轮至第六轮测试时的写入速度(W3,W4,W5,W6),计算W3、W4、W5、W6这四个写入速度中任意两个写入速度之间的速度差值,共得到6个速度差值。如果这6个速度差值均在预设速度差值范围内时,则计算W3、W4、W5、W6这四个写入速度的均值,表明目标硬盘的写入速度是非常稳定的,则将均值作为目标硬盘的写入性能。如果这6个速度差值中有至少一个速度差值不在预设速度差值范围内时,表明目标硬盘的写入速度是不稳定的,出现了波动现象,因而为了进一步准确的测试目标硬盘的写入性能,可以触发执行硬盘写入性能测试脚本。
在一个可选的实施方式中,所述方法还包括:
根据每个所述目标硬盘的测试总轮数及所述测试文件的大小,确定所述目标硬盘的实际可用空间。
硬盘出厂前的大小通常被称为 “标称大小”(Nominal Capacity)或者 “制造商大小”(Manufacturer’s Capacity),是制造商根据硬盘的物理特性和规格所定义的大小。实际上,由于硬盘制造商在计算大小时使用的是十进制(基于1000),而计算机装置通常使用的是二进制(基于1024)进行大小计算,所以实际使用中的大小会稍有不同。实际大小则被称为 “可用大小”(Usable Capacity)或者 “实际可用空间”(Actual Usable Space),是指在文件装置格式化之后,可以真正用于存储数据的大小。实际可用空间会因为文件装置格式化及一些装置文件和元数据的占用而略有减少。
假设测试总轮数为N,测试文件的大小为D,某个目标硬盘划分了L个测试区域,则目标硬盘的实际可用空间为N*D*L。
在一个可选的实施方式中,检测设备还可以提供或者连接显示屏幕,以便于人机互动。即目标硬盘的测试结果均能够从显示屏幕中显示出来,以便于操作人员进行观测。
图5是本发明实施例二提供的硬盘坏道快速检测装置的结构图。
在一些实施例中,所述硬盘坏道快速检测装置50可以包括多个由计算机程序段所组成的功能模块。所述硬盘坏道快速检测装置50中的各个程序段的计算机程序可以存储于检测设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)硬盘坏道快速检测的功能。
本实施例中,所述硬盘坏道快速检测装置50根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:划分模块501、测试模块502、生成模块503、确定模块504及计算模块505。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述划分模块501,用于根据硬盘完整性测试脚本将目标硬盘划分为多个测试区域并确定测试轮次。
所述测试模块502,用于在每一轮测试时,确定每个所述测试区域中测试文件的写入开始位置,根据所述写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除。
所述生成模块503,用于在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
所述确定模块504,用于获取每个所述目标硬盘的连续K轮测试时写入所述测试文件的写入速度,K小于对应的所述目标硬盘的测试总轮数;根据K个所述写入速度确定对应的所述目标硬盘的写入性能。
所述计算模块505,用于根据每个所述目标硬盘的测试总轮数及所述测试文件的大小,确定所述目标硬盘的实际可用空间。
应当理解的是,上述实施例提供的硬盘坏道快速检测方法中的各种变化方式和具体实施例同样适用于本实施例中的硬盘坏道快速检测装置,通过前述对硬盘坏道快速检测方法的详细描述,本领域技术人员可以清楚的知道本实施例中的硬盘坏道快速检测硬盘坏道快速检测装置的实施过程,为了说明书的简洁,在此不再详述。
本申请实施例还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的硬盘坏道快速检测方法的全部或者部分步骤。
参阅图6所示,为本申请实施例提供的检测设备的结构示意图。在本申请较佳实施例中,所述检测设备6包括存储器61、至少一个处理器62及至少一条通信总线63。
本领域技术人员应该了解,图6示出的检测设备的结构并不构成本申请实施例的限定,既可以是总线型结构,也可以是星形结构,所述检测设备6还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述检测设备6是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述检测设备6还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述检测设备6仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器61中存储有计算机程序,所述计算机程序被所述至少一个处理器62执行时实现如所述的硬盘坏道快速检测方法中的全部或者部分步骤。所述存储器61包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Ony Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序等。
在一些实施例中,所述至少一个处理器62是所述检测设备6的控制核心(ControlUnit),利用各种接口和线路连接整个检测设备6的各个部件,通过运行或执行存储在所述存储器61内的程序或者模块,以及调用存储在所述存储器61内的数据,以执行检测设备6的各种功能和处理数据。例如,所述至少一个处理器62执行所述存储器中存储的计算机程序时实现本申请实施例中所述的硬盘坏道快速检测方法的全部或者部分步骤;或者实现硬盘坏道快速检测装置的全部或者部分功能。所述至少一个处理器62可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能 或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线63被设置为实现所述存储器61以及所述至少一个处理器62等之间的连接通信。尽管未示出,所述检测设备6还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器62逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述检测设备6还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台检测设备(可以是个人计算机,检测设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
Claims (8)
1.一种硬盘坏道快速检测方法,其特征在于,所述方法包括:
获取目标硬盘的第一大小,获取硬盘完整性测试脚本中测试文件的第二大小,获取检测设备最多能够开启的线程数,根据所述最多能够开启的线程数将所述目标硬盘划分为多个测试区域,根据所述第一大小、所述第二大小及所述最多能够开启的线程数确定所述测试轮次;
采用多路连续滚动式写入及删除操作,在每一轮测试时,获取上一轮测试结束时每个所述测试区域中所述测试文件的写入结束位置,将上一轮测试结束时所述写入结束位置确定为下一轮测试开始时的写入开始位置,根据所述下一轮测试开始时的写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除;
在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
2.根据权利要求1所述的硬盘坏道快速检测方法,其特征在于,所述根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果包括:
当每一轮测试时所述写入结果为写入成功,且所述删除结果为删除成功时,生成所述目标硬盘不存在坏道的检测结果;
当任意一轮测试时所述写入结果为写入失败,及/或所述删除结果为删除失败时,生成所述目标硬盘存在坏道的检测结果。
3.根据权利要求1所述的硬盘坏道快速检测方法,其特征在于,所述方法还包括:
获取每个所述目标硬盘的连续K轮测试时写入所述测试文件的写入速度,K小于对应的所述目标硬盘的测试总轮数;
根据K个所述写入速度确定对应的所述目标硬盘的写入性能。
4.根据权利要求3所述的硬盘坏道快速检测方法,其特征在于,所述根据K个所述写入速度确定对应的所述目标硬盘的写入性能包括:
计算K个所述写入速度中任意两个所述写入速度之间的速度差值;
判断每个所述速度差值是否在预设速度差值范围内;
当每个所述速度差值在所述预设速度差值范围内时,则将K个所述写入速度的均值确定为对应的所述目标硬盘的写入性能;
当任意一个所述速度差值不在所述预设速度差值范围内时,则触发执行硬盘写入性能测试脚本。
5.根据权利要求3或4所述的硬盘坏道快速检测方法,其特征在于,所述方法还包括:
根据每个所述目标硬盘的测试总轮数及所述测试文件的大小,确定所述目标硬盘的实际可用空间。
6.一种硬盘坏道快速检测装置,其特征在于,所述装置包括:
划分模块,用于获取目标硬盘的第一大小,获取硬盘完整性测试脚本中测试文件的第二大小,获取检测设备最多能够开启的线程数,根据所述最多能够开启的线程数将所述目标硬盘划分为多个测试区域,根据所述第一大小、所述第二大小及所述最多能够开启的线程数确定所述测试轮次;
测试模块,用于采用多路连续滚动式写入及删除操作,在每一轮测试时,获取上一轮测试结束时每个所述测试区域中所述测试文件的写入结束位置,将上一轮测试结束时所述写入结束位置确定为下一轮测试开始时的写入开始位置,根据所述下一轮测试开始时的写入开始位置将所述测试文件写入对应的所述测试区域,并在所述测试文件写入完成后,对对应的所述测试区域中的所述测试文件进行删除;
生成模块,用于在执行所述测试轮次的测试后,根据每一轮测试时写入所述测试文件的写入结果和删除所述测试文件的删除结果,生成硬盘坏道检测结果。
7.一种检测设备,其特征在于,所述检测设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至5中任意一项所述的硬盘坏道快速检测方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至5中任意一项所述的硬盘坏道快速检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410250943.3A CN117854580B (zh) | 2024-03-06 | 2024-03-06 | 硬盘坏道快速检测方法、装置、检测设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410250943.3A CN117854580B (zh) | 2024-03-06 | 2024-03-06 | 硬盘坏道快速检测方法、装置、检测设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117854580A CN117854580A (zh) | 2024-04-09 |
CN117854580B true CN117854580B (zh) | 2024-05-31 |
Family
ID=90534872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410250943.3A Active CN117854580B (zh) | 2024-03-06 | 2024-03-06 | 硬盘坏道快速检测方法、装置、检测设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117854580B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045871A (zh) * | 2018-10-15 | 2020-04-21 | 深信服科技股份有限公司 | 一种硬盘坏道检测方法及系统 |
JP2021006970A (ja) * | 2019-06-28 | 2021-01-21 | 沖電気工業株式会社 | 情報処理装置、異常検出方法及びプログラム |
CN113032201A (zh) * | 2021-05-24 | 2021-06-25 | 广东睿江云计算股份有限公司 | 一种硬盘坏道检测方法 |
CN114924923A (zh) * | 2022-05-25 | 2022-08-19 | 苏州浪潮智能科技有限公司 | 一种硬盘写入点正确性验证方法、系统、设备及介质 |
CN115662487A (zh) * | 2022-09-26 | 2023-01-31 | 重庆紫光华山智安科技有限公司 | 慢盘检测方法、装置、存储设备及可读存储介质 |
CN116719675A (zh) * | 2023-05-06 | 2023-09-08 | 深圳市晶存科技有限公司 | 硬盘磨损测试方法、装置及介质 |
-
2024
- 2024-03-06 CN CN202410250943.3A patent/CN117854580B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045871A (zh) * | 2018-10-15 | 2020-04-21 | 深信服科技股份有限公司 | 一种硬盘坏道检测方法及系统 |
JP2021006970A (ja) * | 2019-06-28 | 2021-01-21 | 沖電気工業株式会社 | 情報処理装置、異常検出方法及びプログラム |
CN113032201A (zh) * | 2021-05-24 | 2021-06-25 | 广东睿江云计算股份有限公司 | 一种硬盘坏道检测方法 |
CN114924923A (zh) * | 2022-05-25 | 2022-08-19 | 苏州浪潮智能科技有限公司 | 一种硬盘写入点正确性验证方法、系统、设备及介质 |
CN115662487A (zh) * | 2022-09-26 | 2023-01-31 | 重庆紫光华山智安科技有限公司 | 慢盘检测方法、装置、存储设备及可读存储介质 |
CN116719675A (zh) * | 2023-05-06 | 2023-09-08 | 深圳市晶存科技有限公司 | 硬盘磨损测试方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117854580A (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1760875B (zh) | 基于文件存取特性在各种类型的存储卷之间透明迁移文件 | |
US10235055B1 (en) | Storage performance testing to evaluate moving data among arrays | |
CN100514270C (zh) | 虚拟带服务器中虚拟卷数据的动态载入 | |
US6223300B1 (en) | Disk array apparatus | |
CN102568522B (zh) | 硬盘性能的测试方法和装置 | |
US20090228669A1 (en) | Storage Device Optimization Using File Characteristics | |
US8065466B2 (en) | Library apparatus, library system and method for copying logical volume to disk volume in cache disk with smallest access load | |
CN108777158B (zh) | 测试固态硬盘Trim性能的方法、装置及计算机设备 | |
WO2011110542A1 (en) | Buffer disk in flashcopy cascade | |
US20040268070A1 (en) | Method and apparatus for backing up data in virtual storage medium | |
US8775756B1 (en) | Method of verifying integrity of data written by a mainframe to a virtual tape and providing feedback of errors | |
CN115966247A (zh) | 一种zns固态硬盘性能测试方法 | |
CN107329914A (zh) | 一种基于Linux系统检测硬盘乱序的方法及装置 | |
US6438714B1 (en) | Method and apparatus for testing large arrays of storage devices | |
CN109542341B (zh) | 一种读写io监测方法、装置、终端及计算机可读存储介质 | |
US9916220B2 (en) | Smart logging of trace data for storage systems | |
US6240529B1 (en) | Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded | |
CN117854580B (zh) | 硬盘坏道快速检测方法、装置、检测设备及存储介质 | |
GB2351818A (en) | Backup and recovery system with automatic/manual file selection and automatic backup media selection | |
CN106611138B (zh) | 一种ghost文件保密检查方法及装置 | |
JP4125055B2 (ja) | ログ取得方法 | |
JP3238040B2 (ja) | 補助記憶装置の動作試験方法および装置 | |
CN107491363A (zh) | 一种基于Linux内核的存储卷的快照方法及装置 | |
US6229743B1 (en) | Method of a reassign block processing time determination test for storage device | |
CN111309526A (zh) | 文件备份、恢复方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |