一种固态硬盘的擦除方法、装置、设备及存储介质与流程

文档序号:22427816发布日期:2020-10-02 10:04阅读:564来源:国知局
一种固态硬盘的擦除方法、装置、设备及存储介质与流程

本发明涉及固态硬盘领域,特别涉及一种固态硬盘的擦除方法、装置、设备及计算机可读存储介质。



背景技术:

固态硬盘ssd(solidstatedisk)是一种用来存储用户数据的设备,由控制单元和存储介质nand等模块组成;其中,控制单元中运行嵌入式软件firmware进行资源的控制、对用户数据存储调度、维护nand设备等操作;firmware中用于进行用户读写擦请求的核心处理模块为ftl(flashtranslationlayer),firmware中用于对ftl进行监控管理的模块为管理器。在ftl需要擦除nand中的目标block时,一般是通过ftl直接对目标block进行擦除操作。但是,若在对目标block进行擦除操作时,ftl存在功能异常,则将导致数据信息丢失。

现有技术中,一般通过检测固态硬盘的各模块性能来判断ftl是否正常,并在确定各模块正常的情况下才进行擦除操作,但是,造成ftl异常的结果可能是多个模块整体运行时造成的,也就是说,单独检测各模块性能均正常的情况下,各模块整体运行时仍可能使得ftl功能异常;这样一来,现有技术的方法并不能完整全面地检测出ftl的异常情况。另一种现有技术是在ftl执行擦除操作时对擦除操作进行监控,以判断ftl是否正常。这种方法中,即使检测出ftl存在异常,而擦除操作也已经完成,错误的擦除操作仍将导致数据信息丢失,使得固态硬盘的可靠性低。

因此,如何在对固态硬盘擦除操作时,保障固态硬盘的可靠性,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种固态硬盘的擦除方法,能够在对固态硬盘擦除操作时,保障固态硬盘的可靠性;本发明的另一目的是提供一种固态硬盘的擦除装置、设备及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本发明提供一种固态硬盘的擦除方法,包括:

接收运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求;

从预先设置的空闲block中选择一个目标空闲block反馈给所述vftl;

采集所述vftl预设时长内的运行信息,并根据所述运行信息判断所述vftl的功能是否正常;

若正常,则对所述目标block进行擦除操作。

优选地,所述采集所述vftl预设时长内的运行信息,并根据所述运行信息判断所述vftl的功能是否正常的过程,具体包括:

采集所述vftl预设时长内的所述运行信息,通过判断所述vftl的擦除行为和写入行为是否满足第一预设行为标准和/或判断所述vftl的读写擦请求比例是否在预设比例范围内和/或判断所述vftl行为是否与用户请求一致和/或判断所述vftl的运行性能是否达到预设性能指标和/或判断所述vftl的行为与预设行为要求是否一致和/或根据固态硬盘的运行状态是否在标准状态范围内和/或通过判断所述vftl提交的范围检查数据是否正常和/或判断所述vftl访问的内存区域是否在预设区域范围内和/或判断vftl的内存访问行为是否满足第二预设行为标准来判断所述vftl的功能是否正常。

优选地,进一步包括:

根据所述固态硬盘的出厂时间调整判断所述vftl的功能是否正常的判断条件。

优选地,所述采集所述vftl预设时长内的运行信息,并根据所述运行信息判断所述vftl的功能是否正常的过程,具体包括:

采集所述vftl预设时长内的所述运行信息,采用预设学习算法,结合多个所述运行信息判断所述vftl的功能是否正常。

优选地,所述预设学习算法具体为线性判别或决策树或支持向量机。

优选地,在所述从预先设置的空闲block中选择一个目标空闲block反馈给所述vftl之前,进一步包括:

验证所述擦除请求的安全性,并在验证通过的情况下进入所述从预先设置的空闲block中选择一个目标空闲block反馈给所述vftl的步骤。

优选地,在所述采集所述vftl预设时长内的运行信息,并根据所述运行信息判断所述vftl的功能是否正常之后,若不正常,则进一步包括:

锁定所述固态硬盘和/或记录所述vftl的功能异常情况。

为解决上述技术问题,本发明还提供一种固态硬盘的擦除装置,包括:

接收模块,用于接收运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求;

反馈模块,用于从预先设置的空闲block中选择一个目标空闲block反馈给所述vftl;

判断模块,用于采集所述vftl预设时长内的运行信息,并根据所述运行信息判断所述vftl的功能是否正常;若正常,则调用擦除模块;

所述擦除模块,用于对所述目标block进行擦除操作。

为解决上述技术问题,本发明还提供一种固态硬盘的擦除设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种固态硬盘的擦除方法的步骤。

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

本发明提供的一种固态硬盘的擦除方法,在接收到运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求之后,并没有直接对目标block进行擦除操作,而是先从预先设置的空闲block中选择一个目标空闲block反馈给vftl;然后通过采集vftl预设时长内的运行信息,在根据vftl预设时长内的运行信息判断出vftl在预设时长内的功能正常的情况下,才对目标block进行擦除操作。可见,本方法是根据vftl的预设时长内的运行信息判断vftl是否功能正常,运行信息是固态硬盘中多个模块整体运行结果的体现,因此能够完整全面地检测出vftl的异常情况;并且,即使判断出vftl存在功能异常,而由于vftl是运行于预设虚拟环境中的ftl,即并没有对固态硬盘进行实质性的操作,因此能够相对保障固态硬盘中的数据信息的完整性,从而提高在对固态硬盘进行擦除操作时固态硬盘的可靠性。

为解决上述技术问题,本发明还提供了一种固态硬盘的擦除装置、设备及计算机可读存储介质,均具有上述有益效果。

附图说明

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

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

图2为本发明实施例提供的一种固态硬盘的擦除装置的结构图;

图3为本发明实施例提供的一种固态硬盘的擦除设备的结构图。

具体实施方式

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

本发明实施例的核心是提供一种固态硬盘的擦除方法,能够在对固态硬盘擦除操作时,保障固态硬盘的可靠性;本发明的另一核心是提供一种固态硬盘的擦除装置、设备及计算机可读存储介质,均具有上述有益效果。

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

图1为本发明实施例提供的一种固态硬盘的擦除方法的流程图。如图1所示,一种固态硬盘的擦除方法包括:

s10:接收运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求;

s20:从预先设置的空闲block中选择一个目标空闲block反馈给vftl;

s30:采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常;

s40:若正常,则对目标block进行擦除操作。

具体的,在本实施例中,首先将firmware中的ftl运行于预设虚拟环境中,本实施例对预设虚拟环境的具体类型不做限定,根据实际需求设置即可。可以理解的是,运行于预设虚拟环境中的ftl即为vftl(virtualflashtranslationlayer,虚拟化ftl);vftl在预设虚拟环境中执行常规的ftl操作,包括但不限于:接受用户的读/写/管理请求、管理nand的资源、对功耗性能进行控制、对nand的存储持久性进行优化管理等。vftl可以调用一系列系统接口,包括与用户端的读写控制器的调用接口、性能加速的硬件加速器接口、nand管理的读写擦接口等。可以理解的是,由于vftl是运行于预设虚拟环境中的ftl,即vftl的写和擦是虚拟化的,并非直接进行操作硬件,而是通过对管理器提出请求,由管理器来执行对应的操作。对应的,运行于预设虚拟环境之外的管理器负责解释vftl的擦除请求,并对擦除请求进行实施;管理器同时还负责监控vftl的行为是否正常,即判断vftl的功能是否正常。

具体的,管理器预先设置并维护一组空闲block,当管理器接收到运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求时,管理器首先从预先设置的空闲block中选择一个目标空闲block即擦除完成的block反馈给vftl,使得vftl可以继续对用户请求提供服务;然后,管理器通过采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常。

需要说明的是,vftl请求擦除的目标block其实是在管理器的管理列表中暂存,并没有立即擦除,等预设时长管理器确认vftl的行为正常之后,才对目标block进行擦除操作,擦除完成的目标block即为空闲block,管理器对该空闲block进行管理以便循环使用。

本发明实施例提供的一种固态硬盘的擦除方法,在接收到运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求之后,并没有直接对目标block进行擦除操作,而是先从预先设置的空闲block中选择一个目标空闲block反馈给vftl;然后通过采集vftl预设时长内的运行信息,在根据vftl预设时长内的运行信息判断出vftl在预设时长内的功能正常的情况下,才对目标block进行擦除操作。可见,本方法是根据vftl的预设时长内的运行信息判断vftl是否功能正常,运行信息是固态硬盘中多个模块整体运行结果的体现,因此能够完整全面地检测出vftl的异常情况;并且,即使判断出vftl存在功能异常,而由于vftl是运行于预设虚拟环境中的ftl,即并没有对固态硬盘进行实质性的操作,因此能够相对保障固态硬盘中的数据信息的完整性,从而提高在对固态硬盘进行擦除操作时固态硬盘的可靠性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常的过程,具体包括:

采集vftl预设时长内的运行信息,通过判断vftl的擦除行为和写入行为是否满足第一预设行为标准和/或判断vftl的读写擦请求比例是否在预设比例范围内和/或判断vftl行为是否与用户请求一致和/或判断vftl的运行性能是否达到预设性能指标和/或判断vftl的行为与预设行为要求是否一致和/或根据固态硬盘的运行状态是否在标准状态范围内和/或通过判断vftl提交的范围检查数据是否正常和/或判断vftl访问的内存区域是否在预设区域范围内和/或判断vftl的内存访问行为是否满足第二预设行为标准来判断vftl的功能是否正常。

在本实施例中,是通过采集预设时长内的运行信息,并根据预设时长内的运行信息来判断vftl的功能是否正常。

具体的,vftl的擦除和写入行为应当是有规律的,因此本实施例中将判断vftl的擦除行为和写入行为是否满足第一预设行为标准作为判断vftl的功能是否正常的判断条件之一。更具体的,通过判断vftl的写入的范围、写入的频率、擦除的频率、擦除在每个物理nand单元之间的分布是否满足预先设置的第一预设行为标准,如写入的频率是否在预设规定的写入频率范围内,擦除的频率是否在预设规定的擦除频率范围内等,来对vftl的功能是否正常进行判断。

具体的,vftl的读写擦请求比例应当是在一定合理值范围的,因此本实施例中将判断vftl的读写擦请求比例是否在预设比例范围内作为判断vftl的功能是否正常的判断条件之一。可以理解的是,虽然不同的用户行为本身各不相同,但每个用户在一定时间之内读写擦请求的统计分布应当是合理的。

具体的,vftl的行为应当是和用户的读/写/管理请求保持一致性的,因此本实施例中将判断vftl行为是否与用户请求一致作为判断vftl的功能是否正常的判断条件之一。例如,当用户请求要求读取的地址对应的数据信息与vftl执行读操作时读取的地址对应的数据信息不一致时,表示vftl的功能存在异常情况。

具体的,vftl的性能指标应当保持在设计预期的范围之内。例如,设计指标对于用户的写延迟可能在d微秒之内,如果时间频繁超过预期过大幅度,则有一定较小的可能性意味着vftl功能异常,因此本实施例中将判断vftl的运行性能是否达到预设性能指标作为判断vftl的功能是否正常的判断条件之一。

具体的,vftl的行为和设计本意应当是一致的,因此本实施例中,可以将判断vftl的行为与预设行为要求是否一致作为判断vftl的功能是否正常的判断条件之一。例如,vftl的程序设计中往往会包含wearleveling算法,因此block的擦除频率应当和block的pecount相关,vftl的行为应当体现这种相关性。

具体的,磁盘的整体运行状况应当在程序设计的目标之内,因此,本实施例中,包括根据固态硬盘的运行状态是否在标准状态范围内来判断vftl的功能是否正常。例如,固态硬盘的设计使用温度在n摄氏度以下,如果温度长时间处于n摄氏度以上,而firmware还在工作,则有一定较小的可能性意味着vftl的功能异常。

