CN107391392A - 一种基于闪存存储设备并行特征的垃圾回收优化方法 - Google Patents

一种基于闪存存储设备并行特征的垃圾回收优化方法 Download PDF

Info

Publication number
CN107391392A
CN107391392A CN201710600091.6A CN201710600091A CN107391392A CN 107391392 A CN107391392 A CN 107391392A CN 201710600091 A CN201710600091 A CN 201710600091A CN 107391392 A CN107391392 A CN 107391392A
Authority
CN
China
Prior art keywords
flash memory
memory device
active page
flash
garbage collection
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
Application number
CN201710600091.6A
Other languages
English (en)
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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN201710600091.6A priority Critical patent/CN107391392A/zh
Publication of CN107391392A publication Critical patent/CN107391392A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, 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)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于闪存存储设备并行特征的垃圾回收优化方法。该优化方法利用闪存存储设备多通道的并行结构特征,减少垃圾回收过程中有效页迁移导致的时延开销,从而提高闪存存储设备性能。在垃圾回收过程中,针对即将被擦除的闪存块中的有效数据页,传统的垃圾回收策略将有效页按顺序从该闪存块中读出,并按顺序写回到其他空闲闪存块中。为提高有效页的迁移效率,本发明提出将有效页优先传输至闪存存储设备控制器的缓存中,然后将该部分有效页转化为写请求,与传统的写请求一起被发送至闪存存储设备中进行处理。在此过程中,根据闪存存储设备的并行结构特征,这些在垃圾回收过程导致的写请求将能够得到并行地处理,从而改善存储性能。根据上述方法,垃圾回收过程的时延开销将大大缩减,闪存存储设备的性能将得到明显的改善。

Description

