CN104407986B - 在存储设备中配置缓存的方法、装置及控制器 - Google Patents
在存储设备中配置缓存的方法、装置及控制器 Download PDFInfo
- Publication number
- CN104407986B CN104407986B CN201410584062.1A CN201410584062A CN104407986B CN 104407986 B CN104407986 B CN 104407986B CN 201410584062 A CN201410584062 A CN 201410584062A CN 104407986 B CN104407986 B CN 104407986B
- Authority
- CN
- China
- Prior art keywords
- write cache
- cache space
- write
- adjustment
- logic unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008859 change Effects 0.000 claims abstract description 109
- 230000009467 reduction Effects 0.000 claims description 18
- 230000002085 persistent effect Effects 0.000 claims description 16
- 230000007423 decrease Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 230000003416 augmentation Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种在存储设备中配置缓存的方法、装置及控制器,涉及信息技术领域,可以提高为逻辑单元提供的写缓存空间的有效利用程度。所述方法包括:控制器首先获取逻辑单元的初始写缓存收益,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度。本发明适用于对为逻辑单元提供的写缓存空间进行调整。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种在存储设备中配置缓存的方法、装置及控制器。
背景技术
缓存是指介于高速设备与低速设备之间的高速小容量存储器,能够通过缓存部分低速设备中存储的数据,并当高速设备需要访问这些数据时,直接将这些数据提供给高速设备,以解决高速设备与低速设备之间的传输速度不匹配的问题。
目前,一种在存储设备中进行缓存的方法,该存储设备具体包括缓存及永久存储介质,该存储设备基于该永久存储介质提供逻辑单元,该存储设备为该逻辑单元在该缓存中提供写缓存空间,当向该逻辑单元发起写I/O(Input/Output,输入/输出)请求时,该写I/O请求确定缓存中该逻辑单元占用的写缓存空间中,是否已缓存有该写I/O请求对应的写缓存数据,若已缓存有对应的写缓存数据,则该写I/O请求可以直接对该写缓存数据进进行写操作。
然而,当存储设备为逻辑单元在缓存中提供写缓存空间时,存在为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差,即该逻辑单元占用该写缓存空间的写I/O请求命中率较低,或写I/O请求合并率较低,或写I/O请求时延较大的情况,导致为逻辑单元提供的写缓存空间的有效利用程度较低。
发明内容
本发明提供一种在存储设备中配置缓存的方法、装置及控制器,可以提高为逻辑单元提供的写缓存空间的有效利用程度。
本发明采用的技术方案为:
第一方面,本发明提供一种在存储设备中配置缓存的方法,应用于存储设备,所述存储设备包括控制器、缓存及永久存储介质,所述存储设备基于所述永久存储介质提供逻辑单元,所述存储设备为所述逻辑单元在所述缓存中提供写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述方法包括:
所述控制器获取所述逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
所述控制器将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
结合第一方面,在第一方面的第一种可能的实现方式中,所述控制器将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,具体包括:
所述控制器通过多次调整,将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器通过多次调整,将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,具体包括:
所述控制器获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述控制器根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
若所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值,则所述控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
若所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值,则所述控制器将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
若所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值,则所述控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
若所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值,则所述控制器将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
当进行所述多次调整的首次调整时,所述控制器将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整或减小调整。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
当所述本次步长小于或者等于预置最小步长时,所述控制器确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,所述控制器确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
结合第一方面,在第一方面的第六种可能的实现方式中,所述控制器获取所述逻辑单元的初始写缓存收益,具体包括:
所述控制器根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
第二方面,本发明提供一种在存储设备中配置缓存的装置,用于控制器,所述控制器位于存储设备,所述存储设备还包括缓存及永久存储介质,所述存储设备基于所述永久存储介质提供逻辑单元,所述存储设备为所述逻辑单元在所述缓存中提供写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述装置包括:
获取单元,用于获取所述逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
调整单元,用于将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述获取单元获取的所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述调整单元,具体用于通过多次调整,将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
所述获取单元,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述获取单元,还用于根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
所述调整单元,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
所述调整单元,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述调整单元,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述调整单元,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述调整单元,具体用于当进行所述多次调整的首次调整时,将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整或减小调整。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:确定单元;
所述确定单元,用于当所述本次步长小于或者等于预置最小步长时,确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,
所述确定单元,还用于当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
结合第二方面,在第二方面的第六种可能的实现方式中,
所述获取单元,具体用于根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
第三方面,本发明提供一种控制器,所述控制器位于存储设备,所述存储设备还包括缓存及永久存储介质,所述存储设备基于所述永久存储介质提供逻辑单元,所述存储设备为所述逻辑单元在所述缓存中提供写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述控制器包括:
处理器,用于获取所述逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
所述处理器,还用于将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述处理器,具体用于通过多次调整,将为所述逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
所述处理器,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述处理器,还用于根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
所述处理器,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
所述处理器,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述处理器,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述处理器,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,
所述处理器,具体用于当进行所述多次调整的首次调整时,将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述逻辑单元提供的写缓存空间进行增大调整或减小调整。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,
所述处理器,还用于当所述本次步长小于或者等于预置最小步长时,确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
结合第三方面的第二种可能的实现方式,在第三方面的第五种可能的实现方式中,
所述处理器,还用于当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
结合第三方面,在第三方面的第六种可能的实现方式中,
所述处理器,具体用于根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
本发明提供的在存储设备中配置缓存的方法、装置及控制器,控制器首先获取逻辑单元的初始写缓存收益,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。与目前逻辑单元按照对应的写I/O请求在缓存中占用写缓存空间相比,本发明通过对逻辑单元在缓存中占用的写缓存空间进行调整,以实现写缓存收益变化率达到预置阈值,即调整后的写缓存空间能够被逻辑单元有效利用,例如,当为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差时,能够将为该逻辑单元在缓存中提供的写缓存空间调整至较小,以使得不被该逻辑单元继续占用的写缓存空间,能够被其他收益较好的逻辑单元占用,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
附图说明
为了更清楚地说明本发明中的技术方案,下面将对本发明描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中存储设备的结构示意图;
图2为本发明实施例中在存储设备中配置缓存的方法流程图;
图3为本发明实施例中另一种在存储设备中配置缓存的方法流程图;
图4为本发明实施例中在存储设备中配置缓存的装置结构示意图;
图5为本发明实施例中另一种在存储设备中配置缓存的装置结构示意图;
图6为本发明实施例中控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供的在存储设备中配置缓存的方法,可以应用于存储设备,如图1所示,该存储设备包括控制器、缓存及永久存储介质,存储设备可以基于永久存储介质提供逻辑单元,存储设备可以为逻辑单元在缓存中提供写缓存空间,控制器与缓存之间可以通过固定接口进行通信,存储设备具体可以为存储阵列,控制器具体可以为存储阵列中的控制节点。其中,控制器与缓存之间通过固有接口进行通信,控制器可以通过固有接口获取逻辑单元在缓存中占用的写缓存空间的值,还可以通过固有接口获取逻辑单元占用当前写缓存空间时对应的收益,还可以通过固有接口将调整后的写缓存空间的值发送给缓存。控制器与缓存之间可以通过不同的固有接口进行不同的数据交互,也可以通过同一固有接口进行不同的数据交互。
本发明实施例提供一种在存储设备中配置缓存的方法,能够提高为逻辑单元提供的写缓存空间的有效利用程度,如图2所示,所述方法包括:
201、控制器获取逻辑单元的初始写缓存收益。
其中,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能。
对于本发明实施例,控制器具体可以通过逻辑单元当前的写I/O请求命中率、写I/O请求合并率或写I/O请求时延等参数,获取对应的写缓存收益。其中,写I/O请求命中率为单位时间内在缓存中命中的写I/O请求数量在写I/O请求总量中的占比,写I/O请求命中率越高,写缓存收益越大;写I/O请求合并率为单位时间内在缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,写I/O请求合并率越高,写缓存收益越大;写I/O请求时延为所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,写I/O请求时延越小,写缓存收益越大。
需要说明的是,本发明实施例不限于上述控制器通过写I/O请求命中率、写I/O请求合并率或写I/O请求时延获取对应的写缓存收益,其他任何可以用于表征系统性能的写I/O请求参数,均可用于获取对应的写缓存收益,例如,控制器还可以通过写I/O请求IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)、写I/O请求MBPS(Million bits per second,兆比特每秒)、写I/O请求磁盘使用率等参数获取对应的写缓存收益。
202、控制器将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间。
进一步地,通过控制器将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值。
其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。
对于本发明实施例,控制器调整为逻辑单元提供的写缓存空间的方式具体可以为:控制器按照增加写缓存空间的方式,将为逻辑单元提供的写缓存空间进行增大调整,调整后的写缓存空间的值为调整前的写缓存空间的值与步长的值之和;或者,控制器按照减少写缓存空间的方式,将为逻辑单元提供的写缓存空间进行减小调整,调整后的写缓存空间的值为调整前的写缓存空间的值与步长的值之差。
需要说明的是,步骤202中,控制器将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,不限于控制器仅通过一次调整,控制器也可以通过多次反复调整,直至调整至目标写缓存空间。
对于本发明实施例,为逻辑单元配置的目标写缓存空间为该逻辑单元对应的写缓存空间配额,即该逻辑单元最多可以在缓存中占用目标写缓存空间大小的空间。在本发明实施例中,当逻辑单元当前的写I/O请求个数相对较少时,该逻辑单元可以按照实际需求,占用对应的写缓存空间,并保证不大于目标写缓存空间,此时,该逻辑单元占用的写缓存空间可以小于为其配置的目标写缓存空间;当逻辑单元目前的写I/O请求个数相对较多时,该逻辑单元可以按照实际需求,占用对应的写缓存空间,此时,该逻辑单元可以按照实际需求,占用目标写缓存空间大小的写缓存空间。
对于本发明实施例,调整完成后,逻辑单元占用目标写缓存空间时对应的目标写缓存收益为最佳写缓存收益。例如,某个逻辑单元当前处于全随机写请求的场景下,该逻辑单元对应的命中率为0,即该逻辑单元对应的目标写缓存收益很低,调整完成后,即该逻辑单元对应的写缓存收益达到最佳写缓存收益后,该逻辑单元可占用的写缓存空间较小,进一步地,缓存中有更多的写缓存空间,可以供其他逻辑单元缓存所需的写缓存数据,从而可以提升系统性能。再例如,某个逻辑单元当前处于全热点写请求的场景下,该逻辑单元对应的命中率能够达到100%,即该逻辑单元对应的目标写缓存收益很高,调整完成后,即该逻辑单元对应的写缓存收益达到最佳写缓存收益后,该逻辑单元可占用的写缓存空间较大,进一步地,可以提升系统性能。
本发明实施例提供的在存储设备中配置缓存的方法,控制器首先获取逻辑单元的初始写缓存收益,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。与目前逻辑单元按照对应的写I/O请求在缓存中占用写缓存空间相比,本发明实施例通过对逻辑单元在缓存中占用的写缓存空间进行调整,以实现写缓存收益变化率达到预置阈值,即调整后的写缓存空间能够被逻辑单元有效利用,例如,当为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差时,能够将为该逻辑单元在缓存中提供的写缓存空间调整至较小,以使得不被该逻辑单元继续占用的写缓存空间,能够被其他收益较好的逻辑单元占用,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
作为对图2所示方法的具体说明,本发明实施例提供另一种在存储设备中配置缓存的方法,如图3所示,所述方法包括:
301、控制器获取逻辑单元的初始写缓存收益。
其中,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能。
对于本发明实施例,控制器具体可以通过逻辑单元当前的写I/O请求命中率、写I/O请求合并率或写I/O请求时延等参数,获取对应的写缓存收益。其中,写I/O请求命中率为单位时间内在缓存中命中的写I/O请求数量在写I/O请求总量中的占比,写I/O请求命中率越高,写缓存收益越大;写I/O请求合并率为单位时间内在缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,写I/O请求合并率越高,写缓存收益越大;写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,写I/O请求时延越小,写缓存收益越大。
需要说明的是,本发明实施例不限于上述控制器通过写I/O请求命中率、写I/O请求合并率或写I/O请求时延获取对应的写缓存收益,其他任何可以用于表征系统性能的写I/O请求参数,均可用于获取对应的写缓存收益,例如,控制器还可以通过写I/O请求IOPS、写I/O请求MBPS、写I/O请求磁盘使用率等参数获取对应的写缓存收益。
可选地,控制器根据获取初始写缓存收益,其中,η为初始写缓存收益,α为写I/O请求命中率,写I/O请求命中率为单位时间内在缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,写I/O请求合并率为单位时间内在缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为写I/O请求命中率对应的权重,b为写I/O请求合并率对应的权重,c为写I/O请求时延对应的权重,a、b和c不全为0。
对于本发明实施例,可以仅通过写I/O请求命中率表征收益,此时,可以将上述b和c置为0;也可以通过写I/O请求命中率及写I/O请求时延表征收益,此时,可以将上述b置为0。
对于本发明实施例,控制器可以通过多次调整,将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间。
对于本发明实施例,通过多次对为逻辑单元提供的写缓存空间进行调整,能够根据调整写缓存空间所导致的收益变化趋势,对写缓存空间进行反复调整,直至调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,即直至该逻辑单元对应的收益达到最佳状态,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
需要说明的是,本发明实施例中,仅当进行多次调整中的首次调整时,进行下述步骤302;下述步骤303、步骤304及步骤305的组合为多次调整中的一次调整的过程,其中,步骤305是指下述步骤305a、步骤305b、步骤305c、步骤305d中的任一步骤。
302、当进行多次调整的首次调整时,控制器将预置步长作为首次调整的步长,将初始写缓存空间作为首次调整的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整或减小调整。
其中,预置步长可以为控制器预先配置的写缓存空间大小,也可以为随机生成的写缓存空间大小,本发明实施例不做限定。例如,预置步长可以为10Gb(吉比特)、12Gb或20Gb。
对于本发明实施例,当控制器首次调整为对为逻辑单元提供的写缓存空间进行增大调整时,调整后写缓存空间的值为初始写缓存空间的值与预置步长的值之和。
303、控制器获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益。
对于本发明实施例,控制器获取调整后写缓存收益的方式具体可以为:控制器按照预置周期,获取预置数量的写缓存收益,若这些预置数量的写缓存收益,与平均值之间的差值均小于预置差值,则控制器将该平均值作为写缓存收益。其中,平均值是指这些预置数量的写缓存收益的平均值。
需要说明的是,上述预置数量的写缓存收益,是控制器按照预置周期连续进行获取的,从而可以表征写缓存收益是否稳定。
对于本发明实施例,通过获取预置数量的与平均值之间的差值小于预置差值的写缓存收益,能够实现控制器获取到的调整后写缓存收益为稳定后的写缓存收益,即可以避免由于控制器对逻辑单元占用的写缓存空间调整后,获取到的写缓存收益不稳定,导致该写缓存收益不能够准确反映调整后的实际写缓存收益的情况,从而可以提高获取到的写缓存收益的准确度。
例如,预置周期为5秒,预置数量为10个,预置差值为0.04,控制器以5秒为周期,连续获取到的10个写缓存收益的值分别为:0.82、0.81、0.77、0.80、0.83、0.81、0.79、0.78、0.80、0.79,这些写缓存收益的平均值为0.80,并且每个写缓存收益与平均值之间的差值均小于0.4,此时,控制器将该平均值作为获取的写缓存收益,即获取的写缓存收益为0.80。
需要说明的是,本发明实施例中预置差值不限于为上述具体写缓存收益值,其他任何可以表示预置差值的方式均适用本发明实施例,具体还可以通过平均值的百分比表示预置差值,例如,预置差值可以为平均值的5%,当平均值为0.80时,预置差值具体为0.04。
对于本发明实施例,若在预置时长内,始终不存在满足上述条件的平均值,则控制器放弃本次调整,并且随机等待一段时间后,重新对逻辑单元占用的写缓存空间进行调整,从而可以避免由于调整后的写缓存空间的写缓存收益长期不稳定,而导致控制器长期反复获取写缓存收益的情况。
例如,预置时长为200秒,预置周期为5秒,预置数量为10个,预置差值为0.04,控制器对逻辑单元占用的写缓存空间进行调整后,在200秒内,若始终不存在连续的10个写缓存收益满足上述对平均值的条件,则控制器放弃本次调整,并且随机等待一段时间后,重新对逻辑单元占用的写缓存空间进行调整。
304、控制器根据调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益,获取写缓存收益变化率。
可选地,控制器具体可以根据获取写缓存收益变化率。其中,Δη为写缓存收益变化率,η1为调整前写缓存收益,η2为调整后写缓存收益,M1为调整前写缓存空间,M2为调整后写缓存空间。
对于本发明实施例,当增大为逻辑单元提供的写缓存空间,并且该逻辑单元对应的写缓存收益增大较多时,控制器可以按照增加步长的方式,增大为逻辑单元提供的写缓存空间;当增大逻辑单元占用的写缓存空间,并且该逻辑单元对应的写缓存收益不变或者增大较少时,控制器可以按照减少步长的方式,减小为逻辑单元提供的写缓存空间,从而实现写缓存收益变化率达到预置阈值,即控制器为逻辑单元配置的可占用的写缓存空间最佳,进而提升系统性能。
对于本发明实施例,当为逻辑单元提供的写缓存空间增大时,对应的写缓存收益增大或者不变;当为逻辑单元提供的写缓存空间减小时,对应的写缓存收益减小或者不变。
305a、若调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值,则控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整。
其中,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。
例如,若前一次调整为将为逻辑单元提供的写缓存空间由40Gb调整至60Gb,步长为20Gb,并且写缓存收益变化率大于或者等于预置阈值,则控制器将前一次步长20Gb作为本次步长,按照增加写缓存空间的方式,将为逻辑单元提供的写缓存空间由60Gb调整至80Gb。
与步骤305a并列的步骤305b、若调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率小于预置阈值,则控制器将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整。
其中,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。
例如,若前一次调整为将为逻辑单元提供的写缓存空间由40Gb调整至60Gb,步长为20Gb,并且写缓存收益变化率小于预置阈值,则控制器将前一次步长的一半10Gb作为本次步长,按照减少写缓存空间的方式,将LUN占用的写缓存空间由60Gb调整至50Gb。
与步骤305a及步骤305b并列的步骤305c、若调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率小于预置阈值,则控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整。
其中,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。
例如,若前一次调整为将为逻辑单元提供的写缓存空间由60Gb调整至40Gb,步长为20Gb,并且写缓存收益变化率小于预置阈值,则控制器将前一次步长20Gb作为本次步长,按照减少写缓存空间的方式,将为逻辑单元提供的写缓存空间由40Gb调整至20Gb。
与步骤305a、步骤305b及步骤305c并列的步骤305d、若调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值,则控制器将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整。
其中,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。
例如,若前一次调整为将为逻辑单元提供的写缓存空间由60Gb调整至40Gb,步长为20Gb,并且写缓存收益变化率大于或者等于预置阈值,则控制器将前一次步长的一半10Gb作为本次步长,按照增加写缓存空间的方式,将为逻辑单元提供的写缓存空间由40Gb调整至50Gb。
306、控制器判断本次的调整后写缓存空间是否大于预置最大写缓存空间,或者小于预置最小写缓存空间。
对于本发明实施例,控制器可以预先配置预置最大写缓存空间和预置最小写缓存空间,以使得为逻辑单元配置的目标写缓存空间,小于或者等于该预置最大写缓存空间,并且大于或者等于该预置最小写缓存空间。
对于本发明实施例,通过限制目标写缓存空间的值在预置最小写缓存空间的值与预置最大写缓存空间的值之间,能够避免由于为写缓存收益低的逻辑单元调整的目标写缓存空间过小,或者调整的目标写缓存空间的值为0,而导致该逻辑单元对应的写I/O请求无法缓存对应的写缓存数据,即该逻辑单元对应的写I/O请求无法被处理的情况;并且,避免由于为写缓存收益高的逻辑单元调整的目标写缓存空间过大,或者调整的目标写缓存空间占用全部写缓存空间,而导致其他逻辑单元无法缓存写缓存数据的情况。
例如,控制器预先配置的预置最小写缓存空间可以为0.01Gb,预置最大写缓存空间可以为100Gb,此时,每个逻辑单元在缓存中占用的写缓存空间始终大于或者等于0.01Gb,并且小于或者等于100Gb。
307、当本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,控制器确定多次调整完成,并将本次的调整前写缓存空间作为目标写缓存空间。
对于本发明实施例,若执行步骤307,则控制器对为逻辑单元提供的写缓存空间的调整完成,并且不执行下述步骤208及步骤209。
与步骤307并列的步骤308、当本次的调整后写缓存空间小于或者等于预置最大写缓存空间,并且大于或者等于预置最小写缓存空间时,控制器判断本次步长是否小于或者等于预置最小步长。
对于本发明实施例,预置最小步长用于确定调整是否完成,预置最小步长可以表征目标写缓存空间的准确度。在本发明实施例中,若预置最小步长越小,则控制器对目标写缓存空间的调整准确度越高;若预置最小步长越大,则控制器完成对目标写缓存空间的调整时间越短。
可选地,步骤308之后,还可以包括:当本次步长大于预置最小步长时,控制器继续执行上述步骤303。
309、当本次步长小于或者等于预置最小步长时,控制器确定多次调整完成,并将本次的调整后写缓存空间作为目标写缓存空间。
对于本发明实施例,若执行步骤309,则控制器对为逻辑单元提供的写缓存空间的调整完成。
可选地,步骤307或步骤309之后,还可以包括:控制器按照预置周期获取待监测写缓存收益,若待监测写缓存收益与目标写缓存收益之间的差值大于预置差值,则控制器重新调整为逻辑单元提供的写缓存空间。其中,待监测写缓存收益为逻辑单元当前占用目标写缓存空间时对应的写缓存收益。
对于本发明实施例,调整完成后,若逻辑单元对应的写I/O请求命中率或写I/O请求合并率或写I/O请求时延发生变化,则该逻辑单元对应的写缓存收益将同步进行变化,当该变化导致与目标写缓存收益之间的差值大于预置差值时,控制器需要重新对为逻辑单元提供的写缓存空间进行调整,以使得将为逻辑单元提供的写缓存空间重新调整至写缓存收益变化率达到预置阈值的写缓存空间。
例如,预置差值为5%,当仅根据写I/O请求命中率表征写缓存收益时,若逻辑单元对应的场景为局部热点请求,并且当该逻辑单元对应的写I/O请求命中率达到60%时,控制器对为逻辑单元提供的写缓存空间调整完成,即此时,该逻辑单元对应的目标写缓存收益为60%;由于随着时间的推移,逻辑单元中对应的场景可能发生改变,若改变为写I/O请求命中率更高的局部热点请求,或者全热点请求,则该逻辑单元对应的写I/O请求命中率会逐渐增大,当逻辑单元对应的写缓存收益大于或者等于65%时,控制器需要重新对为逻辑单元提供的写缓存空间进行调整;或者,若改变为写I/O请求命中率更低的局部热点请求,或者全随机请求,则该逻辑单元对应的写I/O请求命中率会逐渐减小,当逻辑单元对应的写缓存收益小于或者等于55%时,控制器需要重新对为逻辑单元提供的写缓存空间进行调整。
可选地,步骤307之后,还可以包括:当达到预置时长时,控制器重新调整逻辑单元提供的写缓存空间。其中,预置时长可以由控制器预先进行配置。例如,预置时长可以为300秒、350秒或500秒等。
对于本发明实施例,若在预置时长内,待监测写缓存收益与目标写缓存收益之间的差值差值小于预置差值,控制器仍需重新调整逻辑单元提供的写缓存空间,从而可以提高对写缓存空间的调整准确度。
对于本发明实施例,为逻辑单元配置的目标写缓存空间为该逻辑单元对应的写缓存空间配额,即该逻辑单元最多可以在cache中提供目标写缓存空间大小的空间。在本发明实施例中,当逻辑单元目前的写I/O请求个数相对较少时,该逻辑单元可以按照实际需求,提供对应的写缓存空间,并保证不大于目标写缓存空间,此时,该逻辑单元提供的写缓存空间可以小于为其配置的目标写缓存空间;当逻辑单元目前的写I/O请求个数相对较多时,该逻辑单元可以按照实际需求,提供对应的写缓存空间,此时,该逻辑单元可以按照实际需求,提供目标写缓存空间大小的写缓存空间。
对于本发明实施例,调整完成后,逻辑单元占用目标写缓存空间时对应的目标写缓存收益为最佳写缓存收益。例如,某个逻辑单元当前处于全随机写请求的场景下,该逻辑单元对应的命中率为0,即该逻辑单元对应的目标写缓存收益很低,调整完成后,即该逻辑单元对应的写缓存收益达到最佳写缓存收益后,该逻辑单元可占用的写缓存空间较小,进一步地,缓存中有更多的写缓存空间,可以供其他逻辑单元缓存所需的写缓存数据,从而可以提升系统性能。再例如,某个逻辑单元当前处于全热点写请求的场景下,该逻辑单元对应的命中率能够达到100%,即该逻辑单元对应的目标写缓存收益很高,调整完成后,即该逻辑单元对应的写缓存收益达到最佳写缓存收益后,该逻辑单元可占用的写缓存空间较大,进一步地,可以提升系统性能。
本发明实施例提供的在存储设备中配置缓存的方法,控制器首先获取逻辑单元的初始写缓存收益,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。与目前逻辑单元按照对应的写I/O请求在缓存中占用写缓存空间相比,本发明实施例通过对逻辑单元在缓存中占用的写缓存空间进行调整,以实现写缓存收益变化率达到预置阈值,即调整后的写缓存空间能够被逻辑单元有效利用,例如,当为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差时,能够将为该逻辑单元在缓存中提供的写缓存空间调整至较小,以使得不被该逻辑单元继续占用的写缓存空间,能够被其他收益较好的逻辑单元占用,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
进一步地,作为对图2及图3所示方法的实现,本发明实施例还提供了一种在存储设备中配置缓存的装置,该装置可以用于控制器,该控制器位于存储设备,存储设备还包括缓存及永久存储介质,存储设备基于永久存储介质提供逻辑单元,存储设备为逻辑单元在缓存中提供写缓存空间,控制器与缓存之间通过固定接口进行通信,所述装置用于对为逻辑单元提供的写缓存空间进行调整,如图4所示,所述装置包括:获取单元41、调整单元42。
获取单元41,用于获取逻辑单元的初始写缓存收益.
其中,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能。
调整单元42,用于将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值。
其中,写缓存收益变化率为目标写缓存收益与获取单元41获取的初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。
调整单元42,具体用于通过多次调整,将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间。
获取单元41,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益。
获取单元41,还用于根据调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益,获取写缓存收益变化率。
调整单元42,具体用于当调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。或者,
调整单元42,具体用于当调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率小于预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。或者,
调整单元42,具体用于当调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率小于预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。或者,
调整单元42,具体用于当调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。
调整单元42,具体用于当进行多次调整的首次调整时,将预置步长作为首次调整的步长,将初始写缓存空间作为首次调整的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整或减小调整。
进一步地,如图5所示,所述装置还包括:确定单元51。
确定单元51,用于当本次步长小于或者等于预置最小步长时,确定多次调整完成,并将本次的调整后写缓存空间作为目标写缓存空间。
确定单元51,还用于当本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定多次调整完成,并将本次的调整前写缓存空间作为目标写缓存空间。
获取单元41,具体用于根据获取初始写缓存收益。
其中,η为初始写缓存收益,α为写I/O请求命中率,写I/O请求命中率为单位时间内在缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,写I/O请求合并率为单位时间内在缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为写I/O请求命中率对应的权重,b为写I/O请求合并率对应的权重,c为写I/O请求时延对应的权重,a、b和c不全为0。
本发明实施例提供的在存储设备中配置缓存的装置,控制器首先获取逻辑单元的初始写缓存收益,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。与目前逻辑单元按照对应的写I/O请求在缓存中占用写缓存空间相比,本发明实施例通过对逻辑单元在缓存中占用的写缓存空间进行调整,以实现写缓存收益变化率达到预置阈值,即调整后的写缓存空间能够被逻辑单元有效利用,例如,当为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差时,能够将为该逻辑单元在缓存中提供的写缓存空间调整至较小,以使得不被该逻辑单元继续占用的写缓存空间,能够被其他收益较好的逻辑单元占用,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
需要说明的是,本发明实施例中提供的在存储设备中配置缓存的装置中各单元所对应的其他相应描述,可以参考图2及图3中的对应描述,在此不再赘述。
再进一步地,本发明实施例还提供了一种控制器,该控制器位于存储设备,存储设备还包括缓存及永久存储介质,存储设备基于永久存储介质提供逻辑单元,存储设备为逻辑单元在缓存中提供写缓存空间,控制器与缓存之间通过固定接口进行通信,如图6所示,所述控制器包括:处理器61、发送器62、接收器63、存储器64,所述发送器62、接收器63、存储器64分别与所述处理器61相连接。
处理器61,用于获取逻辑单元的初始写缓存收益。
其中,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能。
处理器61,还用于将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值。
其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。
处理器61,具体用于通过多次调整,将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间。
处理器61,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益。
处理器61,还用于根据调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益,获取写缓存收益变化率。
处理器61,具体用于当调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。或者,
处理器61,具体用于当调整后写缓存空间大于调整前写缓存空间,并且写缓存收益变化率小于预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。或者,
处理器61,具体用于当调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率小于预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之差。或者,
处理器61,具体用于当调整后写缓存空间小于调整前写缓存空间,并且写缓存收益变化率大于或者等于预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为本次的调整前写缓存空间的值与本次步长的值之和。
处理器61,具体用于当进行多次调整的首次调整时,将预置步长作为首次调整的步长,将初始写缓存空间作为首次调整的调整前写缓存空间,对为逻辑单元提供的写缓存空间进行增大调整或减小调整。
处理器61,还用于当本次步长小于或者等于预置最小步长时,确定多次调整完成,并将本次的调整后写缓存空间作为目标写缓存空间。
处理器61,还用于当本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定多次调整完成,并将本次的调整前写缓存空间作为目标写缓存空间。
处理器61,具体用于根据获取初始写缓存收益。
其中,η为初始写缓存收益,α为写I/O请求命中率,写I/O请求命中率为单位时间内在缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,写I/O请求合并率为单位时间内在缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为写I/O请求命中率对应的权重,b为写I/O请求合并率对应的权重,c为写I/O请求时延对应的权重,a、b和c不全为0。
本发明实施例提供的控制器,控制器首先获取逻辑单元的初始写缓存收益,初始写缓存收益用于表征为逻辑单元提供初始写缓存空间时初始写缓存空间的性能,然后将为逻辑单元提供的写缓存空间由初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值,其中,写缓存收益变化率为目标写缓存收益与初始写缓存收益之间差值,以及目标写缓存空间与初始写缓存空间之间差值的比值,写缓存收益变化率用于表征为逻辑单元提供的写缓存空间的有效利用程度,目标写缓存收益用于表征为逻辑单元提供目标写缓存空间时目标写缓存空间的性能。与目前逻辑单元按照对应的写I/O请求在缓存中占用写缓存空间相比,本发明实施例通过对逻辑单元在缓存中占用的写缓存空间进行调整,以实现写缓存收益变化率达到预置阈值,即调整后的写缓存空间能够被逻辑单元有效利用,例如,当为逻辑单元提供较大的写缓存空间,并且该逻辑单元占用该写缓存空间的性能较差时,能够将为该逻辑单元在缓存中提供的写缓存空间调整至较小,以使得不被该逻辑单元继续占用的写缓存空间,能够被其他收益较好的逻辑单元占用,从而可以提高为逻辑单元提供的写缓存空间的有效利用程度。
需要说明的是,本发明实施例中提供的控制器中各设备所对应的其他相应描述,可以参考图2或图3中的对应描述,在此不再赘述。
本发明实施例提供的在存储设备中配置缓存的装置及控制器可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的在存储设备中配置缓存的方法、装置及控制器可以适用于对为逻辑单元提供的写缓存空间进行调整,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (21)
1.一种在存储设备中配置缓存的方法,应用于存储设备,其特征在于,所述存储设备包括控制器、缓存及永久存储介质,所述存储设备基于所述永久存储介质提供至少一个逻辑单元,所述存储设备为每一个逻辑单元在所述缓存中提供对应的写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述方法包括:
所述控制器获取目标逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述目标逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
所述控制器将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述目标逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述目标逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
2.根据权利要求1所述的在存储设备中配置缓存的方法,其特征在于,所述控制器将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,具体包括:
所述控制器通过多次调整,将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
3.根据权利要求2所述的在存储设备中配置缓存的方法,其特征在于,所述控制器通过多次调整,将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,具体包括:
所述控制器获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述控制器根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
若所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值,则所述控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
若所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值,则所述控制器将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
若所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值,则所述控制器将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
若所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值,则所述控制器将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
4.根据权利要求3所述的在存储设备中配置缓存的方法,其特征在于,所述方法还包括:
当进行所述多次调整的首次调整时,所述控制器将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整或减小调整。
5.根据权利要求3所述的在存储设备中配置缓存的方法,其特征在于,所述方法还包括:
当所述本次步长小于或者等于预置最小步长时,所述控制器确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
6.根据权利要求3所述的在存储设备中配置缓存的方法,其特征在于,所述方法还包括:
当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,所述控制器确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
7.根据权利要求1所述的在存储设备中配置缓存的方法,其特征在于,所述控制器获取所述目标逻辑单元的初始写缓存收益,具体包括:
所述控制器根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
8.一种在存储设备中配置缓存的装置,用于控制器,所述控制器位于存储设备,其特征在于,所述存储设备还包括缓存及永久存储介质,所述存储设备基于所述永久存储介质提供至少一个逻辑单元,所述存储设备为每一个逻辑单元在所述缓存中提供对应的写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述装置包括:
获取单元,用于获取目标逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述目标逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
调整单元,用于将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述获取单元获取的所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述目标逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述目标逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
9.根据权利要求8所述的在存储设备中配置缓存的装置,其特征在于,
所述调整单元,具体用于通过多次调整,将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
10.根据权利要求9所述的在存储设备中配置缓存的装置,其特征在于,
所述获取单元,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述获取单元,还用于根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
所述调整单元,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
所述调整单元,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述调整单元,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述调整单元,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
11.根据权利要求10所述的在存储设备中配置缓存的装置,其特征在于,
所述调整单元,具体用于当进行所述多次调整的首次调整时,将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整或减小调整。
12.根据权利要求10所述的在存储设备中配置缓存的装置,其特征在于,所述装置还包括:确定单元;
所述确定单元,用于当所述本次步长小于或者等于预置最小步长时,确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
13.根据权利要求10所述的在存储设备中配置缓存的装置,其特征在于,所述装置还包括:
确定单元,还用于当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
14.根据权利要求8所述的在存储设备中配置缓存的装置,其特征在于,
所述获取单元,具体用于根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
15.一种控制器,所述控制器位于存储设备,其特征在于,所述存储设备还包括缓存及永久存储介质,所述存储设备基于所述永久存储介质提供至少一个逻辑单元,所述存储设备为每一个逻辑单元在所述缓存中提供对应的写缓存空间,所述控制器与所述缓存之间通过固定接口进行通信;所述控制器包括:
处理器,用于获取目标逻辑单元的初始写缓存收益,所述初始写缓存收益用于表征为所述目标逻辑单元提供初始写缓存空间时所述初始写缓存空间的性能;
所述处理器,还用于将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间,以使得写缓存收益变化率达到预置阈值;其中,所述写缓存收益变化率为目标写缓存收益与所述初始写缓存收益之间差值,以及所述目标写缓存空间与所述初始写缓存空间之间差值的比值,所述写缓存收益变化率用于表征为所述目标逻辑单元提供的写缓存空间的有效利用程度,所述目标写缓存收益用于表征为所述目标逻辑单元提供所述目标写缓存空间时所述目标写缓存空间的性能。
16.根据权利要求15所述的控制器,其特征在于,
所述处理器,具体用于通过多次调整,将为所述目标逻辑单元提供的写缓存空间由所述初始写缓存空间调整至目标写缓存空间。
17.根据权利要求16所述的控制器,其特征在于,
所述处理器,还用于获取调整前写缓存空间、调整前写缓存收益、调整后写缓存空间及调整后写缓存收益;
所述处理器,还用于根据所述调整前写缓存空间、所述调整前写缓存收益、所述调整后写缓存空间及所述调整后写缓存收益,获取写缓存收益变化率;
所述处理器,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和;或者,
所述处理器,具体用于当所述调整后写缓存空间大于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长的一半作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述处理器,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率小于所述预置阈值时,将前一次步长作为本次步长,并将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行减小调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之差;或者,
所述处理器,具体用于当所述调整后写缓存空间小于所述调整前写缓存空间,并且所述写缓存收益变化率大于或者等于所述预置阈值时,将前一次步长的一半作为本次步长,将前一次的调整后写缓存空间作为本次的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整,本次的调整后写缓存空间的值为所述本次的调整前写缓存空间的值与所述本次步长的值之和。
18.根据权利要求17所述的控制器,其特征在于,
所述处理器,具体用于当进行所述多次调整的首次调整时,将预置步长作为所述首次调整的步长,将所述初始写缓存空间作为所述首次调整的调整前写缓存空间,对为所述目标逻辑单元提供的写缓存空间进行增大调整或减小调整。
19.根据权利要求17所述的控制器,其特征在于,
所述处理器,还用于当所述本次步长小于或者等于预置最小步长时,确定所述多次调整完成,并将所述本次的调整后写缓存空间作为所述目标写缓存空间。
20.根据权利要求17所述的控制器,其特征在于,
所述处理器,还用于当所述本次的调整后写缓存空间大于预置最大写缓存空间,或者小于预置最小写缓存空间时,确定所述多次调整完成,并将所述本次的调整前写缓存空间作为所述目标写缓存空间。
21.根据权利要求15所述的控制器,其特征在于,
所述处理器,具体用于根据获取所述初始写缓存收益,其中,η为所述初始写缓存收益,α为写I/O请求命中率,所述写I/O请求命中率为单位时间内在所述缓存中命中的写I/O请求数量在写I/O请求总量中的占比,β为写I/O请求合并率,所述写I/O请求合并率为单位时间内在所述缓存中合并刷盘的写I/O请求数量在写I/O请求总量中的占比,γ为写I/O请求时延,所述写I/O请求时延为从所述存储设备接收写I/O请求至返回写I/O请求响应的时长,a为所述写I/O请求命中率对应的权重,b为所述写I/O请求合并率对应的权重,c为所述写I/O请求时延对应的权重,a、b和c不全为0。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584062.1A CN104407986B (zh) | 2014-10-27 | 2014-10-27 | 在存储设备中配置缓存的方法、装置及控制器 |
PCT/CN2015/080905 WO2016065902A1 (zh) | 2014-10-27 | 2015-06-05 | 在存储设备中配置缓存的方法、装置及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584062.1A CN104407986B (zh) | 2014-10-27 | 2014-10-27 | 在存储设备中配置缓存的方法、装置及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407986A CN104407986A (zh) | 2015-03-11 |
CN104407986B true CN104407986B (zh) | 2018-03-13 |
Family
ID=52645619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410584062.1A Active CN104407986B (zh) | 2014-10-27 | 2014-10-27 | 在存储设备中配置缓存的方法、装置及控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104407986B (zh) |
WO (1) | WO2016065902A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407986B (zh) * | 2014-10-27 | 2018-03-13 | 华为技术有限公司 | 在存储设备中配置缓存的方法、装置及控制器 |
CN105550234B (zh) * | 2015-12-07 | 2018-12-25 | 浙江大学 | 基于二分搜索小卫星数据挑时传输方法 |
CN107025223B (zh) * | 2016-01-29 | 2019-11-22 | 华为技术有限公司 | 一种面向多租户的缓冲区管理方法及服务器 |
CN108132756B (zh) * | 2016-11-30 | 2021-01-05 | 成都华为技术有限公司 | 一种对存储阵列进行刷盘的方法和装置 |
CN110275670B (zh) | 2018-03-16 | 2021-02-05 | 华为技术有限公司 | 控制存储设备中数据流的方法、装置、存储设备及存储介质 |
CN111556361B (zh) * | 2020-04-29 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 蓝牙音频播放的缓冲区设置方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135994A (zh) * | 2007-09-07 | 2008-03-05 | 杭州华三通信技术有限公司 | 一种划分缓存空间的方法和装置以及缓存控制器 |
CN101242338A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | P2p实时流媒体缓存替换的时间权参数自适应调整方法 |
CN102447973A (zh) * | 2011-10-10 | 2012-05-09 | 华为技术有限公司 | 一种缓存调整的方法、装置和系统 |
CN102763070A (zh) * | 2011-11-01 | 2012-10-31 | 华为技术有限公司 | 磁盘缓存的管理方法及装置 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504774B2 (en) * | 2010-10-13 | 2013-08-06 | Microsoft Corporation | Dynamic cache configuration using separate read and write caches |
CN104407986B (zh) * | 2014-10-27 | 2018-03-13 | 华为技术有限公司 | 在存储设备中配置缓存的方法、装置及控制器 |
-
2014
- 2014-10-27 CN CN201410584062.1A patent/CN104407986B/zh active Active
-
2015
- 2015-06-05 WO PCT/CN2015/080905 patent/WO2016065902A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135994A (zh) * | 2007-09-07 | 2008-03-05 | 杭州华三通信技术有限公司 | 一种划分缓存空间的方法和装置以及缓存控制器 |
CN101242338A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | P2p实时流媒体缓存替换的时间权参数自适应调整方法 |
CN102447973A (zh) * | 2011-10-10 | 2012-05-09 | 华为技术有限公司 | 一种缓存调整的方法、装置和系统 |
CN102763070A (zh) * | 2011-11-01 | 2012-10-31 | 华为技术有限公司 | 磁盘缓存的管理方法及装置 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104407986A (zh) | 2015-03-11 |
WO2016065902A1 (zh) | 2016-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407986B (zh) | 在存储设备中配置缓存的方法、装置及控制器 | |
US10776276B2 (en) | Bypass storage class memory read cache based on a queue depth threshold | |
CN107204198B (zh) | 高速访问双倍速率同步动态随机存储器的控制方法及装置 | |
CN107870732B (zh) | 从固态存储设备冲刷页面的方法和设备 | |
US10120817B2 (en) | Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels | |
CN105573682B (zh) | 一种san存储系统及其数据读写方法 | |
CN105451075B (zh) | 视频质量控制方法和装置 | |
US11003359B2 (en) | Method and device for managing disk pool | |
US10347272B2 (en) | De-reverberation control method and apparatus for device equipped with microphone | |
US10908839B2 (en) | Storage device throttling amount of communicated data depending on suspension frequency of operation | |
CN112100097B (zh) | 多测试通道优先级自适应仲裁方法和存储器访问控制器 | |
US20210120230A1 (en) | Image encoding control method and apparatus, storage medium, and unmanned aerial vehicle | |
CN109117306A (zh) | 一种基于对象读写时延调整数据恢复速度的方法及装置 | |
CN105701042A (zh) | 内存控制接口信号质量的优化方法和系统 | |
CN109407997B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN109343797A (zh) | 一种缓存数据的传输方法、系统及相关组件 | |
KR102034626B1 (ko) | 메모리 동작을 제어하는 방법 및 장치 | |
CN107135411A (zh) | 一种调整视频码率的方法及电子设备 | |
US20160110286A1 (en) | Data writing method and memory system | |
TW201729116A (zh) | 對服務品質執行成比例頻帶配置之方法 | |
CN102137138B (zh) | 缓存协作方法、装置及系统 | |
CN107704213B (zh) | 一种存储阵列的自动化服务质量管理方法及装置 | |
CN115098039A (zh) | Ssd命令的流控方法、装置、存储介质及ssd设备 | |
US12008240B2 (en) | Random write method and apparatus | |
CN102647583B (zh) | Sdi音视频数据的转发装置和转发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |