CN110321293A - 数据回收的方法及装置 - Google Patents
数据回收的方法及装置 Download PDFInfo
- Publication number
- CN110321293A CN110321293A CN201810279195.6A CN201810279195A CN110321293A CN 110321293 A CN110321293 A CN 110321293A CN 201810279195 A CN201810279195 A CN 201810279195A CN 110321293 A CN110321293 A CN 110321293A
- Authority
- CN
- China
- Prior art keywords
- state
- data
- reading
- ssd
- writing
- 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.)
- Withdrawn
Links
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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据回收的方法及装置。采用该方法,SSD对已做出响应的读写请求进行统计,进而得出不同时间段的数据读写状态,然后对某一时间段的数据读写状态进行识别,并预测与之相邻时间段的读写状态,进而根据上述两个相邻时间段各自所需的闪存接口的带宽,确定上述两个相邻时间段对闪存接口的带宽的敏感程度,以实现在对闪存接口的带宽不敏感的时间段进行数据回收,减少数据回收的过程对响应读写请求的过程所造成的性能下降,改善SSD对外提供的数据读写性能。
Description
技术领域
本公开涉及数据存储技术领域,具体地,涉及一种数据回收的方法及装置。
背景技术
随着数据存储技术的高速发展,越来越多的数据存储装置出现在人们使用的电子设备中,例如:SSD(Solid State Drives,固态硬盘)等。SSD因具有读写速度快、抗震动、低功耗、无噪音、低热量、以及质量轻等特点,已被广泛应用于军事、车载、工业、医疗、和航空等领域。
SSD包括处理器和闪存阵列,处理器与闪存阵列之间通过闪存接口进行数据传输。处理器一方面响应于来自电子设备的读写请求,以通过闪存接口从闪存阵列中读取电子设备所请求的数据或通过闪存接口向闪存阵列中写入数据,控制器另一方面对闪存阵列进行数据回收,以提高闪存阵列的利用率。然而上述响应读写请求的过程与数据回收的过程会相互竞争闪存接口的带宽,导致SSD对外提供的数据读写性能剧烈波动,给用户带来不佳的使用体验。
发明内容
本公开的目的是提供一种数据回收的方法及装置,以改善SSD对外提供的数据读写性能。
为了实现上述目的,本公开提供一种数据回收的方法,应用于固态硬盘SSD,所述方法包括:
确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
可选地,所述方法还包括:
根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型;
根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,包括:
将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
可选地,根据所述SSD历史记录的所述SSD在不同时间段的数据读写状态,建立所述数据读写状态预测模型,包括:
将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
可选地,所述方法还包括:根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
可选地,将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态,包括:
将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
可选地,根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收,包括:
根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
按照调整后的数据回收参数,进行数据回收。
可选地,所述方法还包括:
根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,包括以下至少一者:
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限;
根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
可选地,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
本公开还提供一种数据回收的装置,应用于固态硬盘SSD,所述装置包括:
第一确定模块,用于确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
预测模块,用于根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
数据回收模块,用于根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
可选地,所述装置还包括:
建立模块,用于根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型;
所述预测模块用于:将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
可选地,所述建立模块包括:
第一比较子模块,用于将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
跳转关系确定子模块,用于确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
跳转概率确定子模块,用于根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
可选地,所述装置还包括:
第二确定模块,用于根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
可选地,所述预测模块包括:
第二比较子模块,用于将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
获得子模块,用于将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
第一确定子模块,用于确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
第二确定子模块,用于将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
可选地,所述数据回收模块包括:
调整子模块,用于根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
数据回收子模块,用于按照调整后的数据回收参数,进行数据回收。
可选地,所述装置还包括:
操作参数确定模块,用于根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
所述调整子模块用于执行以下至少一者:
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限;
根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
可选地,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
采用本公开提供的技术方案,SSD对已做出响应的读写请求进行统计,进而得出不同时间段的数据读写状态,然后对某一时间段的数据读写状态进行识别,并预测与之相邻时间段的读写状态,进而根据上述两个相邻时间段各自所需的闪存接口的带宽,确定上述两个相邻时间段对闪存接口的带宽的敏感程度,以实现在对闪存接口的带宽不敏感的时间段进行数据回收,减少数据回收的过程对响应读写请求的过程所造成的性能下降,改善SSD对外提供的数据读写性能。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据回收的方法的流程图。
图2是根据一示例性实施例示出的一种建立SSD的数据读写状态预测模型的方法的流程图。
图3是根据一示例性实施例示出的建立SSD的数据读写状态预测模型的示意图。
图4是根据一示例性实施例示出的一种数据回收的装置的示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在对本公开提供的数据回收的方法进行说明之前,首先对本公开涉及的相关技术进行说明。相关技术中,SSD的处理器根据闪存阵列中剩余的空块数量以及需要回收的数据的总量,以确定如何对闪存接口的带宽进行分配以及调度。也就是说,相关技术是根据SSD内部的数据回收需求,确定如何使用闪存接口的带宽。如在背景技术中所阐述的,响应读写请求的过程与数据回收的过程会相互竞争闪存接口的带宽,对此,相关技术提供的解决方案是:优先满足数据回收的过程所需的闪存接口的带宽,除数据回收的过程所占用的闪存接口的带宽外,剩余的闪存接口的带宽供响应读写请求的过程使用。
由于相关技术未考虑因响应电子设备的读写请求而占用闪存接口的带宽,所以相关技术中SSD对外提供的数据读写性能,取决于SSD内部何时进行数据回收,以及SSD进行数据回收所占用的闪存接口带宽。在SSD内部进行数据回收期间,SSD对外提供的数据读写性能较差;在SSD内部未进行数据回收期间,SSD对外提供的数据读写性能较优。由此导致SSD对外提供的数据读写性能剧烈波动,给用户带来不佳的使用体验。
为了改善SSD对外提供的数据读写性能,使SSD对外提供的数据读写性能较为稳定,减少剧烈波动的情况或者减小波动幅度,本公开提出,SSD对已做出响应的读写请求进行统计,进而得出不同时间段的数据读写状态,然后对某一时间段的数据读写状态进行识别,并预测与之相邻时间段的读写状态,进而根据上述两个相邻时间段各自所需的闪存接口的带宽,确定上述两个相邻时间段对闪存接口的带宽的敏感程度,以实现在对闪存接口的带宽不敏感的时间段进行数据回收,减少数据回收的过程对响应读写请求的过程所造成的性能下降,改善SSD对外提供的数据读写性能。
可见,本公开提出,SSD的处理器除根据闪存阵列中剩余的空块数量以及需要回收的数据的总量外,还考虑到相邻两个时间段需要响应的读写请求的数量,以确定如何对闪存接口的带宽进行分配以及调度。也就是说,本公开是根据来自于SSD外部的电子设备的数据读写请求的数量及其变化趋势,确定如何使用闪存接口的带宽。本公开优先满足响应读写请求的过程所需的闪存接口的带宽,除响应数据读写请求的过程所占用的闪存接口的带宽外,剩余的闪存接口的带宽供数据回收的过程使用。
下面对本公开提供的数据回收的方法进行说明。本公开提供的数据回收的方法应用于SSD,SSD包括处理器和闪存阵列,处理器与闪存阵列之间通过闪存接口进行数据传输。请参考图1,图1是根据一示例性实施例示出的一种数据回收的方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11:确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
步骤S12:根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
步骤S13:根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
其中,步骤S11中的第一时间段和步骤S12中的第二时间段是两个相邻时间段,第一时间段的终止时刻即为第二时间段的起始时刻,均为第一时刻。SSD在一个时间段的数据读写状态,可以包括以下至少一者:SSD在该时间段响应的写入请求的数量、SSD在该时间段响应的读取请求的数量与写入请求的数量之比、以及SSD在该时间段响应的读取请求与写入请求分别在该时间段的分布(例如:SSD在一个时间段的前半段响应的读取请求较多,在该时间段的后半段响应的写入请求较多)。
因此,在步骤S11中,SSD统计在第一时间段响应的读写请求的数量,进而确定第一数据读写状态。
为了预测与第一时间段相邻的第二时间段的数据读写状态(即第二数据读写状态),需要建立SSD的数据读写状态预测模型,即:根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型。在得到SSD的数据读写状态预测模型之后,即可利用该数据读写状态模型,预测出第二数据读写状态,即:将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
因此,在执行步骤S12之前,还可以执行建立SSD的数据读写状态预测模型的方法。请参考图2,图2是根据一示例性实施例示出的一种建立SSD的数据读写状态预测模型的方法的流程图。如图2所示,该方法包括以下步骤:
步骤S21:将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
步骤S22:确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
步骤S23:根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
可选地,根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
本公开中,SSD对已做出响应的读写请求进行统计,得出自身在不同时间段的历史数据读写状态,也即SSD历史测得的在不同时间段的历史数据读写状态。为了量化不同时间段的历史数据读写状态,本公开还提出多个不同的标准数据读写状态。
可选地,标准数据读写状态可以是固定的,由电子设备、SSD或用户预先设定。标准数据读写状态也可以由SSD在不同时间段的历史数据读写量确定。示例地,根据SSD在不同时间段的历史数据读写量,确定特征数据,例如:最大值和最小值。并根据该特征数据确定标准数据读写状态的数量N(当然,N也可以是固定的,由电子设备、SSD或用户预先设定)。假设特征数据是最大值和最小值,可以将最小值与最大值之间的范围划分为N等份,以得到N个标准数据读写量,每个标准数据读写量即可对应一个数据标准数据读写状态。此外,特征数据还可以是:平均值、中位数等。类似的,以平均值或中位数为参考数据,得到N个标准数据读写量,每个标准数据读写量即可对应一个数据标准数据读写状态。
在确定多个不同的标准数据读写状态后,将不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以将每个时间段的历史数据读写状态量化为一个标准数据读写状态(也即每个时间段对应的标准数据读写状态)。
执行完步骤S21,即可得到不同时间段对应的标准数据读写状态。然后执行步骤S22,对每两个相邻时间段分别对应的标准数据读写状态进行统计,以得出一个时间段对应的标准数据读写状态可能跳转到其他哪些标准数据读写状态,以及跳转到其他各个标准数据读写状态的次数。最后执行步骤S23,根据执行步骤S22所得的统计结果,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。不同标准数据读写状态之间跳转的概率形成上述数据读写状态预测模型。
示例地,请参考图3,图3是根据一示例性实施例示出的建立SSD的数据读写状态预测模型的示意图。图3以有三个标准数据读写状态示意。三个标准数据读写状态分别为:标准数据读写状态1、标准数据读写状态2以及标准数据读写状态3。SSD执行完步骤S21,得到的结果是:时间段1(t1)、时间段3(t3)、以及时间段5(t5)均对应标准数据读写状态1;时间段2(t2)、时间段6(t6)、以及时间段8(t8)均对应标准数据读写状态2;时间段4(t4)和时间段7(t7)均对应标准数据读写状态3。
SSD执行完步骤S22,得到的结果是:时间段1对应的标准数据读写状态1跳转到时间段2对应的标准数据读写状态2,时间段2对应的标准数据读写状态2跳转到时间段3对应的标准数据读写状态1,以此类推,如图3所示。
SSD执行完步骤S23,得到的结果是:标准数据读写状态1、标准数据读写状态2以及标准数据读写状态3任两个之间均可能发生跳转,因而有6个概率:P12、P21、P13、P31、P23、P32,如图3所示,其中,P12表示标准数据读写状态1跳转到标准数据读写状态2的概率,P21、P13、P31、P23、P32代表的含义,以此类推。
以上为建立数据读写状态预测模型的过程,在得出数据读写状态预测模型后,可以执行以下步骤:
将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
由于数据读写状态模型的输入和输出均是标准数据读写状态,所以首先要将第一数据读写状态量化为一个标准数据读写状态。具体量化的过程可以参考前文对不同时间段的历史数据读写状态的量化的说明,在此就不再赘述。
假设将第一数据读写状态量化为多个不同标准数据读写状态中的第一标准数据读写状态,根据数据读写状态预测模型,即可得到第一标准数据读写状态可能跳转到其他哪些标准数据读写状态以及相应的概率。第一标准数据读写状态可能跳转到其他多个标准数据读写状态,且相应的概率大小不等,第一标准读写状态最有可能跳转到的另一标准数据读写状态即为第二数据读写状态。
示例地,以图3所示的数据读写状态预测模型为例。假设第一数据读写状态对应的第一标准数据读写状态为:标准数据读写状态1。根据图3所示的数据读写状态模型,标准数据读写状态1可能跳转到标准数据读写状态2和标准数据读写状态3,且由于最大值为所以标准数据读写状态2即为第二数据读写状态。
以上为预测第二数据读写状态的过程。在预测出第二数据读写状态后,可以执行步骤S13。本公开提出对两个相邻时间段中的后一时间段的数据读写状态进行预测,以便于预测该后一时间段对闪存接口的敏感程度,进而确定上述两个相邻时间段是否均对闪存接口的带宽不敏感。如果上述两个时间段均对闪存接口的带宽不敏感,则可以在上述两个相邻时间段持续进行数据回收以及逐渐增加数据回收量;如果上述两个相邻时间段中的后一时间段对闪存接口的带宽敏感,则可以在该后一时间段逐渐减小数据回收量以及避免在该后一时间段进行数据回收。其中,一个时间段对闪存接口的带宽的敏感程度,由SSD在该时间段需要响应的读写请求的数量确定。也就是说,SSD在一个时间段需要响应的数据读写请求越多,该时间段对闪存接口的带宽越敏感。
可选地,步骤S13包括:
根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
按照调整后的数据回收参数,进行数据回收。
可选地,如何进行数据回收,除考虑第一数据读写状态和第二数据读写状态外,还可以考虑参考因子,参考因子包括以下至少一者:
1)所述第一标准数据读写状态跳转到其他标准数据读写状态的概率,示例地,继续沿用上述例子,第一数据读写状态对应的第一标准数据读写状态为:标准数据读写状态1,根据图3所示的数据读写状态模型,需要考虑P12和P13;
2)所述SSD的当前剩余存储容量,即SSD的当前剩余空块的数量;
3)所述SSD的当前待回收数据量,即SSD当前还有多少数据需要回收;
4)所述SSD的当前最大数据写入量,即SSD当前还有剩下多少闪存接口的带宽分配供数据回收使用。
在综合考虑第一数据读写状态、第二数据读写状态以及参考因子的情况下,可以对数据回收参数进行调整,包括:
根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限,和/或,根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
本公开中,考虑到原本的数据回收参数适用于两个相邻时间段中的前一时间段,可能并不适用于两个相邻时间段中的后一时间段,因为该后一时间段与该前一时间段分别对闪存接口的带宽的敏感程度通常是不同的,因而SSD可以在该前一时间段对原本的数据回收参数进行调整,以便于调整后的数据回收参数适用于该后一时间段,进而在该前一时间段中的靠后时间段,按照调整后的数据回收参数进行数据回收,这样,可以实现由该前一时间段到该后一时间段的平滑过渡,避免出现数据回收所占用的闪存接口的带宽出现剧烈波动,相应地,保证了SSD对外提供的数据读写性能较平稳,不出现剧烈波动。
本公开中,数据回收参数包括以下至少一者:回收数据写入量门限、以及动态数据回收操作与静态数据回收操作的比例。对于回收数据写入量门限的调整,是根据SSD在上述两个相邻时间段的数据写入量之差确定的,如果两个相邻时间段的后一时间段的数据写入量高于两个相邻时间段的前一时间段的数据写入量,则可以相应地降低回收数据写入量门限,也即减少数据回收,将更多的闪存接口的带宽提供给SSD响应数据读写请求;反之,则可以提高回收数据写入量门限。
对于动态数据回收操作与静态数据回收操作的比例的调整,是根据SSD在上述两个相邻时间段的分布信息的变化情况确定的,其中,分布信息是指数据读取操作与数据写入操作在同一时间段的分布((例如:SSD在一个时间段的前半段进行的数据读取操作较多,在该时间段的后半段进行的数据写入操作较多)。考虑到动态数据回收操作是对脏块进行数据回收,静态数据回收操作是对磨损程度较高的区块进行数据回收,因而两者相比,对单个区块分别进行静态数据回收操作所回收到的数据量,大于对单个区块分别进行动态数据回收操作所回收到的数据量。因此,如果两个相邻时间段的后一时间段的数据写入量高于两个相邻时间段的前一时间段的数据写入量,则可以相应地减少静态数据回收操作,将更多的闪存接口的带宽提供给SSD响应数据读写请求;反之,则可以增加数据回收操作。
此外,由于对单个区块分别进行静态数据回收操作所回收到的数据量,大于对单个区块分别进行动态数据回收操作所回收到的数据量,所以,对于任一时间段,可以按照一定的规则进行动态回收操作以及静态回收操作:对同一时间段,在数据读取操作集中分布期间,进行静态数据回收操作,在数据写入操作集中分布期间,进行动态数据回收操作,以此实现SSD对外提供的读写性能较为平稳,不出现剧烈波动。
在按照上述规则进行动态回收操作以及静态回收操作的前提下,如果两个相邻时间段的后一时间段的分布信息发生变化,则可以相应地调整动态数据回收操作与静态数据回收操作的执行顺序,以及增加静态数据回收操作(同时减少动态数据回收操作)或减少静态数据回收操作(同时增加动态数据回收操作)。
可选地,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
本公开中,考虑到SSD的数据读写状态是实时变化的,因而需要相应地实时更新数据回收参数,以便于在不影响SSD对外提供的数据读写性能的前提下,更高效地进行数据回收。因而,在SSD每次按照调整后的数据回收参数,进行数据回收之后,需要重新对SSD的数据读写状态进行识别、预测以及调整数据回收参数、按照最新调整后的数据回收参数进行数据回收。
基于同一发明构思,本公开还提供一种数据回收的装置,应用于固态硬盘SSD。请参考图4,图4是根据一示例性实施例示出的一种数据回收装置的示意图。如图4所示,该装置400包括:
第一确定模块401,用于确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
预测模块402,用于根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
数据回收模块403,用于根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
可选地,所述装置还包括:
建立模块,用于根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型;
所述预测模块用于:将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
可选地,所述建立模块包括:
第一比较子模块,用于将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
跳转关系确定子模块,用于确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
跳转概率确定子模块,用于根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
可选地,所述装置还包括:
第二确定模块,用于根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
可选地,所述预测模块包括:
第二比较子模块,用于将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
获得子模块,用于将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
第一确定子模块,用于确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
第二确定子模块,用于将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
可选地,所述数据回收模块包括:
调整子模块,用于根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
数据回收子模块,用于按照调整后的数据回收参数,进行数据回收。
可选地,所述装置还包括:
操作参数确定模块,用于根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
所述调整子模块用于执行以下至少一者:
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限;
根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
可选地,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (16)
1.一种数据回收的方法,应用于固态硬盘SSD,其特征在于,所述方法包括:
确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型;
根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,包括:
将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
3.根据权利要求2所述的方法,其特征在于,根据所述SSD历史记录的所述SSD在不同时间段的数据读写状态,建立所述数据读写状态预测模型,包括:
将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
5.根据权利要求2所述的方法,其特征在于,将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态,包括:
将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
6.根据权利要求5所述的方法,其特征在于,根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收,包括:
根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
按照调整后的数据回收参数,进行数据回收。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,包括以下至少一者:
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限;
根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
8.根据权利要求6所述的方法,其特征在于,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
9.一种数据回收的装置,应用于固态硬盘SSD,其特征在于,所述装置包括:
第一确定模块,用于确定所述SSD在第一时间段的第一数据读写状态,所述第一时间段的终止时刻为第一时刻;
预测模块,用于根据所述第一数据读写状态和所述SSD的数据读写状态预测模型,预测所述SSD在第二时间段的第二数据读写状态,所述第二时间段的起始时刻为所述第一时刻;
数据回收模块,用于根据所述第一数据读写状态和所述第二数据读写状态,进行数据回收。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
建立模块,用于根据所述SSD历史记录的所述SSD在不同时间段的历史数据读写状态,建立所述数据读写状态预测模型;
所述预测模块用于:将所述第一数据读写状态输入所述数据读写状态预测模型,以得到所述第二数据读写状态。
11.根据权利要求10所述的装置,其特征在于,所述建立模块包括:
第一比较子模块,用于将所述SSD在不同时间段的历史数据读写状态分别与多个不同的标准数据读写状态进行比较,以确定每个时间段对应的标准数据读写状态;
跳转关系确定子模块,用于确定每两个相邻时间段分别对应的标准数据读写状态之间的跳转关系;
跳转概率确定子模块,用于根据所述跳转关系,确定每一个标准数据读写状态跳转到其他标准数据读写状态的概率。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述SSD在不同时间段的历史数据读写量,确定所述多个不同的标准数据读写状态。
13.根据权利要求10所述的装置,其特征在于,所述预测模块包括:
第二比较子模块,用于将所述第一数据读写状态分别与所述多个不同的标准数据读写状态进行比较,以确定所述第一数据读写状态对应的第一标准数据读写状态;
获得子模块,用于将所述第一标准数据读写状态输入所述数据读写状态预测模型,以获得所述第一标准数据读写状态跳转到其他标准数据读写状态的概率;
第一确定子模块,用于确定所述第一标准数据读写状态跳转到其他标准数据读写状态的概率中的最大值;
第二确定子模块,用于将所述最大值对应的标准数据读写状态确定为所述第二数据读写状态。
14.根据权利要求13所述的装置,其特征在于,所述数据回收模块包括:
调整子模块,用于根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整,其中,所述参考因子包括以下至少一者:所述第一标准数据读写状态跳转到其他标准数据读写状态的概率、所述SSD的当前剩余存储容量、所述SSD的当前待回收数据量、所述SSD的当前最大数据写入量;
数据回收子模块,用于按照调整后的数据回收参数,进行数据回收。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
操作参数确定模块,用于根据所述第一数据读写状态和所述第二数据读写状态,确定所述SSD在所述第一时间段和所述第二时间段的数据操作参数,所述数据操作参数包括:数据写入量,数据读取操作与数据写入操作的分布信息;
所述调整子模块用于执行以下至少一者:
根据所述SSD在所述第一时间段和所述第二时间段的数据写入量之差,调整所述回收数据写入量门限;
根据所述SSD在所述第一时间段和所述第二时间段的分布信息的变化情况,调整所述动态数据回收操作与静态数据回收操作的比例。
16.根据权利要求14所述的装置,其特征在于,每次执行完按照调整后的数据回收参数,进行数据回收的步骤之后,返回到根据所述第一数据读写状态、所述第二数据读写状态以及参考因子,对数据回收参数进行调整的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810279195.6A CN110321293A (zh) | 2018-03-31 | 2018-03-31 | 数据回收的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810279195.6A CN110321293A (zh) | 2018-03-31 | 2018-03-31 | 数据回收的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321293A true CN110321293A (zh) | 2019-10-11 |
Family
ID=68112026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810279195.6A Withdrawn CN110321293A (zh) | 2018-03-31 | 2018-03-31 | 数据回收的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321293A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160048345A1 (en) * | 2014-08-12 | 2016-02-18 | Facebook, Inc. | Allocation of read/write channels for storage devices |
CN106802772A (zh) * | 2016-12-30 | 2017-06-06 | 北京联想核芯科技有限公司 | 数据回收的方法、装置及固态硬盘 |
-
2018
- 2018-03-31 CN CN201810279195.6A patent/CN110321293A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160048345A1 (en) * | 2014-08-12 | 2016-02-18 | Facebook, Inc. | Allocation of read/write channels for storage devices |
CN106802772A (zh) * | 2016-12-30 | 2017-06-06 | 北京联想核芯科技有限公司 | 数据回收的方法、装置及固态硬盘 |
Non-Patent Citations (1)
Title |
---|
方才华等: "全程优化的固态硬盘垃圾回收方法", 《计算机应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002358B (zh) | 基于深度强化学习的移动终端软件自适应优化调度方法 | |
CN106802772B (zh) | 数据回收的方法、装置及固态硬盘 | |
US9626295B2 (en) | Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring | |
US7302595B2 (en) | Method and apparatus for dynamic power management in a processor system | |
CN113950066A (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
US20150355700A1 (en) | Systems and methods of managing processor device power consumption | |
CN109542512B (zh) | 一种数据处理方法、装置和存储介质 | |
US9703493B2 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
CN104516475A (zh) | 用于管理多核片上系统上的全局芯片功率的方法和装置 | |
US10064141B2 (en) | Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit | |
CN113127194B (zh) | 一种管理芯片资源自适应分配方法、装置及介质 | |
US9483415B2 (en) | Method and apparatus for managing memory | |
CN104424106A (zh) | 为存储优化操作分配存储设备的资源的方法和系统 | |
US20170212581A1 (en) | Systems and methods for providing power efficiency via memory latency control | |
CN109271253A (zh) | 一种资源调配方法、装置及系统 | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及系统 | |
EP4177745A1 (en) | Resource scheduling method, electronic device, and storage medium | |
US9087114B2 (en) | System and method for managing electrical current in a portable computing device | |
CN117032977A (zh) | 混部应用资源分配方法、装置、计算机设备及存储介质 | |
CN110321293A (zh) | 数据回收的方法及装置 | |
KR102118799B1 (ko) | 모바일 단말 장치 내의 프로세서의 전력을 관리하는 장치 및 방법 | |
KR101509938B1 (ko) | 태스크 스케줄링 방법 및 장치 | |
CN114138444A (zh) | 一种任务调度方法、装置、设备、存储介质及程序产品 | |
CN113867963A (zh) | 一种电子设备及处理方法 | |
CN108885587B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191011 |