一种基于闪存存储设备并行特征的垃圾回收优化方法
技术领域
本发明涉及闪存性能技术领域,特别是涉及一种基于闪存存储设备并行特征的垃圾回收优化方法。
背景技术
由于良好的随机访问性能、低密度、低功耗等优点,基于闪存的闪存存储设备已经逐步取代传统磁盘,成为重要的存储设备。为了提供快速的访问特征,闪存存储设备内部结构普遍采用多并行的结构特征。因此,多个IO请求能够并行地被执行。
传统的闪存垃圾回收策略能够及时地为闪存存储设备回收无效页空间,从而保证闪存存储设备足够的可用空间。在实施垃圾回收过程中,首先其选择某一个即将被回收的闪存块;若该闪存块中仍存在有效页,那么垃圾回收策略将优先按序读取这些有效页,并依此按序写至其他空闲闪存块中;待所有有效页迁移完成后,该闪存块将被擦除,到此垃圾回收过程完成。但传统垃圾回收的效率相对较低,因为在其有效页迁移过程中,有效页需要先被读取出来,然后再按顺序写回至其他闪存块中,该过程将产生较大的顺序写操作时延开销;若有效页数量众多,则总共的写操作开销越大,最终这些写操作将导致垃圾回收策略效率不高。
为了提高垃圾回收策略的效率,本发明旨在通过减少有效页迁移过程中导致的顺序写操作来降低垃圾回收策略的开销,从而保证垃圾回收过程能够尽快地完成,并利用闪存存储设备的并行结构使得有效闪存页能够更快地被写回闪存存储设备,以此进一步提高闪存存储设备性能。
发明内容
本发明提供了一种基于闪存存储设备并行特征的垃圾回收优化方法。基于闪存并行特征,本发明解决了垃圾回收过程中较大顺序写操作时延开销的问题。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:
步骤1、在垃圾回收过程中,本发明优先判断当前存储控制器中的缓存部件是否还有剩余空间,若还有,则将闪存块中的有效页迁移至闪存存储设备的控制器中;在迁移过程中,依旧以顺序读的方式通过传输通道将有效页数据传输至存储控制器的缓存部件中。若当前存储控制器中的缓存部件已无剩余空间,则采取传统的垃圾回收策略。
步骤2、存储控制器中的缓存部件中的有效页数据将被组织生成IO请求,并加入到IO调度队列中。基于闪存存储设备并行结构特征,这些在垃圾回收过程中产生的IO请求将被并行地写回闪存存储设备,从而将传统垃圾回收过程中的顺序写操作转变为并行写操作,从而大大降低传统垃圾回收过程中的顺序写操作时延开销。
步骤3、检测当前闪存存储芯片的状态,将把垃圾回收过程中产生的IO请求优先写回至空闲闪存存储芯片。若当前不存在空闲闪存存储芯片,则延迟写回这些由垃圾回收产生的IO请求,直至当前出现空闲闪存存储芯片。
步骤4、当所有有效页均已读取传输至存储控制器中时,本次垃圾回收过程可视为完成。因此垃圾回收过程中的擦除操作便可与并行写操作同时进行,从而提前完成该垃圾回收过程,减少垃圾回收的时延开销,提高存储性能。
本发明的有益效果在于将垃圾回收过程中的顺序写操作转变为并行写操作。并且将垃圾回收过程中的擦除操作与有效页写操作并行执行,使得垃圾回收过程能够提前完成。传统的垃圾回收策略通常实现在芯片内部的有效页迁移,但本发明将有效页数据实现在芯片外的数据迁移。在利用闪存设备并行结构特征的前提下,将有效页迁移过程尽快完成。通过该方式,降低了闪存存储设备垃圾回收过程的开销。
附图说明
本发明的附图说明如下:
图1为本发明的流程图;
图2为本发明的实现示意图;
图3为本发明中多个垃圾回收流触发的有效页传输示意图;
图4为本发明中有效页管理过程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明通过利用闪存存储设备的并行结构将垃圾回收过程中的有效页数据以并行写回的方式迁移至闪存存储设备的其他位置。在此过程中,存储控制器中的缓存部件优先接收来自于即将擦除的闪存块中的有效闪存页,待出现空闲闪存存储芯片后再将有效闪存页写回。
图1是本发明的流程图,从步骤101开始,然后:
在步骤102,若底层存储空间不足或出现较长空闲时间,则触发垃圾回收过程。
在步骤103,判断当前存储控制器中的缓存部件是否还有剩余空间。若当前缓存存储设备已无剩余空间,则执行步骤104。若当前缓存存储设备还有剩余空间,则执行步骤105。
由于缓存部件所用的存储介质对数据的读写时间开销远小于闪存存储介质对数据读写的时间开销,因此,本发明中缓部件用于暂时缓存来自于闪存块中的有效闪存页。
在步骤104,执行传统垃圾回收过程中,在闪存存储设备内部执行垃圾回收过程中的数据迁移以及擦除操作。
在步骤105,将即将擦除的闪存块中的有效页传输至存储控制器中的缓存部件。
在步骤106,判断当前即将擦除的闪存块中是否还有有效页未被迁移至缓存部件。若是则执行步骤103,若否则执行步骤107。
在步骤107,将存储控制器中的缓存部件中的有效闪存页封装转化为IO请求,并加入到存储控制器的调度器中。
为了减少垃圾回收过程对主机IO请求的干扰,由有效页封装而来的IO请求将被加入至调度器前端,从而使得其能够被优先调度处理。
在步骤108,判断当前闪存存储设备是否具有空闲闪存存储芯片,若存在空闲闪存存储芯片则执行步骤110,若否则执行步骤109。
闪存存储设备具有多个并行存储芯片,一旦获得多个空闲并行闪存存储芯片,则可将由有效页封装的IO请求同时发送至闪存存储芯片。
在步骤109,由于当前不存在空闲闪存存储芯片,则延迟发送由有效页封装的IO请求,同时间隔一段时间检测闪存存储芯片的状态,并执行步骤108。
在步骤110,将由有效页封装的IO请求写回至空闲闪存芯片中。在执行该步骤的同时,继续执行下一步骤111。
在步骤111,判断当前调度器中是否还存在由有效页封装的IO请求,若存在则执行步骤108,若否则,进入步骤112结束。
图2是本发明整体实现示意图:首先,假设当前存在闪存存储设备中存在四个闪存芯片,分别为芯片0、芯片1、芯片2和芯片3。其中,芯片0中触发垃圾回收,芯片1和芯片2处于忙碌状态,芯片3处于空闲状态。此时,第一步,芯片0中垃圾回收所产生的有效页先传输至闪存控制器中的缓存设备中;待所有有效页传输至缓存设备中后,执行第二步,将缓存设备中的有效页封装为IO请求,并加入到调度器头部,等待被写回至闪存存储芯片;第三步,当此时芯片3处于空闲状态,则将调度器中由垃圾回收导致的有效页封装成的IO请求发送至芯片3。
由于闪存存储芯片中可能同时触发来自多个存储芯片的垃圾回收,因此,此时存在多个垃圾回收流向缓存设备传输有效页。
图3为本发明中多个垃圾回收流触发的有效页传输示意图。假设当前存在三个垃圾回收流向闪存控制器中的缓存设备中传输有效页。由于缓存设备空间有限,因此,一旦触发垃圾回收,并开始向闪存控制器中的缓存设备传输有效页,则提前将缓存设备空间预留给当前垃圾回收流。图3中,三个垃圾回收流先后触发,1号和2号垃圾回收流预先占有缓存设备五个有效页空间,而最后触发的3号垃圾回收流仅能获得一个有效页空间,因此,对于3号垃圾回收流的另一个有效页采取传统的垃圾回收机制,在闪存存储芯片内部进行有效闪存页迁移。
图4为本发明中有效页管理过程示意图。本发明中将闪存控制器中的缓存设备用于暂存来自于垃圾回收过程产生的有效闪存页,因此,当此时有主机IO请求访问闪存存储设备时,缓存存储设备将被优先查看,判断当前主机IO请求所访问的数据是否已经存储在缓存设备中,若是,则直接读取缓存设备中的数据(针对读请求)或直接更新缓存设备中的数据(针对写请求)。若否,则将主机IO请求加入调度器,以传统方式进行处理。
在图4中,为保证每个垃圾回收流能够及时成批次地完成,缓存存储设备在管理有效页时,以垃圾回收流为批次单位,将来自同一垃圾回收流的有效页数据集合成段,如图4中所示的1号段、2号段。该有效页数据段的组织顺序为其所属垃圾回收流生成顺序。因此,在写回有效页时,将以有效页段作为写回顺序。

