一种数据刷新方法及固态硬盘的制作方法_2

文档序号:9506077阅读:来源:国知局
需要刷新的数据,在固态硬盘中有数据需要刷新的情况下,可以直接通过控制器101分析固态硬盘的历史数据从而确定需要刷新的是固态硬盘中存储的哪些数据。通过这样的方式,无需与主机进行交互,固态硬盘就能够直接确定固态硬盘中存储的数据是否需要刷新,以及确定需要刷新的是哪些数据,减弱对外部设备的依赖性,增强了固态硬盘的自我修复能力。
[0048]下面结合附图对本发明优选的实施方式进行详细说明。
[0049]请参见图2,本发明实施例提供一种数据刷新方法,该方法可以由固态硬盘执行,例如可以通过固态硬盘的控制器101执行,该方法的流程描述如下。
[0050]步骤201:在通过固态硬盘的控制器101确定固态硬盘满足预定条件时,通过固态硬盘的控制器101获取固态硬盘的历史数据;历史数据用于指示固态硬盘的使用状况;
[0051]步骤202:通过控制器101分析历史数据,以确定固态硬盘中需要刷新的数据。
[0052]历史数据可以用于指示固态硬盘的使用状况。例如,历史数据可以包括固态硬盘从第一次通电开始起的每一次通电的上电时刻对应的数据、断电时刻对应的数据、以及通电持续时长对应的数据,或者,历史数据也可以包括固态硬盘中的存储器102存储的每个数据被读取或写入的时间数据,或者,历史数据还可以包括固态硬盘的存储器102中存储的每个数据最近一次被刷新的时间数据,等等。只要是用来指示固态硬盘的使用状况的数据都可以包括在历史数据中。
[0053]预定条件,即用来确定固态硬盘中的存储器102存储的数据是否需要刷新的条件,当固态硬盘满足预定条件时,则可以确定固态硬盘的存储器102中存储有需要刷新的数据。关于确定固态硬盘是否满足预定条件的方式,以下举例介绍。
[0054]第一种:
[0055]可选的,在本发明另一实施例中,通过固态硬盘的控制器101确定固态硬盘满足预定条件,包括:
[0056]通过控制器101确定固态硬盘在第一预设时长内处于断电状态;第一预设时长的终点时刻为当前时刻;
[0057]通过控制器101确定固态硬盘满足预定条件。
[0058]第一预设时长,可以是终点时刻为当前时刻的任意时长。例如,当前时刻比如是2015年9月17日10时,第一预设时长比如可以是从当前时刻往前的30天,那么第一预设时长就可以是从2015年8月18日10时到2015年9月17日10时这段时长。
[0059]一般情况下,如果固态硬盘长时间都处于断电状态,可以认为固态硬盘长时间都没有使用,因此,有可能存在因存储在固态硬盘中的电荷减少而导致存储的数据发生错误的情况。在这种情况下,可以认为存储器102中存在需要刷新的数据。
[0060]本发明实施例中,预定条件可以是固态硬盘在第一预设时长内处于断电状态,例如,控制器101可以检测固态硬盘上一次通电的断电时刻对应的数据,如果上一次通电的断电时刻不在第一预设时长对应的时间段内,则可以确定固态硬盘在第一预设时长内处于断电状态,那么可以确定固态硬盘满足预定条件,也就是确定固态硬盘中存在需要刷新的数据。
[0061]例如,当前时刻比如为2015年10月1日12时30分,第一预设时长比如是从当前时刻往前的60天,即,第一预设时长可以是2015年8月2日12时30分至2015年10月1日12时30分之间的这段时长。若控制器101获取到固态硬盘上一次通电的断电时刻在2015年8月2日12时30分之前,比如是2015年4月1日16时30分,或者正好是2015年8月2日12时30分,则可以确定固态硬盘在第一预设时长内处于断电状态,也就确定固态硬盘满足预定条件。
[0062]这样,固态硬盘无需通过与主机交互,就可以通过自身的控制器101确定存储的数据是否需要刷新,过程较为容易实现,且检测固态硬盘在一定时长内是否有通电,能够较为便捷以及准确地确定存储器102中的数据是否需要刷新。
[0063]可选的,在本发明另一实施例中,通过控制器101分析历史数据,以确定固态硬盘中需要刷新的数据,包括:
[0064]通过控制器101分析历史数据,确定固态硬盘中的全部数据为需要刷新的数据。
[0065]本发明实施例中,如果通过控制器101确定固态硬盘在第一预设时长内处于断电状态,则可以分析固态硬盘的历史数据,这时的历史数据可以是固态硬盘上一次通电的断电时刻对应的数据,或存储器102中存储的数据总量的大小对应的数据。
[0066]通常,如果固态硬盘长时间没有通电,则可以表明存储器102中存储的所有数据在较长时间内都没有更新过,那么可以通过对上一次通电的断电时刻对应的数据的分析,将存储器102中存储的全部数据都确定为需要刷新的数据。
[0067]或者,对于新的固态硬盘来说,存储器102在出厂时就可能存储有少量的数据,比如,存储有一些用于恢复数据的软件,因此,如果根据对历史数据的分析,表明存储器102中存储的数据总量很小,便有可能认为固态硬盘是新的,从而可以根据对存储器102中存储的数据总量的大小的分析,认为存储器102中存储的数据都不需要刷新。
[0068]例如,存储器102中共存储有数据1、数据2和数据3这3个数据,当前时刻比如是2015年10月1日12时30分,第一预设时长比如是从当前时刻往前的60天,控制器101已经确定固态硬盘在第一预设时长内处于断电状态,那么可以对历史数据进行分析,比如历史数据可以是固态硬盘上一次通电的断电时刻,例如为2015年5月3日12时30分,从而,控制器101可以将存储器102中存储的全部数据,也就是数据1、数据2和数据3都确定为需要刷新的数据。这样,将全部数据都确定为需要刷新的数据,可以较为全面的确保存储器102中存储的数据的可靠性。
[0069]或者例如,存储器102中仅存储有数据1,当前时刻比如是2015年10月1日12时30分,第一预设时长比如是从当前时刻往前的60天,控制器101已经确定固态硬盘在第一预设时长内处于断电状态,那么可以对历史数据进行分析,比如历史数据可以是数据1的大小,如果数据1的大小小于一定的预设值,比如小于1KB,则可以认为数据1不需要刷新。通过这样的方式,可以有效地避免对新的固态硬盘的刷新动作。
[0070]第二种:
[0071]可选的,在本发明另一实施例中,通过固态硬盘的控制器101确定固态硬盘满足预定条件,包括:
[0072]通过控制器101确定固态硬盘存储的数据中包括在第二预设时长内未被读过的数据,或通过控制器101确定固态硬盘存储的数据中不包括在第二预设时长内写入的数据;第二预设时长的终点时刻为当前时刻;
[0073]通过控制器101确定固态硬盘满足预定条件。
[0074]第二预设时长,同样也可以是终点时刻为当前时刻的任意时长。例如,当前时刻比如是2015年9月17日10点整,第二预设时长比如可以是从当前时刻往前的30天,那么第二预设时长就可以是从2015年8月18日10点整到2015年9月17日10点整之间的这段时长。
[0075]用户在实际使用固态硬盘的过程中,有可能经常访问的是存储器102存储的数据中的一部分数据,可能很少甚至几乎没有访问存储器102存储的另一部分数据。例如,存储在存储器102中的照片或视频等一些数据,用户可能不会经常浏览,那么对于不常被访问那一部分数据便有可能会出现发生错误的情况,那么有必要定期对不常被访问的数据进行刷新,因此,可以认为这种情况下,固态硬盘中存在需要刷新的数据。
[0076]在该实施例中,控制器101可以获得固态硬盘中存储的每个数据最近一次被读取的时间,从而确定每个数据在第二预设时长内是否被读取过,如果在第二预设时长内,存储器102中存储的数据中有没被读取过的数据,那么可以确定固态硬盘满足预定条件,也就是确定固态硬盘中存在需要刷新的数据。
[0077]或者,在该实施例中,控制器101可以根据存储器102中存储的每个数据写入固态硬盘的时间,确定在第二预设时长内是否有数据写入,如果在第二预设时长内没有向固态硬盘中写入过
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1