一种基于混合存储产品的存储控制方法和存储控制装置与流程

文档序号:12122651阅读:266来源:国知局
一种基于混合存储产品的存储控制方法和存储控制装置与流程

本发明涉及数据存储技术领域,具体涉及一种基于混合存储产品的存储控制方法和存储控制装置。



背景技术:

硬盘一般包括固态硬盘(SSD)和机械硬盘(HDD),SSD采用闪存来存储,HDD采用磁性碟片来存储。随着SSD的成熟,基于SSD+HDD混合介质的存储产品应用越来越广泛。

基于混合存储产品的读写技术有读缓存、写缓存和数据分层几种,对于写缓存缓存来说,把数据暂时存储在SSD里面,这些数据还没有存储到HDD里面,对于数据分层来说,存储在SSD里面的数据并不会存储到HDD里面。然而对于SSD而言,其中采用的NAND flash有一个很重要的特性,即其Program/Erase cycle(擦写次数)具有限制,即每个NAND flash只有有限的擦写次数。比如,目前业界普遍采用的MLC(Multi-Level Cell)NAND flash,其擦写次数的限制次数是3000至5000次。一旦擦写次数用完,SSD的使用寿命也就达到极限,会造成存储用户数据丢失。

现有技术中,为了保证数据的安全,会周期性的读取混合存储产品中各个SSD的剩余寿命,当某个SSD的剩余寿命较少时,便将其提前取下,并安装替换的SSD。

但是,取下的SSD实际上还可以进行多次读写,并且,读取到的SSD的剩余寿命只是一个经验值,而不是该SSD实际的剩余寿命,即使读取到的剩余寿命显示该SSD的使用寿命到期了,该SSD的实际使用寿命也不一定达到极限,还可以进行多次擦写。因此,根据SSD的剩余寿命来对其进行提前更换,会浪费SSD擦写次数。



技术实现要素:

本发明实施例提供了一种基于混合存储产品的存储控制方法和存储控制装置,用于解决在SSD的擦写次数到达极限之前便对其进行更换所导致的浪费问题。

为达到上述目的,本发明实施例的一方面提供了一种基于混合存储产品的存储控制方法,所述混合存储产品包括第一固态硬盘SSD,所述方法包括:

获取所述第一SSD的剩余寿命;

判断所述第一SSD的剩余寿命是否小于或等于第二寿命阈值;

若是,则在所述第一SSD中不为第一数据分配存储空间,为第二数据分配存储空间,所述第一数据为写缓存数据和/或数据分层数据,所述第二数据为读缓存数据。

结合第一方面,在第一方面的第一种可能的实现方式中,所述混合存储产品还包括机械硬盘HDD和第二SSD,所述在所述第一SSD中不为第一数据分配存储空间包括:

将所述第一SSD中的所述第一数据存储于所述HDD中,并且当接收到所述第一数据时,将所述接收到的所述第一数据存储于所述第二SSD中。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述判断所述第一SSD的剩余寿命是否小于或等于第二寿命阈值之前,所述方法还包括:

判断第一SSD的剩余寿命是否小于或等于第一寿命阈值,所述第一寿命阈值大于所述第二寿命阈值;

若是,则触发所述判断所述第一SSD的剩余寿命是否小于或等于第二寿命阈值的步骤;

在所述判断所述第一SSD的剩余寿命是否小于或等于第二寿命阈值之后,若判定所述第一SSD的剩余寿命大于第二寿命阈值,则减小所述第一SSD中为所述第一数据分配的存储空间。

结合第一方面,在第一方面的第三种可能的实现方式中,所述混合存储产品还包括第二固态硬盘SSD,若判定所述第一SSD的剩余寿命小于或等于第二寿命阈值,且所述第二SSD的剩余寿命大于所述第二SSD的第三寿命阈值,所述方法还包括:

增大所述第二SSD中为所述第一数据分配的存储空间。

结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述混合存储产品还包括HDD和第二SSD,所述在所述第一SSD中不为第一数据分配存储空间包括:

将所述第一SSD中的所述第一数据存储于所述第二SSD中,并且当接收到所述第一数据时,将所述接收到的所述第一数据存储于所述第二SSD中。

结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式和第一方面的第四种可能的实现方式之中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,若判定所述第一SSD的剩余寿命小于或等于第二寿命阈值,所述为第二数据分配存储空间包括:

增大所述第一SSD中为所述第二数据分配的存储空间。

