CN110569203B - 一种输入控制方法、装置及存储设备 - Google Patents

一种输入控制方法、装置及存储设备 Download PDF

Info

Publication number
CN110569203B
CN110569203B CN201910736086.7A CN201910736086A CN110569203B CN 110569203 B CN110569203 B CN 110569203B CN 201910736086 A CN201910736086 A CN 201910736086A CN 110569203 B CN110569203 B CN 110569203B
Authority
CN
China
Prior art keywords
iops
cache
storage space
input
time
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
Application number
CN201910736086.7A
Other languages
English (en)
Other versions
CN110569203A (zh
Inventor
刘金虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910736086.7A priority Critical patent/CN110569203B/zh
Publication of CN110569203A publication Critical patent/CN110569203A/zh
Application granted granted Critical
Publication of CN110569203B publication Critical patent/CN110569203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

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

本发明实施例公开了一种输入控制方法、装置及存储设备,涉及存储技术领域。该输入控制方法应用于包括缓存的输入控制装置,缓存在当前时刻的存储空间占用量小于预设的高水位线。输入控制装置预测缓存在当前时刻之后的存储空间占用量;若预测出缓存在第一时刻的存储空间占用量等于预设的高水位线,且在第一时刻缓存中输入侧的IOPS大于输出侧的IOPS,则输入控制装置在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS,第一时刻为当前时刻之后缓存的存储空间占用量等于预设的高水位线的首个时刻。输入控制装置对输入侧的IOPS的提前控制,使得缓存的存储空间占用量处于相对稳定的状态,有效地提高了系统性能。

Description

一种输入控制方法、装置及存储设备
技术领域
本申请涉及存储技术领域,尤其涉及一种输入控制方法、装置及存储设备。
背景技术
存储的目标是要把数据写到硬盘中,但是,硬盘的响应速度往往跟不上上层业务的需求。现有的存储设备通常使用高速缓冲存储器(Cache)来提高读写效率。Cache中被占用的存储空间的大小通常采用水位线表示。一般的,Cache中预先设置有高、低水位线,高、低水位线分别为Cache中存储数据的最高限制值和最低限制值。
当Cache的存储空间占用量小于低水位线时,存储设备不再对业务层的数据的写入速度进行限制。当Cache的存储空间占用量大于高水位线时,存储设备将业务层的数据的写入速度限制为较小的数值或者提高下盘速度,以保证系统的安全性。
发明内容
本申请提供一种输入控制方法、装置及存储设备,通过预测Cache在当前时刻之后的存储空间占用量,实现对输入侧的IOPS的提前控制,使得Cache的存储空间占用量处于相对稳定的状态,有效地提高了系统性能。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种输入控制方法,该输入控制方法应用于包括缓存的输入控制装置,该输入控制装置中缓存在当前时刻的存储空间占用量小于预设的高水位线。具体的,输入控制装置预测缓存在当前时刻之后的存储空间占用量;之后,若预测出缓存在第一时刻的存储空间占用量等于预设的高水位线,且在第一时刻缓存中输入侧的每秒进行读写操作的次数(input/output operations per second,IOPS)大于输出侧的IOPS,则输入控制装置在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS,第一时刻为当前时刻之后缓存的存储空间占用量等于预设的高水位线的首个时刻。
可以看出,输入控制装置通过预测缓存在当前时刻之后的存储空间占用量,实现对输入侧的IOPS的提前控制,使得缓存的存储空间占用量处于相对稳定的状态,有效地提高了系统性能。
可选的,在本申请的一种可能的实现方式中,上述“输入控制装置预测缓存在当前时刻之后的存储空间占用量”的方法包括:输入控制装置确定缓存已接收到的多个写数据请求的平均大小,并预测输入侧的IOPS和输出侧的IOPS,之后,根据平均大小、输入侧的IOPS和输出侧的IOPS,预测缓存在当前时刻之后的存储空间占用量。
对于某一系统中的同一业务而言,不同写数据请求的大小可能不同,但是,所有写数据的平均大小通常保持稳定。输入控制装置根据已经接收到的多个写数据请求,能够计算出多个写数据请求的平均大小。输入侧的IOPS用于表示单位时间内进入缓存中写数据请求的数量,输出侧的IOPS用于表示单位时间内从缓存中输出的写数据请求的数量,这样,输入控制装置根据平均大小、输入侧的IOPS和输出侧的IOPS,可以预测出缓存在当前时刻之后的存储空间占用量。
可选的,在本申请的另一种可能的实现方式中,上述“输入控制装置根据平均大小、输入侧的IOPS和输出侧的IOPS,预测缓存在当前时刻之后的存储空间占用量”的方法包括:输入控制装置采用下述公式预测缓存在当前时刻之后的存储空间占用量:
Figure BDA0002162203050000021
其中,t0为当前时刻,或者为位于当前时刻之后、且位于第一时刻之前的时刻;gf表示输入侧的IOPS,gb表示输出侧的IOPS,sw表示平均大小,b表示在t0时刻缓存的存储空间占用量。
上述公式中的
Figure BDA0002162203050000022
表示在时刻t0到时刻t这一时间段内,缓存中新积累的写数据请求的数量。因为sw表示平均大小,因此,上述公式(1)中的
Figure BDA0002162203050000023
表示缓存102中新积累的写数据请求占用的存储空间的大小。
可选的,在本申请的另一种可能的实现方式中,在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS之后,若缓存在第二时刻的存储空间占用量等于预设阈值,则输入控制装置还预测缓存在第二时刻之后的存储空间占用量。上述预设阈值等于预设系数与预设的高水位线的乘积,预设系数为大于零,小于1的数值。
在第一时刻之后,随着输入侧IPOS和输出侧IPOS的变化,缓存的存储空间占用量可能又会逐渐增大,为了有效保证系统性能,输入控制装置可以将第二时刻视为当前时刻,并从第二时刻开始,重新计算f。
第二方面,提供一种输入控制装置,该输入控制装置能够实现第一方面及其任意一种可能的实现方式中的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的一种可能的方式中,该输入控制装置可以包括预测单元、判断单元和调整单元,该预测单元、判断单元和调整单元可以执行上述第一方面及其任意一种可能的实现方式的输入控制方法中的相应功能。例如:预测单元,用于预测缓存在当前时刻之后的存储空间占用量,其中,缓存在当前时刻的存储空间占用量小于预设的高水位线,以及用于确定缓存在第一时刻的存储空间占用量等于预设的高水位线。判断单元,用于判断在第一时刻缓存中输入侧的每秒进行读写操作的次数IOPS是否大于输出侧的IOPS。调整单元,用于若上述判断单元确定上述预测单元预测出的缓存在第一时刻的存储空间占用量等于预设的高水位线,且在第一时刻缓存中输入侧的IOPS大于输出侧的IOPS,则在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS,第一时刻为当前时刻之后缓存的存储空间占用量等于预设的高水位线的首个时刻。
第三方面,提供一种存储设备,用于执行上述第一方面及其各种可能的实现方式所述的输入控制方法。
可选的,该设备还包括收发器,该收发器可以用于执行上述第一方面及其任意一种可能的实现方式所述的输入控制方法中收发数据、信令或信息的步骤,例如,获取写数据请求。
第四方面,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令;当计算机指令在计算机上运行时,该计算机执行如上述第一方面及其各种可能的实现方式所述的输入控制方法。
第五方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面及其各种可能的实现方式所述的输入控制方法。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机存储介质上,其中,第一计算机存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请对此不作限定。
本申请中第二方面、第三方面、第四方面、第五方面及其各种实现方式的描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面、第三方面、第四方面、第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
在本申请中,上述输入控制装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本发明实施例提供的系统架构图;
图2为本发明实施例提供的输入控制方法的流程示意图一;
图3为本发明实施例提供的输入控制方法的流程示意图二;
图4为本发明实施例提供的输入控制装置的结构示意图。
具体实施方式
水位线是一种形象的概念;把Cache的存储空间想象成一个水库,写入的数据相当于注入该水库的水,随着写入数据的增多,水库的水位逐渐上升。
Cache的高、低水位线分别为Cache中存储数据的最高限制值和最低限制值。通常,高水位线的数值为Cache中存储空间大小的80%,低水位线的数值为Cache中存储空间大小的20%。当Cache的存储空间占用量位于高、低水位线之间时,Cache的性能和所存储的数据的安全性相对较高。
本发明实施例提供一种输入控制方法,通过预测Cache在当前时刻之后的存储空间占用量,实现对输入侧的IOPS的提前控制,使得Cache的存储空间占用量处于相对稳定的状态,有效地提高了系统性能。
本发明实施例提供的输入控制方法适用于存储系统。图1示出了该存储系统的架构。如图1所示,本发明实施例提供的存储系统包括主机20、控制器11和多个硬盘22。实际应用中,存储系统可以包括一个或多个主机20,图1以存储系统包括一个主机20为例示意。
主机20和控制器11之间通过网络文件系统(network file system,NFS)协议、通用网络文件系统(common internet file system,CIFS)协议或者光纤通道(fiberchannel,FC)协议进行通信。
主机20可以向控制器11发送写数据请求,控制器11接收所述写数据请求之后将所述写数据请求携带的数据写入硬盘22中,之后,控制器11向主机20发送写操作的结果,完成一个写输入输出(input/output,IO)的操作。主机20也可以向控制器11发送读数据请求,控制器11接收所述读数据请求之后,根据所述读数据请求中的地址获取待读取的数据,并发送给主机20,完成一个读IO的操作。
通常,IO中读/写数据的大小称为IO大小,例如,IO大小可以为2K,4K,32K等。对于某一系统中的同一业务而言,不同IO的IO大小可能不同,但是,所有IO的平均大小通常保持稳定。基于此,本发明实施例中写数据请求的大小用于表示该写数据请求中待写入数据的大小。
在实际应用中,控制器11和硬盘22可以集成在一个存储设备中,也可以位于相互独立的两个设备中,本发明实施例不对控制器11和硬盘22的位置关系做任何限定。
如图1所示,本实施例提供的控制器11至少包括处理器101和缓存102。
处理器101可以是中央处理器(central processing unit,CPU)。在本发明实施例中,处理器101可以用于接收来自主机20的读数据请求以及写数据请求、处理所述读数据请求以及写数据请求。
缓存102用于临时存储从主机20接收的数据或从硬盘22读取的数据。以控制器11接收主机20发送的多个写数据请求为例,当接收到主机20发送的多个写数据请求时,控制器11可以将所述多个写数据请求中的数据暂时保存在缓存102中。后续,将缓存102存储的数据104发送给硬盘22。硬盘22存储所述数据104。
缓存102包括易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(random-access memory,RAM)。非易失性存储器例如软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读写介质。本发明实施例中主要以缓存102为Cache为例进行描述。
处理器101可以预测缓存102的输入侧的每秒进行读写操作的次数(input/outputoperations per second,IOPS)以及输出侧的IOPS,还可以预测在当前时刻之后的存储空间占用量。当预测出缓存102在第一时刻的存储空间占用量等于预设的高水位线,且在第一时刻输入侧的IOPS大于输出侧的IOPS,则处理器101在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS。可选的,处理器101向主机20发送包括输出侧的IOPS的调整指示,用于指示将输入侧的IOPS的最大值调整为输出侧的IOPS。
下面结合图1所示的存储系统对本发明实施例提供的输入控制方法进行描述。所述输入控制方法可应用在图1所示的控制器11中,以下步骤如无特别说明,均由处理器101执行。
如图2所示,本发明实施例提供输入控制方法包括如下步骤。
S201、处理器101接收主机20发送的多个写数据请求,并将接收到的多个写数据请求存储于缓存102中。
S202、处理器101根据接收到的每个写数据请求的大小,计算所述多个写数据请求的平均大小。
处理器101获取接收到的每个写数据请求的大小,并计算获取到的所有写数据请求的平均大小。
S203、处理器101识别所述多个写数据请求,预测缓存102的输入侧的IOPS,并结合缓存102的配置,预测缓存102的输出侧的IOPS。
处理器101可以采用预设的识别算法对多个写数据请求进行识别,确定缓存102接收到的写数据请求的规律,并根据确定出的规律,预测缓存102的输入侧的IOPS,即预测缓存102接收写数据请求的数量。其中,预设的识别算法可以为现有技术中任意一种用于识别规律的算法,本实施例对此不作限定。
缓存102的输入侧的IOPS随着业务流数据量的变化而变化。在不同时刻,缓存102的输入侧的IOPS可能不同。
一般的,缓存102向硬盘发送数据的速率取决于业务的类型和缓存102的配置。对于不同类型的业务,缓存102向硬盘发送数据的速率不同。因此,处理器101还可以通过分析多个写数据请求,确定与多个写数据请求对应的业务的类型,并根据缓存102的配置,预测缓存102的输出侧的IOPS,即预测缓存102向硬盘发送写数据请求的数量。
在不同时刻,缓存102的输出侧的IOPS也可能不同。
S204、处理器101根据平均大小、输入侧的IOPS和输出侧的IOPS,预测缓存102在当前时刻之后的存储空间占用量。
缓存102在当前时刻的存储空间占用量小于预设的高水位线。
缓存102中用于存储数据的最大存储空间,即高水位线(本实施例采用Cmax表示),通常是预先设置好的,其数值保持不变。一般的,系统数据也会占用缓存102的部分存储空间,被占用的存储空间的大小可以表示为θ*Cmax,0≤θ≤1。这样,缓存102中用于存储业务流的数据的存储空间的最大值可表示为:Cmax-θ*Cmax,即,(1-θ)*Cmax
本发明实施例中的预设的高水位线是指上述用于存储业务流的数据的存储空间的最大值,即预设的高水位线为:(1-θ)*Cmax
处理器101可以采用下述公式(1)预测缓存102在当前时刻之后的存储空间占用量:
Figure BDA0002162203050000051
其中,gf表示输入侧的IOPS,gb表示输出侧的IOPS,sw表示平均大小,b表示在t0时刻缓存102的存储空间占用量。t0为当前时刻,或者为位于当前时刻之后、且位于第一时刻(参考下述描述)之前的时刻。
结合上述描述可知,gf为进入缓存102中的写数据请求的数量,gb为从缓存102中输出的写数据请求的数量,这样,上述公式(1)中的
Figure BDA0002162203050000052
表示在时刻t0到时刻t这一时间段内,缓存102中新积累的写数据请求的数量。因为sw表示平均大小,因此,上述公式(1)中的
Figure BDA0002162203050000053
表示缓存102中新积累的写数据请求占用的存储空间的大小。
为了减少不必要的计算,降低计算量,提高处理性能,处理器101可以从当前时刻之后,缓存102的存储空间占用量大于(当前时刻的水位线可能大于低水位线)或等于低水位线的首个时刻开始,计算f。
进一步地,若处理器101计算出缓存在当前时刻之后的时刻t*,首次出现被占用的存储空间的大小为零,即
Figure BDA0002162203050000054
则处理器101将时刻t*视为当前时刻,并从t*开始,重新计算f。
S205、处理器101确定当前时刻之后,缓存102的存储空间占用量等于预设的高水位线的首个时刻,即确定第一时刻。
缓存102在当前时刻的存储空间占用量小于预设的高水位线,且第一时刻为缓存102的存储空间占用量等于预设的高水位线的首个时刻,因此,从当前时刻到第一时刻这一时间段内,缓存102的存储空间占用量均小于预设的高水位线。
示例性的,若第一时刻记为:t1,则
Figure BDA0002162203050000055
对于位于当前时刻与第一时刻之间的任一时刻而言,由于缓存102的存储空间占用量低于预设的高水位线,不会对缓存102造成压力,因此,处理器101不需要对输入侧的IOPS进行控制。
S206、处理器101判断在第一时刻,输入侧的IOPS是否大于输出侧的IOPS。
当输入侧的IOPS大于输出侧的IOPS时,缓存102中会积累写数据请求。缓存102在第一时刻的存储空间占用量已经等于预设的高水位线,若在第一时刻输入侧的IOPS大于输出侧的IOPS,则在第一时刻的下一时刻,缓存102的存储空间占用量就会大于预设的高水位线,使得缓存102超负荷运转,降低了系统性能。
当输入侧的IOPS小于或等于输出侧的IOPS时,进入缓存102的写数据请求的数量小于或等于从缓存102中输出的写数据请求的数量,缓存102的存储空间占用量不会增加。缓存102在第一时刻的存储空间占用量已经等于预设的高水位线,若在第一时刻输入侧的IOPS小于或等于输出侧的IOPS,则在第一时刻的下一时刻,缓存102的存储空间占用量依旧会等于或小于预设的高水位线,不会给缓存102造成压力,也不会影响系统性能。
具体的,若输入侧的IOPS小于或等于输出侧的IOPS,则处理器101执行S207;若输入侧的IOPS大于输出侧的IOPS,则处理器101执行S208。
S207、处理器101将第一时刻作为当前时刻,并重新执行S204。
S208、处理器101在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS。
为了避免对缓存102造成压力,影响系统性能,处理器101在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS。这样,进入缓存102的写数据请求的数量的最大值为输出侧的IOPS。在第一时刻之后,输入侧的IOPS有可能原本就小于输出侧的IOPS,这样,在第一时刻之后,缓存102的输入侧的IOPS小于或等于输出侧的IOPS,有效地降低了缓存102的存储空间占用量。
采用本实施例提供的输入控制方法,能够有效的控制缓存102的存储空间占用量,不会出现缓存102的存储空间占用量超出预设的高水位线的情况。
进一步地,在第一时刻之后的第二时刻起,处理器101可以将第二时刻视为当前时刻,并从第二时刻开始,重新计算f。第二时刻可以为第一时刻之后,缓存102的存储空间占用量等于“预设系数与预设的高水位线的乘积”的首个时刻。
结合上述图2,如图3所示,本发明实施例提供输入控制方法还包括S301和S302。
S301、处理器101确定在第一时刻之后,缓存102的存储空间占用量等于“预设系数与预设的高水位线的乘积”的首个时刻为第二时刻。
这里,预设系数的取值取决于系统的配置。
S302、处理器101将第二时刻视为当前时刻,并从第二时刻开始,重新计算f。
示例性的,预设系数为0.5,在第一时刻之后,若f=0.5*(1-θ)*Cmax,则处理器101将第二时刻视为当前时刻,并从第二时刻开始,重新计算f。
综上,采用本发明实施例提供的输入控制方法,能够提前预测缓存102的存储空间占用量,并根据预测出的存储空间占用量对输入侧的IOPS进行调控,不会出现缓存102的存储空间占用量超出预设的高水位线的情况,有效地保证了缓存102的存储空间占用量的稳定以及系统性能的稳定。系统性能的稳定进一步提高了缓存102中存储空间的有效利用率。
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对输入控制装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图4所示,为本发明实施例提供的一种输入控制装置40的结构示意图。输入控制装置40用于执行图2或图3所示的输入控制方法。输入控制装置40可以包括预测单元401、判断单元402和调整单元403。
预测单元401,用于预测缓存在当前时刻之后的存储空间占用量,其中,缓存在当前时刻的存储空间占用量小于预设的高水位线,以及用于确定缓存在第一时刻的存储空间占用量等于预设的高水位线。例如,结合图2或图3,预测单元401可以用于执行S204和S205。判断单元402,用于判断在第一时刻缓存中输入侧的IOPS是否大于输出侧的IOPS。例如,结合图2或图3,判断单元402可以用于执行S206。调整单元403,用于若判断单元402确定预测单元401预测出的缓存在第一时刻的存储空间占用量等于预设的高水位线,且在第一时刻缓存中输入侧的IOPS大于输出侧的IOPS,则在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS,第一时刻为当前时刻之后缓存的存储空间占用量等于预设的高水位线的首个时刻。例如,结合图2或图3,调整单元403可以用于执行S208。
可选的,预测单元401具体用于:确定缓存已接收到的多个写数据请求的平均大小,并预测输入侧的IOPS和输出侧的IOPS;根据平均大小、输入侧的IOPS和输出侧的IOPS,预测缓存在当前时刻之后的存储空间占用量。例如,结合图2或图3,预测单元401可以用于执行S202、S203、S204。
可选的,预测单元401具体用于:采用下述公式预测缓存在当前时刻之后的存储空间占用量:
Figure BDA0002162203050000071
其中,t0为当前时刻,或者为位于当前时刻之后、且位于第一时刻之前的时刻;gf表示输入侧的IOPS,gb表示输出侧的IOPS,sw表示平均大小,b表示在t0时刻缓存的存储空间占用量。
可选的,预测单元401,还用于在调整单元403在第一时刻将输入侧的IOPS的最大值调整为输出侧的IOPS之后,若缓存在第二时刻的存储空间占用量等于预设阈值,则预测缓存在第二时刻之后的存储空间占用量,预设阈值等于预设系数与预设的高水位线的乘积,预设系数为大于零,小于1的数值。例如,结合图2或图3,预测单元401可以用于执行S301。
当然,本发明实施例提供的输入控制装置40包括但不限于上述模块,例如输入控制装置40还可以包括存储单元404。存储单元404可以用于存储该输入控制装置40的程序代码,还可以用于存储输入控制装置40在运行过程中获取的数据,如写数据请求中的数据等。
在实际实现时,预测单元401、判断单元402和调整单元403均可以由图1所示的处理器101调用缓存102中的程序代码来实现。其具体的执行过程可参考图3所示的输入控制方法部分的描述,这里不再赘述。
本发明另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法。
在本发明另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,本领域普通技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种输入控制方法,其特征在于,应用于包括缓存的存储设备,所述输入控制方法包括:
预测所述缓存在当前时刻之后的存储空间占用量,其中,所述缓存在所述当前时刻的存储空间占用量小于预设的高水位线;
若预测出所述缓存在第一时刻的存储空间占用量等于所述预设的高水位线,且在第一时刻所述缓存中输入侧的每秒进行读写操作的次数IOPS大于输出侧的IOPS,则在所述第一时刻将所述输入侧的IOPS的最大值调整为所述输出侧的IOPS,所述第一时刻为所述当前时刻之后所述缓存的存储空间占用量等于所述预设的高水位线的首个时刻;
所述预测所述缓存在当前时刻之后的存储空间占用量,包括:
确定所述缓存已接收到的多个写数据请求的平均大小,并预测所述输入侧的IOPS和所述输出侧的IOPS;
根据所述平均大小、所述输入侧的IOPS和所述输出侧的IOPS,预测所述缓存在当前时刻之后的存储空间占用量。
2.根据权利要求1所述的输入控制方法,其特征在于,所述根据所述平均大小、所述输入侧的IOPS和所述输出侧的IOPS,预测所述缓存在当前时刻之后的存储空间占用量,包括:
采用下述公式预测所述缓存在当前时刻之后的存储空间占用量:
Figure FDA0003180739520000011
其中,t0为所述当前时刻,或者为位于所述当前时刻之后、且位于所述第一时刻之前的时刻;gf表示所述输入侧的IOPS,gb表示所述输出侧的IOPS,sw表示所述平均大小,b表示在t0时刻所述缓存的存储空间占用量。
3.根据权利要求1或2所述的输入控制方法,其特征在于,所述在所述第一时刻将所述输入侧的IOPS的最大值调整为所述输出侧的IOPS之后,所述输入控制方法还包括:
若所述缓存在第二时刻的存储空间占用量等于预设阈值,则预测所述缓存在所述第二时刻之后的存储空间占用量,所述预设阈值等于预设系数与所述预设的高水位线的乘积,所述预设系数为大于零,小于1的数值。
4.一种输入控制装置,其特征在于,所述输入控制装置包括缓存,所述输入控制装置包括:
预测单元,用于预测所述缓存在当前时刻之后的存储空间占用量,其中,所述缓存在所述当前时刻的存储空间占用量小于预设的高水位线,以及用于确定所述缓存在第一时刻的存储空间占用量等于所述预设的高水位线;
判断单元,用于判断在第一时刻所述缓存中输入侧的每秒进行读写操作的次数IOPS是否大于输出侧的IOPS;
调整单元,用于若所述判断单元确定在第一时刻所述缓存中输入侧的IOPS大于输出侧的IOPS,则在所述第一时刻将所述输入侧的IOPS的最大值调整为所述输出侧的IOPS,所述第一时刻为所述当前时刻之后所述缓存的存储空间占用量等于所述预设的高水位线的首个时刻;
所述预测单元具体用于:
确定所述缓存已接收到的多个写数据请求的平均大小,并预测所述输入侧的IOPS和所述输出侧的IOPS;
根据所述平均大小、所述输入侧的IOPS和所述输出侧的IOPS,预测所述缓存在当前时刻之后的存储空间占用量。
5.根据权利要求4所述的输入控制装置,其特征在于,所述预测单元具体用于:
采用下述公式预测所述缓存在当前时刻之后的存储空间占用量:
Figure FDA0003180739520000021
其中,t0为所述当前时刻,或者为位于所述当前时刻之后、且位于所述第一时刻之前的时刻;gf表示所述输入侧的IOPS,gb表示所述输出侧的IOPS,sw表示所述平均大小,b表示在t0时刻所述缓存的存储空间占用量。
6.根据权利要求4或5所述的输入控制装置,其特征在于,
所述预测单元,还用于在所述调整单元在所述第一时刻将所述输入侧的IOPS的最大值调整为所述输出侧的IOPS之后,若所述缓存在第二时刻的存储空间占用量等于预设阈值,则预测所述缓存在所述第二时刻之后的存储空间占用量,所述预设阈值等于预设系数与所述预设的高水位线的乘积,所述预设系数为大于零,小于1的数值。
7.一种存储设备,其特征在于,包括:处理器,以及存储器;所述存储器与所述处理器耦合,所述存储器存储有程序代码;
所述处理器调用所述存储器中的程序代码,实现如权利要求1-3中任意一项所述的输入控制方法。
8.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机实现如权利要求1-3中任意一项所述的输入控制方法。
CN201910736086.7A 2019-08-09 2019-08-09 一种输入控制方法、装置及存储设备 Active CN110569203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910736086.7A CN110569203B (zh) 2019-08-09 2019-08-09 一种输入控制方法、装置及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910736086.7A CN110569203B (zh) 2019-08-09 2019-08-09 一种输入控制方法、装置及存储设备

Publications (2)

Publication Number Publication Date
CN110569203A CN110569203A (zh) 2019-12-13
CN110569203B true CN110569203B (zh) 2021-11-30

Family

ID=68775039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910736086.7A Active CN110569203B (zh) 2019-08-09 2019-08-09 一种输入控制方法、装置及存储设备

Country Status (1)

Country Link
CN (1) CN110569203B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732189B (zh) * 2021-01-07 2024-05-10 Oppo广东移动通信有限公司 数据存储方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301746A (zh) * 2015-05-28 2017-01-04 深圳市中兴微电子技术有限公司 时钟恢复方法及装置
CN107800644A (zh) * 2017-11-08 2018-03-13 中国人民解放军国防科技大学 一种可动态配置的流水化令牌桶限速方法与装置
CN107870874A (zh) * 2016-09-23 2018-04-03 华为数字技术(成都)有限公司 一种数据写入控制方法及存储设备
CN107908571A (zh) * 2017-10-31 2018-04-13 成都华为技术有限公司 一种数据写入方法、闪存装置及存储设备
CN109448778A (zh) * 2018-11-06 2019-03-08 郑州云海信息技术有限公司 一种固态硬盘性能测试方法、系统、装置及可读存储介质
CN109841247A (zh) * 2017-11-28 2019-06-04 爱思开海力士有限公司 具有电阻式存储器件的存储系统及其操作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955719B (zh) * 2011-08-31 2016-06-22 国际商业机器公司 疑似内存泄漏的确定方法及装置
US9086957B2 (en) * 2012-08-02 2015-07-21 International Business Machines Corporation Requesting a memory space by a memory controller
CN106371916B (zh) * 2016-08-22 2019-01-22 浪潮(北京)电子信息产业有限公司 一种存储系统io线程优化方法及其装置
JP2018041248A (ja) * 2016-09-07 2018-03-15 富士通株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
CN106776288B (zh) * 2016-11-25 2019-11-19 北京航空航天大学 一种基于Hadoop的分布式系统的健康度量方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301746A (zh) * 2015-05-28 2017-01-04 深圳市中兴微电子技术有限公司 时钟恢复方法及装置
CN107870874A (zh) * 2016-09-23 2018-04-03 华为数字技术(成都)有限公司 一种数据写入控制方法及存储设备
CN107908571A (zh) * 2017-10-31 2018-04-13 成都华为技术有限公司 一种数据写入方法、闪存装置及存储设备
CN107800644A (zh) * 2017-11-08 2018-03-13 中国人民解放军国防科技大学 一种可动态配置的流水化令牌桶限速方法与装置
CN109841247A (zh) * 2017-11-28 2019-06-04 爱思开海力士有限公司 具有电阻式存储器件的存储系统及其操作方法
CN109448778A (zh) * 2018-11-06 2019-03-08 郑州云海信息技术有限公司 一种固态硬盘性能测试方法、系统、装置及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多数据中心间异地存储管理平台的设计与实现;潘松杜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;I137-278 *

Also Published As

Publication number Publication date
CN110569203A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
US10768823B2 (en) Flow control for unaligned writes in network storage device
KR101677474B1 (ko) 컨트롤러, 플래시 메모리 장치, 및 플래시 메모리 장치에 데이터를 기록하는 방법
KR102450514B1 (ko) 메모리 컨트롤러의 동작 방법 및 그것을 포함하는 저장 장치의 동작 방법
KR102095471B1 (ko) 데이터 저장 디바이스와 버퍼 테뉴어 관리
US9330008B2 (en) Information processing device for detecting sequential accesses and prefetching
US9535627B2 (en) Latency-aware memory control
US9606937B1 (en) Cache insertion based on threshold access frequency
CN107870732B (zh) 从固态存储设备冲刷页面的方法和设备
US9703527B2 (en) Storage device and method for reallocating storage device resources based on an estimated fill level of a host buffer
CN111723057B (zh) 一种文件预读方法、装置、设备及存储介质
US9411519B2 (en) Implementing enhanced performance flash memory devices
CN110226158B (zh) 一种数据预取方法、装置和存储设备
US9898413B2 (en) Auto-adaptive system to implement partial write buffering for storage systems dynamic caching method and system for data storage system
US11416168B2 (en) Memory controller and storage device including the same
US10310923B1 (en) Probabilistic aging command sorting
CN110569203B (zh) 一种输入控制方法、装置及存储设备
EP1896953B1 (en) System and method for dynamic data prefetching
CN105138481A (zh) 存储数据的处理方法、装置和系统
JP6052309B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US8589624B2 (en) Systems and methods for background destaging storage tracks
US11150809B2 (en) Memory controller and storage device including the same
CN106557277B (zh) 磁盘阵列的读方法及装置
KR102264544B1 (ko) 데이터 생성 또는 소비에 기반하여 캐시된 입출력 데이터를 필터링하는 방법
KR102334473B1 (ko) 적응형 딥러닝 가속 장치 및 방법
KR102266166B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant