本申请涉及一种基于异常掉电的异常块识别方法、装置、计算机设备及存储介质,其中该方法包括:获取基于异常掉电的异常块识别请求;根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;若校验失败,则识别所述当前写入的块为异常块。本发明专利技术实现了避免数据写入部分擦除状态的块中导致的数据丢失。
Abnormal block identification method, device and computer equipment based on abnormal power failure
【技术实现步骤摘要】
基于异常掉电的异常块识别方法、装置及计算机设备
本专利技术涉及固态硬盘
,特别是涉及一种基于异常掉电的异常块识别方法、装置、计算机设备及存储介质。
技术介绍
目前,SSD中的存储介质是NANDFlash,NANDFlash由一组支持读写擦操作的块组成,在对这些块进行擦除操作时,若发生异常掉电,则这样的块可能处于部分擦除状态。读取这些块时,块可能表现为已擦除状态,但当向这样的块中写入数据时,数据可能不能被正确读取。在传统技术中,对于垃圾块的回收通常是:通过读取垃圾块,判断该块是否已擦除;若已擦除则直接回收使用,否则对该块进行擦除。但在异常掉电情形下,通过读垃圾块所返回的状态判断块是否是已擦除状态可能不准确。若判断错误可能导致数据被写入部分擦除状态的块中,导致数据不能被正确读出。
技术实现思路
基于此,有必要针对上述技术问题,提供一种可以避免数据写入异常块导致丢失的基于异常掉电的异常块识别方法、装置、计算机设备及存储介质。一种基于异常掉电的异常块识别方法,所述方法包括:获取基于异常掉电的异常块识别请求;根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;若校验失败,则识别所述当前写入的块为异常块。在其中一个实施例中,所述在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块的步骤还包括:在上电过程加载块的异常状态表,并根据前次掉电状态更新异常状态表;若前次掉电为异常掉电,则在垃圾块回收过程中将无需擦除而进行回收的块标记为可能处于部分擦除状态的块。在其中一个实施例中,所述若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验的步骤还包括:若所述当前写入的块为可能处于部分擦除状态的块,则在写入数据到第一页后,缓存所述第一页的数据;对所述第一页的数据进行读校验;若校验失败,则识别所述当前写入的块为异常块并将缓存的数据写入新块;若校验成功,则完成对应的写命令请求。在其中一个实施例中,所述方法还包括:当块被重新分配或擦除后,在所述异常状态表中清除所述块对应的异常状态标记;在安全掉电处理的过程中存储所述异常状态表。一种基于异常掉电的异常块识别装置,所述装置包括:获取模块,所述获取模块用于获取基于异常掉电的异常块识别请求;标记模块,所述标记模块用于根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;第一识别模块,所述第一识别模块用于在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;校验模块,所述校验模块用于若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;第二识别模块,所示第二识别模块用于若校验失败,则识别所述当前写入的块为异常块。在其中一个实施例中,所述标记模块还用于:在上电过程加载块的异常状态表,并根据前次掉电状态更新异常状态表;若前次掉电为异常掉电,则在垃圾块回收过程中将无需擦除而进行回收的块标记为可能处于部分擦除状态的块。在其中一个实施例中,所述校验模块还用于:若所述当前写入的块为可能处于部分擦除状态的块,则在写入数据到第一页后,缓存所述第一页的数据;对所述第一页的数据进行读校验;若校验失败,则识别所述当前写入的块为异常块并将缓存的数据写入新块;若校验成功,则完成对应的写命令请求。在其中一个实施例中,所述装置还包括:清除模块,所述清除模块用于当块被重新分配或擦除后,在所述异常状态表中清除所述块对应的异常状态标记;存储模块,所述存储模块用于在安全掉电处理的过程中存储所述异常状态表。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述基于异常掉电的异常块识别方法、装置、计算机设备和存储介质,通过获取基于异常掉电的异常块识别请求;根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;若校验失败,则识别所述当前写入的块为异常块。本专利技术通过块的异常状态表识别可能处于部分擦除状态的块,使用可能处于部分擦除状态的块时,对写入第一个页的数据进行读校验,若校验失败则表明该块是异常块,并将缓存的数据写入新的块,从而避免数据写入部分擦除状态的块中导致丢失。附图说明图1为一个实施例中基于异常掉电的异常块识别方法的流程示意图;图2为另一个实施例中基于异常掉电的异常块识别方法的流程示意图;图3为再一个实施例中基于异常掉电的异常块识别方法的流程示意图;图4为又一个实施例中基于异常掉电的异常块识别方法的流程示意图;图5为一个实施例中改进的垃圾块回收流程的流程示意图;图6为一个实施例中改进的数据写入流程的流程示意图;图7为一个实施例中基于异常掉电的异常块识别装置的结构框图;图8为另一个实施例中基于异常掉电的异常块识别装置的结构框图;图9为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。目前,对于垃圾块的回收通常是:通过读取垃圾块,判断该块是否已擦除;若已擦除则直接回收使用,否则对该块进行擦除。但在异常掉电情形下,通过读垃圾块所返回的状态判断块是否是已擦除状态可能不准确。若判断错误可能导致数据被写入部分擦除状态的块中,导致数据不能被正确读出。本专利通过块的异常状态表记录可能处于部分擦除状态的块;使用可能处于部分擦除状态的块时,在写入数据到第一个页后,缓存该页数据,对第一个页的数据进行读校验,若校验失败则该块是异常块,将缓存的数据写入新块。基于此,本专利技术提出一种基于异常掉电的异常块识别方法,旨在能够避免数据写入异常块中导致丢失。在一个实施例中,如图1所示,提供了一种基于异常掉电的异常块识别方法,该方法包括:步骤102,获取基于异常掉电的异常块识别请求;步骤104,根据基于异常掉电的异常块识别请本文档来自技高网...
【技术保护点】
1.一种基于异常掉电的异常块识别方法,其特征在于,所述方法包括:/n获取基于异常掉电的异常块识别请求;/n根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;/n在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;/n若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;/n若校验失败,则识别所述当前写入的块为异常块。/n
【技术特征摘要】
1.一种基于异常掉电的异常块识别方法,其特征在于,所述方法包括:
获取基于异常掉电的异常块识别请求;
根据所述基于异常掉电的异常块识别请求,在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块;
在数据写入的过程中通过所述异常状态表识别当前写入的块是否为可能处于部分擦除状态的块;
若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验;
若校验失败,则识别所述当前写入的块为异常块。
2.根据权利要求1所述的基于异常掉电的异常块识别方法,其特征在于,所述在垃圾块回收的过程中通过异常状态表标记可能处于部分擦除状态的块的步骤还包括:
在上电过程加载块的异常状态表,并根据前次掉电状态更新异常状态表;
若前次掉电为异常掉电,则在垃圾块回收过程中将无需擦除而进行回收的块标记为可能处于部分擦除状态的块。
3.根据权利要求1所述的基于异常掉电的异常块识别方法,其特征在于,所述若所述当前写入的块为可能处于部分擦除状态的块,则对当前写入第一页的数据进行读校验的步骤还包括:
若所述当前写入的块为可能处于部分擦除状态的块,则在写入数据到第一页后,缓存所述第一页的数据;
对所述第一页的数据进行读校验;
若校验失败,则识别所述当前写入的块为异常块并将缓存的数据写入新块;
若校验成功,则完成对应的写命令请求。
4.根据权利要求1-3任一项所述的基于异常掉电的异常块识别方法,其特征在于,所述方法还包括:
当块被重新分配或擦除后,在所述异常状态表中清除所述块对应的异常状态标记;
在安全掉电处理的过程中存储所述异常状态表。
5.一种基于异常掉电的异常块识别装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取基于异常掉电的异常块识别请求;
标记模块,所述标记模块用于根据所述基于异常掉电的异常块...
【专利技术属性】
技术研发人员:李建,华荣,杨学森,
申请(专利权)人:深圳忆联信息系统有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。