本发明实施例的第二方面提供了一种存储控制模块,用于控制包括第一SSD的混合存储产品,包括:

获取单元,用于获取所述第一SSD的剩余寿命;

第一判断单元,用于判断所述第一SSD的剩余寿命是否小于或等于第二寿命阈值;

第一分配单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于第二寿命阈值时,在所述第一SSD中不为第一数据分配存储空间,所述第一数据为写缓存数据和/或数据分层数据;

第二分配单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于第二寿命阈值时,为第二数据分配存储空间,所述第二数据为读缓存数据。

结合第二方面,在第二方面的第一种可能的实现方式中,所述混合存储产品还包括机械硬盘HDD和第二SSD,其特征在于,所述第一分配单元包括:

第一存储子单元,用于将所述第一SSD中的所述第一数据存储于所述HDD中;

第二存储子单元,用于当接收到所述第一数据时,将所述接收到的所述第一数据存储于所述第二SSD中。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述存储控制模块还包括:

第二判断单元,用于判断第一SSD的剩余寿命是否小于或等于第一寿命阈值,所述第一寿命阈值大于所述第二寿命阈值;

触发单元,用于当所述第二判断单元判定所述第一SSD的剩余寿命小于或等于所述第一寿命阈值时,触发所述第一判断单元;

第三分配单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命大于第二寿命阈值时,减小所述第一SSD中为所述第一数据分配的存储空间。

结合第二方面的第一种可能的实现方式,所述混合存储产品还包括第二SSD,在第二方面的第三种可能的实现方式中,所述存储控制模块还包括:

第四分配单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值,且所述第二SSD的剩余寿命大于第二SSD的第三寿命阈值时,增大所述第二SSD中为所述第一数据分配的存储空间。

结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述混合存储产品还包括HDD和第二SSD,所述第一分配单元包括:

第三分配子单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值时,将所述第一SSD中的所述第一数据存储于所述第二SSD中;

第四分配子单元,用于在所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值之后,在接收到所述第一数据时,将所述接收到的所述第一数据存储于所述第二SSD中。

结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式和第二方面的第四种可能的实现方式中任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二分配单元包括:

第五分配子单元,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值时,增大所述第一SSD中为所述第二数据分配的存储空间。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例可以获取混合存储产品中第一SSD的剩余寿命,并在第一SSD的剩余寿命小于或等于第二寿命阈值时,不为第一数据分配存储空间,为第二数据分配存储空间,其中第一数据为写缓存数据和/或数据分层数据,第二数据为读缓存数据,这样,若第一数据未在混合存储产品中第一SSD以外的其他存储区域进行存储,而第二数据在混合存储产品中第一SSD以外的其他存储区域进行存储,就能够在第一SSD的使用寿命即将达到极限的情况下,不再利用第一SSD存储第一数据,只存储第二数据,能够在保证用户数据安全的前提下,充分利用第一SSD的使用寿命,减少对第一SSD的浪费。

附图说明

图1是本发明基于混合存储产品的存储控制方法一个实施例示意图;

图2是本发明基于混合存储产品的存储控制方法另一个实施例示意图;

图3是本发明基于混合存储产品的存储控制方法另一个实施例示意图;

图4是本发明存储控制装置一个实施例示意图;

图5是本发明存储控制装置另一个实施例示意图;

图6是本发明存储控制装置另一个实施例示意图。

具体实施方式

本发明实施例提供了一种基于混合存储产品的存储控制方法和存储控制装置,用于充分利用混合存储产品中SSD的使用寿命。

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

存储产品使用的存储介质不同,该存储产品所展现出来的性能也不同。比如,SSD采用NAND flash进行存储,而HDD是采用磁性碟片来进行存储,SSD和HDD相比,SSD的优点包括读写速度快、防震抗摔性好、低功耗、无噪音等,而SSD的缺点包括容量较小、具有使用寿命限制、售价高等。为了综合使用性能不同的两种或多种存储产品,可以将性能不同的两种或多种存储介质集成在一起,也就得到了混合存储产品。目前市面上最常见的混合存储产品由SSD和HDD组成,可以结合HDD和SSD两者所长来增强存储产品的性能。

基于混合存储产品的读写技术主要有读缓存、写缓存和数据分层几种:

