CN113608867B - 基于强化学习的多数据ssd中的闪存资源分配方法 - Google Patents

基于强化学习的多数据ssd中的闪存资源分配方法 Download PDF

Info

Publication number
CN113608867B
CN113608867B CN202110810444.1A CN202110810444A CN113608867B CN 113608867 B CN113608867 B CN 113608867B CN 202110810444 A CN202110810444 A CN 202110810444A CN 113608867 B CN113608867 B CN 113608867B
Authority
CN
China
Prior art keywords
flash memory
action
resource allocation
value
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110810444.1A
Other languages
English (en)
Other versions
CN113608867A (zh
Inventor
杨峰
纪程
吴超
周明亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Zhongke Inverse Entropy Technology Co ltd
Original Assignee
Nanjing Zhongke Inverse Entropy Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Zhongke Inverse Entropy Technology Co ltd filed Critical Nanjing Zhongke Inverse Entropy Technology Co ltd
Priority to CN202110810444.1A priority Critical patent/CN113608867B/zh
Publication of CN113608867A publication Critical patent/CN113608867A/zh
Application granted granted Critical
Publication of CN113608867B publication Critical patent/CN113608867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于强化学习的多数据SSD中的闪存资源分配方法。通过全面学习相关的I/O模式和SSD内部运行状态,满足各种I/O流资源需求的同时,可以消除I/O冲突,从而同时改善系统性能和存储寿命。

Description

基于强化学习的多数据SSD中的闪存资源分配方法
技术领域
本发明属于存储优化技术,具体为一种基于强化学习的多数据SSD中的闪存资源分配方法。
背景技术
与传统硬盘相比,固态硬盘SSD具有高抗震性、低访问延迟、低功耗等优势。由于闪存的异地更新特性,SSD必须维护垃圾回收(GC)功能,以回收无效空间。垃圾回收(GC)是导致固态硬盘SSD的I/O性能下降和存储寿命缩短的主要原因之一。GC产生的数据迁移开销,会降低系统性能,缩短存储寿命。GC的实现单位是块,读写I/O的单位是页。在每次GC过程中,设备控制器根据特定的算法挑选一个牺牲块,将该块中的所有有效页复制到其他物理地址,并擦除该块。此过程可能需要很长时间,使系统陷入极长的I/O延迟,导致GC阻塞的I/O必须挂起,直到GC进程完成。由于每个闪存单元只能承受有限的编程/擦除(P/E)次数,GC页面迁移的额外写入I/O,会影响存储寿命。
为了减轻GC的影响,多数据流SSD将寿命周期相似的I/O数据分类到相同的I/O流中,减少GC产生的页面拷贝开销。多数据流SSD技术提出将生命周期相近的I/O数据聚集到同一I/O流中,并在同一物理块中容纳来自同一I/O流的I/O。通过这种方式,同一块中的I/O数据可以同时失效,从而减少GC中的待迁移的有效页面数量。
多数据SSD中的闪存资源分配方法是阻碍该技术广泛应用的关键难题。静态分配方法不能满足不同I/O流的资源需求,损害系统性能和存储寿命。动态分配方法对各种I/O模式和SSD内部运行状态的错误策略,会加剧内部I/O冲突和SSD磨损均衡(WL),从而延长I/O尾部延迟,缩短存储寿命。
发明内容
本发明提出了一种基于强化学习的多数据SSD中的闪存资源分配方法。
实现本发明的技术解决方案为:一种基于强化学习的多数据SSD中的闪存资源分配方法,具体步骤为:
将来自不同应用程序的I/O请求聚集到多个I/O流中,闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态,并根据贪婪策略,进行探索或利用,其中,探索是指随机选择分配动作,利用是指将当前状态、权重以及所有动作逐一输入至深度Q网络,由深度Q网络计算出每个动作的Q值逼近值,选择Q值逼近值最高的动作;
将选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间;
闪存控制器收集奖励计算中所需的所有因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练;
闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中训练。
优选地,根据贪婪策略,进行探索或利用的具体方法为:
定义ε为随机选择动作的概率,初始时将ε设为1来进行贪婪探索,并以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率。
优选地,所述主机状态包括I/O状态和设备运行状态。
优选地,所述I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率;
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
优选地,所述动作包括闪存资源分配动作和触发频率动作组成,所述闪存资源分配动作包括:不分配芯片资源;从选定的I/O流回收芯片资源到资源池;从资源池分配选定的芯片到选定的I/O流;所述触发频率动作是指下一次触发强化学习模型的时间间隔。
本发明与现有技术相比,其显著优点为:本发明通过综合学习相关I/O模式和SSD内部运行状态,在满足各种I/O流的资源需求的同时,最大化SSD内部并行资源利用率以及流资源分配公平性,消除了SSD中的I/O冲突,降低闪存芯片的写/擦除周期损耗,从而达到最优的系统性能和存储寿命。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1为本发明的流程图。
图2为深度Q网络的结构示意图。
具体实施方式
如图1、2所示,一种基于强化学习的多数据SSD中的闪存资源分配方法,具体步骤为:
步骤1:将来自不同应用程序的I/O请求聚集到多个I/O流中①。闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态②,并根据贪婪策略③,进行探索或利用,其中探索是指随机选择分配动作,利用是指将当前状态,权重以及所有动作逐一输入深度Q网络,由深度Q网络计算所有动作的Q值逼近值,强化模型选择Q值逼近值最高的动作。
在贪婪策略中,定义ε为随机选择动作的概率,在训练初始阶段由于大部分状态-动作都处于待探索阶段,将ε设为1来进行贪婪探索,之后以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率。
进一步的实施例中,所述主机状态包括I/O状态和设备运行状态,即SSD运行时状态。
I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率。
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
进一步的实施例中,探索是指模型随机选择一个动作。所述动作由闪存资源分配动作和触发频率动作的模型组成。
具体地,闪存资源分配动作包括:1.不分配芯片资源;2.从选定的I/O流回收芯片资源到资源池;3.从资源池分配选定的芯片到选定的I/O流。当设备空间不足时,暂停分配操作,并等待,直到垃圾回收或从选定的I/O流回收足够的可用空间。触发频率动作是指下一次触发强化学习模型的时间间隔,定义最小时间单位为1秒,触发频率动作选择间隔几个最小时间单位进行下一次触发。
在利用过程中,权重连同当前状态以及每一个动作被作为输入传输至深度Q网络④,由深度Q网络计算以获得每个状态-动作-权重对的Q值⑤。注意该Q值为深度Q网络所计算出的逼近值,每次计算后都会在步骤3中采集相关奖励因子来计算真实Q值,并将真实Q值与逼近值反向输入深度Q网络进行反向传播训练,以使深度Q网络的预测精度,即输出的逼近值与真实Q值的偏差越来越小。
步骤2:将步骤1选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间,其中决策时间以每个1秒为最小单位,由强化学习模型根据步骤1所选动作选择来决定具体每次触发模型时间间隔为几个最小单位。
步骤3:步骤2动作执行完成后,闪存控制器收集奖励计算中所需的因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练。
真实Q值的计算考虑了每个动作产生价值的相关因素,包括:寿命因素、性能因素以及公平性因素。具体计算方法为:将每个相关因素与权重向量中各因素对应权重进行加权累加得出。其中,寿命因素包括闪存设备消耗的写/擦除周期、GC中触发的页面迁移数量,直接决定闪存设备还剩下多长寿命;性能因素包括每个芯片中I/O冲突的数量、I/O延迟;公平性因素则体现出每个I/O流之间的闪存资源分配是否公平,通常包括每个I/O流的占用带宽。在真实Q值计算中,本发明通过最小化带宽和I/O流的权重之间的偏差,保证了所有I/O流之间的公平性。其中每个I/O流的权重在现有OS中体现为各进程的优先级,每个I/O流的占用带宽通过统计每秒该流的I/O总量得出,流公平性具体由公式(1)计算:
其中,F为流公平性,Wi是第i个流的权重,Bi为该流的带宽,n为I/O流总数。
将上述闪存设备寿命因素、性能因素以及公平性因素纳入真实Q值计算,并在每一次利用中由深度Q网络输出逼近Q值,模型通过选择最大Q值的动作来实现设备的性能最优以及寿命最长。
此外,强化学习模型对每个上述因素均指定相应的权重,所有权重组成权重向量,由动态权重生成器生成。具体生成步骤为,对所有首要指标,如I/O延迟,闪存寿命,公平性,由于直接体现设备的性能寿命,对其赋予较高权重,默认0.8;对次要指标,如I/O冲突数量,对其赋予低权重,默认0.4。
步骤4:闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区⑩中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中执行进一步的训练。
本发明为多目标优化问题,因此采用动态权向量作为深度Q网络的输入,以引导网络更快地收敛得到目标,从而实现对闪存资源的优化分配。
本发明通过综合学习相关I/O模式和SSD内部运行状态,在满足各种I/O流的资源需求的同时,消除了SSD中的I/O冲突,降低闪存芯片的损耗,从而达到最优的系统性能和存储寿命。

Claims (5)

1.一种基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,具体步骤为:
将来自不同应用程序的I/O请求聚集到多个I/O流中,闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态,并根据贪婪策略,进行探索或利用,其中,探索是指随机选择分配动作,利用是指将当前状态、权重以及所有动作逐一输入至深度Q网络,由深度Q网络计算出每个动作的Q值逼近值,选择Q值逼近值最高的动作;进行探索或利用的具体方法为:
定义ε为随机选择动作的概率,初始时将ε设为1来进行贪婪探索,并以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率;
将选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间;
闪存控制器收集奖励计算中所需的所有因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练;
奖励计算中所需的因子指每个动作产生价值的相关因素,包括:寿命因素、性能因素以及公平性因素,寿命因素包括闪存设备消耗的写/擦除周期、GC中触发的页面迁移数量;性能因素包括每个芯片中I/O冲突的数量、I/O延迟;公平性因素由流公平性确定,具体计算公式为:
其中,F为流公平性,Wi是第i个流的权重,Bi为该流的带宽,n为I/O流总数;
闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中训练。
2.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述主机状态包括I/O状态和设备运行状态。
3.根据权利要求2所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率;
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
4.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述动作包括闪存资源分配动作和触发频率动作组成,所述闪存资源分配动作包括:不分配芯片资源;从选定的I/O流回收芯片资源到资源池;从资源池分配选定的芯片到选定的I/O流;所述触发频率动作是指下一次触发强化学习模型的时间间隔。
5.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述权重由强化学习模型指定相应值,并由动态权重生成器生成。
CN202110810444.1A 2021-07-19 2021-07-19 基于强化学习的多数据ssd中的闪存资源分配方法 Active CN113608867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110810444.1A CN113608867B (zh) 2021-07-19 2021-07-19 基于强化学习的多数据ssd中的闪存资源分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110810444.1A CN113608867B (zh) 2021-07-19 2021-07-19 基于强化学习的多数据ssd中的闪存资源分配方法

Publications (2)

Publication Number Publication Date
CN113608867A CN113608867A (zh) 2021-11-05
CN113608867B true CN113608867B (zh) 2024-05-14

Family

ID=78304789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110810444.1A Active CN113608867B (zh) 2021-07-19 2021-07-19 基于强化学习的多数据ssd中的闪存资源分配方法

Country Status (1)

Country Link
CN (1) CN113608867B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3474619A1 (fr) * 2017-10-23 2019-04-24 Commissariat à l'énergie atomique et aux énergies alternatives Procédé d'allocation de ressources de transmission à apprentissage par renforcement
CN110493826A (zh) * 2019-08-28 2019-11-22 重庆邮电大学 一种基于深度强化学习的异构云无线接入网资源分配方法
CN111884213A (zh) * 2020-07-27 2020-11-03 国网北京市电力公司 一种基于深度强化学习算法的配电网电压调节方法
CN112405543A (zh) * 2020-11-23 2021-02-26 长沙理工大学 一种基于深度强化学习的机械臂密集物体温度优先抓取方法
CN112750298A (zh) * 2020-12-17 2021-05-04 梁宏斌 一种基于smdp和drl的货车编队动态资源分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3474619A1 (fr) * 2017-10-23 2019-04-24 Commissariat à l'énergie atomique et aux énergies alternatives Procédé d'allocation de ressources de transmission à apprentissage par renforcement
CN110493826A (zh) * 2019-08-28 2019-11-22 重庆邮电大学 一种基于深度强化学习的异构云无线接入网资源分配方法
CN111884213A (zh) * 2020-07-27 2020-11-03 国网北京市电力公司 一种基于深度强化学习算法的配电网电压调节方法
CN112405543A (zh) * 2020-11-23 2021-02-26 长沙理工大学 一种基于深度强化学习的机械臂密集物体温度优先抓取方法
CN112750298A (zh) * 2020-12-17 2021-05-04 梁宏斌 一种基于smdp和drl的货车编队动态资源分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于遗传算法的大数据资源分配算法;蔡柳萍等;《重庆理工大学学报(自然科学版)》;第第33卷卷(第第4期期);第134-140页 *

Also Published As

Publication number Publication date
CN113608867A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
US20170351603A1 (en) Lazy real time garbage collection method
KR20190009694A (ko) 멀티-티어 올-플래시 데이터센터의 자동 데이터 배치 관리자
WO2022017002A1 (zh) 一种垃圾回收方法及装置
CN111176564A (zh) 确定ssd内数据摆放策略的方法及装置
US11481342B2 (en) Data storage system data access arbitration
Han et al. CATA: A garbage collection scheme for flash memory file systems
US20200409561A1 (en) Data storage system with i/o determinism latency optimization
CN108572799B (zh) 一种双向哈希链表的异构内存系统数据页迁移方法
Stoica et al. Understanding the design trade-offs of hybrid flash controllers
Liu et al. Self-adapting channel allocation for multiple tenants sharing SSD devices
US10872015B2 (en) Data storage system with strategic contention avoidance
CN101853218A (zh) 用于磁盘阵列的读取方法和系统
CN113608867B (zh) 基于强化学习的多数据ssd中的闪存资源分配方法
Sun et al. HIPA: A hybrid load balancing method in SSDs for improved parallelism performance
WO2017059716A1 (zh) 多磁盘阵列共享写缓存的方法及装置
CN115827511A (zh) 设置缓存的方法以及装置
CN114840448B (zh) 利用通道间并行加速3d闪存垃圾回收的方法
CN102779017A (zh) 一种固态盘中数据缓存区的控制方法
Yang et al. Cachesack: Theory and experience of google’s admission optimization for datacenter flash caches
Zhan et al. Branch-aware data variable allocation for energy optimization of hybrid SRAM+ NVM SPM☆
Wu et al. A supervised-learning-based garbage collection in solid-state drives (SSDs)
Wei et al. Reinforcement learning-assisted management for convertible SSDs
CN108572924B (zh) 一种3d mlc闪存设备的请求处理方法
Yao et al. Uniform scheduling of interruptible garbage collection and request IO to improve performance and wear-leveling of SSDs
Chang et al. Design and implementation of a shared multi-tiered storage system

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