一种固态硬盘异常掉电处理方法、系统、介质及设备与流程

文档序号:14389859阅读:288来源:国知局
一种固态硬盘异常掉电处理方法、系统、介质及设备与流程

本发明涉及数据存储领域,特别涉及一种固态硬盘异常掉电处理方法、系统、介质及设备。



背景技术:

随着大数据时代的到来,各种数据都在时时刻刻的进行着海量的数据交互,所以对数据存储能力提出了更高的要求。其中,固态硬盘(solidstatedrives,ssd)以其体积轻便、读写速度快以及低功耗等优点,而得到了广泛的应用。但是在固态硬盘出现异常掉电时,由于其本身存储电量有限,必须及时的将数据紧急写入nand(nandflashmemory,固态硬盘颗粒)当中,否则会造成数据的丢失。但是在固态硬盘掉电的过程中,还有一部分数据是存储在固态硬盘的缓存当中的,这部分数据可能会存在写消息延迟处理的现象,针对这一问题,如何使用更好的方法对其进行解决,是本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种固态硬盘异常掉电处理方法、系统、介质及设备,以提高固态硬盘在异常掉电时有效数据的存储效率。其具体方案如下:

一种固态硬盘异常掉电处理方法,包括:

当fcc接收到数据请求时,则判断所述数据请求是否为读请求或擦除请求;其中,所述fcc为所述固态硬盘中缓存数据的处理器;

若所述数据请求为读请求或擦除请求时,则检测所述fcc是否存在异常掉电标志;其中,所述异常掉电标志为当检测到所述固态硬盘异常掉电时所设置的标记;

若是,则停止对所述读请求或所述擦除请求进行操作。

优选的,所述检测所述fcc是否存在异常掉电标志的过程之后,还包括:

若否,则继续对所述读请求或所述擦除请求进行操作。

优选的,所述当检测到所述固态硬盘异常掉电时所设置的标记的过程,包括:

当固件检测到所述固态硬盘异常掉电时,则利用中断触发的方式设置所述异常掉电标记。

优选的,所述若所述数据请求为读请求或擦除请求时的过程之后,还包括:

判断所述擦除请求是否处在擦除消息挂起操作状态;

若是,则检测所述fcc是否存在异常掉电标志;

若是,则停止对所述擦除请求进行处理。

优选的,所述判断所述擦除请求是否处在擦除消息挂起操作状态的过程之后,还包括:

若否,则返回完成所述擦除请求。

优选的,所述检测所述fcc是否存在异常掉电标志的过程之后,还包括:

若否,则继续执行所述擦除消息挂起操作。

相应的,本发明还公开了一种固态硬盘异常掉电处理系统,包括:

第一判断模块,用于当fcc接收到数据请求时,则判断所述数据请求是否为读请求或擦除请求;其中,所述fcc为所述固态硬盘中缓存数据的处理器;

第二判断模块,用于若所述数据请求为读请求或擦除请求时,则检测所述fcc是否存在异常掉电标志;其中,所述异常掉电标志为当检测到所述固态硬盘异常掉电时所设置的标记;

第一执行模块,用于若是,则停止对所述读请求或所述擦除请求进行操作。

优选的,还包括:

第三判断模块,用于若所述数据请求为读请求或擦除请求时的过程之后,判断所述擦除请求是否处在擦除消息挂起操作状态;

第四判断模块,用于若是,则检测所述fcc是否存在异常掉电标志;

第二执行模块,用于若是,则停止对所述擦除请求进行处理。

相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述公开的一种固态硬盘异常掉电处理方法的步骤。

相应的,本发明还公开了一种固态硬盘异常掉电处理设备,包括:

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

处理器,用于执行所述计算机程序时实现如前述公开的固态硬盘异常掉电处理方法的步骤。

在本发明中,一种固态硬盘异常掉电处理方法,包括:当fcc接收到数据请求时,则判断数据请求是否为读请求或擦除请求;其中,fcc为固态硬盘中缓存数据的处理器;若数据请求为读请求或擦除请求时,则检测fcc是否存在异常掉电标志;其中,异常掉电标志为当检测到固态硬盘异常掉电时所设置的标记;若是,则停止对读请求或擦除请求进行操作。