Claims (6)

1.一种基于闪存存储设备并行特征的垃圾回收优化方法,其特征是,包括以下步骤:
步骤1、根据传统垃圾回收机制的处理过程,优化其顺序写回有效页的过程,利用闪存存储控制器部件将有效数据快速读出,将这部分有效页传输至闪存存储控制器中的缓存设备中。
步骤2、利用闪存存储设备的并行结构特征,将垃圾回收机制中即将擦除的闪存块中的有效页并行写回至新的空闲闪存块;
步骤3、待所有即将被擦除的闪存块中的有效闪存页全部迁至控制器中的缓存部件后,垃圾回收过程中的擦除操作可立即被执行。
2.根据上述权利要求1所述的基于闪存存储设备并行特征的垃圾回收优化方法,其特征是:在步骤1中,传输有效页至闪存控制器的缓存设备过程需要占用传输通道,通过顺序传输的方式将有效页依此传输至缓存设备。
3.根据上述权利要求1所述的基于闪存存储设备并行特征的垃圾回收优化方法,其特征是:在步骤1中,在传输有效页至存储控制器中的缓存部件过程中,若当前存储控制器中的缓存存储设备空间不足,则中断传输过程,将并未传输至控制器缓部件的有效页采用传统垃圾回收策略的有效页迁移过程完成剩余有效页的迁移过程。
4.根据上述权利要求1所述的基于闪存存储设备并行特征的垃圾回收优化方法,其特征是:在步骤2中,在将有效闪存页从设备控制器的缓存部件中并行写回并行存储通道的过程中,设备控制器需要检测当前的闪存存储芯片状态,将有效闪存页优先写回到空闲闪存存储芯片中,从而实现有效闪存页的快速写回。
5.根据上述权利要求4所述的方法,其特征是:在写回过程中若当前存储设备没有存储芯片处于空闲状态则延迟有效数据页写回过程,直至出现空闲闪存存储芯片。
6.根据上述权利要求1所述的基于闪存存储设备并行特征的垃圾回收优化方法,其特征是:在步骤3中,待完成有效页传输至闪存控制器中的缓存设备过程后,正在执行垃圾回收的闪存存储芯片应立即进行擦除操作,实现与有效页写回的并行执行,从而提高垃圾回收效率。
CN201710600091.6A 2017-07-21 2017-07-21 一种基于闪存存储设备并行特征的垃圾回收优化方法 Pending CN107391392A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710600091.6A CN107391392A (zh) 2017-07-21 2017-07-21 一种基于闪存存储设备并行特征的垃圾回收优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710600091.6A CN107391392A (zh) 2017-07-21 2017-07-21 一种基于闪存存储设备并行特征的垃圾回收优化方法

