一种固态硬盘的测试方法、装置及计算机存储介质与流程

文档序号:17347929发布日期:2019-04-09 20:53阅读:248来源:国知局
一种固态硬盘的测试方法、装置及计算机存储介质与流程

本发明涉及固态硬盘技术领域,特别是涉及一种固态硬盘的测试方法、装置及计算机存储介质。



背景技术:

随着互联网、云计算、物联网等技术的发展,固态硬盘作为新的一代存储,广泛被应用。作为数据中心的最底端,固态硬盘承载着存储数据的关键任务。

每个固态硬盘采用nand颗粒保存信息,nand颗粒的质量直接影响了固态硬盘产品生产的良率。通常情况下,固态硬盘都是以页为最小存储计量单位,多个页构成一个数据块,因此,固态硬盘中会包括多个数据块。在存储数据时,会将数据块作为一个整体进行数据存储。由于不同的数据块存储的数据的容量,次数以及自造工艺都有差别,且其中的每个页的好坏也并非同步变化,因此,对于一个固态硬盘来说,保证每个数据块的可用性是最基本的要求。

现有技术中,为了保证固态硬盘的可靠性,都是在加工工艺上下功夫,但是加工工艺再精细,也无法保证每个固态硬盘中的数据块都可用,也就是说固态硬盘在出厂时可能就已经存在某些数据块是坏块,但是并不确定具体是哪些坏块。因此,当用户购买固态硬盘后,难免会出现某些数据块不可用的问题,导致用户在使用时的体验感差,甚至导致数据丢失等严重问题。

由此可见,如何在出厂前对固态硬盘进行测试,从而确定固态硬盘的真实状态是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种固态硬盘的测试方法、装置及计算机存储介质,用于在出厂前对固态硬盘进行测试,从而确定固态硬盘的真实状态。

为解决上述技术问题,本发明提供一种固态硬盘的测试方法,应用于固态硬盘出厂前,包括:

选取所述固态硬盘的一个数据块;

判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同;

如果不同,则标记当前数据块为坏块,并判断所述固态硬盘中是否还有剩余数据块;

如果相同,则判断所述固态硬盘中是否还有剩余数据块;

如果有,则返回所述选取所述固态硬盘的一个数据块的步骤,如果没有,则结束。

优选地,还包括:

建立所述固态硬盘的坏块标记表;

根据标记为坏块的数据块的信息更新所述坏块标记表。

优选地,还包括:

建立所,在结束之前,还包括:

根据读写擦命令对所述固态硬盘中的非坏块执行读写擦测试以标记所述固态硬盘中新增坏块;

其中,所述读写擦命令包括读命令、写命令和擦命令,所述读写擦测试包括读测试、写测试和擦测试。

优选地,还包括:

建立所,所述读命令、所述写命令和所述擦命令均为并行执行命令。

优选地,还包括:

建立所,还包括:

当执行完所述读测试、所述写测试和所述擦测试后分别记录对应的数据块的坏页的地址,并统计坏块率。

优选地,还包括:

建立所,还包括:

当所述坏块率达到阈值时,报警提示。

优选地,还包括:

建立所,还包括:

统计多轮所述读写擦命令对应的测试结果;

通过升温测试,记录一轮所述读写擦命令能够达到所述测试结果的测试温度以简化老化测试过程。

为解决上述技术问题,本发明提供一种固态硬盘的测试装置,应用于固态硬盘出厂前,包括:

选取模块,用于选取所述固态硬盘的一个数据块;

第一判断模块,用于判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果不同,则触发标记模块和第二判断模块,否则触发所述第二判断模块。

所述标记模块,用于标记当前数据块为坏块;

所述第二判断模块,用于判断所述固态硬盘中是否还有剩余数据块,如果有,则触发所述选取模块,如果没有,则结束。

为解决上述技术问题,本发明提供一种固态硬盘的测试装置,包括存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如所述的固态硬盘的测试方法的步骤。

为解决上述技术问题,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的固态硬盘的测试方法的步骤。

本发明所提供的固态硬盘的测试方法,该方法在固态硬盘出厂前,针对全新的固态硬盘中的每个数据块进行坏块的测试,测试方法是判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果相同,则认为当前数据块不是坏块,如果不同,则认为当前数据块是坏块,并标记当前数据块为坏块。由此可见,本方法能够在固态硬盘出厂前可以确定固态硬盘中存在多少坏块,从而能够根据坏块的数量决定是否可以出厂销售,在一定程度上提高了用户的体验感,也为后续的生产提供指导依据,避免出现过多存在坏块的固态硬盘,节约生产成本。本发明所提供的固态硬盘的测试装置及计算机存储介质与上述方法对应,效果如上。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种固态硬盘的测试方法的流程图;