可见,当固态硬盘发生异常掉电时,首先是为fcc设置异常掉电标志,然后,当fcc接收到数据请求时,则判断数据请求是否是读请求或者是擦除请求,如果是读请求或者是擦除请求,则检测fcc是否被设置了异常掉电标志,如果被设置了异常掉电标志,则说明固态硬盘已经处于掉电的状态,此时,则只处理请求数据中的写请求,停止处理请求数据中的读请求和擦除请求,显然,通过这样的方法,有效提高了固态硬盘在异常掉电时保存有效数据的效率,同时也提高了固态硬盘的整体性能。相应的,本发明还公开了一种固态硬盘异常掉电处理系统、介质及设备,同样具有上述有益效果。

附图说明

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

图1为本发明实施例提供的一种固态硬盘异常掉电处理方法的流程图;

图2为本发明实施例提供的另一种固态硬盘异常掉电处理方法的流程图;

图3为本发明实施例提供的一种固态硬盘异常掉电处理系统的结构图;

图4为本发明实施例提供的一种固态硬盘异常掉电处理设备的结构图。

具体实施方式

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

本发明实施例公开了一种固态硬盘异常掉电处理方法,如图1所示,该方法包括:

步骤s11:当fcc接收到数据请求时,则判断数据请求是否为读请求或擦除请求;

其中,fcc为固态硬盘中缓存数据的处理器。

步骤s12:若数据请求为读请求或擦除请求时,则检测fcc是否存在异常掉电标志;

其中,异常掉电标志为当检测到固态硬盘异常掉电时所设置的标记。

步骤s13:若是,则停止对读请求或擦除请求进行操作。

需要说明的是,固态硬盘中包括nand介质、固件(firmware)以及fcc(flashchannelcontroller,固件通道控制器),其中,fcc为固态硬盘中缓存数据的处理器。为了对本实施例有更好的说明,此处先对固态硬盘正常工作流程进行说明,具体的,在实际应用当中,首先是主机端向固态硬盘写入数据请求,然后固态硬盘中的相关处理器将数据请求存储到nand介质当中,完成数据请求的写入,也即完成了请求数据的存储。

当固态硬盘发生异常掉电时,会有一部分数据缓存在固态硬盘的fcc当中,可能会导致写请求的延迟处理,也即,不会将这部分数据及时写入nand介质当中。本实施例就是引入一种异常掉电触发机制来处理此种情况,来提高固态硬盘异常掉电时有效数据的存储效率。

具体的,在本实施例中,首先是当固件(firmware)检测到固态硬盘异常掉电时,则触发fcc中断操作,为fcc配置异常掉电标记。然后,当fcc接收到主机端发送的数据请求时,再判断数据请求是否为读请求或擦除请求,如果数据请求是读请求或者是擦除请求时,则判断fcc是否配置了异常掉电标记,如果fcc配置了异常掉电标记,则停止对读请求或者是擦除请求进行操作。可以理解的是,固态硬盘异常掉电时随时都可能发生的,但是在固态硬盘内部数据处理的过程中,此过程还会有时间上的延迟,也即,在固态硬盘断电的过程中,会有一部分数据缓存在fcc中,所以通过设定固态硬盘断电异常标记,通知fcc对接收到的数据请求进行择优处理,也即只处理请求数据中的写请求,对数据请求中的读请求和擦除请求不作处理,所以就提高了固态硬盘在异常掉电时存储有效数据的效率。

可见,当固态硬盘发生异常掉电时,首先是为fcc设置异常掉电标志,然后,当fcc接收到数据请求时,则判断数据请求是否是读请求或者是擦除请求,如果是读请求或者是擦除请求,则检测fcc是否被设置了异常掉电标志,如果被设置了异常掉电标志,则说明固态硬盘已经处于掉电的状态,此时,则只处理请求数据中的写请求,停止处理请求数据中的读请求和擦除请求,显然,通过这样的方法,有效提高了固态硬盘在异常掉电时保存有效数据的效率,同时也提高了固态硬盘的整体性能。

