CN111897685A - 掉电时校验数据的方法、装置、存储介质及电子设备 - Google Patents
掉电时校验数据的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111897685A CN111897685A CN202010742942.2A CN202010742942A CN111897685A CN 111897685 A CN111897685 A CN 111897685A CN 202010742942 A CN202010742942 A CN 202010742942A CN 111897685 A CN111897685 A CN 111897685A
- Authority
- CN
- China
- Prior art keywords
- data
- hard disk
- tested
- write command
- writing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013499 data model Methods 0.000 claims abstract description 28
- 238000013524 data verification Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 230000001680 brushing effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 abstract description 10
- 238000012360 testing method Methods 0.000 description 30
- 230000002159 abnormal effect Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种掉电时校验数据的方法、装置、存储介质及电子设备,通过构建包含预设参数的写命令,并根据构建的写命令对待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储,预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型,在数据写入过程中,对待测试的硬盘盘片进行掉电并重新上电,重新上电后,根据存储的写命令对应的预设参数从待测试的硬盘盘片中读取数据并进行数据校验,根据验证结果能够统计出在掉电那一刻,哪些数据是写入成功,哪些数据是写入失败的,从而能够准确地验证硬盘盘片在意外掉电情况下的数据完整性,同时根据验证结果也能够验证硬盘盘片对数据重构的可靠性。
Description
技术领域
本发明涉及硬盘测试领域,尤其涉及一种掉电时校验数据的方法、装置、存储介质及电子设备。
背景技术
在SSD(Solid State Disk,固态硬盘)盘片测试过程中,会做针对性的可靠性测试,其中,异常电源丢失验证盘片的可靠性是其中之一。大多数硬盘的一致性验证仅仅对盘片处于正常状态、电源稳定的情况下先写后读的方式验证数据的完整性。但是,固态硬盘在实际使用过程中,难免会遇到正在读写IO的过程中,盘片电源突然发生闪断或完全掉电的情况,此时就需要SSD在这种极端情况下对盘上数据做到保护。由于SSD固件架构和Cache特性,此时一部分数据已写入后端的Nand Flash,另一部分数据在Cache中或正在处理过程中,未写入Nand Flash。那么对于SSD宣称不支持掉电保护的,需要保证已写入Nand Flash的数据的一致性,对于SSD宣称支持掉电保护的,需要保证所有主机收到成功的命令的数据都应该保持一致。然而,现有技术中鲜少有对于异常电源下固态硬盘的测试。
发明内容
本发明所要解决的技术问题是:提供一种掉电时校验数据的方法、装置、存储介质及电子设备,能够验证盘片在意外掉电情况下的数据完整性。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种掉电时校验数据的方法,包括步骤:
对待测试的硬盘盘片独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
对所述待测试的硬盘盘片重新独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种掉电时校验数据的装置,包括:
上电模块,用于对待测试的硬盘盘片独立上电;
命令构建模块,用于在所述上电模块对待测试的硬盘盘片独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
数据写入模块,用于根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
掉电模块,用于在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
数据读取模块,用于在所述上电模块对所述待测试的硬盘盘片重新独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述掉电时校验数据的方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述掉电时校验数据的方法中的各个步骤。
本发明的有益效果在于:通过构建包含预设参数的写命令,并根据构建的写命令对待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储,预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型,在数据写入过程中,对待测试的硬盘盘片进行掉电并重新上电,重新上电后,根据存储的写命令对应的预设参数从待测试的硬盘盘片中读取数据并进行数据校验,由于构建的写命令中包含预设的起始逻辑区块地址、数据写入地址范围以及数据模型,并且在数据写入成功后,会对上述参数进行对应存储,所以在掉电并重新上电后,能够根据存储的上述参数进行对应的数据的读取并验证,根据验证结果能够统计出在掉电那一刻,哪些数据是写入成功,哪些数据是写入失败的,从而能够准确地验证硬盘盘片在意外掉电情况下的数据完整性,同时根据验证结果也能够验证硬盘盘片对数据重构的可靠性。
附图说明
图1为本发明实施例的一种掉电时校验数据的方法的步骤流程图;
图2为本发明实施例的一种掉电时校验数据的装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
图4为本发明实施例的一种掉电时校验数据的方法的详细步骤流程图;
图5为本发明实施例的预设的扇区的数据格式的结构示意图;
图6为本发明实施例的预设的扇区的数据格式中的flag字段的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种掉电时校验数据的方法,包括步骤:
对待测试的硬盘盘片独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
对所述待测试的硬盘盘片重新独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
从上述描述可知,本发明的有益效果在于:通过构建包含预设参数的写命令,并根据构建的写命令对待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储,预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型,在数据写入过程中,对待测试的硬盘盘片进行掉电并重新上电,重新上电后,根据存储的写命令对应的预设参数从待测试的硬盘盘片中读取数据并进行数据校验,由于构建的写命令中包含预设的起始逻辑区块地址、数据写入地址范围以及数据模型,并且在数据写入成功后,会对上述参数进行对应存储,所以在掉电并重新上电后,能够根据存储的上述参数进行对应的数据的读取并验证,根据验证结果能够统计出在掉电那一刻,哪些数据是写入成功,哪些数据是写入失败的,从而能够准确地验证硬盘盘片在意外掉电情况下的数据完整性,同时根据验证结果也能够验证硬盘盘片对数据重构的可靠性。
进一步的,所述写命令为IO写命令,并且通过并发执行所述IO写命令进行数据写入。
由上述描述可知,通过构建IO命令实现数据写入,并且以并发执行的方式执行IO写命令,能够让待测试的硬盘盘片全速运行,达到最高负载,实现压力测试,提高了测试的可靠性、真实性与准确性。
进一步的,对所述待测试的硬盘盘片单独掉电和重新独立上电之间间隔预设时长,所述预设时长可动态设置。
由上述描述可知,通过在待测试的硬盘盘片单独掉电和重新独立上电之间动态设置间隔的预设时长,能够模拟各种情况的掉电,灵活性高,并且测试更加准确可靠。
进一步的,所述在数据写入过程中,对所述待测试的硬盘盘片单独掉电包括:
在数据写入过程中,判断所述待测试的硬盘盘片是否支持掉电保护,若是,则对所述待测试的硬盘盘片单独掉电;
若否,则在对所述待测试的硬盘盘片单独掉电之前执行:
对所述待测试的硬盘盘片的cache进行刷盘,刷盘后对写入成功的写命令对应的预设参数不进行存储。
由上述描述可知,通过对不同硬盘盘片的是否支持掉电保护的判断,并针对不同类型的硬盘盘片进行对应的测试,对于不支持掉电保护的硬盘盘片,在执行单独掉电之前,先对待测试的硬盘盘片的cache进行刷盘,刷盘后对写入成功的写命令对应的预设参数不进行存储,即对于不支持掉电保护的硬盘盘片,进行数据校验的是刷盘前成功写入的数据,这样保证了不同类型的硬盘盘片测试的准确性,提高了测试的兼容性,不论是否支持掉电保护均能够进行正确的测试。
进一步的,根据所述写命令对所述待测试的硬盘盘片进行数据写入包括:
根据所述写命令和预设的扇区的数据格式对所述待测试的硬盘盘片对应的扇区进行数据写入;
所述根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验包括:
根据所述存储的写命令对应的预设参数和所述预设的扇区的数据格式从所述待测试的硬盘盘片对应的扇区读取数据并进行数据校验。
由上述描述可知,以扇区为单位根据预设的扇区的数据格式对硬盘盘片进行数据的写入和读取并验证,能够实现快速写入和读取,并且在验证时候,能够更快地定位出出现异常的区域,提高了测试效率。
进一步的,不同扇区预设的数据格式不同。
由上述描述可知,每个扇区设置的预设数据格式不同,保证了不同扇区写入的数据的多样性,使得每个扇区的数据都不一样,更贴近于实际情况,能够进一步提高测试的准确性。
进一步的,所述根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验包括:
根据所述存储的写命令对应的起始逻辑区块地址和数据写入地址范围从所述待测试的硬盘盘片对应的区域读取数据,将读取的数据与所述数据模型进行比较,判断写入的数据与读取的数据是否一致。
由上述描述可知,由于预设了起始逻辑区块地址、数据写入地址范围以及数据模型,并且对于成功写入的写命令对应的上述预设参数均进行了存储,所以在掉电并重新上电后,进行数据读取时,能够根据上述预设参数进行对应数据的读取,并根据读取的数据和数据模型进行比对,就能够根据比对结果来验证意外掉电情况下的数据完整性。
请参照图2,本发明另一实施例提供了一种掉电时校验数据的装置,包括:
上电模块,用于对待测试的硬盘盘片独立上电;
命令构建模块,用于在所述上电模块对待测试的硬盘盘片独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
数据写入模块,用于根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
掉电模块,用于在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
数据读取模块,用于在所述上电模块对所述待测试的硬盘盘片重新独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述掉电时校验数据的方法中的各个步骤。
请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述掉电时校验数据的方法中的各个步骤。
本发明上述掉电时校验数据的方法、装置、计算机可读存储介质及电子设备可以应用任何类型的固态硬盘的测试,比如SATA(Serial Advanced Technology Attachment,串口硬盘)盘、PCIE(peripheral component interconnect express)盘等等,下面通过具体的实施方式进行说明:
实施例一
请参照图1,一种掉电时校验数据的方法,包括步骤:
S1、对待测试的硬盘盘片独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
在进行测试之前,先进行测试组网,具体的,将待测试的硬盘盘片当做数据盘接入测试主机,待测试的硬盘盘片的电源被独立控制:如果是SATA硬盘,则因为其支持热拔插,可以增加一台PC用的电源来独立控制盘片供电;如果是PCIE盘,则可以使用转接卡控制盘片的电源;
在测试组网组建完成后,测试主机可以运行于不同的系统,本实施例测试主机为Linux系统,系统正常运行时,通过上电模块使待测试的硬盘盘片通电,待测试主机能够成功扫盘后,即测试主机能够正确识别到待测试的硬盘盘片,进行写命令的创建;
其中,可以使用IO工具创建写命令,并在参数中指定写命令的起始逻辑区块地址LBA、数据写入地址范围range以及数据模型PATTERN的具体数值,写命令的创建可以通过开源IO工具来实现,也可以调用操作系统API实现;
S2、根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
通过构建IO写命令形成IO负载实现数据写入,为了让硬盘全速运行,达到最高负载,更接近于真实硬盘数据读写的场景,可以通过并发执行所述IO写命令进行数据写入;
在数据写入过程中,把每一条写成功的信息用log的方式记录到预设文件中,具体的,可以将数据写入成功对应的写命令的预设参数进行存储;
S3、在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
在IO负载过程中,即在通过创建的IO写命令对待测试的硬盘盘片进行数据写入的过程中,也就是在IO线程一直对待测试的硬盘进行操作的过程中,触发电源模块,对待测试的硬盘盘片独立掉电;
S4、对所述待测试的硬盘盘片重新独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验;
其中,对所述待测试的硬盘盘片单独掉电之后间隔预设时长再重新独立上电,所述预设时长可动态设置;
当待测试的硬盘盘片重新接入测试主机,并且测试主机扫盘成功后,使用读命令根据步骤S2预设文件中存储的写命令对应的起始逻辑区块地址和数据写入地址范围从所述待测试的硬盘盘片对应的区域读取数据,将读取的数据与所述数据模型进行比较,判断写入的数据与读取的数据是否一致,如果不一致,则说明数据不一致对应的区域掉电时存在异常。
实施例二
由于固态硬盘有支持掉电保护的,也有不支持掉电保护的,所以在对其进行测试时,需要能对这两种情况的固态硬盘均能够进行正确的数据校验,本实施例针对此做了进一步限定:
如图4所示:
步骤1,打开待测试的硬盘盘片的电源,通过fdisk扫盘,发送identify命令确定待测试的硬盘盘片被成功识别后,发送format命令初始待测试的硬盘盘片数据;
步骤2,使用IO工具构建IO写命令,其中通过预设参数限定了写入的数据的数据格式,包括开始LBA,数据写入范围range和数据模型PATTERN;
步骤3,利用程序语音特性开发IO驱动模块,使步骤2的IO写命令实现并发功能,同时实现IO命令发送的格式记录到文件A,即对于数据写入成功对于的IO写命令,将其预设参数存储到文件A;
步骤4,判断待测试的硬盘盘片是否支持掉电保护,如果支持,则执行步骤步骤41,否则,执行步骤42;
步骤41,对于支持掉电保护的待测试硬盘盘片,在其IO负载过程中,对盘片单独掉电,然后执行步骤5;
步骤42,对于不支持掉电保护的待测试硬盘盘片,在其IO负载过程中,使用flush命令使其Cache刷盘,并且flush后的IO写命令不记录到已发送IO写命令的文件A中,此时,通过fdisk扫盘,确定盘片已被主机移除,如果是SATA盘,主要把测试主机热插拔开关打开,如果是PCIE盘,利用PCIE特性在Linux下做PCIE remove操作,然后执行步骤5;
步骤5,间隔1-10秒对待测试硬盘盘片独立上电,如果是PCIE盘利用pcie特性在Linux下做PCIE rescan操作,通过fdisk扫盘,发送identify命令确定被测盘片被成功识别;
步骤6,使用IO工具加载上一次保存的文件A,解析文件A中保存的步骤3中数据成功写入对应的IO写命令对应的数据格式,根据所述数据格式,用read命令读取待测试硬盘盘片上对应的数据,验证掉电时数据是否完整,如果没有异常则标记passed,否则,标记failed;
其中,可以使用脚本语言实现上述步骤1-步骤6的自动化执行。
实施例三
本实施例进一步限定了可以预设扇区的数据格式,则根据所述写命令对所述待测试的硬盘盘片进行数据写入包括:
根据所述写命令和预设的扇区的数据格式对所述待测试的硬盘盘片对应的扇区进行数据写入;
所述根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验包括:
根据所述存储的写命令对应的预设参数和所述预设的扇区的数据格式从所述待测试的硬盘盘片对应的扇区读取数据并进行数据校验;
其中,可以设置不同扇区预设的数据格式不同,这样能够使得每个扇区的数据都不一样,方便数据校验测试;
具体的,如图5所示,为预设的一个扇区的数据格式,一个扇区一共512个字节,包括起始lba字段、pattern字段、checksum字段、flag字段和data字段,其中,flag字段是用于标记所述数据是为了掉电时的数据校验的,其包括4字节的IO计数字段和4字节的保留字段;
进行数据写入时,在pattern字段中填入预设参数数据模型,然后根据预设参数数据模型,使用随机数构造8bytes的数据模型PATTERN,通过CRC校验得到checksum,将其填入checksum字段,接着用构造出的数据模型pattern填满data字段,并在flag字段中填入标记,以表明该数据是用于掉电校验的,最后通过计算把每个数据缓存器的前8个字节定义为写入目标地址的LBA地址,即前8个字节构成起始LBA字段,用于写入预设参数开始LBA;
在进行数据读取时,根据预设参数开始LBA和数据写入范围range确定对应的扇区,然后进行数据的读取,接着根据预设的扇区的数据格式和预设参数依次进行数据的比对,来确定写入的数据和读取的数据是不是一致;
由于预设参数数据模型PATTERN是8字节的,所以在进行比对的时候,通过比对结果就能够准确地获知具体哪个扇区哪一个数据块出现异常,数据模型的具体长度以及具体形式可以进行灵活设置以适用于各种不同的测试场景。
实施例四
请参照图2,一种掉电时校验数据的装置,包括:
上电模块,用于对待测试的硬盘盘片独立上电;
命令构建模块,用于在所述上电模块对待测试的硬盘盘片独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
数据写入模块,用于根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
掉电模块,用于在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
数据读取模块,用于在所述上电模块对所述待测试的硬盘盘片重新独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
实施例五
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一至实施例三中任一个所述的掉电时校验数据的方法中的各个步骤。
实施例六
如图3所示,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一至实施例三中任一个所述的掉电时校验数据的方法中的各个步骤。
综上所述,本发明提供的掉电时校验数据的方法、装置、计算机可读存储介质及电子设备,通过构建包含预设参数的写命令,并根据构建的写命令和预设的扇区的数据格式对待测试的硬盘盘片对应的扇区进行并发数据写入,不同扇区的数据格式不同,并对写入成功的写命令对应的预设参数进行存储,预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型,在数据写入过程中,对待测试的硬盘盘片进行掉电并重新上电,重新上电后,根据存储的写命令对应的预设参数从待测试的硬盘盘片中读取数据并进行数据校验,由于构建的写命令中包含预设的起始逻辑区块地址、数据写入地址范围以及数据模型,并且在数据写入成功后,会对上述参数进行对应存储,所以在掉电并重新上电后,能够根据存储的上述参数和预设的扇区的数据格式进行对应的数据的读取并验证,根据验证结果能够统计出在掉电那一刻,哪些数据是写入成功,哪些数据是写入失败的,从而能够准确地验证硬盘盘片在意外掉电情况下的数据完整性,同时根据验证结果也能够验证硬盘盘片对数据重构的可靠性,并且整个测试过程能够完全自动化测试,测试效率高。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种掉电时校验数据的方法,其特征在于,包括步骤:
对待测试的硬盘盘片独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
对所述待测试的硬盘盘片重新独立上电,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
2.根据权利要求1所述的一种掉电时校验数据的方法,其特征在于,所述写命令为IO写命令,并且通过并发执行所述IO写命令进行数据写入。
3.根据权利要求1所述的一种掉电时校验数据的方法,其特征在于,对所述待测试的硬盘盘片单独掉电和重新独立上电之间间隔预设时长,所述预设时长可动态设置。
4.根据权利要求1所述的一种掉电时校验数据的方法,其特征在于,所述在数据写入过程中,对所述待测试的硬盘盘片单独掉电包括:
在数据写入过程中,判断所述待测试的硬盘盘片是否支持掉电保护,若是,则对所述待测试的硬盘盘片单独掉电;
若否,则在对所述待测试的硬盘盘片单独掉电之前执行:
对所述待测试的硬盘盘片的cache进行刷盘,刷盘后对写入成功的写命令对应的预设参数不进行存储。
5.根据权利要求1至4中任一项所述的一种掉电时校验数据的方法,其特征在于,根据所述写命令对所述待测试的硬盘盘片进行数据写入包括:
根据所述写命令和预设的扇区的数据格式对所述待测试的硬盘盘片对应的扇区进行数据写入;
所述根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验包括:
根据所述存储的写命令对应的预设参数和所述预设的扇区的数据格式从所述待测试的硬盘盘片对应的扇区读取数据并进行数据校验。
6.根据权利要求5所述的一种掉电时校验数据的方法,其特征在于,不同扇区预设的数据格式不同。
7.根据权利要求1至4中任一项所述的一种掉电时校验数据的方法,其特征在于,所述根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验包括:
根据所述存储的写命令对应的起始逻辑区块地址和数据写入地址范围从所述待测试的硬盘盘片对应的区域读取数据,将读取的数据与所述数据模型进行比较,判断写入的数据与读取的数据是否一致。
8.一种掉电时校验数据的装置,其特征在于,包括:
上电模块,用于对待测试的硬盘盘片独立上电;
命令构建模块,用于在所述上电模块对待测试的硬盘盘片独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,构建包含预设参数的写命令,所述预设参数包括起始逻辑区块地址、数据写入地址范围以及数据模型;
数据写入模块,用于根据所述写命令对所述待测试的硬盘盘片进行数据写入,并对写入成功的写命令对应的预设参数进行存储;
掉电模块,用于在数据写入过程中,对所述待测试的硬盘盘片单独掉电;
数据读取模块,用于在所述上电模块对所述待测试的硬盘盘片重新独立上电后,当接收到所述待测试的硬盘盘片被成功识别的指令时,根据所述存储的写命令对应的预设参数从所述待测试的硬盘盘片读取数据并进行数据校验。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的一种掉电时校验数据的方法中的各个步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任意一项所述的一种掉电时校验数据的方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742942.2A CN111897685A (zh) | 2020-07-29 | 2020-07-29 | 掉电时校验数据的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742942.2A CN111897685A (zh) | 2020-07-29 | 2020-07-29 | 掉电时校验数据的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897685A true CN111897685A (zh) | 2020-11-06 |
Family
ID=73183803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010742942.2A Pending CN111897685A (zh) | 2020-07-29 | 2020-07-29 | 掉电时校验数据的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897685A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559266A (zh) * | 2020-12-09 | 2021-03-26 | 成都佰维存储科技有限公司 | 固态硬盘测试方法、装置、可读存储介质及电子设备 |
CN113960391A (zh) * | 2021-09-13 | 2022-01-21 | 珠海亿智电子科技有限公司 | 存储介质异常掉电测试装置及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128705A (ja) * | 1991-10-30 | 1993-05-25 | Nec Ibaraki Ltd | 磁気デイスク制御装置 |
CN102842342A (zh) * | 2011-06-20 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 数据存储测试系统及方法 |
CN104658611A (zh) * | 2013-11-25 | 2015-05-27 | 深圳市国微电子有限公司 | 一种对固态硬盘进行异常掉电测试的方法及系统 |
CN204882750U (zh) * | 2015-08-03 | 2015-12-16 | 昆腾微电子股份有限公司 | 智能卡掉电保护的测试装置 |
CN107807870A (zh) * | 2017-10-30 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种存储服务器主板掉电保护功能的测试方法和系统 |
CN108614754A (zh) * | 2018-08-17 | 2018-10-02 | 北京航星中云科技有限公司 | 一种基于飞腾平台的服务器掉电测试方法及装置 |
CN111104275A (zh) * | 2019-12-24 | 2020-05-05 | 湖南国科微电子股份有限公司 | 一种闪断ssd硬盘电源的自动化测试方法及装置 |
CN111105840A (zh) * | 2019-12-27 | 2020-05-05 | 合肥大唐存储科技有限公司 | 一种固态硬盘异常掉电的测试方法、装置和系统 |
-
2020
- 2020-07-29 CN CN202010742942.2A patent/CN111897685A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128705A (ja) * | 1991-10-30 | 1993-05-25 | Nec Ibaraki Ltd | 磁気デイスク制御装置 |
CN102842342A (zh) * | 2011-06-20 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 数据存储测试系统及方法 |
CN104658611A (zh) * | 2013-11-25 | 2015-05-27 | 深圳市国微电子有限公司 | 一种对固态硬盘进行异常掉电测试的方法及系统 |
CN204882750U (zh) * | 2015-08-03 | 2015-12-16 | 昆腾微电子股份有限公司 | 智能卡掉电保护的测试装置 |
CN107807870A (zh) * | 2017-10-30 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种存储服务器主板掉电保护功能的测试方法和系统 |
CN108614754A (zh) * | 2018-08-17 | 2018-10-02 | 北京航星中云科技有限公司 | 一种基于飞腾平台的服务器掉电测试方法及装置 |
CN111104275A (zh) * | 2019-12-24 | 2020-05-05 | 湖南国科微电子股份有限公司 | 一种闪断ssd硬盘电源的自动化测试方法及装置 |
CN111105840A (zh) * | 2019-12-27 | 2020-05-05 | 合肥大唐存储科技有限公司 | 一种固态硬盘异常掉电的测试方法、装置和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559266A (zh) * | 2020-12-09 | 2021-03-26 | 成都佰维存储科技有限公司 | 固态硬盘测试方法、装置、可读存储介质及电子设备 |
CN112559266B (zh) * | 2020-12-09 | 2023-06-06 | 成都佰维存储科技有限公司 | 固态硬盘测试方法、装置、可读存储介质及电子设备 |
CN113960391A (zh) * | 2021-09-13 | 2022-01-21 | 珠海亿智电子科技有限公司 | 存储介质异常掉电测试装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086919B2 (en) | Controller having flash memory testing functions, and storage system and testing method thereof | |
TWI479309B (zh) | 控制固態硬碟的裝置及方法 | |
CN111105840B (zh) | 一种固态硬盘异常掉电的测试方法、装置和系统 | |
CN101853692B (zh) | 具闪存测试功能的控制器及其储存系统与测试方法 | |
US7356744B2 (en) | Method and system for optimizing testing of memory stores | |
CN110618892B (zh) | 一种固态硬盘的bug定位方法、装置、电子设备及介质 | |
CN111737051B (zh) | 一种SSD固态硬盘的trim数据校验测试方法、装置及系统 | |
US20230195994A1 (en) | Chip design verification system, chip design verification method, and computer readable recording media with stored program | |
CN111897685A (zh) | 掉电时校验数据的方法、装置、存储介质及电子设备 | |
US8255656B2 (en) | Storage device, memory controller, and data protection method | |
CN107025941A (zh) | 固态硬盘控制电路 | |
CN115083510B (zh) | 固态硬盘测试方法、装置、存储介质、电源及电子设备 | |
CN112802530B (zh) | Nand测试方法、装置、可读存储介质及电子设备 | |
CN116383012B (zh) | 获取开机日志的方法及装置、传输开机日志的方法 | |
CN114822669B (zh) | 闪存错误注入系统、固态存储设备及测试系统 | |
US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
CN107168650B (zh) | 一种对bios的存储器中的数据的处理方法及装置 | |
CN110875078B (zh) | 存储装置异常断电的处理系统和方法 | |
US6229743B1 (en) | Method of a reassign block processing time determination test for storage device | |
TWI417888B (zh) | An embedded chip system, a method for burning a wafer, and a computer program product | |
US8595417B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
CN112052112A (zh) | 基于NOR Flash存储的位翻转错误检测方法、装置及存储介质 | |
CN109144409A (zh) | 数据处理方法及装置、存储介质、数据系统 | |
CN112464499B (zh) | 非易失芯片擦写数据检查方法、装置、存储介质和终端 | |
CN114996063A (zh) | 一种NVMe SSD的稳定性测试方法、系统和设备 |
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 | ||
CB02 | Change of applicant information |
Address after: 518000 floors 1-3 and 4 of buildings 4 and 8, zone 2, Zhongguan honghualing Industrial South Zone, No. 1213 Liuxian Avenue, Pingshan community, Taoyuan Street, Nanshan District, Shenzhen, Guangdong Applicant after: BIWIN STORAGE TECHNOLOGY Co.,Ltd. Address before: 518000 1st, 2nd, 4th and 6th floors of No.4 factory building of tongfuyu industrial city, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: BIWIN STORAGE TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information |