具体的,vftl应当主动向管理器提交运行时的范围检查数据,因此,本实施例中,包括通过判断vftl提交的范围检查数据是否正常来判断vftl的功能是否正常。更具体的,vftl各模块通过采集运行时的一系列函数输入激励内容,并检查函数输入激励内容是否为合理值,避免错误传播和放大。

具体的,vftl访问的内存区域应当在合理值范围。在某些安全要求更高的配置下,对内存数据的访问也将纳入虚拟化的函数中,因此管理器可以监控vftl的内存访问地址是否合理。即本实施例通过判断vftl访问的内存区域是否在预设区域范围内来判断vftl的功能是否正常。

具体的,本实施例通过判断vftl的内存访问行为是否满足第二预设行为标准来判断vftl的功能是否正常。管理器可以对一组内存值的访问进行虚拟化(不一定是所有内存,以避免虚拟化带来的性能降低),这些访问应当在合理范围内。比如,vftl通过管理器获取固态硬盘上的数据信息,管理器根据vftl所获取的数据信息的读取频率、读取范围、读取数据信息的时间间隔等是否在第二预设行为标准的范围内,读取的数据信息的值是否大于0等来判断vftl的功能是否正常。

作为优选的实施方式,采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常的过程,具体包括:

采集vftl预设时长内的运行信息,采用预设学习算法,结合多个运行信息判断vftl的功能是否正常。

在本实施例中,具体是通过设置预设学习算法,将运行信息输入至预设学习算法中,通过计算判断确定出vftl的功能是否正常。具体的,本实施例中的运行信息包括运行值如写入频率、写入范围,以及根据运行信息确定出的判断结果如运行信息的写入频率是否在预设标准写入频率范围内的判断结果,本实施例对此不做限定。

需要说明的是,在本实施例中,管理器可以根据学习算法确定判断条件的合理范围。具体的,可以是直接接收软件开发人员输入的某些规则的合理范围,如“温度超过n摄氏度的时间应当小于k”中n和k的数值可以由软件开发人员直接定义并输入。或者,管理器可以收集和统计合理的范围;具体的,固态硬盘刚出厂时,firmware中不易出现未经验证覆盖的bug,因此可以采集固态硬盘出厂预设时间内的运行信息作为运行信息的标准范围的学习样本,对规则的合理范围进行统计。在实际操作中,也可以根据实际操作经验逐步的对vftl的运行信息进行收集和学习,确定出作为运行信息的标准范围的学习样本。

作为优选的实施方式,预设学习算法具体为线性判别或决策树或支持向量机。

具体的,在本实施例中,预设学习算法可以是线性判别或决策树或支持向量机,当然还可以是其他的预设学习算法,具体可以根据实际需求进行选择,本实施例对此不做具体的限定。

可见,本实施例利用预设学习算法对多个运行信息进行综合判断,能够使得判断vftl的功能是否正常的判断结果更加准确。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,进一步包括:

根据固态硬盘的出厂时间调整判断vftl的功能是否正常的判断条件。

具体的,在本实施例中,是进一步获取固态硬盘的出厂时间,根据固态硬盘的出厂时间调整判断vftl的功能是否正常的判断条件。一般的,固态硬盘的出厂时间越久远,判断vftl的功能是否正常的判断条件越严格。控制判断条件的严格与否的方式,可以通过设置更为严格的用于与运行信息进行比较的标准数据信息;例如,对于出厂1年的固态硬盘a来说,判断条件可以是“温度超过n摄氏度的时间应当小于k1”,对于出厂5年的固态硬盘b来说,判断条件可以是“温度超过n摄氏度的时间应当小于k2”,其中,k1>k2;即表示出厂时间越长,判断条件越严格。

本实施例通过进一步根据固态硬盘的出厂时间来调整判断vftl的功能是否正常的判断条件,能够使得判断vftl的功能是否正常的判断结果更加精准。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在从预先设置的空闲block中选择一个目标空闲block反馈给vftl之前,进一步包括:

验证擦除请求的安全性,并在验证通过的情况下进入从预先设置的空闲block中选择一个目标空闲block反馈给vftl的步骤。

具体的,在本实施例中,是在管理器对vftl发送的擦除请求进行反馈之前,进一步对擦除请求进行安全性验证。具体的,安全性验证包括判断该擦除请求是否合法、是否携带病毒或者是否为对应的vftl发送的擦除请求等,具体的验证方式如数字证书验证、哈希值验证等方式,本实施例对此不做具体的限定。

具体的,若对擦除请求的安全性验证通过,则进入从预先设置的空闲block中选择一个目标空闲block反馈给vftl的步骤;若验证不通过,说明该擦除请求异常,则可以忽略该擦除请求或者根据该擦除请求发出对应的报警信息,以提示用户当前的擦除请求异常。

可见,本实施例通过在对擦除请求进行反馈之前,进一步对擦除请求进行安全性验证,从而能够进一步保障擦除请求的安全性,从而保障固态硬盘的数据信息的安全性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常之后,若不正常,则进一步包括:

锁定固态硬盘和/或记录vftl的功能异常情况。

具体的,在本实施例中,是在判断出vftl的功能不正常的情况下进一步采取对应的措施。具体的,在实际操作中,可以是根据vftl的功能的异常情况发出对应的提示信息,具体如在确定出判断结果之后,触发预设的提示装置发出对应的提示信息。另外,在本实施例中,是在判断出vftl的功能不正常的情况下,锁定固态硬盘,使得固态硬盘只能执行读操作,不能执行写操作或者擦除操作,从而相对保障固态硬盘中数据信息的安全性。需要说明的是,在本实施例中,还可以记录vftl的功能异常情况,具体的记录方式可以是以文本或以表格的形式记录,本实施例对此不做限定,根据实际需求设置,本实施例对此不做限定。具体的,可以是将vftl的异常情况记录于内存条、硬盘、tf(trans-flashcard)卡和sd(securedigitalmemorycard)卡等存储设备中,具体根据实际需求进行选择,本实施例对此不做限定。

可见,本实施例通过进一步在判断出vftl的功能不正常的情况下进一步采取对应的措施,能够相对保障固态硬盘的安全性,能够便于查看分析vftl的异常情况,从而进一步提升用户的使用体验。

上文对于本发明提供的一种固态硬盘的擦除方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的固态硬盘的擦除装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

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

接收模块21,用于接收运行于预设虚拟环境中的vftl发出的擦除目标block的擦除请求;

反馈模块22,用于从预先设置的空闲block中选择一个目标空闲block反馈给vftl;

判断模块23,用于采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能是否正常;若正常,则调用擦除模块;

擦除模块24,用于对目标block进行擦除操作。

本发明实施例提供的固态硬盘的擦除装置,具有上述固态硬盘的擦除方法的有益效果。

作为优选的实施方式,一种固态硬盘的擦除装置进一步包括:

调整模块,用于根据固态硬盘的出厂时间调整判断vftl的功能是否正常的判断条件。

作为优选的实施方式,一种固态硬盘的擦除装置进一步包括:

验证模块,用于验证擦除请求的安全性,并在验证通过的情况下调用反馈模块22。

作为优选的实施方式,一种固态硬盘的擦除装置进一步包括:

执行模块,用于在采集vftl预设时长内的运行信息,并根据运行信息判断vftl的功能不正常之后,锁定固态硬盘和/或记录vftl的功能异常情况。

图3为本发明实施例提供的一种固态硬盘的擦除设备的结构图,如图3所示,一种固态硬盘的擦除设备包括:

存储器31,用于存储计算机程序;

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

本发明实施例提供的固态硬盘的擦除设备,具有上述固态硬盘的擦除方法的有益效果。

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

本发明实施例提供的计算机可读存储介质,具有上述固态硬盘的擦除方法的有益效果。

以上对本发明所提供的固态硬盘的擦除方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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