CN116483260A - Buffer管理方法、装置及存储设备 - Google Patents
Buffer管理方法、装置及存储设备 Download PDFInfo
- Publication number
- CN116483260A CN116483260A CN202310219137.5A CN202310219137A CN116483260A CN 116483260 A CN116483260 A CN 116483260A CN 202310219137 A CN202310219137 A CN 202310219137A CN 116483260 A CN116483260 A CN 116483260A
- Authority
- CN
- China
- Prior art keywords
- buffer
- target
- buffer area
- target task
- blocks
- 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.)
- Pending
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 795
- 238000003860 storage Methods 0.000 title claims abstract description 77
- 238000007726 management method Methods 0.000 title claims abstract description 48
- 238000009826 distribution Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 27
- 230000008030 elimination Effects 0.000 claims description 18
- 238000003379 elimination reaction Methods 0.000 claims description 18
- 230000001502 supplementing effect Effects 0.000 claims description 10
- 238000005201 scrubbing Methods 0.000 claims description 9
- 230000035939 shock Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 abstract description 4
- 230000007547 defect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本申请提供了Buffer管理方法、装置及存储设备。本实施例通过通过对存储系统中Buffer空间合理划分至少一个任务类型对应的Buffer区域,并基于各任务实时的Buffer分配速度,从各任务的任务类型对应的Buffer区域中为各任务分配所需的可用的目标Buffer块,避免因为Buffer缓存的数据被频繁读写引起的Buffer使用状态不断发生变化所导致的整个存储系统的性能差的缺陷,实现了Buffer的智能高效管理,并且,本实施例通过基于硬件实现的Buffer管理组件来实现Buffer的智能高效管理,这能减少CPU管理Buffer的开销。
Description
技术领域
本申请涉及存储技术,特别涉及缓存(Buffer)管理方法、装置及存储设备。
背景技术
Buffer作为数据的缓存,对存储器的正常高效运行至关重要。以存储器为固态硬盘(SSD:Solid State Disk)为例,在SSD中,Buffer的常见用途包括但不限于以下方面:
■存放映射表,如L2P Table、P2L Table、各类Bitmap Table等;
■缓存读/写(I/O)数据;
■缓存日志(log)数据;
Buffer缓存的数据经常会被频繁读写,Buffer的使用状态也会不断发生变化,并直接影响整个存储系统的性能。因此,高效管理Buffer,是亟待解决的技术问题。
发明内容
本申请实施例提供了Buffer管理方法、装置及存储设备,以实现Buffer的管理。
本申请实施例提供了以下技术方案:
一种应用于存储系统的Buffer管理方法,所述存储系统中被部署了基于硬件实现的Buffer管理组件,所述Buffer管理组件通过所述存储系统中的系统总线访问所述存储系统中的存储器,该方法应用于所述Buffer管理组件,包括:
在确定当前需要为目标任务Task分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于所述目标Buffer块执行目标任务;所述存储系统中指定Buffer空间被划分为至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;
在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
一种应用于存储系统的Buffer管理装置,该装置应用于所述存储系统中被部署的基于硬件实现的Buffer管理组件,所述Buffer管理组件通过所述存储系统中的系统总线访问所述存储系统中的存储器,该装置包括:
Buffer分配器,通过硬件实现,用于在确定当前需要为目标任务Task分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于所述目标Buffer块执行目标任务;所述存储系统中指定Buffer空间被划分为至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;
Buffer分配控制器,通过硬件实现,用于在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
一种存储设备,所述存储设备至少包括:基于硬件实现的Buffer管理组件、Buffer、系统总线;
其中,所述Buffer管理组件通过所述存储设备中的系统总线访问Buffer;所述Buffer管理组件,被用于执行本申请实施例提供的任一应用于存储系统的Buffer管理方法。
由以上技术方案可以看出,本申请中,通过通过对存储系统中Buffer空间合理划分至少一个任务类型对应的Buffer区域,并基于各任务实时的Buffer分配速度,从各任务的任务类型对应的Buffer区域中为各任务分配所需的可用的目标Buffer块,避免因为Buffer缓存的数据被频繁读写引起的Buffer使用状态不断发生变化所导致的整个存储系统的性能差的缺陷,实现了Buffer的智能高效管理。
进一步地,本实施例通过基于硬件实现的Buffer管理组件来实现Buffer的智能高效管理,这能减少CPU管理Buffer的开销。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的方法流程图;
图2为本申请实施例提供的组网结构图;
图3为本申请实施例提供的任务处理示意图;
图4为本申请实施例提供的Buffer分配调整示意图;
图5a至图5c为本申请实施例提供的Buffer区域划分示意图;
图6为本申请实施例提供的共享请求示意图;
图7a为本申请实施例提供的数据下刷操作示意图;
图7b为本申请实施例提供的数据淘汰操作示意图;
图8为本申请实施例提供的装置的结构示意图;
图9为本申请实施例提供的硬盘设备结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
为避免Buffer缓存的数据被频繁读写,Buffer的使用状态不断发生变化,本申请实施例提供了基于硬件的Buffer管理方法,以通过先对Buffer区域进行划分,动态共享各被划分的Buffer区域,下面进行举例描述:
参见图1,图1为本申请实施例提供的方法流程图。该方法应用于存储系统中新部署的基于硬件实现的Buffer管理组件。如图2所示,Buffer管理组件连接在存储系统的系统总线上。可选地,这里的系统总线是指信息传输总线,比如为高级可扩展接口(AXI:Advanced eXtensible Interface)总线等。Buffer管理组件通过上述系统总线访问诸如双倍速率(DDR:Double Data Rate)同步动态随机存储器(SDRAM:Synchronous DynamicRandom Access Memory)、静态随机随机存储器(SRAM:Static Random-Access Memory)、主机内存缓冲器(HMB:Host Memory Buffer)等存储器对应的Buffer空间。
基于如上描述,则如图1所示,该流程可包括以下步骤:
步骤101,在确定当前需要为目标任务(Task)分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于目标Buffer块执行目标任务。
在本实施例中,存储系统中指定Buffer空间比如存储系统中的所有Buffer空间或者部分Buffer空间会被合理划分出至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;下文会举例描述如何划分上述指定Buffer空间,这里暂不赘述。
在本实施例中,针对如图3所示的待处理的每一任务(记为目标任务),则会基于当前系统状态确定当前是否为目标任务分配Buffer。这里,基于当前系统状态确定当前是否为目标任务分配Buffer有很多实现方式,比如,当前系统状态至少包括目标任务的目标任务类型所对应的Buffer区域中当前可用Buffer块的数量,则基于当前系统状态确定当前是否为目标任务分配Buffer可为:检查目标任务类型所对应的Buffer区域中当前可用Buffer块的数量是否大于或等于目标任务所需的可用的目标Buffer块的数量,如果是,确定当前为目标任务分配Buffer,否则,确定当前不为目标任务分配Buffer。
作为一个实施例,当确定出当前不为目标任务分配Buffer时,则可直接阻塞该目标任务(也即暂不为该目标任务分配Buffer)。
作为一个实施例,当确定出当前为目标任务分配Buffer时,则如步骤101描述,会基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于目标Buffer块执行目标任务。
在本实施例中,目标任务类型当前对应的Buffer分配速度下文会在步骤102中有描述,这里暂不赘述。
步骤102,在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
在本实施例中,可针对目标任务类型对应的Buffer分配速度的调整设置对应的调整周期,一旦调整周期到达,则确定需要调整目标任务类型当前对应的Buffer分配速度。
作为一个实施例,目标任务类型对应的Buffer分配速度的调整可通过寄存器和计时器来实现,其中,寄存器存储上述调整周期,计时器用于计时,具体如图4所示。一旦计时器的计时达到上述调整周期时,则确定需要调整目标任务类型当前对应的Buffer分配速度。
在本实施例中,影响Buffer分配速度的因素包括以下至少一种:
■Task的执行速度(表示了对Buffer的需求程度,即负载压力);
■预设的Task最低速度(不同Task优先级不同,有不同的最低速度要
求);
■对应的Buffer区域的可用Buffer块的数量。
基于此,在本实施例中,可至少基于上一调整周期内目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中可用buffer块的数量是否满足目标任务的需求,基于该预估,调整目标任务类型当前对应的Buffer分配速度。
比如,一旦预估出目标任务类型对应的Buffer区域中的可用Buffer块的数量不足(无法满足目标任务的需求,基于上一调整周期内目标任务的需求确定),则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变,使存储系统仍然保持较好的性能,保证系统有足够的时间恢复Buffer资源,提升用户体验。需要说明的是,上述降低Buffer分配速度,本实施例并不局限每次降低的幅度,其可根据实际需求设置。
再比如,若预估出目标任务类型对应的Buffer区域中的可用Buffer块的数量充足,则可提高Buffer分配速度,或者维持原有Buffer分配速度不变,具体可根据实际情况设置。同样地,上述提高Buffer分配速度,本实施例并不局限每次提高的幅度,其可根据实际需求设置。
可以看出,本实施例基于硬件动态调整Buffer分配速度,能够控制从目标任务类型对应的Buffer区域中为目标任务分配所需的可用的目标Buffer块的准确度,且减少CPU的负载,保证存储设备具有良好的性能。
至此,完成图1所示流程。
通过图1所示的流程可以看出,本实施例中,通过对存储系统中Buffer空间合理划分至少一个任务类型对应的Buffer区域,并基于各任务实时的Buffer分配速度,从各任务的任务类型对应的Buffer区域中为各任务分配所需的可用的目标Buffer块,避免因为Buffer缓存的数据被频繁读写引起的Buffer使用状态不断发生变化所导致的整个存储系统的性能差的缺陷,实现了Buffer的智能高效管理。
进一步地,本实施例通过基于硬件实现的Buffer管理组件来实现Buffer的智能高效管理,这能减少CPU管理Buffer的开销。
下面对上述存储系统中指定Buffer空间的划分进行描述:
在本实施例中,在对指定Buffer空间进行划分处理时,可至少考虑以下3个方面:
(1)Multi zone模式下zone的数量、大小;
(2)各类存储器(DDR、SRAM、HMB)的大小和用途;
(3)面向的各类型的任务的Buffer需求量,包括但不限于Table、IO、log。
基于此,作为一个实施例,对指定Buffer空间的划分方式如下:
①先以zone为单位进行Buffer划分,得到各区zone对应的Buffer子空间。比如,假若SSD分为2个zone,其大小和用途相同,每个zone内考虑任务类型比如表(Table)和数据(Data),则buffer区分划分情况如图5a所示。
②针对每一zone对应的Buffer子空间,根据不同任务类型对每一zone对应的Buffer子空间再次进行Buffer划分,得到每一任务类型对应的Buffer区域。
可选地,在具体实现时,每一任务类型对应的Buffer区域至少包括该任务类型的专用Buffer区域。
作为一个实施例,对于某些任务类型,其可能没有很高的性能要求,此时该任务类型的专用Buffer区域可称为该任务的主Buffer区域;而对于某些任务类型,其可能有很高的性能要求,则可针对该任务类型的专用Buffer区域再次进行划分,划分为主Buffer区域和备Buffer区域。图5b举例示出了Data的主Buffer区域(Data Buffer)和备Buffer区域(Spare Data Buffer)、以及Table的主Buffer区域(Table Buffer)和备Buffer区域(SpareTable Buffer)。
在本实施例中,备Buffer区域是备用资源,在主Buffer区域不足或耗尽的情况下投入使用,以使得存储系统在主Buffer区域的资源不足的情况下仍然保持较好的性能,使存储系统有足够的时间恢复主Buffer区域的资源。
基于如上描述,上述目标任务类型对应的Buffer区域至少包括目标任务类型对应的专用Buffer区域;对应地,上述步骤101中,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块可包括:
若目标任务类型对应的专用Buffer区域中主Buffer区域存在的可用Buffer块的数量满足目标任务所需的目标Buffer块,则从主Buffer区域中获得目标任务所需的目标Buffer块;
若主Buffer区域存在的可用Buffer块的数量不满足目标任务所需的目标Buffer块,则在专用Buffer区域存在备Buffer区域的情况下,从备Buffer区域中获得目标任务所需的目标Buffer块,或者从主Buffer区域获得目标任务所需的第一部分Buffer块,从备Buffer区域中获得目标任务所需的剩余部分Buffer块;其中,第一部分Buffer块和剩余部分Buffer块的数量和为上述目标Buffer块的数量。
作为一个实施例,本实施例中,至少一个zone对应的Buffer子空间除了被划分出任务类型的专用Buffer区域之外,还被划分出第一共享Buffer区域。同一zone对应的Buffer子空间中专用Buffer区域对应的各任务类型共享该第一共享Buffer区域。
基于此,上述目标任务类型对应的Buffer区域至少包括:目标任务类型的专用Buffer区域和目标Buffer子空间中的第一共享Buffer区域;目标Buffer子空间是指目标任务类型的专用Buffer区域所处的Buffer子空间。对应地,上述步骤101中,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块可包括:
在目标任务类型对应的专用Buffer区域不满足目标任务所需的目标Buffer块的情况下,
依据目标任务的优先级从目标Buffer子空间中的第一共享Buffer区域中获得目标任务所需的目标Buffer块;或者,
从目标任务类型对应的专用Buffer区域中获得目标任务所需的第一部分Buffer块,部分Buffer块包括专用Buffer区域中主Buffer区域内的至少一个可用Buffer块和/或专用Buffer区域中备Buffer区域内的至少一个可用Buffer块;以及依据目标任务的优先级,从目标Buffer子空间的第一共享Buffer区域中获得目标任务所需的剩余部分Buffer块;第一部分Buffer块和剩余部分Buffer块的数量和为目标Buffer块的数量。
在本实施例中,每个Task都在硬件寄存器中存储了相应的权重信息(weight)。本实施例在有多个Task请求第一共享Buffer区域时,会根据相应的调度算法(如RR、WFQ等)并结合Task的权重信息计算得到不同Task的优先级,以根据各Task的优先级决定各Task的Buffer分配数量和顺序。也即,本实施例中,目标任务的优先级是基于目标任务类型对应的权重值计算出的,目标任务的优先级指示了目标任务从第一共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量。
需要说明的是,本实施例中,各Task的权重信息会根据系统状态进行实时调节,以优化系统存储性能。
在本实施例中,上述指定Buffer空间还包括共享Buffer子空间,该共享Buffer子空间与SSD中至少一个zone对应,该共享Buffer子空间可被上述所有Buffer子空间共享,具体如图5c所示。共享Buffer子空间被划分出至少一个第二共享Buffer区域,各Buffer子空间共享第二共享Buffer区域。
基于此,在本实施例中,上述目标任务类型对应的Buffer区域至少包括上述目标Buffer子空间中的可用Buffer区域和第二共享Buffer区域。目标Buffer子空间中的可用Buffer区域至少包括目标Buffer子空间中目标任务类型对应的专用Buffer区域和第一共享Buffer区域。
对应地,上述步骤101中从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:当目标Buffer子空间中的可用Buffer区域不满足目标任务所需的目标Buffer块的情况下,
依据目标Buffer子空间的优先级从第二共享Buffer区域中获得目标任务所需的目标Buffer块;目标Buffer子空间的优先级指示了从第二共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量;或者,
从目标Buffer子空间中获得目标任务所需的第一部分Buffer块,部分Buffer块包括目标Buffer子空间中目标任务类型对应的专用Buffer区域中的至少一个可用Buffer块和/或第一共享Buffer区域中至少一个可用Buffer块;以及依据目标Buffer子空间的优先级从所述第二共享Buffer区域中获得目标任务所需的剩余部分Buffer块;第一部分Buffer块和剩余部分Buffer块的数量和为目标Buffer块的数量。
本实施例在有多个Buffer子空间请求第二共享Buffer区域时,会根据相应的调度算法(如RR、WFQ等)计算得到不同Buffer子空间的优先级,以根据各Buffer子空间的优先级决定各Buffer子空间的Buffer分配数量和顺序。可以看出,在本实施例中,第二共享Buffer区域可被所有Buffer子空间共享,可在Buffer子空间资源紧张的情况下提高Buffer的使用效率,在范围上,Buffer子空间包含不同任务类型的专用Buffer区域,则变相可实现不同任务类型的专用Buffer区域共享第二共享Buffer区域,以及不同Buffer子空间共享第二共享Buffer区域,图6示例出了共享示意图。
需要说明的是,在本实施例中,当zone的划分情况发生变化时,还会实时更新buffer区域的划分方式,更新方式具体可参考上述buffer区域的划分方式,这里不再赘述。
在本实施例中,在目标任务被执行完成后,还可释放Buffer块补充到某些专用Buffer区域、第一共享Buffer区域或第二共享Buffer区域。比如,在目标任务被执行完成后,进一步释放上述目标Buffer块;将释放后的目标Buffer块补充至目标任务类型对应的专用Buffer区域中的主Buffer区域或备Buffer区域,或者,将释放后的目标Buffer块补充至目标Buffer子空间中第一共享Buffer区域;或者,将释放后的目标Buffer块补充至第二共享Buffer区域。
需要说明的是,不管将目标Buffer块补充至专用Buffer区域、第一共享Buffer区域还是第二共享Buffer区域,都需要保证补充了该目标Buffer块的任一Buffer区域中Buffer块的总量小于或等于该Buffer区域被设定的Buffer块数量阈值。本实施例中,还需要进一步实时监测各Buffer子空间的状态,一旦发现该Buffer子空间闲置,则将该Buffer子空间中的Buffer区域暂时补充至已有的第二共享Buffer区域;其中,被补充的任一个第二共享Buffer区域中Buffer块的总量小于或等于该第二共享Buffer区域被设定的Buffer块数量阈值。
当然,若发现任一Buffer子空间的状态从之前的被闲置状态切换为工作状态时,所述工作状态表示有任务需要基于该Buffer子空间中的Buffer区域执行,则将该Buffer子空间中的Buffer区域从第二共享Buffer区域剥离,以保证存储系统。
在本实施例中,为提高系统性能、保证系统数据安全,需要采用合理的Buffer下刷和淘汰机制。
比如,对存放脏dirty数据的dirty Buffer区域执行数据下刷操作,以基于数据下刷操作将dirty Buffer区域中的dirty数据下刷至对应的硬盘;dirty数据是指dirtyBuffer区域中发生了更新的数据。具体地,对存放脏dirty数据的dirty Buffer区域执行数据下刷操作包括:依据Buffer链表中dirty Buffer区域的表头Header和偏移量offset定位对应的dirty Buffer区域,基于定位出的dirty Buffer区域中数据信息确定该dirtyBuffer区域的优先级;数据信息至少包括:数据存在的时间、更新频率;依据各dirtyBuffer区域的优先级确定需要执行数据下刷操作的目标dirty Buffer区域(比如优先级最高的dirty Buffer区域),对目标dirty Buffer区域执行数据下刷操作。这可以实现在合理的时间将dirty Buffer中的数据下刷,提升系统可用Buffer数量,并让数据及时落盘,防止掉电发生数据丢失。图7a举例示出了数据下刷操作。
再比如,基于存放clean数据的clean Buffer区域执行数据淘汰操作,以基于所述数据淘汰操作将clean Buffer区域中的clean数据删除;clean数据是指clean Buffer区域中设定时间段内未发生更新的数据。具体地,基于存放clean数据的clean Buffer区域执行数据淘汰操作包括:依据Buffer链表中clean Buffer区域的表头Header和偏移量offset,定位对应的clean Buffer区域,基于该定位出的clean Buffer区域中数据信息确定该clean Buffer区域的优先级;数据信息至少包括:数据存在的时间、更新频率;依据各cleanBuffer区域的优先级确定需要执行数据淘汰操作的目标clean Buffer区域,对目标cleanBuffer区域执行数据淘汰操作。这可以实现基于不同的数据在将来被访问的可能性不同而淘汰存有访问概率最低的数据的,可提升系统性能。图7b举例示出了数据淘汰操作。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图8,图8为本申请实施例提供的装置结构图。该装置应用于所述存储系统中被部署的基于硬件实现的Buffer管理组件,Buffer管理组件通过所述存储系统中的系统总线访问所述存储系统中的存储器,该装置包括:
Buffer分配器,通过硬件实现,用于在确定当前需要为目标任务Task分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于所述目标Buffer块执行目标任务;所述存储系统中指定Buffer空间被划分为至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;
Buffer分配控制器,通过硬件实现,用于在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
可选地,任一任务类型对应的Buffer区域至少包括:专用Buffer区域;所述专用Buffer区域包括主Buffer区域,或者主Buffer区域和备Buffer区域;
所述目标任务类型对应的Buffer区域至少包括目标任务类型对应的专用Buffer区域;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:
若所述目标任务类型对应的专用Buffer区域中主Buffer区域存在的可用Buffer块的数量满足所述目标任务所需的目标Buffer块,则从所述主Buffer区域中获得所述目标任务所需的目标Buffer块;
若所述主Buffer区域存在的可用Buffer块的数量不满足所述目标任务所需的目标Buffer块,则在所述专用Buffer区域存在备Buffer区域的情况下,从所述备Buffer区域中获得所述目标任务所需的目标Buffer块,或者从所述主Buffer区域获得所述目标任务所需的第一部分Buffer块,从所述备Buffer区域中获得所述目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的数量和为所述目标Buffer块的数量。
可选地,所述指定Buffer空间包括所述存储系统中固态硬盘SSD被划分的各zone对应的Buffer子空间;至少一个zone对应的Buffer子空间除了被划分出任务类型的专用Buffer区域之外还被划分出第一共享Buffer区域;
所述目标任务类型对应的Buffer区域至少包括:所述目标任务类型对应的专用Buffer区域和目标Buffer子空间中的第一共享Buffer区域;目标Buffer子空间是指所述目标任务类型对应的专用Buffer区域所处的Buffer子空间;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:在目标任务类型对应的专用Buffer区域不满足目标任务所需的目标Buffer块的情况下,
依据目标任务的优先级从目标Buffer子空间中的第一共享Buffer区域中获得目标任务所需的目标Buffer块;目标任务的优先级是基于目标任务类型对应的权重值计算出的,目标任务的优先级指示了目标任务从第一共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量;或者,
从目标任务类型对应的专用Buffer区域中获得所述目标任务所需的第一部分Buffer块,所述部分Buffer块包括所述专用Buffer区域中主Buffer区域内的至少一个可用Buffer块和/或所述专用Buffer区域中备Buffer区域内的至少一个可用Buffer块;以及依据所述目标任务的优先级,从目标Buffer子空间的第一共享Buffer区域中获得目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的数量和为所述目标Buffer块的数量。
可选地,所述指定Buffer空间还包括共享Buffer子空间;共享Buffer子空间被划分出至少一个第二共享Buffer区域,各Buffer子空间共享第二共享Buffer区域;
所述目标任务类型对应的Buffer区域至少包括目标Buffer子空间中的可用Buffer区域和第二共享Buffer区域;目标Buffer子空间中的可用Buffer区域至少包括目标Buffer子空间中目标任务类型对应的专用Buffer区域和所述第一共享Buffer区域;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:
在目标Buffer子空间中的可用Buffer区域不满足所述目标任务所需的目标Buffer块的情况下,
依据目标Buffer子空间的优先级从第二共享Buffer区域中获得目标任务所需的目标Buffer块;目标Buffer子空间的优先级指示了从第二共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量;或者,
从所述目标Buffer子空间中获得所述目标任务所需的第一部分Buffer块,所述部分Buffer块包括所述目标Buffer子空间中所述目标任务类型对应的专用Buffer区域中的至少一个可用Buffer块和/或所述第一共享Buffer区域中至少一个可用Buffer块;以及依据所述目标Buffer子空间的优先级从所述第二共享Buffer区域中获得所述目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的和为目标Buffer块的数量。
可选地,在所述目标任务被执行完成后,Buffer分配器进一步释放所述目标Buffer块;
将释放后的目标Buffer块补充至所述目标任务类型对应的专用Buffer区域中的主Buffer区域或备Buffer区域,或者,将释放后的目标Buffer块补充至所述目标Buffer子空间中第一共享Buffer区域;或者,将释放后的目标Buffer块补充至第二共享Buffer区域;其中,补充了所述目标Buffer块的任一Buffer区域中Buffer块的总量小于或等于该Buffer区域被设定的Buffer块数量阈值。
可选地,Buffer分配器进一步在至少一个Buffer子空间被闲置时,将该Buffer子空间中的Buffer区域暂时补充至已有的第二共享Buffer区域;其中,被补充的任一个第二共享Buffer区域中Buffer块的总量小于或等于该第二共享Buffer区域被设定的Buffer块数量阈值。
可选地,当任一Buffer子空间的状态从被闲置状态切换为工作状态时,所述工作状态表示有任务需要基于该Buffer子空间中的Buffer区域执行,则将该Buffer子空间中的Buffer区域从第二共享Buffer区域剥离。
可选地,Buffer分配器进一步对存放脏dirty数据的dirty Buffer区域执行数据下刷操作,以基于所述数据下刷操作将dirty Buffer区域中的dirty数据下刷至对应的硬盘;所述dirty数据是指所述dirty Buffer区域中发生了更新的数据。
可选地,Buffer分配器进一步基于存放clean数据的clean Buffer区域执行数据淘汰操作,以基于所述数据淘汰操作将clean Buffer区域中的clean数据删除;所述clean数据是指所述clean Buffer区域中设定时间段内未发生更新的数据。
可选地,对存放脏dirty数据的dirty Buffer区域执行数据下刷操作包括:依据Buffer链表中dirty Buffer区域的表头Header和偏移量offset定位对应的dirty Buffer区域,基于定位出的dirty Buffer区域中数据信息确定该dirty Buffer区域的优先级;数据信息至少包括:数据存在的时间、更新频率;依据各dirty Buffer区域的优先级确定需要执行数据下刷操作的目标dirty Buffer区域,对目标dirty Buffer区域执行数据下刷操作;
可选地,基于存放clean数据的clean Buffer区域执行数据淘汰操作包括:依据Buffer链表中clean Buffer区域的表头Header和偏移量offset,定位对应的clean Buffer区域,基于该定位出的clean Buffer区域中数据信息确定该clean Buffer区域的优先级;所述数据信息至少包括:数据存在的时间、更新频率;依据各clean Buffer区域的优先级确定需要执行数据淘汰操作的目标clean Buffer区域,对所述目标clean Buffer区域执行数据淘汰操作。
至此,完成本申请时示例提供的装置结构图。
对应地,本申请实施例还提供了一种存储设备,具体如图9所示,该存储设备至少包括:基于硬件实现的Buffer管理组件、Buffer、系统总线;
其中,Buffer管理组件通过所述存储设备中的系统总线访问Buffer;所述Buffer管理组件,被用于执行如图1所示方法中的步骤。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种应用于存储系统的Buffer管理方法,其特征在于,所述存储系统中被部署了基于硬件实现的Buffer管理组件,所述Buffer管理组件通过所述存储系统中的系统总线访问所述存储系统中的存储器,该方法应用于所述Buffer管理组件,包括:
在确定当前需要为目标任务Task分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于所述目标Buffer块执行目标任务;所述存储系统中指定Buffer空间被划分为至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;
在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
2.根据权利要求1所述的方法,其特征在于,任一任务类型对应的Buffer区域至少包括:专用Buffer区域;所述专用Buffer区域包括主Buffer区域,或者主Buffer区域和备Buffer区域;
所述目标任务类型对应的Buffer区域至少包括目标任务类型对应的专用Buffer区域;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:
若所述目标任务类型对应的专用Buffer区域中主Buffer区域存在的可用Buffer块的数量满足所述目标任务所需的目标Buffer块,则从所述主Buffer区域中获得所述目标任务所需的目标Buffer块;
若所述主Buffer区域存在的可用Buffer块的数量不满足所述目标任务所需的目标Buffer块,则在所述专用Buffer区域存在备Buffer区域的情况下,从所述备Buffer区域中获得所述目标任务所需的目标Buffer块,或者从所述主Buffer区域获得所述目标任务所需的第一部分Buffer块,从所述备Buffer区域中获得所述目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的数量和为所述目标Buffer块的数量。
3.根据权利要求2所述的方法,其特征在于,所述指定Buffer空间包括所述存储系统中固态硬盘SSD被划分的各区zone对应的Buffer子空间;至少一个zone对应的Buffer子空间除了被划分出任务类型的专用Buffer区域之外还被划分出第一共享Buffer区域;
所述目标任务类型对应的Buffer区域至少包括:所述目标任务类型对应的专用Buffer区域和目标Buffer子空间中的第一共享Buffer区域;目标Buffer子空间是指所述目标任务类型对应的专用Buffer区域所处的Buffer子空间;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:在目标任务类型对应的专用Buffer区域不满足目标任务所需的目标Buffer块的情况下,
依据目标任务的优先级从目标Buffer子空间中的第一共享Buffer区域中获得目标任务所需的目标Buffer块;目标任务的优先级是基于目标任务类型对应的权重值计算出的,目标任务的优先级指示了目标任务从第一共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量;或者,
从目标任务类型对应的专用Buffer区域中获得所述目标任务所需的第一部分Buffer块,所述部分Buffer块包括所述专用Buffer区域中主Buffer区域内的至少一个可用Buffer块和/或所述专用Buffer区域中备Buffer区域内的至少一个可用Buffer块;以及依据所述目标任务的优先级,从目标Buffer子空间的第一共享Buffer区域中获得目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的数量和为所述目标Buffer块的数量。
4.根据权利要求3所述的方法,其特征在于,所述指定Buffer空间还包括共享Buffer子空间;共享Buffer子空间被划分出至少一个第二共享Buffer区域,各Buffer子空间共享第二共享Buffer区域;
所述目标任务类型对应的Buffer区域至少包括目标Buffer子空间中的可用Buffer区域和第二共享Buffer区域;目标Buffer子空间中的可用Buffer区域至少包括目标Buffer子空间中目标任务类型对应的专用Buffer区域和所述第一共享Buffer区域;
所述从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块包括:
在目标Buffer子空间中的可用Buffer区域不满足所述目标任务所需的目标Buffer块的情况下,
依据目标Buffer子空间的优先级从第二共享Buffer区域中获得目标任务所需的目标Buffer块;目标Buffer子空间的优先级指示了从第二共享Buffer区域中获得Buffer块的顺序和获得的Buffer块的数量;或者,
从所述目标Buffer子空间中获得所述目标任务所需的第一部分Buffer块,所述部分Buffer块包括所述目标Buffer子空间中所述目标任务类型对应的专用Buffer区域中的至少一个可用Buffer块和/或所述第一共享Buffer区域中至少一个可用Buffer块;以及依据所述目标Buffer子空间的优先级从所述第二共享Buffer区域中获得所述目标任务所需的剩余部分Buffer块;所述第一部分Buffer块和所述剩余部分Buffer块的和为目标Buffer块的数量。
5.根据权利要求4所述的方法,其特征在于,在所述目标任务被执行完成后,该方法进一步包括:
释放所述目标Buffer块;
将释放后的目标Buffer块补充至所述目标任务类型对应的专用Buffer区域中的主Buffer区域或备Buffer区域,或者,将释放后的目标Buffer块补充至所述目标Buffer子空间中第一共享Buffer区域;或者,将释放后的目标Buffer块补充至第二共享Buffer区域;其中,补充了所述目标Buffer块的任一Buffer区域中Buffer块的总量小于或等于该Buffer区域被设定的Buffer块数量阈值。
6.根据权利要求4或5所述的方法,其特征在于,该方法进一步包括:
当至少一个Buffer子空间被闲置时,将该Buffer子空间中的Buffer区域暂时补充至已有的第二共享Buffer区域;其中,被补充的任一个第二共享Buffer区域中Buffer块的总量小于或等于该第二共享Buffer区域被设定的Buffer块数量阈值;
当任一Buffer子空间的状态从被闲置状态切换为工作状态时,所述工作状态表示有任务需要基于该Buffer子空间中的Buffer区域执行,则将该Buffer子空间中的Buffer区域从第二共享Buffer区域剥离。
7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
对存放脏dirty数据的dirty Buffer区域执行数据下刷操作,以基于所述数据下刷操作将dirty Buffer区域中的dirty数据下刷至对应的硬盘;所述dirty数据是指所述dirtyBuffer区域中发生了更新的数据;
基于存放clean数据的clean Buffer区域执行数据淘汰操作,以基于所述数据淘汰操作将clean Buffer区域中的clean数据删除;所述clean数据是指所述clean Buffer区域中设定时间段内未发生更新的数据。
8.根据权利要求7所述的方法,其特征在于,所述对存放脏dirty数据的dirty Buffer区域执行数据下刷操作包括:依据Buffer链表中dirty Buffer区域的表头Header和偏移量offset定位对应的dirty Buffer区域,基于定位出的dirty Buffer区域中数据信息确定该dirty Buffer区域的优先级;数据信息至少包括:数据存在的时间、更新频率;依据各dirtyBuffer区域的优先级确定需要执行数据下刷操作的目标dirty Buffer区域,对目标dirtyBuffer区域执行数据下刷操作;
所述基于存放clean数据的clean Buffer区域执行数据淘汰操作包括:
依据Buffer链表中clean Buffer区域的表头Header和偏移量offset,定位对应的clean Buffer区域,基于该定位出的clean Buffer区域中数据信息确定该clean Buffer区域的优先级;所述数据信息至少包括:数据存在的时间、更新频率;依据各clean Buffer区域的优先级确定需要执行数据淘汰操作的目标clean Buffer区域,对所述目标cleanBuffer区域执行数据淘汰操作。
9.一种应用于存储系统的Buffer管理装置,其特征在于,该装置应用于所述存储系统中被部署的基于硬件实现的Buffer管理组件,所述Buffer管理组件通过所述存储系统中的系统总线访问所述存储系统中的存储器,该装置包括:
Buffer分配器,通过硬件实现,用于在确定当前需要为目标任务Task分配Buffer的情况下,基于目标任务的目标任务类型当前所对应的Buffer分配速度,从目标任务类型对应的Buffer区域中获得目标任务所需的可用的目标Buffer块,以基于所述目标Buffer块执行目标任务;所述存储系统中指定Buffer空间被划分为至少一个任务类型对应的Buffer区域,每一Buffer区域包括至少一个Buffer块;
Buffer分配控制器,通过硬件实现,用于在当前调整周期确定需要调整所述目标任务类型当前对应的Buffer分配速度的情况下,若基于上一调整周期内所述目标任务类型对应的Buffer区域中可用buffer块被占用的数量、和/或所述目标任务的执行速度,预估当前调整周期内目标任务类型对应的Buffer区域中的可用Buffer块的数量不足,则降低Buffer分配速度,以使得在当前调整周期内进行Buffer分配时抑制由所述目标任务类型对应的Buffer区域中可用buffer块不足引起的存储性能骤变。
10.一种存储设备,其特征在于,所述存储设备至少包括:基于硬件实现的Buffer管理组件、Buffer、系统总线;
其中,所述Buffer管理组件通过所述存储设备中的系统总线访问Buffer;所述Buffer管理组件,被用于执行如权利要求1至8任一方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310219137.5A CN116483260A (zh) | 2023-03-08 | 2023-03-08 | Buffer管理方法、装置及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310219137.5A CN116483260A (zh) | 2023-03-08 | 2023-03-08 | Buffer管理方法、装置及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483260A true CN116483260A (zh) | 2023-07-25 |
Family
ID=87218453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310219137.5A Pending CN116483260A (zh) | 2023-03-08 | 2023-03-08 | Buffer管理方法、装置及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483260A (zh) |
-
2023
- 2023-03-08 CN CN202310219137.5A patent/CN116483260A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5613260B2 (ja) | フラッシュ型メモリ・システムにおけるアクセス競合の低減方法、プログラム及びシステム | |
KR102380670B1 (ko) | 메모리 제어기에서의 세분화된 대역폭 프로비저닝 | |
JP3962368B2 (ja) | 共用リソースを動的に割り振るためのシステムおよび方法 | |
US8190795B2 (en) | Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program | |
AU2012352178B2 (en) | Working set swapping using a sequentially ordered swap file | |
US7673105B2 (en) | Managing memory pages | |
US9223712B2 (en) | Data cache method, device, and system in a multi-node system | |
WO2015169145A1 (zh) | 内存管理方法和设备 | |
US20090182929A1 (en) | Method and apparatus for storing and restoring state of virtual machine | |
EP2784683B1 (en) | Storage control program, storage control method, storage system and hierarchy control apparatus thereof | |
JP2015508924A (ja) | 複合不揮発性記憶装置のためのデータ移行 | |
US9507633B2 (en) | Scheduling method and system | |
CN113204407B (zh) | 一种内存超配管理方法及装置 | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
KR20130106392A (ko) | 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당 | |
CN110727517A (zh) | 一种基于分区设计的内存分配方法和装置 | |
CN111309644A (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
US20080244118A1 (en) | Method and apparatus for sharing buffers | |
CN115421924A (zh) | 一种内存分配方法、装置及设备 | |
CN114063894A (zh) | 一种协程执行方法及装置 | |
US10664393B2 (en) | Storage control apparatus for managing pages of cache and computer-readable storage medium storing program | |
CN110119245B (zh) | 用于操作nand闪存物理空间以扩展存储器容量的方法和系统 | |
US9317306B2 (en) | Computer device and memory management method thereof | |
CN116710886A (zh) | 精简配置的分离式存储器中的页面调度 | |
CN110209350B (zh) | 一种混合存储架构hpc系统中应用i/o请求的动态调度方法 |
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 |