【技术实现步骤摘要】
基于多阶段加锁的闪存转换层混合垃圾回收方法
本专利技术属于计算机科学
,尤其涉及一种基于多阶段加锁的闪存转换层混合垃圾回收方法。
技术介绍
基于NANDFlash的存储设备内部结构设计与机械磁盘完全不同。NANDFlash不能直接对原来位置的数据进行修改,而要寻找一块空闲区域,然后再将新的数据写入,并将原来的数据置为无效,这种更新方式称之为“异地更新”。原来无效的块需要经过擦除操作之后才能继续使用。NANDFlash的闪存转换层一个重要的功能便是垃圾回收,负责选择合适的块并在合适的时机擦除。NANDFlash中每个块的擦除次数有限,当擦除超过一定次数,这个块便不能使用,垃圾回收方法需要在回收时决定对那些块进行擦除,因此垃圾回收方法选择待回收块对NANDFlash的寿命影响十分明显。当要对一个块进行擦除操作时,需要寻找空闲页将待回块中所有的有效页写入空闲页,然后才能进行擦除操作,这称之为NANDFlash的“数据迁移”,待回收块中有效页越多,擦除前需要进行迁移的页面越多,因此在选择块回收时,要同时考虑块中有效页的比例以及块的擦除次数。垃圾回收分为主动回收和被动 ...
【技术保护点】
1.一种基于多阶段加锁的闪存转换层混合垃圾回收方法,其特征在于,结合了主动回收和被动回收,整体包括主动回收线程、I/O请求处理线程、请求队列;在NAND Flash启动之后,主动回收线程与I/O请求处理线程随闪存转换层初始化并开始运行,请求队列用于接收操作系统派发的I/O请求,并在上一个I/O操作完成后将队头的I/O请求出队,然后提交给I/O请求处理线程;主动回收线程会按照设定的条件检查NAND Flash块的使用情况,在检测到空闲块比例较低时开始进行主动垃圾回收;被动垃圾回收是I/O请求处理线程的一部分,在写负载较重,无效块产生的速度非常快,主动垃圾回收来不及进行的情况下 ...
【技术特征摘要】
1.一种基于多阶段加锁的闪存转换层混合垃圾回收方法,其特征在于,结合了主动回收和被动回收,整体包括主动回收线程、I/O请求处理线程、请求队列;在NANDFlash启动之后,主动回收线程与I/O请求处理线程随闪存转换层初始化并开始运行,请求队列用于接收操作系统派发的I/O请求,并在上一个I/O操作完成后将队头的I/O请求出队,然后提交给I/O请求处理线程;主动回收线程会按照设定的条件检查NANDFlash块的使用情况,在检测到空闲块比例较低时开始进行主动垃圾回收;被动垃圾回收是I/O请求处理线程的一部分,在写负载较重,无效块产生的速度非常快,主动垃圾回收来不及进行的情况下,被动垃圾回收保证了设备仍然有足够的空间来服务I/O请求。2.根据权利要求1所述的方法,其特征在于,包括以下步骤:步骤1:主动垃圾回收线程满足触发条件开始运行,和I/O请求处理线程争夺Access_Lock,其中Access_Lock是主动垃圾回收线程和I/O请求处理线程开始运行时必须获得的互斥锁;如果I/O请求处理线程获得Access_Lock,则进行I/O请求处理,如果主动垃圾回收线程获得Access_Lock,则进行下一步;步骤2:主动垃圾回收线程根据块中无效页的比例及擦除次数进行待回收块的选择,然后将这些待回收块中需要迁移的有效页记录下来;步骤3:将原子变量GC_running标志为true,其中原子变量GC_running的作用是为了保证主动垃圾回收多个阶段的原子性;步骤4:释放Access_Lock,获取锁GC_Lock,GC_Lock是主动垃圾回收线程开始进行块擦除操作时必须获得的互斥锁;步骤5:主动垃圾回收线程对待回收块进行擦除;步骤6:将原子变量GC_running标志为false,然后释放GC_Lock。3.根据权利要求2所述的方法,其特征在于,在步...
【专利技术属性】
技术研发人员:阮利,丁树勋,肖利民,苏书宾,李昂鸿,殷成涛,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。