一种基于wl多线程提高ssd使用寿命的方法

文档序号:9910612阅读:252来源:国知局
一种基于wl多线程提高ssd使用寿命的方法
【技术领域】
[0001 ]本发明涉及信息存储领域,尤其涉及一种基于WL多线程提高SSD使用寿命的方法。
【背景技术】
[0002] TLC NAND flash是一种每个存储单元(memory cell)中存储有3个bit的flash类 型,其较高的存储密度在固态硬盘及存储器领域有着愈来愈广泛的应用。
[0003] 在TLC NAND flash每个存储单元的3个bit信息中,分别属于不同的分组,相对于 MLC及SLC中page的概念,TLC中的三个数据分组称为sub-page,其中存储低位bit的叫做low page,存储中间b i t的叫做mi dd 1 e page,存储高位bi t的叫做up page。而三个sub-page所属 的同一个Word Line (WL)即是相对于MLC及SLC中page的存在。
[0004] 消费级与企业级用户对SSD的使用寿命尤为关注,也是衡量SSD的一个重要指标。 TLC NAND FLASH的擦除次数仅为几百次,因此用户对SSD的使用寿命就更加关注。
[0005] 现有技术存在基于单线程的WL(Wear Level ing,寿命均衡,下文均以WL简称)功 能模块调度设计,WL作为固态硬盘的一个功能模块,设计为被动调度机制。由模块内部机制 触发,被调度模块统筹调度使用。单线程的调度设计存在如下缺点:冷热数据分布在相同数 据块,不能有效分离冷热数据,导致相当大的写放大,达不到寿命均衡的长期目标。
[0006] 现有技术还存在基于双线程的WL功能模块调度设计,WL作为固态硬盘的一个功能 模块,设计为被动调度机制。由模块内部机制触发,被调度模块统筹调度使用。将WL分布在 独立的线程,只允许写冷数据,不允许包括host在内的其它所有写操作;Host也设计为单独 一个线程,由host线程来实现冷数据和热数据的区分。这样可以有效分离长期沉淀下来的 冷热数据,提高固态硬盘的使用寿命。但也存在如下缺点:不能发挥NVMe的新特性,需要通 过host线程主动区分写数据的访问频率,造成额外的写放大问题。

【发明内容】

[0007] 针对以上缺陷,本发明目的在于提出了如何有效利用NVMe协议中从系统层面对用 户数据访问频率进行了分级的特性,有效均衡SSD擦除次数,有效降低写放大,整体上提高 SSD的使用寿命。
[0008] 为了实现上述目的,本发明提供了一种基于WL多线程提高SSD使用寿命的方法,其 特征在于在SSD固件中增加一寿命均衡有限状态机,用于响应hos t端的读写命令,根据 host端的读写命令中包含的所操作的数据块的访问频率属性,将数据块分为:冷数据、热数 据和常规数据;同时在SSD固件中设置了三个线程分别为:热数据处理线程、冷数据处理线 程和常规数据处理线程,所述三个线程由寿命均衡有限状态机根据其状态转换流程和host 端的读写命令中包含的所操作的数据块的访问频率属性分别触发执行,并完成host端的最 后读写操作。
[0009] 所述的基于WL多线程提高SSD使用寿命的方法,其特征在于所述的寿命均衡有限 状态机定义了 WL0、WL1、WL2和WL3四种状态:
[0010] 状态WL0定义为WL初始化状态,其触发条件为上电、复位、WL3状态调用初始化,其 开启热数据处理线程、冷数据处理线程和常规数据处理线程;
[0011] 状态WL1定义为WL触发状态,其由WL0状态触发调用,开启热数据处理线程和冷数 据处理线程;
[0012]状态WL2定义为WL处理中状态,其由WL1状态触发调用,开启热数据处理线程和冷 数据处理线程;
[0013] 状态WL3定义为WL处理完状态,其由WL2状态触发调用或者是WL1执行中出现异常 情况触发直接进入WL处理完状态,开启热数据处理线程和常规数据处理线程。
[0014] 所述的基于WL多线程提高SSD使用寿命的方法,其特征在于所述的热数据处理线 程用于响应Host写的热数据;
[0015] 所述的冷数据处理线程用于响应Host写以及固件task写的常规数据;固件task模 块指SSD内部数据搬移模块,但不包括WL模块;
[0016] 所述的常规数据处理线程用于响应Host写以及寿命均衡写的冷数据。
[0017] 本发明通过增加寿命均衡有限状态机和基于该状态机设计了多线程分别实现冷 数据、热数据和常规数据的读写操作,有效降低NVMe SSD的写放大,同时高效地均衡NAND flash的擦除次数,以延长固态硬盘的使用寿命。
【附图说明】
[0018] 图1是寿命均衡有限状态机状态转换示意图;
[0019] 图2是三线程定义示意图;
[0020]图3是在WL0模式下的命令处理方式示意图;
[0021]图4是在WL1模式下的命令处理方式示意图;
[0022]图5是在WL2模式下的命令处理方式示意图;
[0023]图6是在WL3模式下的命令处理方式示意图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0025] 为了快速推动支持PCIe接口的SSD,相应的NVMe(NVM Express)协议诞生了。NVMe 协议从系统层面对用户数据的访问频率进行了分级,能有效地切入到SSD内部固件设计相 关模块,则可以更加高效地发挥数据均衡特性。
[0026]图1是寿命均衡有限状态机状态转换示意图,该有限状态机定义了 WL0、WL1、WL2和 WL3四种状态,设计了寿命均衡有限状态机作为SSD固件设计的调度机制,充分发挥寿命均 衡特性。有限状态机在寿命均衡的四种不同工作状态下切换,状态的切换严格如下表1寿命 均衡有限状态机对照表定义的触发条件进行触发,并调度开启对应的线程。
[0027] 状态WL0定义为WL初始化状态,其触发条件为上电Power on、复位Reset、WL3状态 调用初始化Ini t from WL3,其开启如下线程Hot_Thread,Medium Thread,Cold_Thread〇
[0028] 状态WL1定义为WL触发状态,其由WL0状态触发调用WL is triggered from WLO, 开启如下线程 Hot_Thread,Co ld_Thread 〇
[0029] 状态WL2定义为WL处理中状态,其由WL1状态触发调用WL i s in process ing from WL1,开启如下线程Hot_Thread,Cold_Thread〇
[0030]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1