Publications (1)

Publication Number Publication Date
CN107391392A true CN107391392A (zh) 2017-11-24

Family

ID=60336690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710600091.6A Pending CN107391392A (zh) 2017-07-21 2017-07-21 一种基于闪存存储设备并行特征的垃圾回收优化方法

Country Status (1)

Country Link
CN (1) CN107391392A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595112A (zh) * 2018-03-14 2018-09-28 深圳忆联信息系统有限公司 一种优化触发机制的ssd垃圾回收方法及固态硬盘
CN109710541A (zh) * 2018-12-06 2019-05-03 天津津航计算技术研究所 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
CN110187828A (zh) * 2019-04-12 2019-08-30 深圳市金泰克半导体有限公司 Nand闪存的垃圾回收方法及nand闪存
CN110235111A (zh) * 2019-04-30 2019-09-13 长江存储科技有限责任公司 电子设备和管理闪存的读取电平的方法
CN110347334A (zh) * 2019-05-29 2019-10-18 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备和存储介质
WO2019205447A1 (zh) * 2018-04-27 2019-10-31 江苏华存电子科技有限公司 一种提升闪存垃圾数据回收方法
CN111582739A (zh) * 2020-05-13 2020-08-25 华中科技大学 一种多租户固态盘性能隔离条件下实现高带宽的方法
CN112905129A (zh) * 2021-05-06 2021-06-04 蚂蚁金服(杭州)网络技术有限公司 缓存内存块的淘汰方法、装置及电子设备
CN113377686A (zh) * 2020-03-10 2021-09-10 阿里巴巴集团控股有限公司 调度方法、装置、电子设备及计算机可读介质
CN115904264A (zh) * 2023-03-13 2023-04-04 浪潮电子信息产业股份有限公司 一种存储系统中块的垃圾数据回收方法、装置以及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609218A (zh) * 2012-01-18 2012-07-25 清华大学 并行闪存转换层方法与系统
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
CN106484323A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种固态存储的损耗均衡方法及系统
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609218A (zh) * 2012-01-18 2012-07-25 清华大学 并行闪存转换层方法与系统
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
CN106484323A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种固态存储的损耗均衡方法及系统
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONGMING GAO等: "《Exploiting Parallelism in I/O Scheduling for Access Conflict Minimization in Flash-based Solid State Drives》", 《2014 30TH SYMPOSIUM ON MASS STROAGE SYSTEMS AND TECHNOLOGIES》 *
石亮等: "《一种高效的闪存存储系统偏好访问模式识别技术研究》", 《计算机科学》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595112A (zh) * 2018-03-14 2018-09-28 深圳忆联信息系统有限公司 一种优化触发机制的ssd垃圾回收方法及固态硬盘
WO2019205447A1 (zh) * 2018-04-27 2019-10-31 江苏华存电子科技有限公司 一种提升闪存垃圾数据回收方法
CN109710541A (zh) * 2018-12-06 2019-05-03 天津津航计算技术研究所 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
CN109710541B (zh) * 2018-12-06 2023-06-09 天津津航计算技术研究所 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
CN110187828A (zh) * 2019-04-12 2019-08-30 深圳市金泰克半导体有限公司 Nand闪存的垃圾回收方法及nand闪存
CN110187828B (zh) * 2019-04-12 2023-03-28 深圳市金泰克半导体有限公司 Nand闪存的垃圾回收方法及nand闪存
US11567701B2 (en) 2019-04-30 2023-01-31 Yangtze Memory Technologies Co., Ltd. Electronic apparatus and method of managing read levels of flash memory
CN110235111A (zh) * 2019-04-30 2019-09-13 长江存储科技有限责任公司 电子设备和管理闪存的读取电平的方法
US11016705B2 (en) 2019-04-30 2021-05-25 Yangtze Memory Technologies Co., Ltd. Electronic apparatus and method of managing read levels of flash memory
CN110347334B (zh) * 2019-05-29 2023-03-14 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备和存储介质
CN110347334A (zh) * 2019-05-29 2019-10-18 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备和存储介质
CN113377686A (zh) * 2020-03-10 2021-09-10 阿里巴巴集团控股有限公司 调度方法、装置、电子设备及计算机可读介质
CN111582739A (zh) * 2020-05-13 2020-08-25 华中科技大学 一种多租户固态盘性能隔离条件下实现高带宽的方法
CN112905129B (zh) * 2021-05-06 2021-08-13 蚂蚁金服(杭州)网络技术有限公司 缓存内存块的淘汰方法、装置及电子设备
CN112905129A (zh) * 2021-05-06 2021-06-04 蚂蚁金服(杭州)网络技术有限公司 缓存内存块的淘汰方法、装置及电子设备
CN115904264A (zh) * 2023-03-13 2023-04-04 浪潮电子信息产业股份有限公司 一种存储系统中块的垃圾数据回收方法、装置以及介质
CN115904264B (zh) * 2023-03-13 2023-06-13 浪潮电子信息产业股份有限公司 一种存储系统中块的垃圾数据回收方法、装置以及介质

