一种基于ssd的数据处理方法及电子设备的制作方法
【专利摘要】本申请提供一种基于固态硬盘SSD的数据处理方法,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,各个分区存储访问程度不同的数据,该方法包括:获取一待写入数据,确定待写入数据的访问程度,基于数据的访问程度与各个分区的对应关系,将待写入数据写入与所确定出的数据的访问程度对应的分区中。本申请还提供了一种电子设备。本申请提供的方法及电子设备,在写入数据时,可直接将整个闪存块擦除再重新写入数据,或者只需复制少量的有效页,擦除闪存块后,将少量的有效页和待写入数据写入,这使得数据的写入速度提高,相应的,缩短了数据写入过程占用的时间。
【专利说明】—种基于SSD的数据处理方法及电子设备
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种基于SSD的数据处理方法及电子设备。
【背景技术】
[0002]固态硬盘(Solid State Disk,SSD)是用固态电子存储芯片阵列制成的硬盘,由控制器和存储单元两部分组成,存储单元负责存储数据,控制单元负责读取、写入数据。SSD根据存储介质分为两种,一种是基于闪存的SSD,另一种是基于DRAM的SSD。通常所说的SSD指的是基于闪存的SSD,以下所称的SSD均为基于闪存的SSD。
[0003]SSD的存储单元一般划分为多个存储块,每个存储块由多个页构成。SSD的特殊性在于数据的写入是以页为单位进行的,而擦除是以块为单位进行的,当依据用户操作通过某个具体的写数据指令向SSD中写入新数据或对已存在数据进行修改时,需要先将闪存块上的所有数据读入缓存,擦除块,缓存里更新整个块的数据再把新的数据写回去,即,把原块中的有效数据和新数据或要修改的数据写回去。SSD的这种erase-before-write特性,即先擦除后写入特性,使得SSD写入速度下降,写入过程占用时间较长。
【发明内容】
[0004]本发明提供了一种基于SSD的数据存储方法及电子设备,用以解决现有技术中SSD写入速度下降,写入过程占用时间较长的问题,其技术方案如下:
[0005]一种基于固态硬盘SSD的数据处理方法,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,所述各个分区存储访问程度不同的数据,该方法包括:
[0006]获取一待写入数据;
[0007]确定待写入数据的访问程度;
[0008]基于所述数据的访问程度与各个分区的对应关系,将所述待写入数据写入与所确定出的数据的访问程度对应的分区中。
[0009]优选的,上述的数据处理方法还包括:
[0010]在接收到垃圾回收指令时,针对所述各个分区进行垃圾回收。
[0011]优选的,上述的数据处理方法还包括:
[0012]获取各个分区的磨损情况,根据所述各个分区的磨损情况,调整与分区对应的数据的访问程度。
[0013]优选的,上述的数据处理方法还包括:
[0014]获取所述各个分区的空闲区域的大小,依据所述各个分区的空闲区域的大小调整所述各个分区的空间的大小。
[0015]优选的,上述的数据处理方法还包括:
[0016]当所述SSD的存储单元存在空闲的连续区域,且所述空闲的连续区域存在于至少两个分区中时,调整所述至少两个分区以使所述空闲区域存在于一个分区中。
[0017]优选地,所述确定待写入数据的访问程度具体为:
[0018]根据所述待写入数据的扩展名确定所述待写入数据的访问程度:如果所述扩展名指示所述待写入数据为临时文件,则确定所述待写入数据的访问程度为低频读低频写;如果所述扩展名指示所述待写入数据为非临时文件,则确定所述待写入数据的访问程度为高
频读闻频与。
[0019]优选地,所述确定待写入数据的访问程度具体为:
[0020]根据预先统计出的数据的读写次数确定所述待写入数据的访问程度:
[0021]如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为高频读高频写;
[0022]如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为高频读低频写;
[0023]如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为低频读高频写;
[0024]如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为低频读低频写。
[0025]一种电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,所述各个分区存储访问程度不同的数据,包括:获取模块,确定模块和写入模块;
[0026]所述获取模块,用于获取一待写入数据;
[0027]所述确定模块,用于确定所述获取模块获取的待写入数据的访问程度;
[0028]所述写入模块,用于基于所述数据的访问程度与各个分区的对应关系,将所述获取模块获取的待写入数据写入与所述确定模块确定出的数据的访问程度对应的分区中。
[0029]优选的,上述的电子设备还包括:垃圾回收模块;
[0030]所述垃圾回收模块,用于在接收到垃圾回收指令时,针对所述各个分区进行垃圾回收。
[0031]优选的,上述的电子设备还包括:第一调整模块;
[0032]所述第一调整模块,用于获取各个分区的磨损情况,根据获取的所述各个分区的磨损情况,调整与分区对应的数据的访问程度。
[0033]优选的,上述的电子设备还包括:第二调整模块;
[0034]所述第二调整模块,用于获取各个分区的空闲区域的大小,依据获取的所述各个分区的空闲区域的大小调整所述各个分区的空间的大小。
[0035]优选的,上述的电子设备还包括:第三调整模块;
[0036]所述第三调整模块,用于当所述SSD的存储单元存在空闲的连续区域,且所述空闲的连续区域存在于至少两个分区中时,调整所述至少两个分区以使所述空闲区域存在于一个分区中。
[0037]优选地,所述确定模块包括:第一确定子模块;
[0038]所述第一确定子模块,用于根据所述待写入数据的扩展名确定所述待写入数据的访问程度:如果所述扩展名指示所述待写入数据为临时文件,则确定所述待写入数据的访问程度为低频读低频写;如果所述扩展名指示所述待写入数据为非临时文件,则确定所述待写入数据的访问程度为高频读高频写。
[0039]优选地,所述确定模块包括:第二确定子模块;
[0040]所述第二确定子模块,用于根据预先统计出的数据的读写次数确定所述待写入数据的访问程度:
[0041]如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为高频读高频写;
[0042]如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为高频读低频写;
[0043]如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为低频读高频写;
[0044]如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为低频读低频写。
[0045]本发明提供的数据处理方法及电子设备,将待写入数据依据数据的访问程度写入SSD对应的分区中,当依据用户操作通过某个具体的写数据指令向SSD中写入数据时,由于具有相同访问程度的数据存储在同一分区中,因此,需要写入数据的闪存块中可能并不存在有效页,或者存在较少的有效页,因此,当向SSD写入数据时,可直接将整个闪存块擦除再重新写入数据,或者只需复制少量的有效页,擦除闪存块后,将少量的有效页和待写入数据写入,这使得数据的写入速度提高,相应的,缩短了数据写入过程占用的时间。
【专利附图】
【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0047]图1为本发明实施例一提供的基于固态硬盘SSD的数据处理方法的流程示意图;
[0048]图2为本发明实施例二提供的基于固态硬盘SSD的数据处理方法的流程示意图;
[0049]图3为本发明实施例三提供的基于固态硬盘SSD的数据处理方法的流程示意图;
[0050]图4为本发明实施例四提供的电子设备的结构示意图;
[0051]图5为本发明实施例五提供的电子设备的结构示意图;
[0052]图6为本发明实施例六提供的电子设备的结构示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]实施例一
[0055]本发明实施例一提供了一种基于固态硬盘SSD的数据处理方法,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,各个分区存储访问程度不同的数据,图1为该方法的流程示意图,该方法可以包括:
[0056]SlOl:获取一待写入数据。
[0057]S102:确定待写入数据的访问程度。
[0058]S103:基于数据的访问程度与各个分区的对应关系,将待写入数据写入与所确定出的数据的访问程度对应的分区中。
[0059]本发明提供的数据处理方法及电子设备,将待写入数据依据数据的访问程度写入SSD对应的分区中,当依据用户操作通过某个具体的写数据指令向SSD中写入数据时,由于具有相同数据访问程度的数据存储在同一分区中,因此,需要写入数据的闪存块中可能并不存在有效页,或者存在较少的有效页,因此,当向SSD写入数据时,可直接将整个闪存块擦除再重新写入数据,或者只需复制少量的有效页,擦除闪存块后,将少量的有效页和待写入数据写入,这使得数据的写入速度提高,相应的,缩短了数据写入过程占用的时间。
[0060]实施例二
[0061 ] 本发明实施例二提供了 一种基于固态硬盘SSD的数据处理方法,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,建立数据的访问程度与各个分区的对应关系。其中:
[0062]本实施例中的数据的访问程度可以包括:高频读高频写和低频读低频写,相应的,SSD的存储单元可以包括两个分区,分别为第一分区和第二分区,第一分区与高频读高频写对应,用于存储数据的访问程度为高频读高频写的数据,第二分区与低频读低频写对应,用于存储数据的访问程度为低频读低频写的数据。
[0063]图2示出了本发明实施例二提供的方法的流程示意图,该方法可以包括:
[0064]S201:获取一待写入数据。
[0065]S202:确定待写入数据的访问程度。
[0066]在本实施例中,确定待写入数据的访问程度可以包括:根据待写入数据的扩展名确定待写入数据的访问程度:如果待写入数据的扩展名指示待写入数据为临时文件,则确定该待写入数据的访问程度为低频读低频写;如果待写入数据的扩展名指示待写入数据为非临时文件,则确定该待写入数据的访问程度为高频读高频写。
[0067]S203:基于数据的访问程度与各个分区的对应关系,将待写入数据写入与所确定出的数据的访问程度对应的分区中。
[0068]具体地,如果确定出的待写入数据的数据访问程度为高频读高频写,则将待写入数据写入第一分区,如果确定出的待写入数据的数据访问程度为低频读低频写,则将待写入数据写入第二分区。
[0069]本发明实施例一提供的数据处理方法,将具有不同数据访问程度的数据写入SSD不同的分区中,如临时文件写入第二分区中,非临时文件写入第一分区中,当依据用户操作通过某个具体的写数据指令向SSD中写入数据时,由于整个闪存块存储的是同类型数据,因此需要写入数据的闪存块中可能并不存在有效数据,或者存在较少的有效数据,因此,当向SSD写入数据时,可直接将整个闪存块擦除再重新写入数据,或者只需复制少量的有效数据,擦除闪存块后,将少量的有效数据和待写入数据重新写入,这使得数据的写入速度提高,相应的,缩短了数据写入过程占用的时间。
[0070]由于SSD加入了 Trim,其中,Trim是一条操作指令,让操作系统告诉SSD这个页已经无效,即Trim能直接产生无效页,为了擦除无效数据,重新利用无效数据所占的无效页,本发明实施例二提供的方法还可以包括:
[0071]S204:在接收到垃圾回收指令时,针对各个分区进行垃圾回收。
[0072]垃圾回收的目的是把所有的有效页复制到新的空白块里,然后把旧的块整体擦除。在进行垃圾回收时,由于需要先查找有效数据,然后将有效数据复制到空白的闪存块中,最后将那些无效的闪存块擦除。查找和复制有效数据的过程降低了垃圾回收的效率,而本实施例提供的数据处理方法,可使具有相同访问程度的数据连在一起,如临时文件连在一起,非临时文件连在一起,相应的,有效数据和无效数据相对比较集中,这使得有些闪存块可直接擦除,有效数据的查找和复制时间缩短,垃圾回收的效率提高。
[0073]实施例三
[0074]本发明实施例三提供了一种基于固态硬盘SSD的数据处理方法,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,建立数据的访问程度与各个分区的对应关系。其中:
[0075]数据的访问程度可以包括:高频读高频写、高频读低频写、低频读高频写和低频读低频写,相应的,SSD的存储单元可以包括四个分区,分别为第一分区、第二分区、第三分区和第四分区,第一分区与高频读高频写对应,用于存储数据的访问程度为高频读高频写的数据,第二分区与高频读低频写对应,用于存储数据的访问程度为高频读低频写的数据,第三分区与低频读高频写对应,用于存储数据的访问程度为低频读高频写的数据,第四分区与低频读低频写对应,用于存储数据的访问程度为低频读低频写的数据。
[0076]图3示出了本发明实施例三提供的方法的流程示意图,该方法可以包括:
[0077]S301:获取一待写入数据。
[0078]S302:确定待写入数据的访问程度。
[0079]在本实施例中,确定待写入数据的访问程度可以包括:根据预先统计出的数据的读写次数确定待写入数据的访问程度:如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定待写入数据的访问程度为高频读高频写;如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定待写入数据的访问程度为高频读低频写;如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定待写入数据的访问程度为低频读高频写;如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定待写入数据的访问程度为低频读低频写。
[0080]优选的,在本实施例中,在每次读、写数据时,更新统计的数据读写次数,以便在后续的数据写入过程中,能更准确地确定待写入数据的访问程度。
[0081]S303:基于数据的访问程度与各个分区的对应关系,将待写入数据写入与所确定出的数据的访问程度对应的分区中。
[0082]具体的,如果确定出的待写入数据的数据访问程度为高频读高频写,则将待写入数据写入第一分区;如果确定出的待写入数据的数据访问程度为高频读低频写,则将待写入数据写入第二分区;如果确定出的待写入数据的数据访问程度为低频读高频写,则将待写入数据写入第三分区,如果确定出的待写入数据的数据访问程度为低频读低频写,则将待写入数据写入第四分区。
[0083]本发明实施例二提供的数据处理方法,将数据依据数据访问程度分类存储在SSD不同的分区中,当依据用户操作通过某个具体的写数据指令向SSD中写入数据时,由于每个分区的闪存块存储的是同类型数据,因此需要写入数据的闪存块中可能并不存在有效数据,或者存在较少的有效数据,因此,当向SSD写入数据时,可直接将整个闪存块擦除再重新写入数据,或者只需复制少量的有效数据,擦除闪存块后,将少量的有效数据和待写入数据重新写入,这使得数据的写入速度提高,相应的,缩短了数据写入过程占用的时间。
[0084]由于SSD加入了 Trim,其中,Trim是一条操作指令,让操作系统告诉SSD这个页已经无效,即Trim能直接产生无效页,为了擦除无效数据,重新利用无效数据所占的无效页,本发明实施例三提供的方法还可以包括:
[0085]S304:在接收到垃圾回收指令时,针对各个分区进行垃圾回收。
[0086]垃圾回收的目的是把所有的有效页复制到新的空白块里,然后把旧的块整体擦除。在进行垃圾回收时,由于需要先查找有效数据,然后将有效数据复制到空白的闪存块中,最后将那些无效的闪存块擦除。查找和复制有效数据的过程降低了垃圾回收的效率,而本实施例提供的数据处理方法,可使具有相同访问程度的数据连在一起,如临时文件连在一起,非临时文件连在一起,相应的,有效数据和无效数据相对比较集中,这使得有些闪存块可直接擦除,有效数据的查找和复制时间缩短,垃圾回收的效率提高。
[0087]由于数据的访问程度不同,因此,第一分区、第二分区、第三分区和第四分区被操作的频率是不一样的,第一分区和第三分区的数据不断更新写入,导致第一分区和第三分区的闪存块不断地被擦除、写入,形成坏块,当坏块达到一定的数量后,SSD就不能再使用了,而第二分区和第四分区由于长时间不更新写入,导致这些闪存块很少被擦除,这样会造成很大浪费。为了使SSD闪存块平均地被磨损,本发明实施例三提供的方法还可以包括:
[0088]S305:获取各个分区的磨损情况,根据各个分区的磨损情况,调整与分区对应的数据的访问程度。
[0089]例如,可以调换与第一分区和第四分区对应的数据的访问程度,调换与第二分区和第三分区对应的数据的访问程度,具体地,将与第一分区对应的数据访问程度更改为低频读低频写,将与第四分区对应的数据访问程度更改为高频读高频写,将与第二分区对应的数据访问程度更改为低频读高频写,将与第三分区对应的数据访问程度更改为高频读低频写。当然,本实施例并不限定只采用上述方式调整与分区对应的数据的访问程度,还可采用其它方式进行调整,只要通过调整与分区对应的数据的访问程度,从而实现磨损平衡都是本发明保护的范围。
[0090]随着数据的不断写入,第一分区、第二分区、第三分区和第四分区中写入的数据量并不一定相同,不能排除其中某一分区已写满,其它的分区存在较大的空闲区的情况,为了充分利用SSD的存储空间,使得各个分区的数据可以快速写入,本发明实施例二提供的方法还可以包括:
[0091]S306:获取各个分区的空闲区域的大小,依据各个分区的空闲区域的大小调整各个分区的空间的大小。
[0092]例如,第一分区用于存储数据的访问程度为高频读高频写的数据,因此,该分区写入的数据量较大,而第二分区用于存储数据的访问程度为高频读低频写的数据,该分区写入的数据量较小,当第一分区的空闲区较小时,第一分区的空闲区较大时,可以调整两个分区的大小,增大第一分区存储空间,以使第一分区中的数据可以快速写入。
[0093]此外,本发明实施例一提供的方法还可以包括:
[0094]S307:当SSD的存储单元存在空闲的连续区域,且空闲的连续区域存在于至少两个分区中时,调整至少两个分区以使空闲区域存在于一个分区中。
[0095]例如,当第一分区存在一空闲区域,且该空闲区域与第二分区的空闲区域为一连续区域时,可将第二分区中空闲区域调整至第一分区中,或者,将第一分区的空闲区域调整至第二分区中,以使两个分区中的空闲区域连成一连续区域,以便能更方便、快速的存储数据。至于调整至哪个分区,可根据数据的存储情况、待写入数据的大小以及该待写入数据的数据访问程度而定。
[0096]需要说明的是,本实施例并不限定步骤S304-S307的执行顺序,这些步骤可在数据写入的过程中执行,也可在写入完数据之后执行,且S304-S307这四个步骤也执行顺序的限定。
[0097]实施例四
[0098]本发明实施例四提供了一种电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,各个分区存储访问程度不同的数据,图4为该电子设备的结构示意图,包括:获取模块101,确定模块102和写入模块103。其中:
[0099]获取模块101,用于获取一待写入数据。确定模块102,用于确定获取模块101获取的待写入数据的访问程度。写入模块103,用于基于数据的访问程度与各个分区的对应关系,将获取模块101获取的待写入数据写入与确定模块103确定出的数据的访问程度对应的分区中。
[0100]实施例五
[0101]本发明实施例五提供了一种电子设备,图5为该电子设备的结构示意图,该电子设备除了包括实施例四提供的获取模块101,确定模块102和写入模块103外,还包括:垃圾回收模块104。其中:
[0102]垃圾回收模块104,用于在接收到垃圾回收指令时,针对各个分区进行垃圾回收。
[0103]在本实施例中,确定模块102可以包括:第一确定子模块。
[0104]第一确定子模块,用于根据待写入数据的扩展名确定待写入数据的访问程度:如果扩展名指示待写入数据为临时文件,则确定待写入数据的访问程度为低频读低频写,如果扩展名指示待写入数据为非临时文件,则确定待写入数据的访问程度为高频读高频写。
[0105]实施例六
[0106]本发明实施例五提供了一种电子设备,图6为该电子设备的结构示意图,该电子设备除了包括实施例五提供的获取模块101,确定模块102、写入模块103和垃圾回收模块104外,还包括:第一调整模块105、第二调整模块106和第三调整模块107。其中:
[0107]第一调整模块105,用于获取各个分区的磨损情况,根据获取的各个分区的磨损情况,调整与分区对应的数据的访问程度。
[0108]第二调整模块106,用于获取各个分区的空闲区域的大小,依据获取的各个分区的空闲区域的大小调整各个分区的空间的大小。[0109]第三调整模块107,用于当SSD的存储单元存在空闲的连续区域,且空闲的连续区域存在于至少两个分区中时,调整至少两个分区以使空闲区域存在于一个分区中。
[0110]在本实施例中,确定模块102可以包括:第二确定子模块。
[0111]第二确定子模块,用于根据预先统计出的数据的读写次数确定待写入数据的访问程度:如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定待写入数据的访问程度为高频读高频写;如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为高频读低频写;如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定待写入数据的访问程度为低频读高频写;如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定待写入数据的访问程度为低频读低频写。
[0112]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0113]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0114]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0115]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0116]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0117]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0118]以上所述仅是本发明的【具体实施方式】,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种基于固态硬盘SSD的数据处理方法,其特征在于,应用于一电子设备,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,所述各个分区存储访问程度不同的数据,该方法包括: 获取一待写入数据; 确定待写入数据的访问程度; 基于所述数据的访问程度与各个分区的对应关系,将所述待写入数据写入与所确定出的数据的访问程度对应的分区中。
2.根据权利要求1所述的方法,其特征在于,还包括: 在接收到垃圾回收指令时,针对所述各个分区进行垃圾回收。
3.根据权利要求1所述的方法,其特征在于,还包括: 获取各个分区的磨损情况,根据所述各个分区的磨损情况,调整与分区对应的数据的访问程度。
4.根据权利要求1所述的方法,其特征在于,还包括: 获取所述各个分区的空闲区域的大小,依据所述各个分区的空闲区域的大小调整所述各个分区的空间的大小。
5.根据权利要求1所 述的方法,其特征在于,还包括: 当所述SSD的存储单元存在空闲的连续区域,且所述空闲的连续区域存在于至少两个分区中时,调整所述至少两个分区以使所述空闲区域存在于一个分区中。
6.根据权利要求1所述的方法,其特征在于,所述确定待写入数据的访问程度具体为: 根据所述待写入数据的扩展名确定所述待写入数据的访问程度:如果所述扩展名指示所述待写入数据为临时文件,则确定所述待写入数据的访问程度为低频读低频写;如果所述扩展名指示所述待写入数据为非临时文件,则确定所述待写入数据的访问程度为高频读闻频与。
7.根据权利要求1所述的方法,其特征在于,所述确定待写入数据的访问程度具体为: 根据预先统计出的数据的读写次数确定所述待写入数据的访问程度: 如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为高频读高频写; 如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为高频读低频写; 如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为低频读高频写; 如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为低频读低频写。
8.一种电子设备,其特征在于,预先依据数据的访问程度确定SSD的存储单元的各个分区,并建立数据的访问程度与各个分区的对应关系,其中,所述各个分区存储访问程度不同的数据,包括:获取模块,确定模块和写入模块; 所述获取模块,用于获取一待写入数据; 所述确定模块,用于确定所述获取模块获取的待写入数据的访问程度; 所述写入模块,用于基于所述数据的访问程度与各个分区的对应关系,将所述获取模块获取的待写入数据写入与所述确定模块确定出的数据的访问程度对应的分区中。
9.根据权利要求8所述的电子设备,其特征在于,还包括:垃圾回收模块; 所述垃圾回收模块,用于在接收到垃圾回收指令时,针对所述各个分区进行垃圾回收。
10.根据权利要求8所述的电子设备,其特征在于,还包括:第一调整模块; 所述第一调整模块,用于获取各个分区的磨损情况,根据获取的所述各个分区的磨损情况,调整与分区对应的数据的访问程度。
11.根据权利要求8所述的电子设备,其特征在于,还包括:第二调整模块; 所述第二调整模块,用于获取各个分区的空闲区域的大小,依据获取的所述各个分区的空闲区域的大小调整所述各个分区的空间的大小。
12.根据权利要求8所述的电子设备,其特征在于,还包括:第三调整模块; 所述第三调整模块,用于当所述SSD的存储单元存在空闲的连续区域,且所述空闲的连续区域存在于至少两个分区中时,调整所述至少两个分区以使所述空闲区域存在于一个分区中。
13.根据权利要求8所述的电子设备,其特征在于,所述确定模块包括:第一确定子模块; 所述第一确定子模块,用于根据所述待写入数据的扩展名确定所述待写入数据的访问程度:如果所述扩展名指示所述待写入数据为临时文件,则确定所述待写入数据的访问程度为低频读低频写;如果所述扩展名指示所述待写入数据为非临时文件,则确定所述待写入数据的访问程度为高频读高频写。
14.根据权利要求8所述的电子设备,其特征在于,所述确定模块包括:第二确定子模块; 所述第二确定子模块,用于根据预先统计出的数据的读写次数确定所述待写入数据的访问程度: 如果待写入数据的读次数大于第一设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为高频读高频写; 如果待写入数据的读次数大于第一设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为高频读低频写; 如果待写入数据的读次数小于第四设定阈值,且写次数大于第二设定阈值,则确定所述待写入数据的访问程度为低频读高频写; 如果待写入数据的读次数小于第四设定阈值,且写次数小于第三设定阈值,则确定所述待写入数据的访问程度为低频读低频写。
【文档编号】G06F3/06GK103677653SQ201210356601
【公开日】2014年3月26日 申请日期:2012年9月21日 优先权日:2012年9月21日
【发明者】王欢, 易贤群, 李凡智 申请人:联想(北京)有限公司