图2为本发明实施例提供的另一种固态硬盘的测试方法的流程图;

图3为本发明实施例提供的一种擦测试方法的流程图;

图4为本发明实施例提供的一种写测试方法的流程图;

图5为本发明实施例提供的一种读测试方法的流程图;

图6为本发明实施例提供的一种固态硬盘的测试装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种固态硬盘的测试方法、装置及计算机存储介质,用于在出厂前对固态硬盘进行测试,从而确定固态硬盘的真实状态。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种固态硬盘的测试方法的流程图。如图1所示,该方法应用于固态硬盘出厂前,具体包括如下几个步骤。

s10:选取固态硬盘的一个数据块。

s11:判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果不同,则进入s12,如果相同,则进入s13。

s12:标记当前数据块为坏块,并进入s13。

s13:判断固态硬盘中是否还有剩余数据块,如果有,则返回s10,如果没有,则结束。

需要说明的是,步骤s10中的固态硬盘需是全新的,未经过任何读写擦操作。步骤s10中每次选取的数据块是不同的数据块,也就是说在进行同一个固态硬盘的坏块的测试过程中,每个数据块的选取是不重复的。另外,为了选取方便,可以按照一定的顺序,那么如果是第一次执行s10,则当前数据块就是第一个数据块,判断出该数据块的结果后,就要第二次执行s10,则当前数据块就是第二个数据块,直到将固态硬盘中的每个数据块都执行上述的测试。

对于步骤s11来说,每个数据块都有其标识符,需要预先设置(设置的具体方法和标识内容,本发明不作限定,也不影响本方案的实施),例如ffh,正常情况下,该数据块中的每个页的标识符都应该是相同的,本步骤中,为了快速判断,选取了第一页和最后一页,因为,通常情况下,第一页和最后一页的标识符相同的话,则这两页之间的其它页的标识符也不会异常。因为,在预先设置标识符时,第一页和最后一页是同一个标识符,所以,对于步骤s11来说,可以是判断第一页和最后一页是否相同,如果不相同,则进入s12,如果相同,进入s13。在具体实施中,可以将第一页和第二页的标识符都读取,然后再与预先设置的标识符进行比较;或者是先读取第一页的标识符,将该标识符与预先设置的标识符进行比较,如果不相同,则说明s11的判断结果为否,直接进入s12,也就不必要对最后一页的标识符进行判断。相对于前者而言,如果该数据块是坏块,则后者的判断所用的时间较短。综上所述,如果当前数据块的第一页或者第二页,或者第一页和第二页的标识符与预先设置的标识符不相同,则说明当前数据块就是坏块,只有第一页和第二页的标识符均与预先设置的标识符相同,才表明当前数据块不是坏块,即非坏块。

步骤s13的作用是判断是否对固态硬盘中的所有数据块进行了坏块的判断,这里的剩余数据块就是没有经过坏块判断的数据块。例如,按照顺序进行坏块的判断的话,经过执行一次s10-s12,那么固态硬盘中的剩余数据块就是除了当前数据块的其它数据块,所以此时,只要固态硬盘中的数据块的数量不小于2个,则s13的判断结果就为否,那么需要返回s10,也就是对下一个数据块进行坏块的判断。

经过多次执行上述步骤,能够对固态硬盘的全部数据块进行判断,并得到其包含的坏块,以此能够确定出固态硬盘有几个坏块,完成坏块的测试。

本发明实施例提供的固态硬盘的测试方法,在固态硬盘出厂前,针对全新的固态硬盘中的每个数据块进行坏块的测试,具体测试方法是判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果相同,则认为当前数据块不是坏块,如果不同,则认为当前数据块是坏块,并标记当前数据块为坏块。由此可见,本方法能够在固态硬盘出厂前可以确定固态硬盘中存在多少坏块,从而能够根据坏块的数量决定是否可以出厂销售,在一定程度上提高了用户的体验感,也为后续的生产提供指导依据,避免出现过多存在坏块的固态硬盘,节约生产成本。

实施例二

图2为本发明实施例提供的另一种固态硬盘的测试方法的流程图。如图2所示,在上述实施例的基础上,本实施例中固态硬盘的测试方法还包括:

s20:建立固态硬盘的坏块标记表。

