CN110275670B - 控制存储设备中数据流的方法、装置、存储设备及存储介质 - Google Patents

控制存储设备中数据流的方法、装置、存储设备及存储介质 Download PDF

Info

Publication number
CN110275670B
CN110275670B CN201810220839.4A CN201810220839A CN110275670B CN 110275670 B CN110275670 B CN 110275670B CN 201810220839 A CN201810220839 A CN 201810220839A CN 110275670 B CN110275670 B CN 110275670B
Authority
CN
China
Prior art keywords
cache
storage device
value
bandwidth value
water level
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
CN201810220839.4A
Other languages
English (en)
Other versions
CN110275670A (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 CN201810220839.4A priority Critical patent/CN110275670B/zh
Priority to PCT/CN2019/071515 priority patent/WO2019174391A1/zh
Priority to EP19767126.6A priority patent/EP3757747B1/en
Publication of CN110275670A publication Critical patent/CN110275670A/zh
Priority to US17/021,385 priority patent/US11734183B2/en
Application granted granted Critical
Publication of CN110275670B publication Critical patent/CN110275670B/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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • 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/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了一种控制存储设备中数据流的方法、装置、存储设备及存储介质,涉及网络通信技术领域。该控制存储设备中数据流的方法,应用于主机,包括:包括:获取缓存输入输出参数,缓存输入输出参数包括缓存水位,缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重;判断缓存输入输出参数是否满足过载条件,过载条件包括缓存水位高于第一水位阈值;当缓存输入输出参数满足过载条件时,获取第一带宽值,第一带宽值小于缓存当前的刷盘带宽值;根据第一带宽值确定令牌的数量;利用令牌的数量控制存储设备中的数据流。利用本发明的技术方案能够缓解存储设备中缓存的过载状态,提高存储设备的性能。

Description

控制存储设备中数据流的方法、装置、存储设备及存储介质
技术领域
本发明涉及网络通信技术领域,尤其涉及一种控制存储设备中数据流的方法、装置、存储设备及存储介质。
背景技术
存储设备包括缓存和多块硬盘,其中多块硬盘组成存储池。接收写请求时,存储设备先将数据存储至缓存,再将缓存中的数据持久化到存储池中。但是,存储设备的处理能力有限。在数据量较大的情况下,可能导致存储设备的处理能力小于存储设备接收数据的能力。大量的数据往往会抢占缓存资源,而缓存的容量有限,若缓存被存满,则无法再将数据写入存储设备。从而出现存储设备过载现象,降低了存储设备的性能。
发明内容
本申请提供了一种控制存储设备中数据流的方法、装置、存储设备及存储介质,能够缓解存储设备中缓存的过载状态,提高存储设备的性能。
第一方面,本申请提供了一种控制存储设备中数据流的方法,包括:获取缓存输入输出参数,缓存输入输出参数包括缓存水位,缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重;判断缓存输入输出参数是否满足过载条件,过载条件包括缓存水位高于第一水位阈值;当缓存输入输出参数满足过载条件时,获取第一带宽值,第一带宽值小于缓存当前的刷盘带宽值;根据第一带宽值确定令牌的数量;利用令牌的数量控制存储设备中的数据流。
对存储设备中缓存的缓存输入输出参数进行监控,根据缓存输入输出参数是否满足过载条件,判断存储设备中缓存是否处于过载状态。在存储设备中缓存处于过载状态下,通过调整与令牌的数量具有联动关系的第一带宽值,使得第一带宽值小于缓存当前的刷盘带宽值。根据小于缓存当前的刷盘带宽值的第一带宽值对应的令牌的数量,来控制存储设备中的数据流,使得进入存储设备中缓存的数据量减小,即减小存储设备中缓存的入口流量,从而降低缓存水位,缓解直至消除存储设备中缓存的过载状态,提高存储设备的性能。
在第一方面的一些实施例中,缓存输入输出参数还包括缓存刷盘并发使用比例,过载条件还包括缓存刷盘并发使用比例大于目标比例阈值。
缓存水位高于第一水位阈值,且缓存刷盘并发使用比例大于目标比例阈值,表明存储设备对数据的处理能力已经足够大,但缓存的剩余容量依然不足。通过缓存水位和缓存刷盘并发使用比例的双重判断,能够更准确地识别到存储设备中缓存的过载状态。
在第一方面的一些实施例中,在利用令牌的数量控制存储设备中的数据流之后,还包括:判断缓存水位是否低于第二水位阈值,第二水位阈值低于第一水位阈值;当缓存水位低于第二水位阈值时,获取第二带宽值,第二带宽值小于刷盘带宽值,且第二带宽值大于第一带宽值;根据第二带宽值确定令牌的数量;利用第二带宽值对应令牌的数量控制存储设备中的数据流。
缓存水位低于第二水位阈值,表明存储设备的缓存正处于从过载状态向非过载状态转化的阶段中,此时可进行稳定的数据流控制。在该阶段中,在第一带宽值的基础上略微增加,得到大于第一带宽值且小于当前的刷盘带宽值的第二带宽值。并利用第二带宽值对应的令牌的数量对存储设备中的数据流进行控制,以保持存储设备中缓存的入口流量的稳定。避免缓存水位的剧烈下降,从而提高存储设备的稳定性。
在第一方面的一些实施例中,上述控制存储设备中数据流的方法还包括:获取目标刷盘并发值,目标刷盘并发值根据当前缓存水位、第二水位阈值和存储设备的最大可用刷盘并发值得到;将当前的刷盘并发值调整为目标刷盘并发值。
通过调整缓存的刷盘并发值,调整刷盘带宽,使得刷盘带宽的变化趋势为刷盘带宽值与存储设备中缓存的入口流量相等,从而提高了缓存的缓存水位的稳定性,进而提升了存储设备的稳定性。
第二方面,本申请提供了一种控制存储设备中数据流的装置,包括:参数获取模块,用于获取缓存输入输出参数,缓存输入输出参数包括缓存水位,缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重;判断模块,用于判断缓存输入输出参数是否满足过载条件,过载条件包括缓存水位高于第一水位阈值;目标参数获取模块,用于当缓存输入输出参数满足过载条件时,获取第一带宽值,第一带宽值小于缓存当前的刷盘带宽值;处理模块,用于根据第一带宽值确定令牌的数量,利用令牌的数量控制存储设备中的数据流。
在第二方面的一些实施例中,缓存输入输出参数还包括缓存刷盘并发使用比例,过载条件还包括缓存刷盘并发使用比例大于目标比例阈值。
在第二方面的一些实施例中,判断模块还用于判断缓存水位是否低于第二水位阈值,第二水位阈值低于第一水位阈值;目标参数获取模块还用于当缓存水位低于第二水位阈值时,获取第二带宽值,第二带宽值小于刷盘带宽值,且第二带宽值大于第一带宽值;处理模块还用于根据第二带宽值确定令牌的数量,利用第二带宽值对应令牌的数量控制存储设备中的数据流。
在第二方面的一些实施例中,目标参数获取模块还用于获取目标刷盘并发值,目标刷盘并发值根据当前缓存水位、第二水位阈值和存储设备的最大可用刷盘并发值得到;处理模块还用于将当前的刷盘并发值调整为目标刷盘并发值。
上述控制存储设备中数据流的装置可达到与上述技术方案中控制存储设备中数据流的方法相同的技术效果。
第三方面,本申请提供了一种存储设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述技术方案中的控制存储设备中数据流的方法,可达到与上述技术方案中的控制存储设备中数据流的方法相同的技术效果。
第四方面,本申请提供了一种存储介质,其上存储有程序,程序被处理器执行时实现上述技术方案中的控制存储设备中数据流的方法,可达到与上述技术方案中的控制存储设备中数据流的方法相同的技术效果。
附图说明
图1为本发明实施例中控制存储设备中数据流的应用场景示意图;
图2为图1中控制器11的结构示例图;
图3为本发明一实施例中一种控制存储设备中数据流的方法的流程图;
图4为本发明一实施例中一种控制存储设备中数据流的装置的结构示意图。
具体实施方式
本发明实施例提供了一种控制存储设备中数据流的方法、装置、存储设备及存储介质,可应用于存储设备。图1为本发明实施例中控制存储设备中数据流的应用场景示意图。如图1所示,图1所示的存储系统(也可看做存储设备)包括至少一个控制器11(如图所示的控制器11)和多个硬盘12。控制器11可通过存储区域网络(英文:storage area network,SAN)与主机20连接。控制器11可以是一种计算设备,如服务器、台式计算机等等。在控制器11上安装有操作系统以及应用程序。控制器11可以接收来自主机20的输入输出(即I/O)请求。控制器11还可以存储I/O请求中携带的数据(如果有的话),并且将该数据写入硬盘12中,使得写入存储系统中的数据持久化。
硬盘12可以为机械硬盘(Hard Driver Disk,HDD)、固态硬盘(Solid State Disk,SSD)等。其中,固态硬盘可以是以闪存(flash memory)芯片为存储介质的存储器,又名固态驱动器(Solid State Drive,SSD)。固态硬盘也可以是以动态随机存取存储器(DynamicRandom Access Memory,DRAM)为存储介质的存储器。多个硬盘12可形成存储池。存储池中的多个硬盘12的种类可以不同。
图2为图1中控制器11的结构示例图,如图2所示,控制器11包括接口卡110、处理器112和接口卡113。
接口卡110用于和主机通信,控制器11可以通过接口卡110接收主机20的操作指令。处理器112可能是一个中央处理器(Central Processing Unit,CPU)。在本发明实施例中,处理器112可以用于接收来自主机20的I/O请求、处理所述I/O请求。所述I/O请求可以是写数据请求或者读数据请求,处理器112还可以将写数据请求中的数据发送给硬盘12。
控制器11还可以包括存储器111,该存储器111即缓存。存储器111用于临时存储从主机20接收的数据或从硬盘12读取的数据。控制器11接收主机发送的多个写数据请求时,可以将所述多个写数据请求中的数据暂时保存在存储器111中。当存储器111的容量达到一定阈值时,将存储器111存储的数据以及为所述数据分配的逻辑地址发送给硬盘12。硬盘12存储所述数据。存储器111包括易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(英文:random-access memory,RAM)。非易失性存储器例如软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器111可具有保电功能,保电功能是指系统发生掉电又重新上电时,存储器111中存储的数据也不会丢失。
接口卡113,用于和硬盘12通信,控制器11可以通过接口卡113将写数据请求(包括数据以及控制器11为所述数据分配的逻辑地址)发送给硬盘12存储。
硬盘12包括硬盘控制器和存储介质。其中,硬盘控制器用于执行控制器11发送的写数据请求或者读数据请求等操作。
缓存为数据交换的缓冲区。由于缓存的运行速度远远快于硬盘,为了加快数据读写速度,数据写入缓存即可向主机20返回写成功信息,以加速对写请求的处理速度。缓存可将数据聚合写入存储池中的硬盘12。在本发明实施例中,可使用缓存的过载状态表征存储系统的过载状态,对存储设备的缓存输入输出参数进行监控,并根据缓存输入输出参数判断当前存储设备中缓存的存储状态,根据存储状态调整存储设备中的数据流。
缓存输入输出参数可表征存储设备中缓存的I/O状态,根据缓存输入输出参数可得到存储设备中缓存的存储状态。比如,缓存输入输出参数可包括缓存水位、刷盘并发、刷盘带宽等参数中的一个或多个参数。其中,缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重。缓存水位为100%表示缓存被写满,缓存被写满则无法再存储新的数据。刷盘并发用于指示缓存同时下发给存储池的写请求个数。刷盘带宽用于指示刷盘速度,即单位时间写入存储池的数据量。在上述的说明中,刷盘指将缓存中的数据写入存储池的硬盘。
图3为本发明一实施例中一种控制存储设备中数据流的方法的流程图。控制存储设备中数据流的方法可具体应用于上述说明内容中存储系统中的存储设备,具体的,可应用于上述说明内容中的处理器112。本发明实施例中的控制存储设备中数据流的方法的程序可以存储在存储设备中的控制器中,也可存储在外接存储器中,外接存储器可接入存储设备,存储设备的处理器112运行可调用外接存储器中的程序,实现本发明实施例中的控制存储设备中数据流的方法。如图3所示,控制存储设备中数据流的方法的流程图可包括步骤S201至步骤S213。
在步骤S201中,获取缓存输入输出参数。
在一个示例中,缓存输入输出参数包括缓存水位。在另一个示例中,缓存输入输出参数还可包括缓存刷盘并发使用比例。缓存刷盘并发使用比例指示存储设备中缓存当前使用的刷盘并发占存储设备中缓存可使用的最大刷盘并发的比重。在获取缓存输入输出参数的过程中,可设置查询周期,按照查询周期,周期性地采集缓存输入输出参数。为了提高获取的缓存输入输出参数的准确性,可计算一个查询周期中采集到的缓存输入输出参数的平均值,将该平均值作为这一个查询周期对应的参与后续步骤的缓存输入输出参数的值。比如,查询周期为5秒,则将5秒内采集的缓存水位的平均值作为参与后续步骤的缓存输入输出参数的值。还可对每个查询周期中采集到的缓存输入输出参数进行滤波,滤除获取到的缓存输入输出参数中的异常参数。异常参数为采集到的缓存输入输出参数中发生突变的个别参数,异常参数的值并不是实际的缓存输入输出参数的值,而是受到外界影响或其他原因引发的错误值。滤除异常参数可以使获取的缓存输入输出参数更加准确,从而更加精准地控制存储设备中的数据流。
在步骤S202中,判断缓存输入输出参数是否满足过载条件。
在缓存输入输出参数包括缓存水位的条件下,过载条件包括缓存水位高于第一水位阈值。缓存水位高于第一水位阈值,即缓存输入输出参数满足过载条件。第一水位阈值为判断缓存是否过载的缓存水位线,可根据工作需求和工作场景设定,在此并不限定。比如,第一水位阈值可以为80%。缓存水位高于第一水位阈值,表明缓存的剩余容量不足。
在缓存输入输出参数包括缓存水位和缓存刷盘并发使用比例的条件下,过载条件包括缓存水位高于第一水位阈值和缓存刷盘并发使用比例大于目标比例阈值。缓存水位高于第一水位阈值,且缓存刷盘并发使用比例大于目标比例阈值,即缓存输入输出参数满足过载条件。目标比例阈值为协助判断缓存是否过载的缓存刷盘并发使用比例,可根据工作需求和工作场景设定,在此并不限定。比如,目标比例阈值可以为99%。缓存刷盘并发使用比例越大,表示存储设备中的缓存的刷盘力度越大,即存储设备的处理能力越大。缓存水位高于第一水位阈值,且缓存刷盘并发使用比例大于目标比例阈值,表明存储设备对数据的处理能力已经足够大,但缓存的剩余容量依然不足。通过缓存水位和缓存刷盘并发使用比例的双重判断,能够更准确地识别到存储设备中缓存的过载状态。
在一个示例中,为了进一步更准确地识别存储设备中缓存的各种状态,也可连续N个查询周期判断缓存输入输出参数是否满足过载条件。N为大于等于2的正整数。若在连续的N个查询周期内,缓存输入输出参数均满足过载条件,则可通过获取第一带宽值,并根据第一带宽值对应的令牌的数量控制存储设备中的数据流的方式,调整存储设备中缓存的入口流量。以避免由于干扰而受到影响的一个或几个周期的参数异常引起的过载状态误判,提高识别存储设备中缓存的各种状态的准确率。
上述说明内容中的过载指存储设备对数据的处理能力小于存储设备接收的数据量。过载会引发存储设备工作性能大幅度下跌,还会引发存储设备性能不稳定的问题。通过缓存水位与第一水位阈值的对比,判断存储设备中缓存是否可导致过载。若缓存输入输出参数满足过载条件,表明存储设备中缓存可导致过载。若缓存输入输出不满足过载条件,表明存储设备中缓存未达到可导致过载的条件。
在步骤S203中,当缓存输入输出参数满足过载条件时,获取第一带宽值。
在理想的情况下,缓存的入口流量与缓存接收主机写入的数据量相等。缓存的出口流量与缓存刷盘至存储池的数据量相等。存储设备接收到主机的写请求后,需要在存储设备内部申请令牌,存储设备根据令牌的数量,确定接收的数据量。具体的,可利用存储设备中的服务质量(Quality of Service,QoS)服务查询缓存的带宽,并根据缓存的带宽得到与带宽对应的令牌的数量。令牌的数量对应指示接收的数据量。具体可通过调整令牌的数量调整存储设备中的数据流。比如,存储设备包括前端、QoS单元和缓存单元。QoS单元向缓存单元查询带宽值,缓存单元将查询到的带宽值返回给QoS单元,QoS单元根据查询到的带宽值,得到令牌的数量,转化得到令牌并定时发放令牌,前端向QoS单元申请令牌,申请到令牌才能接收I/O数据,从而控制缓存的入口流量。
在一个示例中,当缓存水位高于第一水位阈值时,表明存储设备中缓存满足过载条件。在另一个示例中,当缓存水位高于第一水位阈值,且缓存刷盘并发使用比例大于目标比例阈值,表明存储设备中缓存满足过载条件。在存储设备中缓存可满足过载条件的情况下,为了平稳控制存储系统性能,快速进行过载控制。需要快速将缓存水位控制到相对比较低的水平。具体的,可通过减小缓存的入口流量实现,即设置获取的第一带宽值小于缓存当前的刷盘带宽值。具体的,可以设置调整系数,第一带宽值可以为当前的刷盘带宽值与调整系数的乘积。
比如,调整系数为0.95,第一带宽值的计算见算式(1):
第一带宽值=当前的刷盘带宽值×0.95(1)
在步骤S204中,根据第一带宽值确定令牌的数量,利用令牌的数量控制存储设备中的数据流。
对存储设备中缓存的缓存输入输出参数进行监控,根据缓存输入输出参数是否满足过载条件,判断存储设备中缓存是否处于过载状态。在存储设备中缓存处于过载状态下,通过调整与令牌的数量具有联动关系的第一带宽值,使得第一带宽值小于缓存当前的刷盘带宽值。根据小于缓存当前的刷盘带宽值的第一带宽值对应的令牌的数量,来控制存储设备中的数据流,使得进入存储设备中缓存的数据量减小,即减小存储设备中缓存的入口流量,从而降低缓存水位,缓解直至消除存储设备中缓存的过载状态,提高存储设备的性能。
在步骤S205中,判断缓存水位是否低于第二水位阈值。
其中,在执行步骤S204之后,缓存水位会逐渐下降。存储设备仍对缓存输入输出参数进行监控。当缓存水位低于第二水位阈值时,表明存储设备中缓存的剩余容量紧张的情况已经得到缓解。第二水位阈值低于第一水位阈值。第二水位阈值可根据工作需要和工作场景设定,在此并不限定。比如,第二水位阈值可以为50%。
缓存水位的获取可参见上述说明内容,在此不再赘述。
在步骤S206中,当缓存水位低于第二水位阈值时,获取第二带宽值。
为了保证缓存能够保持稳定的剩余容量,当缓存水位低于第二水位阈值时,需要略微增大存储设备中缓存的入口流量,但仍要使存储设备中缓存的入口流量小于刷盘带宽。即第二带宽值小于刷盘带宽值,且第二带宽值大于第一带宽值。具体的,可以设置调整系数,第二带宽值可以为当前的刷盘带宽值与调整系数的乘积。比如,第一带宽值对应的调整系数为0.95,则第二带宽值对应的调整系数可设为0.99。则第二带宽值的计算见算式(2):
第二带宽值=当前的刷盘带宽值×0.99(2)
在步骤S207中,根据第二带宽值确定令牌的数量,利用第二带宽值对应令牌的数量控制存储设备中的数据流。
第二带宽值与令牌的数量的关系,以及令牌的数量与存储设备中数据流的关系的说明可参见上述实施例中第一带宽值与令牌的数量的关系,以及令牌的数量与存储设备中数据流的关系的相关内容,在此不再赘述。
缓存水位低于第二水位阈值,表明存储设备的缓存正处于从过载状态向非过载状态转化的阶段中,此时可进行稳定的数据流控制。在该阶段中,在第一带宽值的基础上略微增加,得到大于第一带宽值且小于当前的刷盘带宽值的第二带宽值。并利用第二带宽值对应的令牌的数量对存储设备中的数据流进行控制,以保持存储设备中缓存的入口流量的稳定。避免缓存水位的剧烈下降,从而提高存储设备的稳定性。
在步骤S208中,当缓存水位低于第二水位阈值时,获取目标刷盘并发值。
在一些情况下,存储池性能可能会发生波动。比如,存储池进行垃圾回收(GarbageCollection,GC),或者,存储池执行重构任务等会导致存储池性能发生波动。存储池性能发生波动直接表现为缓存的刷盘带宽产生波动,导致缓存水位剧烈上升或剧烈下降,降低了存储设备的稳定性。在缓存水位低于第二水位阈值后,缓存水位仍在继续下降。为了保证缓存能够保持较佳的使用效率,可对缓存的刷盘并发进行调整,以辅助缓存水位可保持在稳定的缓存水位范围内,比如,期望的稳定的缓存水位范围可为20%至50%。目标刷盘并发值可根据当前缓存水位、第二水位阈值和存储设备的最大可用刷盘并发值得到。比如,目标刷盘并发值的计算可见算式(3):
目标刷盘并发值=(当前缓存水位/第二水位阈值)×存储设备的最大可用刷盘并发值
(3)在步骤S209中,将当前的刷盘并发值调整为目标刷盘并发值。
需要说明的是,步骤S208和步骤S209与上述步骤S206和步骤S207的执行的先后顺序并不限定,步骤S208和步骤S209的执行与步骤S206和步骤S207的执行可相互独立。
通过调整缓存的刷盘并发值,调整刷盘带宽,使得刷盘带宽的变化趋势为刷盘带宽值与存储设备中缓存的入口流量相等,从而提高了缓存的缓存水位的稳定性,进而提升了存储设备的稳定性。
在步骤S210中,判断缓存输入输出参数是否满足流控提升条件。
经过上述步骤对缓存的入口流量进行调整,存储设备对数据的处理能力也在进行调整,当存储设备对数据的处理能力得到提升后,缓存水位可能会继续下降,则需要继续对缓存输入输出参数进行监控。在一个示例中,缓存输入输出参数包括缓存水位。对应的,流控提升条件包括缓存水位低于第三水位阈值,第三水位阈值低于第二水位阈值。第三水位阈值可根据工作需求和工作场景设定,在此并不限定。比如,第三水位阈值可以为20%。若缓存水位低于第三水位阈值,即缓存输入输出参数满足流控提升条件。
在另一个示例中,为了进一步地提高对存储是被对数据的处理能力是否提升的判断的准确性,缓存输入输出参数还可包括刷盘带宽。对应的,流控提升条件还可包括在连续的M个查询周期中,每个查询周期的刷盘带宽均大于上一个查询周期的刷盘带宽,M为大于或等于2的正整数。当缓存水位低于第三水位阈值,且在连续的M个周期中,每个查询周期的刷盘带宽均大于上一个查询周期的刷盘带宽,即缓存输入输出参数满足流控提升条件。
缓存输入输出参数满足流控提升条件,表示存储池对数据的处理能力得到提升,直接反应为存储设备对数据的处理能力也得到提高。为了保持缓存水位的稳定,也需要调整提供给QoS的带宽值,以调整提供的令牌的数量。
在步骤S211中,当缓存输入输出参数满足流控提升条件时,获取第三带宽值。
为了在缓存水位较低的情况下保持缓存水位的稳定,需要在第二带宽值的基础上增大带宽值,得到第三带宽值,即第三带宽值高于第二带宽值。
在步骤S212中,根据第三带宽值确定令牌的数量,利用第三带宽值对应令牌的数量控制存储设备中的数据流。
根据第三带宽值确定令牌的数量,以及利用第三带宽值对应令牌的数量控制存储设备中的数据流的内容,与上述根据第一带宽值确定令牌的数量,以及利用令牌的数量控制存储设备中的数据流的相似,可参见上述步骤S204的相关说明。
在步骤S213中,当缓存水位低于第四水位阈值时,解除对存储设备中数据流的控制。
其中,第四水位阈值小于第三水位阈值。第四水位阈值可根据工作需求和工作场景设定,在此并不限定。缓存水位持续下降,存储设备的数据处理压力减小,存储设备中缓存的入口流量可能已经小于存储设备对数据的处理能力。此时不需要对存储设备中数据流特意进行控制,可解除对存储设备中数据流的控制。
在本发明实施例中,通过对缓存输入输出参数的监控,可快速确定存储设备中缓存的状态,并针对存储设备中缓存的不同状态实现不同的数据流调控,从而快速稳定存储设备中的数据流控制,使得存储设备中缓存的入口流量与出口流量可达到动态稳定。提高了缓存的工作性能,也提高了存储设备整体的工作性能。
图4为本发明一实施例中一种控制存储设备中数据流的装置300的结构示意图。如图4所示,该装置300可包括参数获取模块301、判断模块302、目标参数获取模块303和处理模块304。
参数获取模块301,用于获取缓存输入输出参数,缓存输入输出参数包括缓存水位,缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重。
判断模块302,用于判断缓存输入输出参数是否满足过载条件,过载条件包括缓存水位高于第一水位阈值。
目标参数获取模块303,用于当缓存输入输出参数满足过载条件时,获取第一带宽值,第一带宽值小于缓存当前的刷盘带宽值。
处理模块304,用于根据第一带宽值确定令牌的数量,利用令牌的数量控制存储设备中的数据流。
进一步地,上述缓存输入输出参数还可包括缓存刷盘并发使用比例。对应的,过载条件还可包括缓存刷盘并发使用比例大于目标比例阈值。
在一个示例中,判断模块302还用于判断缓存水位是否低于第二水位阈值,第二水位阈值低于第一水位阈值。
目标参数获取模块303还用于当缓存水位低于第二水位阈值时,获取第二带宽值,第二带宽值小于刷盘带宽值,且第二带宽值大于第一带宽值。
处理模块304还用于根据第二带宽值确定令牌的数量,利用第二带宽值对应令牌的数量控制存储设备中的数据流。
在一个示例中,目标参数获取模块303还用于获取目标刷盘并发值,目标刷盘并发值根据当前缓存水位、第二水位阈值和存储设备的最大可用刷盘并发值得到。
处理模块304还用于将当前的刷盘并发值调整为目标刷盘并发值。
上述参数获取模块301、判断模块302、目标参数获取模块303和处理模块304,以及控制器11的具体功能和有益效果说明可参见上述实施例中步骤S201至步骤S213的相关细节说明内容,在此不再赘述。
本发明一实施例还提供一种存储介质,该存储介质上存储有程序,该程序被处理器执行时可实现上述各个实施例中的控制存储设备中数据流的方法。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置实施例、存储设备实施例和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种控制存储设备中数据流的方法,其特征在于,包括:
获取缓存输入输出参数,所述缓存输入输出参数包括缓存水位,所述缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重;
判断所述缓存输入输出参数是否满足过载条件,所述过载条件包括所述缓存水位高于第一水位阈值;
当所述缓存输入输出参数满足所述过载条件时,获取第一带宽值,所述第一带宽值小于所述缓存当前的刷盘带宽值,所述刷盘带宽值用于指示单位时间写入存储设备的数据量;
根据所述第一带宽值确定令牌的数量;
利用所述令牌的数量控制所述存储设备中的数据流。
2.根据权利要求1所述的方法,其特征在于,所述缓存输入输出参数还包括缓存刷盘并发使用比例,所述过载条件还包括所述缓存刷盘并发使用比例大于目标比例阈值。
3.根据权利要求1或2所述的方法,其特征在于,在所述利用所述令牌的数量控制所述存储设备中的数据流之后,还包括:
判断所述缓存水位是否低于第二水位阈值,所述第二水位阈值低于所述第一水位阈值;
当所述缓存水位低于所述第二水位阈值时,获取第二带宽值,所述第二带宽值小于所述刷盘带宽值,且所述第二带宽值大于所述第一带宽值;
根据所述第二带宽值确定令牌的数量;
利用所述第二带宽值对应令牌的数量控制所述存储设备中的数据流。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取目标刷盘并发值,所述目标刷盘并发值根据当前缓存水位、所述第二水位阈值和所述存储设备的最大可用刷盘并发值得到;
将当前的刷盘并发值调整为所述目标刷盘并发值,所述刷盘并发值用于指示缓存同时下发给所述存储设备的写请求个数。
5.一种控制存储设备中数据流的装置,其特征在于,包括:
参数获取模块,用于获取缓存输入输出参数,所述缓存输入输出参数包括缓存水位,所述缓存水位用于指示缓存中保存的数据的大小占缓存容量的比重;
判断模块,用于判断所述缓存输入输出参数是否满足过载条件,所述过载条件包括所述缓存水位高于第一水位阈值;
目标参数获取模块,用于当所述缓存输入输出参数满足所述过载条件时,获取第一带宽值,所述第一带宽值小于所述缓存当前的刷盘带宽值,所述刷盘带宽值用于指示单位时间写入存储设备的数据量;
处理模块,用于根据所述第一带宽值确定令牌的数量,利用所述令牌的数量控制所述存储设备中的数据流。
6.根据权利要求5所述的装置,其特征在于,所述缓存输入输出参数还包括缓存刷盘并发使用比例,所述过载条件还包括所述缓存刷盘并发使用比例大于目标比例阈值。
7.根据权利要求5或6所述的装置,其特征在于,所述判断模块还用于判断所述缓存水位是否低于第二水位阈值,所述第二水位阈值低于所述第一水位阈值;
所述目标参数获取模块还用于当所述缓存水位低于所述第二水位阈值时,获取第二带宽值,所述第二带宽值小于所述刷盘带宽值,且所述第二带宽值大于所述第一带宽值;
所述处理模块还用于根据所述第二带宽值确定令牌的数量,利用所述第二带宽值对应令牌的数量控制所述存储设备中的数据流。
8.根据权利要求7所述的装置,其特征在于,所述目标参数获取模块还用于获取目标刷盘并发值,所述目标刷盘并发值根据当前缓存水位、所述第二水位阈值和所述存储设备的最大可用刷盘并发值得到;
所述处理模块还用于将当前的刷盘并发值调整为所述目标刷盘并发值,所述刷盘并发值用于指示缓存同时下发给所述存储设备的写请求个数。
9.一种存储设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时实现如权利要求1至4中任意一项所述的控制存储设备中数据流的方法。
10.一种存储介质,其特征在于,其上存储有程序,所述程序被处理器执行时实现如权利要求1至4中任意一项所述的控制存储设备中数据流的方法。
CN201810220839.4A 2018-03-16 2018-03-16 控制存储设备中数据流的方法、装置、存储设备及存储介质 Active CN110275670B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810220839.4A CN110275670B (zh) 2018-03-16 2018-03-16 控制存储设备中数据流的方法、装置、存储设备及存储介质
PCT/CN2019/071515 WO2019174391A1 (zh) 2018-03-16 2019-01-14 控制存储设备中数据流的方法、装置、存储设备及存储介质
EP19767126.6A EP3757747B1 (en) 2018-03-16 2019-01-14 Method and apparatus for controlling data stream in storage device, storage device, and storage medium
US17/021,385 US11734183B2 (en) 2018-03-16 2020-09-15 Method and apparatus for controlling data flow in storage device, storage device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810220839.4A CN110275670B (zh) 2018-03-16 2018-03-16 控制存储设备中数据流的方法、装置、存储设备及存储介质

Publications (2)

Publication Number Publication Date
CN110275670A CN110275670A (zh) 2019-09-24
CN110275670B true CN110275670B (zh) 2021-02-05

Family

ID=67908636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810220839.4A Active CN110275670B (zh) 2018-03-16 2018-03-16 控制存储设备中数据流的方法、装置、存储设备及存储介质

Country Status (4)

Country Link
US (1) US11734183B2 (zh)
EP (1) EP3757747B1 (zh)
CN (1) CN110275670B (zh)
WO (1) WO2019174391A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249667B2 (en) * 2019-09-05 2022-02-15 International Business Machines Corporation Storage performance enhancement
CN112306415B (zh) * 2020-11-02 2023-04-11 成都佰维存储科技有限公司 Gc流控方法、装置、计算机可读存储介质及电子设备
CN113467720B (zh) * 2021-06-29 2023-05-23 成都佰维存储科技有限公司 负载均衡的方法、装置、可读存储介质及电子设备
CN113986557B (zh) * 2021-11-15 2023-09-12 北京航空航天大学 一种面向全流量采集的存储负载均衡方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
KR20100048492A (ko) * 2008-10-31 2010-05-11 에스케이텔레콤 주식회사 가변 버퍼링을 이용한 스트리밍 서비스 제공 방법 및 장치
EP2434702A1 (en) * 2010-09-28 2012-03-28 Alcatel Lucent Scheduling method for data streaming in a telecommunication network infrastructure
CN104407986A (zh) * 2014-10-27 2015-03-11 华为技术有限公司 在存储设备中配置缓存的方法、装置及控制器
CN104679442A (zh) * 2013-12-02 2015-06-03 中兴通讯股份有限公司 一种提高磁盘阵列性能的方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4193607B2 (ja) 2003-06-26 2008-12-10 日本電気株式会社 データフロー制御方式、方法、およびプログラム
US7395377B2 (en) * 2006-04-20 2008-07-01 International Business Machines Corporation Method and system for adaptive back-off and advance for non-volatile storage (NVS) occupancy level management
US8402226B1 (en) * 2010-06-18 2013-03-19 Emc Corporation Rate proportional cache write-back in a storage server
CN103200121A (zh) * 2012-01-09 2013-07-10 中兴通讯股份有限公司 一种基于微波传输的以太网流量控制装置和方法
JP6060723B2 (ja) * 2013-02-21 2017-01-18 富士通株式会社 通信システム、送信器、及び通信制御方法
CN103763208B (zh) 2014-01-29 2017-08-29 华为技术有限公司 数据流量限制方法及装置
EP2988222B1 (en) * 2014-08-21 2019-12-11 Dot Hill Systems Corporation Method and apparatus for efficiently destaging sequential i/o streams
CN104301248B (zh) * 2014-10-31 2018-04-06 新华三技术有限公司 报文限速方法和装置
US9921768B2 (en) 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
CN106557430B (zh) * 2015-09-19 2019-06-21 成都华为技术有限公司 一种缓存数据刷盘方法及装置
CN105763478A (zh) * 2015-12-21 2016-07-13 中国电子科技集团公司第十五研究所 基于令牌桶算法的卫星数据地面传输网络流量控制系统
CN105677236B (zh) * 2015-12-29 2018-10-02 华为技术有限公司 一种存储设备及其存储数据的方法
US11636122B2 (en) * 2015-12-30 2023-04-25 Futurewei Technologies, Inc. Method and apparatus for data mining from core traces
CN106371916B (zh) * 2016-08-22 2019-01-22 浪潮(北京)电子信息产业有限公司 一种存储系统io线程优化方法及其装置
US9684461B1 (en) * 2016-10-31 2017-06-20 International Business Machines Corporation Dynamically adjusting read data return sizes based on memory interface bus utilization
CN107608911B (zh) * 2017-09-12 2020-09-22 苏州浪潮智能科技有限公司 一种缓存数据刷写方法、装置、设备及存储介质
CN109560945B (zh) 2017-09-25 2021-02-12 华为技术有限公司 业务服务质量的检测方法、设备及系统
CN107800644A (zh) * 2017-11-08 2018-03-13 中国人民解放军国防科技大学 一种可动态配置的流水化令牌桶限速方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
KR20100048492A (ko) * 2008-10-31 2010-05-11 에스케이텔레콤 주식회사 가변 버퍼링을 이용한 스트리밍 서비스 제공 방법 및 장치
EP2434702A1 (en) * 2010-09-28 2012-03-28 Alcatel Lucent Scheduling method for data streaming in a telecommunication network infrastructure
CN104679442A (zh) * 2013-12-02 2015-06-03 中兴通讯股份有限公司 一种提高磁盘阵列性能的方法及装置
CN104407986A (zh) * 2014-10-27 2015-03-11 华为技术有限公司 在存储设备中配置缓存的方法、装置及控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种缓存数据流信息的处理器前端设计;刘炳涛等;《计算机研究与发展》;20160615;第53卷(第6期);全文 *

Also Published As

Publication number Publication date
EP3757747A1 (en) 2020-12-30
EP3757747B1 (en) 2023-03-08
US20200409858A1 (en) 2020-12-31
WO2019174391A1 (zh) 2019-09-19
CN110275670A (zh) 2019-09-24
EP3757747A4 (en) 2021-03-31
US11734183B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
CN110275670B (zh) 控制存储设备中数据流的方法、装置、存储设备及存储介质
US11030107B2 (en) Storage class memory queue depth threshold adjustment
US10776276B2 (en) Bypass storage class memory read cache based on a queue depth threshold
US10768823B2 (en) Flow control for unaligned writes in network storage device
US11500592B2 (en) Systems and methods for allocating data compression activities in a storage system
EP2182441B1 (en) Method and memory manager for managing memory
US8788779B1 (en) Non-volatile storage subsystem with energy-based performance throttling
US11392565B1 (en) Optimizing data compression in a storage system
KR101505395B1 (ko) 플래시 메모리 시스템에서 페이징된 가비지 수집과 하우스 키핑 동작
JP2004206623A (ja) ストレージシステム及びその動的負荷管理方法
JP2013511081A (ja) デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム
US11113192B2 (en) Method and apparatus for dynamically adapting cache size based on estimated cache performance
CN112749102B (zh) 一种内存空间垃圾回收处理方法、装置、设备及介质
CN103729313A (zh) Ssd缓存的输入输出流量控制方法及装置
WO2016082519A1 (zh) 一种异构存储优化方法及装置
JP2024511517A (ja) ソリッドステートドライブ内のホスト制御されたガベージコレクション
JP2018010615A (ja) ホストへの動的帯域幅報告のための装置および方法
KR20170047468A (ko) 메모리 동작을 모니터링하는 메모리 모듈 및 그것의 전력 관리 방법
WO2017059716A1 (zh) 多磁盘阵列共享写缓存的方法及装置
CN114968854A (zh) 对存储器的输入带宽进行调整的方法及存储系统
US10466910B1 (en) Dynamic resource partitioning
JP7155915B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
CN107707490B (zh) 一种带宽控制方法、装置及可读存储介质
CN115543601A (zh) 一种流量控制方法、装置及电子设备和存储介质
CN114003176A (zh) 数据写入方法、装置及硬盘设备

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