CN112181315B - 一种数据刷盘方法及装置 - Google Patents
一种数据刷盘方法及装置 Download PDFInfo
- Publication number
- CN112181315B CN112181315B CN202011191101.3A CN202011191101A CN112181315B CN 112181315 B CN112181315 B CN 112181315B CN 202011191101 A CN202011191101 A CN 202011191101A CN 112181315 B CN112181315 B CN 112181315B
- Authority
- CN
- China
- Prior art keywords
- data
- management partition
- target
- partition
- logical management
- 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 59
- 238000007726 management method Methods 0.000 claims abstract description 305
- 238000005192 partition Methods 0.000 claims abstract description 300
- 238000011010 flushing procedure Methods 0.000 claims abstract description 50
- 238000013507 mapping Methods 0.000 claims abstract description 13
- 238000013506 data mapping Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 26
- 230000001680 brushing effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/0614—Improving the reliability of storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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 Of A Hierarchy Structure (AREA)
Abstract
本申请涉及数据存储技术领域,特别涉及一种数据刷盘方法及装置。该方法应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述方法包括:在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;对所述目标逻辑管理分区缓存的数据进行刷盘处理。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据刷盘方法及装置。
背景技术
在存储阵列中,存储系统性能能力主要取决于内存、cpu、硬盘这三个部件。在硬盘的选择中,业界主要的类型有HDD和SSD两大类:为了同时兼顾性能和成本,存储阵列往往会采用混闪配置,通过SSD提供性能加速, HDD作为主要存储介质来达到成本和性能的目标。
当SSD为HDD提供写缓存时,由于SSD的容量总是小于HDD,所以随着数据不断的写入,最终SSD将会耗尽其空间。此时需要将之前写入的脏数据(已写入SSD但尚未写入HDD的数据被称为“脏数据”,否则称为“干净数据”)写入HDD,这个过程叫做刷盘。已经刷盘的干净数据就可以被淘汰,以释放空间来接纳新的数据。刷盘算法决定了选择哪些数据写入HDD,一般是选择最近没有被访问过的数据,这样可以更加有效的利用SSD的数据块,从而使系统整体的性能更优。
由于刷盘的目的是为了把脏数据装换成干净数据,以便尽快淘汰释放出空间来接纳新的数据,当前大部分的cache刷盘算法主要是遵从与两类常见的缓存淘汰策略:最近最少使用置换算法(Least Recently Used,LRU)和最近最不常用置换算法(LeastFrequently Used,LFU)。
然而,HDD机械硬盘处理用户请求的耗时主要分为两部分:寻道时间 (AverageSeek Time)+旋转延迟(Average Latency),因此衡量HDD盘的性能可以采用以下公式:IOPS=1000/(寻道时间+旋转延迟)。若采用LRU 或LFU进行刷盘,并未考虑到HDD盘的性能特征,连续下盘的两个数据块在HHD盘上相隔较远,这样,就可能导致刷盘业务模型对HDD不够亲和,脏数据写入速率太慢,对外性能表现不佳。
发明内容
本申请提供了一种数据刷盘方法及装置,用以解决现有技术中存在的业务亲和性不高的问题。
第一方面,本申请提供了一种数据刷盘方法,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述方法包括:
在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;
根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;
对所述目标逻辑管理分区缓存的数据进行刷盘处理。
可选地,根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区的步骤包括:
针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与所述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断所述一个逻辑管理分区的数据热度与所述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若所述第一比值大于等于所述第一设定阈值,且所述第二比值小于等于所述第二设定阈值,则将所述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
可选地,在确定触发刷盘操作之前,所述方法还包括:
判断所述SSD的使用率是否大于等于设定值;
若判定所述SSD的使用率大于等于设定值,则确定触发刷盘操作。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理的步骤包括:
确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理;
在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;
若存在,则对所述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;
若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理的步骤包括:
将所述目标逻辑管理分区中缓存的数据写入所述HDD中;或者,
将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
第二方面,本申请提供了一种数据刷盘装置,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述装置包括:
计算单元,用于在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;
确定单元,用于根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;
刷盘单元,用于对所述目标逻辑管理分区缓存的数据进行刷盘处理。
可选地,根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区时,所述确定单元具体用于:
针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与所述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断所述一个逻辑管理分区的数据热度与所述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若所述第一比值大于等于所述第一设定阈值,且所述第二比值小于等于所述第二设定阈值,则将所述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
可选地,在确定触发刷盘操作之前,所述装置还包括:
判断单元,用于判断所述SSD的使用率是否大于等于设定值;
若所述判断单元判定所述SSD的使用率大于等于设定值,则所述确定单元确定触发刷盘操作。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元具体用于:
确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理;
在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;
若存在,则对所述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;
若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元具体用于:
将所述目标逻辑管理分区中缓存的数据写入所述HDD中;或者,
将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
第三方面,本申请实施例提供一种数据刷盘装置,该可选地装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的数据刷盘方法,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述方法包括:在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;对所述目标逻辑管理分区缓存的数据进行刷盘处理。
采用本申请实施例提供的数据刷盘方法,通过计算各逻辑管理分区的数据量和数据热度,确定出满足预设条件的需进行刷盘处理的逻辑管理分区,以逻辑管理分区为刷盘单位,在对一个逻辑管理分区的多个数据块进行刷盘操作时,避免出现HDD盘磁头大幅度移动的情况,降低了HDD盘寻道时间,使得刷盘业务更亲和,从而提升存储系统整体性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种数据刷盘方法的详细流程图;
图2为本申请实施例提供的一种SSD与HDD之间的数据映射方式为组相连映射的映射示意图;
图3为本申请实施例提供的一种数据刷盘装置的结构示意图;
图4为本申请实施例提供的另一种数据刷盘装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种数据刷盘方法的详细流程图,该方法应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,该方法包括以下步骤:
步骤100:在确定触发刷盘操作时,分别计算上述SSD中各逻辑管理分区的数据量和数据热度,并计算上述各逻辑管理分区的数据量平均值和数据热度平均值。
本申请实施例中,在执行步骤100之前,所述方法还包括以下步骤:判断所述SSD的使用率是否大于等于设定值;若判定所述SSD的使用率大于等于设定值,则确定触发刷盘操作。
也就是说,本申请实施例中,一种较佳地实现方式为,存储系统在确定SSD 的使用率大于设定值时,触发执行刷盘操作。例如,假设存储系统的SSD可缓存的总数据块个数为26个,当用户一次写入24个目标数据块后,确定触发刷盘操作。即SSD盘的使用率大于等于24/26时,确定触发刷盘操作。
当然,此刷盘触发方式为多种触发方式中的一种示例,本申请实施例中,在此不做具体限定。
本申请实施例中,存储系统的SSD与HDD之间的数据映射方式为组相连映射,即SSD的管理中引入了逻辑管理分区的概念,其划分依据是对应HDD 上的数据块访问位置,示例性的,参阅图2所示,为本申请提供的一种SSD与 HDD之间的数据映射方式为组相连映射的映射示意图。具体地,SSD被划分为 5个逻辑管理分区(逻辑管理分区1,逻辑管理分区2,逻辑管理分区3,逻辑管理分区4和逻辑管理分区5),HDD上的数据块空间被划分为与5个逻辑管理分区一一对应的5个数据块空间(使用逻辑管理分区1作为写缓存加速的数据块空间1,使用逻辑管理分区2作为写缓存加速的数据块空间2,使用逻辑管理分区3作为写缓存加速的数据块空间3,使用逻辑管理分区4作为写缓存加速的数据块空间4和使用逻辑管理分区5作为写缓存加速的数据块空间5)。也就是说,逻辑管理分区1只用于缓存写入数据块空间1的数据块,以此类推,逻辑管理分区5只用于缓存写入数据块空间5的数据块。
那么,存储系统在确定触发刷盘操作时,分别统计各逻辑管理分区当前缓存的数据块的数量和各逻辑管理分区当前缓存的数据块的数据热度,并统计各逻辑管理分区当前缓存的数据块的平均数量和各逻辑管理分区当前缓存的数据块的平均热度。
示例性的,结合图2,假设分别统计得到的各逻辑管理分区的数据量,热度,平均数据量和平均热度,以及分别根据各逻辑管理分区的数据量和数据热度计算出的热度比如表1所示。具体地,逻辑管理分区1的数据量为9,热度为2,热度比为2/9=0.222222;逻辑管理分区2的数据量为4,热度为1,热度比为 1/4=0.25;逻辑管理分区3的数据量为4,热度为0,热度比为0;逻辑管理分区 4的数据量为4,热度为2,热度比为2/4=0.5;逻辑管理分区5的数据量为4,热度为0,热度比为0;各逻辑管理分区的平均数据量为(9+4+3+4+4)/5=4.8,平均热度为(2+1+2)/5=1,平均热度比为1/4.8=0.208333。
逻辑管理分区ID | 数据量 | 热度 | 热度比 |
1 | 9 | 2 | 0.222222 |
2 | 4 | 1 | 0.25 |
3 | 3 | 0 | 0 |
4 | 4 | 2 | 0.5 |
5 | 4 | 0 | 0 |
平均值 | 4.8 | 1 | 0.208333 |
表1
步骤110:根据上述各逻辑管理分区的数据量和上述各逻辑管理分区的数据量平均值,上述各逻辑管理分区的数据热度以及上述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区。
本申请实施例中,根据上述各逻辑管理分区的数据量和上述各逻辑管理分区的数据量平均值,上述各逻辑管理分区的数据热度以及上述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区时,一种较佳地实现方式为,针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与上述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断上述一个逻辑管理分区的数据热度与上述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若上述第一比值大于等于上述第一设定阈值,且上述第二比值小于等于上述第二设定阈值,则将上述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
例如,结合表1所示,假设第一设定阈值为80%,第二设定阈值为200%,那么,由于计算出的逻辑管理分区1的数据量(9)与各逻辑管理分区的平均数据量(4.8)之间的第一比值(9/4.8)大于第一设定阈值(80%),且逻辑管理分区1的数据热度(2)与各逻辑管理分区的平均数据量(1)之间的二比值(2/1) 等于第二设定阈值(200%),则确定逻辑管理分区1为需要进行刷盘处理的目标逻辑管理分区,同理,可以确定出逻辑管理分区2,逻辑管理分区4和逻辑管理分区5均为需要进行刷盘处理的目标逻辑管理分区。
本申请实施例中,一种较佳地实现方式为,将确定出的需要进行刷盘处理的目标管理逻辑管理分区列入待刷盘逻辑管理分区列表中;在后续刷盘过程中,将已完成刷盘处理的逻辑管理分区从待刷盘逻辑管理分区列表中移除。
当然,第一设定阈值和第二设定阈值为用户可配置的参数,可以根据不同应用场景和/或不同用户需求进行自定义配置,本申请实施例中,在此不做具体限定。
步骤120:对上述目标逻辑管理分区缓存的数据进行刷盘处理。
本申请实施例中,在对上述目标逻辑管理分区缓存的数据进行刷盘处理时,一种较佳地实现方式为,确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理;在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;若存在,则对上述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
也就是说,假设确定出的需要进行刷盘处理的目标逻辑管理分区包括逻辑管理分区1,逻辑管理分区2,逻辑管理分区4和逻辑管理分区5,在开始执行刷盘时,当前未处理的目标逻辑管理分区包括4个逻辑管理分区,而该4个逻辑管理分区中热度比最低的逻辑管理分区为逻辑管理分区5,那么,此时可以对逻辑管理分区5进行刷盘处理,若逻辑管理分区5刷盘处理完成后,当前未处理的目标逻辑管理分区包括3个逻辑管理分区,则继续判断是否存在与逻辑管理分区5相邻的,且需要进行刷盘处理的其它逻辑管理分区,由于逻辑管理分区4与逻辑管理分区5相邻,且需要进行进行刷盘处理,则直接对逻辑管理分区4进行刷盘处理,若逻辑管理分区4刷盘完成后,当前未处理的目标逻辑管理分区包括2个逻辑管理分区,此时,若通过判断确定不存在与逻辑管理分区4 相邻,且需要进行刷盘处理的其它逻辑管理分区,则继续从当前未处理的2个逻辑管理分区中确定出逻辑管理分区1的热度比最低,对逻辑管理分区1进行刷盘处理,逻辑管理分区2与逻辑管理分区1相邻,且需要进行刷盘处理,在逻辑管理分区2刷盘处理完成后,直接丢逻辑管理分区1进行刷盘处理,完成此次刷盘操作。
本申请实施例中,在对目标逻辑管理分区缓存的数据进行刷盘处理时,一种较佳地实现方式为,将所述目标逻辑管理分区中缓存的数据写入所述HDD中。
也就是说,将目标逻辑管理分区中缓存的所有数据块均写入HDD中。
进一步地,本申请实施例中,在对目标逻辑管理分区缓存的数据进行刷盘处理时,另一种较佳地实现方式为,将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
也就是说,将目标逻辑管理分区中缓存的数据热度低于设定值的数据写入 HDD中。
基于与上述方法实施例同样的发明构思,示例性的,参阅图3所示,为本申请实施例提供的一种数据刷盘装置的结构示意图,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述装置包括:
计算单元30,用于在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;
确定单元31,用于根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;
刷盘单元32,用于对所述目标逻辑管理分区缓存的数据进行刷盘处理。
可选地,根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区时,所述确定单元31具体用于:
针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与所述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断所述一个逻辑管理分区的数据热度与所述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若所述第一比值大于等于所述第一设定阈值,且所述第二比值小于等于所述第二设定阈值,则将所述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
可选地,在确定触发刷盘操作之前,所述装置还包括:
判断单元,用于判断所述SSD的使用率是否大于等于设定值;
若所述判断单元判定所述SSD的使用率大于等于设定值,则所述确定单元确定触发刷盘操作。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元32具体用于:
确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理;
在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;
若存在,则对所述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;
若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
可选地,对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元32具体用于:
将所述目标逻辑管理分区中缓存的数据写入所述HDD中;或者,
将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统 (system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的数据刷盘装置,从硬件层面而言,所述数据刷盘装置的硬件架构示意图可以参见图4所示,所述数据刷盘装置可以包括:存储器40和处理器41,
存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种数据刷盘方法,其特征在于,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述方法包括:
在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;
根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;
对所述目标逻辑管理分区缓存的数据进行刷盘处理;
对所述目标逻辑管理分区缓存的数据进行刷盘处理的步骤包括:
确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理,其中,一个逻辑管理分区的热度比为该逻辑管理分区的数据热度与数据量的比值;
在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;
若存在,则对所述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;
若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
2.如权利要求1所述的方法,其特征在于,根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区的步骤包括:
针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与所述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断所述一个逻辑管理分区的数据热度与所述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若所述第一比值大于等于所述第一设定阈值,且所述第二比值小于等于所述第二设定阈值,则将所述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
3.如权利要求1所述的方法,其特征在于,在确定触发刷盘操作之前,所述方法还包括:
判断所述SSD的使用率是否大于等于设定值;
若判定所述SSD的使用率大于等于设定值,则确定触发刷盘操作。
4.如权利要求1-3任一项所述的方法,其特征在于,对所述目标逻辑管理分区缓存的数据进行刷盘处理的步骤包括:
将所述目标逻辑管理分区中缓存的数据写入所述HDD中;或者,
将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
5.一种数据刷盘装置,其特征在于,应用于SSD为HDD提供写缓存的存储系统,所述SSD与所述HDD之间的数据映射方式为组相连映射,所述装置包括:
计算单元,用于在确定触发刷盘操作时,分别计算所述SSD中各逻辑管理分区的数据量和数据热度,并计算所述各逻辑管理分区的数据量平均值和数据热度平均值;
确定单元,用于根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区;
刷盘单元,用于对所述目标逻辑管理分区缓存的数据进行刷盘处理;
对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元具体用于:
确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区,并对该目标逻辑管理分区进行刷盘处理,其中,一个逻辑管理分区的热度比为该逻辑管理分区的数据热度与数据量的比值;
在确定当前处理的目标逻辑管理分区刷盘处理完成后,判断是否存在与该逻辑管理分区相邻的其它目标逻辑管理分区;
若存在,则对所述其它目标逻辑管理分区中的一个目标逻辑管理分区进行刷盘处理;
若不存在,则执行确定当前未处理的目标逻辑管理分区中热度比最低的一个目标逻辑管理分区的步骤。
6.如权利要求5所述的装置,其特征在于,根据所述各逻辑管理分区的数据量和所述各逻辑管理分区的数据量平均值,所述各逻辑管理分区的数据热度以及所述各逻辑管理分区的数据热度平均值确定出需进行刷盘处理的目标逻辑管理分区时,所述确定单元具体用于:
针对每一逻辑管理分区分别执行以下操作:判断一个逻辑管理分区的数据量与所述各逻辑管理分区的数据量平均值之第一比值是否大于等于第一设定阈值,并判断所述一个逻辑管理分区的数据热度与所述各逻辑管理分区的数据热度平均值之第二比值是否小于等于第二设定阈值;若所述第一比值大于等于所述第一设定阈值,且所述第二比值小于等于所述第二设定阈值,则将所述一个逻辑管理分区确定为需进行刷盘处理的目标逻辑管理分区。
7.如权利要求5所述的装置,其特征在于,在确定触发刷盘操作之前,所述装置还包括:
判断单元,用于判断所述SSD的使用率是否大于等于设定值;
若所述判断单元判定所述SSD的使用率大于等于设定值,则所述确定单元确定触发刷盘操作。
8.如权利要求5-7任一项所述的装置,其特征在于,对所述目标逻辑管理分区缓存的数据进行刷盘处理时,所述刷盘单元具体用于:
将所述目标逻辑管理分区中缓存的数据写入所述HDD中;或者,
将所述目标逻辑管理分区中缓存的,且数据冷度满足预设条件的数据写入所述HDD中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191101.3A CN112181315B (zh) | 2020-10-30 | 2020-10-30 | 一种数据刷盘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191101.3A CN112181315B (zh) | 2020-10-30 | 2020-10-30 | 一种数据刷盘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181315A CN112181315A (zh) | 2021-01-05 |
CN112181315B true CN112181315B (zh) | 2022-08-30 |
Family
ID=73918017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011191101.3A Active CN112181315B (zh) | 2020-10-30 | 2020-10-30 | 一种数据刷盘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181315B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
WO2016082550A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 缓存数据的刷盘方法及装置 |
CN105824579A (zh) * | 2016-03-17 | 2016-08-03 | 中国科学院计算技术研究所 | 一种捎带读写减小瓦记录写放大开销的方法 |
CN109062505A (zh) * | 2018-07-13 | 2018-12-21 | 南瑞集团有限公司 | 一种缓存策略写入分层硬件架构下的写性能优化方法 |
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN110858124A (zh) * | 2018-08-24 | 2020-03-03 | 华为技术有限公司 | 数据迁移方法及装置 |
CN111142803A (zh) * | 2019-12-29 | 2020-05-12 | 北京浪潮数据技术有限公司 | 一种元数据刷盘方法、装置、设备及介质 |
CN111552442A (zh) * | 2020-05-13 | 2020-08-18 | 重庆紫光华山智安科技有限公司 | 一种基于ssd的缓存管理系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970989B2 (en) * | 2006-06-30 | 2011-06-28 | Intel Corporation | Write ordering on disk cached platforms |
-
2020
- 2020-10-30 CN CN202011191101.3A patent/CN112181315B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
WO2016082550A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 缓存数据的刷盘方法及装置 |
CN105824579A (zh) * | 2016-03-17 | 2016-08-03 | 中国科学院计算技术研究所 | 一种捎带读写减小瓦记录写放大开销的方法 |
CN109062505A (zh) * | 2018-07-13 | 2018-12-21 | 南瑞集团有限公司 | 一种缓存策略写入分层硬件架构下的写性能优化方法 |
CN110858124A (zh) * | 2018-08-24 | 2020-03-03 | 华为技术有限公司 | 数据迁移方法及装置 |
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN111142803A (zh) * | 2019-12-29 | 2020-05-12 | 北京浪潮数据技术有限公司 | 一种元数据刷盘方法、装置、设备及介质 |
CN111552442A (zh) * | 2020-05-13 | 2020-08-18 | 重庆紫光华山智安科技有限公司 | 一种基于ssd的缓存管理系统及方法 |
Non-Patent Citations (3)
Title |
---|
Bo Wang ; Jie Tang ; Rui Zhang ; Wei Ding ; Shaoshan Liu ; Deyu Qi."Energy-Efficient Data Caching Framework for Spark in Hybrid DRAM/NVM Memory Architectures".《IEEE》.2019, * |
一种基于固态盘的磁盘缓存系统架构及其在子午工程数据中心业务系统中的应用;郭清溥等;《空间科学学报》;20130315(第02期);全文 * |
冗余磁盘阵列RAID 5性能损失研究;祝夭龙,裴先登,周学仁,杨荫溥;《计算机工程与设计》;19950628(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181315A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10739996B1 (en) | Enhanced garbage collection | |
JP5943095B2 (ja) | 複合不揮発性記憶装置のためのデータ移行 | |
CN104572491A (zh) | 一种基于固态硬盘的读缓存管理方法及装置 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
JP2014164769A (ja) | ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 | |
CN105487823A (zh) | 一种数据迁移的方法及装置 | |
CN107122130A (zh) | 一种数据重删方法及装置 | |
CN112783831A (zh) | 一种文件迁移方法及装置 | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN112015343B (zh) | 存储卷的缓存空间管理方法、装置及电子设备 | |
US10977180B2 (en) | Hit-based allocation of quotas of a cache space of a cache memory | |
US20180081563A1 (en) | Method and apparatus for reducing memory access latency | |
JP5447523B2 (ja) | データ処理装置、データ記録方法、データ記録プログラム | |
US11055228B2 (en) | Caching bypass mechanism for a multi-level memory | |
US8732404B2 (en) | Method and apparatus for managing buffer cache to perform page replacement by using reference time information regarding time at which page is referred to | |
CN112181315B (zh) | 一种数据刷盘方法及装置 | |
KR101105127B1 (ko) | 에스에스디 확장버퍼를 사용한 버퍼 캐쉬 관리 방법 및 에스에스디를 확장버퍼로서 사용하는 장치 | |
WO2018094620A1 (zh) | 一种内存分配方法和设备 | |
CN105612505A (zh) | Cpu调度的方法和装置 | |
US11789864B2 (en) | Flush method for mapping table of SSD | |
CN112800057B (zh) | 一种指纹表管理方法及装置 | |
KR102190688B1 (ko) | 관련된 응용들에 상호 참조하는 적응적 컨텍스트 스위칭을 수행하는 방법 및 시스템 | |
CN112256206B (zh) | 一种io处理方法及装置 | |
CN113986118B (zh) | 一种数据处理方法及装置 | |
CN110703982B (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 |