s21:根据标记为坏块的数据块的信息更新坏块标记表。

需要说明的是,坏块标记表的形式不作限定,任何形式的表都不影响本技术方案的实施。另外,步骤s20与s10-s13没有严格的先后顺序,图2只是一种具体的应用场景。

在具体实施中,可以在每执行完一次s12就执行s21,也可以在全部数据块都判断完之后执行一次s21,图2中就是在将全部数据块都判断完之后执行了s20和s21。

另外,需要说明的是,s21中的数据块的信息可以是数据块的编号,地址等,本发明不作限定。

本实施例通过建立坏块标记表和对坏块标记表进行更新能够及时记录固态硬盘中的坏块的信息,方便后续查找。

实施例三

上述实施例是对固态硬盘的测试是未进行任何的读写擦操作,也就是说在测试完成后,固态硬盘也是未写入过数据的。在具体实施中,固态硬盘存在坏块的情况一方面是出厂前由于工艺等原因造成的,另一方面是在使用过程中造成的,即固态硬盘随着使用的增多会老化,当固态硬盘老化后,会新在原始坏块的基础上,新增一些坏块,所以本实施例还对固态硬盘进行老化测试。

如图2所示,在结束之前,还包括:

s23:根据读写擦命令对固态硬盘中的非坏块执行读写擦测试以标记固态硬盘中新增坏块;

其中,读写擦命令包括读命令、写命令和擦命令,读写擦测试包括读测试、写测试和擦测试。

图3为本发明实施例提供的一种擦测试方法的流程图。需要说明的是,对于未写入过数据的数据块不执行擦测试。所以当首轮进行老化测试时,不对数据块进行擦测试。如图3所示,擦测试方法包括:

s30:接收擦命令;

s31:依据擦命令控制各数据块进行擦测试;

s32:根据返回的擦测试结果确定坏页地址以得到本轮擦测试的新增坏块,并保存在预先建立的新增坏块标记表。

图4为本发明实施例提供的一种写测试方法的流程图。如图4所示,写测试方法包括:

s40:接收写命令;

s41:依据写命令控制各数据块进行写测试;

s42:根据返回的写测试结果确定坏页地址以得到本轮写测试的新增坏块,并保存在预先建立的新增坏块标记表。

图5为本发明实施例提供的一种读测试方法的流程图。如图5所示,读测试方法包括:

s50:接收读命令;

s51:依据读命令控制各数据块进行读测试;

s52:根据返回的读测试结果确定坏页地址以得到本轮读测试的新增坏块,并保存在预先建立的新增坏块标记表。

需要说明的是,对于读测试来说,判断是否为坏块的依据是当读错误的bit超过阈值,如果仅仅是有错误,但是未超过阈值,则不认为是坏块。

在具体实施中为了加快读写擦测试,以上读命令、写命令和擦命令均为并行执行命令。例如,同时对4个数据块进行读测试,或写测试或擦测试。

如图2所示,作为优选地实施方式,还包括:

s24:当执行完读测试、写测试和擦测试后分别记录对应的数据块的坏页的地址,并统计坏块率。

s25:当坏块率达到阈值时,报警提示。

需要说明的是,s24中,其实是统计的本轮测试对应的坏块率,具体是新增坏块的数量与固态硬盘在本轮测试时的非坏块的数量的比值。另外,s25中的阈值可以根据实际情况确定,报警提示的方式有多种,最直接的方式是在测试界面上显示,本发明不作限定。

另外,由于每轮读写擦测试都会得到相应的新增坏块的数量,因此,在具体实施中,还可以对相邻两轮相同测试项目对应的新增坏块进行比较,当比例超过阈值时,则报警提示。例如,第一轮读测试对应的新增坏块与第二轮读测试对应的新增坏块的比例,如果该比例超过阈值,则报警提示。

本实施例如果进行多轮的读写擦测试,就可以实现对固态硬盘的老化测试,为固态硬盘后续的使用寿命提供参考依据。

实施例四

可以理解的是,如果要进行老化测试,则必然需要对实施例三中提到的测试进行多轮重复操作,例如,进行10轮,而每一轮操作都要耗费大量时间,所以对于整个固态硬盘来说完成一次老化测试需要消耗大量时间。本实施例中,为了缩短老化测试的时间,通过对固态硬盘进行升温操作以达到相同的测试效果。具体操作方法包括:

统计多轮读写擦命令对应的测试结果;