读缓存:在基于混合存储介质的存储系统(或者说混合存储产品)中,把经常读取的热数据缓存到高速的存储介质里面,当下次再读取相同数据的时候,就直接从高速的存储介质读取,以提升读取速度,真正的数据是存储在低速的存储介质里面的,高速介质里面缓存的数据只不过是低速介质中数据的一个拷贝,所以即使高速介质中的数据丢了,也没关系,客户的数据还在。

写缓存:在基于混合存储介质的存储系统中,写数据的时候,先把数据写入到高速的存储介质,就直接给上层应用返回写入成功,使得写入性能非常高,然后再逐渐地把数据从高速存储介质回写到低速大容量的存储介质,数据在没回写到低速的存储介质之前,只存在于高速的存储介质当中,如果高速存储介质中的数据丢了,那数据就真正丢了。

数据分层:在基于混合存储介质的存储系统中,将高速和低速的存储介质划分成多个层次,高速和低速的存储介质都是用来保存数据,热数据保存在高速的介质上面,冷数据保存在低速的介质上面,数据要么保存在高速介质,那么保存在低速介质,如果保存在高速存储介质中的数据丢了,那就真正丢了。

高速的存储介质通常指具有读写次数限制的存储介质,由这种存储介质组成的硬盘,比如SSD。而低速的存储介质通常指没有读写次数限制的存储介质,由这种存储介质组成的硬盘,比如HDD。本发明实施例以由SSD和HDD组成的混合存储产品为例进行说明,并且,由于SSD的容量较小,混合存储产品通常由多块SSD组成。混合存储产品一般采用“读缓存+写缓存”的技术组合,或者“读缓存+写缓存+数据分层”的技术组合。若按照“读缓存+写缓存”的技术组合,混合存储产品中的SSD通常被划分为两部分进行使用,分别用于读缓存和写缓存,即分别存储读缓存数据和写缓存数据;若按照“读缓存+写缓存+数据分层”的技术组合,SSD通常被划分为三部分来进行使用,分别用于读缓存、写缓存和数据分层,即分别存储读缓存数据、写缓存数据和数据分层数据。

对于读缓存来说,SSD中存储的数据只是HDD中数据的一个拷贝,对于写缓存缓存来说,把数据暂时存储在SSD里面,这些数据还没有存储到HDD里面,对于数据分层来说,存储在SSD里面的数据并不会存储到HDD里面。然而对于SSD而言,其中采用的NAND flash有一个很重要的特性,即其Program/Erase cycle(擦写次数)具有限制,即每个NAND flash只有有限的擦写次数。比如,目前业界普遍采用的MLC(Multi-Level Cell)NAND flash,其擦写次数的限制次数是3000至5000次。一旦擦写次数用完,SSD的使用寿命也就达到极限,会造成SSD中存储的写缓存数据和数据分层数据丢失。为了保证数据的安全,就需要周期性的读取混合存储产品中各个SSD的剩余寿命,并提前更换使用寿命快到期的SSD。但是取下的SSD实际上还可以进行多次读写。并且,读取到的SSD的剩余寿命只是一个参考值,剩余寿命显示该SSD的使用寿命到期了,SSD并不一定会损坏,根据测试数据,一些SSD,当读取到的剩余寿命已经显示该SSD到期后,还能继续使用,甚至写入的数据量已经超过其标称寿命的100%了,该SSD还没有损坏。也就是说,即使SSD快到期了,还是有很大的潜力可以挖掘的。

但是,对于快到期的SSD,用来存储数据又不放心,直接丢弃不用了,又比较浪费。本发明提供的一种基于混合存储产品的存储控制方法和存储控制装置,用于解决这个两难的问题。由于SSD中存储的读缓存数据只是HDD中数据的一个拷贝,SSD的实际使用寿命到达极限时,用户的读缓存数据没有丢失,因此,在SSD的剩余寿命即将到期时,只要不在该SSD上存储写缓存数据和数据分层数据,只用于存储读缓存数据,便能安全充分的利用SSD的使用寿命。

为了便于本领域技术人员的理解,本发明通过以下实施例对本发明提供的技术方案的具体实现过程进行说明,需要说明的是,本发明基于的混合存储产品至少包括。

请参阅图1,本发明实施例中基于混合存储产品的存储控制方法一个实施例包括:

101、获取第一SSD的剩余寿命;

存储控制模块可以周期性的获取第一SSD的剩余寿命,作为举例,获取周期可以为1周。

102、判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若是,则执行步骤103,若否,则执行步骤104;

存储控制模块在获取到第一SSD的剩余寿命之后,可以判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若是,则执行步骤103,若否,则执行步骤104。

103、在第一SSD中不为第一数据分配存储空间,为第二数据分配存储空间;

若判定第一SSD的剩余寿命小于或等于第二寿命阈值,则在第一SSD中不为第一数据分配存储空间,为第二数据分配存储空间,其中所述第一数据为写缓存数据和/或数据分层数据,所述第二数据为读缓存数据。也就是说,将第一SSD中已存储的第一数据写入混合存储产品的其他硬盘中,比如第二SSD或者HDD中,并且不再向第一SSD中写入第一数据,而为在第一SSD中为第二数据分配的存储空间,可以为第一SSD的部分或全部存储空间,可以理解的是,这里所说的存储空间是指可用于读缓存、写缓存或数据分层的可用存储空间。

104、执行其他操作。

若判定第一SSD的剩余寿命大于第二寿命阈值,则可以执行步骤103以外的其他操作,比如继续获取混合存储产品中其他SSD,如第二SSD的剩余寿命。

本发明实施例在第一SSD的剩余寿命小于或等于第二寿命阈值时,不为第一数据分配存储空间,为第二数据分配存储空间,能够在第一SSD的使用寿命即将达到极限的情况下,不再利用第一SSD存储第一数据,只存储第二数据,能够在保证用户数据安全的前提下,充分利用第一SSD的擦写次数,减少浪费。

请参阅图2,本发明实施例中,混合存储产品包括HDD、第一SSD和第二SSD,基于混合存储产品的存储控制方法另一个实施例包括:

201、获取第一SSD的剩余寿命;

HDD的存储控制模块可以周期性的获取第一SSD的剩余寿命,作为举例,获取周期可以为1周。

将此时第一SSD中读缓存分区占用的存储空间称作第一读缓存存储空间,第一SSD中写缓存分区占用的存储空间称作第一写缓存存储空间,第一SSD中数据分层分区占用的存储空间称作第一数据分层存储空间,将第一写缓存存储空间和第一数据分层存储空间二者一共占用的存储空间称作第一写数据与数据分层存储空间。在混合存储产品中记录有各个SSD的分区所占用的存储空间情况,作为举例,第一SSD中各个分区所占用的存储空间情况可以采取表1所示的分区标记表来记录。读缓存分区所占用的存储空间由物理块0、物理块4、物理块5、物理块9等物理块组成,写缓存分区所占用的存储空间由物理块1、物理块2、物理块8等物理块组成,数据分层分区所占用的存储空间由物理块3、物理块6、物理块7、物理块10等物理块组成。可见,每个SSD中各个分区的存储空间可以不连续。将第一读缓存存储空间、第一写缓存存储空间和第一数据分层存储空间所占用的总存储空间称作可用总空间,假设第一读缓存存储空间在可用总空间中所占的比例为20%,第一写缓存存储空间在可用总空间中所占的比例为30%,第一数据分层存储空间在可用总空间所占的比例为50%。

表1

202、判断第一SSD的剩余寿命是否小于或等于第一寿命阈值,若是,则执行步骤203,若否,则执行步骤204;

获取到第一SSD的剩余寿命之后,可以将第一SSD的剩余寿命与预存的第一寿命阈值进行比较,判断第一SSD的剩余寿命是否小于或等于第一寿命阈值,若小于或等于第一寿命阈值,则执行步骤203,若大于第一寿命阈值,则执行步骤204。

203、判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若是,则执行步骤205,若否,则执行步骤208;

若判定第一SSD的剩余寿命小于或等于第一寿命阈值,则将第一SSD的剩余寿命与预存的第二寿命阈值进行比较,其中第二寿命阈值小于第一寿命阈值,判断第一SSD的剩余寿命是否小于或等于第二寿命阈值。若小于或等于,则执行步骤205,若大于,则执行步骤207。

204、执行其他操作;

若第一SSD的剩余寿命大于第一寿命阈值,则继续判断其他SSD的剩余寿命,比如第二SSD的剩余寿命。

205、将第一SSD中的第一数据存储在HDD中;

