存储装置的控制器及资源优化方法转让专利

申请号 : CN201210280000.2

文献号 : CN102855198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 江松

申请人 : 记忆科技(深圳)有限公司

摘要 :

本发明适用于存储装置的资源优化技术领域,提供了一种存储装置的资源优化方法,所述方法包括:接收主机应用发送的IO暂停命令,所述IO暂停命令携带业务时间间歇参数和资源回收强度参数;根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法。本发明还相应的提供一种实现上述方法的存储装置的控制器。借此,本发明通过在非连续性业务的业务停顿的间歇由上层应用直接下发IO暂停命令给存储设备,存储设备可以根据命令信息启动资源优化进程,以便在IO暂停结束后,业务重新开始时,存储系统资源达到更优化的配置,有效提升存储装置的读写性能。

权利要求 :

1.一种存储装置的资源优化方法,其特征在于,所述方法包括:接收主机应用发送的IO暂停命令,所述IO暂停命令携带业务时间间歇参数和资源回收强度参数;

根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法;

在所述IO暂停的时间内执行对应的所述资源回收算法,在恢复IO后执行在应用访问IO时的资源回收算法。

2.根据权利要求1所述的存储装置的资源优化方法,其特征在于,所述方法还包括:记录所述业务时间间歇参数,若当前接收的业务间歇时间大于所述已记录的业务间歇时间,则增加所述业务时间间歇参数;

若当前接收的业务间歇时间小于所述已记录的业务间歇时间,则减小所述业务时间间歇参数。

3.根据权利要求1所述的存储装置的资源优化方法,其特征在于,所述存储装置为固态硬盘。

4.根据权利要求1所述的存储装置的资源优化方法,其特征在于,所述资源回收强度参数为垃圾回收强度参数。

5.一种存储装置的控制器,其特征在于,包括:接收模块,用于接收主机应用发送的IO暂停命令,所述IO暂停命令携带业务时间间歇参数和资源回收强度参数;

算法执行模块,根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法;

所述算法执行模块在所述IO暂停的时间内执行对应的所述资源回收算法,在恢复IO后执行在应用访问IO时的资源回收算法。

6.根据权利要求5所述的存储装置的控制器,其特征在于,所述控制器还包括:记录模块,用于记录所述业务时间间歇参数;

调整模块,用于当前接收的业务间歇时间大于所述已记录的业务间歇时间时,增加所述业务时间间歇参数;和/或当前接收的业务间歇时间小于所述已记录的业务间歇时间时,减小所述业务时间间歇参数。

7.根据权利要求5所述的存储装置的控制器,其特征在于,所述存储装置的控制器为固态硬盘的控制器。

8.根据权利要求5所述的存储装置的控制器,其特征在于,所述资源回收强度参数为垃圾回收强度参数。

说明书 :

存储装置的控制器及资源优化方法

技术领域

[0001] 本发明涉及存储装置的资源优化技术领域,尤其涉及一种存储装置的控制器及资源优化方法。

背景技术

[0002] 存储系统的应用性能和所收到的IO强度、数量、大小息息相关。在高强度IO访问的情况下,随着时间的推移,存储系统就会产生资源碎片。此时,存储系统就会进行动态的碎片整理,以优化资源。保证应用性能。例如,SSD(solid state disk,固态硬盘)磁盘的性能优势是其在企业和个人存储市场上越来越得到广泛应用的最主要的原因。然而,Flash存储芯片的独特的擦除后写的访问方式也造成了随着时间的推移,可用的已擦除的块越来越少,碎片越来越多,造成访问性能的下降。针对这种情况,很多SSD控制器都包含垃圾回收的算法来保证性能的稳定。但现有的存储系统在做资源回收整理优化的时候必须要考虑到应用对存储时时刻刻的访问,以及对性能产生的可能影响。因此,在不知道应用会如何访问存储的情况下,存储系统会限制使用最优化的资源回收算法的,保证能在突然有高强度应用访问时的响应性能。
[0003] 综上可知,现有的存储装置的资源优化技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容

[0004] 针对上述的缺陷,本发明的目的在于提供一种存储装置的控制器及资源优化方法,可以使存储装置资源达到更优化的配置,有效提升存储装置的读写性能。
[0005] 为了实现上述目的,本发明提供一种存储装置的资源优化方法,所述方法包括:
[0006] 接收主机应用发送的IO暂停命令,所述IO暂停命令携带业务时间间歇参数和资源回收强度参数;
[0007] 根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法。
[0008] 根据本发明的存储装置的资源优化方法,所述根据所述时间间歇参数和资源回收强度参数执行对应的资源回收算法的步骤包括:在所述IO暂停的时间内执行对应的所述资源回收算法。
[0009] 根据本发明的存储装置的资源优化方法,所述方法还包括:
[0010] 记录所述业务时间间歇参数,若当前接收的业务间歇时间大于所述已记录的业务间歇时间,则增加所述业务时间间歇参数;
[0011] 若当前接收的业务间歇时间小于所述已记录的业务间歇时间,则减小所述业务时间间歇参数。
[0012] 根据本发明的存储装置的资源优化方法,所述存储装置为固态硬盘。
[0013] 根据本发明的存储装置的资源优化方法,所述资源回收强度参数为垃圾回收强度参数。
[0014] 本发明还相应的提供一种存储装置的控制器,包括:
[0015] 接收模块,用于接收主机应用发送的IO暂停命令,所述IO暂停命令携带业务时间间歇参数和资源回收强度参数;
[0016] 算法执行模块,根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法。
[0017] 根据本发明的存储装置的控制器,所述算法执行模块在所述IO暂停的时间内执行对应的所述资源回收算法。
[0018] 根据本发明的存储装置的控制器,所述控制器还包括:
[0019] 记录模块,用于记录所述业务时间间歇参数;
[0020] 调整模块,用于当前接收的业务间歇时间大于所述已记录的业务间歇时间时,增加所述业务时间间歇参数;和/或当前接收的业务间歇时间小于所述已记录的业务间歇时间时,减小所述业务时间间歇参数。
[0021] 根据本发明的存储装置的控制器,所述存储装置的控制器为固态硬盘的控制器。
[0022] 根据本发明的存储装置的控制器,所述资源回收强度参数为垃圾回收强度参数。
[0023] 本发明通过主机在运行非连续性业务时,在其间歇时间通过该业务应用层直接下发IO暂停命令,使存储装置暂停IO访问操作。更好的是,主机下发的IO暂停命令包括业务时间间歇参数和资源回收强度参数,存储装置可根据这些参数在IO暂停的时间里选择更优化的资源回收算法执行资源回收,借此使存储装置具有更优化的配置,有效提升存储装置的读写性能。

