CN109284233B - 一种存储***的垃圾回收方法及相关装置 - Google Patents
一种存储***的垃圾回收方法及相关装置 Download PDFInfo
- Publication number
- CN109284233B CN109284233B CN201811087264.XA CN201811087264A CN109284233B CN 109284233 B CN109284233 B CN 109284233B CN 201811087264 A CN201811087264 A CN 201811087264A CN 109284233 B CN109284233 B CN 109284233B
- Authority
- CN
- China
- Prior art keywords
- coverage
- large block
- block space
- probability
- data
- 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 50
- 238000011084 recovery Methods 0.000 title claims description 14
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000010801 machine learning Methods 0.000 claims abstract description 33
- 238000004064 recycling Methods 0.000 claims abstract description 33
- 238000012549 training Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 10
- 239000002699 waste material Substances 0.000 abstract description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000003672 processing method Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/061—Improving I/O performance
-
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种存储***的垃圾回收方法,包括:获取IO特性和IO特性对应的IO覆盖状态,根据IO特性和IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;将覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;对所有待回收大块空间进行垃圾回收处理。通过机器学习训练的预测模型判断大块空间中的有效数据是否即将变为垃圾数据,从而避免对这种大块空间进行垃圾回收处理,提高IO存储***的IO性能,避免IO性能的浪费。本申请还公开了一种垃圾回收***、服务器以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种存储***的垃圾回收方法、垃圾回收***、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,互联网中存储的数据越来越多,为了提高数据存储的效率出现了AFA(全闪存存储)阵列。AFA阵列都是使用的SSD(固态硬盘)硬盘进行存储,由于SSD自身的写特点和擦写次数的限制,通常会将离散的数据聚合后进行重新写,实现对大块空间的垃圾回收处理,以便高效的利用SSD硬盘。
一般的,现有技术提供的垃圾回收方法是统计每个大块空间的垃圾数据的总量,选择垃圾数据最多的大块空间,作为待回收大块空间,将大块空间中的有效数据迁移至新的空间中,以释放大块空间的存储空间。
但是,现有技术中会存在当大块空间的有效数据迁移至新空间后就变成垃圾数据的情况,不仅没有达到垃圾回收方法的效果,还浪费了对有效数据进行迁移的存储***的IO(读写操作),影响主机的性能,还影响SSD硬盘的使用寿命。
因此,如何提高垃圾回收技术的效果是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种存储***的垃圾回收方法、垃圾回收***、服务器以及计算机可读存储介质,通过机器学习训练的预测模型判断大块空间中的有效数据是否即将变为垃圾数据,从而避免对这种大块空间进行垃圾回收处理,提高IO存储***的IO性能,避免IO性能的浪费。
为解决上述技术问题,本申请提供一种存储***的垃圾回收方法,包括:
获取IO特性和所述IO特性对应的IO覆盖状态,根据所述IO特性和所述IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;
根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
将所述覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
对所有所述待回收大块空间进行垃圾回收处理。
可选的,根据所述覆盖概率预测模型对所述大块空间进行预测处理,得到对应的覆盖概率,包括:
根据所述覆盖概率预测模型对所述大块空间的所有数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
可选的,根据所述覆盖概率预测模型对所述大块空间进行预测处理,得到对应的覆盖概率,包括:
根据数据块选取规则选择出所述大块空间的待预测数据块;
根据所述覆盖概率预测模型对所述大块空间的所有所述待预测数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
可选的,获取IO特性和所述IO特性对应的IO覆盖状态,根据所述IO 特性和所述IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型,包括:
获取预设时间段内的IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态;
根据预设时间段对所述IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到所述覆盖概率预测模型。
可选的,对所有所述待回收大块空间进行垃圾回收处理,包括:
将覆盖概率之差小于预设变化量的待回收大块空间的有效数据回收至相同的新大块空间中,以便完成垃圾回收处理。
本申请还提供一种存储***的垃圾回收***,包括:
机器学习训练模块,用于获取IO特性和所述IO特性对应的IO覆盖状态,根据所述IO特性和所述IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;
覆盖概率预测模块,用于根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
待回收标记模块,用于将所述覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
垃圾回收处理模块,用于对所有所述待回收大块空间进行垃圾回收处理。
可选的,所述覆盖概率预测模块,包括:
数据块概率预测单元,用于根据所述覆盖概率预测模型对所述大块空间的所有数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
覆盖概率相加单元,用于将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
可选的,所述机器学习训练模块,包括:
IO特性获取单元,用于获取预设时间段内的IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态;
训练单元,用于根据预设时间段对所述IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到所述覆盖概率预测模型。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的垃圾回收方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的垃圾回收方法的步骤。
本申请所提供的一种存储***的垃圾回收方法,包括:获取IO特性和所述IO特性对应的IO覆盖状态,根据所述IO特性和所述IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;将所述覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;对所有所述待回收大块空间进行垃圾回收处理。
通过获取的存储***中的IO特性和对应的IO覆盖状态进行机器学习训练处理,得到可以预测某一块IO数据被覆盖概率的覆盖概率预测模型,然后根据该覆盖概率预测模型就可以预测大块数据被写覆盖的概率,也就是预测从有效数据变为垃圾数据的概率,对高概率变为垃圾数据的大块空间不进行垃圾回收,对低概率变为垃圾数据的大块空间进行垃圾回收,也就是对不太会变成垃圾数据的大块空间进行垃圾回收,以提高存储***的IO性能,并且避免了无效垃圾回收造成的无效读写,避免了IO性能浪费,提高了SSD盘的运行寿命。
本申请还提供一种存储***的垃圾回收***、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种存储***的垃圾回收方法的流程图;
图2为本申请实施例所提供的垃圾回收方法的预测处理方法的流程图;
图3为本申请实施例所提供的垃圾回收方法的另一种预测处理方法的流程图;
图4为本申请实施例所提供的一种存储***的垃圾回收***的结构示意图。
具体实施方式
本申请的核心是提供一种存储***的垃圾回收方法、垃圾回收***、服务器以及计算机可读存储介质,通过机器学习训练的预测模型判断大块空间中的有效数据是否即将变为垃圾数据,从而避免对这种大块空间进行垃圾回收处理,提高IO存储***的IO性能,避免IO性能的浪费。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术提供的垃圾回收方法是统计每个大块空间的垃圾数据的总量,选择垃圾数据最多的大块空间,作为待回收大块空间,将大块空间中的有效数据迁移至新的空间中,以释放大块空间的存储空间。但是,现有技术中会存在当大块空间的有效数据迁移至新空间后就变成垃圾数据的情况,不仅没有达到垃圾回收方法的效果,还浪费了对有效数据进行迁移的存储***的IO (读写操作),影响主机的性能,还影响SSD硬盘的使用寿命。
因此,本申请实施例提供一种存储***的垃圾回收方法,通过获取的存储***中的IO特性和对应的IO覆盖状态进行机器学习训练处理,得到可以预测某一块IO数据被覆盖概率的覆盖概率预测模型,然后根据该覆盖概率预测模型就可以预测大块数据被写覆盖的概率,也就是预测从有效数据变为垃圾数据的概率,对高概率变为垃圾数据的大块空间不进行垃圾回收,对低概率变为垃圾数据的大块空间进行垃圾回收,也就是对不太会变成垃圾数据的大块空间进行垃圾回收,以提高存储***的IO性能,并且避免了无效垃圾回收造成的无效读写,避免了IO性能浪费,提高了SSD盘的运行寿命。
请参考图1,图1为本申请实施例所提供的一种存储***的垃圾回收方法的流程图。
该方法可以包括:
S101,获取IO特性和IO特性对应的IO覆盖状态,根据IO特性和IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;
本步骤主要是获取机器学习的特征数据,即本步骤中的IO特性和与该IO 特性对应的IO覆盖状态,然后根据特征数据进行机器学习的训练,得到覆盖概率预测模型。通过该覆盖概率预测模型和获取的IO特性就可以预测对应的存储地址上被写覆盖的概率。
其中,获取的特征数据可以是每个时间段中经常被覆盖的逻辑地址,具体时段和逻辑地址就是获取的IO特性,该IO特性所指的情况下逻辑地址的覆盖状态就是被写覆盖。特征数据还可以是热点数据区域的特征数据,例如,获取到某一地址区域的数据经常被写覆盖,那么就可以作为进行训练的特征数据。
其中,本实施例进行机器学习所采用的算法可以是贝叶斯算法,也可以是K近邻算法,还可以采用现有技术提供的任意一种机器学习的算法。可见本步骤中机器学习的算法并不唯一,在此不做具体限定。
可选的,本步骤可以包括:
步骤一、获取预设时间段内的IO逻辑地址和IO逻辑地址对应的IO覆盖状态;
步骤二、根据预设时间段对IO逻辑地址和IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到覆盖概率预测模型。
本可选方案即为获取IO逻辑地址和IO覆盖状态以及对应的预设时间段进行机器学习训练处理,得到覆盖概率预测模型。通过本可选方案的覆盖概率预测模型,就可以使用时间段和IO逻辑地址判断该逻辑地址的数据被写覆盖的概率,也就是变成垃圾数据的概率。
S102,根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
在步骤S101的基础上,本步骤旨在根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率。也就是计算多个大块空间的每个大块空间中的有效数据被写覆盖的概率,也即每个大块空间中的有效数据变成垃圾数据的概率。根据该覆盖概率就可以针对性的选择部分大块空间进行垃圾回收处理,而不是对所有大块空间一视同仁均进行垃圾回收处理,避免了IO性能的浪费,提高了IO的使用效率。
由于覆盖概率预测模型的不同,可以以不同的角度对大块空间进行预测处理,例如,如果覆盖概率预测模型在训练时,是以大块空间中的整体有效数据进行训练,那么本步骤中就是对大块空间进行整体的预测处理,即直接获取大块空间的特征数据,经过覆盖概率预测模型进行计算得到覆盖概率;如果覆盖概率预测模型在训练时,是以大块空间中的有效数据的每个数据块的IO特性进行训练,那么本步骤中就是对该大块空间的中的若干数据块进行预测处理,得到的若干对应的数据块覆盖概率,然后对若干数据块覆盖概率进行计算处理得到该大块空间的覆盖概率。因此,本步骤中对大块空间进行预测处理的方式并不唯一,在此不做具体限定。
具体的,针对数据块进行的预测处理,可以是该大块空间中的所有数据块进行预测,也可以是对该大块空间中的部分数据块进行预测,总之均会得到若干数据块覆盖概率。然后,根据这些若干数据块覆盖概率进行计算得到大块空间的覆盖概率,具体可以是将若干数据块覆盖概率求和得到和数作为大块空间的覆盖概率,也可以是将若干数据块覆盖概率求平均,将得到平均数作为大块空间的覆盖概率,还可以是将若干数据块覆盖概率求取加权平均,将加权平均数作为大块空间的覆盖概率。因此,此处对数据块进行预测处理的方式并不唯一,在此不做具体限定。
S103,将覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
在步骤S102的基础上,本步骤旨在将覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间,也就是将覆盖概率小于预测覆盖概率的大块空间视为可以进行垃圾回收的大块空间。其中,预设覆盖概率可以根据所有大块空间的覆盖概率进行设定,例如,所有覆盖概率的中值或小于30%的值,也可以是接收到的固定值,例如35%,还可以是随IO性能变化的值,所以,本步骤中预设覆盖概率的设定方式并不唯一,在此不做具体限定。
通过本步骤中将符合条件的大块空间标记为待回收大块空间,有可能获取到多个待回收大块空间,也有可能获取到1个待回收大块空间,均不作限定,随实际情况变化而变化。
假设,当前有A、B、C、D四个大块空间,对每个大块空间分别进行预测处理,得到多个覆盖概率,依次是70%、50%、90%、20%。其中,概率越大越容易被覆盖,也就是其中的有效数据越容易被新数据所覆盖,因此需要对覆盖概率较小的大块空间进行垃圾回收,以便将其中的有效数据进行合理利用。此时,预设覆盖概率为60%,因此,将B、D这两个大块空间进行垃圾回收处理。
S104,对所有待回收大块空间进行垃圾回收处理。
在步骤S103的基础上,本步骤旨在对待回收大块空间进行垃圾回收处理。本步骤中可以采用现有技术提供的任意一种垃圾回收处理,即将所有指定大块空间中的有效数据全部迁移至新的空间中集中存储。
得到了覆盖概率预测模型后,S102至S104可以作为一种处理方法单独执行。
还可以为了提高数据的利用率和利用效率,S104还可以包括:
将覆盖概率之差小于预设变化量的待回收大块空间的有效数据回收至相同的新大块空间中,以便完成垃圾回收处理。
也就是将在迁移有效数据时,可以依据有效数据的覆盖概率,将覆盖概率相近的有效数据迁移到相同的空间中,使得冷热数据可以进行分离,提高数据使用效率。
其中,覆盖概率之差小于预测变化量也就是任意两个待回收大块空间的覆盖概率之差小于预设概率,例如,两者之差小于5%,就可以将该两个单位的有效数据存放在统一个大块空间中。
需要说明的是,本实施例中在日常处理写请求的时候,还可以根据该写请求的情况继续进行机器学习,以便更新覆盖概率预测模型,提高后续预测的准确率。
综上,本实施例通过获取的存储***中的IO特性和对应的IO覆盖状态进行机器学习训练处理,得到可以预测某一块IO数据被覆盖概率的覆盖概率预测模型,然后根据该覆盖概率预测模型就可以预测大块数据被写覆盖的概率,也就是预测从有效数据变为垃圾数据的概率,对高概率变为垃圾数据的大块空间不进行垃圾回收,对低概率变为垃圾数据的大块空间进行垃圾回收,也就是对不太会变成垃圾数据的大块空间进行垃圾回收,以提高存储***的IO 性能,并且避免了无效垃圾回收造成的无效读写,避免了IO性能浪费,提高了SSD盘的运行寿命。
上一实施例中根据覆盖概率预测模型对多个大块空间进行的预测处理,可以采用现有技术提供的任意一种利用预测模型进行预测的处理方法。也可以为了提高预测准确率,在上一实施例的基础上,采用以下提供的一种预测处理方法。
请参考图2,图2为本申请实施例所提供的垃圾回收方法的预测处理方法的流程图。
该方法可以包括:
S201,根据覆盖概率预测模型对大块空间的所有数据块进行概率预测处理,得到大块空间对应的多个数据块覆盖概率;
本步骤旨在根据覆盖概率预测模型对大块空间中的每个有效数据的数据块进行概率预测处理,一个大块空间相应的就会得到该大块空间中所有的数据块的数据块覆盖概率。
具体的,本步骤中根据覆盖概率预测模型对数据块进行预测处理,是获取该数据块的IO特性在覆盖概率预测模型中进行匹配,匹配方式可以是根据 IO特性查找最接近的模型中已经记录的IO特性,获取其对应的IO覆盖状态,根据该IO特性的接近程度计算该数据块的覆盖概率;匹配方式还可以使将IO 特性在模型进行计算,得到其IO覆盖状态的可能性,即覆盖概率;匹配方式也可以是当覆盖概率预测模型是曲线模型时,根据获取的IO特性在该曲线模型中查找对应的点获取到对应的覆盖概率。所以,本步骤中的预测处理的方式并不唯一,在此不做具体限定。
S202,将大块空间的所有数据块覆盖概率相加,得到对应的覆盖概率。
在步骤S101的基础上,本步骤旨在将每个大块空间的所有数据块覆盖概率相加就得到了该大块空间的覆盖概率。
需要说明的是,本实施例是计算一个大块空间的覆盖概率的方法,当计算多个大块空间的覆盖概率时,需要多次重复本实施例的步骤即可完成预测处理。
假设,现在有4个大块空间,分别是A、B、C、D,每个大块空间中有4 个数据块,分别是A1、A2、A3、A4、B1、B2、B3、B4、C1、C2、C3、C4、 D1、D2、D3、D4。通过概率预测模型对每个大块空间的所有数据块均进行预测处理,也就是对A1至D4的数据块均进行预测处理,依次会得到A、B、C、 D这些大块空间中所有的数据块的覆盖概率,就是A中的A1、A2、A3、A4四个数据块的覆盖概率,B中的B1、B2、B3、B4四个数据块的覆盖概率,C中的C1、C2、C3、C4四个数据块的覆盖概率,以及D中的D1、D2、D3、D4四个数据块的覆盖概率。将A1、A2、A3、A4四个数据块的覆盖概率相加就可以得到A的覆盖概率,将B1、B2、B3、B4四个数据块的覆盖概率相加就可以得到B的覆盖概率,将C1、C2、C3、C4四个数据块的覆盖概率相加就可以得到 C的覆盖概率,将D1、D2、D3、D4四个数据块的覆盖概率相加就可以得到D 的覆盖概率。
本实施例通过计算所有的数据块的覆盖概率从而得到大块空间的覆盖概率,缩小覆盖概率计算的单位,提高覆盖概率的计算精度。
上一实施例中采用了所有数据块的数据块覆盖概率计算大块空间的覆盖概率。为了提高计算覆盖概率的速度,在上一实施例的基础上,本实施例采用部分数据块的数据块覆盖概率计算大块空间的覆盖概率。
请参考图3,图3为本申请实施例所提供的垃圾回收方法的另一种预测处理方法的流程图。
该方法可以包括:
S301,根据数据块选取规则选择出大块空间的待预测数据块;
本步骤中的数据块选取规则主要是选取出大块空间中部分的数据块,作为待预测数据块。减少数据块的数量,减少计算覆盖概率的时间,提高预测处理的速度。
其中,数据块选取规则可以是随机从所有数据块中选取预设数量的数据块,也可以是随机从所有数据块中选取预设比例数量的数据块,还可以是相隔预设单位选取数据块作为待预测数据块。因此,本步骤中的数据块选取规则并不唯一,在此不作具体限定,只要本步骤从所有的数据块中选取部分的数据块作为待预测数据块即可,以便减少计算覆盖概率的数据块数量。
具体的,本步骤中根据覆盖概率预测模型对数据块进行预测处理,是获取该数据块的IO特性在覆盖概率预测模型中进行匹配,匹配方式可以是根据 IO特性查找最接近的模型中已经记录的IO特性,获取其对应的IO覆盖状态,根据该IO特性的接近程度计算该数据块的覆盖概率;匹配方式还可以使将IO 特性在模型进行计算,得到其IO覆盖状态的可能性,即覆盖概率;匹配方式也可以是当覆盖概率预测模型是曲线模型时,根据获取的IO特性在该曲线模型中查找对应的点获取到对应的覆盖概率。所以,本步骤中的预测处理的方式并不唯一,在此不做具体限定。
S302,根据覆盖概率预测模型对大块空间的待预测数据块进行概率预测处理,得到大块空间对应的多个数据块覆盖概率;
在步骤S301的基础上,本步骤旨在对大块空间中的所有待预测数据块进行概率预测处理,得到多个数据块覆盖概率。
S303,将每个大块空间的所有数据块覆盖概率相加,得到对应的覆盖概率。
在步骤S302的基础上,本步骤旨在将得到的所有数据块覆盖概率相加,得到该大块空间对应的覆盖概率。
需要说明的是,本实施例是计算一个大块空间的覆盖概率的方法,当计算多个大块空间的覆盖概率时,需要多次重复本实施例的步骤即可完成预测处理。
假设,现在有4个大块空间,分别是A、B、C、D,每个大块空间中有4 个数据块,分别是A1、A2、A3、A4、B1、B2、B3、B4、C1、C2、C3、C4、 D1、D2、D3、D4。通过选取规则可以选择出每个大块空间的前两个数据块作为待预测数据块,也就是A1、A2、B1、B2、C1、C2、D1、D2。
通过概率预测模型对每个大块空间的待预测数据块均进行预测处理,也就是对A1、A2、B1、B2、C1、C2、D1、D2均进行预测处理,依次会得到A、 B、C、D这些大块空间中所有待预测数据块的覆盖概率,就是A中的A1、A2 两个数据块的覆盖概率,B中的B1、B2两个数据块的覆盖概率,C中的C1、 C2两个数据块的覆盖概率,以及D中的D1、D2两个数据块的覆盖概率。
A1、A2两个数据块的覆盖概率相加就可以得到A的覆盖概率,将B1、B2 两个数据块的覆盖概率相加就可以得到B的覆盖概率,将C1、C2两个数据块的覆盖概率相加就可以得到C的覆盖概率,将D1、D2两个数据块的覆盖概率相加就可以得到D的覆盖概率。
本实施例中由于只计算了部分的数据块的覆盖概率,减少了数据块的计算数量,相应的提高了预测处理的处理速度。
下面对本申请实施例提供的一种垃圾回收***进行介绍,下文描述的一种垃圾回收***与上文描述的一种垃圾回收方法可相互对应参照。
请参考图4,图4为本申请实施例所提供的一种存储***的垃圾回收***的结构示意图。
该***可以包括:
机器学习训练模块100,用于获取IO特性和IO特性对应的IO覆盖状态,根据IO特性和IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;
覆盖概率预测模块200,用于根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
待回收标记模块300,用于将覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
垃圾回收处理模块400,用于对所有待回收大块空间进行垃圾回收处理。
可选的,该覆盖概率预测模块200,可以包括:
数据块概率预测单元,用于根据覆盖概率预测模型对大块空间的所有数据块进行概率预测处理,得到大块空间对应的多个数据块覆盖概率;
覆盖概率相加单元,用于将大块空间的所有数据块覆盖概率相加,得到对应的覆盖概率。
可选的,该机器学习训练模块100,可以包括:
IO特性获取单元,用于获取预设时间段内的IO逻辑地址和IO逻辑地址对应的IO覆盖状态;
训练单元,用于根据预设时间段对IO逻辑地址和IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到覆盖概率预测模型。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的垃圾回收方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的垃圾回收方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种存储***的垃圾回收方法、垃圾回收***、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (8)
1.一种存储***的垃圾回收方法,其特征在于,包括:
获取预设时间段内的IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态;
根据预设时间段对所述IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到覆盖概率预测模型;
根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
将所述覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
对所有所述待回收大块空间进行垃圾回收处理。
2.根据权利要求1所述的垃圾回收方法,其特征在于,根据所述覆盖概率预测模型对所述大块空间进行预测处理,得到对应的覆盖概率,包括:
根据所述覆盖概率预测模型对所述大块空间的所有数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
3.根据权利要求1所述的垃圾回收方法,其特征在于,根据所述覆盖概率预测模型对所述大块空间进行预测处理,得到对应的覆盖概率,包括:
根据数据块选取规则选择出所述大块空间的待预测数据块;
根据所述覆盖概率预测模型对所述大块空间的所有所述待预测数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
4.根据权利要求1至3任一项所述的垃圾回收方法,其特征在于,对所有所述待回收大块空间进行垃圾回收处理,包括:
将覆盖概率之差小于预设变化量的待回收大块空间的有效数据回收至相同的新大块空间中,以便完成垃圾回收处理。
5.一种存储***的垃圾回收***,其特征在于,包括:
机器学习训练模块,用于获取IO特性和所述IO特性对应的IO覆盖状态,根据所述IO特性和所述IO覆盖状态进行机器学习训练处理,得到覆盖概率预测模型;
覆盖概率预测模块,用于根据所述覆盖概率预测模型分别对每个大块空间进行预测处理,得到多个覆盖概率;
待回收标记模块,用于将所述覆盖概率小于预设覆盖概率的大块空间标记为待回收大块空间;
垃圾回收处理模块,用于对所有所述待回收大块空间进行垃圾回收处理;
其中,所述机器学习训练模块,包括:
IO特性获取单元,用于获取预设时间段内的IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态;
训练单元,用于根据预设时间段对所述IO逻辑地址和所述IO逻辑地址对应的IO覆盖状态进行机器学习处理,得到所述覆盖概率预测模型。
6.根据权利要求5所述的垃圾回收***,其特征在于,所述覆盖概率预测模块,包括:
数据块概率预测单元,用于根据所述覆盖概率预测模型对所述大块空间的所有数据块进行概率预测处理,得到所述大块空间对应的多个数据块覆盖概率;
覆盖概率相加单元,用于将所述大块空间的所有数据块覆盖概率相加,得到对应的所述覆盖概率。
7.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的垃圾回收方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的垃圾回收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811087264.XA CN109284233B (zh) | 2018-09-18 | 2018-09-18 | 一种存储***的垃圾回收方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811087264.XA CN109284233B (zh) | 2018-09-18 | 2018-09-18 | 一种存储***的垃圾回收方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284233A CN109284233A (zh) | 2019-01-29 |
CN109284233B true CN109284233B (zh) | 2022-02-18 |
Family
ID=65181006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811087264.XA Active CN109284233B (zh) | 2018-09-18 | 2018-09-18 | 一种存储***的垃圾回收方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284233B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913649B (zh) * | 2019-05-09 | 2022-05-06 | 深圳大普微电子科技有限公司 | 一种固态硬盘的数据处理方法及装置 |
KR20210017401A (ko) * | 2019-08-08 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법과, 이를 위한 컨트롤러 |
CN111158598B (zh) * | 2019-12-29 | 2022-03-22 | 北京浪潮数据技术有限公司 | 一种全闪磁盘阵列的垃圾回收方法、装置、设备及介质 |
CN113971137A (zh) * | 2020-07-22 | 2022-01-25 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
CN112860593A (zh) * | 2021-02-09 | 2021-05-28 | 山东英信计算机技术有限公司 | 一种存储***的gc性能预测方法、***、介质及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及*** |
CN103577338A (zh) * | 2013-11-14 | 2014-02-12 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
CN104216665A (zh) * | 2014-09-01 | 2014-12-17 | 上海新储集成电路有限公司 | 多层单元固态硬盘的存储管理方法 |
US9141457B1 (en) * | 2013-09-25 | 2015-09-22 | Emc Corporation | System and method for predicting multiple-disk failures |
CN105204783A (zh) * | 2015-10-13 | 2015-12-30 | 华中科技大学 | 一种基于数据生存期的固态盘垃圾回收方法 |
CN106874213A (zh) * | 2017-01-12 | 2017-06-20 | 杭州电子科技大学 | 一种融合多种机器学习算法的固态硬盘热数据识别方法 |
CN107102954A (zh) * | 2017-04-27 | 2017-08-29 | 华中科技大学 | 一种基于失效概率的固态存储分级管理方法及*** |
CN107479825A (zh) * | 2017-06-30 | 2017-12-15 | 华为技术有限公司 | 一种存储***、固态硬盘和数据存储方法 |
CN108241471A (zh) * | 2017-11-29 | 2018-07-03 | 深圳忆联信息***有限公司 | 一种提升固态硬盘性能的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527544B1 (en) * | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
-
2018
- 2018-09-18 CN CN201811087264.XA patent/CN109284233B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及*** |
US9141457B1 (en) * | 2013-09-25 | 2015-09-22 | Emc Corporation | System and method for predicting multiple-disk failures |
CN103577338A (zh) * | 2013-11-14 | 2014-02-12 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
CN104216665A (zh) * | 2014-09-01 | 2014-12-17 | 上海新储集成电路有限公司 | 多层单元固态硬盘的存储管理方法 |
CN105204783A (zh) * | 2015-10-13 | 2015-12-30 | 华中科技大学 | 一种基于数据生存期的固态盘垃圾回收方法 |
CN106874213A (zh) * | 2017-01-12 | 2017-06-20 | 杭州电子科技大学 | 一种融合多种机器学习算法的固态硬盘热数据识别方法 |
CN107102954A (zh) * | 2017-04-27 | 2017-08-29 | 华中科技大学 | 一种基于失效概率的固态存储分级管理方法及*** |
CN107479825A (zh) * | 2017-06-30 | 2017-12-15 | 华为技术有限公司 | 一种存储***、固态硬盘和数据存储方法 |
CN108241471A (zh) * | 2017-11-29 | 2018-07-03 | 深圳忆联信息***有限公司 | 一种提升固态硬盘性能的方法 |
Non-Patent Citations (1)
Title |
---|
基于页面写相关的闪存转换层策略;陈金忠;《通信学报》;20130630;第34卷(第6期);第76-84页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109284233A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284233B (zh) | 一种存储***的垃圾回收方法及相关装置 | |
CN111045956B (zh) | 一种基于多核cpu的固态硬盘垃圾回收方法以及装置 | |
CN1645516B (zh) | 用于闪速存储器的数据恢复设备和方法 | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
CN112328169B (zh) | 固态硬盘的磨损均衡方法、装置及计算机可读存储介质 | |
CN108776614B (zh) | 存储块的回收方法和装置 | |
CN110134215B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US20220327018A1 (en) | Behavior-driven die management on solid-state drives | |
CN115756312A (zh) | 数据访问***、数据访问方法和存储介质 | |
CN111813347B (zh) | 垃圾回收空间管理方法、装置及计算机可读存储介质 | |
CN104156321A (zh) | 一种数据预取的方法以及装置 | |
CN114968839A (zh) | 硬盘垃圾回收方法、装置、设备及计算机可读存储介质 | |
US9785374B2 (en) | Storage device management in computing systems | |
CN104021226A (zh) | 预取规则的更新方法及装置 | |
CN110647294B (zh) | 存储块回收方法、装置、存储介质及电子设备 | |
CN111221468A (zh) | 存储块数据删除方法、装置、电子设备及云存储*** | |
CN115831194A (zh) | 存储***以及非易失性存储器的控制方法 | |
Tsai et al. | Learning-assisted write latency optimization for mobile storage | |
CN107346288B (zh) | 一种数据写入方法及装置 | |
CN105095197A (zh) | 一种处理数据的方法及装置 | |
JP6429197B2 (ja) | 論理物理アドレス変換テーブルの制御方法及びメモリ装置 | |
CN114518849B (zh) | 一种数据存储方法、装置及电子设备 | |
CN117806837B (zh) | 一种硬盘任务管理方法、装置、存储介质及*** | |
CN116795298B (zh) | 一种Linux下NVME存储器的IO优化方法及*** | |
US11385798B1 (en) | Method and system for application aware, management of write operations on non-volatile storage |
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 |