若判定第一SSD的剩余寿命小于或等于第二寿命阈值,则判定第一SSD中的数据处于容易丢失的状态,此时,可以将第一SSD中写缓存分区和数据分层分区所占用的存储空间大小降为零,也就是说,在第一SSD中不为写缓存和数据分层分配存储空间,相应的,可以将第一SSD中已存储的第一数据存储在HDD中,也就是说将第一写缓存存储空间和第一数据分层存储空间中的写缓存数据和数据分层数据写入HDD中。具体的,可以为:在判定第一SSD的剩余寿命小于或等于第二寿命阈值之后,此时第一SSD中的数据处于容易丢失的状态,此时可以按照表1,将标记为写缓存和数据分层的物理块中的数据均写入HDD中。

206、将接收到的第一数据存储于第二SSD中;

若判定第一SSD的剩余寿命小于或等于第二寿命阈值,则判定第一SSD中的数据处于容易丢失的状态,此时,可以将第一SSD中写缓存分区和数据分层分区所占用的存储空间大小降为零,也就是说,在第一SSD中不为写缓存和数据分层分配存储空间,相应的,可以在接收第一数据的存储请求时,将接收到的第一数据存储在第二SSD中,而不再存储到第一SSD中,具体的可以为:按照表1,将标记为写缓存和数据分层的物理块的写缓存分区标记和数据分层分区标记去除,如表2。此时第一写缓存存储空间和第一数据分层存储空间在可用总空间中所占的比例均为0。这样,在接收第一数据的存储请求时,将不会将接收到的第一数据存储在第一SSD中。

表2

207、将第一SSD中的读缓存分区的存储空间增大至第三读缓存存储空间;

在步骤205之后,第一写缓存存储空间和第一数据分层存储空间为可用存储空间。为了扩大读缓存分区的存储空间,可以将部分或全部第一写缓存存储空间和第一数据分层存储空间分配给读缓存,将第一SSD中的读缓存分区的存储空间增大至第三读缓存存储空间。这样,可以有更多的热数据写入读缓存分区,加快数据读取速度。为了最大限度的利用第一SSD,可以将全部第一写缓存存储空间和第一数据分层存储空间均分配给读缓存,具体的,可以将分区标记为空的物理块标记为读缓存,参阅表3,或者,也可以在步骤205中,直接将物理块的写缓存分区标记和数据分层分区标记改为读缓存标记。此时第一读缓存存储空间在可用总空间中所占的比例为100%。

表3

208、将第一SSD中的写缓存分区和数据分层分区所占用的存储空间减小为第二写数据与数据分层存储空间;

若判定第一SSD的剩余寿命小于或等于第一寿命阈值,且大于第二寿命阈值,表明此时第一SSD中的数据暂时安全,但是第一SSD的使用寿命即将到达极限,为了避免第一SSD的剩余寿命低于第二寿命阈值时,写缓存分区和数据分层分区的存储空间大小被降为零导致的写缓存和数据分层的性能大幅减退,可以将第一SSD中的写缓存分区和数据分层分区的存储空间分别减小为第二写缓存存储空间和第二数据分层存储空间,第二写缓存存储空间和第二数据分层存储空间一共占用的存储空间称作第二写数据与数据分层存储空间,第二写数据与数据分层存储空间的大小小于第一写数据与数据分层存储空间的大小,且不为0。若被收回的存储单元存储有写缓存数据或数据分层数据,会将这些数据写入HDD中。具体的,可以将按照表1,将部分标记为写缓存和数据分层的物理块中的数据写入HDD中(若物理块中写有数据),之后,可以将相应的物理块的写缓存分区标记和数据分层分区标记去除。假设调整后第一写缓存存储空间在可用总空间中所占的比例为10%,第一数据分层存储空间在可用总空间所占的比例为30%,

209、将第一SSD中的读缓存分区的存储空间增大至第二读缓存存储空间。

在步骤207之后,写缓存分区和数据分层分区的存储空间减小,就会新增一些可用的存储空间,为了扩大读缓存分区的存储空间,可以将部分或全部新增的可用的存储空间分配给读缓存,将第一SSD中的读缓存分区的存储空间增大至第二读缓存存储空间。为了最大限度的利用第一SSD,可以将新增的可用的存储空间全部分配给读缓存,参见表4,第一读缓存存储空间在可用总空间中所占的比例为60%。

表4

需要说明的是,第一寿命阈值和第二寿命阈值将剩余寿命分成三个区间,即大于第一寿命阈值、小于或等于第一寿命阈值且大于第二寿命阈值、小于或等于第二寿命阈值。在实际使用中,也可以先判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若大于,再判断剩余寿命是否小于或等于第一寿命阈值,本发明实施例中提到的这两个判断过程的先后执行顺序,此处不做限定,只要能够确定获取的第一SSD的剩余寿命处于哪个区间即可。

由于混合存储产品包括HDD、第一SSD和第二SSD,即使第一SSD的剩余寿命小于或等于第二寿命阈值,写缓存和数据分层还可以继续使用第二SSD中的存储空间,第二SSD并未限定为一块SSD,可以为一块、两块或更多的SSD,假设第二SSD的剩余寿命大于第三寿命阈值,第三寿命阈值可以与第一寿命阈值相同,也可以不同,只要第二SSD的剩余寿命大于第三寿命阈值时,能够表明第二SSD的使用寿命未接近极限即可,具体取值不做限定。为了维持写缓存和数据分层的性能,本发明可以将第一SSD中写缓存和数据分层减少的存储空间在第二SSD中进行补偿,尽量维持在所有SSD中所占存储空间的比例不变。具体过程如下,请参阅图3,本发明实施例中基于混合存储产品的存储控制方法另一个实施例包括:

301、获取第一SSD的剩余寿命;

HDD的存储控制模块可以周期性的获取第一SSD的剩余寿命,作为举例,获取周期可以为1周。

将此时第一SSD中读缓存分区占用的存储空间称作第一SSD的第一读缓存存储空间,第一SSD中写缓存分区占用的存储空间称作第一SSD的第一写缓存存储空间,第一SSD中数据分层分区占用的存储空间称作第一数据分层存储空间,将第一SSD的第一写缓存存储空间和第一SSD的第一数据分层存储空间二者一共占用的存储空间称作第一SSD的第一写数据与数据分层存储空间。将此时第二SSD中读缓存分区占用的存储空间称作第二SSD的第一读缓存存储空间,将第二SSD中写缓存分区占用的存储空间称作第二SSD的第一写缓存存储空间,将第二SSD中数据分层分区占用的存储空间称作第二SSD的第一数据分层存储空间,将第二SSD的第一写缓存存储空间和第二SSD的第一数据分层存储空间二者一共占用的存储空间称作第二SSD的第二写数据与数据分层存储空间。

302、判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若是,则执行步骤303,若否,则执行步骤307;

获取到第一SSD的剩余寿命之后,可以将第一SSD的剩余寿命与预存的第二寿命阈值进行比较,判断第一SSD的剩余寿命是否小于或等于第二寿命阈值,若小于或等于第二寿命阈值,则执行步骤303,若大于第一寿命阈值,则执行步骤306。

303、将第二SSD中的写缓存分区和数据分层分区的存储空间增大至第二SSD的第三写数据与数据分层存储空间;

在第二SSD中为写缓存和数据分层分配更多的存储空间,将第二SSD中的写缓存分区和数据分层分区的存储空间分别增大至第二SSD的第三写缓存存储空间和第二SSD的第三数据分层存储空间,第二SSD的第三写缓存存储空间和第二SSD的第三数据分层存储空间一共占用的存储空间称作第二SSD的第三写数据与数据分层存储空间,相应的,第二SSD的读缓存分区所占用的第二SSD的第一存储空间减小为第二SSD的第三存储空间。

优选的,第二SSD的第三写缓存存储空间与第二SSD的第一写缓存存储空间大小的差值,为第一SSD的第一写缓存存储空间的大小;第二SSD的第三数据分层存储空间与第二SSD的第一数据分层存储空间大小的差值,为第一SSD的第一数据分层存储空间的大小,第二SSD的第一读缓存存储空间与第二SSD的第三读缓存存储空间的大小的差值,为第二SSD的第三写数据与数据分层存储空间与第二SSD的第一写数据与数据分层存储空间的大小的差值。相应的,可以将第一写缓存存储空间和第一数据分层存储空间中的写缓存数据和数据分层数据写入第二SSD中,写入的过程可以为先写入HDD中,然后在第二SSD中的重新分区调整结束后,再将这些数据写入第二SSD中。

304、将第一SSD中的第一数据存储在第二SSD中;

若判定第一SSD的剩余寿命小于或等于第二寿命阈值,则判定第一SSD中的数据处于容易丢失的状态,此时,可以将第一SSD中写缓存分区和数据分层分区所占用的存储空间大小降为零,也就是说,在第一SSD中不为写缓存和数据分层分配存储空间,相应的,可以将第一SSD中已存储的第一数据存储在H第二SSD中,也就是说将第一写缓存存储空间和第一数据分层存储空间中的写缓存数据和数据分层数据写入第二SSD中。