附图说明

[0024] 图1是本发明一实施例的存储装置的控制器的结构示意图;
[0025] 图2是本发明一实施例的存储装置的资源优化方法流程图。

具体实施方式

[0026] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027] 参见图1所示的实施例,本发明提供了一种存储装置的控制器,本实施例以存储装置为固态硬盘为例加以说明。控制器100为固态硬盘控制器,其与主机200连接,该控制器100包括接收模块10及算法执行模块20。
[0028] 具体应用中,主机200在运行某些特定的业务应用,所述特定的应用业务访问IO具有一定的时间周期规律,在该应用的IO访问间歇时,主机200向控制器100下发应用的IO暂停命令,控制器100通过接收模块10接收该IO暂停命令,需要说明的是,上述IO暂停命令中携带了业务时间间歇参数和资源回收强度参数。控制器100接收到该命令后,算法执行模块20根据接收到的业务时间间歇参数和资源回收强度参数执行对应的资源回收算法。更好的,控制器100可以根据业务时间间歇参数获知业务应用何时会再发送IO,借此能够采用最适合的算法来回收资源,当应用恢复发送IO时,控制器100就会更好的响应应用。
[0029] 需要说明的,算法执行模块20在IO暂停的时间内执行最优化的资源回收算法,当应用恢复IO访问时,算法执行模块20则执行在应用访问IO时的资源回收算法,借此使本发明的控制器100充分利用特定业务的时间间歇,选择最优的资源回收算法,使资源得到更优化的配置,提高存储装置的读写性能。
[0030] 优选的是,控制器100还包括记录模块30和调整模块40。当主机200第一次发送IO暂停命令时,记录模块30记录其携带的业务时间间歇参数。当控制器100再次接收到相关应用的业务的IO暂停命令时,若当前接收的业务间歇时间大于已记录的业务间歇时间,调整模块40增大业务时间间歇参数,若当前接收的业务间歇时间小于所述已记录的业务间歇时间,则调整模块40减小业务时间间歇参数,借此保证IO的暂停时间与最优化算法执行的时间一致。
[0031] 以垃圾回收为例,现有的固态硬盘控制器一般是采用动态的垃圾回收算法来回收坏块。其算法一般是在有持续IO请求的情况下保证基本的访问性能,而且具有一定的判别标准,何时采用何种方式对哪些块进行垃圾回收,当系统空白页达到一定数值后就不再回收无效页。在本发明的垃圾回收应用中,通过在IO访问的时间间歇,由主机200直接下发垃圾回收整理命令,并带上时间间歇和回收强度的参数,控制器100根据这些参数来启动相应的垃圾回收算法。借此使存储装置在业务间歇加大垃圾回收力度,保证业务恢复运行后的读写性能。
[0032] 参见图2,本发明提供了一种存储装置的资源优化方法,其可以通过如图1所示的存储装置的控制器实现,且存储装置优选为固态硬盘,所述方法包括:
[0033] 步骤S201,接收模块10接收主机200应用发送的IO暂停命令,所述的IO暂停命令携带业务时间间歇参数和资源回收强度参数。具体的,业务时间间歇参数包括了IO访问的暂停时间及恢复时间等,资源回收具体可以是对存储装置的垃圾回收,其强度参数包括需要回收的垃圾块或页的数目。
[0034] 步骤S202,算法执行模块20根据所述业务时间间歇参数和资源回收强度参数执行对应的资源回收算法。具体应用中,控制器100在主机200的业务应用待续访问IO时保持一资源回收算法,当其接收到IO暂停命令时,则根据其携带的时间间歇参数和资源回收强度参数另外选择执行更优化的资源回收算法,借此大大优化储存装置的资源配置。
[0035] 具体应用中,主机200第一次发送IO暂停命令时,控制器100记录模块30记录其携带的业务时间间歇参数。当控制器100再次接收到相关应用的业务的IO暂停命令时,若当前接收的业务间歇时间大于已记录的业务间歇时间,控制器通过调整模块40增大业务时间间歇参数,若当前接收的业务间歇时间小于所述已记录的业务间歇时间,则调整模块40减小业务时间间歇参数,借此保证IO的暂停时间与最优化算法执行的时间一致。
[0036] 综上所述,本发明通过主机在运行非连续性业务时,在其间歇时间通过该业务应用层直接下发IO暂停命令,使存储装置暂停IO访问操作。更好的是,主机下发的IO暂停命令包括业务时间间歇参数和资源回收强度参数,存储装置可根据这些参数在IO暂停的时间里选择更优化的资源回收算法执行资源回收,借此使存储装置具有更优化的配置,有效提升存储装置的读写性能。
[0037] 当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。