在上一实施例的基础上,作为一种优选的实施方式,本实施例对上一实施例中步骤s12:设定异常掉电标记的过程作一个具体的说明。

具体的,当固件检测到固态硬盘异常掉电时,则利用中断触发的方式设置异常掉电标记。

在本实施例中,当固件(firmware)检测到固态硬盘异常掉电后,通过中断触发的方式设置异常掉电标记,也即,通过中断触发机制通知fcc及时停止处理读请求和擦除请求,以减少写请求等待的时间,提高固态硬盘异常掉电时有效数据的存储效率,进而提高固态硬盘的整体性能。

如图2所示,作为一种优选的实施方式,在上述步骤s12:检测fcc是否存在异常掉电标志的过程之后,还包括:

步骤h11:若否,则继续对读请求或擦除请求进行操作。

可以理解的是,如果检测fcc不存在异常掉电标志,则说明固态硬盘是处于一个正常的工作状态,则此时继续对读请求或者是擦除请求进行处理,以保证固态硬盘的正常存储数据的流程。

作为一种优选的实施方式,为了降低数据请求在写等待的延时,上述步骤s13:若数据请求为读请求或擦除请求时的过程之后,还包括:

步骤h21:判断擦除请求是否处在擦除消息挂起操作状态。

步骤h22:若否,则返回完成擦除请求。

步骤h23:若是,则检测fcc是否存在异常掉电标志。

步骤h24:若否,则继续执行擦除消息挂起操作。

步骤h25:若是,则停止对擦除请求进行处理。

能够想到的是,如果擦除请求时处在擦除消息挂起操作状态,则继续检测fcc是否存在异常掉电标志,如果fcc存在异常掉电标志,则停止对擦除请求进行处理;如果擦除请求不是处在擦除消息挂起操作状态,则返回完成擦除消息,以完成一个完整的数据交互过程。可以理解的是,由于擦除请求所需的时间较长,所以,在本实施例中,通过判断擦除请求是否处在擦除消息挂起操作的状态,能够在较大程度上降低写等待的延时。

相应的,本发明还公开了一种固态硬盘异常掉电处理系统,如图3所示,包括:

第一判断模块31,用于当fcc接收到数据请求时,则判断数据请求是否为读请求或擦除请求;其中,fcc为固态硬盘中缓存数据的处理器。

第二判断模块32,用于若数据请求为读请求或擦除请求时,则检测fcc是否存在异常掉电标志;其中,异常掉电标志为当检测到固态硬盘异常掉电时所设置的标记。

第一执行模块33,用于若是,则停止对读请求或擦除请求进行操作。

优选的,固态硬盘异常掉电处理系统,还包括:

第三判断模块,用于若数据请求为读请求或擦除请求时的过程之后,判断擦除请求是否处在擦除消息挂起操作状态。

第四判断模块,用于若是,则检测fcc是否存在异常掉电标志。

第二执行模块,用于若是,则停止对擦除请求进行处理。

优选的,固态硬盘异常掉电处理系统,还包括:

第三执行模块,用于检测fcc是否存在异常掉电标志的过程之后,若否,则继续对读请求或擦除请求进行操作。

优选的,第二判断模块32包括:

标记设置单元,用于当固件检测到固态硬盘异常掉电时,则利用中断触发的方式设置异常掉电标记。

优选的,固态硬盘异常掉电处理系统,还包括:

第四执行模块,用于判断擦除请求是否处在擦除消息挂起操作状态的过程之后,若否,则返回完成擦除请求。

优选的,固态硬盘异常掉电处理系统,还包括:

第五执行模块,用于检测fcc是否存在异常掉电标志的过程之后,若否,则继续执行擦除消息挂起操作。

相应的,本发明还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述公开的固态硬盘异常掉电处理方法的步骤。

相应的,本发明还公开了一种固态硬盘异常掉电处理设备,如图4所示,包括:

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

处理器42,用于执行计算机程序时实现如前述公开的固态硬盘异常掉电处理的步骤。

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

以上对本发明所提供的一种固态硬盘异常掉电处理方法、系统、介质及设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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