通过升温测试,记录一轮读写擦命令能够达到测试结果的测试温度以简化老化测试过程。

需要说明的是,对于升温测试来说,实施例三就需要在常温下进行,升温的基础是在常温下进行的。当得到了对应的测试温度,可以以该温度直接对其它硬盘进行老化测试,从而其它硬盘不再需要多轮测试,节约了测试时间。

本实施例根据nand特性提高测试环境温度,缩短测试轮数以达到相同的测试效果,从而缩短测试时间。

在上述实施例中,对于固态硬盘的测试方法进行了详细描述,本发明还提供固态硬盘的测试装置对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。

实施例五

图6为本发明实施例提供的一种固态硬盘的测试装置的结构图。如图6所示,包括:

选取模块10,用于选取固态硬盘的一个数据块。

第一判断模块11,用于判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果不同,则触发标记模块12和第二判断模块13,否则触发第二判断模块13。

标记模块12,用于标记当前数据块为坏块。

第二判断模块13,用于判断固态硬盘中是否还有剩余数据块,如果有,则触发选取模块,如果没有,则结束。

作为优选地实施方式,固态硬盘的测试装置还包括:

建立模块,用于建立固态硬盘的坏块标记表;

更新模块,用于根据标记为坏块的数据块的信息更新坏块标记表。

作为优选地实施方式,还包括:

新增坏块标记模块,用于根据读写擦命令对固态硬盘中的非坏块执行读写擦测试以标记固态硬盘中新增坏块;

其中,读写擦命令包括读命令、写命令和擦命令,读写擦测试包括读测试、写测试和擦测试。

作为优选地实施方式,还包括:

第一统计模块,用于当执行完读测试、写测试和擦测试后分别记录对应的数据块的坏页的地址,并统计坏块率。

作为优选地实施方式,还包括:

报警模块,用于当坏块率达到阈值时,报警提示。

作为优选地实施方式,还包括:

第二统计模块,用于统计多轮所述读写擦命令对应的测试结果;

记录模块,用于通过升温测试,记录一轮所述读写擦命令能够达到所述测试结果的测试温度以简化老化测试过程。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本发明实施例提供的固态硬盘的测试装置,在固态硬盘出厂前,针对全新的固态硬盘中的每个数据块进行坏块的测试,具体测试过程是判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果相同,则认为当前数据块不是坏块,如果不同,则认为当前数据块是坏块,并标记当前数据块为坏块。由此可见,本装置能够在固态硬盘出厂前可以确定固态硬盘中存在多少坏块,从而能够根据坏块的数量决定是否可以出厂销售,在一定程度上提高了用户的体验感,也为后续的生产提供指导依据,避免出现过多存在坏块的固态硬盘,节约生产成本。

实施例六

本实施例提供的固态硬盘的测试装置,包括存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如实施例一-实施例三所述的固态硬盘的测试方法的步骤。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。在本发明的一些实施例中,处理器和存储器可通过总线或其它方式连接。

本发明实施例提供的固态硬盘的测试装置,包括处理器和存储器,处理器在执行存储器存储的计算机程序时,能够在固态硬盘出厂前,针对全新的固态硬盘中的每个数据块进行坏块的测试,具体测试过程是判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果相同,则认为当前数据块不是坏块,如果不同,则认为当前数据块是坏块,并标记当前数据块为坏块。由此可见,本装置能够在固态硬盘出厂前可以确定固态硬盘中存在多少坏块,从而能够根据坏块的数量决定是否可以出厂销售,在一定程度上提高了用户的体验感,也为后续的生产提供指导依据,避免出现过多存在坏块的固态硬盘,节约生产成本。

实施例七

最后,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如实施例一-实施例三的固态硬盘的测试方法的步骤。

可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供的计算机可读存储介质,存储有计算机程序,该程序被执行时能够在固态硬盘出厂前,针对全新的固态硬盘中的每个数据块进行坏块的测试,具体测试过程是判断当前数据块的第一页和最后一页的标识符是否均与预先设置的标识符相同,如果相同,则认为当前数据块不是坏块,如果不同,则认为当前数据块是坏块,并标记当前数据块为坏块。由此可见,本方法能够在固态硬盘出厂前可以确定固态硬盘中存在多少坏块,从而能够根据坏块的数量决定是否可以出厂销售,在一定程度上提高了用户的体验感,也为后续的生产提供指导依据,避免出现过多存在坏块的固态硬盘,节约生产成本。

以上对本发明所提供的固态硬盘的测试方法、装置及计算机存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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