305、将接收到的第一数据存储于第二SSD中;

若判定第一SSD的剩余寿命小于或等于第二寿命阈值,则判定第一SSD中的数据处于容易丢失的状态,此时,可以将第一SSD中写缓存分区和数据分层分区所占用的存储空间大小降为零,也就是说,在第一SSD中不为写缓存和数据分层分配存储空间,相应的,可以在接收第一数据的存储请求时,将接收到的第一数据存储在第二SSD中,而不再存储到第一SSD中。

306、将第一SSD中的读缓存分区的存储空间增大至第三读缓存存储空间;

在步骤305之后,第一SSD的第一写缓存存储空间和第一数据分层存储空间为可用存储空间,可以将第一SSD的第一写数据与数据分层存储空间分配给读缓存,将第二SSD的读缓存存储空间中存储的读缓存数据写入第一SSD中。

307、执行其他操作。

若第一SSD的剩余寿命大于第一寿命阈值,则继续判断其他SSD的剩余寿命。

上面对本发明实施例中的方法进行了描述,下面对本发明实施例中的装置进行描述。

请参阅图4,本发明实施例中基于混合存储产品的存储控制方法的一个实施例包括:

获取单元401,用于获取第一SSD的剩余寿命。

第一判断单元402,用于判断第一SSD的剩余寿命是否小于或等于第二寿命阈值。

第一分配单元403,用于当第一判断单元判定第一SSD的剩余寿命小于或等于第二寿命阈值时,在第一SSD中不为第一数据分配存储空间。

第二分配单元404,用于当第一判断单元判定第一SSD的剩余寿命小于或等于第二寿命阈值时,在第一SSD中为第二数据分配存储空间。

本实施例中的存储控制模块各单元间的关系参照图1对应的实施例,此处不再赘述。

请参阅图5,本发明实施例中存储控制模块的另一个实施例包括:

获取单元501,用于获取第一SSD的剩余寿命。

第二判断单元502,用于判断第一SSD的剩余寿命是否小于或等于第一寿命阈值,所述第一寿命阈值大于所述第二寿命阈值。

第一判断单元503,用于当第二判断单元502判定第一SSD的剩余寿命小于或等于第一寿命阈值时,判断第一SSD的剩余寿命是否小于或等于第二寿命阈值。

第一存储子单元504,用于当第一判断单元503判定第一SSD的剩余寿命是否小于或等于第二寿命阈值时,将第一SSD中的第一数据存储在HDD中。

第二存储子单元505,用于当第一SSD的剩余寿命是否小于或等于第二寿命阈值时,在接收到第一数据之后,将接收到的第一数据存储于第二SSD中。

第五分配子单元506,用于当第一SSD的剩余寿命是否小于或等于第二寿命阈值时,将第一SSD中的读缓存分区的存储空间增大至第三读缓存存储空间。

第三分配单元507,用于将第一SSD中的写缓存分区和数据分层分区所占用的存储空间减小为第二写数据与数据分层存储空间。

第五分配单元508,用于将第一SSD中的读缓存分区的存储空间增大至第二读缓存存储空间。

本实施例中的存储控制模块各单元间的关系参照图2对应的实施例,此处不再赘述。

请参阅图6,本发明实施例中NAND闪存控制器600的一个实施例包括:

获取单元601,用于获取第一SSD的剩余寿命。

第一判断单元602,用于判断第一SSD的剩余寿命是否小于或等于第二寿命阈值。

第四分配单元603,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值,且所述第二SSD的剩余寿命大于第二SSD的第三寿命阈值时,将第二SSD中的写缓存分区和数据分层分区的存储空间增大至第二SSD的第三写数据与数据分层存储空间。

第三分配子单元604,用于当所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值时,将第一SSD中的第一数据存储在第二SSD中。

第四分配子单元605,用于在所述第一判断单元判定所述第一SSD的剩余寿命小于或等于所述第二寿命阈值之后,在接收到所述第一数据时,将接收到的第一数据存储于第二SSD中。

第五分配子单元606,用于将第一SSD中的读缓存分区的存储空间增大至第三读缓存存储空间。

本实施例中的存储控制模块各单元间的关系参照图3对应的实施例,此处不再赘述。

本发明的存储控制模块可以安装于主机中。

在本申请所提供目标区域可以为默认的区域,也可以为用户预设的区域。并且,所述的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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