Similar Documents

Publication Publication Date Title
CN107391392A (zh) 一种基于闪存存储设备并行特征的垃圾回收优化方法
CN104520932B (zh) 闪存存储器控制器
CN102012872B (zh) 一种用于嵌入式系统的二级缓存控制方法及装置
EP1540485B1 (en) Out of order dram sequencer
CN109388590B (zh) 提升多通道dma访问性能的动态缓存块管理方法和装置
US8996794B2 (en) Flash memory controller
CN206557758U (zh) 一种基于fpga可扩展的nand flash存储芯片阵列控制器
CN103593306A (zh) 一种协议处理器Cache控制单元的设计方法
WO2012091702A1 (en) Accelerating cache state transfer on a directory-based multicore architecture
CN103077123A (zh) 一种数据写入和读取方法及装置
US8954644B2 (en) Apparatus and method for controlling memory
CN1866230A (zh) 具等待机制的存储器仲裁器
EP2686774A1 (en) Memory interface
CN110058816B (zh) 一种基于ddr的高速多用户队列管理器及方法
CN102968395B (zh) 用于微处理器的内存拷贝加速方法及装置
CN106802870A (zh) 一种高效的嵌入式系统芯片Nor‑Flash控制器及控制方法
CN1702768A (zh) 半导体存储装置
CN111651396A (zh) 一种优化的pcie完成包乱序管理电路实现方法
CN116893991B (zh) 一种axi协议下的存储模块转换接口及其转换方法
CN1459112A (zh) 存储装置
CN115328832A (zh) 一种基于pcie dma的数据调度系统与方法
CN105786758B (zh) 一种具有数据缓存功能的处理器装置
CN111694777B (zh) 基于PCIe接口的DMA传输方法
CN109814940A (zh) 配置硬件加速器的方法、装置及处理器
CN105843360B (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171124